+1
-1
src/Splash.tsx
+1
-1
src/Splash.tsx
···
15
15
withTiming,
16
16
} from 'react-native-reanimated'
17
17
import {useSafeAreaInsets} from 'react-native-safe-area-context'
18
-
import Svg, {Path, SvgProps} from 'react-native-svg'
18
+
import Svg, {Path, type SvgProps} from 'react-native-svg'
19
19
import {Image} from 'expo-image'
20
20
import * as SplashScreen from 'expo-splash-screen'
21
21
+1
-1
src/alf/themes.ts
+1
-1
src/alf/themes.ts
+1
-1
src/alf/types.ts
+1
-1
src/alf/types.ts
+1
-1
src/alf/util/themeSelector.ts
+1
-1
src/alf/util/themeSelector.ts
+2
-2
src/alf/util/useColorModeTheme.ts
+2
-2
src/alf/util/useColorModeTheme.ts
···
1
1
import React from 'react'
2
-
import {ColorSchemeName, useColorScheme} from 'react-native'
2
+
import {type ColorSchemeName, useColorScheme} from 'react-native'
3
3
4
4
import {isWeb} from '#/platform/detection'
5
5
import {useThemePrefs} from '#/state/shell'
6
6
import {dark, dim, light} from '#/alf/themes'
7
-
import {ThemeName} from '#/alf/types'
7
+
import {type ThemeName} from '#/alf/types'
8
8
9
9
export function useColorModeTheme(): ThemeName {
10
10
const theme = useThemeName()
+1
-1
src/alf/util/useGutters.ts
+1
-1
src/alf/util/useGutters.ts
+1
-1
src/components/Dialog/utils.ts
+1
-1
src/components/Dialog/utils.ts
+2
-2
src/components/Fill.tsx
+2
-2
src/components/Fill.tsx
+1
-1
src/components/GradientFill.tsx
+1
-1
src/components/GradientFill.tsx
+4
-4
src/components/IconCircle.tsx
+4
-4
src/components/IconCircle.tsx
···
3
3
import {
4
4
atoms as a,
5
5
flatten,
6
-
TextStyleProp,
6
+
type TextStyleProp,
7
7
useTheme,
8
-
ViewStyleProp,
8
+
type ViewStyleProp,
9
9
} from '#/alf'
10
-
import {Props} from '#/components/icons/common'
11
-
import {Growth_Stroke2_Corner0_Rounded as Growth} from '#/components/icons/Growth'
10
+
import {type Props} from '#/components/icons/common'
11
+
import {type Growth_Stroke2_Corner0_Rounded as Growth} from '#/components/icons/Growth'
12
12
13
13
export function IconCircle({
14
14
icon: Icon,
+4
-4
src/components/LabelingServiceCard/index.tsx
+4
-4
src/components/LabelingServiceCard/index.tsx
···
1
-
import React from 'react'
2
1
import {View} from 'react-native'
3
-
import {AppBskyLabelerDefs} from '@atproto/api'
2
+
import {type AppBskyLabelerDefs} from '@atproto/api'
4
3
import {msg, Plural, Trans} from '@lingui/macro'
5
4
import {useLingui} from '@lingui/react'
5
+
import type React from 'react'
6
6
7
7
import {getLabelingServiceTitle} from '#/lib/moderation'
8
8
import {sanitizeHandle} from '#/lib/strings/handles'
9
9
import {useLabelerInfoQuery} from '#/state/queries/labeler'
10
10
import {UserAvatar} from '#/view/com/util/UserAvatar'
11
-
import {atoms as a, useTheme, ViewStyleProp} from '#/alf'
11
+
import {atoms as a, useTheme, type ViewStyleProp} from '#/alf'
12
12
import {Flag_Stroke2_Corner0_Rounded as Flag} from '#/components/icons/Flag'
13
-
import {Link as InternalLink, LinkProps} from '#/components/Link'
13
+
import {Link as InternalLink, type LinkProps} from '#/components/Link'
14
14
import {RichText} from '#/components/RichText'
15
15
import {Text} from '#/components/Typography'
16
16
import {ChevronRight_Stroke2_Corner0_Rounded as ChevronRight} from '../icons/Chevron'
+1
-1
src/components/LikedByList.tsx
+1
-1
src/components/LikedByList.tsx
+2
-2
src/components/LinearGradientBackground.tsx
+2
-2
src/components/LinearGradientBackground.tsx
+1
-1
src/components/Loader.tsx
+1
-1
src/components/Loader.tsx
···
8
8
} from 'react-native-reanimated'
9
9
10
10
import {atoms as a, flatten, useTheme} from '#/alf'
11
-
import {Props, useCommonSVGProps} from '#/components/icons/common'
11
+
import {type Props, useCommonSVGProps} from '#/components/icons/common'
12
12
import {Loader_Stroke2_Corner0_Rounded as Icon} from '#/components/icons/Loader'
13
13
14
14
export function Loader(props: Props) {
+1
-1
src/components/Loader.web.tsx
+1
-1
src/components/Loader.web.tsx
···
1
1
import {View} from 'react-native'
2
2
3
3
import {atoms as a, flatten, useTheme} from '#/alf'
4
-
import {Props, useCommonSVGProps} from '#/components/icons/common'
4
+
import {type Props, useCommonSVGProps} from '#/components/icons/common'
5
5
import {Loader_Stroke2_Corner0_Rounded as Icon} from '#/components/icons/Loader'
6
6
7
7
export function Loader(props: Props) {
+2
-2
src/components/MediaInsetBorder.tsx
+2
-2
src/components/MediaInsetBorder.tsx
+8
-8
src/components/Menu/types.ts
+8
-8
src/components/Menu/types.ts
···
1
-
import React from 'react'
2
1
import {
3
-
AccessibilityProps,
4
-
AccessibilityRole,
5
-
GestureResponderEvent,
6
-
PressableProps,
2
+
type AccessibilityProps,
3
+
type AccessibilityRole,
4
+
type GestureResponderEvent,
5
+
type PressableProps,
7
6
} from 'react-native'
7
+
import type React from 'react'
8
8
9
-
import {TextStyleProp, ViewStyleProp} from '#/alf'
10
-
import * as Dialog from '#/components/Dialog'
11
-
import {Props as SVGIconProps} from '#/components/icons/common'
9
+
import {type TextStyleProp, type ViewStyleProp} from '#/alf'
10
+
import type * as Dialog from '#/components/Dialog'
11
+
import {type Props as SVGIconProps} from '#/components/icons/common'
12
12
13
13
export type ContextType = {
14
14
control: Dialog.DialogOuterProps['control']
+1
-1
src/components/NewskieDialog.tsx
+1
-1
src/components/NewskieDialog.tsx
···
1
1
import React from 'react'
2
2
import {View} from 'react-native'
3
-
import {AppBskyActorDefs, moderateProfile} from '@atproto/api'
3
+
import {type AppBskyActorDefs, moderateProfile} from '@atproto/api'
4
4
import {msg, Trans} from '@lingui/macro'
5
5
import {useLingui} from '@lingui/react'
6
6
import {differenceInSeconds} from 'date-fns'
+2
-2
src/components/Pills.tsx
+2
-2
src/components/Pills.tsx
···
1
1
import React from 'react'
2
2
import {View} from 'react-native'
3
-
import {BSKY_LABELER_DID, ModerationCause} from '@atproto/api'
3
+
import {BSKY_LABELER_DID, type ModerationCause} from '@atproto/api'
4
4
import {Trans} from '@lingui/macro'
5
5
6
6
import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
7
7
import {UserAvatar} from '#/view/com/util/UserAvatar'
8
-
import {atoms as a, useTheme, ViewStyleProp} from '#/alf'
8
+
import {atoms as a, useTheme, type ViewStyleProp} from '#/alf'
9
9
import {Button} from '#/components/Button'
10
10
import {
11
11
ModerationDetailsDialog,
+1
-1
src/components/ProgressGuide/List.tsx
+1
-1
src/components/ProgressGuide/List.tsx
+2
-2
src/components/ReportDialog/SelectLabelerView.tsx
+2
-2
src/components/ReportDialog/SelectLabelerView.tsx
···
1
1
import {View} from 'react-native'
2
-
import {AppBskyLabelerDefs} from '@atproto/api'
2
+
import {type AppBskyLabelerDefs} from '@atproto/api'
3
3
import {msg, Trans} from '@lingui/macro'
4
4
import {useLingui} from '@lingui/react'
5
5
···
9
9
import {Divider} from '#/components/Divider'
10
10
import * as LabelingServiceCard from '#/components/LabelingServiceCard'
11
11
import {Text} from '#/components/Typography'
12
-
import {ReportDialogProps} from './types'
12
+
import {type ReportDialogProps} from './types'
13
13
14
14
export function SelectLabelerView({
15
15
...props
+6
-3
src/components/ReportDialog/SelectReportOptionView.tsx
+6
-3
src/components/ReportDialog/SelectReportOptionView.tsx
···
1
1
import React from 'react'
2
2
import {View} from 'react-native'
3
-
import {AppBskyLabelerDefs} from '@atproto/api'
3
+
import {type AppBskyLabelerDefs} from '@atproto/api'
4
4
import {msg, Trans} from '@lingui/macro'
5
5
import {useLingui} from '@lingui/react'
6
6
7
-
import {ReportOption, useReportOptions} from '#/lib/moderation/useReportOptions'
7
+
import {
8
+
type ReportOption,
9
+
useReportOptions,
10
+
} from '#/lib/moderation/useReportOptions'
8
11
import {Link} from '#/components/Link'
9
12
import {DMCA_LINK} from '#/components/ReportDialog/const'
10
13
export {useDialogControl as useReportDialogControl} from '#/components/Dialog'
···
23
26
} from '#/components/icons/Chevron'
24
27
import {SquareArrowTopRight_Stroke2_Corner0_Rounded as SquareArrowTopRight} from '#/components/icons/SquareArrowTopRight'
25
28
import {Text} from '#/components/Typography'
26
-
import {ReportDialogProps} from './types'
29
+
import {type ReportDialogProps} from './types'
27
30
28
31
export function SelectReportOptionView(props: {
29
32
params: ReportDialogProps['params']
+3
-3
src/components/ReportDialog/SubmitView.tsx
+3
-3
src/components/ReportDialog/SubmitView.tsx
···
1
1
import React from 'react'
2
2
import {View} from 'react-native'
3
-
import {AppBskyLabelerDefs} from '@atproto/api'
3
+
import {type AppBskyLabelerDefs} from '@atproto/api'
4
4
import {msg, Trans} from '@lingui/macro'
5
5
import {useLingui} from '@lingui/react'
6
6
7
7
import {getLabelingServiceTitle} from '#/lib/moderation'
8
-
import {ReportOption} from '#/lib/moderation/useReportOptions'
8
+
import {type ReportOption} from '#/lib/moderation/useReportOptions'
9
9
import {isAndroid} from '#/platform/detection'
10
10
import {useAgent} from '#/state/session'
11
11
import {CharProgress} from '#/view/com/composer/char-progress/CharProgress'
···
19
19
import {PaperPlane_Stroke2_Corner0_Rounded as SendIcon} from '#/components/icons/PaperPlane'
20
20
import {Loader} from '#/components/Loader'
21
21
import {Text} from '#/components/Typography'
22
-
import {ReportDialogProps} from './types'
22
+
import {type ReportDialogProps} from './types'
23
23
24
24
export function SubmitView({
25
25
params,
+4
-4
src/components/ReportDialog/index.tsx
+4
-4
src/components/ReportDialog/index.tsx
···
1
1
import React from 'react'
2
2
import {Pressable, View} from 'react-native'
3
-
import {ScrollView} from 'react-native-gesture-handler'
3
+
import {type ScrollView} from 'react-native-gesture-handler'
4
4
import {msg, Trans} from '@lingui/macro'
5
5
import {useLingui} from '@lingui/react'
6
6
7
-
import {ReportOption} from '#/lib/moderation/useReportOptions'
7
+
import {type ReportOption} from '#/lib/moderation/useReportOptions'
8
8
import {useMyLabelersQuery} from '#/state/queries/preferences'
9
9
export {useDialogControl as useReportDialogControl} from '#/components/Dialog'
10
10
11
-
import {AppBskyLabelerDefs} from '@atproto/api'
11
+
import {type AppBskyLabelerDefs} from '@atproto/api'
12
12
13
13
import {atoms as a} from '#/alf'
14
14
import * as Dialog from '#/components/Dialog'
···
18
18
import {SelectLabelerView} from './SelectLabelerView'
19
19
import {SelectReportOptionView} from './SelectReportOptionView'
20
20
import {SubmitView} from './SubmitView'
21
-
import {ReportDialogProps} from './types'
21
+
import {type ReportDialogProps} from './types'
22
22
23
23
export function ReportDialog(props: ReportDialogProps) {
24
24
return (
+1
-1
src/components/ReportDialog/types.ts
+1
-1
src/components/ReportDialog/types.ts
+2
-2
src/components/RichTextTag.tsx
+2
-2
src/components/RichTextTag.tsx
···
1
1
import React from 'react'
2
-
import {StyleProp, Text as RNText, TextStyle} from 'react-native'
2
+
import {type StyleProp, Text as RNText, type TextStyle} from 'react-native'
3
3
import {msg, Trans} from '@lingui/macro'
4
4
import {useLingui} from '@lingui/react'
5
5
import {useNavigation} from '@react-navigation/native'
6
6
7
-
import {NavigationProp} from '#/lib/routes/types'
7
+
import {type NavigationProp} from '#/lib/routes/types'
8
8
import {isInvalidHandle} from '#/lib/strings/handles'
9
9
import {isNative, isWeb} from '#/platform/detection'
10
10
import {
+3
-3
src/components/StarterPack/Main/PostsList.tsx
+3
-3
src/components/StarterPack/Main/PostsList.tsx
···
4
4
import {useLingui} from '@lingui/react'
5
5
6
6
import {isNative} from '#/platform/detection'
7
-
import {FeedDescriptor} from '#/state/queries/post-feed'
7
+
import {type FeedDescriptor} from '#/state/queries/post-feed'
8
8
import {PostFeed} from '#/view/com/posts/PostFeed'
9
9
import {EmptyState} from '#/view/com/util/EmptyState'
10
-
import {ListRef} from '#/view/com/util/List'
11
-
import {SectionRef} from '#/screens/Profile/Sections/types'
10
+
import {type ListRef} from '#/view/com/util/List'
11
+
import {type SectionRef} from '#/screens/Profile/Sections/types'
12
12
13
13
interface ProfilesListProps {
14
14
listUri: string
+10
-7
src/components/StarterPack/Main/ProfilesList.tsx
+10
-7
src/components/StarterPack/Main/ProfilesList.tsx
···
1
1
import React, {useCallback} from 'react'
2
-
import {ListRenderItemInfo, View} from 'react-native'
2
+
import {type ListRenderItemInfo, View} from 'react-native'
3
3
import {
4
-
AppBskyActorDefs,
5
-
AppBskyGraphGetList,
4
+
type AppBskyActorDefs,
5
+
type AppBskyGraphGetList,
6
6
AtUri,
7
-
ModerationOpts,
7
+
type ModerationOpts,
8
8
} from '@atproto/api'
9
-
import {InfiniteData, UseInfiniteQueryResult} from '@tanstack/react-query'
9
+
import {
10
+
type InfiniteData,
11
+
type UseInfiniteQueryResult,
12
+
} from '@tanstack/react-query'
10
13
11
14
import {useBottomBarOffset} from '#/lib/hooks/useBottomBarOffset'
12
15
import {useInitialNumToRender} from '#/lib/hooks/useInitialNumToRender'
···
14
17
import {isNative, isWeb} from '#/platform/detection'
15
18
import {useAllListMembersQuery} from '#/state/queries/list-members'
16
19
import {useSession} from '#/state/session'
17
-
import {List, ListRef} from '#/view/com/util/List'
18
-
import {SectionRef} from '#/screens/Profile/Sections/types'
20
+
import {List, type ListRef} from '#/view/com/util/List'
21
+
import {type SectionRef} from '#/screens/Profile/Sections/types'
19
22
import {atoms as a, useTheme} from '#/alf'
20
23
import {ListFooter, ListMaybePlaceholder} from '#/components/Lists'
21
24
import {Default as ProfileCard} from '#/components/ProfileCard'
+1
-1
src/components/StarterPack/QrCode.tsx
+1
-1
src/components/StarterPack/QrCode.tsx
···
3
3
// @ts-expect-error missing types
4
4
import QRCode from 'react-native-qrcode-styled'
5
5
import type ViewShot from 'react-native-view-shot'
6
-
import {AppBskyGraphDefs, AppBskyGraphStarterpack} from '@atproto/api'
6
+
import {type AppBskyGraphDefs, AppBskyGraphStarterpack} from '@atproto/api'
7
7
import {Trans} from '@lingui/macro'
8
8
9
9
import {isWeb} from '#/platform/detection'
+2
-2
src/components/StarterPack/Wizard/ScreenTransition.tsx
+2
-2
src/components/StarterPack/Wizard/ScreenTransition.tsx
···
1
-
import React from 'react'
2
-
import {StyleProp, ViewStyle} from 'react-native'
1
+
import {type StyleProp, type ViewStyle} from 'react-native'
3
2
import Animated, {
4
3
FadeIn,
5
4
FadeOut,
6
5
SlideInLeft,
7
6
SlideInRight,
8
7
} from 'react-native-reanimated'
8
+
import type React from 'react'
9
9
10
10
import {isWeb} from '#/platform/detection'
11
11
+1
-1
src/components/SubtleWebHover.tsx
+1
-1
src/components/SubtleWebHover.tsx
+4
-4
src/components/TrendingTopics.tsx
+4
-4
src/components/TrendingTopics.tsx
···
1
1
import React from 'react'
2
2
import {View} from 'react-native'
3
-
import {AtUri} from '@atproto/api'
3
+
import {type AtUri} from '@atproto/api'
4
4
import {msg} from '@lingui/macro'
5
5
import {useLingui} from '@lingui/react'
6
6
···
10
10
// import {Hashtag_Stroke2_Corner0_Rounded as Hashtag} from '#/components/icons/Hashtag'
11
11
// import {CloseQuote_Filled_Stroke2_Corner0_Rounded as Quote} from '#/components/icons/Quote'
12
12
// import {UserAvatar} from '#/view/com/util/UserAvatar'
13
-
import type {TrendingTopic} from '#/state/queries/trending/useTrendingTopics'
14
-
import {atoms as a, native, useTheme, ViewStyleProp} from '#/alf'
13
+
import {type TrendingTopic} from '#/state/queries/trending/useTrendingTopics'
14
+
import {atoms as a, native, useTheme, type ViewStyleProp} from '#/alf'
15
15
import {StarterPack as StarterPackIcon} from '#/components/icons/StarterPack'
16
-
import {Link as InternalLink, LinkProps} from '#/components/Link'
16
+
import {Link as InternalLink, type LinkProps} from '#/components/Link'
17
17
import {Text} from '#/components/Typography'
18
18
19
19
export function TrendingTopic({
+4
-4
src/components/VideoPostCard.tsx
+4
-4
src/components/VideoPostCard.tsx
···
3
3
import {Image} from 'expo-image'
4
4
import {LinearGradient} from 'expo-linear-gradient'
5
5
import {
6
-
AppBskyActorDefs,
6
+
type AppBskyActorDefs,
7
7
AppBskyEmbedVideo,
8
-
AppBskyFeedDefs,
8
+
type AppBskyFeedDefs,
9
9
AppBskyFeedPost,
10
-
ModerationDecision,
10
+
type ModerationDecision,
11
11
} from '@atproto/api'
12
12
import {msg} from '@lingui/macro'
13
13
import {useLingui} from '@lingui/react'
···
15
15
import {sanitizeHandle} from '#/lib/strings/handles'
16
16
import {formatCount} from '#/view/com/util/numeric/format'
17
17
import {UserAvatar} from '#/view/com/util/UserAvatar'
18
-
import {VideoFeedSourceContext} from '#/screens/VideoFeed/types'
18
+
import {type VideoFeedSourceContext} from '#/screens/VideoFeed/types'
19
19
import {atoms as a, useTheme} from '#/alf'
20
20
import {BLUE_HUE} from '#/alf/util/colorGeneration'
21
21
import {select} from '#/alf/util/themeSelector'
+1
-1
src/components/anim/AnimatedCheck.tsx
+1
-1
src/components/anim/AnimatedCheck.tsx
···
8
8
} from 'react-native-reanimated'
9
9
import Svg, {Circle, Path} from 'react-native-svg'
10
10
11
-
import {Props, useCommonSVGProps} from '#/components/icons/common'
11
+
import {type Props, useCommonSVGProps} from '#/components/icons/common'
12
12
13
13
const AnimatedPath = Animated.createAnimatedComponent(Path)
14
14
const AnimatedCircle = Animated.createAnimatedComponent(Circle)
+1
-1
src/components/dialogs/Embed.tsx
+1
-1
src/components/dialogs/Embed.tsx
···
1
1
import {memo, useEffect, useMemo, useState} from 'react'
2
2
import {View} from 'react-native'
3
-
import {AppBskyActorDefs, AppBskyFeedPost, AtUri} from '@atproto/api'
3
+
import {type AppBskyActorDefs, type AppBskyFeedPost, AtUri} from '@atproto/api'
4
4
import {msg, Trans} from '@lingui/macro'
5
5
import {useLingui} from '@lingui/react'
6
6
+2
-2
src/components/dialogs/MutedWords.tsx
+2
-2
src/components/dialogs/MutedWords.tsx
···
1
1
import React from 'react'
2
2
import {View} from 'react-native'
3
-
import {AppBskyActorDefs, sanitizeMutedWordValue} from '@atproto/api'
3
+
import {type AppBskyActorDefs, sanitizeMutedWordValue} from '@atproto/api'
4
4
import {msg, Trans} from '@lingui/macro'
5
5
import {useLingui} from '@lingui/react'
6
6
···
16
16
native,
17
17
useBreakpoints,
18
18
useTheme,
19
-
ViewStyleProp,
19
+
type ViewStyleProp,
20
20
web,
21
21
} from '#/alf'
22
22
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+2
-2
src/components/dms/BlockedByListDialog.tsx
+2
-2
src/components/dms/BlockedByListDialog.tsx
···
1
1
import React from 'react'
2
2
import {View} from 'react-native'
3
-
import {ModerationCause} from '@atproto/api'
3
+
import {type ModerationCause} from '@atproto/api'
4
4
import {msg} from '@lingui/macro'
5
5
import {useLingui} from '@lingui/react'
6
6
7
7
import {listUriToHref} from '#/lib/strings/url-helpers'
8
8
import {atoms as a, useTheme} from '#/alf'
9
9
import * as Dialog from '#/components/Dialog'
10
-
import {DialogControlProps} from '#/components/Dialog'
10
+
import {type DialogControlProps} from '#/components/Dialog'
11
11
import {InlineLinkText} from '#/components/Link'
12
12
import * as Prompt from '#/components/Prompt'
13
13
import {Text} from '#/components/Typography'
+2
-2
src/components/dms/LeaveConvoPrompt.tsx
+2
-2
src/components/dms/LeaveConvoPrompt.tsx
···
2
2
import {useLingui} from '@lingui/react'
3
3
import {StackActions, useNavigation} from '@react-navigation/native'
4
4
5
-
import {NavigationProp} from '#/lib/routes/types'
5
+
import {type NavigationProp} from '#/lib/routes/types'
6
6
import {isNative} from '#/platform/detection'
7
7
import {useLeaveConvo} from '#/state/queries/messages/leave-conversation'
8
8
import * as Toast from '#/view/com/util/Toast'
9
-
import {DialogOuterProps} from '#/components/Dialog'
9
+
import {type DialogOuterProps} from '#/components/Dialog'
10
10
import * as Prompt from '#/components/Prompt'
11
11
12
12
export function LeaveConvoPrompt({
+1
-1
src/components/dms/ReportConversationPrompt.tsx
+1
-1
src/components/dms/ReportConversationPrompt.tsx
···
1
1
import {msg} from '@lingui/macro'
2
2
import {useLingui} from '@lingui/react'
3
3
4
-
import {DialogControlProps} from '#/components/Dialog'
4
+
import {type DialogControlProps} from '#/components/Dialog'
5
5
import * as Prompt from '#/components/Prompt'
6
6
7
7
export function ReportConversationPrompt({
+2
-2
src/components/feeds/PostFeedVideoGridRow.tsx
+2
-2
src/components/feeds/PostFeedVideoGridRow.tsx
···
2
2
import {AppBskyEmbedVideo} from '@atproto/api'
3
3
4
4
import {logEvent} from '#/lib/statsig/statsig'
5
-
import {FeedPostSliceItem} from '#/state/queries/post-feed'
6
-
import {VideoFeedSourceContext} from '#/screens/VideoFeed/types'
5
+
import {type FeedPostSliceItem} from '#/state/queries/post-feed'
6
+
import {type VideoFeedSourceContext} from '#/screens/VideoFeed/types'
7
7
import {atoms as a, useGutters} from '#/alf'
8
8
import * as Grid from '#/components/Grid'
9
9
import {
+2
-2
src/components/forms/DateField/index.web.tsx
+2
-2
src/components/forms/DateField/index.web.tsx
···
1
1
import React from 'react'
2
-
import {StyleSheet, TextInput, TextInputProps} from 'react-native'
2
+
import {StyleSheet, type TextInput, type TextInputProps} from 'react-native'
3
3
// @ts-expect-error untyped
4
4
import {unstable_createElement} from 'react-native-web'
5
5
6
-
import {DateFieldProps} from '#/components/forms/DateField/types'
6
+
import {type DateFieldProps} from '#/components/forms/DateField/types'
7
7
import {toSimpleDateString} from '#/components/forms/DateField/utils'
8
8
import * as TextField from '#/components/forms/TextField'
9
9
import {CalendarDays_Stroke2_Corner0_Rounded as CalendarDays} from '#/components/icons/CalendarDays'
+1
-1
src/components/forms/SearchInput.tsx
+1
-1
src/components/forms/SearchInput.tsx
+3
-3
src/components/hooks/useFollowMethods.ts
+3
-3
src/components/hooks/useFollowMethods.ts
···
2
2
import {msg} from '@lingui/macro'
3
3
import {useLingui} from '@lingui/react'
4
4
5
-
import {LogEvents} from '#/lib/statsig/statsig'
5
+
import {type LogEvents} from '#/lib/statsig/statsig'
6
6
import {logger} from '#/logger'
7
-
import {Shadow} from '#/state/cache/types'
7
+
import {type Shadow} from '#/state/cache/types'
8
8
import {useProfileFollowMutationQueue} from '#/state/queries/profile'
9
9
import {useRequireAuth} from '#/state/session'
10
10
import * as Toast from '#/view/com/util/Toast'
11
-
import * as bsky from '#/types/bsky'
11
+
import type * as bsky from '#/types/bsky'
12
12
13
13
export function useFollowMethods({
14
14
profile,
+1
-1
src/components/icons/TEMPLATE.tsx
+1
-1
src/components/icons/TEMPLATE.tsx
···
1
1
import React from 'react'
2
2
import Svg, {Path} from 'react-native-svg'
3
3
4
-
import {Props, useCommonSVGProps} from '#/components/icons/common'
4
+
import {type Props, useCommonSVGProps} from '#/components/icons/common'
5
5
6
6
export const IconTemplate_Stroke2_Corner0_Rounded = React.forwardRef(
7
7
function LogoImpl(props: Props, ref) {
+1
-1
src/components/intents/VerifyEmailIntentDialog.tsx
+1
-1
src/components/intents/VerifyEmailIntentDialog.tsx
···
8
8
import {atoms as a, useBreakpoints, useTheme} from '#/alf'
9
9
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
10
10
import * as Dialog from '#/components/Dialog'
11
-
import {DialogControlProps} from '#/components/Dialog'
11
+
import {type DialogControlProps} from '#/components/Dialog'
12
12
import {Divider} from '#/components/Divider'
13
13
import {ArrowRotateCounterClockwise_Stroke2_Corner0_Rounded as Resend} from '#/components/icons/ArrowRotateCounterClockwise'
14
14
import {useIntentDialogs} from '#/components/intents/IntentDialogs'
+8
-3
src/components/moderation/LabelsOnMe.tsx
+8
-3
src/components/moderation/LabelsOnMe.tsx
···
1
-
import {StyleProp, View, ViewStyle} from 'react-native'
2
-
import {AppBskyFeedDefs, ComAtprotoLabelDefs} from '@atproto/api'
1
+
import {type StyleProp, View, type ViewStyle} from 'react-native'
2
+
import {type AppBskyFeedDefs, type ComAtprotoLabelDefs} from '@atproto/api'
3
3
import {msg, Plural, Trans} from '@lingui/macro'
4
4
import {useLingui} from '@lingui/react'
5
5
6
6
import {useSession} from '#/state/session'
7
7
import {atoms as a} from '#/alf'
8
-
import {Button, ButtonIcon, ButtonSize, ButtonText} from '#/components/Button'
8
+
import {
9
+
Button,
10
+
ButtonIcon,
11
+
type ButtonSize,
12
+
ButtonText,
13
+
} from '#/components/Button'
9
14
import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo'
10
15
import {
11
16
LabelsOnMeDialog,
+1
-1
src/components/moderation/LabelsOnMeDialog.tsx
+1
-1
src/components/moderation/LabelsOnMeDialog.tsx
···
1
1
import React from 'react'
2
2
import {View} from 'react-native'
3
-
import {ComAtprotoLabelDefs, ComAtprotoModerationDefs} from '@atproto/api'
3
+
import {type ComAtprotoLabelDefs, ComAtprotoModerationDefs} from '@atproto/api'
4
4
import {msg, Trans} from '@lingui/macro'
5
5
import {useLingui} from '@lingui/react'
6
6
import {useMutation} from '@tanstack/react-query'
+2
-2
src/components/moderation/ModerationDetailsDialog.tsx
+2
-2
src/components/moderation/ModerationDetailsDialog.tsx
···
1
1
import {View} from 'react-native'
2
-
import {ModerationCause} from '@atproto/api'
2
+
import {type ModerationCause} from '@atproto/api'
3
3
import {msg, Trans} from '@lingui/macro'
4
4
import {useLingui} from '@lingui/react'
5
5
···
12
12
import {atoms as a, useGutters, useTheme} from '#/alf'
13
13
import * as Dialog from '#/components/Dialog'
14
14
import {InlineLinkText} from '#/components/Link'
15
-
import {AppModerationCause} from '#/components/Pills'
15
+
import {type AppModerationCause} from '#/components/Pills'
16
16
import {Text} from '#/components/Typography'
17
17
18
18
export {useDialogControl as useModerationDetailsDialogControl} from '#/components/Dialog'
+2
-2
src/components/moderation/PostAlerts.tsx
+2
-2
src/components/moderation/PostAlerts.tsx
···
1
-
import {StyleProp, ViewStyle} from 'react-native'
2
-
import {ModerationCause, ModerationUI} from '@atproto/api'
1
+
import {type StyleProp, type ViewStyle} from 'react-native'
2
+
import {type ModerationCause, type ModerationUI} from '@atproto/api'
3
3
4
4
import {getModerationCauseKey, unique} from '#/lib/moderation'
5
5
import * as Pills from '#/components/Pills'
+2
-2
src/components/moderation/ProfileHeaderAlerts.tsx
+2
-2
src/components/moderation/ProfileHeaderAlerts.tsx
···
1
-
import {StyleProp, ViewStyle} from 'react-native'
2
-
import {ModerationDecision} from '@atproto/api'
1
+
import {type StyleProp, type ViewStyle} from 'react-native'
2
+
import {type ModerationDecision} from '@atproto/api'
3
3
4
4
import {getModerationCauseKey, unique} from '#/lib/moderation'
5
5
import * as Pills from '#/components/Pills'
+5
-5
src/components/moderation/ReportDialog/action.ts
+5
-5
src/components/moderation/ReportDialog/action.ts
···
1
1
import {
2
-
$Typed,
3
-
ChatBskyConvoDefs,
4
-
ComAtprotoModerationCreateReport,
2
+
type $Typed,
3
+
type ChatBskyConvoDefs,
4
+
type ComAtprotoModerationCreateReport,
5
5
} from '@atproto/api'
6
6
import {msg} from '@lingui/macro'
7
7
import {useLingui} from '@lingui/react'
···
9
9
10
10
import {logger} from '#/logger'
11
11
import {useAgent} from '#/state/session'
12
-
import {ReportState} from './state'
13
-
import {ParsedReportSubject} from './types'
12
+
import {type ReportState} from './state'
13
+
import {type ParsedReportSubject} from './types'
14
14
15
15
export function useSubmitReportMutation() {
16
16
const {_} = useLingui()
+1
-1
src/components/moderation/ReportDialog/copy.ts
+1
-1
src/components/moderation/ReportDialog/copy.ts
+2
-2
src/components/moderation/ReportDialog/state.ts
+2
-2
src/components/moderation/ReportDialog/state.ts
···
1
-
import {AppBskyLabelerDefs, ComAtprotoModerationDefs} from '@atproto/api'
1
+
import {type AppBskyLabelerDefs, ComAtprotoModerationDefs} from '@atproto/api'
2
2
3
-
import {ReportOption} from './utils/useReportOptions'
3
+
import {type ReportOption} from './utils/useReportOptions'
4
4
5
5
export type ReportState = {
6
6
selectedOption?: ReportOption
+6
-6
src/components/moderation/ReportDialog/types.ts
+6
-6
src/components/moderation/ReportDialog/types.ts
···
1
1
import {
2
-
$Typed,
3
-
AppBskyActorDefs,
4
-
AppBskyFeedDefs,
5
-
AppBskyGraphDefs,
6
-
ChatBskyConvoDefs,
2
+
type $Typed,
3
+
type AppBskyActorDefs,
4
+
type AppBskyFeedDefs,
5
+
type AppBskyGraphDefs,
6
+
type ChatBskyConvoDefs,
7
7
} from '@atproto/api'
8
8
9
-
import * as Dialog from '#/components/Dialog'
9
+
import type * as Dialog from '#/components/Dialog'
10
10
11
11
export type ReportSubject =
12
12
| $Typed<AppBskyActorDefs.ProfileViewBasic>
+2
-2
src/components/moderation/ReportDialog/utils/parseReportSubject.ts
+2
-2
src/components/moderation/ReportDialog/utils/parseReportSubject.ts
+4
-4
src/components/moderation/ScreenHider.tsx
+4
-4
src/components/moderation/ScreenHider.tsx
···
1
1
import React from 'react'
2
2
import {
3
-
StyleProp,
3
+
type StyleProp,
4
4
TouchableWithoutFeedback,
5
5
View,
6
-
ViewStyle,
6
+
type ViewStyle,
7
7
} from 'react-native'
8
-
import {ModerationUI} from '@atproto/api'
8
+
import {type ModerationUI} from '@atproto/api'
9
9
import {msg, Trans} from '@lingui/macro'
10
10
import {useLingui} from '@lingui/react'
11
11
import {useNavigation} from '@react-navigation/native'
12
12
13
13
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
14
14
import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
15
-
import {NavigationProp} from '#/lib/routes/types'
15
+
import {type NavigationProp} from '#/lib/routes/types'
16
16
import {CenteredView} from '#/view/com/util/Views'
17
17
import {atoms as a, useTheme, web} from '#/alf'
18
18
import {Button, ButtonText} from '#/components/Button'
+3
-3
src/lib/api/feed/custom.ts
+3
-3
src/lib/api/feed/custom.ts
···
1
1
import {
2
-
AppBskyFeedDefs,
3
-
AppBskyFeedGetFeed as GetCustomFeed,
2
+
type AppBskyFeedDefs,
3
+
type AppBskyFeedGetFeed as GetCustomFeed,
4
4
BskyAgent,
5
5
jsonStringToLex,
6
6
} from '@atproto/api'
···
9
9
getAppLanguageAsContentLanguage,
10
10
getContentLanguages,
11
11
} from '#/state/preferences/languages'
12
-
import {FeedAPI, FeedAPIResponse} from './types'
12
+
import {type FeedAPI, type FeedAPIResponse} from './types'
13
13
import {createBskyTopicsHeader, isBlueskyOwnedFeed} from './utils'
14
14
15
15
export class CustomFeedAPI implements FeedAPI {
+2
-2
src/lib/api/feed/following.ts
+2
-2
src/lib/api/feed/following.ts
···
1
-
import {AppBskyFeedDefs, BskyAgent} from '@atproto/api'
1
+
import {type AppBskyFeedDefs, type BskyAgent} from '@atproto/api'
2
2
3
-
import {FeedAPI, FeedAPIResponse} from './types'
3
+
import {type FeedAPI, type FeedAPIResponse} from './types'
4
4
5
5
export class FollowingFeedAPI implements FeedAPI {
6
6
agent: BskyAgent
+4
-4
src/lib/api/feed/likes.ts
+4
-4
src/lib/api/feed/likes.ts
···
1
1
import {
2
-
AppBskyFeedDefs,
3
-
AppBskyFeedGetActorLikes as GetActorLikes,
4
-
BskyAgent,
2
+
type AppBskyFeedDefs,
3
+
type AppBskyFeedGetActorLikes as GetActorLikes,
4
+
type BskyAgent,
5
5
} from '@atproto/api'
6
6
7
-
import {FeedAPI, FeedAPIResponse} from './types'
7
+
import {type FeedAPI, type FeedAPIResponse} from './types'
8
8
9
9
export class LikesFeedAPI implements FeedAPI {
10
10
agent: BskyAgent
+12
-4
src/lib/api/feed/merge.ts
+12
-4
src/lib/api/feed/merge.ts
···
1
-
import {AppBskyFeedDefs, AppBskyFeedGetTimeline, BskyAgent} from '@atproto/api'
1
+
import {
2
+
type AppBskyFeedDefs,
3
+
type AppBskyFeedGetTimeline,
4
+
type BskyAgent,
5
+
} from '@atproto/api'
2
6
import shuffle from 'lodash.shuffle'
3
7
4
8
import {bundleAsync} from '#/lib/async/bundle'
5
9
import {timeout} from '#/lib/async/timeout'
6
10
import {feedUriToHref} from '#/lib/strings/url-helpers'
7
11
import {getContentLanguages} from '#/state/preferences/languages'
8
-
import {FeedParams} from '#/state/queries/post-feed'
12
+
import {type FeedParams} from '#/state/queries/post-feed'
9
13
import {FeedTuner} from '../feed-manip'
10
-
import {FeedTunerFn} from '../feed-manip'
11
-
import {FeedAPI, FeedAPIResponse, ReasonFeedSource} from './types'
14
+
import {type FeedTunerFn} from '../feed-manip'
15
+
import {
16
+
type FeedAPI,
17
+
type FeedAPIResponse,
18
+
type ReasonFeedSource,
19
+
} from './types'
12
20
import {createBskyTopicsHeader, isBlueskyOwnedFeed} from './utils'
13
21
14
22
const REQUEST_WAIT_MS = 500 // 500ms
+1
-1
src/lib/api/feed/types.ts
+1
-1
src/lib/api/feed/types.ts
+1
-1
src/lib/api/feed/utils.ts
+1
-1
src/lib/api/feed/utils.ts
···
2
2
3
3
import {BSKY_FEED_OWNER_DIDS} from '#/lib/constants'
4
4
import {isWeb} from '#/platform/detection'
5
-
import {UsePreferencesQueryResponse} from '#/state/queries/preferences'
5
+
import {type UsePreferencesQueryResponse} from '#/state/queries/preferences'
6
6
7
7
let debugTopics = ''
8
8
if (isWeb && typeof window !== 'undefined') {
+1
-1
src/lib/api/upload-blob.ts
+1
-1
src/lib/api/upload-blob.ts
+1
-1
src/lib/api/upload-blob.web.ts
+1
-1
src/lib/api/upload-blob.web.ts
+1
-1
src/lib/assets.native.ts
+1
-1
src/lib/assets.native.ts
+1
-1
src/lib/assets.ts
+1
-1
src/lib/assets.ts
+1
-1
src/lib/custom-animations/GestureActionView.web.tsx
+1
-1
src/lib/custom-animations/GestureActionView.web.tsx
+6
-1
src/lib/custom-animations/PressableScale.tsx
+6
-1
src/lib/custom-animations/PressableScale.tsx
+2
-2
src/lib/hooks/useAccountSwitcher.ts
+2
-2
src/lib/hooks/useAccountSwitcher.ts
···
4
4
5
5
import {logger} from '#/logger'
6
6
import {isWeb} from '#/platform/detection'
7
-
import {SessionAccount, useSessionApi} from '#/state/session'
7
+
import {type SessionAccount, useSessionApi} from '#/state/session'
8
8
import {useLoggedOutViewControls} from '#/state/shell/logged-out'
9
9
import * as Toast from '#/view/com/util/Toast'
10
10
import {logEvent} from '../statsig/statsig'
11
-
import {LogEvents} from '../statsig/statsig'
11
+
import {type LogEvents} from '../statsig/statsig'
12
12
13
13
export function useAccountSwitcher() {
14
14
const [pendingDid, setPendingDid] = useState<string | null>(null)
+1
-1
src/lib/hooks/useGoBack.ts
+1
-1
src/lib/hooks/useGoBack.ts
+1
-1
src/lib/hooks/useSetTitle.ts
+1
-1
src/lib/hooks/useSetTitle.ts
···
1
1
import {useEffect} from 'react'
2
2
import {useNavigation} from '@react-navigation/native'
3
3
4
-
import {NavigationProp} from '#/lib/routes/types'
4
+
import {type NavigationProp} from '#/lib/routes/types'
5
5
import {bskyTitle} from '#/lib/strings/headings'
6
6
import {useUnreadNotifications} from '#/state/queries/notifications/unread'
7
7
+1
-1
src/lib/hooks/useTimeAgo.ts
+1
-1
src/lib/hooks/useTimeAgo.ts
+1
-1
src/lib/hooks/useWebScrollRestoration.ts
+1
-1
src/lib/hooks/useWebScrollRestoration.ts
+2
-2
src/lib/media/video/compress.web.ts
+2
-2
src/lib/media/video/compress.web.ts
···
1
-
import {ImagePickerAsset} from 'expo-image-picker'
1
+
import {type ImagePickerAsset} from 'expo-image-picker'
2
2
3
3
import {VIDEO_MAX_SIZE} from '#/lib/constants'
4
4
import {VideoTooLargeError} from '#/lib/media/video/errors'
5
-
import {CompressedVideo} from './types'
5
+
import {type CompressedVideo} from './types'
6
6
7
7
// doesn't actually compress, converts to ArrayBuffer
8
8
export async function compressVideo(
+3
-3
src/lib/media/video/upload.ts
+3
-3
src/lib/media/video/upload.ts
···
1
1
import {createUploadTask, FileSystemUploadType} from 'expo-file-system'
2
-
import {AppBskyVideoDefs, BskyAgent} from '@atproto/api'
3
-
import {I18n} from '@lingui/core'
2
+
import {type AppBskyVideoDefs, type BskyAgent} from '@atproto/api'
3
+
import {type I18n} from '@lingui/core'
4
4
import {msg} from '@lingui/macro'
5
5
import {nanoid} from 'nanoid/non-secure'
6
6
7
7
import {AbortError} from '#/lib/async/cancelable'
8
8
import {ServerError} from '#/lib/media/video/errors'
9
-
import {CompressedVideo} from '#/lib/media/video/types'
9
+
import {type CompressedVideo} from '#/lib/media/video/types'
10
10
import {getServiceAuthToken, getVideoUploadLimits} from './upload.shared'
11
11
import {createVideoEndpointUrl, mimeToExt} from './util'
12
12
+4
-4
src/lib/media/video/upload.web.ts
+4
-4
src/lib/media/video/upload.web.ts
···
1
-
import {AppBskyVideoDefs} from '@atproto/api'
2
-
import {BskyAgent} from '@atproto/api'
3
-
import {I18n} from '@lingui/core'
1
+
import {type AppBskyVideoDefs} from '@atproto/api'
2
+
import {type BskyAgent} from '@atproto/api'
3
+
import {type I18n} from '@lingui/core'
4
4
import {msg} from '@lingui/macro'
5
5
import {nanoid} from 'nanoid/non-secure'
6
6
7
7
import {AbortError} from '#/lib/async/cancelable'
8
8
import {ServerError} from '#/lib/media/video/errors'
9
-
import {CompressedVideo} from '#/lib/media/video/types'
9
+
import {type CompressedVideo} from '#/lib/media/video/types'
10
10
import {getServiceAuthToken, getVideoUploadLimits} from './upload.shared'
11
11
import {createVideoEndpointUrl, mimeToExt} from './util'
12
12
+1
-1
src/lib/media/video/util.ts
+1
-1
src/lib/media/video/util.ts
+1
-1
src/lib/moderation/blocked-and-muted.ts
+1
-1
src/lib/moderation/blocked-and-muted.ts
+4
-1
src/lib/moderation/useLabelBehaviorDescription.ts
+4
-1
src/lib/moderation/useLabelBehaviorDescription.ts
+4
-4
src/lib/moderation/useLabelInfo.ts
+4
-4
src/lib/moderation/useLabelInfo.ts
···
1
1
import {
2
-
AppBskyLabelerDefs,
3
-
ComAtprotoLabelDefs,
4
-
InterpretedLabelValueDefinition,
2
+
type AppBskyLabelerDefs,
3
+
type ComAtprotoLabelDefs,
4
+
type InterpretedLabelValueDefinition,
5
5
interpretLabelValueDefinition,
6
6
LABELS,
7
7
} from '@atproto/api'
···
9
9
import * as bcp47Match from 'bcp-47-match'
10
10
11
11
import {
12
-
GlobalLabelStrings,
12
+
type GlobalLabelStrings,
13
13
useGlobalLabelStrings,
14
14
} from '#/lib/moderation/useGlobalLabelStrings'
15
15
import {useLabelDefinitions} from '#/state/preferences'
+4
-3
src/lib/react-query.tsx
+4
-3
src/lib/react-query.tsx
···
1
-
import React, {useRef, useState} from 'react'
2
-
import {AppState, AppStateStatus} from 'react-native'
1
+
import {useRef, useState} from 'react'
2
+
import {AppState, type AppStateStatus} from 'react-native'
3
3
import AsyncStorage from '@react-native-async-storage/async-storage'
4
4
import {createAsyncStoragePersister} from '@tanstack/query-async-storage-persister'
5
5
import {focusManager, onlineManager, QueryClient} from '@tanstack/react-query'
6
6
import {
7
7
PersistQueryClientProvider,
8
-
PersistQueryClientProviderProps,
8
+
type PersistQueryClientProviderProps,
9
9
} from '@tanstack/react-query-persist-client'
10
+
import type React from 'react'
10
11
11
12
import {isNative} from '#/platform/detection'
12
13
import {listenNetworkConfirmed, listenNetworkLost} from '#/state/events'
+2
-2
src/lib/routes/helpers.ts
+2
-2
src/lib/routes/helpers.ts
···
1
-
import {NavigationProp} from '@react-navigation/native'
1
+
import {type NavigationProp} from '@react-navigation/native'
2
2
3
-
import {RouteParams, State} from './types'
3
+
import {type RouteParams, type State} from './types'
4
4
5
5
export function getRootNavigation<T extends {}>(
6
6
nav: NavigationProp<T>,
+1
-1
src/lib/strings/display-names.ts
+1
-1
src/lib/strings/display-names.ts
+1
-1
src/lib/strings/rich-text-helpers.ts
+1
-1
src/lib/strings/rich-text-helpers.ts
+1
-1
src/lib/strings/rich-text-manip.ts
+1
-1
src/lib/strings/rich-text-manip.ts
+1
-1
src/lib/strings/time.ts
+1
-1
src/lib/strings/time.ts
+1
-1
src/lib/themes.ts
+1
-1
src/lib/themes.ts
···
4
4
import {darkPalette, dimPalette, lightPalette} from '#/alf/themes'
5
5
import {fontWeight} from '#/alf/tokens'
6
6
import {colors} from './styles'
7
-
import type {Theme} from './ThemeContext'
7
+
import {type Theme} from './ThemeContext'
8
8
9
9
export const defaultTheme: Theme = {
10
10
colorScheme: 'light',
+1
-1
src/locale/deviceLocales.ts
+1
-1
src/locale/deviceLocales.ts
+1
-1
src/locale/i18nProvider.tsx
+1
-1
src/locale/i18nProvider.tsx
+1
-1
src/logger/__tests__/logDump.test.ts
+1
-1
src/logger/__tests__/logDump.test.ts
+1
-1
src/logger/logDump.ts
+1
-1
src/logger/logDump.ts
+1
-1
src/logger/transports/bitdrift.ts
+1
-1
src/logger/transports/bitdrift.ts
+1
-1
src/logger/transports/console.ts
+1
-1
src/logger/transports/console.ts
+1
-1
src/logger/util.ts
+1
-1
src/logger/util.ts
+1
-1
src/screens/Home/NoFeedsPinned.tsx
+1
-1
src/screens/Home/NoFeedsPinned.tsx
···
6
6
7
7
import {DISCOVER_SAVED_FEED, TIMELINE_SAVED_FEED} from '#/lib/constants'
8
8
import {useOverwriteSavedFeedsMutation} from '#/state/queries/preferences'
9
-
import {UsePreferencesQueryResponse} from '#/state/queries/preferences'
9
+
import {type UsePreferencesQueryResponse} from '#/state/queries/preferences'
10
10
import {CenteredView} from '#/view/com/util/Views'
11
11
import {atoms as a} from '#/alf'
12
12
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+1
-1
src/screens/List/ListHiddenScreen.tsx
+1
-1
src/screens/List/ListHiddenScreen.tsx
···
11
11
import {RQKEY_ROOT as listQueryRoot} from '#/state/queries/list'
12
12
import {useListBlockMutation, useListMuteMutation} from '#/state/queries/list'
13
13
import {
14
-
UsePreferencesQueryResponse,
14
+
type UsePreferencesQueryResponse,
15
15
useRemoveFeedMutation,
16
16
} from '#/state/queries/preferences'
17
17
import {useSession} from '#/state/session'
+1
-1
src/screens/Login/ChooseAccountForm.tsx
+1
-1
src/screens/Login/ChooseAccountForm.tsx
···
5
5
6
6
import {logEvent} from '#/lib/statsig/statsig'
7
7
import {logger} from '#/logger'
8
-
import {SessionAccount, useSession, useSessionApi} from '#/state/session'
8
+
import {type SessionAccount, useSession, useSessionApi} from '#/state/session'
9
9
import {useLoggedOutViewControls} from '#/state/shell/logged-out'
10
10
import * as Toast from '#/view/com/util/Toast'
11
11
import {atoms as a} from '#/alf'
+1
-1
src/screens/Login/FormContainer.tsx
+1
-1
src/screens/Login/FormContainer.tsx
+2
-2
src/screens/Login/ScreenTransition.tsx
+2
-2
src/screens/Login/ScreenTransition.tsx
···
1
-
import React from 'react'
2
-
import {StyleProp, ViewStyle} from 'react-native'
1
+
import {type StyleProp, type ViewStyle} from 'react-native'
3
2
import Animated, {FadeInRight, FadeOutLeft} from 'react-native-reanimated'
3
+
import type React from 'react'
4
4
5
5
export function ScreenTransition({
6
6
style,
+1
-1
src/screens/Messages/components/ChatStatusInfo.tsx
+1
-1
src/screens/Messages/components/ChatStatusInfo.tsx
···
3
3
import {msg} from '@lingui/macro'
4
4
import {useLingui} from '@lingui/react'
5
5
6
-
import {ActiveConvoStates} from '#/state/messages/convo'
6
+
import {type ActiveConvoStates} from '#/state/messages/convo'
7
7
import {useModerationOpts} from '#/state/preferences/moderation-opts'
8
8
import {useSession} from '#/state/session'
9
9
import {atoms as a, useTheme} from '#/alf'
+5
-2
src/screens/Messages/components/MessageInputEmbed.tsx
+5
-2
src/screens/Messages/components/MessageInputEmbed.tsx
···
9
9
} from '@atproto/api'
10
10
import {msg} from '@lingui/macro'
11
11
import {useLingui} from '@lingui/react'
12
-
import {RouteProp, useNavigation, useRoute} from '@react-navigation/native'
12
+
import {type RouteProp, useNavigation, useRoute} from '@react-navigation/native'
13
13
14
14
import {makeProfileLink} from '#/lib/routes/links'
15
-
import {CommonNavigatorParams, NavigationProp} from '#/lib/routes/types'
15
+
import {
16
+
type CommonNavigatorParams,
17
+
type NavigationProp,
18
+
} from '#/lib/routes/types'
16
19
import {
17
20
convertBskyAppUrlIfNeeded,
18
21
isBskyPostUrl,
+1
-1
src/screens/Messages/components/MessageListError.tsx
+1
-1
src/screens/Messages/components/MessageListError.tsx
···
3
3
import {msg} from '@lingui/macro'
4
4
import {useLingui} from '@lingui/react'
5
5
6
-
import {ConvoItem, ConvoItemError} from '#/state/messages/convo/types'
6
+
import {type ConvoItem, ConvoItemError} from '#/state/messages/convo/types'
7
7
import {atoms as a, useTheme} from '#/alf'
8
8
import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo'
9
9
import {InlineLinkText} from '#/components/Link'
+1
-1
src/screens/ModerationInteractionSettings/index.tsx
+1
-1
src/screens/ModerationInteractionSettings/index.tsx
+1
-1
src/screens/Onboarding/StepInterests/InterestButton.tsx
+1
-1
src/screens/Onboarding/StepInterests/InterestButton.tsx
+1
-1
src/screens/Onboarding/StepProfile/AvatarCreatorCircle.tsx
+1
-1
src/screens/Onboarding/StepProfile/AvatarCreatorCircle.tsx
···
1
1
import React from 'react'
2
2
import {View} from 'react-native'
3
3
4
-
import {Avatar} from '#/screens/Onboarding/StepProfile/index'
4
+
import {type Avatar} from '#/screens/Onboarding/StepProfile/index'
5
5
import {atoms as a, useTheme} from '#/alf'
6
6
7
7
export function AvatarCreatorCircle({
+3
-3
src/screens/Onboarding/StepProfile/AvatarCreatorItems.tsx
+3
-3
src/screens/Onboarding/StepProfile/AvatarCreatorItems.tsx
···
3
3
import {msg, Trans} from '@lingui/macro'
4
4
import {useLingui} from '@lingui/react'
5
5
6
-
import {Avatar} from '#/screens/Onboarding/StepProfile/index'
6
+
import {type Avatar} from '#/screens/Onboarding/StepProfile/index'
7
7
import {
8
-
AvatarColor,
8
+
type AvatarColor,
9
9
avatarColors,
10
10
emojiItems,
11
-
EmojiName,
11
+
type EmojiName,
12
12
emojiNames,
13
13
} from '#/screens/Onboarding/StepProfile/types'
14
14
import {atoms as a, useTheme} from '#/alf'
+4
-1
src/screens/Post/PostLikedBy.tsx
+4
-1
src/screens/Post/PostLikedBy.tsx
···
2
2
import {Plural, Trans} from '@lingui/macro'
3
3
import {useFocusEffect} from '@react-navigation/native'
4
4
5
-
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
5
+
import {
6
+
type CommonNavigatorParams,
7
+
type NativeStackScreenProps,
8
+
} from '#/lib/routes/types'
6
9
import {makeRecordUri} from '#/lib/strings/url-helpers'
7
10
import {usePostThreadQuery} from '#/state/queries/post-thread'
8
11
import {useSetMinimalShellMode} from '#/state/shell'
+4
-1
src/screens/Post/PostQuotes.tsx
+4
-1
src/screens/Post/PostQuotes.tsx
···
2
2
import {Plural, Trans} from '@lingui/macro'
3
3
import {useFocusEffect} from '@react-navigation/native'
4
4
5
-
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
5
+
import {
6
+
type CommonNavigatorParams,
7
+
type NativeStackScreenProps,
8
+
} from '#/lib/routes/types'
6
9
import {makeRecordUri} from '#/lib/strings/url-helpers'
7
10
import {usePostThreadQuery} from '#/state/queries/post-thread'
8
11
import {useSetMinimalShellMode} from '#/state/shell'
+4
-1
src/screens/Post/PostRepostedBy.tsx
+4
-1
src/screens/Post/PostRepostedBy.tsx
···
2
2
import {Plural, Trans} from '@lingui/macro'
3
3
import {useFocusEffect} from '@react-navigation/native'
4
4
5
-
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
5
+
import {
6
+
type CommonNavigatorParams,
7
+
type NativeStackScreenProps,
8
+
} from '#/lib/routes/types'
6
9
import {makeRecordUri} from '#/lib/strings/url-helpers'
7
10
import {usePostThreadQuery} from '#/state/queries/post-thread'
8
11
import {useSetMinimalShellMode} from '#/state/shell'
+1
-1
src/screens/Profile/ErrorState.tsx
+1
-1
src/screens/Profile/ErrorState.tsx
···
4
4
import {useLingui} from '@lingui/react'
5
5
import {useNavigation} from '@react-navigation/native'
6
6
7
-
import {NavigationProp} from '#/lib/routes/types'
7
+
import {type NavigationProp} from '#/lib/routes/types'
8
8
import {atoms as a, useTheme} from '#/alf'
9
9
import {Button, ButtonText} from '#/components/Button'
10
10
import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo'
+2
-2
src/screens/Profile/Header/DisplayName.tsx
+2
-2
src/screens/Profile/Header/DisplayName.tsx
···
1
1
import {View} from 'react-native'
2
-
import {AppBskyActorDefs, ModerationDecision} from '@atproto/api'
2
+
import {type AppBskyActorDefs, type ModerationDecision} from '@atproto/api'
3
3
4
4
import {sanitizeDisplayName} from '#/lib/strings/display-names'
5
5
import {sanitizeHandle} from '#/lib/strings/handles'
6
-
import {Shadow} from '#/state/cache/types'
6
+
import {type Shadow} from '#/state/cache/types'
7
7
import {atoms as a, useBreakpoints, useTheme} from '#/alf'
8
8
import {Text} from '#/components/Typography'
9
9
+3
-3
src/screens/Profile/Header/GrowableAvatar.tsx
+3
-3
src/screens/Profile/Header/GrowableAvatar.tsx
···
1
-
import React from 'react'
2
-
import {StyleProp, View, ViewStyle} from 'react-native'
1
+
import {type StyleProp, View, type ViewStyle} from 'react-native'
3
2
import Animated, {
4
3
Extrapolation,
5
4
interpolate,
6
-
SharedValue,
5
+
type SharedValue,
7
6
useAnimatedStyle,
8
7
} from 'react-native-reanimated'
8
+
import type React from 'react'
9
9
10
10
import {isIOS} from '#/platform/detection'
11
11
import {usePagerHeaderContext} from '#/view/com/pager/PagerHeaderContext'
+3
-2
src/screens/Profile/Header/GrowableBanner.tsx
+3
-2
src/screens/Profile/Header/GrowableBanner.tsx
···
1
-
import React, {useEffect, useState} from 'react'
1
+
import {useEffect, useState} from 'react'
2
2
import {View} from 'react-native'
3
3
import {ActivityIndicator} from 'react-native'
4
4
import Animated, {
5
5
Extrapolation,
6
6
interpolate,
7
7
runOnJS,
8
-
SharedValue,
8
+
type SharedValue,
9
9
useAnimatedProps,
10
10
useAnimatedReaction,
11
11
useAnimatedStyle,
···
13
13
import {useSafeAreaInsets} from 'react-native-safe-area-context'
14
14
import {BlurView} from 'expo-blur'
15
15
import {useIsFetching} from '@tanstack/react-query'
16
+
import type React from 'react'
16
17
17
18
import {isIOS} from '#/platform/detection'
18
19
import {RQKEY_ROOT as STARTERPACK_RQKEY_ROOT} from '#/state/queries/actor-starter-packs'
+2
-2
src/screens/Profile/Header/Metrics.tsx
+2
-2
src/screens/Profile/Header/Metrics.tsx
···
1
1
import {View} from 'react-native'
2
-
import {AppBskyActorDefs} from '@atproto/api'
2
+
import {type AppBskyActorDefs} from '@atproto/api'
3
3
import {msg, plural} from '@lingui/macro'
4
4
import {useLingui} from '@lingui/react'
5
5
6
6
import {makeProfileLink} from '#/lib/routes/links'
7
-
import {Shadow} from '#/state/cache/types'
7
+
import {type Shadow} from '#/state/cache/types'
8
8
import {formatCount} from '#/view/com/util/numeric/format'
9
9
import {atoms as a, useTheme} from '#/alf'
10
10
import {InlineLinkText} from '#/components/Link'
+4
-1
src/screens/Profile/Header/StatusBarShadow.tsx
+4
-1
src/screens/Profile/Header/StatusBarShadow.tsx
···
1
-
import Animated, {SharedValue, useAnimatedStyle} from 'react-native-reanimated'
1
+
import Animated, {
2
+
type SharedValue,
3
+
useAnimatedStyle,
4
+
} from 'react-native-reanimated'
2
5
import {useSafeAreaInsets} from 'react-native-safe-area-context'
3
6
import {LinearGradient} from 'expo-linear-gradient'
4
7
+5
-5
src/screens/Profile/Header/index.tsx
+5
-5
src/screens/Profile/Header/index.tsx
···
1
1
import React, {memo, useState} from 'react'
2
-
import {LayoutChangeEvent, StyleSheet, View} from 'react-native'
2
+
import {type LayoutChangeEvent, StyleSheet, View} from 'react-native'
3
3
import Animated, {
4
4
runOnJS,
5
5
useAnimatedReaction,
···
8
8
} from 'react-native-reanimated'
9
9
import {useSafeAreaInsets} from 'react-native-safe-area-context'
10
10
import {
11
-
AppBskyActorDefs,
12
-
AppBskyLabelerDefs,
13
-
ModerationOpts,
14
-
RichText as RichTextAPI,
11
+
type AppBskyActorDefs,
12
+
type AppBskyLabelerDefs,
13
+
type ModerationOpts,
14
+
type RichText as RichTextAPI,
15
15
} from '@atproto/api'
16
16
import {useIsFocused} from '@react-navigation/native'
17
17
+5
-2
src/screens/Profile/KnownFollowers.tsx
+5
-2
src/screens/Profile/KnownFollowers.tsx
···
1
1
import React from 'react'
2
-
import {AppBskyActorDefs} from '@atproto/api'
2
+
import {type AppBskyActorDefs} from '@atproto/api'
3
3
import {msg} from '@lingui/macro'
4
4
import {useLingui} from '@lingui/react'
5
5
import {useFocusEffect} from '@react-navigation/native'
6
6
7
7
import {useInitialNumToRender} from '#/lib/hooks/useInitialNumToRender'
8
-
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
8
+
import {
9
+
type CommonNavigatorParams,
10
+
type NativeStackScreenProps,
11
+
} from '#/lib/routes/types'
9
12
import {cleanError} from '#/lib/strings/errors'
10
13
import {logger} from '#/logger'
11
14
import {useProfileKnownFollowersQuery} from '#/state/queries/known-followers'
+4
-1
src/screens/Profile/ProfileFollowers.tsx
+4
-1
src/screens/Profile/ProfileFollowers.tsx
···
2
2
import {Plural} from '@lingui/macro'
3
3
import {useFocusEffect} from '@react-navigation/native'
4
4
5
-
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
5
+
import {
6
+
type CommonNavigatorParams,
7
+
type NativeStackScreenProps,
8
+
} from '#/lib/routes/types'
6
9
import {sanitizeDisplayName} from '#/lib/strings/display-names'
7
10
import {useProfileQuery} from '#/state/queries/profile'
8
11
import {useResolveDidQuery} from '#/state/queries/resolve-uri'
+4
-1
src/screens/Profile/ProfileFollows.tsx
+4
-1
src/screens/Profile/ProfileFollows.tsx
···
2
2
import {Plural} from '@lingui/macro'
3
3
import {useFocusEffect} from '@react-navigation/native'
4
4
5
-
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
5
+
import {
6
+
type CommonNavigatorParams,
7
+
type NativeStackScreenProps,
8
+
} from '#/lib/routes/types'
6
9
import {sanitizeDisplayName} from '#/lib/strings/display-names'
7
10
import {useProfileQuery} from '#/state/queries/profile'
8
11
import {useResolveDidQuery} from '#/state/queries/resolve-uri'
+4
-1
src/screens/Profile/ProfileLabelerLikedBy.tsx
+4
-1
src/screens/Profile/ProfileLabelerLikedBy.tsx
···
3
3
import {useLingui} from '@lingui/react'
4
4
import {useFocusEffect} from '@react-navigation/native'
5
5
6
-
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
6
+
import {
7
+
type CommonNavigatorParams,
8
+
type NativeStackScreenProps,
9
+
} from '#/lib/routes/types'
7
10
import {makeRecordUri} from '#/lib/strings/url-helpers'
8
11
import {useSetMinimalShellMode} from '#/state/shell'
9
12
import {ViewHeader} from '#/view/com/util/ViewHeader'
+1
-1
src/screens/Settings/AppIconSettings/AppIconImage.tsx
+1
-1
src/screens/Settings/AppIconSettings/AppIconImage.tsx
+1
-1
src/screens/Settings/components/AddAppPasswordDialog.tsx
+1
-1
src/screens/Settings/components/AddAppPasswordDialog.tsx
···
8
8
SlideInRight,
9
9
SlideOutLeft,
10
10
} from 'react-native-reanimated'
11
-
import {ComAtprotoServerCreateAppPassword} from '@atproto/api'
11
+
import {type ComAtprotoServerCreateAppPassword} from '@atproto/api'
12
12
import {msg, Trans} from '@lingui/macro'
13
13
import {useLingui} from '@lingui/react'
14
14
import {useMutation} from '@tanstack/react-query'
+2
-2
src/screens/Settings/components/CopyButton.tsx
+2
-2
src/screens/Settings/components/CopyButton.tsx
···
1
1
import {useCallback, useEffect, useState} from 'react'
2
-
import {GestureResponderEvent, View} from 'react-native'
2
+
import {type GestureResponderEvent, View} from 'react-native'
3
3
import Animated, {
4
4
FadeOutUp,
5
5
useReducedMotion,
···
9
9
import {Trans} from '@lingui/macro'
10
10
11
11
import {atoms as a, useTheme} from '#/alf'
12
-
import {Button, ButtonProps} from '#/components/Button'
12
+
import {Button, type ButtonProps} from '#/components/Button'
13
13
import {Text} from '#/components/Typography'
14
14
15
15
export function CopyButton({
+1
-1
src/screens/Settings/components/DeactivateAccountDialog.tsx
+1
-1
src/screens/Settings/components/DeactivateAccountDialog.tsx
···
7
7
import {useAgent, useSessionApi} from '#/state/session'
8
8
import {atoms as a, useBreakpoints, useTheme} from '#/alf'
9
9
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
10
-
import {DialogOuterProps} from '#/components/Dialog'
10
+
import {type DialogOuterProps} from '#/components/Dialog'
11
11
import {Divider} from '#/components/Divider'
12
12
import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo'
13
13
import {Loader} from '#/components/Loader'
+1
-1
src/screens/Settings/components/PwiOptOut.tsx
+1
-1
src/screens/Settings/components/PwiOptOut.tsx
+2
-2
src/screens/StarterPack/Wizard/StepFeeds.tsx
+2
-2
src/screens/StarterPack/Wizard/StepFeeds.tsx
···
1
1
import {useState} from 'react'
2
-
import {ListRenderItemInfo, View} from 'react-native'
2
+
import {type ListRenderItemInfo, View} from 'react-native'
3
3
import {KeyboardAwareScrollView} from 'react-native-keyboard-controller'
4
-
import {AppBskyFeedDefs, ModerationOpts} from '@atproto/api'
4
+
import {type AppBskyFeedDefs, type ModerationOpts} from '@atproto/api'
5
5
import {Trans} from '@lingui/macro'
6
6
7
7
import {DISCOVER_FEED_URI} from '#/lib/constants'
+3
-3
src/screens/StarterPack/Wizard/StepProfiles.tsx
+3
-3
src/screens/StarterPack/Wizard/StepProfiles.tsx
···
1
1
import {useState} from 'react'
2
-
import {ListRenderItemInfo, View} from 'react-native'
2
+
import {type ListRenderItemInfo, View} from 'react-native'
3
3
import {KeyboardAwareScrollView} from 'react-native-keyboard-controller'
4
-
import {AppBskyActorDefs, ModerationOpts} from '@atproto/api'
4
+
import {type AppBskyActorDefs, type ModerationOpts} from '@atproto/api'
5
5
import {Trans} from '@lingui/macro'
6
6
7
7
import {isNative} from '#/platform/detection'
···
16
16
import {ScreenTransition} from '#/components/StarterPack/Wizard/ScreenTransition'
17
17
import {WizardProfileCard} from '#/components/StarterPack/Wizard/WizardListCard'
18
18
import {Text} from '#/components/Typography'
19
-
import * as bsky from '#/types/bsky'
19
+
import type * as bsky from '#/types/bsky'
20
20
21
21
function keyExtractor(item: AppBskyActorDefs.ProfileViewBasic) {
22
22
return item?.did ?? ''
+4
-4
src/screens/VideoFeed/components/Header.tsx
+4
-4
src/screens/VideoFeed/components/Header.tsx
···
1
1
import {useCallback} from 'react'
2
-
import {GestureResponderEvent, View} from 'react-native'
2
+
import {type GestureResponderEvent, View} from 'react-native'
3
3
import {msg} from '@lingui/macro'
4
4
import {useLingui} from '@lingui/react'
5
5
import {useNavigation} from '@react-navigation/native'
6
6
7
7
import {HITSLOP_30} from '#/lib/constants'
8
-
import {NavigationProp} from '#/lib/routes/types'
8
+
import {type NavigationProp} from '#/lib/routes/types'
9
9
import {sanitizeHandle} from '#/lib/strings/handles'
10
10
import {useFeedSourceInfoQuery} from '#/state/queries/feed'
11
11
import {UserAvatar} from '#/view/com/util/UserAvatar'
12
-
import {VideoFeedSourceContext} from '#/screens/VideoFeed/types'
12
+
import {type VideoFeedSourceContext} from '#/screens/VideoFeed/types'
13
13
import {atoms as a, useBreakpoints} from '#/alf'
14
-
import {Button, ButtonProps} from '#/components/Button'
14
+
import {Button, type ButtonProps} from '#/components/Button'
15
15
import {ArrowLeft_Stroke2_Corner0_Rounded as ArrowLeft} from '#/components/icons/Arrow'
16
16
import * as Layout from '#/components/Layout'
17
17
import {BUTTON_VISUAL_ALIGNMENT_OFFSET} from '#/components/Layout/const'
+1
-1
src/screens/VideoFeed/types.ts
+1
-1
src/screens/VideoFeed/types.ts
+5
-5
src/state/messages/convo/util.ts
+5
-5
src/state/messages/convo/util.ts
···
1
1
import {
2
-
ConvoState,
3
-
ConvoStateBackgrounded,
4
-
ConvoStateDisabled,
5
-
ConvoStateReady,
6
-
ConvoStateSuspended,
2
+
type ConvoState,
3
+
type ConvoStateBackgrounded,
4
+
type ConvoStateDisabled,
5
+
type ConvoStateReady,
6
+
type ConvoStateSuspended,
7
7
ConvoStatus,
8
8
} from './types'
9
9
+1
-1
src/state/messages/events/types.ts
+1
-1
src/state/messages/events/types.ts
+1
-1
src/state/messages/index.tsx
+1
-1
src/state/messages/index.tsx
+2
-2
src/state/persisted/index.web.ts
+2
-2
src/state/persisted/index.web.ts
···
4
4
import {logger} from '#/logger'
5
5
import {
6
6
defaults,
7
-
Schema,
7
+
type Schema,
8
8
tryParse,
9
9
tryStringify,
10
10
} from '#/state/persisted/schema'
11
-
import {PersistedApi} from './types'
11
+
import {type PersistedApi} from './types'
12
12
import {normalizeData} from './util'
13
13
14
14
export type {PersistedAccount, Schema} from '#/state/persisted/schema'
+1
-1
src/state/persisted/types.ts
+1
-1
src/state/persisted/types.ts
+1
-1
src/state/persisted/util.ts
+1
-1
src/state/persisted/util.ts
+1
-1
src/state/preferences/index.tsx
+1
-1
src/state/preferences/index.tsx
+5
-1
src/state/queries/actor-autocomplete.ts
+5
-1
src/state/queries/actor-autocomplete.ts
···
1
1
import React from 'react'
2
-
import {AppBskyActorDefs, moderateProfile, ModerationOpts} from '@atproto/api'
2
+
import {
3
+
type AppBskyActorDefs,
4
+
moderateProfile,
5
+
type ModerationOpts,
6
+
} from '@atproto/api'
3
7
import {keepPreviousData, useQuery, useQueryClient} from '@tanstack/react-query'
4
8
5
9
import {isJustAMute, moduiContainsHideableOffense} from '#/lib/moderation'
+1
-1
src/state/queries/app-passwords.ts
+1
-1
src/state/queries/app-passwords.ts
+1
-1
src/state/queries/invites.ts
+1
-1
src/state/queries/invites.ts
+7
-4
src/state/queries/known-followers.ts
+7
-4
src/state/queries/known-followers.ts
···
1
-
import {AppBskyActorDefs, AppBskyGraphGetKnownFollowers} from '@atproto/api'
2
1
import {
3
-
InfiniteData,
4
-
QueryClient,
5
-
QueryKey,
2
+
type AppBskyActorDefs,
3
+
type AppBskyGraphGetKnownFollowers,
4
+
} from '@atproto/api'
5
+
import {
6
+
type InfiniteData,
7
+
type QueryClient,
8
+
type QueryKey,
6
9
useInfiniteQuery,
7
10
} from '@tanstack/react-query'
8
11
+4
-4
src/state/queries/my-blocked-accounts.ts
+4
-4
src/state/queries/my-blocked-accounts.ts
···
1
-
import {AppBskyActorDefs, AppBskyGraphGetBlocks} from '@atproto/api'
1
+
import {type AppBskyActorDefs, type AppBskyGraphGetBlocks} from '@atproto/api'
2
2
import {
3
-
InfiniteData,
4
-
QueryClient,
5
-
QueryKey,
3
+
type InfiniteData,
4
+
type QueryClient,
5
+
type QueryKey,
6
6
useInfiniteQuery,
7
7
} from '@tanstack/react-query'
8
8
+2
-2
src/state/queries/my-lists.ts
+2
-2
src/state/queries/my-lists.ts
···
1
-
import {AppBskyGraphDefs} from '@atproto/api'
2
-
import {QueryClient, useQuery} from '@tanstack/react-query'
1
+
import {type AppBskyGraphDefs} from '@atproto/api'
2
+
import {type QueryClient, useQuery} from '@tanstack/react-query'
3
3
4
4
import {accumulate} from '#/lib/async/accumulate'
5
5
import {STALE} from '#/state/queries'
+4
-4
src/state/queries/my-muted-accounts.ts
+4
-4
src/state/queries/my-muted-accounts.ts
···
1
-
import {AppBskyActorDefs, AppBskyGraphGetMutes} from '@atproto/api'
1
+
import {type AppBskyActorDefs, type AppBskyGraphGetMutes} from '@atproto/api'
2
2
import {
3
-
InfiniteData,
4
-
QueryClient,
5
-
QueryKey,
3
+
type InfiniteData,
4
+
type QueryClient,
5
+
type QueryKey,
6
6
useInfiniteQuery,
7
7
} from '@tanstack/react-query'
8
8
+1
-1
src/state/queries/nuxs/types.ts
+1
-1
src/state/queries/nuxs/types.ts
+3
-3
src/state/queries/nuxs/util.ts
+3
-3
src/state/queries/nuxs/util.ts
+1
-1
src/state/queries/post-interaction-settings.ts
+1
-1
src/state/queries/post-interaction-settings.ts
+4
-4
src/state/queries/post-liked-by.ts
+4
-4
src/state/queries/post-liked-by.ts
···
1
-
import {AppBskyActorDefs, AppBskyFeedGetLikes} from '@atproto/api'
1
+
import {type AppBskyActorDefs, type AppBskyFeedGetLikes} from '@atproto/api'
2
2
import {
3
-
InfiniteData,
4
-
QueryClient,
5
-
QueryKey,
3
+
type InfiniteData,
4
+
type QueryClient,
5
+
type QueryKey,
6
6
useInfiniteQuery,
7
7
} from '@tanstack/react-query'
8
8
+6
-6
src/state/queries/post-quotes.ts
+6
-6
src/state/queries/post-quotes.ts
···
1
1
import {
2
-
AppBskyActorDefs,
2
+
type AppBskyActorDefs,
3
3
AppBskyEmbedRecord,
4
-
AppBskyFeedDefs,
5
-
AppBskyFeedGetQuotes,
4
+
type AppBskyFeedDefs,
5
+
type AppBskyFeedGetQuotes,
6
6
AtUri,
7
7
} from '@atproto/api'
8
8
import {
9
-
InfiniteData,
10
-
QueryClient,
11
-
QueryKey,
9
+
type InfiniteData,
10
+
type QueryClient,
11
+
type QueryKey,
12
12
useInfiniteQuery,
13
13
} from '@tanstack/react-query'
14
14
+7
-4
src/state/queries/post-reposted-by.ts
+7
-4
src/state/queries/post-reposted-by.ts
···
1
-
import {AppBskyActorDefs, AppBskyFeedGetRepostedBy} from '@atproto/api'
2
1
import {
3
-
InfiniteData,
4
-
QueryClient,
5
-
QueryKey,
2
+
type AppBskyActorDefs,
3
+
type AppBskyFeedGetRepostedBy,
4
+
} from '@atproto/api'
5
+
import {
6
+
type InfiniteData,
7
+
type QueryClient,
8
+
type QueryKey,
6
9
useInfiniteQuery,
7
10
} from '@tanstack/react-query'
8
11
+3
-3
src/state/queries/preferences/types.ts
+3
-3
src/state/queries/preferences/types.ts
+9
-2
src/state/queries/profile-feedgens.ts
+9
-2
src/state/queries/profile-feedgens.ts
···
1
-
import {AppBskyFeedGetActorFeeds, moderateFeedGenerator} from '@atproto/api'
2
-
import {InfiniteData, QueryKey, useInfiniteQuery} from '@tanstack/react-query'
1
+
import {
2
+
type AppBskyFeedGetActorFeeds,
3
+
moderateFeedGenerator,
4
+
} from '@atproto/api'
5
+
import {
6
+
type InfiniteData,
7
+
type QueryKey,
8
+
useInfiniteQuery,
9
+
} from '@tanstack/react-query'
3
10
4
11
import {useAgent} from '#/state/session'
5
12
import {useModerationOpts} from '../preferences/moderation-opts'
+7
-4
src/state/queries/profile-followers.ts
+7
-4
src/state/queries/profile-followers.ts
···
1
-
import {AppBskyActorDefs, AppBskyGraphGetFollowers} from '@atproto/api'
2
1
import {
3
-
InfiniteData,
4
-
QueryClient,
5
-
QueryKey,
2
+
type AppBskyActorDefs,
3
+
type AppBskyGraphGetFollowers,
4
+
} from '@atproto/api'
5
+
import {
6
+
type InfiniteData,
7
+
type QueryClient,
8
+
type QueryKey,
6
9
useInfiniteQuery,
7
10
} from '@tanstack/react-query'
8
11
+4
-4
src/state/queries/profile-follows.ts
+4
-4
src/state/queries/profile-follows.ts
···
1
-
import {AppBskyActorDefs, AppBskyGraphGetFollows} from '@atproto/api'
1
+
import {type AppBskyActorDefs, type AppBskyGraphGetFollows} from '@atproto/api'
2
2
import {
3
-
InfiniteData,
4
-
QueryClient,
5
-
QueryKey,
3
+
type InfiniteData,
4
+
type QueryClient,
5
+
type QueryKey,
6
6
useInfiniteQuery,
7
7
} from '@tanstack/react-query'
8
8
+6
-2
src/state/queries/profile-lists.ts
+6
-2
src/state/queries/profile-lists.ts
···
1
-
import {AppBskyGraphGetLists, moderateUserList} from '@atproto/api'
2
-
import {InfiniteData, QueryKey, useInfiniteQuery} from '@tanstack/react-query'
1
+
import {type AppBskyGraphGetLists, moderateUserList} from '@atproto/api'
2
+
import {
3
+
type InfiniteData,
4
+
type QueryKey,
5
+
useInfiniteQuery,
6
+
} from '@tanstack/react-query'
3
7
4
8
import {useAgent} from '#/state/session'
5
9
import {useModerationOpts} from '../preferences/moderation-opts'
+4
-4
src/state/queries/resolve-link.ts
+4
-4
src/state/queries/resolve-link.ts
···
1
-
import {QueryClient, useQuery} from '@tanstack/react-query'
1
+
import {type QueryClient, useQuery} from '@tanstack/react-query'
2
2
3
3
import {STALE} from '#/state/queries/index'
4
4
import {useAgent} from '../session'
···
9
9
const RQKEY_GIF_ROOT = 'resolve-gif'
10
10
export const RQKEY_GIF = (url: string) => [RQKEY_GIF_ROOT, url]
11
11
12
-
import {BskyAgent} from '@atproto/api'
12
+
import {type BskyAgent} from '@atproto/api'
13
13
14
-
import {ResolvedLink, resolveGif, resolveLink} from '#/lib/api/resolve'
15
-
import {Gif} from './tenor'
14
+
import {type ResolvedLink, resolveGif, resolveLink} from '#/lib/api/resolve'
15
+
import {type Gif} from './tenor'
16
16
17
17
export function useResolveLinkQuery(url: string) {
18
18
const agent = useAgent()
+5
-1
src/state/queries/resolve-uri.ts
+5
-1
src/state/queries/resolve-uri.ts
···
1
1
import {AtUri} from '@atproto/api'
2
-
import {QueryClient, useQuery, UseQueryResult} from '@tanstack/react-query'
2
+
import {
3
+
type QueryClient,
4
+
useQuery,
5
+
type UseQueryResult,
6
+
} from '@tanstack/react-query'
3
7
4
8
import {STALE} from '#/state/queries'
5
9
import {useAgent} from '#/state/session'
+6
-6
src/state/queries/search-posts.ts
+6
-6
src/state/queries/search-posts.ts
···
1
1
import React from 'react'
2
2
import {
3
-
AppBskyActorDefs,
4
-
AppBskyFeedDefs,
5
-
AppBskyFeedSearchPosts,
3
+
type AppBskyActorDefs,
4
+
type AppBskyFeedDefs,
5
+
type AppBskyFeedSearchPosts,
6
6
AtUri,
7
7
moderatePost,
8
8
} from '@atproto/api'
9
9
import {
10
-
InfiniteData,
11
-
QueryClient,
12
-
QueryKey,
10
+
type InfiniteData,
11
+
type QueryClient,
12
+
type QueryKey,
13
13
useInfiniteQuery,
14
14
} from '@tanstack/react-query'
15
15
+6
-2
src/state/queries/suggested-feeds.ts
+6
-2
src/state/queries/suggested-feeds.ts
···
1
-
import {AppBskyFeedGetSuggestedFeeds} from '@atproto/api'
2
-
import {InfiniteData, QueryKey, useInfiniteQuery} from '@tanstack/react-query'
1
+
import {type AppBskyFeedGetSuggestedFeeds} from '@atproto/api'
2
+
import {
3
+
type InfiniteData,
4
+
type QueryKey,
5
+
useInfiniteQuery,
6
+
} from '@tanstack/react-query'
3
7
4
8
import {STALE} from '#/state/queries'
5
9
import {useAgent} from '#/state/session'
+3
-3
src/state/queries/threadgate/index.ts
+3
-3
src/state/queries/threadgate/index.ts
···
1
1
import {
2
2
AppBskyFeedDefs,
3
-
AppBskyFeedGetPostThread,
3
+
type AppBskyFeedGetPostThread,
4
4
AppBskyFeedThreadgate,
5
5
AtUri,
6
-
BskyAgent,
6
+
type BskyAgent,
7
7
} from '@atproto/api'
8
8
import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
9
9
···
11
11
import {until} from '#/lib/async/until'
12
12
import {STALE} from '#/state/queries'
13
13
import {RQKEY_ROOT as postThreadQueryKeyRoot} from '#/state/queries/post-thread'
14
-
import {ThreadgateAllowUISetting} from '#/state/queries/threadgate/types'
14
+
import {type ThreadgateAllowUISetting} from '#/state/queries/threadgate/types'
15
15
import {
16
16
createThreadgateRecord,
17
17
mergeThreadgateRecords,
+2
-2
src/state/queries/threadgate/util.ts
+2
-2
src/state/queries/threadgate/util.ts
···
1
-
import {AppBskyFeedDefs, AppBskyFeedThreadgate} from '@atproto/api'
1
+
import {type AppBskyFeedDefs, AppBskyFeedThreadgate} from '@atproto/api'
2
2
3
-
import {ThreadgateAllowUISetting} from '#/state/queries/threadgate/types'
3
+
import {type ThreadgateAllowUISetting} from '#/state/queries/threadgate/types'
4
4
import * as bsky from '#/types/bsky'
5
5
6
6
export function threadgateViewToAllowUISetting(
+2
-2
src/state/queries/unstable-profile-cache.ts
+2
-2
src/state/queries/unstable-profile-cache.ts
···
1
1
import {useCallback} from 'react'
2
-
import {QueryClient, useQueryClient} from '@tanstack/react-query'
2
+
import {type QueryClient, useQueryClient} from '@tanstack/react-query'
3
3
4
-
import * as bsky from '#/types/bsky'
4
+
import type * as bsky from '#/types/bsky'
5
5
6
6
const unstableProfileViewCacheQueryKeyRoot = 'unstableProfileViewCache'
7
7
export const unstableProfileViewCacheQueryKey = (didOrHandle: string) => [
+8
-4
src/state/queries/util.ts
+8
-4
src/state/queries/util.ts
···
1
1
import {
2
-
AppBskyActorDefs,
2
+
type AppBskyActorDefs,
3
3
AppBskyEmbedRecord,
4
4
AppBskyEmbedRecordWithMedia,
5
-
AppBskyFeedDefs,
5
+
type AppBskyFeedDefs,
6
6
AppBskyFeedPost,
7
-
AtUri,
7
+
type AtUri,
8
8
} from '@atproto/api'
9
-
import {InfiniteData, QueryClient, QueryKey} from '@tanstack/react-query'
9
+
import {
10
+
type InfiniteData,
11
+
type QueryClient,
12
+
type QueryKey,
13
+
} from '@tanstack/react-query'
10
14
11
15
import * as bsky from '#/types/bsky'
12
16
+1
-1
src/state/session/__tests__/session-test.ts
+1
-1
src/state/session/__tests__/session-test.ts
···
2
2
import {describe, expect, it, jest} from '@jest/globals'
3
3
4
4
import {agentToSessionAccountOrThrow} from '../agent'
5
-
import {Action, getInitialState, reducer, State} from '../reducer'
5
+
import {type Action, getInitialState, reducer, type State} from '../reducer'
6
6
7
7
jest.mock('jwt-decode', () => ({
8
8
jwtDecode(_token: string) {
+1
-1
src/state/session/moderation.ts
+1
-1
src/state/session/moderation.ts
···
3
3
import {IS_TEST_USER} from '#/lib/constants'
4
4
import {configureAdditionalModerationAuthorities} from './additional-moderation-authorities'
5
5
import {readLabelers} from './agent-config'
6
-
import {SessionAccount} from './types'
6
+
import {type SessionAccount} from './types'
7
7
8
8
export function configureModerationForGuest() {
9
9
// This global mutation is *only* OK because this code is only relevant for testing.
+1
-1
src/state/session/util.ts
+1
-1
src/state/session/util.ts
···
3
3
import {hasProp} from '#/lib/type-guards'
4
4
import {logger} from '#/logger'
5
5
import * as persisted from '#/state/persisted'
6
-
import {SessionAccount} from './types'
6
+
import {type SessionAccount} from './types'
7
7
8
8
export function readLastActiveAccount() {
9
9
const {currentAccount, accounts} = persisted.get('session')
+1
-1
src/state/shell/reminders.ts
+1
-1
src/state/shell/reminders.ts
···
1
1
import {simpleAreDatesEqual} from '#/lib/strings/time'
2
2
import {logger} from '#/logger'
3
3
import * as persisted from '#/state/persisted'
4
-
import {SessionAccount} from '../session'
4
+
import {type SessionAccount} from '../session'
5
5
import {isOnboardingActive} from './onboarding'
6
6
7
7
export function shouldRequestEmailConfirmation(account: SessionAccount) {
+1
-1
src/types/bsky/index.ts
+1
-1
src/types/bsky/index.ts
+1
-1
src/types/bsky/post.ts
+1
-1
src/types/bsky/post.ts
+1
-1
src/view/com/composer/AltTextCounterWrapper.tsx
+1
-1
src/view/com/composer/AltTextCounterWrapper.tsx
+1
-1
src/view/com/composer/KeyboardAccessory.tsx
+1
-1
src/view/com/composer/KeyboardAccessory.tsx
···
1
-
import React from 'react'
2
1
import {View} from 'react-native'
3
2
import {KeyboardStickyView} from 'react-native-keyboard-controller'
4
3
import {useSafeAreaInsets} from 'react-native-safe-area-context'
4
+
import type React from 'react'
5
5
6
6
import {isWeb} from '#/platform/detection'
7
7
import {atoms as a, useTheme} from '#/alf'
+6
-1
src/view/com/composer/char-progress/CharProgress.tsx
+6
-1
src/view/com/composer/char-progress/CharProgress.tsx
···
1
-
import {StyleProp, TextStyle, View, ViewStyle} from 'react-native'
1
+
import {
2
+
type StyleProp,
3
+
type TextStyle,
4
+
View,
5
+
type ViewStyle,
6
+
} from 'react-native'
2
7
// @ts-ignore no type definition -prf
3
8
import ProgressCircle from 'react-native-progress/Circle'
4
9
// @ts-ignore no type definition -prf
+1
-1
src/view/com/composer/photos/SelectGifBtn.tsx
+1
-1
src/view/com/composer/photos/SelectGifBtn.tsx
···
4
4
import {useLingui} from '@lingui/react'
5
5
6
6
import {logEvent} from '#/lib/statsig/statsig'
7
-
import {Gif} from '#/state/queries/tenor'
7
+
import {type Gif} from '#/state/queries/tenor'
8
8
import {atoms as a, useTheme} from '#/alf'
9
9
import {Button} from '#/components/Button'
10
10
import {GifSelectDialog} from '#/components/dialogs/GifSelect'
+1
-1
src/view/com/composer/text-input/text-input-util.ts
+1
-1
src/view/com/composer/text-input/text-input-util.ts
+1
-1
src/view/com/composer/text-input/web/LinkDecorator.ts
+1
-1
src/view/com/composer/text-input/web/LinkDecorator.ts
···
16
16
17
17
import {URL_REGEX} from '@atproto/api'
18
18
import {Mark} from '@tiptap/core'
19
-
import {Node as ProsemirrorNode} from '@tiptap/pm/model'
19
+
import {type Node as ProsemirrorNode} from '@tiptap/pm/model'
20
20
import {Plugin, PluginKey} from '@tiptap/pm/state'
21
21
import {Decoration, DecorationSet} from '@tiptap/pm/view'
22
22
+1
-1
src/view/com/composer/text-input/web/TagDecorator.ts
+1
-1
src/view/com/composer/text-input/web/TagDecorator.ts
···
16
16
17
17
import {TAG_REGEX, TRAILING_PUNCTUATION_REGEX} from '@atproto/api'
18
18
import {Mark} from '@tiptap/core'
19
-
import {Node as ProsemirrorNode} from '@tiptap/pm/model'
19
+
import {type Node as ProsemirrorNode} from '@tiptap/pm/model'
20
20
import {Plugin, PluginKey} from '@tiptap/pm/state'
21
21
import {Decoration, DecorationSet} from '@tiptap/pm/view'
22
22
+4
-4
src/view/com/composer/threadgate/ThreadgateBtn.tsx
+4
-4
src/view/com/composer/threadgate/ThreadgateBtn.tsx
···
1
-
import {Keyboard, StyleProp, ViewStyle} from 'react-native'
2
-
import {AnimatedStyle} from 'react-native-reanimated'
3
-
import {AppBskyFeedPostgate} from '@atproto/api'
1
+
import {Keyboard, type StyleProp, type ViewStyle} from 'react-native'
2
+
import {type AnimatedStyle} from 'react-native-reanimated'
3
+
import {type AppBskyFeedPostgate} from '@atproto/api'
4
4
import {msg} from '@lingui/macro'
5
5
import {useLingui} from '@lingui/react'
6
6
7
7
import {isNative} from '#/platform/detection'
8
-
import {ThreadgateAllowUISetting} from '#/state/queries/threadgate'
8
+
import {type ThreadgateAllowUISetting} from '#/state/queries/threadgate'
9
9
import {native} from '#/alf'
10
10
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
11
11
import * as Dialog from '#/components/Dialog'
+2
-1
src/view/com/composer/videos/SubtitleFilePicker.tsx
+2
-1
src/view/com/composer/videos/SubtitleFilePicker.tsx
···
1
-
import React, {useRef} from 'react'
1
+
import {useRef} from 'react'
2
2
import {View} from 'react-native'
3
3
import {msg, Trans} from '@lingui/macro'
4
4
import {useLingui} from '@lingui/react'
5
+
import type React from 'react'
5
6
6
7
import {logger} from '#/logger'
7
8
import * as Toast from '#/view/com/util/Toast'
+2
-2
src/view/com/composer/videos/VideoPreview.web.tsx
+2
-2
src/view/com/composer/videos/VideoPreview.web.tsx
···
1
1
import {View} from 'react-native'
2
-
import {ImagePickerAsset} from 'expo-image-picker'
2
+
import {type ImagePickerAsset} from 'expo-image-picker'
3
3
import {msg} from '@lingui/macro'
4
4
import {useLingui} from '@lingui/react'
5
5
6
-
import {CompressedVideo} from '#/lib/media/video/types'
6
+
import {type CompressedVideo} from '#/lib/media/video/types'
7
7
import {clamp} from '#/lib/numbers'
8
8
import {useAutoplayDisabled} from '#/state/preferences'
9
9
import {ExternalEmbedRemoveBtn} from '#/view/com/composer/ExternalEmbedRemoveBtn'
+1
-1
src/view/com/composer/videos/VideoTranscodeProgress.tsx
+1
-1
src/view/com/composer/videos/VideoTranscodeProgress.tsx
···
1
1
import {View} from 'react-native'
2
2
// @ts-expect-error no type definition
3
3
import ProgressPie from 'react-native-progress/Pie'
4
-
import {ImagePickerAsset} from 'expo-image-picker'
4
+
import {type ImagePickerAsset} from 'expo-image-picker'
5
5
6
6
import {clamp} from '#/lib/numbers'
7
7
import {isWeb} from '#/platform/detection'
+1
-1
src/view/com/composer/videos/pickVideo.web.ts
+1
-1
src/view/com/composer/videos/pickVideo.web.ts
+2
-2
src/view/com/lightbox/ImageViewing/@types/index.ts
+2
-2
src/view/com/lightbox/ImageViewing/@types/index.ts
···
6
6
*
7
7
*/
8
8
9
-
import {TransformsStyle} from 'react-native'
10
-
import {MeasuredDimensions} from 'react-native-reanimated'
9
+
import {type TransformsStyle} from 'react-native'
10
+
import {type MeasuredDimensions} from 'react-native-reanimated'
11
11
12
12
export type Dimensions = {
13
13
width: number
+1
-1
src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx
+1
-1
src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx
···
5
5
* LICENSE file in the root directory of this source tree.
6
6
*
7
7
*/
8
-
import {StyleSheet, TouchableOpacity, ViewStyle} from 'react-native'
8
+
import {StyleSheet, TouchableOpacity, type ViewStyle} from 'react-native'
9
9
import {SafeAreaView} from 'react-native-safe-area-context'
10
10
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
11
11
import {msg} from '@lingui/macro'
+7
-7
src/view/com/lightbox/ImageViewing/components/ImageItem/ImageItem.android.tsx
+7
-7
src/view/com/lightbox/ImageViewing/components/ImageItem/ImageItem.android.tsx
···
3
3
import {
4
4
Gesture,
5
5
GestureDetector,
6
-
PanGesture,
6
+
type PanGesture,
7
7
} from 'react-native-gesture-handler'
8
8
import Animated, {
9
9
runOnJS,
10
-
SharedValue,
10
+
type SharedValue,
11
11
useAnimatedReaction,
12
12
useAnimatedRef,
13
13
useAnimatedStyle,
···
16
16
} from 'react-native-reanimated'
17
17
import {Image} from 'expo-image'
18
18
19
-
import type {
20
-
Dimensions as ImageDimensions,
21
-
ImageSource,
22
-
Transform,
19
+
import {
20
+
type Dimensions as ImageDimensions,
21
+
type ImageSource,
22
+
type Transform,
23
23
} from '../../@types'
24
24
import {
25
25
applyRounding,
···
28
28
prependPinch,
29
29
prependTransform,
30
30
readTransform,
31
-
TransformMatrix,
31
+
type TransformMatrix,
32
32
} from '../../transforms'
33
33
34
34
const MIN_SCREEN_ZOOM = 2
+5
-5
src/view/com/lightbox/ImageViewing/components/ImageItem/ImageItem.ios.tsx
+5
-5
src/view/com/lightbox/ImageViewing/components/ImageItem/ImageItem.ios.tsx
···
11
11
import {
12
12
Gesture,
13
13
GestureDetector,
14
-
PanGesture,
14
+
type PanGesture,
15
15
} from 'react-native-gesture-handler'
16
16
import Animated, {
17
17
runOnJS,
18
-
SharedValue,
18
+
type SharedValue,
19
19
useAnimatedProps,
20
20
useAnimatedReaction,
21
21
useAnimatedRef,
···
27
27
28
28
import {useAnimatedScrollHandler} from '#/lib/hooks/useAnimatedScrollHandler_FIXED'
29
29
import {
30
-
Dimensions as ImageDimensions,
31
-
ImageSource,
32
-
Transform,
30
+
type Dimensions as ImageDimensions,
31
+
type ImageSource,
32
+
type Transform,
33
33
} from '../../@types'
34
34
35
35
const MAX_ORIGINAL_IMAGE_ZOOM = 2
+6
-6
src/view/com/lightbox/ImageViewing/components/ImageItem/ImageItem.tsx
+6
-6
src/view/com/lightbox/ImageViewing/components/ImageItem/ImageItem.tsx
···
2
2
3
3
import React from 'react'
4
4
import {View} from 'react-native'
5
-
import {PanGesture} from 'react-native-gesture-handler'
6
-
import {SharedValue} from 'react-native-reanimated'
5
+
import {type PanGesture} from 'react-native-gesture-handler'
6
+
import {type SharedValue} from 'react-native-reanimated'
7
7
8
-
import {Dimensions} from '#/lib/media/types'
8
+
import {type Dimensions} from '#/lib/media/types'
9
9
import {
10
-
Dimensions as ImageDimensions,
11
-
ImageSource,
12
-
Transform,
10
+
type Dimensions as ImageDimensions,
11
+
type ImageSource,
12
+
type Transform,
13
13
} from '../../@types'
14
14
15
15
type Props = {
+1
-1
src/view/com/lightbox/ImageViewing/transforms.ts
+1
-1
src/view/com/lightbox/ImageViewing/transforms.ts
+3
-3
src/view/com/modals/InviteCodes.tsx
+3
-3
src/view/com/modals/InviteCodes.tsx
···
6
6
View,
7
7
} from 'react-native'
8
8
import {setStringAsync} from 'expo-clipboard'
9
-
import {ComAtprotoServerDefs} from '@atproto/api'
9
+
import {type ComAtprotoServerDefs} from '@atproto/api'
10
10
import {
11
11
FontAwesomeIcon,
12
-
FontAwesomeIconStyle,
12
+
type FontAwesomeIconStyle,
13
13
} from '@fortawesome/react-native-fontawesome'
14
14
import {msg, Trans} from '@lingui/macro'
15
15
import {useLingui} from '@lingui/react'
···
22
22
import {useInvitesAPI, useInvitesState} from '#/state/invites'
23
23
import {useModalControls} from '#/state/modals'
24
24
import {
25
-
InviteCodesQueryResponse,
25
+
type InviteCodesQueryResponse,
26
26
useInviteCodesQuery,
27
27
} from '#/state/queries/invites'
28
28
import {ErrorMessage} from '../util/error/ErrorMessage'
+2
-2
src/view/com/modals/UserAddRemoveLists.tsx
+2
-2
src/view/com/modals/UserAddRemoveLists.tsx
···
5
5
useWindowDimensions,
6
6
View,
7
7
} from 'react-native'
8
-
import {AppBskyGraphDefs as GraphDefs} from '@atproto/api'
8
+
import {type AppBskyGraphDefs as GraphDefs} from '@atproto/api'
9
9
import {msg, Trans} from '@lingui/macro'
10
10
import {useLingui} from '@lingui/react'
11
11
···
18
18
import {useModalControls} from '#/state/modals'
19
19
import {
20
20
getMembership,
21
-
ListMembersip,
21
+
type ListMembersip,
22
22
useDangerousListMembershipsQuery,
23
23
useListMembershipAddMutation,
24
24
useListMembershipRemoveMutation,
+1
-1
src/view/com/post-thread/PostLikedBy.tsx
+1
-1
src/view/com/post-thread/PostLikedBy.tsx
+2
-2
src/view/com/post-thread/PostQuotes.tsx
+2
-2
src/view/com/post-thread/PostQuotes.tsx
···
1
1
import {useCallback, useState} from 'react'
2
2
import {
3
-
AppBskyFeedDefs,
3
+
type AppBskyFeedDefs,
4
4
AppBskyFeedPost,
5
5
moderatePost,
6
-
ModerationDecision,
6
+
type ModerationDecision,
7
7
} from '@atproto/api'
8
8
import {msg} from '@lingui/macro'
9
9
import {useLingui} from '@lingui/react'
+1
-1
src/view/com/post-thread/PostRepostedBy.tsx
+1
-1
src/view/com/post-thread/PostRepostedBy.tsx
+2
-2
src/view/com/posts/CustomFeedEmptyState.tsx
+2
-2
src/view/com/posts/CustomFeedEmptyState.tsx
···
2
2
import {StyleSheet, View} from 'react-native'
3
3
import {
4
4
FontAwesomeIcon,
5
-
FontAwesomeIconStyle,
5
+
type FontAwesomeIconStyle,
6
6
} from '@fortawesome/react-native-fontawesome'
7
7
import {Trans} from '@lingui/macro'
8
8
import {useNavigation} from '@react-navigation/native'
9
9
10
10
import {usePalette} from '#/lib/hooks/usePalette'
11
11
import {MagnifyingGlassIcon} from '#/lib/icons'
12
-
import {NavigationProp} from '#/lib/routes/types'
12
+
import {type NavigationProp} from '#/lib/routes/types'
13
13
import {s} from '#/lib/styles'
14
14
import {isWeb} from '#/platform/detection'
15
15
import {Button} from '../util/forms/Button'
+2
-2
src/view/com/posts/FollowingEmptyState.tsx
+2
-2
src/view/com/posts/FollowingEmptyState.tsx
···
2
2
import {StyleSheet, View} from 'react-native'
3
3
import {
4
4
FontAwesomeIcon,
5
-
FontAwesomeIconStyle,
5
+
type FontAwesomeIconStyle,
6
6
} from '@fortawesome/react-native-fontawesome'
7
7
import {Trans} from '@lingui/macro'
8
8
import {useNavigation} from '@react-navigation/native'
9
9
10
10
import {usePalette} from '#/lib/hooks/usePalette'
11
11
import {MagnifyingGlassIcon} from '#/lib/icons'
12
-
import {NavigationProp} from '#/lib/routes/types'
12
+
import {type NavigationProp} from '#/lib/routes/types'
13
13
import {s} from '#/lib/styles'
14
14
import {isWeb} from '#/platform/detection'
15
15
import {Button} from '../util/forms/Button'
+2
-2
src/view/com/posts/FollowingEndOfFeed.tsx
+2
-2
src/view/com/posts/FollowingEndOfFeed.tsx
···
2
2
import {Dimensions, StyleSheet, View} from 'react-native'
3
3
import {
4
4
FontAwesomeIcon,
5
-
FontAwesomeIconStyle,
5
+
type FontAwesomeIconStyle,
6
6
} from '@fortawesome/react-native-fontawesome'
7
7
import {Trans} from '@lingui/macro'
8
8
import {useNavigation} from '@react-navigation/native'
9
9
10
10
import {usePalette} from '#/lib/hooks/usePalette'
11
-
import {NavigationProp} from '#/lib/routes/types'
11
+
import {type NavigationProp} from '#/lib/routes/types'
12
12
import {s} from '#/lib/styles'
13
13
import {isWeb} from '#/platform/detection'
14
14
import {Button} from '../util/forms/Button'
+1
-1
src/view/com/profile/ProfileFollowers.tsx
+1
-1
src/view/com/profile/ProfileFollowers.tsx
+1
-1
src/view/com/profile/ProfileFollows.tsx
+1
-1
src/view/com/profile/ProfileFollows.tsx
+1
-1
src/view/com/util/Alert.web.tsx
+1
-1
src/view/com/util/Alert.web.tsx
+3
-2
src/view/com/util/BottomSheetCustomBackdrop.tsx
+3
-2
src/view/com/util/BottomSheetCustomBackdrop.tsx
···
1
-
import React, {useMemo} from 'react'
1
+
import {useMemo} from 'react'
2
2
import {TouchableWithoutFeedback} from 'react-native'
3
3
import Animated, {
4
4
Extrapolation,
5
5
interpolate,
6
6
useAnimatedStyle,
7
7
} from 'react-native-reanimated'
8
-
import {BottomSheetBackdropProps} from '@discord/bottom-sheet/src'
8
+
import {type BottomSheetBackdropProps} from '@discord/bottom-sheet/src'
9
9
import {msg} from '@lingui/macro'
10
10
import {useLingui} from '@lingui/react'
11
+
import type React from 'react'
11
12
12
13
export function createCustomBackdrop(
13
14
onClose?: (() => void) | undefined,
+3
-3
src/view/com/util/EmptyState.tsx
+3
-3
src/view/com/util/EmptyState.tsx
···
1
-
import {StyleProp, StyleSheet, View, ViewStyle} from 'react-native'
2
-
import {IconProp} from '@fortawesome/fontawesome-svg-core'
1
+
import {type StyleProp, StyleSheet, View, type ViewStyle} from 'react-native'
2
+
import {type IconProp} from '@fortawesome/fontawesome-svg-core'
3
3
import {
4
4
FontAwesomeIcon,
5
-
FontAwesomeIconStyle,
5
+
type FontAwesomeIconStyle,
6
6
} from '@fortawesome/react-native-fontawesome'
7
7
8
8
import {usePalette} from '#/lib/hooks/usePalette'
+2
-2
src/view/com/util/EmptyStateWithButton.tsx
+2
-2
src/view/com/util/EmptyStateWithButton.tsx
···
1
1
import {StyleSheet, View} from 'react-native'
2
-
import {IconProp} from '@fortawesome/fontawesome-svg-core'
2
+
import {type IconProp} from '@fortawesome/fontawesome-svg-core'
3
3
import {
4
4
FontAwesomeIcon,
5
-
FontAwesomeIconStyle,
5
+
type FontAwesomeIconStyle,
6
6
} from '@fortawesome/react-native-fontawesome'
7
7
8
8
import {usePalette} from '#/lib/hooks/usePalette'
+2
-2
src/view/com/util/ErrorBoundary.tsx
+2
-2
src/view/com/util/ErrorBoundary.tsx
···
1
-
import {Component, ErrorInfo, ReactNode} from 'react'
2
-
import {StyleProp, ViewStyle} from 'react-native'
1
+
import {Component, type ErrorInfo, type ReactNode} from 'react'
2
+
import {type StyleProp, type ViewStyle} from 'react-native'
3
3
import {msg} from '@lingui/macro'
4
4
import {useLingui} from '@lingui/react'
5
5
+2
-2
src/view/com/util/FeedInfoText.tsx
+2
-2
src/view/com/util/FeedInfoText.tsx
···
1
-
import {StyleProp, StyleSheet, TextStyle} from 'react-native'
1
+
import {type StyleProp, StyleSheet, type TextStyle} from 'react-native'
2
2
3
3
import {sanitizeDisplayName} from '#/lib/strings/display-names'
4
-
import {TypographyVariant} from '#/lib/ThemeContext'
4
+
import {type TypographyVariant} from '#/lib/ThemeContext'
5
5
import {useFeedSourceInfoQuery} from '#/state/queries/feed'
6
6
import {TextLinkOnWebOnly} from './Link'
7
7
import {LoadingPlaceholder} from './LoadingPlaceholder'
+1
-1
src/view/com/util/LoadMoreRetryBtn.tsx
+1
-1
src/view/com/util/LoadMoreRetryBtn.tsx
+1
-1
src/view/com/util/MainScrollProvider.tsx
+1
-1
src/view/com/util/MainScrollProvider.tsx
+8
-3
src/view/com/util/PressableWithHover.tsx
+8
-3
src/view/com/util/PressableWithHover.tsx
···
1
-
import {forwardRef, PropsWithChildren} from 'react'
2
-
import {Pressable, PressableProps, StyleProp, ViewStyle} from 'react-native'
3
-
import {View} from 'react-native'
1
+
import {forwardRef, type PropsWithChildren} from 'react'
2
+
import {
3
+
Pressable,
4
+
type PressableProps,
5
+
type StyleProp,
6
+
type ViewStyle,
7
+
} from 'react-native'
8
+
import {type View} from 'react-native'
4
9
5
10
import {addStyle} from '#/lib/styles'
6
11
import {useInteractionState} from '#/components/hooks/useInteractionState'
+3
-3
src/view/com/util/Views.tsx
+3
-3
src/view/com/util/Views.tsx
···
1
1
import {forwardRef} from 'react'
2
-
import {FlatListComponent} from 'react-native'
3
-
import {View, ViewProps} from 'react-native'
2
+
import {type FlatListComponent} from 'react-native'
3
+
import {View, type ViewProps} from 'react-native'
4
4
import Animated from 'react-native-reanimated'
5
-
import {FlatListPropsWithLayout} from 'react-native-reanimated'
5
+
import {type FlatListPropsWithLayout} from 'react-native-reanimated'
6
6
7
7
// If you explode these into functions, don't forget to forwardRef!
8
8
+1
-1
src/view/com/util/WebAuxClickWrapper.tsx
+1
-1
src/view/com/util/WebAuxClickWrapper.tsx
+3
-3
src/view/com/util/error/ErrorMessage.tsx
+3
-3
src/view/com/util/error/ErrorMessage.tsx
···
1
1
import {
2
-
StyleProp,
2
+
type StyleProp,
3
3
StyleSheet,
4
4
TouchableOpacity,
5
5
View,
6
-
ViewStyle,
6
+
type ViewStyle,
7
7
} from 'react-native'
8
8
import {
9
9
FontAwesomeIcon,
10
-
FontAwesomeIconStyle,
10
+
type FontAwesomeIconStyle,
11
11
} from '@fortawesome/react-native-fontawesome'
12
12
import {msg} from '@lingui/macro'
13
13
import {useLingui} from '@lingui/react'
+1
-1
src/view/com/util/error/ErrorScreen.tsx
+1
-1
src/view/com/util/error/ErrorScreen.tsx
+1
-1
src/view/com/util/fab/FAB.web.tsx
+1
-1
src/view/com/util/fab/FAB.web.tsx
···
1
1
import {View} from 'react-native'
2
2
3
3
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
4
-
import {FABInner, FABProps} from './FABInner'
4
+
import {FABInner, type FABProps} from './FABInner'
5
5
6
6
export const FAB = (_opts: FABProps) => {
7
7
const {isDesktop} = useWebMediaQueries()
+1
-1
src/view/com/util/images/Image.tsx
+1
-1
src/view/com/util/images/Image.tsx
+1
-1
src/view/com/util/layouts/LoggedOutLayout.tsx
+1
-1
src/view/com/util/layouts/LoggedOutLayout.tsx
+3
-3
src/view/icons/Logo.tsx
+3
-3
src/view/icons/Logo.tsx
···
1
1
import React from 'react'
2
-
import {StyleSheet, TextProps} from 'react-native'
2
+
import {StyleSheet, type TextProps} from 'react-native'
3
3
import Svg, {
4
4
Defs,
5
5
LinearGradient,
6
6
Path,
7
-
PathProps,
7
+
type PathProps,
8
8
Stop,
9
-
SvgProps,
9
+
type SvgProps,
10
10
} from 'react-native-svg'
11
11
import {Image} from 'expo-image'
12
12
+1
-1
src/view/icons/Logomark.tsx
+1
-1
src/view/icons/Logomark.tsx
+1
-1
src/view/icons/Logotype.tsx
+1
-1
src/view/icons/Logotype.tsx
+4
-1
src/view/screens/CommunityGuidelines.tsx
+4
-1
src/view/screens/CommunityGuidelines.tsx
···
5
5
import {useFocusEffect} from '@react-navigation/native'
6
6
7
7
import {usePalette} from '#/lib/hooks/usePalette'
8
-
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
8
+
import {
9
+
type CommonNavigatorParams,
10
+
type NativeStackScreenProps,
11
+
} from '#/lib/routes/types'
9
12
import {s} from '#/lib/styles'
10
13
import {useSetMinimalShellMode} from '#/state/shell'
11
14
import {TextLink} from '#/view/com/util/Link'
+4
-1
src/view/screens/CopyrightPolicy.tsx
+4
-1
src/view/screens/CopyrightPolicy.tsx
···
5
5
import {useFocusEffect} from '@react-navigation/native'
6
6
7
7
import {usePalette} from '#/lib/hooks/usePalette'
8
-
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
8
+
import {
9
+
type CommonNavigatorParams,
10
+
type NativeStackScreenProps,
11
+
} from '#/lib/routes/types'
9
12
import {s} from '#/lib/styles'
10
13
import {useSetMinimalShellMode} from '#/state/shell'
11
14
import {TextLink} from '#/view/com/util/Link'
+1
-1
src/view/screens/NotFound.tsx
+1
-1
src/view/screens/NotFound.tsx
···
9
9
} from '@react-navigation/native'
10
10
11
11
import {usePalette} from '#/lib/hooks/usePalette'
12
-
import {NavigationProp} from '#/lib/routes/types'
12
+
import {type NavigationProp} from '#/lib/routes/types'
13
13
import {s} from '#/lib/styles'
14
14
import {useSetMinimalShellMode} from '#/state/shell'
15
15
import {Button} from '#/view/com/util/forms/Button'
+4
-1
src/view/screens/PrivacyPolicy.tsx
+4
-1
src/view/screens/PrivacyPolicy.tsx
···
5
5
import {useFocusEffect} from '@react-navigation/native'
6
6
7
7
import {usePalette} from '#/lib/hooks/usePalette'
8
-
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
8
+
import {
9
+
type CommonNavigatorParams,
10
+
type NativeStackScreenProps,
11
+
} from '#/lib/routes/types'
9
12
import {s} from '#/lib/styles'
10
13
import {useSetMinimalShellMode} from '#/state/shell'
11
14
import {TextLink} from '#/view/com/util/Link'
+4
-1
src/view/screens/ProfileFeedLikedBy.tsx
+4
-1
src/view/screens/ProfileFeedLikedBy.tsx
···
3
3
import {useLingui} from '@lingui/react'
4
4
import {useFocusEffect} from '@react-navigation/native'
5
5
6
-
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
6
+
import {
7
+
type CommonNavigatorParams,
8
+
type NativeStackScreenProps,
9
+
} from '#/lib/routes/types'
7
10
import {makeRecordUri} from '#/lib/strings/url-helpers'
8
11
import {useSetMinimalShellMode} from '#/state/shell'
9
12
import {PostLikedBy as PostLikedByComponent} from '#/view/com/post-thread/PostLikedBy'
+1
-1
src/view/screens/Storybook/ListContained.tsx
+1
-1
src/view/screens/Storybook/ListContained.tsx
···
2
2
import {View} from 'react-native'
3
3
4
4
import {ScrollProvider} from '#/lib/ScrollContext'
5
-
import {List, ListMethods} from '#/view/com/util/List'
5
+
import {List, type ListMethods} from '#/view/com/util/List'
6
6
import {Button, ButtonText} from '#/components/Button'
7
7
import * as Toggle from '#/components/forms/Toggle'
8
8
import {Text} from '#/components/Typography'
+4
-1
src/view/screens/Support.tsx
+4
-1
src/view/screens/Support.tsx
···
5
5
6
6
import {HELP_DESK_URL} from '#/lib/constants'
7
7
import {usePalette} from '#/lib/hooks/usePalette'
8
-
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
8
+
import {
9
+
type CommonNavigatorParams,
10
+
type NativeStackScreenProps,
11
+
} from '#/lib/routes/types'
9
12
import {s} from '#/lib/styles'
10
13
import {useSetMinimalShellMode} from '#/state/shell'
11
14
import {TextLink} from '#/view/com/util/Link'
+4
-1
src/view/screens/TermsOfService.tsx
+4
-1
src/view/screens/TermsOfService.tsx
···
5
5
import {useFocusEffect} from '@react-navigation/native'
6
6
7
7
import {usePalette} from '#/lib/hooks/usePalette'
8
-
import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
8
+
import {
9
+
type CommonNavigatorParams,
10
+
type NativeStackScreenProps,
11
+
} from '#/lib/routes/types'
9
12
import {s} from '#/lib/styles'
10
13
import {useSetMinimalShellMode} from '#/state/shell'
11
14
import {TextLink} from '#/view/com/util/Link'