remove most uses of import * as React
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
import * as React from 'react'
|
import {useRef} from 'react'
|
||||||
import {Animated} from 'react-native'
|
import {Animated} from 'react-native'
|
||||||
|
|
||||||
export function useAnimatedValue(initialValue: number) {
|
export function useAnimatedValue(initialValue: number) {
|
||||||
const lazyRef = React.useRef<Animated.Value>(undefined)
|
const lazyRef = useRef<Animated.Value>(undefined)
|
||||||
|
|
||||||
if (lazyRef.current === undefined) {
|
if (lazyRef.current === undefined) {
|
||||||
lazyRef.current = new Animated.Value(initialValue)
|
lazyRef.current = new Animated.Value(initialValue)
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
import * as React from 'react'
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Helper hook to run persistent timers on views
|
|
||||||
*/
|
|
||||||
export function useTimer(time: number, handler: () => void) {
|
|
||||||
const timer = React.useRef<undefined | NodeJS.Timeout>(undefined)
|
|
||||||
|
|
||||||
// function to restart the timer
|
|
||||||
const reset = React.useCallback(() => {
|
|
||||||
if (timer.current) {
|
|
||||||
clearTimeout(timer.current)
|
|
||||||
}
|
|
||||||
timer.current = setTimeout(handler, time)
|
|
||||||
}, [time, timer, handler])
|
|
||||||
|
|
||||||
// function to cancel the timer
|
|
||||||
const cancel = React.useCallback(() => {
|
|
||||||
if (timer.current) {
|
|
||||||
clearTimeout(timer.current)
|
|
||||||
timer.current = undefined
|
|
||||||
}
|
|
||||||
}, [timer])
|
|
||||||
|
|
||||||
// start the timer immediately
|
|
||||||
React.useEffect(() => {
|
|
||||||
reset()
|
|
||||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
return [reset, cancel]
|
|
||||||
}
|
|
||||||
@@ -1,18 +1,18 @@
|
|||||||
import * as React from 'react'
|
import {useMemo} from 'react'
|
||||||
import {View} from 'react-native'
|
import {View} from 'react-native'
|
||||||
import {AppBskyFeedDefs, AtUri} from '@atproto/api'
|
import {type AppBskyFeedDefs, AtUri} from '@atproto/api'
|
||||||
import {Trans} from '@lingui/macro'
|
import {Trans} from '@lingui/macro'
|
||||||
|
|
||||||
import {makeProfileLink} from '#/lib/routes/links'
|
import {makeProfileLink} from '#/lib/routes/links'
|
||||||
|
import {Link} from '#/view/com/util/Link'
|
||||||
|
import {UserAvatar} from '#/view/com/util/UserAvatar'
|
||||||
import {atoms as a, useTheme} from '#/alf'
|
import {atoms as a, useTheme} from '#/alf'
|
||||||
import {Text} from '#/components/Typography'
|
import {Text} from '#/components/Typography'
|
||||||
import {Link} from '../util/Link'
|
|
||||||
import {UserAvatar} from '../util/UserAvatar'
|
|
||||||
|
|
||||||
export function PostThreadLoadMore({post}: {post: AppBskyFeedDefs.PostView}) {
|
export function PostThreadLoadMore({post}: {post: AppBskyFeedDefs.PostView}) {
|
||||||
const t = useTheme()
|
const t = useTheme()
|
||||||
|
|
||||||
const postHref = React.useMemo(() => {
|
const postHref = useMemo(() => {
|
||||||
const urip = new AtUri(post.uri)
|
const urip = new AtUri(post.uri)
|
||||||
return makeProfileLink(post.author, 'post', urip.rkey)
|
return makeProfileLink(post.author, 'post', urip.rkey)
|
||||||
}, [post.uri, post.author])
|
}, [post.uri, post.author])
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import * as React from 'react'
|
import {useEffect} from 'react'
|
||||||
import {View} from 'react-native'
|
import {View} from 'react-native'
|
||||||
// Based on @react-navigation/native-stack/src/navigators/createNativeStackNavigator.ts
|
// Based on @react-navigation/native-stack/src/navigators/createNativeStackNavigator.ts
|
||||||
// MIT License
|
// MIT License
|
||||||
@@ -75,8 +75,7 @@ function NativeStackNavigator({
|
|||||||
screenOptions,
|
screenOptions,
|
||||||
screenLayout,
|
screenLayout,
|
||||||
})
|
})
|
||||||
|
useEffect(
|
||||||
React.useEffect(
|
|
||||||
() =>
|
() =>
|
||||||
// @ts-expect-error: there may not be a tab navigator in parent
|
// @ts-expect-error: there may not be a tab navigator in parent
|
||||||
navigation?.addListener?.('tabPress', (e: any) => {
|
navigation?.addListener?.('tabPress', (e: any) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user