run yarn lint --fix (#9013)

This commit is contained in:
Samuel Newman
2025-09-09 18:38:21 +03:00
committed by GitHub
parent bb30b592d7
commit 53e43a957c
225 changed files with 555 additions and 433 deletions
+1 -1
View File
@@ -15,7 +15,7 @@ import Animated, {
withTiming,
} from 'react-native-reanimated'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
import Svg, {Path, SvgProps} from 'react-native-svg'
import Svg, {Path, type SvgProps} from 'react-native-svg'
import {Image} from 'expo-image'
import * as SplashScreen from 'expo-splash-screen'
+1 -1
View File
@@ -1,5 +1,5 @@
import {atoms} from '#/alf/atoms'
import {Palette, Theme} from '#/alf/types'
import {type Palette, type Theme} from '#/alf/types'
import {
BLUE_HUE,
defaultScale,
+1 -1
View File
@@ -1,4 +1,4 @@
import {StyleProp, TextStyle, ViewStyle} from 'react-native'
import {type StyleProp, type TextStyle, type ViewStyle} from 'react-native'
export type TextStyleProp = {
style?: StyleProp<TextStyle>
+1 -1
View File
@@ -1,4 +1,4 @@
import {ThemeName} from '#/alf/types'
import {type ThemeName} from '#/alf/types'
export function select<T>(name: ThemeName, options: Record<ThemeName, T>) {
switch (name) {
+2 -2
View File
@@ -1,10 +1,10 @@
import React from 'react'
import {ColorSchemeName, useColorScheme} from 'react-native'
import {type ColorSchemeName, useColorScheme} from 'react-native'
import {isWeb} from '#/platform/detection'
import {useThemePrefs} from '#/state/shell'
import {dark, dim, light} from '#/alf/themes'
import {ThemeName} from '#/alf/types'
import {type ThemeName} from '#/alf/types'
export function useColorModeTheme(): ThemeName {
const theme = useThemeName()
+1 -1
View File
@@ -1,6 +1,6 @@
import React from 'react'
import {Breakpoint, useBreakpoints} from '#/alf/breakpoints'
import {type Breakpoint, useBreakpoints} from '#/alf/breakpoints'
import * as tokens from '#/alf/tokens'
type Gutter = 'compact' | 'base' | 'wide' | 0
+1 -1
View File
@@ -1,6 +1,6 @@
import React from 'react'
import {DialogControlProps} from '#/components/Dialog/types'
import {type DialogControlProps} from '#/components/Dialog/types'
export function useAutoOpen(control: DialogControlProps, showTimeout?: number) {
React.useEffect(() => {
+2 -2
View File
@@ -1,7 +1,7 @@
import React from 'react'
import {View} from 'react-native'
import type React from 'react'
import {atoms as a, ViewStyleProp} from '#/alf'
import {atoms as a, type ViewStyleProp} from '#/alf'
export function Fill({
children,
+1 -1
View File
@@ -1,6 +1,6 @@
import {LinearGradient} from 'expo-linear-gradient'
import {atoms as a, tokens, ViewStyleProp} from '#/alf'
import {atoms as a, type tokens, type ViewStyleProp} from '#/alf'
export function GradientFill({
gradient,
+4 -4
View File
@@ -3,12 +3,12 @@ import {View} from 'react-native'
import {
atoms as a,
flatten,
TextStyleProp,
type TextStyleProp,
useTheme,
ViewStyleProp,
type ViewStyleProp,
} from '#/alf'
import {Props} from '#/components/icons/common'
import {Growth_Stroke2_Corner0_Rounded as Growth} from '#/components/icons/Growth'
import {type Props} from '#/components/icons/common'
import {type Growth_Stroke2_Corner0_Rounded as Growth} from '#/components/icons/Growth'
export function IconCircle({
icon: Icon,
+4 -4
View File
@@ -1,16 +1,16 @@
import React from 'react'
import {View} from 'react-native'
import {AppBskyLabelerDefs} from '@atproto/api'
import {type AppBskyLabelerDefs} from '@atproto/api'
import {msg, Plural, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import type React from 'react'
import {getLabelingServiceTitle} from '#/lib/moderation'
import {sanitizeHandle} from '#/lib/strings/handles'
import {useLabelerInfoQuery} from '#/state/queries/labeler'
import {UserAvatar} from '#/view/com/util/UserAvatar'
import {atoms as a, useTheme, ViewStyleProp} from '#/alf'
import {atoms as a, useTheme, type ViewStyleProp} from '#/alf'
import {Flag_Stroke2_Corner0_Rounded as Flag} from '#/components/icons/Flag'
import {Link as InternalLink, LinkProps} from '#/components/Link'
import {Link as InternalLink, type LinkProps} from '#/components/Link'
import {RichText} from '#/components/RichText'
import {Text} from '#/components/Typography'
import {ChevronRight_Stroke2_Corner0_Rounded as ChevronRight} from '../icons/Chevron'
+1 -1
View File
@@ -1,5 +1,5 @@
import React from 'react'
import {AppBskyFeedGetLikes as GetLikes} from '@atproto/api'
import {type AppBskyFeedGetLikes as GetLikes} from '@atproto/api'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+2 -2
View File
@@ -1,6 +1,6 @@
import React from 'react'
import {StyleProp, ViewStyle} from 'react-native'
import {type StyleProp, type ViewStyle} from 'react-native'
import {LinearGradient} from 'expo-linear-gradient'
import type React from 'react'
import {gradients} from '#/alf/tokens'
+1 -1
View File
@@ -8,7 +8,7 @@ import Animated, {
} from 'react-native-reanimated'
import {atoms as a, flatten, useTheme} from '#/alf'
import {Props, useCommonSVGProps} from '#/components/icons/common'
import {type Props, useCommonSVGProps} from '#/components/icons/common'
import {Loader_Stroke2_Corner0_Rounded as Icon} from '#/components/icons/Loader'
export function Loader(props: Props) {
+1 -1
View File
@@ -1,7 +1,7 @@
import {View} from 'react-native'
import {atoms as a, flatten, useTheme} from '#/alf'
import {Props, useCommonSVGProps} from '#/components/icons/common'
import {type Props, useCommonSVGProps} from '#/components/icons/common'
import {Loader_Stroke2_Corner0_Rounded as Icon} from '#/components/icons/Loader'
export function Loader(props: Props) {
+2 -2
View File
@@ -1,6 +1,6 @@
import React from 'react'
import type React from 'react'
import {atoms as a, useTheme, ViewStyleProp} from '#/alf'
import {atoms as a, useTheme, type ViewStyleProp} from '#/alf'
import {Fill} from '#/components/Fill'
/**
+8 -8
View File
@@ -1,14 +1,14 @@
import React from 'react'
import {
AccessibilityProps,
AccessibilityRole,
GestureResponderEvent,
PressableProps,
type AccessibilityProps,
type AccessibilityRole,
type GestureResponderEvent,
type PressableProps,
} from 'react-native'
import type React from 'react'
import {TextStyleProp, ViewStyleProp} from '#/alf'
import * as Dialog from '#/components/Dialog'
import {Props as SVGIconProps} from '#/components/icons/common'
import {type TextStyleProp, type ViewStyleProp} from '#/alf'
import type * as Dialog from '#/components/Dialog'
import {type Props as SVGIconProps} from '#/components/icons/common'
export type ContextType = {
control: Dialog.DialogOuterProps['control']
+1 -1
View File
@@ -1,6 +1,6 @@
import React from 'react'
import {View} from 'react-native'
import {AppBskyActorDefs, moderateProfile} from '@atproto/api'
import {type AppBskyActorDefs, moderateProfile} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {differenceInSeconds} from 'date-fns'
+2 -2
View File
@@ -1,11 +1,11 @@
import React from 'react'
import {View} from 'react-native'
import {BSKY_LABELER_DID, ModerationCause} from '@atproto/api'
import {BSKY_LABELER_DID, type ModerationCause} from '@atproto/api'
import {Trans} from '@lingui/macro'
import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
import {UserAvatar} from '#/view/com/util/UserAvatar'
import {atoms as a, useTheme, ViewStyleProp} from '#/alf'
import {atoms as a, useTheme, type ViewStyleProp} from '#/alf'
import {Button} from '#/components/Button'
import {
ModerationDetailsDialog,
+1 -1
View File
@@ -1,4 +1,4 @@
import {StyleProp, View, ViewStyle} from 'react-native'
import {type StyleProp, View, type ViewStyle} from 'react-native'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
@@ -1,5 +1,5 @@
import {View} from 'react-native'
import {AppBskyLabelerDefs} from '@atproto/api'
import {type AppBskyLabelerDefs} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
@@ -9,7 +9,7 @@ import {Button, useButtonContext} from '#/components/Button'
import {Divider} from '#/components/Divider'
import * as LabelingServiceCard from '#/components/LabelingServiceCard'
import {Text} from '#/components/Typography'
import {ReportDialogProps} from './types'
import {type ReportDialogProps} from './types'
export function SelectLabelerView({
...props
@@ -1,10 +1,13 @@
import React from 'react'
import {View} from 'react-native'
import {AppBskyLabelerDefs} from '@atproto/api'
import {type AppBskyLabelerDefs} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {ReportOption, useReportOptions} from '#/lib/moderation/useReportOptions'
import {
type ReportOption,
useReportOptions,
} from '#/lib/moderation/useReportOptions'
import {Link} from '#/components/Link'
import {DMCA_LINK} from '#/components/ReportDialog/const'
export {useDialogControl as useReportDialogControl} from '#/components/Dialog'
@@ -23,7 +26,7 @@ import {
} from '#/components/icons/Chevron'
import {SquareArrowTopRight_Stroke2_Corner0_Rounded as SquareArrowTopRight} from '#/components/icons/SquareArrowTopRight'
import {Text} from '#/components/Typography'
import {ReportDialogProps} from './types'
import {type ReportDialogProps} from './types'
export function SelectReportOptionView(props: {
params: ReportDialogProps['params']
+3 -3
View File
@@ -1,11 +1,11 @@
import React from 'react'
import {View} from 'react-native'
import {AppBskyLabelerDefs} from '@atproto/api'
import {type AppBskyLabelerDefs} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {getLabelingServiceTitle} from '#/lib/moderation'
import {ReportOption} from '#/lib/moderation/useReportOptions'
import {type ReportOption} from '#/lib/moderation/useReportOptions'
import {isAndroid} from '#/platform/detection'
import {useAgent} from '#/state/session'
import {CharProgress} from '#/view/com/composer/char-progress/CharProgress'
@@ -19,7 +19,7 @@ import {ChevronLeft_Stroke2_Corner0_Rounded as ChevronLeft} from '#/components/i
import {PaperPlane_Stroke2_Corner0_Rounded as SendIcon} from '#/components/icons/PaperPlane'
import {Loader} from '#/components/Loader'
import {Text} from '#/components/Typography'
import {ReportDialogProps} from './types'
import {type ReportDialogProps} from './types'
export function SubmitView({
params,
+4 -4
View File
@@ -1,14 +1,14 @@
import React from 'react'
import {Pressable, View} from 'react-native'
import {ScrollView} from 'react-native-gesture-handler'
import {type ScrollView} from 'react-native-gesture-handler'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {ReportOption} from '#/lib/moderation/useReportOptions'
import {type ReportOption} from '#/lib/moderation/useReportOptions'
import {useMyLabelersQuery} from '#/state/queries/preferences'
export {useDialogControl as useReportDialogControl} from '#/components/Dialog'
import {AppBskyLabelerDefs} from '@atproto/api'
import {type AppBskyLabelerDefs} from '@atproto/api'
import {atoms as a} from '#/alf'
import * as Dialog from '#/components/Dialog'
@@ -18,7 +18,7 @@ import {Text} from '#/components/Typography'
import {SelectLabelerView} from './SelectLabelerView'
import {SelectReportOptionView} from './SelectReportOptionView'
import {SubmitView} from './SubmitView'
import {ReportDialogProps} from './types'
import {type ReportDialogProps} from './types'
export function ReportDialog(props: ReportDialogProps) {
return (
+1 -1
View File
@@ -1,4 +1,4 @@
import * as Dialog from '#/components/Dialog'
import type * as Dialog from '#/components/Dialog'
export type ReportDialogProps = {
control: Dialog.DialogOuterProps['control']
+2 -2
View File
@@ -1,10 +1,10 @@
import React from 'react'
import {StyleProp, Text as RNText, TextStyle} from 'react-native'
import {type StyleProp, Text as RNText, type TextStyle} from 'react-native'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {useNavigation} from '@react-navigation/native'
import {NavigationProp} from '#/lib/routes/types'
import {type NavigationProp} from '#/lib/routes/types'
import {isInvalidHandle} from '#/lib/strings/handles'
import {isNative, isWeb} from '#/platform/detection'
import {
@@ -4,11 +4,11 @@ import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {isNative} from '#/platform/detection'
import {FeedDescriptor} from '#/state/queries/post-feed'
import {type FeedDescriptor} from '#/state/queries/post-feed'
import {PostFeed} from '#/view/com/posts/PostFeed'
import {EmptyState} from '#/view/com/util/EmptyState'
import {ListRef} from '#/view/com/util/List'
import {SectionRef} from '#/screens/Profile/Sections/types'
import {type ListRef} from '#/view/com/util/List'
import {type SectionRef} from '#/screens/Profile/Sections/types'
interface ProfilesListProps {
listUri: string
@@ -1,12 +1,15 @@
import React, {useCallback} from 'react'
import {ListRenderItemInfo, View} from 'react-native'
import {type ListRenderItemInfo, View} from 'react-native'
import {
AppBskyActorDefs,
AppBskyGraphGetList,
type AppBskyActorDefs,
type AppBskyGraphGetList,
AtUri,
ModerationOpts,
type ModerationOpts,
} from '@atproto/api'
import {InfiniteData, UseInfiniteQueryResult} from '@tanstack/react-query'
import {
type InfiniteData,
type UseInfiniteQueryResult,
} from '@tanstack/react-query'
import {useBottomBarOffset} from '#/lib/hooks/useBottomBarOffset'
import {useInitialNumToRender} from '#/lib/hooks/useInitialNumToRender'
@@ -14,8 +17,8 @@ import {isBlockedOrBlocking} from '#/lib/moderation/blocked-and-muted'
import {isNative, isWeb} from '#/platform/detection'
import {useAllListMembersQuery} from '#/state/queries/list-members'
import {useSession} from '#/state/session'
import {List, ListRef} from '#/view/com/util/List'
import {SectionRef} from '#/screens/Profile/Sections/types'
import {List, type ListRef} from '#/view/com/util/List'
import {type SectionRef} from '#/screens/Profile/Sections/types'
import {atoms as a, useTheme} from '#/alf'
import {ListFooter, ListMaybePlaceholder} from '#/components/Lists'
import {Default as ProfileCard} from '#/components/ProfileCard'
+1 -1
View File
@@ -3,7 +3,7 @@ import {View} from 'react-native'
// @ts-expect-error missing types
import QRCode from 'react-native-qrcode-styled'
import type ViewShot from 'react-native-view-shot'
import {AppBskyGraphDefs, AppBskyGraphStarterpack} from '@atproto/api'
import {type AppBskyGraphDefs, AppBskyGraphStarterpack} from '@atproto/api'
import {Trans} from '@lingui/macro'
import {isWeb} from '#/platform/detection'
@@ -1,11 +1,11 @@
import React from 'react'
import {StyleProp, ViewStyle} from 'react-native'
import {type StyleProp, type ViewStyle} from 'react-native'
import Animated, {
FadeIn,
FadeOut,
SlideInLeft,
SlideInRight,
} from 'react-native-reanimated'
import type React from 'react'
import {isWeb} from '#/platform/detection'
+1 -1
View File
@@ -1,4 +1,4 @@
import {ViewStyleProp} from '#/alf'
import {type ViewStyleProp} from '#/alf'
export function SubtleWebHover({}: ViewStyleProp & {hover: boolean}) {
return null
+4 -4
View File
@@ -1,6 +1,6 @@
import React from 'react'
import {View} from 'react-native'
import {AtUri} from '@atproto/api'
import {type AtUri} from '@atproto/api'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
@@ -10,10 +10,10 @@ import {PressableScale} from '#/lib/custom-animations/PressableScale'
// import {Hashtag_Stroke2_Corner0_Rounded as Hashtag} from '#/components/icons/Hashtag'
// import {CloseQuote_Filled_Stroke2_Corner0_Rounded as Quote} from '#/components/icons/Quote'
// import {UserAvatar} from '#/view/com/util/UserAvatar'
import type {TrendingTopic} from '#/state/queries/trending/useTrendingTopics'
import {atoms as a, native, useTheme, ViewStyleProp} from '#/alf'
import {type TrendingTopic} from '#/state/queries/trending/useTrendingTopics'
import {atoms as a, native, useTheme, type ViewStyleProp} from '#/alf'
import {StarterPack as StarterPackIcon} from '#/components/icons/StarterPack'
import {Link as InternalLink, LinkProps} from '#/components/Link'
import {Link as InternalLink, type LinkProps} from '#/components/Link'
import {Text} from '#/components/Typography'
export function TrendingTopic({
+4 -4
View File
@@ -3,11 +3,11 @@ import {View} from 'react-native'
import {Image} from 'expo-image'
import {LinearGradient} from 'expo-linear-gradient'
import {
AppBskyActorDefs,
type AppBskyActorDefs,
AppBskyEmbedVideo,
AppBskyFeedDefs,
type AppBskyFeedDefs,
AppBskyFeedPost,
ModerationDecision,
type ModerationDecision,
} from '@atproto/api'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
@@ -15,7 +15,7 @@ import {useLingui} from '@lingui/react'
import {sanitizeHandle} from '#/lib/strings/handles'
import {formatCount} from '#/view/com/util/numeric/format'
import {UserAvatar} from '#/view/com/util/UserAvatar'
import {VideoFeedSourceContext} from '#/screens/VideoFeed/types'
import {type VideoFeedSourceContext} from '#/screens/VideoFeed/types'
import {atoms as a, useTheme} from '#/alf'
import {BLUE_HUE} from '#/alf/util/colorGeneration'
import {select} from '#/alf/util/themeSelector'
+1 -1
View File
@@ -8,7 +8,7 @@ import Animated, {
} from 'react-native-reanimated'
import Svg, {Circle, Path} from 'react-native-svg'
import {Props, useCommonSVGProps} from '#/components/icons/common'
import {type Props, useCommonSVGProps} from '#/components/icons/common'
const AnimatedPath = Animated.createAnimatedComponent(Path)
const AnimatedCircle = Animated.createAnimatedComponent(Circle)
+1 -1
View File
@@ -1,6 +1,6 @@
import {memo, useEffect, useMemo, useState} from 'react'
import {View} from 'react-native'
import {AppBskyActorDefs, AppBskyFeedPost, AtUri} from '@atproto/api'
import {type AppBskyActorDefs, type AppBskyFeedPost, AtUri} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+2 -2
View File
@@ -1,6 +1,6 @@
import React from 'react'
import {View} from 'react-native'
import {AppBskyActorDefs, sanitizeMutedWordValue} from '@atproto/api'
import {type AppBskyActorDefs, sanitizeMutedWordValue} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
@@ -16,7 +16,7 @@ import {
native,
useBreakpoints,
useTheme,
ViewStyleProp,
type ViewStyleProp,
web,
} from '#/alf'
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+2 -2
View File
@@ -1,13 +1,13 @@
import React from 'react'
import {View} from 'react-native'
import {ModerationCause} from '@atproto/api'
import {type ModerationCause} from '@atproto/api'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {listUriToHref} from '#/lib/strings/url-helpers'
import {atoms as a, useTheme} from '#/alf'
import * as Dialog from '#/components/Dialog'
import {DialogControlProps} from '#/components/Dialog'
import {type DialogControlProps} from '#/components/Dialog'
import {InlineLinkText} from '#/components/Link'
import * as Prompt from '#/components/Prompt'
import {Text} from '#/components/Typography'
+2 -2
View File
@@ -2,11 +2,11 @@ import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {StackActions, useNavigation} from '@react-navigation/native'
import {NavigationProp} from '#/lib/routes/types'
import {type NavigationProp} from '#/lib/routes/types'
import {isNative} from '#/platform/detection'
import {useLeaveConvo} from '#/state/queries/messages/leave-conversation'
import * as Toast from '#/view/com/util/Toast'
import {DialogOuterProps} from '#/components/Dialog'
import {type DialogOuterProps} from '#/components/Dialog'
import * as Prompt from '#/components/Prompt'
export function LeaveConvoPrompt({
@@ -1,6 +1,6 @@
import React from 'react'
import {View} from 'react-native'
import {ModerationDecision} from '@atproto/api'
import {type ModerationDecision} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
@@ -14,7 +14,7 @@ import {BlockedByListDialog} from '#/components/dms/BlockedByListDialog'
import {LeaveConvoPrompt} from '#/components/dms/LeaveConvoPrompt'
import {ReportConversationPrompt} from '#/components/dms/ReportConversationPrompt'
import {Text} from '#/components/Typography'
import * as bsky from '#/types/bsky'
import type * as bsky from '#/types/bsky'
export function MessagesListBlockedFooter({
recipient: initialRecipient,
@@ -1,7 +1,7 @@
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {DialogControlProps} from '#/components/Dialog'
import {type DialogControlProps} from '#/components/Dialog'
import * as Prompt from '#/components/Prompt'
export function ReportConversationPrompt({
@@ -2,8 +2,8 @@ import {View} from 'react-native'
import {AppBskyEmbedVideo} from '@atproto/api'
import {logEvent} from '#/lib/statsig/statsig'
import {FeedPostSliceItem} from '#/state/queries/post-feed'
import {VideoFeedSourceContext} from '#/screens/VideoFeed/types'
import {type FeedPostSliceItem} from '#/state/queries/post-feed'
import {type VideoFeedSourceContext} from '#/screens/VideoFeed/types'
import {atoms as a, useGutters} from '#/alf'
import * as Grid from '#/components/Grid'
import {
+2 -2
View File
@@ -1,9 +1,9 @@
import React from 'react'
import {StyleSheet, TextInput, TextInputProps} from 'react-native'
import {StyleSheet, type TextInput, type TextInputProps} from 'react-native'
// @ts-expect-error untyped
import {unstable_createElement} from 'react-native-web'
import {DateFieldProps} from '#/components/forms/DateField/types'
import {type DateFieldProps} from '#/components/forms/DateField/types'
import {toSimpleDateString} from '#/components/forms/DateField/utils'
import * as TextField from '#/components/forms/TextField'
import {CalendarDays_Stroke2_Corner0_Rounded as CalendarDays} from '#/components/icons/CalendarDays'
+1 -1
View File
@@ -1,5 +1,5 @@
import React from 'react'
import {TextInput, View} from 'react-native'
import {type TextInput, View} from 'react-native'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+3 -3
View File
@@ -2,13 +2,13 @@ import React from 'react'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {LogEvents} from '#/lib/statsig/statsig'
import {type LogEvents} from '#/lib/statsig/statsig'
import {logger} from '#/logger'
import {Shadow} from '#/state/cache/types'
import {type Shadow} from '#/state/cache/types'
import {useProfileFollowMutationQueue} from '#/state/queries/profile'
import {useRequireAuth} from '#/state/session'
import * as Toast from '#/view/com/util/Toast'
import * as bsky from '#/types/bsky'
import type * as bsky from '#/types/bsky'
export function useFollowMethods({
profile,
+1 -1
View File
@@ -1,7 +1,7 @@
import React from 'react'
import Svg, {Path} from 'react-native-svg'
import {Props, useCommonSVGProps} from '#/components/icons/common'
import {type Props, useCommonSVGProps} from '#/components/icons/common'
export const IconTemplate_Stroke2_Corner0_Rounded = React.forwardRef(
function LogoImpl(props: Props, ref) {
@@ -8,7 +8,7 @@ import {useAgent, useSession} from '#/state/session'
import {atoms as a, useBreakpoints, useTheme} from '#/alf'
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
import * as Dialog from '#/components/Dialog'
import {DialogControlProps} from '#/components/Dialog'
import {type DialogControlProps} from '#/components/Dialog'
import {Divider} from '#/components/Divider'
import {ArrowRotateCounterClockwise_Stroke2_Corner0_Rounded as Resend} from '#/components/icons/ArrowRotateCounterClockwise'
import {useIntentDialogs} from '#/components/intents/IntentDialogs'
+8 -3
View File
@@ -1,11 +1,16 @@
import {StyleProp, View, ViewStyle} from 'react-native'
import {AppBskyFeedDefs, ComAtprotoLabelDefs} from '@atproto/api'
import {type StyleProp, View, type ViewStyle} from 'react-native'
import {type AppBskyFeedDefs, type ComAtprotoLabelDefs} from '@atproto/api'
import {msg, Plural, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {useSession} from '#/state/session'
import {atoms as a} from '#/alf'
import {Button, ButtonIcon, ButtonSize, ButtonText} from '#/components/Button'
import {
Button,
ButtonIcon,
type ButtonSize,
ButtonText,
} from '#/components/Button'
import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo'
import {
LabelsOnMeDialog,
@@ -1,6 +1,6 @@
import React from 'react'
import {View} from 'react-native'
import {ComAtprotoLabelDefs, ComAtprotoModerationDefs} from '@atproto/api'
import {type ComAtprotoLabelDefs, ComAtprotoModerationDefs} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {useMutation} from '@tanstack/react-query'
@@ -1,5 +1,5 @@
import {View} from 'react-native'
import {ModerationCause} from '@atproto/api'
import {type ModerationCause} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
@@ -12,7 +12,7 @@ import {useSession} from '#/state/session'
import {atoms as a, useGutters, useTheme} from '#/alf'
import * as Dialog from '#/components/Dialog'
import {InlineLinkText} from '#/components/Link'
import {AppModerationCause} from '#/components/Pills'
import {type AppModerationCause} from '#/components/Pills'
import {Text} from '#/components/Typography'
export {useDialogControl as useModerationDetailsDialogControl} from '#/components/Dialog'
+2 -2
View File
@@ -1,5 +1,5 @@
import {StyleProp, ViewStyle} from 'react-native'
import {ModerationCause, ModerationUI} from '@atproto/api'
import {type StyleProp, type ViewStyle} from 'react-native'
import {type ModerationCause, type ModerationUI} from '@atproto/api'
import {getModerationCauseKey, unique} from '#/lib/moderation'
import * as Pills from '#/components/Pills'
@@ -1,5 +1,5 @@
import {StyleProp, ViewStyle} from 'react-native'
import {ModerationDecision} from '@atproto/api'
import {type StyleProp, type ViewStyle} from 'react-native'
import {type ModerationDecision} from '@atproto/api'
import {getModerationCauseKey, unique} from '#/lib/moderation'
import * as Pills from '#/components/Pills'
@@ -1,7 +1,7 @@
import {
$Typed,
ChatBskyConvoDefs,
ComAtprotoModerationCreateReport,
type $Typed,
type ChatBskyConvoDefs,
type ComAtprotoModerationCreateReport,
} from '@atproto/api'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
@@ -9,8 +9,8 @@ import {useMutation} from '@tanstack/react-query'
import {logger} from '#/logger'
import {useAgent} from '#/state/session'
import {ReportState} from './state'
import {ParsedReportSubject} from './types'
import {type ReportState} from './state'
import {type ParsedReportSubject} from './types'
export function useSubmitReportMutation() {
const {_} = useLingui()
@@ -2,7 +2,7 @@ import {useMemo} from 'react'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {ParsedReportSubject} from './types'
import {type ParsedReportSubject} from './types'
export function useCopyForSubject(subject: ParsedReportSubject) {
const {_} = useLingui()
@@ -1,6 +1,6 @@
import {AppBskyLabelerDefs, ComAtprotoModerationDefs} from '@atproto/api'
import {type AppBskyLabelerDefs, ComAtprotoModerationDefs} from '@atproto/api'
import {ReportOption} from './utils/useReportOptions'
import {type ReportOption} from './utils/useReportOptions'
export type ReportState = {
selectedOption?: ReportOption
@@ -1,12 +1,12 @@
import {
$Typed,
AppBskyActorDefs,
AppBskyFeedDefs,
AppBskyGraphDefs,
ChatBskyConvoDefs,
type $Typed,
type AppBskyActorDefs,
type AppBskyFeedDefs,
type AppBskyGraphDefs,
type ChatBskyConvoDefs,
} from '@atproto/api'
import * as Dialog from '#/components/Dialog'
import type * as Dialog from '#/components/Dialog'
export type ReportSubject =
| $Typed<AppBskyActorDefs.ProfileViewBasic>
@@ -6,8 +6,8 @@ import {
} from '@atproto/api'
import {
ParsedReportSubject,
ReportSubject,
type ParsedReportSubject,
type ReportSubject,
} from '#/components/moderation/ReportDialog/types'
import * as bsky from '#/types/bsky'
+4 -4
View File
@@ -1,18 +1,18 @@
import React from 'react'
import {
StyleProp,
type StyleProp,
TouchableWithoutFeedback,
View,
ViewStyle,
type ViewStyle,
} from 'react-native'
import {ModerationUI} from '@atproto/api'
import {type ModerationUI} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {useNavigation} from '@react-navigation/native'
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
import {NavigationProp} from '#/lib/routes/types'
import {type NavigationProp} from '#/lib/routes/types'
import {CenteredView} from '#/view/com/util/Views'
import {atoms as a, useTheme, web} from '#/alf'
import {Button, ButtonText} from '#/components/Button'
+3 -3
View File
@@ -1,6 +1,6 @@
import {
AppBskyFeedDefs,
AppBskyFeedGetFeed as GetCustomFeed,
type AppBskyFeedDefs,
type AppBskyFeedGetFeed as GetCustomFeed,
BskyAgent,
jsonStringToLex,
} from '@atproto/api'
@@ -9,7 +9,7 @@ import {
getAppLanguageAsContentLanguage,
getContentLanguages,
} from '#/state/preferences/languages'
import {FeedAPI, FeedAPIResponse} from './types'
import {type FeedAPI, type FeedAPIResponse} from './types'
import {createBskyTopicsHeader, isBlueskyOwnedFeed} from './utils'
export class CustomFeedAPI implements FeedAPI {
+2 -2
View File
@@ -1,6 +1,6 @@
import {AppBskyFeedDefs, BskyAgent} from '@atproto/api'
import {type AppBskyFeedDefs, type BskyAgent} from '@atproto/api'
import {FeedAPI, FeedAPIResponse} from './types'
import {type FeedAPI, type FeedAPIResponse} from './types'
export class FollowingFeedAPI implements FeedAPI {
agent: BskyAgent
+4 -4
View File
@@ -1,10 +1,10 @@
import {
AppBskyFeedDefs,
AppBskyFeedGetActorLikes as GetActorLikes,
BskyAgent,
type AppBskyFeedDefs,
type AppBskyFeedGetActorLikes as GetActorLikes,
type BskyAgent,
} from '@atproto/api'
import {FeedAPI, FeedAPIResponse} from './types'
import {type FeedAPI, type FeedAPIResponse} from './types'
export class LikesFeedAPI implements FeedAPI {
agent: BskyAgent
+12 -4
View File
@@ -1,14 +1,22 @@
import {AppBskyFeedDefs, AppBskyFeedGetTimeline, BskyAgent} from '@atproto/api'
import {
type AppBskyFeedDefs,
type AppBskyFeedGetTimeline,
type BskyAgent,
} from '@atproto/api'
import shuffle from 'lodash.shuffle'
import {bundleAsync} from '#/lib/async/bundle'
import {timeout} from '#/lib/async/timeout'
import {feedUriToHref} from '#/lib/strings/url-helpers'
import {getContentLanguages} from '#/state/preferences/languages'
import {FeedParams} from '#/state/queries/post-feed'
import {type FeedParams} from '#/state/queries/post-feed'
import {FeedTuner} from '../feed-manip'
import {FeedTunerFn} from '../feed-manip'
import {FeedAPI, FeedAPIResponse, ReasonFeedSource} from './types'
import {type FeedTunerFn} from '../feed-manip'
import {
type FeedAPI,
type FeedAPIResponse,
type ReasonFeedSource,
} from './types'
import {createBskyTopicsHeader, isBlueskyOwnedFeed} from './utils'
const REQUEST_WAIT_MS = 500 // 500ms
+1 -1
View File
@@ -1,4 +1,4 @@
import {AppBskyFeedDefs} from '@atproto/api'
import {type AppBskyFeedDefs} from '@atproto/api'
export interface FeedAPIResponse {
cursor?: string
+1 -1
View File
@@ -2,7 +2,7 @@ import {AtUri} from '@atproto/api'
import {BSKY_FEED_OWNER_DIDS} from '#/lib/constants'
import {isWeb} from '#/platform/detection'
import {UsePreferencesQueryResponse} from '#/state/queries/preferences'
import {type UsePreferencesQueryResponse} from '#/state/queries/preferences'
let debugTopics = ''
if (isWeb && typeof window !== 'undefined') {
+1 -1
View File
@@ -1,5 +1,5 @@
import {copyAsync} from 'expo-file-system'
import {BskyAgent, ComAtprotoRepoUploadBlob} from '@atproto/api'
import {type BskyAgent, type ComAtprotoRepoUploadBlob} from '@atproto/api'
import {safeDeleteAsync} from '#/lib/media/manip'
+1 -1
View File
@@ -1,4 +1,4 @@
import {BskyAgent, ComAtprotoRepoUploadBlob} from '@atproto/api'
import {type BskyAgent, type ComAtprotoRepoUploadBlob} from '@atproto/api'
/**
* @note It is recommended, on web, to use the `file` instance of the file
+1 -1
View File
@@ -1,4 +1,4 @@
import {ImageRequireSource} from 'react-native'
import {type ImageRequireSource} from 'react-native'
export const DEF_AVATAR: ImageRequireSource = require('../../assets/default-avatar.png')
export const CLOUD_SPLASH: ImageRequireSource = require('../../assets/splash.png')
+1 -1
View File
@@ -1,4 +1,4 @@
import {ImageRequireSource} from 'react-native'
import {type ImageRequireSource} from 'react-native'
// @ts-ignore we need to pretend -prf
export const DEF_AVATAR: ImageRequireSource = {uri: '/img/default-avatar.png'}
@@ -1,4 +1,4 @@
import React from 'react'
import type React from 'react'
export function GestureActionView({children}: {children: React.ReactNode}) {
return children
+6 -1
View File
@@ -1,4 +1,9 @@
import {Pressable, PressableProps, StyleProp, ViewStyle} from 'react-native'
import {
Pressable,
type PressableProps,
type StyleProp,
type ViewStyle,
} from 'react-native'
import Animated, {
cancelAnimation,
useAnimatedStyle,
+2 -2
View File
@@ -4,11 +4,11 @@ import {useLingui} from '@lingui/react'
import {logger} from '#/logger'
import {isWeb} from '#/platform/detection'
import {SessionAccount, useSessionApi} from '#/state/session'
import {type SessionAccount, useSessionApi} from '#/state/session'
import {useLoggedOutViewControls} from '#/state/shell/logged-out'
import * as Toast from '#/view/com/util/Toast'
import {logEvent} from '../statsig/statsig'
import {LogEvents} from '../statsig/statsig'
import {type LogEvents} from '../statsig/statsig'
export function useAccountSwitcher() {
const [pendingDid, setPendingDid] = useState<string | null>(null)
+1 -1
View File
@@ -1,6 +1,6 @@
import {StackActions, useNavigation} from '@react-navigation/native'
import {NavigationProp} from '#/lib/routes/types'
import {type NavigationProp} from '#/lib/routes/types'
import {router} from '#/routes'
export function useGoBack(onGoBack?: () => unknown) {
+1 -1
View File
@@ -1,7 +1,7 @@
import {useEffect} from 'react'
import {useNavigation} from '@react-navigation/native'
import {NavigationProp} from '#/lib/routes/types'
import {type NavigationProp} from '#/lib/routes/types'
import {bskyTitle} from '#/lib/strings/headings'
import {useUnreadNotifications} from '#/state/queries/notifications/unread'
+1 -1
View File
@@ -1,5 +1,5 @@
import {useCallback} from 'react'
import {I18n} from '@lingui/core'
import {type I18n} from '@lingui/core'
import {defineMessage, msg, plural} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {differenceInSeconds} from 'date-fns'
+1 -1
View File
@@ -1,5 +1,5 @@
import {useEffect, useMemo, useState} from 'react'
import {EventArg, useNavigation} from '@react-navigation/core'
import {type EventArg, useNavigation} from '@react-navigation/core'
if ('scrollRestoration' in history) {
// Tell the brower not to mess with the scroll.
+2 -2
View File
@@ -1,8 +1,8 @@
import {ImagePickerAsset} from 'expo-image-picker'
import {type ImagePickerAsset} from 'expo-image-picker'
import {VIDEO_MAX_SIZE} from '#/lib/constants'
import {VideoTooLargeError} from '#/lib/media/video/errors'
import {CompressedVideo} from './types'
import {type CompressedVideo} from './types'
// doesn't actually compress, converts to ArrayBuffer
export async function compressVideo(
+2 -2
View File
@@ -1,5 +1,5 @@
import {BskyAgent} from '@atproto/api'
import {I18n} from '@lingui/core'
import {type BskyAgent} from '@atproto/api'
import {type I18n} from '@lingui/core'
import {msg} from '@lingui/macro'
import {VIDEO_SERVICE_DID} from '#/lib/constants'
+3 -3
View File
@@ -1,12 +1,12 @@
import {createUploadTask, FileSystemUploadType} from 'expo-file-system'
import {AppBskyVideoDefs, BskyAgent} from '@atproto/api'
import {I18n} from '@lingui/core'
import {type AppBskyVideoDefs, type BskyAgent} from '@atproto/api'
import {type I18n} from '@lingui/core'
import {msg} from '@lingui/macro'
import {nanoid} from 'nanoid/non-secure'
import {AbortError} from '#/lib/async/cancelable'
import {ServerError} from '#/lib/media/video/errors'
import {CompressedVideo} from '#/lib/media/video/types'
import {type CompressedVideo} from '#/lib/media/video/types'
import {getServiceAuthToken, getVideoUploadLimits} from './upload.shared'
import {createVideoEndpointUrl, mimeToExt} from './util'
+4 -4
View File
@@ -1,12 +1,12 @@
import {AppBskyVideoDefs} from '@atproto/api'
import {BskyAgent} from '@atproto/api'
import {I18n} from '@lingui/core'
import {type AppBskyVideoDefs} from '@atproto/api'
import {type BskyAgent} from '@atproto/api'
import {type I18n} from '@lingui/core'
import {msg} from '@lingui/macro'
import {nanoid} from 'nanoid/non-secure'
import {AbortError} from '#/lib/async/cancelable'
import {ServerError} from '#/lib/media/video/errors'
import {CompressedVideo} from '#/lib/media/video/types'
import {type CompressedVideo} from '#/lib/media/video/types'
import {getServiceAuthToken, getVideoUploadLimits} from './upload.shared'
import {createVideoEndpointUrl, mimeToExt} from './util'
+1 -1
View File
@@ -1,6 +1,6 @@
import {AtpAgent} from '@atproto/api'
import {SupportedMimeTypes, VIDEO_SERVICE} from '#/lib/constants'
import {type SupportedMimeTypes, VIDEO_SERVICE} from '#/lib/constants'
export const createVideoEndpointUrl = (
route: string,
+1 -1
View File
@@ -1,4 +1,4 @@
import * as bsky from '#/types/bsky'
import type * as bsky from '#/types/bsky'
export function isBlockedOrBlocking(profile: bsky.profile.AnyProfileView) {
return profile.viewer?.blockedBy || profile.viewer?.blocking
@@ -1,4 +1,7 @@
import {InterpretedLabelValueDefinition, LabelPreference} from '@atproto/api'
import {
type InterpretedLabelValueDefinition,
type LabelPreference,
} from '@atproto/api'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+4 -4
View File
@@ -1,7 +1,7 @@
import {
AppBskyLabelerDefs,
ComAtprotoLabelDefs,
InterpretedLabelValueDefinition,
type AppBskyLabelerDefs,
type ComAtprotoLabelDefs,
type InterpretedLabelValueDefinition,
interpretLabelValueDefinition,
LABELS,
} from '@atproto/api'
@@ -9,7 +9,7 @@ import {useLingui} from '@lingui/react'
import * as bcp47Match from 'bcp-47-match'
import {
GlobalLabelStrings,
type GlobalLabelStrings,
useGlobalLabelStrings,
} from '#/lib/moderation/useGlobalLabelStrings'
import {useLabelDefinitions} from '#/state/preferences'
+4 -3
View File
@@ -1,12 +1,13 @@
import React, {useRef, useState} from 'react'
import {AppState, AppStateStatus} from 'react-native'
import {useRef, useState} from 'react'
import {AppState, type AppStateStatus} from 'react-native'
import AsyncStorage from '@react-native-async-storage/async-storage'
import {createAsyncStoragePersister} from '@tanstack/query-async-storage-persister'
import {focusManager, onlineManager, QueryClient} from '@tanstack/react-query'
import {
PersistQueryClientProvider,
PersistQueryClientProviderProps,
type PersistQueryClientProviderProps,
} from '@tanstack/react-query-persist-client'
import type React from 'react'
import {isNative} from '#/platform/detection'
import {listenNetworkConfirmed, listenNetworkLost} from '#/state/events'
+2 -2
View File
@@ -1,6 +1,6 @@
import {NavigationProp} from '@react-navigation/native'
import {type NavigationProp} from '@react-navigation/native'
import {RouteParams, State} from './types'
import {type RouteParams, type State} from './types'
export function getRootNavigation<T extends {}>(
nav: NavigationProp<T>,
+1 -1
View File
@@ -1,4 +1,4 @@
import {ModerationUI} from '@atproto/api'
import {type ModerationUI} from '@atproto/api'
// \u2705 = ✅
// \u2713 = ✓
+1 -1
View File
@@ -1,4 +1,4 @@
import {AppBskyRichtextFacet, RichText} from '@atproto/api'
import {AppBskyRichtextFacet, type RichText} from '@atproto/api'
import {linkRequiresWarning} from './url-helpers'
+1 -1
View File
@@ -1,4 +1,4 @@
import {AppBskyRichtextFacet, RichText, UnicodeString} from '@atproto/api'
import {AppBskyRichtextFacet, type RichText, UnicodeString} from '@atproto/api'
import {toShortUrl} from './url-helpers'
+1 -1
View File
@@ -1,4 +1,4 @@
import {I18n} from '@lingui/core'
import {type I18n} from '@lingui/core'
export function niceDate(i18n: I18n, date: number | string | Date) {
const d = new Date(date)
+1 -1
View File
@@ -4,7 +4,7 @@ import {tokens} from '#/alf'
import {darkPalette, dimPalette, lightPalette} from '#/alf/themes'
import {fontWeight} from '#/alf/tokens'
import {colors} from './styles'
import type {Theme} from './ThemeContext'
import {type Theme} from './ThemeContext'
export const defaultTheme: Theme = {
colorScheme: 'light',
+1 -1
View File
@@ -1,4 +1,4 @@
import {getLocales as defaultGetLocales, Locale} from 'expo-localization'
import {getLocales as defaultGetLocales, type Locale} from 'expo-localization'
import {dedupArray} from '#/lib/functions'
+1 -1
View File
@@ -1,6 +1,6 @@
import React from 'react'
import {i18n} from '@lingui/core'
import {I18nProvider as DefaultI18nProvider} from '@lingui/react'
import type React from 'react'
import {useLocaleLanguage} from './i18n'
+1 -1
View File
@@ -1,6 +1,6 @@
import {expect, test} from '@jest/globals'
import {add, ConsoleTransportEntry, getEntries} from '#/logger/logDump'
import {add, type ConsoleTransportEntry, getEntries} from '#/logger/logDump'
import {LogContext, LogLevel} from '#/logger/types'
test('works', () => {
+1 -1
View File
@@ -1,4 +1,4 @@
import type {LogContext, LogLevel, Metadata} from '#/logger/types'
import {type LogContext, type LogLevel, type Metadata} from '#/logger/types'
export type ConsoleTransportEntry = {
id: string
+1 -1
View File
@@ -1,5 +1,5 @@
import {debug, error, info, warn} from '#/logger/bitdrift/lib'
import {LogLevel, Transport} from '#/logger/types'
import {LogLevel, type Transport} from '#/logger/types'
import {prepareMetadata} from '#/logger/util'
const logFunctions = {
+1 -1
View File
@@ -1,6 +1,6 @@
import format from 'date-fns/format'
import {LogLevel, Transport} from '#/logger/types'
import {LogLevel, type Transport} from '#/logger/types'
import {prepareMetadata} from '#/logger/util'
import {isWeb} from '#/platform/detection'
+1 -1
View File
@@ -1,4 +1,4 @@
import {LogLevel, Metadata, Serializable} from '#/logger/types'
import {LogLevel, type Metadata, type Serializable} from '#/logger/types'
export const enabledLogLevels: {
[key in LogLevel]: LogLevel[]
+1 -1
View File
@@ -6,7 +6,7 @@ import {useLingui} from '@lingui/react'
import {DISCOVER_SAVED_FEED, TIMELINE_SAVED_FEED} from '#/lib/constants'
import {useOverwriteSavedFeedsMutation} from '#/state/queries/preferences'
import {UsePreferencesQueryResponse} from '#/state/queries/preferences'
import {type UsePreferencesQueryResponse} from '#/state/queries/preferences'
import {CenteredView} from '#/view/com/util/Views'
import {atoms as a} from '#/alf'
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+1 -1
View File
@@ -11,7 +11,7 @@ import {logger} from '#/logger'
import {RQKEY_ROOT as listQueryRoot} from '#/state/queries/list'
import {useListBlockMutation, useListMuteMutation} from '#/state/queries/list'
import {
UsePreferencesQueryResponse,
type UsePreferencesQueryResponse,
useRemoveFeedMutation,
} from '#/state/queries/preferences'
import {useSession} from '#/state/session'
+1 -1
View File
@@ -5,7 +5,7 @@ import {useLingui} from '@lingui/react'
import {logEvent} from '#/lib/statsig/statsig'
import {logger} from '#/logger'
import {SessionAccount, useSession, useSessionApi} from '#/state/session'
import {type SessionAccount, useSession, useSessionApi} from '#/state/session'
import {useLoggedOutViewControls} from '#/state/shell/logged-out'
import * as Toast from '#/view/com/util/Toast'
import {atoms as a} from '#/alf'
+1 -1
View File
@@ -1,5 +1,5 @@
import React from 'react'
import {type StyleProp, View, type ViewStyle} from 'react-native'
import type React from 'react'
import {atoms as a, useBreakpoints, useTheme} from '#/alf'
import {Text} from '#/components/Typography'

Some files were not shown because too many files have changed in this diff Show More