about summary refs log tree commit diff
path: root/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/components')
-rw-r--r--src/components/Button.tsx14
-rw-r--r--src/components/Dialog/context.ts2
-rw-r--r--src/components/Dialog/index.tsx23
-rw-r--r--src/components/Dialog/index.web.tsx19
-rw-r--r--src/components/Dialog/types.ts2
-rw-r--r--src/components/Divider.tsx3
-rw-r--r--src/components/IconCircle.tsx8
-rw-r--r--src/components/Link.tsx18
-rw-r--r--src/components/Lists.tsx13
-rw-r--r--src/components/Loader.tsx4
-rw-r--r--src/components/Menu/index.tsx19
-rw-r--r--src/components/Menu/index.web.tsx17
-rw-r--r--src/components/Menu/types.ts6
-rw-r--r--src/components/Prompt.tsx9
-rw-r--r--src/components/RichText.tsx14
-rw-r--r--src/components/TagMenu/index.tsx20
-rw-r--r--src/components/TagMenu/index.web.tsx16
-rw-r--r--src/components/Typography.tsx4
-rw-r--r--src/components/dialogs/MutedWords.tsx39
-rw-r--r--src/components/forms/DateField/index.android.tsx17
-rw-r--r--src/components/forms/DateField/index.tsx8
-rw-r--r--src/components/forms/DateField/index.web.tsx6
-rw-r--r--src/components/forms/TextField.tsx12
-rw-r--r--src/components/forms/Toggle.tsx6
-rw-r--r--src/components/forms/ToggleButton.tsx7
-rw-r--r--src/components/icons/TEMPLATE.tsx2
-rw-r--r--src/components/icons/common.ts2
27 files changed, 158 insertions, 152 deletions
diff --git a/src/components/Button.tsx b/src/components/Button.tsx
index cbf9210f5..d3bf73cc3 100644
--- a/src/components/Button.tsx
+++ b/src/components/Button.tsx
@@ -1,19 +1,19 @@
 import React from 'react'
 import {
-  AccessibilityProps,
   Pressable,
-  PressableProps,
-  StyleProp,
-  StyleSheet,
   Text,
+  PressableProps,
   TextProps,
-  TextStyle,
-  View,
   ViewStyle,
+  AccessibilityProps,
+  View,
+  TextStyle,
+  StyleSheet,
+  StyleProp,
 } from 'react-native'
 import LinearGradient from 'react-native-linear-gradient'
 
-import {android, atoms as a, flatten, tokens, useTheme} from '#/alf'
+import {useTheme, atoms as a, tokens, android, flatten} from '#/alf'
 import {Props as SVGIconProps} from '#/components/icons/common'
 
 export type ButtonVariant = 'solid' | 'outline' | 'ghost' | 'gradient'
diff --git a/src/components/Dialog/context.ts b/src/components/Dialog/context.ts
index 06d238b50..859f8edd7 100644
--- a/src/components/Dialog/context.ts
+++ b/src/components/Dialog/context.ts
@@ -1,11 +1,11 @@
 import React from 'react'
 
+import {useDialogStateContext} from '#/state/dialogs'
 import {
   DialogContextProps,
   DialogControlRefProps,
   DialogOuterProps,
 } from '#/components/Dialog/types'
-import {useDialogStateContext} from '#/state/dialogs'
 
 export const Context = React.createContext<DialogContextProps>({
   close: () => {},
diff --git a/src/components/Dialog/index.tsx b/src/components/Dialog/index.tsx
index fdd43675e..f0e7b7e82 100644
--- a/src/components/Dialog/index.tsx
+++ b/src/components/Dialog/index.tsx
@@ -1,3 +1,5 @@
+import React, {useImperativeHandle} from 'react'
+import {View, Dimensions, Keyboard, Pressable} from 'react-native'
 import BottomSheet, {
   BottomSheetBackdropProps,
   BottomSheetScrollView,
@@ -6,24 +8,23 @@ import BottomSheet, {
   useBottomSheet,
   WINDOW_HEIGHT,
 } from '@gorhom/bottom-sheet'
-import React, {useImperativeHandle} from 'react'
-import {Dimensions, Keyboard, Pressable, View} from 'react-native'
-import Animated, {useAnimatedStyle} from 'react-native-reanimated'
 import {useSafeAreaInsets} from 'react-native-safe-area-context'
+import Animated, {useAnimatedStyle} from 'react-native-reanimated'
+
+import {useTheme, atoms as a, flatten} from '#/alf'
+import {Portal} from '#/components/Portal'
+import {createInput} from '#/components/forms/TextField'
+import {logger} from '#/logger'
+import {useDialogStateControlContext} from '#/state/dialogs'
 
-import {atoms as a, flatten, useTheme} from '#/alf'
-import {Context} from '#/components/Dialog/context'
 import {
+  DialogOuterProps,
   DialogControlProps,
   DialogInnerProps,
-  DialogOuterProps,
 } from '#/components/Dialog/types'
-import {createInput} from '#/components/forms/TextField'
-import {Portal} from '#/components/Portal'
-import {logger} from '#/logger'
-import {useDialogStateControlContext} from '#/state/dialogs'
+import {Context} from '#/components/Dialog/context'
 
-export {useDialogContext, useDialogControl} from '#/components/Dialog/context'
+export {useDialogControl, useDialogContext} from '#/components/Dialog/context'
 export * from '#/components/Dialog/types'
 // @ts-ignore
 export const Input = createInput(BottomSheetTextInput)
diff --git a/src/components/Dialog/index.web.tsx b/src/components/Dialog/index.web.tsx
index 997bf77c1..3a7f73342 100644
--- a/src/components/Dialog/index.web.tsx
+++ b/src/components/Dialog/index.web.tsx
@@ -1,19 +1,20 @@
+import React, {useImperativeHandle} from 'react'
+import {View, TouchableWithoutFeedback} from 'react-native'
+import {FocusScope} from '@tamagui/focus-scope'
+import Animated, {FadeInDown, FadeIn} from 'react-native-reanimated'
 import {msg} from '@lingui/macro'
 import {useLingui} from '@lingui/react'
-import {FocusScope} from '@tamagui/focus-scope'
-import React, {useImperativeHandle} from 'react'
-import {TouchableWithoutFeedback, View} from 'react-native'
-import Animated, {FadeIn, FadeInDown} from 'react-native-reanimated'
 
-import {atoms as a, flatten, useBreakpoints, useTheme, web} from '#/alf'
-import {Button, ButtonIcon} from '#/components/Button'
+import {useTheme, atoms as a, useBreakpoints, web, flatten} from '#/alf'
+import {Portal} from '#/components/Portal'
+
+import {DialogOuterProps, DialogInnerProps} from '#/components/Dialog/types'
 import {Context} from '#/components/Dialog/context'
-import {DialogInnerProps, DialogOuterProps} from '#/components/Dialog/types'
+import {Button, ButtonIcon} from '#/components/Button'
 import {TimesLarge_Stroke2_Corner0_Rounded as X} from '#/components/icons/Times'
-import {Portal} from '#/components/Portal'
 import {useDialogStateControlContext} from '#/state/dialogs'
 
-export {useDialogContext, useDialogControl} from '#/components/Dialog/context'
+export {useDialogControl, useDialogContext} from '#/components/Dialog/context'
 export * from '#/components/Dialog/types'
 export {Input} from '#/components/forms/TextField'
 
diff --git a/src/components/Dialog/types.ts b/src/components/Dialog/types.ts
index d84763174..4fc60ec39 100644
--- a/src/components/Dialog/types.ts
+++ b/src/components/Dialog/types.ts
@@ -1,6 +1,6 @@
-import {BottomSheetProps} from '@gorhom/bottom-sheet'
 import React from 'react'
 import type {AccessibilityProps} from 'react-native'
+import {BottomSheetProps} from '@gorhom/bottom-sheet'
 
 import {ViewStyleProp} from '#/alf'
 
diff --git a/src/components/Divider.tsx b/src/components/Divider.tsx
index ff0bbb045..24e2789e5 100644
--- a/src/components/Divider.tsx
+++ b/src/components/Divider.tsx
@@ -1,7 +1,6 @@
 import React from 'react'
 import {View} from 'react-native'
-
-import {atoms as a, flatten, useTheme, ViewStyleProp} from '#/alf'
+import {atoms as a, useTheme, ViewStyleProp, flatten} from '#/alf'
 
 export function Divider({style}: ViewStyleProp) {
   const t = useTheme()
diff --git a/src/components/IconCircle.tsx b/src/components/IconCircle.tsx
index b8b52615a..aa779e37f 100644
--- a/src/components/IconCircle.tsx
+++ b/src/components/IconCircle.tsx
@@ -2,14 +2,14 @@ import React from 'react'
 import {View} from 'react-native'
 
 import {
-  atoms as a,
-  flatten,
-  TextStyleProp,
   useTheme,
+  atoms as a,
   ViewStyleProp,
+  TextStyleProp,
+  flatten,
 } from '#/alf'
-import {Props} from '#/components/icons/common'
 import {Growth_Stroke2_Corner0_Rounded as Growth} from '#/components/icons/Growth'
+import {Props} from '#/components/icons/common'
 
 export function IconCircle({
   icon: Icon,
diff --git a/src/components/Link.tsx b/src/components/Link.tsx
index 74e75e99c..00e6a56f4 100644
--- a/src/components/Link.tsx
+++ b/src/components/Link.tsx
@@ -1,23 +1,23 @@
-import {sanitizeUrl} from '@braintree/sanitize-url'
-import {StackActions, useLinkProps} from '@react-navigation/native'
-import {useNavigationDeduped} from 'lib/hooks/useNavigationDeduped'
 import React from 'react'
 import {GestureResponderEvent} from 'react-native'
-import {useOpenLink} from 'state/preferences/in-app-browser'
+import {useLinkProps, StackActions} from '@react-navigation/native'
+import {sanitizeUrl} from '@braintree/sanitize-url'
 
-import {atoms as a, flatten, TextStyleProp, useTheme, web} from '#/alf'
-import {Button, ButtonProps} from '#/components/Button'
 import {useInteractionState} from '#/components/hooks/useInteractionState'
-import {Text, TextProps} from '#/components/Typography'
+import {isWeb} from '#/platform/detection'
+import {useTheme, web, flatten, TextStyleProp, atoms as a} from '#/alf'
+import {Button, ButtonProps} from '#/components/Button'
 import {AllNavigatorParams} from '#/lib/routes/types'
 import {
   convertBskyAppUrlIfNeeded,
   isExternalUrl,
   linkRequiresWarning,
 } from '#/lib/strings/url-helpers'
-import {isWeb} from '#/platform/detection'
-import {router} from '#/routes'
 import {useModalControls} from '#/state/modals'
+import {router} from '#/routes'
+import {Text, TextProps} from '#/components/Typography'
+import {useOpenLink} from 'state/preferences/in-app-browser'
+import {useNavigationDeduped} from 'lib/hooks/useNavigationDeduped'
 
 /**
  * Only available within a `Link`, since that inherits from `Button`.
diff --git a/src/components/Lists.tsx b/src/components/Lists.tsx
index 38bcf8577..bb0d24797 100644
--- a/src/components/Lists.tsx
+++ b/src/components/Lists.tsx
@@ -1,16 +1,15 @@
-import {Trans} from '@lingui/macro'
-import {StackActions} from '@react-navigation/native'
-import {useNavigationDeduped} from 'lib/hooks/useNavigationDeduped'
-import {cleanError} from 'lib/strings/errors'
 import React from 'react'
+import {atoms as a, useBreakpoints, useTheme} from '#/alf'
 import {View} from 'react-native'
 import {CenteredView} from 'view/com/util/Views'
-
-import {atoms as a, useBreakpoints, useTheme} from '#/alf'
-import {Button} from '#/components/Button'
 import {Loader} from '#/components/Loader'
+import {Trans} from '@lingui/macro'
+import {cleanError} from 'lib/strings/errors'
+import {Button} from '#/components/Button'
 import {Text} from '#/components/Typography'
+import {StackActions} from '@react-navigation/native'
 import {router} from '#/routes'
+import {useNavigationDeduped} from 'lib/hooks/useNavigationDeduped'
 
 export function ListFooter({
   isFetching,
diff --git a/src/components/Loader.tsx b/src/components/Loader.tsx
index e0b3be637..b9f399f95 100644
--- a/src/components/Loader.tsx
+++ b/src/components/Loader.tsx
@@ -1,13 +1,13 @@
 import React from 'react'
 import Animated, {
   Easing,
-  useAnimatedStyle,
   useSharedValue,
+  useAnimatedStyle,
   withRepeat,
   withTiming,
 } from 'react-native-reanimated'
 
-import {atoms as a, flatten, useTheme} from '#/alf'
+import {atoms as a, useTheme, flatten} from '#/alf'
 import {Props, useCommonSVGProps} from '#/components/icons/common'
 import {Loader_Stroke2_Corner0_Rounded as Icon} from '#/components/icons/Loader'
 
diff --git a/src/components/Menu/index.tsx b/src/components/Menu/index.tsx
index 7dd95502e..9be9dd86b 100644
--- a/src/components/Menu/index.tsx
+++ b/src/components/Menu/index.tsx
@@ -1,24 +1,25 @@
-import {msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {isNative} from 'platform/detection'
 import React from 'react'
+import {View, Pressable, ViewStyle, StyleProp} from 'react-native'
 import flattenReactChildren from 'react-keyed-flatten-children'
-import {Pressable, StyleProp, View, ViewStyle} from 'react-native'
 
 import {atoms as a, useTheme} from '#/alf'
-import {Button, ButtonText} from '#/components/Button'
 import * as Dialog from '#/components/Dialog'
 import {useInteractionState} from '#/components/hooks/useInteractionState'
+import {Text} from '#/components/Typography'
+
 import {Context} from '#/components/Menu/context'
 import {
   ContextType,
-  GroupProps,
-  ItemIconProps,
+  TriggerProps,
   ItemProps,
+  GroupProps,
   ItemTextProps,
-  TriggerProps,
+  ItemIconProps,
 } from '#/components/Menu/types'
-import {Text} from '#/components/Typography'
+import {Button, ButtonText} from '#/components/Button'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {isNative} from 'platform/detection'
 
 export {useDialogControl as useMenuControl} from '#/components/Dialog'
 
diff --git a/src/components/Menu/index.web.tsx b/src/components/Menu/index.web.tsx
index 314769934..2004ee7c6 100644
--- a/src/components/Menu/index.web.tsx
+++ b/src/components/Menu/index.web.tsx
@@ -1,23 +1,24 @@
 /* eslint-disable react/prop-types */
 
-import * as DropdownMenu from '@radix-ui/react-dropdown-menu'
 import React from 'react'
-import {Pressable, StyleProp, View, ViewStyle} from 'react-native'
+import {View, Pressable, ViewStyle, StyleProp} from 'react-native'
+import * as DropdownMenu from '@radix-ui/react-dropdown-menu'
 
-import {atoms as a, flatten, useTheme, web} from '#/alf'
 import * as Dialog from '#/components/Dialog'
 import {useInteractionState} from '#/components/hooks/useInteractionState'
-import {Context} from '#/components/Menu/context'
+import {atoms as a, useTheme, flatten, web} from '#/alf'
+import {Text} from '#/components/Typography'
+
 import {
   ContextType,
-  GroupProps,
-  ItemIconProps,
+  TriggerProps,
   ItemProps,
+  GroupProps,
   ItemTextProps,
+  ItemIconProps,
   RadixPassThroughTriggerProps,
-  TriggerProps,
 } from '#/components/Menu/types'
-import {Text} from '#/components/Typography'
+import {Context} from '#/components/Menu/context'
 
 export function useMenuControl(): Dialog.DialogControlProps {
   const id = React.useId()
diff --git a/src/components/Menu/types.ts b/src/components/Menu/types.ts
index 729a004d8..7d04a3344 100644
--- a/src/components/Menu/types.ts
+++ b/src/components/Menu/types.ts
@@ -1,13 +1,13 @@
 import React from 'react'
 import {
-  AccessibilityProps,
   GestureResponderEvent,
   PressableProps,
+  AccessibilityProps,
 } from 'react-native'
 
-import {TextStyleProp, ViewStyleProp} from '#/alf'
-import * as Dialog from '#/components/Dialog'
 import {Props as SVGIconProps} from '#/components/icons/common'
+import * as Dialog from '#/components/Dialog'
+import {TextStyleProp, ViewStyleProp} from '#/alf'
 
 export type ContextType = {
   control: Dialog.DialogOuterProps['control']
diff --git a/src/components/Prompt.tsx b/src/components/Prompt.tsx
index 84a0c47f1..3b245c440 100644
--- a/src/components/Prompt.tsx
+++ b/src/components/Prompt.tsx
@@ -1,12 +1,13 @@
+import React from 'react'
+import {View, PressableProps} from 'react-native'
 import {msg} from '@lingui/macro'
 import {useLingui} from '@lingui/react'
-import React from 'react'
-import {PressableProps, View} from 'react-native'
 
-import {atoms as a, useBreakpoints, useTheme} from '#/alf'
+import {useTheme, atoms as a, useBreakpoints} from '#/alf'
+import {Text} from '#/components/Typography'
 import {Button} from '#/components/Button'
+
 import * as Dialog from '#/components/Dialog'
-import {Text} from '#/components/Typography'
 
 export {useDialogControl as usePromptControl} from '#/components/Dialog'
 
diff --git a/src/components/RichText.tsx b/src/components/RichText.tsx
index d40b4d21c..1a14415cf 100644
--- a/src/components/RichText.tsx
+++ b/src/components/RichText.tsx
@@ -1,15 +1,15 @@
-import {AppBskyRichtextFacet, RichText as RichTextAPI} from '@atproto/api'
-import {msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {toShortUrl} from 'lib/strings/url-helpers'
 import React from 'react'
+import {RichText as RichTextAPI, AppBskyRichtextFacet} from '@atproto/api'
+import {useLingui} from '@lingui/react'
+import {msg} from '@lingui/macro'
 
-import {atoms as a, flatten, native, TextStyleProp, useTheme, web} from '#/alf'
-import {useInteractionState} from '#/components/hooks/useInteractionState'
+import {atoms as a, TextStyleProp, flatten, useTheme, web, native} from '#/alf'
 import {InlineLink} from '#/components/Link'
-import {TagMenu, useTagMenuControl} from '#/components/TagMenu'
 import {Text, TextProps} from '#/components/Typography'
+import {toShortUrl} from 'lib/strings/url-helpers'
+import {TagMenu, useTagMenuControl} from '#/components/TagMenu'
 import {isNative} from '#/platform/detection'
+import {useInteractionState} from '#/components/hooks/useInteractionState'
 
 const WORD_WRAP = {wordWrap: 1}
 
diff --git a/src/components/TagMenu/index.tsx b/src/components/TagMenu/index.tsx
index 0c1e48b6e..849a3f42d 100644
--- a/src/components/TagMenu/index.tsx
+++ b/src/components/TagMenu/index.tsx
@@ -1,27 +1,27 @@
-import {msg, Trans} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useNavigation} from '@react-navigation/native'
 import React from 'react'
 import {View} from 'react-native'
+import {useNavigation} from '@react-navigation/native'
+import {useLingui} from '@lingui/react'
+import {msg, Trans} from '@lingui/macro'
 
 import {atoms as a, native, useTheme} from '#/alf'
-import {Button, ButtonText} from '#/components/Button'
 import * as Dialog from '#/components/Dialog'
-import {Divider} from '#/components/Divider'
+import {Text} from '#/components/Typography'
+import {Button, ButtonText} from '#/components/Button'
 import {MagnifyingGlass2_Stroke2_Corner0_Rounded as Search} from '#/components/icons/MagnifyingGlass2'
-import {Mute_Stroke2_Corner0_Rounded as Mute} from '#/components/icons/Mute'
 import {Person_Stroke2_Corner0_Rounded as Person} from '#/components/icons/Person'
+import {Mute_Stroke2_Corner0_Rounded as Mute} from '#/components/icons/Mute'
+import {Divider} from '#/components/Divider'
 import {Link} from '#/components/Link'
-import {Loader} from '#/components/Loader'
-import {Text} from '#/components/Typography'
 import {makeSearchLink} from '#/lib/routes/links'
 import {NavigationProp} from '#/lib/routes/types'
-import {isInvalidHandle} from '#/lib/strings/handles'
 import {
   usePreferencesQuery,
-  useRemoveMutedWordMutation,
   useUpsertMutedWordsMutation,
+  useRemoveMutedWordMutation,
 } from '#/state/queries/preferences'
+import {Loader} from '#/components/Loader'
+import {isInvalidHandle} from '#/lib/strings/handles'
 
 export function useTagMenuControl() {
   return Dialog.useDialogControl()
diff --git a/src/components/TagMenu/index.web.tsx b/src/components/TagMenu/index.web.tsx
index b8a44d6c0..8245bd019 100644
--- a/src/components/TagMenu/index.web.tsx
+++ b/src/components/TagMenu/index.web.tsx
@@ -1,20 +1,20 @@
+import React from 'react'
 import {msg} from '@lingui/macro'
 import {useLingui} from '@lingui/react'
 import {useNavigation} from '@react-navigation/native'
-import React from 'react'
 
-import {web} from '#/alf'
-import * as Dialog from '#/components/Dialog'
-import {NavigationProp} from '#/lib/routes/types'
 import {isInvalidHandle} from '#/lib/strings/handles'
-import {enforceLen} from '#/lib/strings/helpers'
+import {EventStopper} from '#/view/com/util/EventStopper'
+import {NativeDropdown} from '#/view/com/util/forms/NativeDropdown'
+import {NavigationProp} from '#/lib/routes/types'
 import {
   usePreferencesQuery,
-  useRemoveMutedWordMutation,
   useUpsertMutedWordsMutation,
+  useRemoveMutedWordMutation,
 } from '#/state/queries/preferences'
-import {EventStopper} from '#/view/com/util/EventStopper'
-import {NativeDropdown} from '#/view/com/util/forms/NativeDropdown'
+import {enforceLen} from '#/lib/strings/helpers'
+import {web} from '#/alf'
+import * as Dialog from '#/components/Dialog'
 
 export function useTagMenuControl(): Dialog.DialogControlProps {
   return {
diff --git a/src/components/Typography.tsx b/src/components/Typography.tsx
index e7db94e5c..5268e7f46 100644
--- a/src/components/Typography.tsx
+++ b/src/components/Typography.tsx
@@ -1,8 +1,8 @@
 import React from 'react'
-import {Text as RNText, TextProps as RNTextProps, TextStyle} from 'react-native'
+import {Text as RNText, TextStyle, TextProps as RNTextProps} from 'react-native'
 import {UITextView} from 'react-native-ui-text-view'
 
-import {atoms, flatten, useTheme, web} from '#/alf'
+import {useTheme, atoms, web, flatten} from '#/alf'
 import {isIOS, isNative} from '#/platform/detection'
 
 export type TextProps = RNTextProps & {
diff --git a/src/components/dialogs/MutedWords.tsx b/src/components/dialogs/MutedWords.tsx
index 4dedbdf85..5f23a7883 100644
--- a/src/components/dialogs/MutedWords.tsx
+++ b/src/components/dialogs/MutedWords.tsx
@@ -1,36 +1,37 @@
-import {AppBskyActorDefs, sanitizeMutedWordValue} from '@atproto/api'
-import {msg, Trans} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
 import React from 'react'
 import {Keyboard, View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {AppBskyActorDefs, sanitizeMutedWordValue} from '@atproto/api'
 
 import {
+  usePreferencesQuery,
+  useUpsertMutedWordsMutation,
+  useRemoveMutedWordMutation,
+} from '#/state/queries/preferences'
+import {isNative} from '#/platform/detection'
+import {
   atoms as a,
-  native,
-  useBreakpoints,
   useTheme,
+  useBreakpoints,
   ViewStyleProp,
   web,
+  native,
 } from '#/alf'
+import {Text} from '#/components/Typography'
 import {Button, ButtonIcon, ButtonText} from '#/components/Button'
-import * as Dialog from '#/components/Dialog'
-import {useGlobalDialogsControlContext} from '#/components/dialogs/Context'
-import {Divider} from '#/components/Divider'
-import * as Toggle from '#/components/forms/Toggle'
-import {Hashtag_Stroke2_Corner0_Rounded as Hashtag} from '#/components/icons/Hashtag'
-import {PageText_Stroke2_Corner0_Rounded as PageText} from '#/components/icons/PageText'
 import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
 import {TimesLarge_Stroke2_Corner0_Rounded as X} from '#/components/icons/Times'
+import {Hashtag_Stroke2_Corner0_Rounded as Hashtag} from '#/components/icons/Hashtag'
+import {PageText_Stroke2_Corner0_Rounded as PageText} from '#/components/icons/PageText'
+import {Divider} from '#/components/Divider'
 import {Loader} from '#/components/Loader'
-import * as Prompt from '#/components/Prompt'
-import {Text} from '#/components/Typography'
 import {logger} from '#/logger'
-import {isNative} from '#/platform/detection'
-import {
-  usePreferencesQuery,
-  useRemoveMutedWordMutation,
-  useUpsertMutedWordsMutation,
-} from '#/state/queries/preferences'
+import * as Dialog from '#/components/Dialog'
+import * as Toggle from '#/components/forms/Toggle'
+import * as Prompt from '#/components/Prompt'
+
+import {useGlobalDialogsControlContext} from '#/components/dialogs/Context'
 
 export function MutedWordsDialog() {
   const {mutedWordsDialogControl: control} = useGlobalDialogsControlContext()
diff --git a/src/components/forms/DateField/index.android.tsx b/src/components/forms/DateField/index.android.tsx
index 2a93ba883..451810a5e 100644
--- a/src/components/forms/DateField/index.android.tsx
+++ b/src/components/forms/DateField/index.android.tsx
@@ -1,18 +1,19 @@
-import {isAndroid} from 'platform/detection'
 import React from 'react'
-import {Pressable, View} from 'react-native'
-import DatePicker from 'react-native-date-picker'
+import {View, Pressable} from 'react-native'
+
+import {useTheme, atoms} from '#/alf'
+import {Text} from '#/components/Typography'
+import {useInteractionState} from '#/components/hooks/useInteractionState'
+import * as TextField from '#/components/forms/TextField'
+import {CalendarDays_Stroke2_Corner0_Rounded as CalendarDays} from '#/components/icons/CalendarDays'
 
-import {atoms, useTheme} from '#/alf'
 import {DateFieldProps} from '#/components/forms/DateField/types'
 import {
   localizeDate,
   toSimpleDateString,
 } from '#/components/forms/DateField/utils'
-import * as TextField from '#/components/forms/TextField'
-import {useInteractionState} from '#/components/hooks/useInteractionState'
-import {CalendarDays_Stroke2_Corner0_Rounded as CalendarDays} from '#/components/icons/CalendarDays'
-import {Text} from '#/components/Typography'
+import DatePicker from 'react-native-date-picker'
+import {isAndroid} from 'platform/detection'
 
 export * as utils from '#/components/forms/DateField/utils'
 export const Label = TextField.Label
diff --git a/src/components/forms/DateField/index.tsx b/src/components/forms/DateField/index.tsx
index 9bd1c7b81..49e47a01e 100644
--- a/src/components/forms/DateField/index.tsx
+++ b/src/components/forms/DateField/index.tsx
@@ -1,11 +1,11 @@
 import React from 'react'
 import {View} from 'react-native'
-import DatePicker from 'react-native-date-picker'
 
-import {atoms, useTheme} from '#/alf'
-import {DateFieldProps} from '#/components/forms/DateField/types'
-import {toSimpleDateString} from '#/components/forms/DateField/utils'
+import {useTheme, atoms} from '#/alf'
 import * as TextField from '#/components/forms/TextField'
+import {toSimpleDateString} from '#/components/forms/DateField/utils'
+import {DateFieldProps} from '#/components/forms/DateField/types'
+import DatePicker from 'react-native-date-picker'
 
 export * as utils from '#/components/forms/DateField/utils'
 export const Label = TextField.Label
diff --git a/src/components/forms/DateField/index.web.tsx b/src/components/forms/DateField/index.web.tsx
index 1c89cbae9..32f38a5d1 100644
--- a/src/components/forms/DateField/index.web.tsx
+++ b/src/components/forms/DateField/index.web.tsx
@@ -1,11 +1,11 @@
 import React from 'react'
-import {StyleSheet, TextInput, TextInputProps} from 'react-native'
+import {TextInput, TextInputProps, StyleSheet} from 'react-native'
 // @ts-ignore
 import {unstable_createElement} from 'react-native-web'
 
-import {DateFieldProps} from '#/components/forms/DateField/types'
-import {toSimpleDateString} from '#/components/forms/DateField/utils'
 import * as TextField from '#/components/forms/TextField'
+import {toSimpleDateString} from '#/components/forms/DateField/utils'
+import {DateFieldProps} from '#/components/forms/DateField/types'
 
 export * as utils from '#/components/forms/DateField/utils'
 export const Label = TextField.Label
diff --git a/src/components/forms/TextField.tsx b/src/components/forms/TextField.tsx
index 648be035b..b37f4bfae 100644
--- a/src/components/forms/TextField.tsx
+++ b/src/components/forms/TextField.tsx
@@ -1,19 +1,19 @@
-import {HITSLOP_20} from 'lib/constants'
 import React from 'react'
 import {
-  AccessibilityProps,
-  StyleSheet,
+  View,
   TextInput,
   TextInputProps,
   TextStyle,
-  View,
   ViewStyle,
+  StyleSheet,
+  AccessibilityProps,
 } from 'react-native'
 
-import {android, atoms as a, useTheme, web} from '#/alf'
+import {HITSLOP_20} from 'lib/constants'
+import {useTheme, atoms as a, web, android} from '#/alf'
+import {Text} from '#/components/Typography'
 import {useInteractionState} from '#/components/hooks/useInteractionState'
 import {Props as SVGIconProps} from '#/components/icons/common'
-import {Text} from '#/components/Typography'
 
 const Context = React.createContext<{
   inputRef: React.RefObject<TextInput> | null
diff --git a/src/components/forms/Toggle.tsx b/src/components/forms/Toggle.tsx
index 3846b8812..a83f92a2a 100644
--- a/src/components/forms/Toggle.tsx
+++ b/src/components/forms/Toggle.tsx
@@ -1,11 +1,11 @@
-import {HITSLOP_10} from 'lib/constants'
 import React from 'react'
 import {Pressable, View, ViewStyle} from 'react-native'
 
-import {atoms as a, flatten, native, useTheme, ViewStyleProp, web} from '#/alf'
+import {HITSLOP_10} from 'lib/constants'
+import {useTheme, atoms as a, web, native, flatten, ViewStyleProp} from '#/alf'
+import {Text} from '#/components/Typography'
 import {useInteractionState} from '#/components/hooks/useInteractionState'
 import {CheckThick_Stroke2_Corner0_Rounded as Checkmark} from '#/components/icons/Check'
-import {Text} from '#/components/Typography'
 
 export type ItemState = {
   name: string
diff --git a/src/components/forms/ToggleButton.tsx b/src/components/forms/ToggleButton.tsx
index 718f238da..7e1bd70b9 100644
--- a/src/components/forms/ToggleButton.tsx
+++ b/src/components/forms/ToggleButton.tsx
@@ -1,10 +1,11 @@
 import React from 'react'
-import {AccessibilityProps, TextStyle, View, ViewStyle} from 'react-native'
+import {View, AccessibilityProps, TextStyle, ViewStyle} from 'react-native'
 
-import {atoms as a, native, useTheme} from '#/alf'
-import * as Toggle from '#/components/forms/Toggle'
+import {atoms as a, useTheme, native} from '#/alf'
 import {Text} from '#/components/Typography'
 
+import * as Toggle from '#/components/forms/Toggle'
+
 export type ItemProps = Omit<Toggle.ItemProps, 'style' | 'role' | 'children'> &
   AccessibilityProps &
   React.PropsWithChildren<{testID?: string}>
diff --git a/src/components/icons/TEMPLATE.tsx b/src/components/icons/TEMPLATE.tsx
index f49c4280b..9fc147037 100644
--- a/src/components/icons/TEMPLATE.tsx
+++ b/src/components/icons/TEMPLATE.tsx
@@ -1,7 +1,7 @@
 import React from 'react'
 import Svg, {Path} from 'react-native-svg'
 
-import {Props, useCommonSVGProps} from '#/components/icons/common'
+import {useCommonSVGProps, Props} from '#/components/icons/common'
 
 export const IconTemplate_Stroke2_Corner0_Rounded = React.forwardRef(
   function LogoImpl(props: Props, ref) {
diff --git a/src/components/icons/common.ts b/src/components/icons/common.ts
index 669c157f5..9e9f15c4d 100644
--- a/src/components/icons/common.ts
+++ b/src/components/icons/common.ts
@@ -1,5 +1,5 @@
 import {StyleSheet, TextProps} from 'react-native'
-import type {PathProps, SvgProps} from 'react-native-svg'
+import type {SvgProps, PathProps} from 'react-native-svg'
 
 import {tokens} from '#/alf'