diff --git a/biome.json b/biome.json
index e46661481..977c5283c 100644
--- a/biome.json
+++ b/biome.json
@@ -28,8 +28,5 @@
"bracketSameLine": true,
"quoteStyle": "single"
}
- },
- "organizeImports": {
- "enabled": false
}
}
diff --git a/package.json b/package.json
index 2090d38cc..987babeb4 100644
--- a/package.json
+++ b/package.json
@@ -17,10 +17,8 @@
"e2e:test:ios-release": "detox test --configuration ios.release",
"e2e:test:android-debug": "DEV=true detox test --configuration android.debug",
"e2e:test:android-release": "detox test --configuration android.release",
- "format:check": "biome format ./src/**/*.{js,jsx,ts,tsx}",
- "format:fix": "biome format --write ./src/**/*.{js,jsx,ts,tsx}",
- "lint:check": "biome lint ./src/**/*.{js,jsx,ts,tsx}",
- "lint:fix": "biome lint --write ./src/**/*.{js,jsx,ts,tsx}",
+ "lint:check": "biome check ./src/**/*.{js,jsx,ts,tsx}",
+ "lint:fix": "biome check --write ./src/**/*.{js,jsx,ts,tsx}",
"tsc:check": "tsc -p tsconfig.json --noEmit",
"clean": "yarn clean:rn && yarn clean:ios && yarn clean:android && yarn start --reset-cache",
"clean:rn": "watchman watch-del-all && npx del-cli node_modules && yarn && npx del-cli /tmp/metro-*",
diff --git a/src/AppOnboarded.tsx b/src/AppOnboarded.tsx
index 9effebc50..ecda94f2f 100644
--- a/src/AppOnboarded.tsx
+++ b/src/AppOnboarded.tsx
@@ -1,28 +1,28 @@
-import React, { memo, ReactElement, useEffect, useRef } from 'react';
-import { AppState } from 'react-native';
import NetInfo from '@react-native-community/netinfo';
+import React, { memo, ReactElement, useEffect, useRef } from 'react';
import { useTranslation } from 'react-i18next';
+import { AppState } from 'react-native';
-import RootNavigator from './navigation/root/RootNavigator';
import InactivityTracker from './components/InactivityTracker';
-import { showToast } from './utils/notifications';
-import { startWalletServices } from './utils/startup';
-import { getOnChainWalletElectrumAsync } from './utils/wallet';
-import { unsubscribeFromLightningSubscriptions } from './utils/lightning';
import { useAppSelector } from './hooks/redux';
+import RootNavigator from './navigation/root/RootNavigator';
import { dispatch } from './store/helpers';
-import { updateUi } from './store/slices/ui';
-import { isOnlineSelector } from './store/reselect/ui';
import {
hideBalanceOnOpenSelector,
pinOnLaunchSelector,
pinSelector,
} from './store/reselect/settings';
+import { isOnlineSelector } from './store/reselect/ui';
import {
selectedNetworkSelector,
selectedWalletSelector,
} from './store/reselect/wallet';
import { updateSettings } from './store/slices/settings';
+import { updateUi } from './store/slices/ui';
+import { unsubscribeFromLightningSubscriptions } from './utils/lightning';
+import { showToast } from './utils/notifications';
+import { startWalletServices } from './utils/startup';
+import { getOnChainWalletElectrumAsync } from './utils/wallet';
// import { updateExchangeRates } from './store/actions/wallet';
const AppOnboarded = (): ReactElement => {
diff --git a/src/Root.tsx b/src/Root.tsx
index 622536d7c..8d0cb70fb 100644
--- a/src/Root.tsx
+++ b/src/Root.tsx
@@ -1,9 +1,9 @@
+import { EventEmitter } from 'events';
import React, { ReactElement } from 'react';
-import { View, StyleSheet } from 'react-native';
-import { PersistGate } from 'redux-persist/integration/react';
-import { enableScreens, enableFreeze } from 'react-native-screens';
+import { StyleSheet, View } from 'react-native';
+import { enableFreeze, enableScreens } from 'react-native-screens';
import { Provider } from 'react-redux';
-import { EventEmitter } from 'events';
+import { PersistGate } from 'redux-persist/integration/react';
import App from './App';
import ErrorBoundary from './ErrorBoundary';
diff --git a/src/components/ActivityHeader.tsx b/src/components/ActivityHeader.tsx
index 8af58efc2..94123fbe0 100644
--- a/src/components/ActivityHeader.tsx
+++ b/src/components/ActivityHeader.tsx
@@ -7,16 +7,16 @@ import {
ViewStyle,
} from 'react-native';
-import { EyeIcon } from '../styles/icons';
-import Money from './Money';
-import DetectSwipe from './DetectSwipe';
-import { useSwitchUnitAnnounced } from '../hooks/wallet';
import { useAppDispatch, useAppSelector } from '../hooks/redux';
-import { updateSettings } from '../store/slices/settings';
+import { useSwitchUnitAnnounced } from '../hooks/wallet';
import {
enableSwipeToHideBalanceSelector,
hideBalanceSelector,
} from '../store/reselect/settings';
+import { updateSettings } from '../store/slices/settings';
+import { EyeIcon } from '../styles/icons';
+import DetectSwipe from './DetectSwipe';
+import Money from './Money';
const ActivityHeader = ({
balance,
diff --git a/src/components/ActivityIndicator.tsx b/src/components/ActivityIndicator.tsx
index d067b504b..e015901a4 100644
--- a/src/components/ActivityIndicator.tsx
+++ b/src/components/ActivityIndicator.tsx
@@ -1,4 +1,3 @@
-import React, { ReactElement, useEffect, useMemo } from 'react';
import {
Canvas,
Path,
@@ -6,6 +5,7 @@ import {
SweepGradient,
vec,
} from '@shopify/react-native-skia';
+import React, { ReactElement, useEffect, useMemo } from 'react';
import Animated, {
Easing,
FadeIn,
diff --git a/src/components/AdjustValue.tsx b/src/components/AdjustValue.tsx
index 877708f01..bd9055f4b 100644
--- a/src/components/AdjustValue.tsx
+++ b/src/components/AdjustValue.tsx
@@ -1,13 +1,13 @@
import React, { ReactElement, ReactNode } from 'react';
import {
- View,
- TouchableOpacity,
- StyleSheet,
StyleProp,
+ StyleSheet,
+ TouchableOpacity,
+ View,
ViewStyle,
} from 'react-native';
-import { BodyMSB, BodySSB } from '../styles/text';
import { MinusCircledIcon, PlusCircledIcon } from '../styles/icons';
+import { BodyMSB, BodySSB } from '../styles/text';
type AdjustValueProps = {
value: ReactNode;
diff --git a/src/components/Amount.tsx b/src/components/Amount.tsx
index afd1588c8..00189d105 100644
--- a/src/components/Amount.tsx
+++ b/src/components/Amount.tsx
@@ -1,9 +1,9 @@
import React, { ReactElement } from 'react';
-import { View, StyleSheet, StyleProp, ViewStyle } from 'react-native';
+import { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';
-import { Display } from '../styles/text';
import { useCurrency } from '../hooks/displayValues';
import { EUnit } from '../store/types/wallet';
+import { Display } from '../styles/text';
const Amount = ({
value,
diff --git a/src/components/AmountToggle.tsx b/src/components/AmountToggle.tsx
index 5a2a32978..38a211c5e 100644
--- a/src/components/AmountToggle.tsx
+++ b/src/components/AmountToggle.tsx
@@ -1,8 +1,8 @@
import React, { memo, ReactElement } from 'react';
import { StyleProp, StyleSheet, ViewStyle } from 'react-native';
-import { Pressable } from '../styles/components';
import Money from '../components/Money';
+import { Pressable } from '../styles/components';
/**
* Displays the total amount of sats specified and it's corresponding fiat value.
diff --git a/src/components/AuthCheck.tsx b/src/components/AuthCheck.tsx
index e835ccf93..29426628a 100644
--- a/src/components/AuthCheck.tsx
+++ b/src/components/AuthCheck.tsx
@@ -1,13 +1,13 @@
+import { RouteProp } from '@react-navigation/native';
import React, { memo, ReactElement, useState } from 'react';
import { StyleSheet } from 'react-native';
-import { useAppSelector } from '../hooks/redux';
-import { RouteProp } from '@react-navigation/native';
import Animated, { FadeOut } from 'react-native-reanimated';
+import { useAppSelector } from '../hooks/redux';
+import { biometricsSelector } from '../store/reselect/settings';
import { View as ThemedView } from '../styles/components';
import Biometrics from './Biometrics';
import PinPad from './PinPad';
-import { biometricsSelector } from '../store/reselect/settings';
type AuthCheckProps = {
showBackNavigation?: boolean;
diff --git a/src/components/BalanceHeader.tsx b/src/components/BalanceHeader.tsx
index f064615c9..4524691bf 100644
--- a/src/components/BalanceHeader.tsx
+++ b/src/components/BalanceHeader.tsx
@@ -1,14 +1,14 @@
import React, { memo, ReactElement } from 'react';
+import { Trans, useTranslation } from 'react-i18next';
import { StyleSheet, TouchableOpacity, View } from 'react-native';
import { useAppDispatch, useAppSelector } from '../hooks/redux';
-import { Trans, useTranslation } from 'react-i18next';
-import { Caption13Up } from '../styles/text';
-import { EyeIcon } from '../styles/icons';
-import Money from './Money';
import { useBalance, useSwitchUnitAnnounced } from '../hooks/wallet';
-import { updateSettings } from '../store/slices/settings';
import { hideBalanceSelector } from '../store/reselect/settings';
+import { updateSettings } from '../store/slices/settings';
+import { EyeIcon } from '../styles/icons';
+import { Caption13Up } from '../styles/text';
+import Money from './Money';
/**
* Displays the total available balance for the current wallet & network.
diff --git a/src/components/Balances.tsx b/src/components/Balances.tsx
index d3947b785..2b0886a7d 100644
--- a/src/components/Balances.tsx
+++ b/src/components/Balances.tsx
@@ -1,18 +1,18 @@
-import React, { memo, ReactElement } from 'react';
-import { View, StyleSheet, TouchableOpacity } from 'react-native';
import { useNavigation } from '@react-navigation/native';
+import React, { memo, ReactElement } from 'react';
import { useTranslation } from 'react-i18next';
+import { StyleSheet, TouchableOpacity, View } from 'react-native';
+import { useBalance } from '../hooks/wallet';
+import { RootNavigationProp } from '../navigation/types';
+import { View as ThemedView } from '../styles/components';
import {
BitcoinCircleIcon,
LightningCircleIcon,
TransferIcon,
} from '../styles/icons';
import { Caption13Up } from '../styles/text';
-import { View as ThemedView } from '../styles/components';
import Money from './Money';
-import { useBalance } from '../hooks/wallet';
-import { RootNavigationProp } from '../navigation/types';
const Balance = ({
label,
diff --git a/src/components/BaseFeedWidget.tsx b/src/components/BaseFeedWidget.tsx
index 6f23c134b..4507d310e 100644
--- a/src/components/BaseFeedWidget.tsx
+++ b/src/components/BaseFeedWidget.tsx
@@ -1,24 +1,24 @@
import React, { memo, ReactElement, useState } from 'react';
-import { View, StyleSheet, StyleProp, ViewStyle } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';
+import { useAppDispatch, useAppSelector } from '../hooks/redux';
+import { useSlashfeed } from '../hooks/widgets';
import { rootNavigation } from '../navigation/root/RootNavigator';
+import { showWidgetTitlesSelector } from '../store/reselect/settings';
+import { deleteWidget } from '../store/slices/widgets';
import { TouchableOpacity } from '../styles/components';
-import { BodyMSB } from '../styles/text';
import {
- SettingsIcon,
ListIcon,
- TrashIcon,
QuestionMarkIcon,
+ SettingsIcon,
+ TrashIcon,
} from '../styles/icons';
-import { useAppDispatch, useAppSelector } from '../hooks/redux';
-import { useSlashfeed } from '../hooks/widgets';
+import { BodyMSB } from '../styles/text';
import { truncate } from '../utils/helpers';
-import { deleteWidget } from '../store/slices/widgets';
-import { showWidgetTitlesSelector } from '../store/reselect/settings';
import Dialog from './Dialog';
-import SvgImage from './SvgImage';
import LoadingView from './LoadingView';
+import SvgImage from './SvgImage';
const BaseFeedWidget = ({
url,
diff --git a/src/components/Biometrics.tsx b/src/components/Biometrics.tsx
index 8ad7a50fa..a45bb64b6 100644
--- a/src/components/Biometrics.tsx
+++ b/src/components/Biometrics.tsx
@@ -5,18 +5,18 @@ import React, {
useEffect,
useState,
} from 'react';
+import { useTranslation } from 'react-i18next';
import { StyleProp, StyleSheet, ViewStyle } from 'react-native';
-import { useSafeAreaInsets } from 'react-native-safe-area-context';
import { BiometryType } from 'react-native-biometrics';
-import { useTranslation } from 'react-i18next';
+import { useSafeAreaInsets } from 'react-native-safe-area-context';
-import { View, TouchableOpacity } from '../styles/components';
-import { Subtitle } from '../styles/text';
-import { FingerPrintIcon } from '../styles/icons';
import { useAppDispatch } from '../hooks/redux';
import { updateSettings } from '../store/slices/settings';
-import { vibrate } from '../utils/helpers';
+import { TouchableOpacity, View } from '../styles/components';
+import { FingerPrintIcon } from '../styles/icons';
+import { Subtitle } from '../styles/text';
import rnBiometrics from '../utils/biometrics';
+import { vibrate } from '../utils/helpers';
export interface IsSensorAvailableResult {
available: boolean;
diff --git a/src/components/BlocksWidget.tsx b/src/components/BlocksWidget.tsx
index 9785504e4..566e3d43c 100644
--- a/src/components/BlocksWidget.tsx
+++ b/src/components/BlocksWidget.tsx
@@ -1,15 +1,15 @@
+import { Reader } from '@synonymdev/slashtags-widget-bitcoin-feed';
import React, { memo, ReactElement, useEffect, useState } from 'react';
-import { View, StyleSheet, StyleProp, ViewStyle } from 'react-native';
import { useTranslation } from 'react-i18next';
-import { Reader } from '@synonymdev/slashtags-widget-bitcoin-feed';
+import { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';
-import { CaptionB, BodyMSB, BodySSB } from '../styles/text';
-import BaseFeedWidget from './BaseFeedWidget';
-import { TFeedWidget } from '../store/types/widgets';
-import { useSlashfeed } from '../hooks/widgets';
-import { decodeWidgetFieldValue, SUPPORTED_FEED_TYPES } from '../utils/widgets';
-import { useSlashtags } from '../hooks/slashtags';
import { __E2E__ } from '../constants/env';
+import { useSlashtags } from '../hooks/slashtags';
+import { useSlashfeed } from '../hooks/widgets';
+import { TFeedWidget } from '../store/types/widgets';
+import { BodyMSB, BodySSB, CaptionB } from '../styles/text';
+import { SUPPORTED_FEED_TYPES, decodeWidgetFieldValue } from '../utils/widgets';
+import BaseFeedWidget from './BaseFeedWidget';
const mapping = {
Block: 'height',
diff --git a/src/components/BlurView.tsx b/src/components/BlurView.tsx
index 0ec0e3acd..a934145a1 100644
--- a/src/components/BlurView.tsx
+++ b/src/components/BlurView.tsx
@@ -1,6 +1,6 @@
-import React, { ReactElement, ReactNode } from 'react';
-import { StyleSheet, Platform, StyleProp, ViewStyle } from 'react-native';
import { BlurView as Blur } from '@react-native-community/blur';
+import React, { ReactElement, ReactNode } from 'react';
+import { Platform, StyleProp, StyleSheet, ViewStyle } from 'react-native';
import { View } from '../styles/components';
type BlurViewProps = {
diff --git a/src/components/BottomSheetScreen.tsx b/src/components/BottomSheetScreen.tsx
index eb7bb472e..7d33dbbe5 100644
--- a/src/components/BottomSheetScreen.tsx
+++ b/src/components/BottomSheetScreen.tsx
@@ -7,9 +7,9 @@ import {
View,
} from 'react-native';
-import { BodyM, Display } from '../styles/text';
import BottomSheetNavigationHeader from '../components/BottomSheetNavigationHeader';
import SafeAreaInset from '../components/SafeAreaInset';
+import { BodyM, Display } from '../styles/text';
import Button from './buttons/Button';
const BottomSheetScreen = ({
diff --git a/src/components/BottomSheetWrapper.tsx b/src/components/BottomSheetWrapper.tsx
index 68df764b8..755c1efaa 100644
--- a/src/components/BottomSheetWrapper.tsx
+++ b/src/components/BottomSheetWrapper.tsx
@@ -18,6 +18,12 @@
* getStore().user.viewController['viewName'].isOpen;
***********************************************************************************/
+import BottomSheet, {
+ BottomSheetView,
+ BottomSheetBackdrop,
+ BottomSheetBackgroundProps,
+ BottomSheetBackdropProps,
+} from '@gorhom/bottom-sheet';
import React, {
memo,
ReactElement,
@@ -31,20 +37,14 @@ import React, {
} from 'react';
import { StyleSheet } from 'react-native';
import { useReducedMotion } from 'react-native-reanimated';
-import BottomSheet, {
- BottomSheetView,
- BottomSheetBackdrop,
- BottomSheetBackgroundProps,
- BottomSheetBackdropProps,
-} from '@gorhom/bottom-sheet';
import { useTheme } from 'styled-components/native';
+import { __E2E__ } from '../constants/env';
+import { useAppDispatch, useAppSelector } from '../hooks/redux';
+import { viewControllerSelector } from '../store/reselect/ui';
import { closeSheet } from '../store/slices/ui';
import { TViewController } from '../store/types/ui';
-import { viewControllerSelector } from '../store/reselect/ui';
-import { useAppDispatch, useAppSelector } from '../hooks/redux';
import BottomSheetBackground from './BottomSheetBackground';
-import { __E2E__ } from '../constants/env';
export interface BottomSheetWrapperProps {
children: ReactElement;
diff --git a/src/components/Camera.tsx b/src/components/Camera.tsx
index 573b153f4..0951c7877 100644
--- a/src/components/Camera.tsx
+++ b/src/components/Camera.tsx
@@ -1,9 +1,9 @@
-import React, { ReactElement, useState, useEffect } from 'react';
-import { StyleSheet, Platform, View } from 'react-native';
import { useIsFocused } from '@react-navigation/native';
-import { check, request, PERMISSIONS, RESULTS } from 'react-native-permissions';
-import { Camera as CameraKit, CameraType } from 'react-native-camera-kit';
+import React, { ReactElement, useState, useEffect } from 'react';
import { useTranslation } from 'react-i18next';
+import { Platform, StyleSheet, View } from 'react-native';
+import { Camera as CameraKit, CameraType } from 'react-native-camera-kit';
+import { PERMISSIONS, RESULTS, check, request } from 'react-native-permissions';
import CameraNoAuth from './CameraNoAuth';
import GradientView from './GradientView';
diff --git a/src/components/CameraNoAuth.tsx b/src/components/CameraNoAuth.tsx
index 1dcf0d4aa..2926cba50 100644
--- a/src/components/CameraNoAuth.tsx
+++ b/src/components/CameraNoAuth.tsx
@@ -1,13 +1,13 @@
import React, { ReactElement } from 'react';
-import { View, Linking, Platform, StyleSheet } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { Linking, Platform, StyleSheet, View } from 'react-native';
-import { BodyM, BodyMB } from '../styles/text';
import { ExclamationIcon } from '../styles/icons';
-import SafeAreaView from './SafeAreaView';
-import NavigationHeader from './NavigationHeader';
+import { BodyM, BodyMB } from '../styles/text';
import BottomSheetNavigationHeader from './BottomSheetNavigationHeader';
+import NavigationHeader from './NavigationHeader';
import SafeAreaInset from './SafeAreaInset';
+import SafeAreaView from './SafeAreaView';
import Button from './buttons/Button';
const CameraNoAuth = ({
diff --git a/src/components/ContactSmall.tsx b/src/components/ContactSmall.tsx
index 235cd93be..1c68cb59b 100644
--- a/src/components/ContactSmall.tsx
+++ b/src/components/ContactSmall.tsx
@@ -1,11 +1,11 @@
import React, { ReactElement, memo } from 'react';
import { StyleProp, StyleSheet, ViewStyle } from 'react-native';
+import { useProfile } from '../hooks/slashtags';
import { TouchableHighlight, TouchableOpacity } from '../styles/components';
+import { XIcon } from '../styles/icons';
import { BodySSB } from '../styles/text';
-import { useProfile } from '../hooks/slashtags';
import ProfileImage from './ProfileImage';
-import { XIcon } from '../styles/icons';
const ContactSmall = ({
url,
diff --git a/src/components/ContactsList.tsx b/src/components/ContactsList.tsx
index b9dceb864..1ba4ea4b4 100644
--- a/src/components/ContactsList.tsx
+++ b/src/components/ContactsList.tsx
@@ -1,19 +1,19 @@
+import { BottomSheetSectionList } from '@gorhom/bottom-sheet';
import React, { ReactElement, useCallback, useMemo } from 'react';
-import { View, SectionList, StyleSheet, TouchableOpacity } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { SectionList, StyleSheet, TouchableOpacity, View } from 'react-native';
import { useAppSelector } from '../hooks/redux';
-import { BottomSheetSectionList } from '@gorhom/bottom-sheet';
-import ProfileImage from './ProfileImage';
-import SlashtagURL from './SlashtagURL';
-import Divider from './Divider';
-import { View as ThemedView } from '../styles/components';
-import { Caption13Up, BodyMSB } from '../styles/text';
import { useProfile, useSlashtags } from '../hooks/slashtags';
+import { contactsSelector } from '../store/reselect/slashtags';
import { IContactRecord } from '../store/types/slashtags';
-import { truncate } from '../utils/helpers';
+import { View as ThemedView } from '../styles/components';
+import { BodyMSB, Caption13Up } from '../styles/text';
import { IThemeColors } from '../styles/themes';
-import { contactsSelector } from '../store/reselect/slashtags';
+import { truncate } from '../utils/helpers';
+import Divider from './Divider';
+import ProfileImage from './ProfileImage';
+import SlashtagURL from './SlashtagURL';
export const ContactItem = ({
contact,
diff --git a/src/components/DetectSwipe.tsx b/src/components/DetectSwipe.tsx
index a21b963e4..d65fdadb3 100644
--- a/src/components/DetectSwipe.tsx
+++ b/src/components/DetectSwipe.tsx
@@ -1,7 +1,7 @@
import React, { memo, MutableRefObject, ReactElement, useRef } from 'react';
import {
- GestureDetector,
Gesture,
+ GestureDetector,
GestureType,
} from 'react-native-gesture-handler';
diff --git a/src/components/Dialog.tsx b/src/components/Dialog.tsx
index dfc327200..aca3ce4d3 100644
--- a/src/components/Dialog.tsx
+++ b/src/components/Dialog.tsx
@@ -1,13 +1,13 @@
import React, { memo, ReactElement, useMemo } from 'react';
+import { useTranslation } from 'react-i18next';
import {
+ Platform,
StyleSheet,
Text,
- View,
- Platform,
TouchableOpacity,
+ View,
} from 'react-native';
import Modal from 'react-native-modal';
-import { useTranslation } from 'react-i18next';
import colors from '../styles/colors';
import { IThemeColors } from '../styles/themes';
diff --git a/src/components/FactsWidget.tsx b/src/components/FactsWidget.tsx
index 6d03e7539..a4cc6dfe0 100644
--- a/src/components/FactsWidget.tsx
+++ b/src/components/FactsWidget.tsx
@@ -1,11 +1,11 @@
+import { Reader } from '@synonymdev/slashtags-widget-facts-feed';
import React, { memo, ReactElement, useEffect, useState } from 'react';
-import { StyleProp, ViewStyle } from 'react-native';
import { useTranslation } from 'react-i18next';
-import { Reader } from '@synonymdev/slashtags-widget-facts-feed';
+import { StyleProp, ViewStyle } from 'react-native';
+import { useSlashtags } from '../hooks/slashtags';
import { Title } from '../styles/text';
import { showToast } from '../utils/notifications';
-import { useSlashtags } from '../hooks/slashtags';
import BaseFeedWidget from './BaseFeedWidget';
const FactsWidget = ({
diff --git a/src/components/FeedWidget.tsx b/src/components/FeedWidget.tsx
index 36740141a..e6a10189f 100644
--- a/src/components/FeedWidget.tsx
+++ b/src/components/FeedWidget.tsx
@@ -1,10 +1,10 @@
import React, { memo, ReactElement } from 'react';
-import { View, StyleSheet, StyleProp, ViewStyle } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';
-import { CaptionB, BodyMSB, BodySSB } from '../styles/text';
-import { TFeedWidget } from '../store/types/widgets';
import { useSlashfeed } from '../hooks/widgets';
+import { TFeedWidget } from '../store/types/widgets';
+import { BodyMSB, BodySSB, CaptionB } from '../styles/text';
import BaseFeedWidget from './BaseFeedWidget';
const FeedWidget = ({
diff --git a/src/components/Glow.tsx b/src/components/Glow.tsx
index 411ce2804..ca5b4db6f 100644
--- a/src/components/Glow.tsx
+++ b/src/components/Glow.tsx
@@ -1,6 +1,6 @@
+import { Canvas, RadialGradient, Rect, vec } from '@shopify/react-native-skia';
import React, { memo, ReactElement, useMemo, useEffect } from 'react';
import { useSharedValue, withTiming } from 'react-native-reanimated';
-import { Canvas, RadialGradient, Rect, vec } from '@shopify/react-native-skia';
import useColors from '../hooks/colors';
import { IThemeColors } from '../styles/themes';
diff --git a/src/components/GradientBackground.tsx b/src/components/GradientBackground.tsx
index d24fd1bdc..18afb9b70 100644
--- a/src/components/GradientBackground.tsx
+++ b/src/components/GradientBackground.tsx
@@ -1,3 +1,4 @@
+import { Canvas, LinearGradient, Rect, vec } from '@shopify/react-native-skia';
import React, { ReactElement, ReactNode, useState } from 'react';
import {
LayoutChangeEvent,
@@ -5,7 +6,6 @@ import {
StyleSheet,
ViewStyle,
} from 'react-native';
-import { Canvas, LinearGradient, Rect, vec } from '@shopify/react-native-skia';
import { View as ThemedView } from '../styles/components';
const GradientBackground = ({
diff --git a/src/components/GradientView.tsx b/src/components/GradientView.tsx
index 5b81cfa61..b29bfd39b 100644
--- a/src/components/GradientView.tsx
+++ b/src/components/GradientView.tsx
@@ -1,10 +1,10 @@
import React, { memo, ReactElement, ReactNode } from 'react';
import {
- View,
Image,
ImageSourcePropType,
StyleProp,
StyleSheet,
+ View,
ViewStyle,
} from 'react-native';
diff --git a/src/components/HeadlinesWidget.tsx b/src/components/HeadlinesWidget.tsx
index dececb746..d1f5a0c0b 100644
--- a/src/components/HeadlinesWidget.tsx
+++ b/src/components/HeadlinesWidget.tsx
@@ -1,18 +1,18 @@
+import Reader from '@synonymdev/slashtags-widget-news-feed/lib/reader';
import React, { memo, ReactElement, useEffect, useState } from 'react';
+import { useTranslation } from 'react-i18next';
import {
- View,
- TouchableOpacity,
- StyleSheet,
StyleProp,
+ StyleSheet,
+ TouchableOpacity,
+ View,
ViewStyle,
} from 'react-native';
-import { useTranslation } from 'react-i18next';
-import Reader from '@synonymdev/slashtags-widget-news-feed/lib/reader';
+import { useSlashtags } from '../hooks/slashtags';
import { BodyM, CaptionB, Title } from '../styles/text';
import { openAppURL, timeAgo } from '../utils/helpers';
import { showToast } from '../utils/notifications';
-import { useSlashtags } from '../hooks/slashtags';
import BaseFeedWidget from './BaseFeedWidget';
type Article = {
diff --git a/src/components/HourglassSpinner.tsx b/src/components/HourglassSpinner.tsx
index d211ed631..be9c7c9e9 100644
--- a/src/components/HourglassSpinner.tsx
+++ b/src/components/HourglassSpinner.tsx
@@ -1,16 +1,16 @@
import React, { ReactElement } from 'react';
import {
- View,
- StyleSheet,
- StyleProp,
- ViewStyle,
Image,
ImageSourcePropType,
+ StyleProp,
+ StyleSheet,
+ View,
+ ViewStyle,
} from 'react-native';
import { Easing, withRepeat, withTiming } from 'react-native-reanimated';
-import { AnimatedView } from '../styles/components';
import { __E2E__ } from '../constants/env';
+import { AnimatedView } from '../styles/components';
const imageSrc = require('../assets/illustrations/hourglass.png');
diff --git a/src/components/ImageText.tsx b/src/components/ImageText.tsx
index 3ea4b5f30..1b09d35e4 100644
--- a/src/components/ImageText.tsx
+++ b/src/components/ImageText.tsx
@@ -1,8 +1,8 @@
import React, { memo, ReactElement } from 'react';
-import { View, TouchableOpacity, StyleSheet } from 'react-native';
-import { BodyMSB, BodySSB } from '../styles/text';
-import { PencilIcon } from '../styles/icons';
+import { StyleSheet, TouchableOpacity, View } from 'react-native';
import Money from '../components/Money';
+import { PencilIcon } from '../styles/icons';
+import { BodyMSB, BodySSB } from '../styles/text';
const ImageText = ({
title,
diff --git a/src/components/InactivityTracker.tsx b/src/components/InactivityTracker.tsx
index a546cffbe..b5439212f 100644
--- a/src/components/InactivityTracker.tsx
+++ b/src/components/InactivityTracker.tsx
@@ -5,13 +5,13 @@ import React, {
useMemo,
useRef,
} from 'react';
-import { View, PanResponder, StyleSheet, Keyboard } from 'react-native';
+import { Keyboard, PanResponder, StyleSheet, View } from 'react-native';
import { useAppDispatch, useAppSelector } from '../hooks/redux';
-import { updateUi } from '../store/slices/ui';
+import { __E2E__ } from '../constants/env';
import { pinOnIdleSelector, pinSelector } from '../store/reselect/settings';
import { isAuthenticatedSelector } from '../store/reselect/ui';
-import { __E2E__ } from '../constants/env';
+import { updateUi } from '../store/slices/ui';
const INACTIVITY_DELAY = __E2E__ ? 5000 : 1000 * 90; // 90 seconds;
diff --git a/src/components/InfoScreen.tsx b/src/components/InfoScreen.tsx
index 0e2b7f4ec..802edf28f 100644
--- a/src/components/InfoScreen.tsx
+++ b/src/components/InfoScreen.tsx
@@ -1,11 +1,11 @@
import React, { ReactElement } from 'react';
-import { View, Image, ImageSourcePropType, StyleSheet } from 'react-native';
+import { Image, ImageSourcePropType, StyleSheet, View } from 'react-native';
-import { Display, BodyM } from '../styles/text';
import { View as ThemedView } from '../styles/components';
+import { BodyM, Display } from '../styles/text';
+import NavigationHeader from './NavigationHeader';
import SafeAreaInset from './SafeAreaInset';
import Button from './buttons/Button';
-import NavigationHeader from './NavigationHeader';
const InfoScreen = ({
navTitle,
diff --git a/src/components/IntroScreen.tsx b/src/components/IntroScreen.tsx
index 338951725..ff8012594 100644
--- a/src/components/IntroScreen.tsx
+++ b/src/components/IntroScreen.tsx
@@ -1,12 +1,12 @@
import React, { ReactElement } from 'react';
-import { Image, ImageSourcePropType, StyleSheet, View } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { Image, ImageSourcePropType, StyleSheet, View } from 'react-native';
-import { Display, BodyM } from '../styles/text';
+import { IColors } from '../styles/colors';
import { View as ThemedView } from '../styles/components';
+import { BodyM, Display } from '../styles/text';
import SafeAreaInset from './SafeAreaInset';
import Button from './buttons/Button';
-import { IColors } from '../styles/colors';
const IntroScreen = ({
accentColor,
diff --git a/src/components/Jdenticon.tsx b/src/components/Jdenticon.tsx
index 9e473caaa..82b08ef99 100644
--- a/src/components/Jdenticon.tsx
+++ b/src/components/Jdenticon.tsx
@@ -1,5 +1,5 @@
-import React, { ReactElement } from 'react';
import jdenticon, { JdenticonConfig } from 'jdenticon';
+import React, { ReactElement } from 'react';
import { SvgXml } from 'react-native-svg';
const Jdenticon = ({
diff --git a/src/components/KeyboardAvoidingView.tsx b/src/components/KeyboardAvoidingView.tsx
index ce7d1e4e8..617e3b9f2 100644
--- a/src/components/KeyboardAvoidingView.tsx
+++ b/src/components/KeyboardAvoidingView.tsx
@@ -1,10 +1,10 @@
import React, { ReactElement } from 'react';
-import Animated from 'react-native-reanimated';
import {
+ KeyboardAvoidingViewProps,
Platform,
KeyboardAvoidingView as RNKeyboardAvoidingView,
- KeyboardAvoidingViewProps,
} from 'react-native';
+import Animated from 'react-native-reanimated';
import useKeyboard from '../hooks/keyboard';
diff --git a/src/components/LabeledInput.tsx b/src/components/LabeledInput.tsx
index 621816f32..96dfa18a2 100644
--- a/src/components/LabeledInput.tsx
+++ b/src/components/LabeledInput.tsx
@@ -1,7 +1,7 @@
import React, { ReactElement, RefObject } from 'react';
-import { View, StyleSheet, ViewStyle, StyleProp } from 'react-native';
-import { TextInput, BottomSheetTextInput } from '../styles/components';
-import { Caption13Up, BodyS } from '../styles/text';
+import { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';
+import { BottomSheetTextInput, TextInput } from '../styles/components';
+import { BodyS, Caption13Up } from '../styles/text';
import { IThemeColors } from '../styles/themes';
type LabeledInputProps = {
diff --git a/src/components/LightningChannel.tsx b/src/components/LightningChannel.tsx
index 1c763ef1b..a955bde74 100644
--- a/src/components/LightningChannel.tsx
+++ b/src/components/LightningChannel.tsx
@@ -1,12 +1,12 @@
import React, { ReactElement, memo } from 'react';
-import { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';
-import { Caption13Up } from '../styles/text';
-import { DownArrow, UpArrow } from '../styles/icons';
+import { EUnit } from '../store/types/wallet';
import { View as ThemedView } from '../styles/components';
+import { DownArrow, UpArrow } from '../styles/icons';
+import { Caption13Up } from '../styles/text';
import { IThemeColors } from '../styles/themes';
-import { EUnit } from '../store/types/wallet';
import Money from './Money';
export type TStatus = 'pending' | 'open' | 'closed';
diff --git a/src/components/LightningSyncing.tsx b/src/components/LightningSyncing.tsx
index 823028237..bc1cfd74f 100644
--- a/src/components/LightningSyncing.tsx
+++ b/src/components/LightningSyncing.tsx
@@ -1,4 +1,5 @@
import React, { ReactElement, useEffect, useState } from 'react';
+import { useTranslation } from 'react-i18next';
import { Image, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';
import {
Easing,
@@ -8,17 +9,16 @@ import {
withRepeat,
withTiming,
} from 'react-native-reanimated';
-import { useTranslation } from 'react-i18next';
-import { BodyM, BodySSB } from '../styles/text';
+import { __E2E__ } from '../constants/env';
+import { useAppSelector } from '../hooks/redux';
+import { isLDKReadySelector } from '../store/reselect/ui';
import { AnimatedView } from '../styles/components';
-import SafeAreaInset from './SafeAreaInset';
+import { BodyM, BodySSB } from '../styles/text';
import BottomSheetNavigationHeader from './BottomSheetNavigationHeader';
import GradientView from './GradientView';
+import SafeAreaInset from './SafeAreaInset';
import SyncSpinner from './SyncSpinner';
-import { useAppSelector } from '../hooks/redux';
-import { isLDKReadySelector } from '../store/reselect/ui';
-import { __E2E__ } from '../constants/env';
const imageSrc = require('../assets/illustrations/lightning.png');
diff --git a/src/components/List.tsx b/src/components/List.tsx
index 0a65198a4..1480df4d2 100644
--- a/src/components/List.tsx
+++ b/src/components/List.tsx
@@ -1,27 +1,27 @@
+import isEqual from 'lodash/isEqual';
import React, { memo, ReactElement, useCallback } from 'react';
import {
- View,
+ ActivityIndicator,
SectionList,
StyleProp,
StyleSheet,
- ViewStyle,
TouchableOpacity,
- ActivityIndicator,
+ View,
+ ViewStyle,
} from 'react-native';
import { SvgProps } from 'react-native-svg';
-import isEqual from 'lodash/isEqual';
+import Switch from '../components/Switch';
+import DraggableList from '../screens/Settings/PaymentPreference/DraggableList';
+import { Checkmark, ChevronRight } from '../styles/icons';
import {
BodyM,
BodyMSB,
BodyS,
BodySSB,
- Caption13Up,
Caption,
+ Caption13Up,
} from '../styles/text';
-import { ChevronRight, Checkmark } from '../styles/icons';
-import Switch from '../components/Switch';
-import DraggableList from '../screens/Settings/PaymentPreference/DraggableList';
const _SectionHeader = memo(
({
diff --git a/src/components/LoadingView.tsx b/src/components/LoadingView.tsx
index 18c39d322..b66b65c3c 100644
--- a/src/components/LoadingView.tsx
+++ b/src/components/LoadingView.tsx
@@ -1,5 +1,5 @@
import React, { ReactElement, memo, useEffect, useState } from 'react';
-import { View, StyleProp, StyleSheet, ViewStyle } from 'react-native';
+import { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';
import Animated, {
cancelAnimation,
Easing,
diff --git a/src/components/LuganoFeedWidget.tsx b/src/components/LuganoFeedWidget.tsx
index 2478448bd..ecb23e4d9 100644
--- a/src/components/LuganoFeedWidget.tsx
+++ b/src/components/LuganoFeedWidget.tsx
@@ -1,21 +1,21 @@
import React, { memo, ReactElement, useEffect, useState } from 'react';
import {
- View,
- StyleSheet,
- StyleProp,
- ViewStyle,
Image,
+ StyleProp,
+ StyleSheet,
TouchableOpacity,
+ View,
+ ViewStyle,
} from 'react-native';
-import { CaptionB, BodyMSB, BodySSB } from '../styles/text';
-import BaseFeedWidget from './BaseFeedWidget';
+import { BodyMSB, BodySSB, CaptionB } from '../styles/text';
import { openURL } from '../utils/helpers';
+import BaseFeedWidget from './BaseFeedWidget';
+import { useAppSelector } from '../hooks/redux';
import { useSlashfeed } from '../hooks/widgets';
-import Button from './buttons/Button';
import { CalendarIcon, MapPinLineIcon, MapTrifoldIcon } from '../styles/icons';
-import { useAppSelector } from '../hooks/redux';
+import Button from './buttons/Button';
const cache = {
banner: '',
diff --git a/src/components/Money.tsx b/src/components/Money.tsx
index 91ed02565..7005ff414 100644
--- a/src/components/Money.tsx
+++ b/src/components/Money.tsx
@@ -1,25 +1,25 @@
import React, { memo, ReactElement, useMemo } from 'react';
import { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';
+import { useDisplayValues } from '../hooks/displayValues';
+import { useAppSelector } from '../hooks/redux';
+import {
+ denominationSelector,
+ hideBalanceSelector,
+ nextUnitSelector,
+ unitSelector,
+} from '../store/reselect/settings';
+import { EDenomination, EUnit } from '../store/types/wallet';
import {
- CaptionB,
- Caption13Up,
- Display,
BodyMSB,
BodySSB,
+ Caption13Up,
+ CaptionB,
+ Display,
Title,
} from '../styles/text';
import { IThemeColors } from '../styles/themes';
-import { useAppSelector } from '../hooks/redux';
-import { useDisplayValues } from '../hooks/displayValues';
import { abbreviateNumber } from '../utils/helpers';
-import { EDenomination, EUnit } from '../store/types/wallet';
-import {
- unitSelector,
- hideBalanceSelector,
- denominationSelector,
- nextUnitSelector,
-} from '../store/reselect/settings';
type TSize =
| 'display'
diff --git a/src/components/NavigationHeader.tsx b/src/components/NavigationHeader.tsx
index 77c5e0246..6a144f7f8 100644
--- a/src/components/NavigationHeader.tsx
+++ b/src/components/NavigationHeader.tsx
@@ -1,18 +1,18 @@
+import { useNavigation } from '@react-navigation/native';
import React, { memo, ReactElement, useCallback, useMemo } from 'react';
import {
- View,
+ GestureResponderEvent,
StyleProp,
StyleSheet,
+ View,
ViewStyle,
- GestureResponderEvent,
} from 'react-native';
-import { useNavigation } from '@react-navigation/native';
-import { Subtitle, Title } from '../styles/text';
-import { BackIcon, XIcon } from '../styles/icons';
import { Keyboard } from '../hooks/keyboard';
-import { Pressable } from '../styles/components';
import { RootNavigationProp } from '../navigation/types';
+import { Pressable } from '../styles/components';
+import { BackIcon, XIcon } from '../styles/icons';
+import { Subtitle, Title } from '../styles/text';
export const HEADER_HEIGHT = 46;
diff --git a/src/components/NumberPad.tsx b/src/components/NumberPad.tsx
index 15c017975..d9a9f891e 100644
--- a/src/components/NumberPad.tsx
+++ b/src/components/NumberPad.tsx
@@ -1,8 +1,8 @@
import React, { memo, ReactElement } from 'react';
-import { View, StyleSheet, ViewStyle, StyleProp } from 'react-native';
+import { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';
import { Pressable } from '../styles/components';
-import { Text } from '../styles/text';
import { BackspaceIcon } from '../styles/icons';
+import { Text } from '../styles/text';
import { vibrate } from '../utils/helpers';
const ACTIVE_OPACITY = 0.2;
diff --git a/src/components/NumberPadTextField.tsx b/src/components/NumberPadTextField.tsx
index db8ec9246..fca84acfd 100644
--- a/src/components/NumberPadTextField.tsx
+++ b/src/components/NumberPadTextField.tsx
@@ -1,5 +1,4 @@
import React, { memo, ReactElement } from 'react';
-import { useAppSelector } from '../hooks/redux';
import {
Pressable,
StyleProp,
@@ -7,21 +6,22 @@ import {
View,
ViewStyle,
} from 'react-native';
+import { useAppSelector } from '../hooks/redux';
-import { Display } from '../styles/text';
-import Money from './Money';
-import { EDenomination, EUnit } from '../store/types/wallet';
+import { useCurrency } from '../hooks/displayValues';
import {
conversionUnitSelector,
denominationSelector,
unitSelector,
} from '../store/reselect/settings';
+import { EDenomination, EUnit } from '../store/types/wallet';
+import { Display } from '../styles/text';
import { convertToSats } from '../utils/conversion';
-import { useCurrency } from '../hooks/displayValues';
import {
getDisplayValues,
getFiatDisplayValuesForFiat,
} from '../utils/displayValues';
+import Money from './Money';
const NumberPadTextField = ({
value,
diff --git a/src/components/OnboardingScreen.tsx b/src/components/OnboardingScreen.tsx
index 3e422dd5a..8617af519 100644
--- a/src/components/OnboardingScreen.tsx
+++ b/src/components/OnboardingScreen.tsx
@@ -1,11 +1,11 @@
import React, { ReactElement } from 'react';
-import { View, Image, ImageSourcePropType, StyleSheet } from 'react-native';
+import { Image, ImageSourcePropType, StyleSheet, View } from 'react-native';
-import { Display, BodyM, Title } from '../styles/text';
import { View as ThemedView } from '../styles/components';
+import { BodyM, Display, Title } from '../styles/text';
+import NavigationHeader from './NavigationHeader';
import SafeAreaInset from './SafeAreaInset';
import Button from './buttons/Button';
-import NavigationHeader from './NavigationHeader';
const OnboardingScreen = ({
navTitle,
diff --git a/src/components/Percentage.tsx b/src/components/Percentage.tsx
index 370a1f2b9..ae4b83cd6 100644
--- a/src/components/Percentage.tsx
+++ b/src/components/Percentage.tsx
@@ -1,7 +1,7 @@
import React, { ReactElement } from 'react';
import { Platform, StyleProp, StyleSheet, View, ViewStyle } from 'react-native';
-import { Headline, BodyMB } from '../styles/text';
import { BitcoinCircleIcon, LightningCircleIcon } from '../styles/icons';
+import { BodyMB, Headline } from '../styles/text';
type PercentageProps = {
value: number;
diff --git a/src/components/PriceChart.tsx b/src/components/PriceChart.tsx
index 914d13051..9693b2614 100644
--- a/src/components/PriceChart.tsx
+++ b/src/components/PriceChart.tsx
@@ -1,30 +1,30 @@
-import React, { useState, ReactElement, useEffect, useMemo } from 'react';
-import {
- View,
- StyleProp,
- StyleSheet,
- ViewStyle,
- useWindowDimensions,
-} from 'react-native';
import {
- Skia,
Canvas,
+ CornerPathEffect,
LinearGradient,
- vec,
+ Mask,
Path,
- CornerPathEffect,
+ Rect,
+ Skia,
Text,
useFont,
- Mask,
- Rect,
+ vec,
} from '@shopify/react-native-skia';
import { Reader } from '@synonymdev/slashtags-widget-price-feed';
import { Pair } from '@synonymdev/slashtags-widget-price-feed/types/lib/reader';
+import React, { useState, ReactElement, useEffect, useMemo } from 'react';
+import {
+ StyleProp,
+ StyleSheet,
+ View,
+ ViewStyle,
+ useWindowDimensions,
+} from 'react-native';
-import { IThemeColors } from '../styles/themes';
-import { SlashFeedJSON, TGraphPeriod } from '../store/types/widgets';
import useColors from '../hooks/colors';
import { useSlashtags } from '../hooks/slashtags';
+import { SlashFeedJSON, TGraphPeriod } from '../store/types/widgets';
+import { IThemeColors } from '../styles/themes';
export type Change = {
color: keyof IThemeColors;
diff --git a/src/components/PriceWidget.tsx b/src/components/PriceWidget.tsx
index 681b497af..abbb99bfa 100644
--- a/src/components/PriceWidget.tsx
+++ b/src/components/PriceWidget.tsx
@@ -1,17 +1,17 @@
-import React, { memo, ReactElement, useEffect, useState } from 'react';
-import { View, StyleProp, StyleSheet, ViewStyle } from 'react-native';
-import { useTranslation } from 'react-i18next';
import { Reader } from '@synonymdev/slashtags-widget-price-feed';
import { Pair } from '@synonymdev/slashtags-widget-price-feed/types/lib/reader';
+import React, { memo, ReactElement, useEffect, useState } from 'react';
+import { useTranslation } from 'react-i18next';
+import { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';
-import { CaptionB, BodySSB } from '../styles/text';
+import { __E2E__ } from '../constants/env';
+import { useSlashtags } from '../hooks/slashtags';
import { useSlashfeed } from '../hooks/widgets';
import { TFeedWidget } from '../store/types/widgets';
+import { BodySSB, CaptionB } from '../styles/text';
+import { SUPPORTED_FEED_TYPES, decodeWidgetFieldValue } from '../utils/widgets';
import BaseFeedWidget from './BaseFeedWidget';
import { Change, Chart, getChange } from './PriceChart';
-import { decodeWidgetFieldValue, SUPPORTED_FEED_TYPES } from '../utils/widgets';
-import { useSlashtags } from '../hooks/slashtags';
-import { __E2E__ } from '../constants/env';
type TField = {
name: string;
diff --git a/src/components/ProfileCard.tsx b/src/components/ProfileCard.tsx
index 3be855198..912ace9a6 100644
--- a/src/components/ProfileCard.tsx
+++ b/src/components/ProfileCard.tsx
@@ -1,22 +1,22 @@
import React, { ReactElement, useRef } from 'react';
+import { useTranslation } from 'react-i18next';
import {
- View,
- TouchableOpacity,
- TextInput,
- StyleSheet,
Platform,
+ StyleSheet,
+ TextInput,
+ TouchableOpacity,
+ View,
} from 'react-native';
import { launchImageLibrary } from 'react-native-image-picker';
-import { useTranslation } from 'react-i18next';
import { useTheme } from 'styled-components/native';
+import { BasicProfile } from '../store/types/slashtags';
import { TextInputNoOutline } from '../styles/components';
-import { Text, Headline } from '../styles/text';
import { CameraIcon } from '../styles/icons';
+import { Headline, Text } from '../styles/text';
+import { truncate } from '../utils/helpers';
import ProfileImage from './ProfileImage';
import SlashtagURL from './SlashtagURL';
-import { BasicProfile } from '../store/types/slashtags';
-import { truncate } from '../utils/helpers';
export const MAX_NAME_LENGTH = 50;
export const MAX_BIO_LENGTH = 160;
diff --git a/src/components/ProfileImage.tsx b/src/components/ProfileImage.tsx
index 7bfcaabde..693e5aa6f 100644
--- a/src/components/ProfileImage.tsx
+++ b/src/components/ProfileImage.tsx
@@ -2,8 +2,8 @@ import React, { useMemo } from 'react';
import { Image, StyleProp, View, ViewStyle } from 'react-native';
import { SvgXml } from 'react-native-svg';
-import { BasicProfile } from '../store/types/slashtags';
import useColors from '../hooks/colors';
+import { BasicProfile } from '../store/types/slashtags';
import Jdenticon from './Jdenticon';
const ProfileImage = ({
diff --git a/src/components/ProfileLinks.tsx b/src/components/ProfileLinks.tsx
index 18782457c..afa8d2f62 100644
--- a/src/components/ProfileLinks.tsx
+++ b/src/components/ProfileLinks.tsx
@@ -1,22 +1,22 @@
import React, { ReactElement } from 'react';
+import { useTranslation } from 'react-i18next';
import {
- View,
- TouchableOpacity,
StyleProp,
StyleSheet,
+ TouchableOpacity,
+ View,
ViewStyle,
} from 'react-native';
-import { useTranslation } from 'react-i18next';
-import { Caption13Up, BodySSB, BodyS } from '../styles/text';
-import { TrashIcon } from '../styles/icons';
-import { LocalLink } from '../store/types/slashtags';
import { useAppDispatch } from '../hooks/redux';
-import { editLink, deleteLink } from '../store/slices/slashtags';
-import LabeledInput from './LabeledInput';
-import Divider from './Divider';
import { suggestions } from '../screens/Profile/ProfileLinkSuggestions';
+import { deleteLink, editLink } from '../store/slices/slashtags';
+import { LocalLink } from '../store/types/slashtags';
+import { TrashIcon } from '../styles/icons';
+import { BodyS, BodySSB, Caption13Up } from '../styles/text';
import { openAppURL } from '../utils/helpers';
+import Divider from './Divider';
+import LabeledInput from './LabeledInput';
const trimLink = (link: LocalLink): string => {
let trimmedUrl = link.url;
diff --git a/src/components/ProgressSteps.tsx b/src/components/ProgressSteps.tsx
index a5eba16f1..ea7cf2492 100644
--- a/src/components/ProgressSteps.tsx
+++ b/src/components/ProgressSteps.tsx
@@ -1,9 +1,9 @@
import React, { Fragment, ReactElement } from 'react';
import { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';
-import { BodySSB } from '../styles/text';
-import { Checkmark } from '../styles/icons';
import useColors from '../hooks/colors';
+import { Checkmark } from '../styles/icons';
+import { BodySSB } from '../styles/text';
type Step = { title: string };
diff --git a/src/components/SafeAreaView.tsx b/src/components/SafeAreaView.tsx
index de78cba42..9cfbfb927 100644
--- a/src/components/SafeAreaView.tsx
+++ b/src/components/SafeAreaView.tsx
@@ -1,11 +1,11 @@
import React, { memo, useMemo, ReactElement } from 'react';
import { StyleProp, StyleSheet, ViewStyle } from 'react-native';
-import { useAppSelector } from '../hooks/redux';
import {
Edge,
NativeSafeAreaViewProps,
SafeAreaView as SafeAreaViewRN,
} from 'react-native-safe-area-context';
+import { useAppSelector } from '../hooks/redux';
import { themeColorsSelector } from '../store/reselect/settings';
type SafeAreaViewProps = NativeSafeAreaViewProps & {
diff --git a/src/components/SearchInput.tsx b/src/components/SearchInput.tsx
index 41f7c8020..8cb36c19f 100644
--- a/src/components/SearchInput.tsx
+++ b/src/components/SearchInput.tsx
@@ -1,13 +1,13 @@
import React, { ReactElement, memo } from 'react';
+import { useTranslation } from 'react-i18next';
import {
+ Platform,
StyleProp,
StyleSheet,
- Platform,
TextInputProps,
View,
ViewStyle,
} from 'react-native';
-import { useTranslation } from 'react-i18next';
import { TextInput, View as ThemedView } from '../styles/components';
import { MagnifyingGlassIcon } from '../styles/icons';
diff --git a/src/components/SeedInput.tsx b/src/components/SeedInput.tsx
index 239567d52..7f6bc57d6 100644
--- a/src/components/SeedInput.tsx
+++ b/src/components/SeedInput.tsx
@@ -1,6 +1,6 @@
import React, { forwardRef } from 'react';
import { StyleSheet, TextInputProps } from 'react-native';
-import { View as ThemedView, TextInput } from '../styles/components';
+import { TextInput, View as ThemedView } from '../styles/components';
import { BodyMSB } from '../styles/text';
type SeedInputProps = TextInputProps & { index: number; valid?: boolean };
diff --git a/src/components/SeedInputAccessory.tsx b/src/components/SeedInputAccessory.tsx
index 3175ed9d4..a6870eed4 100644
--- a/src/components/SeedInputAccessory.tsx
+++ b/src/components/SeedInputAccessory.tsx
@@ -1,11 +1,11 @@
+import * as bip39 from 'bip39';
import React, { ReactElement, useEffect, useState } from 'react';
import { StyleSheet, View } from 'react-native';
-import * as bip39 from 'bip39';
import { KeyboardAccessoryView } from 'react-native-keyboard-accessory';
-import Button, { ButtonProps } from './buttons/Button';
import { Text13UP } from '../styles/text';
import seedSuggestions from '../utils/seed-suggestions';
+import Button, { ButtonProps } from './buttons/Button';
const Word = (props: ButtonProps): ReactElement => {
return ;
diff --git a/src/components/SlashtagURL.tsx b/src/components/SlashtagURL.tsx
index 856cc8d88..33cf1d843 100644
--- a/src/components/SlashtagURL.tsx
+++ b/src/components/SlashtagURL.tsx
@@ -1,10 +1,10 @@
+import Clipboard from '@react-native-clipboard/clipboard';
+import { parse } from '@synonymdev/slashtags-url';
import React, { ReactElement, useMemo } from 'react';
import { StyleProp, ViewStyle } from 'react-native';
-import { parse } from '@synonymdev/slashtags-url';
import { TouchableOpacity } from 'react-native';
-import Clipboard from '@react-native-clipboard/clipboard';
-import { Caption, BodyMSB, BodySSB } from '../styles/text';
+import { BodyMSB, BodySSB, Caption } from '../styles/text';
import { IThemeColors } from '../styles/themes';
import { ellipsis } from '../utils/helpers';
diff --git a/src/components/SlashtagsProvider.tsx b/src/components/SlashtagsProvider.tsx
index ff3324928..d61ddbd3b 100644
--- a/src/components/SlashtagsProvider.tsx
+++ b/src/components/SlashtagsProvider.tsx
@@ -1,19 +1,19 @@
-import React, { ReactElement, useEffect, useState } from 'react';
-import { createContext } from 'react';
-import b4a from 'b4a';
import KeyChain from '@synonymdev/slashtags-keychain';
-import type { Client as IWebRelayClient } from '@synonymdev/web-relay';
-import { Client, Store } from '@synonymdev/web-relay/lib/client';
import SlashtagsProfile from '@synonymdev/slashtags-profile';
import { format, parse } from '@synonymdev/slashtags-url';
+import type { Client as IWebRelayClient } from '@synonymdev/web-relay';
+import { Client, Store } from '@synonymdev/web-relay/lib/client';
+import b4a from 'b4a';
+import React, { ReactElement, useEffect, useState } from 'react';
+import { createContext } from 'react';
+import { useAppSelector } from '../hooks/redux';
+import { WebRelayCache } from '../store/mmkv-storage';
+import { webRelaySelector } from '../store/reselect/settings';
+import { seedHashSelector } from '../store/reselect/wallet';
import i18n from '../utils/i18n';
import { showToast } from '../utils/notifications';
import { getSlashtagsPrimaryKey } from '../utils/wallet';
-import { WebRelayCache } from '../store/mmkv-storage';
-import { seedHashSelector } from '../store/reselect/wallet';
-import { webRelaySelector } from '../store/reselect/settings';
-import { useAppSelector } from '../hooks/redux';
const store: Store = new WebRelayCache('slashtags.db');
diff --git a/src/components/Slider.tsx b/src/components/Slider.tsx
index 6489373dc..b0e749a26 100644
--- a/src/components/Slider.tsx
+++ b/src/components/Slider.tsx
@@ -1,5 +1,5 @@
import React, { ReactElement, useEffect, useMemo, useState } from 'react';
-import { View, StyleSheet } from 'react-native';
+import { StyleSheet, View } from 'react-native';
import { Gesture, GestureDetector } from 'react-native-gesture-handler';
import Animated, {
useSharedValue,
@@ -10,9 +10,9 @@ import Animated, {
runOnJS,
} from 'react-native-reanimated';
-import { Text13UP } from '../styles/text';
-import { View as ThemedView } from '../styles/components';
import useColors from '../hooks/colors';
+import { View as ThemedView } from '../styles/components';
+import { Text13UP } from '../styles/text';
const KNOB_SIZE = 32;
diff --git a/src/components/Social.tsx b/src/components/Social.tsx
index c5c3f220a..bb38e7828 100644
--- a/src/components/Social.tsx
+++ b/src/components/Social.tsx
@@ -1,7 +1,5 @@
import React, { ReactElement } from 'react';
import { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';
-import Button from './buttons/Button';
-import { openAppURL } from '../utils/helpers';
import {
DiscordIcon,
GithubIcon,
@@ -10,6 +8,8 @@ import {
TelegramIcon,
TwitterIcon,
} from '../styles/icons';
+import { openAppURL } from '../utils/helpers';
+import Button from './buttons/Button';
const Social = ({ style }: { style?: StyleProp }): ReactElement => {
return (
diff --git a/src/components/Spinner.tsx b/src/components/Spinner.tsx
index 8c1e955f1..a4cf6ae99 100644
--- a/src/components/Spinner.tsx
+++ b/src/components/Spinner.tsx
@@ -1,5 +1,5 @@
-import { ImageStyle } from 'react-native';
import React, { memo, useEffect } from 'react';
+import { ImageStyle } from 'react-native';
import Animated, {
cancelAnimation,
Easing,
diff --git a/src/components/SuggestionCard.tsx b/src/components/SuggestionCard.tsx
index c6343a51b..d116e0b8b 100644
--- a/src/components/SuggestionCard.tsx
+++ b/src/components/SuggestionCard.tsx
@@ -1,29 +1,29 @@
+import {
+ Box,
+ BoxShadow,
+ Canvas,
+ LinearGradient,
+ RadialGradient,
+ RoundedRect,
+ rect,
+ rrect,
+ vec,
+} from '@shopify/react-native-skia';
import React, { memo, ReactElement, useEffect, useMemo } from 'react';
-import { StyleSheet, Image, View } from 'react-native';
+import { Image, StyleSheet, View } from 'react-native';
import Animated, {
useSharedValue,
withRepeat,
withTiming,
} from 'react-native-reanimated';
-import {
- Canvas,
- RadialGradient,
- vec,
- Box,
- BoxShadow,
- rrect,
- rect,
- RoundedRect,
- LinearGradient,
-} from '@shopify/react-native-skia';
-import { XIcon } from '../styles/icons';
-import { IColors } from '../styles/colors';
-import { BodyMSB, CaptionB } from '../styles/text';
-import { View as ThemedView, Pressable } from '../styles/components';
-import useColors from '../hooks/colors';
import { __E2E__ } from '../constants/env';
+import useColors from '../hooks/colors';
import { ITodo, TTodoType } from '../store/types/todos';
+import { IColors } from '../styles/colors';
+import { Pressable, View as ThemedView } from '../styles/components';
+import { XIcon } from '../styles/icons';
+import { BodyMSB, CaptionB } from '../styles/text';
const CARD_SIZE = 152;
const CARD_BORDER_RADIUS = 16;
diff --git a/src/components/Suggestions.tsx b/src/components/Suggestions.tsx
index 8e83aeccf..21ff266fe 100644
--- a/src/components/Suggestions.tsx
+++ b/src/components/Suggestions.tsx
@@ -1,3 +1,4 @@
+import { useFocusEffect, useNavigation } from '@react-navigation/native';
import React, {
ReactElement,
useMemo,
@@ -6,16 +7,12 @@ import React, {
useEffect,
} from 'react';
import { useTranslation } from 'react-i18next';
+import { Share, StyleSheet, useWindowDimensions } from 'react-native';
import Carousel from 'react-native-reanimated-carousel';
-import { StyleSheet, useWindowDimensions, Share } from 'react-native';
-import { useFocusEffect, useNavigation } from '@react-navigation/native';
-import { Caption13Up } from '../styles/text';
-import { View as ThemedView } from '../styles/components';
-import SuggestionCard from './SuggestionCard';
-import { ITodo, TTodoType } from '../store/types/todos';
-import { channelsNotificationsShown, hideTodo } from '../store/slices/todos';
-import { showBottomSheet } from '../store/utils/ui';
+import { appName, appStoreUrl, playStoreUrl } from '../constants/app';
+import { useAppDispatch, useAppSelector } from '../hooks/redux';
+import type { RootNavigationProp } from '../navigation/types';
import {
pinSelector,
quickpayIntroSeenSelector,
@@ -25,10 +22,13 @@ import {
newChannelsNotificationsSelector,
todosFullSelector,
} from '../store/reselect/todos';
-import { useAppDispatch, useAppSelector } from '../hooks/redux';
-import type { RootNavigationProp } from '../navigation/types';
-import { appName, appStoreUrl, playStoreUrl } from '../constants/app';
+import { channelsNotificationsShown, hideTodo } from '../store/slices/todos';
+import { ITodo, TTodoType } from '../store/types/todos';
+import { showBottomSheet } from '../store/utils/ui';
+import { View as ThemedView } from '../styles/components';
+import { Caption13Up } from '../styles/text';
import { getDurationForBlocks } from '../utils/helpers';
+import SuggestionCard from './SuggestionCard';
const Suggestions = (): ReactElement => {
const { t } = useTranslation('cards');
diff --git a/src/components/SwipeToConfirm.tsx b/src/components/SwipeToConfirm.tsx
index 7919aa42e..eb9b15494 100644
--- a/src/components/SwipeToConfirm.tsx
+++ b/src/components/SwipeToConfirm.tsx
@@ -1,6 +1,6 @@
import React, { ReactElement, memo, useEffect, useState } from 'react';
-import { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';
import { Gesture, GestureDetector } from 'react-native-gesture-handler';
import Animated, {
clamp,
@@ -11,11 +11,11 @@ import Animated, {
withTiming,
} from 'react-native-reanimated';
+import useColors from '../hooks/colors';
import { View as ThemedView } from '../styles/components';
-import { BodySSB } from '../styles/text';
import { RightArrow } from '../styles/icons';
+import { BodySSB } from '../styles/text';
import { IThemeColors } from '../styles/themes';
-import useColors from '../hooks/colors';
import LoadingSpinner from './Spinner';
const CIRCLE_SIZE = 60;
diff --git a/src/components/SwitchRow.tsx b/src/components/SwitchRow.tsx
index 8b62569b6..55a7c25cd 100644
--- a/src/components/SwitchRow.tsx
+++ b/src/components/SwitchRow.tsx
@@ -6,8 +6,8 @@ import {
View,
ViewStyle,
} from 'react-native';
-import { IThemeColors } from '../styles/themes';
import Switch from '../components/Switch';
+import { IThemeColors } from '../styles/themes';
const SwitchRow = ({
children,
diff --git a/src/components/TabBar.tsx b/src/components/TabBar.tsx
index 59a57d29b..6f60a0f47 100644
--- a/src/components/TabBar.tsx
+++ b/src/components/TabBar.tsx
@@ -1,27 +1,27 @@
import React, { ReactElement, useMemo } from 'react';
+import { useTranslation } from 'react-i18next';
import {
- Pressable,
- StyleSheet,
Platform,
+ Pressable,
StyleProp,
+ StyleSheet,
ViewStyle,
} from 'react-native';
-import { useSafeAreaInsets } from 'react-native-safe-area-context';
-import { useTranslation } from 'react-i18next';
import { FadeIn } from 'react-native-reanimated';
+import { useSafeAreaInsets } from 'react-native-safe-area-context';
import { receiveIcon, sendIcon } from '../assets/icons/tabs';
-import { toggleBottomSheet } from '../store/utils/ui';
-import { resetSendTransaction } from '../store/actions/wallet';
-import { viewControllersSelector } from '../store/reselect/ui';
-import { spendingOnboardingSelector } from '../store/reselect/aggregations';
import useColors from '../hooks/colors';
import { useAppSelector } from '../hooks/redux';
-import { ScanIcon } from '../styles/icons';
-import { AnimatedView } from '../styles/components';
-import ButtonBlur from './buttons/ButtonBlur';
import { rootNavigation } from '../navigation/root/RootNavigator';
import type { RootNavigationProp } from '../navigation/types';
+import { resetSendTransaction } from '../store/actions/wallet';
+import { spendingOnboardingSelector } from '../store/reselect/aggregations';
+import { viewControllersSelector } from '../store/reselect/ui';
+import { toggleBottomSheet } from '../store/utils/ui';
+import { AnimatedView } from '../styles/components';
+import { ScanIcon } from '../styles/icons';
+import ButtonBlur from './buttons/ButtonBlur';
const TabBar = ({
navigation,
diff --git a/src/components/Tabs.tsx b/src/components/Tabs.tsx
index 9ff074094..0a02d1644 100644
--- a/src/components/Tabs.tsx
+++ b/src/components/Tabs.tsx
@@ -1,19 +1,19 @@
import React, { ReactElement, memo, useEffect, useState } from 'react';
-import Animated, {
- useAnimatedStyle,
- useSharedValue,
- withTiming,
-} from 'react-native-reanimated';
+import { useTranslation } from 'react-i18next';
import {
+ GestureResponderEvent,
+ LayoutChangeEvent,
+ StyleProp,
StyleSheet,
TouchableOpacity,
View,
- GestureResponderEvent,
- StyleProp,
ViewStyle,
- LayoutChangeEvent,
} from 'react-native';
-import { useTranslation } from 'react-i18next';
+import Animated, {
+ useAnimatedStyle,
+ useSharedValue,
+ withTiming,
+} from 'react-native-reanimated';
import colors from '../styles/colors';
import { CaptionB } from '../styles/text';
diff --git a/src/components/Tag.tsx b/src/components/Tag.tsx
index 072885824..46dd9d650 100644
--- a/src/components/Tag.tsx
+++ b/src/components/Tag.tsx
@@ -1,8 +1,8 @@
import React, { ReactElement, memo } from 'react';
import { StyleProp, StyleSheet, ViewStyle } from 'react-native';
import { TouchableOpacity } from '../styles/components';
-import { BodySSB } from '../styles/text';
import { TrashIcon, XIcon } from '../styles/icons';
+import { BodySSB } from '../styles/text';
interface ITag {
value: string;
diff --git a/src/components/Toast.tsx b/src/components/Toast.tsx
index a4099d8ce..201d7d11f 100644
--- a/src/components/Toast.tsx
+++ b/src/components/Toast.tsx
@@ -1,13 +1,13 @@
import React, { ReactElement, useMemo } from 'react';
import { StyleSheet, useWindowDimensions } from 'react-native';
-import { ToastConfig, ToastConfigParams } from 'react-native-toast-message';
import { useSafeAreaInsets } from 'react-native-safe-area-context';
+import { ToastConfig, ToastConfigParams } from 'react-native-toast-message';
+import BlurView from '../components/BlurView';
+import ToastGradient from '../components/ToastGradient';
import colors from '../styles/colors';
-import { IThemeColors } from '../styles/themes';
import { BodyMSB, Caption } from '../styles/text';
-import ToastGradient from '../components/ToastGradient';
-import BlurView from '../components/BlurView';
+import { IThemeColors } from '../styles/themes';
const Toast = ({
type,
diff --git a/src/components/ToastGradient.tsx b/src/components/ToastGradient.tsx
index 696c25b7f..0465af61b 100644
--- a/src/components/ToastGradient.tsx
+++ b/src/components/ToastGradient.tsx
@@ -1,6 +1,6 @@
+import { Canvas, LinearGradient, Rect, vec } from '@shopify/react-native-skia';
import React, { ReactElement, useState } from 'react';
import { LayoutChangeEvent, StyleProp, View, ViewStyle } from 'react-native';
-import { Canvas, LinearGradient, Rect, vec } from '@shopify/react-native-skia';
type ToastGradientProps = {
color: string;
diff --git a/src/components/VerticalShadow.tsx b/src/components/VerticalShadow.tsx
index d2740ef1e..f9db681ac 100644
--- a/src/components/VerticalShadow.tsx
+++ b/src/components/VerticalShadow.tsx
@@ -1,6 +1,6 @@
+import { Canvas, LinearGradient, Rect, vec } from '@shopify/react-native-skia';
import React, { ReactElement, useState } from 'react';
import { LayoutChangeEvent, StyleSheet, View } from 'react-native';
-import { Canvas, LinearGradient, Rect, vec } from '@shopify/react-native-skia';
/**
* This component draws vertical gradient, it has opacity animation on mount
diff --git a/src/components/WalletOnboarding.tsx b/src/components/WalletOnboarding.tsx
index e526f957b..7e61af53b 100644
--- a/src/components/WalletOnboarding.tsx
+++ b/src/components/WalletOnboarding.tsx
@@ -1,5 +1,4 @@
import React, { memo, ReactElement, useMemo, useState, useEffect } from 'react';
-import { useSafeAreaInsets } from 'react-native-safe-area-context';
import {
LayoutChangeEvent,
StyleProp,
@@ -8,11 +7,12 @@ import {
View,
ViewStyle,
} from 'react-native';
+import { useSafeAreaInsets } from 'react-native-safe-area-context';
-import { Display } from '../styles/text';
-import { XIcon } from '../styles/icons';
import Arrow from '../assets/dotted-arrow.svg';
import { __E2E__ } from '../constants/env';
+import { XIcon } from '../styles/icons';
+import { Display } from '../styles/text';
const WalletOnboarding = ({
text,
diff --git a/src/components/Widgets.tsx b/src/components/Widgets.tsx
index 5e42a7030..9650f51f3 100644
--- a/src/components/Widgets.tsx
+++ b/src/components/Widgets.tsx
@@ -1,3 +1,4 @@
+import { useFocusEffect } from '@react-navigation/native';
import React, {
ReactElement,
memo,
@@ -5,34 +6,33 @@ import React, {
useMemo,
useState,
} from 'react';
-import { StyleSheet } from 'react-native';
-import { useFocusEffect } from '@react-navigation/native';
import { useTranslation } from 'react-i18next';
+import { StyleSheet } from 'react-native';
import DraggableFlatList, {
RenderItemParams,
ScaleDecorator,
} from 'react-native-draggable-flatlist';
-import { rootNavigation } from '../navigation/root/RootNavigator';
-import { Caption13Up } from '../styles/text';
-import { TouchableOpacity, View } from '../styles/components';
-import { PlusIcon, SortAscendingIcon, Checkmark } from '../styles/icons';
-import Button from './buttons/Button';
import { useAppDispatch, useAppSelector } from '../hooks/redux';
-import { SUPPORTED_FEED_TYPES } from '../utils/widgets';
-import { setWidgetsSortOrder } from '../store/slices/widgets';
-import PriceWidget from './PriceWidget';
-import FeedWidget from './FeedWidget';
-import HeadlinesWidget from './HeadlinesWidget';
-import BlocksWidget from './BlocksWidget';
-import FactsWidget from './FactsWidget';
-import LuganoFeedWidget from './LuganoFeedWidget';
-import { TFeedWidget, TWidget } from '../store/types/widgets';
+import { rootNavigation } from '../navigation/root/RootNavigator';
import {
onboardedWidgetsSelector,
widgetsOrderSelector,
widgetsSelector,
} from '../store/reselect/widgets';
+import { setWidgetsSortOrder } from '../store/slices/widgets';
+import { TFeedWidget, TWidget } from '../store/types/widgets';
+import { TouchableOpacity, View } from '../styles/components';
+import { Checkmark, PlusIcon, SortAscendingIcon } from '../styles/icons';
+import { Caption13Up } from '../styles/text';
+import { SUPPORTED_FEED_TYPES } from '../utils/widgets';
+import BlocksWidget from './BlocksWidget';
+import FactsWidget from './FactsWidget';
+import FeedWidget from './FeedWidget';
+import HeadlinesWidget from './HeadlinesWidget';
+import LuganoFeedWidget from './LuganoFeedWidget';
+import PriceWidget from './PriceWidget';
+import Button from './buttons/Button';
const Widgets = (): ReactElement => {
const { t } = useTranslation('slashtags');
diff --git a/src/components/buttons/Button.tsx b/src/components/buttons/Button.tsx
index 720c66b54..c033d6e7b 100644
--- a/src/components/buttons/Button.tsx
+++ b/src/components/buttons/Button.tsx
@@ -1,18 +1,18 @@
import React, { memo, ReactElement, useMemo } from 'react';
import {
- StyleSheet,
ActivityIndicator,
Platform,
Pressable,
PressableProps,
StyleProp,
- ViewStyle,
+ StyleSheet,
TextStyle,
+ ViewStyle,
} from 'react-native';
-import { IThemeColors } from '../../styles/themes';
-import { CaptionB, BodySSB } from '../../styles/text';
-import { View } from '../../styles/components';
import useColors from '../../hooks/colors';
+import { View } from '../../styles/components';
+import { BodySSB, CaptionB } from '../../styles/text';
+import { IThemeColors } from '../../styles/themes';
import { lighten } from '../../utils/color';
export interface ButtonProps extends PressableProps {
diff --git a/src/components/buttons/ButtonBlur.tsx b/src/components/buttons/ButtonBlur.tsx
index 8b5bec1e3..3cf836f5d 100644
--- a/src/components/buttons/ButtonBlur.tsx
+++ b/src/components/buttons/ButtonBlur.tsx
@@ -1,14 +1,14 @@
-import React, { ReactElement } from 'react';
-import { SvgXml } from 'react-native-svg';
import { BlurView } from '@react-native-community/blur';
+import React, { ReactElement } from 'react';
import {
- StyleSheet,
Platform,
- StyleProp,
- ViewStyle,
Pressable,
+ StyleProp,
+ StyleSheet,
View,
+ ViewStyle,
} from 'react-native';
+import { SvgXml } from 'react-native-svg';
import { BodySSB } from '../../styles/text';
import { lighten } from '../../utils/color';
diff --git a/src/components/buttons/CheckButton.tsx b/src/components/buttons/CheckButton.tsx
index 1b0dcac33..8c148aedf 100644
--- a/src/components/buttons/CheckButton.tsx
+++ b/src/components/buttons/CheckButton.tsx
@@ -1,14 +1,14 @@
import React, { memo, ReactElement, ReactNode } from 'react';
import {
- View,
StyleSheet,
TouchableOpacity,
TouchableOpacityProps,
+ View,
} from 'react-native';
-import { BodyM, Caption } from '../../styles/text';
import { View as StyledView } from '../../styles/components';
import { Checkmark } from '../../styles/icons';
+import { BodyM, Caption } from '../../styles/text';
interface CheckButtonProps extends TouchableOpacityProps {
label: ReactNode;
diff --git a/src/components/buttons/RadioButton.tsx b/src/components/buttons/RadioButton.tsx
index 26b7aedc6..79721ab16 100644
--- a/src/components/buttons/RadioButton.tsx
+++ b/src/components/buttons/RadioButton.tsx
@@ -1,15 +1,15 @@
import React, { memo, ReactElement, ReactNode } from 'react';
import {
- View,
- StyleSheet,
- TouchableOpacity,
GestureResponderEvent,
StyleProp,
+ StyleSheet,
+ TouchableOpacity,
+ View,
ViewStyle,
} from 'react-native';
-import { BodyM, Caption } from '../../styles/text';
import { Checkmark } from '../../styles/icons';
+import { BodyM, Caption } from '../../styles/text';
type RadioButtonProps = {
label: ReactNode;
diff --git a/src/components/buttons/RectangleButton.tsx b/src/components/buttons/RectangleButton.tsx
index 8c89ad043..6c946cb41 100644
--- a/src/components/buttons/RectangleButton.tsx
+++ b/src/components/buttons/RectangleButton.tsx
@@ -1,10 +1,10 @@
import React, { ReactElement } from 'react';
import { Platform, StyleSheet, View } from 'react-native';
+import useColors from '../../hooks/colors';
import colors from '../../styles/colors';
-import { BodyMB } from '../../styles/text';
import { Pressable } from '../../styles/components';
-import useColors from '../../hooks/colors';
+import { BodyMB } from '../../styles/text';
const RectangleButton = ({
icon,
diff --git a/src/constants/env.ts b/src/constants/env.ts
index adbf56351..e4d9cfe5e 100644
--- a/src/constants/env.ts
+++ b/src/constants/env.ts
@@ -3,6 +3,7 @@ import {
BACKUPS_SERVER_HOST,
BACKUPS_SERVER_PUBKEY,
BLOCKTANK_HOST,
+ CHATWOOT_API,
E2E,
ELECTRUM_BITCOIN_HOST,
ELECTRUM_BITCOIN_PROTO,
@@ -21,7 +22,6 @@ import {
TRUSTED_ZERO_CONF_PEERS,
WALLET_DEFAULT_SELECTED_NETWORK,
WEB_RELAY,
- CHATWOOT_API,
} from '@env';
import { isProtocol } from '../store/types/settings';
import { isBitcoinNetwork } from '../utils/networks';
diff --git a/src/hooks/blocktank.ts b/src/hooks/blocktank.ts
index bdcdd365d..0b2351cfe 100644
--- a/src/hooks/blocktank.ts
+++ b/src/hooks/blocktank.ts
@@ -1,9 +1,9 @@
+import { IBtOrder } from '@synonymdev/blocktank-lsp-http-client';
import { useAppSelector } from '../hooks/redux';
import {
blocktankOrdersSelector,
blocktankPaidOrdersSelector,
} from '../store/reselect/blocktank';
-import { IBtOrder } from '@synonymdev/blocktank-lsp-http-client';
/**
* Returns the list of blocktank orders that have been paid.
diff --git a/src/hooks/bottomSheet.ts b/src/hooks/bottomSheet.ts
index d6436bbdf..6b73e55b7 100644
--- a/src/hooks/bottomSheet.ts
+++ b/src/hooks/bottomSheet.ts
@@ -1,19 +1,19 @@
+import { useFocusEffect, useNavigation } from '@react-navigation/native';
import { useCallback, useEffect, useMemo, useRef } from 'react';
import { BackHandler, NativeEventSubscription } from 'react-native';
-import { useFocusEffect, useNavigation } from '@react-navigation/native';
import {
useSafeAreaFrame,
useSafeAreaInsets,
} from 'react-native-safe-area-context';
-import { useAppDispatch, useAppSelector } from './redux';
-import { objectKeys } from '../utils/objectKeys';
-import { TViewController } from '../store/types/ui';
-import { closeAllSheets, closeSheet } from '../store/slices/ui';
import {
viewControllerIsOpenSelector,
viewControllersSelector,
} from '../store/reselect/ui';
+import { closeAllSheets, closeSheet } from '../store/slices/ui';
+import { TViewController } from '../store/types/ui';
+import { objectKeys } from '../utils/objectKeys';
+import { useAppDispatch, useAppSelector } from './redux';
export const useSnapPoints = (
size: 'small' | 'medium' | 'large' | 'calendar',
diff --git a/src/hooks/colors.ts b/src/hooks/colors.ts
index 61d285e04..77f191a36 100644
--- a/src/hooks/colors.ts
+++ b/src/hooks/colors.ts
@@ -1,7 +1,7 @@
import { useAppSelector } from '../hooks/redux';
+import { themeColorsSelector } from '../store/reselect/settings';
import { IColors } from '../styles/colors';
import { IThemeColors } from '../styles/themes';
-import { themeColorsSelector } from '../store/reselect/settings';
export default function useColors(): IColors & IThemeColors {
return useAppSelector(themeColorsSelector);
diff --git a/src/hooks/displayValues.ts b/src/hooks/displayValues.ts
index 53a023fdf..063499fe3 100644
--- a/src/hooks/displayValues.ts
+++ b/src/hooks/displayValues.ts
@@ -1,7 +1,5 @@
import { useMemo } from 'react';
import { useAppSelector } from '../hooks/redux';
-import { getDisplayValues } from '../utils/displayValues';
-import { IDisplayValues } from '../utils/displayValues/types';
import {
denominationSelector,
selectedCurrencySelector,
@@ -12,6 +10,8 @@ import {
exchangeRatesSelector,
} from '../store/reselect/wallet';
import { EUnit } from '../store/types/wallet';
+import { getDisplayValues } from '../utils/displayValues';
+import { IDisplayValues } from '../utils/displayValues/types';
export const useDisplayValues = (
satoshis: number,
diff --git a/src/hooks/helpers.ts b/src/hooks/helpers.ts
index 7a3da8c75..4671bb171 100644
--- a/src/hooks/helpers.ts
+++ b/src/hooks/helpers.ts
@@ -1,4 +1,4 @@
-import { useRef, useEffect } from 'react';
+import { useEffect, useRef } from 'react';
export const usePrevious = (value: T): T | undefined => {
const ref = useRef();
diff --git a/src/hooks/keyboard.ts b/src/hooks/keyboard.ts
index cd48643f9..b009a8060 100644
--- a/src/hooks/keyboard.ts
+++ b/src/hooks/keyboard.ts
@@ -1,5 +1,5 @@
import { useEffect, useState } from 'react';
-import { Keyboard as RNKeyboard, Platform, KeyboardEvent } from 'react-native';
+import { KeyboardEvent, Platform, Keyboard as RNKeyboard } from 'react-native';
import { sleep } from '../utils/helpers';
const useKeyboard = (): {
diff --git a/src/hooks/lightning.ts b/src/hooks/lightning.ts
index e18b52a9f..8a83881c0 100644
--- a/src/hooks/lightning.ts
+++ b/src/hooks/lightning.ts
@@ -1,14 +1,14 @@
-import { useMemo } from 'react';
import { TChannel } from '@synonymdev/react-native-ldk';
+import { useMemo } from 'react';
import { useTranslation } from 'react-i18next';
-import { ellipsis } from '../utils/helpers';
import { useAppSelector } from '../hooks/redux';
-import { usePaidBlocktankOrders } from './blocktank';
import {
channelsSelector,
openChannelsSelector,
} from '../store/reselect/lightning';
+import { ellipsis } from '../utils/helpers';
+import { usePaidBlocktankOrders } from './blocktank';
/**
* Returns the lightning balance of all known open channels.
diff --git a/src/hooks/redux.ts b/src/hooks/redux.ts
index 2c18f95e9..4013f7340 100644
--- a/src/hooks/redux.ts
+++ b/src/hooks/redux.ts
@@ -1,5 +1,5 @@
import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux';
-import type { RootState, AppDispatch } from '../store';
+import type { AppDispatch, RootState } from '../store';
// Use throughout the app instead of plain `useDispatch` and `useSelector`
export const useAppDispatch: () => AppDispatch = useDispatch;
diff --git a/src/hooks/slashtags.ts b/src/hooks/slashtags.ts
index c09c9a0ac..1ee502756 100644
--- a/src/hooks/slashtags.ts
+++ b/src/hooks/slashtags.ts
@@ -1,18 +1,18 @@
-import { useContext, useEffect, useMemo, useState } from 'react';
import SlashtagsProfile from '@synonymdev/slashtags-profile';
import { format, parse } from '@synonymdev/slashtags-url';
+import { useContext, useEffect, useMemo, useState } from 'react';
-import { BasicProfile } from '../store/types/slashtags';
+import {
+ SlashtagsContext,
+ TSlashtagsStateContext,
+} from '../components/SlashtagsProvider';
+import { __E2E__ } from '../constants/env';
import {
contactSelector,
profileCacheSelector,
} from '../store/reselect/slashtags';
import { cacheProfile } from '../store/slices/slashtags';
-import {
- TSlashtagsStateContext,
- SlashtagsContext,
-} from '../components/SlashtagsProvider';
-import { __E2E__ } from '../constants/env';
+import { BasicProfile } from '../store/types/slashtags';
import { useAppDispatch, useAppSelector } from './redux';
export const useSlashtags = (): TSlashtagsStateContext => {
diff --git a/src/hooks/transfer.ts b/src/hooks/transfer.ts
index 0c2dc193a..a7867b7cd 100644
--- a/src/hooks/transfer.ts
+++ b/src/hooks/transfer.ts
@@ -1,10 +1,10 @@
import { useEffect, useState } from 'react';
-import { useAppSelector } from './redux';
-import { estimateOrderFee } from '../utils/blocktank';
-import { fiatToBitcoinUnit } from '../utils/conversion';
import { blocktankInfoSelector } from '../store/reselect/blocktank';
import { blocktankChannelsSizeSelector } from '../store/reselect/lightning';
+import { estimateOrderFee } from '../utils/blocktank';
+import { fiatToBitcoinUnit } from '../utils/conversion';
+import { useAppSelector } from './redux';
type TTransferValues = {
maxClientBalance: number;
diff --git a/src/hooks/widgets.ts b/src/hooks/widgets.ts
index 8ff275962..f5b3f21fd 100644
--- a/src/hooks/widgets.ts
+++ b/src/hooks/widgets.ts
@@ -1,6 +1,6 @@
-import { useEffect, useMemo, useState } from 'react';
import { Reader } from '@synonymdev/feeds';
import b4a from 'b4a';
+import { useEffect, useMemo, useState } from 'react';
import { SlashFeedJSON } from '../store/types/widgets';
import { SUPPORTED_FEED_TYPES, decodeWidgetFieldValue } from '../utils/widgets';
diff --git a/src/navigation/bottom-sheet/AppUpdatePrompt.tsx b/src/navigation/bottom-sheet/AppUpdatePrompt.tsx
index 43cd33f9b..97f52ebc8 100644
--- a/src/navigation/bottom-sheet/AppUpdatePrompt.tsx
+++ b/src/navigation/bottom-sheet/AppUpdatePrompt.tsx
@@ -1,25 +1,25 @@
import React, { memo, ReactElement, useEffect, useMemo } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { __E2E__ } from '../../constants/env';
-import { Display } from '../../styles/text';
-import BottomSheetWrapper from '../../components/BottomSheetWrapper';
import BottomSheetScreen from '../../components/BottomSheetScreen';
-import { openURL } from '../../utils/helpers';
-import { objectKeys } from '../../utils/objectKeys';
+import BottomSheetWrapper from '../../components/BottomSheetWrapper';
+import { __E2E__ } from '../../constants/env';
+import {
+ useBottomSheetBackPress,
+ useSnapPoints,
+} from '../../hooks/bottomSheet';
import { useAppDispatch, useAppSelector } from '../../hooks/redux';
-import { ignoreAppUpdate } from '../../store/slices/user';
-import { closeSheet } from '../../store/slices/ui';
-import { showBottomSheet } from '../../store/utils/ui';
-import { ignoreAppUpdateTimestampSelector } from '../../store/reselect/user';
import {
availableUpdateSelector,
viewControllersSelector,
} from '../../store/reselect/ui';
-import {
- useBottomSheetBackPress,
- useSnapPoints,
-} from '../../hooks/bottomSheet';
+import { ignoreAppUpdateTimestampSelector } from '../../store/reselect/user';
+import { closeSheet } from '../../store/slices/ui';
+import { ignoreAppUpdate } from '../../store/slices/user';
+import { showBottomSheet } from '../../store/utils/ui';
+import { Display } from '../../styles/text';
+import { openURL } from '../../utils/helpers';
+import { objectKeys } from '../../utils/objectKeys';
const imageSrc = require('../../assets/illustrations/wand.png');
diff --git a/src/navigation/bottom-sheet/BackupNavigation.tsx b/src/navigation/bottom-sheet/BackupNavigation.tsx
index a83ebdead..db0e65faa 100644
--- a/src/navigation/bottom-sheet/BackupNavigation.tsx
+++ b/src/navigation/bottom-sheet/BackupNavigation.tsx
@@ -1,25 +1,25 @@
-import React, { ReactElement, memo } from 'react';
import { NavigationIndependentTree } from '@react-navigation/native';
import {
- createNativeStackNavigator,
NativeStackNavigationOptions,
NativeStackNavigationProp,
+ createNativeStackNavigator,
} from '@react-navigation/native-stack';
+import React, { ReactElement, memo } from 'react';
-import { NavigationContainer } from '../../styles/components';
import BottomSheetWrapper from '../../components/BottomSheetWrapper';
-import ShowMnemonic from '../../screens/Settings/Backup/ShowMnemonic';
-import ShowPassphrase from '../../screens/Settings/Backup/ShowPassphrase';
+import { __E2E__ } from '../../constants/env';
+import { useSnapPoints } from '../../hooks/bottomSheet';
+import { useAppSelector } from '../../hooks/redux';
import ConfirmMnemonic from '../../screens/Settings/Backup/ConfirmMnemonic';
import ConfirmPassphrase from '../../screens/Settings/Backup/ConfirmPassphrase';
+import Metadata from '../../screens/Settings/Backup/Metadata';
+import MultipleDevices from '../../screens/Settings/Backup/MultipleDevices';
+import ShowMnemonic from '../../screens/Settings/Backup/ShowMnemonic';
+import ShowPassphrase from '../../screens/Settings/Backup/ShowPassphrase';
import Success from '../../screens/Settings/Backup/Success';
import Warning from '../../screens/Settings/Backup/Warning';
-import MultipleDevices from '../../screens/Settings/Backup/MultipleDevices';
-import Metadata from '../../screens/Settings/Backup/Metadata';
-import { useSnapPoints } from '../../hooks/bottomSheet';
-import { useAppSelector } from '../../hooks/redux';
import { viewControllerIsOpenSelector } from '../../store/reselect/ui';
-import { __E2E__ } from '../../constants/env';
+import { NavigationContainer } from '../../styles/components';
export type BackupNavigationProp =
NativeStackNavigationProp;
diff --git a/src/navigation/bottom-sheet/BottomSheets.tsx b/src/navigation/bottom-sheet/BottomSheets.tsx
index 552c48c6f..320598312 100644
--- a/src/navigation/bottom-sheet/BottomSheets.tsx
+++ b/src/navigation/bottom-sheet/BottomSheets.tsx
@@ -3,17 +3,17 @@ import { useAppSelector } from '../../hooks/redux';
import { viewControllersSelector } from '../../store/reselect/ui';
// import TransferFailed from '../bottom-sheet/TransferFailed';
-import BackupNavigation from './BackupNavigation';
import BoostPrompt from '../../screens/Wallets/BoostPrompt';
+import NewTxPrompt from '../../screens/Wallets/NewTxPrompt';
+import BackupNavigation from './BackupNavigation';
import ConnectionClosed from './ConnectionClosed';
import LNURLWithdrawNavigation from './LNURLWithdrawNavigation';
-import NewTxPrompt from '../../screens/Wallets/NewTxPrompt';
import OrangeTicketNavigation from './OrangeTicketNavigation';
import PINNavigation from './PINNavigation';
-import ReceiveNavigation from './ReceiveNavigation';
-import SendNavigation from './SendNavigation';
// import TreasureHuntNavigation from './TreasureHuntNavigation';
import PubkyAuth from './PubkyAuth';
+import ReceiveNavigation from './ReceiveNavigation';
+import SendNavigation from './SendNavigation';
const BottomSheets = (): JSX.Element => {
const views = useAppSelector(viewControllersSelector);
diff --git a/src/navigation/bottom-sheet/ConnectionClosed.tsx b/src/navigation/bottom-sheet/ConnectionClosed.tsx
index a268c81e6..81e87e6c6 100644
--- a/src/navigation/bottom-sheet/ConnectionClosed.tsx
+++ b/src/navigation/bottom-sheet/ConnectionClosed.tsx
@@ -1,18 +1,18 @@
import React, { memo, ReactElement } from 'react';
-import { Image, StyleSheet, View } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
-import { BodyM } from '../../styles/text';
+import BottomSheetNavigationHeader from '../../components/BottomSheetNavigationHeader';
import BottomSheetWrapper from '../../components/BottomSheetWrapper';
import SafeAreaInset from '../../components/SafeAreaInset';
import Button from '../../components/buttons/Button';
-import BottomSheetNavigationHeader from '../../components/BottomSheetNavigationHeader';
-import { closeSheet } from '../../store/slices/ui';
-import { useAppDispatch } from '../../hooks/redux';
import {
useBottomSheetBackPress,
useSnapPoints,
} from '../../hooks/bottomSheet';
+import { useAppDispatch } from '../../hooks/redux';
+import { closeSheet } from '../../store/slices/ui';
+import { BodyM } from '../../styles/text';
const imageSrc = require('../../assets/illustrations/switch.png');
diff --git a/src/navigation/bottom-sheet/ForceTransfer.tsx b/src/navigation/bottom-sheet/ForceTransfer.tsx
index 385408623..3450ec8f0 100644
--- a/src/navigation/bottom-sheet/ForceTransfer.tsx
+++ b/src/navigation/bottom-sheet/ForceTransfer.tsx
@@ -1,20 +1,20 @@
import React, { memo, ReactElement, useEffect, useState } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { Display } from '../../styles/text';
-import BottomSheetWrapper from '../../components/BottomSheetWrapper';
import BottomSheetScreen from '../../components/BottomSheetScreen';
-import { closeAllChannels } from '../../utils/lightning';
-import { showToast } from '../../utils/notifications';
-import { useAppDispatch, useAppSelector } from '../../hooks/redux';
+import BottomSheetWrapper from '../../components/BottomSheetWrapper';
import {
useBottomSheetBackPress,
useSnapPoints,
} from '../../hooks/bottomSheet';
+import { useAppDispatch, useAppSelector } from '../../hooks/redux';
+import { startCoopCloseTimestampSelector } from '../../store/reselect/user';
import { closeSheet } from '../../store/slices/ui';
-import { showBottomSheet } from '../../store/utils/ui';
import { clearCoopCloseTimer } from '../../store/slices/user';
-import { startCoopCloseTimestampSelector } from '../../store/reselect/user';
+import { showBottomSheet } from '../../store/utils/ui';
+import { Display } from '../../styles/text';
+import { closeAllChannels } from '../../utils/lightning';
+import { showToast } from '../../utils/notifications';
const imageSrc = require('../../assets/illustrations/exclamation-mark.png');
diff --git a/src/navigation/bottom-sheet/HighBalanceWarning.tsx b/src/navigation/bottom-sheet/HighBalanceWarning.tsx
index a4653150b..7ae00345e 100644
--- a/src/navigation/bottom-sheet/HighBalanceWarning.tsx
+++ b/src/navigation/bottom-sheet/HighBalanceWarning.tsx
@@ -1,28 +1,28 @@
import React, { memo, ReactElement, useEffect, useMemo } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { __E2E__ } from '../../constants/env';
-import { BodyMB, Display } from '../../styles/text';
-import BottomSheetWrapper from '../../components/BottomSheetWrapper';
import BottomSheetScreen from '../../components/BottomSheetScreen';
-import { openURL } from '../../utils/helpers';
-import { objectKeys } from '../../utils/objectKeys';
-import { getFiatDisplayValues } from '../../utils/displayValues';
-import { useBalance } from '../../hooks/wallet';
-import { useAppDispatch, useAppSelector } from '../../hooks/redux';
+import BottomSheetWrapper from '../../components/BottomSheetWrapper';
+import { __E2E__ } from '../../constants/env';
import {
useBottomSheetBackPress,
useSnapPoints,
} from '../../hooks/bottomSheet';
-import { closeSheet } from '../../store/slices/ui';
-import { showBottomSheet } from '../../store/utils/ui';
+import { useAppDispatch, useAppSelector } from '../../hooks/redux';
+import { useBalance } from '../../hooks/wallet';
import { viewControllersSelector } from '../../store/reselect/ui';
-import { exchangeRatesSelector } from '../../store/reselect/wallet';
-import { ignoreHighBalance, MAX_WARNINGS } from '../../store/slices/user';
import {
ignoreHighBalanceCountSelector,
ignoreHighBalanceTimestampSelector,
} from '../../store/reselect/user';
+import { exchangeRatesSelector } from '../../store/reselect/wallet';
+import { closeSheet } from '../../store/slices/ui';
+import { MAX_WARNINGS, ignoreHighBalance } from '../../store/slices/user';
+import { showBottomSheet } from '../../store/utils/ui';
+import { BodyMB, Display } from '../../styles/text';
+import { getFiatDisplayValues } from '../../utils/displayValues';
+import { openURL } from '../../utils/helpers';
+import { objectKeys } from '../../utils/objectKeys';
const imageSrc = require('../../assets/illustrations/exclamation-mark.png');
diff --git a/src/navigation/bottom-sheet/LNURLWithdrawNavigation.tsx b/src/navigation/bottom-sheet/LNURLWithdrawNavigation.tsx
index 8384ec55a..6a138a4b7 100644
--- a/src/navigation/bottom-sheet/LNURLWithdrawNavigation.tsx
+++ b/src/navigation/bottom-sheet/LNURLWithdrawNavigation.tsx
@@ -1,23 +1,23 @@
-import React, { ReactElement, memo } from 'react';
-import { LNURLWithdrawParams } from 'js-lnurl';
import { NavigationIndependentTree } from '@react-navigation/native';
import {
NativeStackNavigationOptions,
NativeStackNavigationProp,
createNativeStackNavigator,
} from '@react-navigation/native-stack';
+import { LNURLWithdrawParams } from 'js-lnurl';
+import React, { ReactElement, memo } from 'react';
-import { NavigationContainer } from '../../styles/components';
import BottomSheetWrapper from '../../components/BottomSheetWrapper';
-import Amount from '../../screens/Wallets/LNURLWithdraw/Amount';
-import Confirm from '../../screens/Wallets/LNURLWithdraw/Confirm';
+import { __E2E__ } from '../../constants/env';
import {
useBottomSheetBackPress,
useSnapPoints,
} from '../../hooks/bottomSheet';
import { useAppSelector } from '../../hooks/redux';
+import Amount from '../../screens/Wallets/LNURLWithdraw/Amount';
+import Confirm from '../../screens/Wallets/LNURLWithdraw/Confirm';
import { viewControllerSelector } from '../../store/reselect/ui';
-import { __E2E__ } from '../../constants/env';
+import { NavigationContainer } from '../../styles/components';
export type LNURLWithdrawNavigationProp =
NativeStackNavigationProp;
diff --git a/src/navigation/bottom-sheet/OrangeTicketNavigation.tsx b/src/navigation/bottom-sheet/OrangeTicketNavigation.tsx
index 11707b215..033bf4b5d 100644
--- a/src/navigation/bottom-sheet/OrangeTicketNavigation.tsx
+++ b/src/navigation/bottom-sheet/OrangeTicketNavigation.tsx
@@ -1,3 +1,10 @@
+import { NavigationIndependentTree } from '@react-navigation/native';
+import {
+ NativeStackNavigationOptions,
+ NativeStackNavigationProp,
+ createNativeStackNavigator,
+} from '@react-navigation/native-stack';
+import { ldk } from '@synonymdev/react-native-ldk';
import React, {
memo,
ReactElement,
@@ -5,29 +12,22 @@ import React, {
useEffect,
useState,
} from 'react';
-import { ldk } from '@synonymdev/react-native-ldk';
-import { NavigationIndependentTree } from '@react-navigation/native';
-import {
- createNativeStackNavigator,
- NativeStackNavigationProp,
- NativeStackNavigationOptions,
-} from '@react-navigation/native-stack';
-import { NavigationContainer } from '../../styles/components';
+import ErrorScreen from '../../screens/OrangeTicket/Error';
import Prize from '../../screens/OrangeTicket/Prize';
import UsedCard from '../../screens/OrangeTicket/UsedCard';
-import ErrorScreen from '../../screens/OrangeTicket/Error';
+import { NavigationContainer } from '../../styles/components';
import BottomSheetWrapper from '../../components/BottomSheetWrapper';
-import { useAppSelector } from '../../hooks/redux';
+import { __TREASURE_HUNT_HOST__ } from '../../constants/env';
import {
useBottomSheetBackPress,
useSnapPoints,
} from '../../hooks/bottomSheet';
-import { showToast } from '../../utils/notifications';
-import { getNodeId, waitForLdk } from '../../utils/lightning';
+import { useAppSelector } from '../../hooks/redux';
import { viewControllerSelector } from '../../store/reselect/ui';
-import { __TREASURE_HUNT_HOST__ } from '../../constants/env';
+import { getNodeId, waitForLdk } from '../../utils/lightning';
+import { showToast } from '../../utils/notifications';
export type OrangeTicketNavigationProp =
NativeStackNavigationProp;
diff --git a/src/navigation/bottom-sheet/PINNavigation.tsx b/src/navigation/bottom-sheet/PINNavigation.tsx
index 8a6bb8e69..35e9429bb 100644
--- a/src/navigation/bottom-sheet/PINNavigation.tsx
+++ b/src/navigation/bottom-sheet/PINNavigation.tsx
@@ -1,22 +1,22 @@
-import React, { ReactElement, memo } from 'react';
-import { useAppSelector } from '../../hooks/redux';
-import { BiometryType } from 'react-native-biometrics';
import { NavigationIndependentTree } from '@react-navigation/native';
import {
- createNativeStackNavigator,
NativeStackNavigationOptions,
NativeStackNavigationProp,
+ createNativeStackNavigator,
} from '@react-navigation/native-stack';
+import React, { ReactElement, memo } from 'react';
+import { BiometryType } from 'react-native-biometrics';
+import { useAppSelector } from '../../hooks/redux';
import BottomSheetWrapper from '../../components/BottomSheetWrapper';
-import PINPrompt from '../../screens/Settings/PIN/PINPrompt';
+import { __E2E__ } from '../../constants/env';
+import { useSnapPoints } from '../../hooks/bottomSheet';
+import AskForBiometrics from '../../screens/Settings/PIN/AskForBiometrics';
import ChoosePIN from '../../screens/Settings/PIN/ChoosePIN';
+import PINPrompt from '../../screens/Settings/PIN/PINPrompt';
import Result from '../../screens/Settings/PIN/Result';
-import AskForBiometrics from '../../screens/Settings/PIN/AskForBiometrics';
-import { NavigationContainer } from '../../styles/components';
-import { useSnapPoints } from '../../hooks/bottomSheet';
import { viewControllerIsOpenSelector } from '../../store/reselect/ui';
-import { __E2E__ } from '../../constants/env';
+import { NavigationContainer } from '../../styles/components';
export type PinNavigationProp = NativeStackNavigationProp;
diff --git a/src/navigation/bottom-sheet/ProfileLinkNavigation.tsx b/src/navigation/bottom-sheet/ProfileLinkNavigation.tsx
index 8af1946b5..108a80f7f 100644
--- a/src/navigation/bottom-sheet/ProfileLinkNavigation.tsx
+++ b/src/navigation/bottom-sheet/ProfileLinkNavigation.tsx
@@ -1,19 +1,19 @@
-import React, { ReactElement, memo } from 'react';
import { NavigationIndependentTree } from '@react-navigation/native';
import {
NativeStackNavigationOptions,
NativeStackNavigationProp,
createNativeStackNavigator,
} from '@react-navigation/native-stack';
+import React, { ReactElement, memo } from 'react';
-import { NavigationContainer } from '../../styles/components';
import BottomSheetWrapper from '../../components/BottomSheetWrapper';
+import { __E2E__ } from '../../constants/env';
+import { useSnapPoints } from '../../hooks/bottomSheet';
+import { useAppSelector } from '../../hooks/redux';
import ProfileLink from '../../screens/Profile/ProfileLink';
import ProfileLinkSuggestions from '../../screens/Profile/ProfileLinkSuggestions';
-import { useAppSelector } from '../../hooks/redux';
-import { useSnapPoints } from '../../hooks/bottomSheet';
import { viewControllerIsOpenSelector } from '../../store/reselect/ui';
-import { __E2E__ } from '../../constants/env';
+import { NavigationContainer } from '../../styles/components';
export type ProfileLinkNavigationProp =
NativeStackNavigationProp;
diff --git a/src/navigation/bottom-sheet/PubkyAuth.tsx b/src/navigation/bottom-sheet/PubkyAuth.tsx
index e211e97bf..9b919ac89 100644
--- a/src/navigation/bottom-sheet/PubkyAuth.tsx
+++ b/src/navigation/bottom-sheet/PubkyAuth.tsx
@@ -5,27 +5,27 @@ import React, {
useEffect,
useMemo,
} from 'react';
-import { StyleSheet, View } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import { BodyM, CaptionB, Text13UP, Title } from '../../styles/text';
+import { auth, parseAuthUrl } from '@synonymdev/react-native-pubky';
+import Animated, { FadeIn } from 'react-native-reanimated';
+import BottomSheetNavigationHeader from '../../components/BottomSheetNavigationHeader';
import BottomSheetWrapper from '../../components/BottomSheetWrapper';
import SafeAreaInset from '../../components/SafeAreaInset';
import Button from '../../components/buttons/Button';
-import BottomSheetNavigationHeader from '../../components/BottomSheetNavigationHeader';
-import { useAppSelector } from '../../hooks/redux';
import {
useBottomSheetBackPress,
useSnapPoints,
} from '../../hooks/bottomSheet';
-import { viewControllerSelector } from '../../store/reselect/ui.ts';
-import { auth, parseAuthUrl } from '@synonymdev/react-native-pubky';
-import { getPubkySecretKey } from '../../utils/pubky';
-import { showToast } from '../../utils/notifications.ts';
+import { useAppSelector } from '../../hooks/redux';
import { dispatch } from '../../store/helpers.ts';
+import { viewControllerSelector } from '../../store/reselect/ui.ts';
import { closeSheet } from '../../store/slices/ui.ts';
import { CheckCircleIcon } from '../../styles/icons.ts';
-import Animated, { FadeIn } from 'react-native-reanimated';
+import { BodyM, CaptionB, Text13UP, Title } from '../../styles/text';
+import { showToast } from '../../utils/notifications.ts';
+import { getPubkySecretKey } from '../../utils/pubky';
const defaultParsedUrl: PubkyAuthDetails = {
relay: '',
diff --git a/src/navigation/bottom-sheet/QuickPayPrompt.tsx b/src/navigation/bottom-sheet/QuickPayPrompt.tsx
index 2c4bf09e0..527cc7055 100644
--- a/src/navigation/bottom-sheet/QuickPayPrompt.tsx
+++ b/src/navigation/bottom-sheet/QuickPayPrompt.tsx
@@ -1,23 +1,23 @@
-import React, { memo, ReactElement, useEffect, useMemo } from 'react';
import { useNavigation } from '@react-navigation/native';
+import React, { memo, ReactElement, useEffect, useMemo } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { __E2E__ } from '../../constants/env';
-import { BodyMB, Display } from '../../styles/text';
-import BottomSheetWrapper from '../../components/BottomSheetWrapper';
import BottomSheetScreen from '../../components/BottomSheetScreen';
-import { objectKeys } from '../../utils/objectKeys';
-import { useBalance } from '../../hooks/wallet';
-import { useAppDispatch, useAppSelector } from '../../hooks/redux';
+import BottomSheetWrapper from '../../components/BottomSheetWrapper';
+import { __E2E__ } from '../../constants/env';
import {
useBottomSheetBackPress,
useSnapPoints,
} from '../../hooks/bottomSheet';
-import { closeSheet } from '../../store/slices/ui';
+import { useAppDispatch, useAppSelector } from '../../hooks/redux';
+import { useBalance } from '../../hooks/wallet';
+import { quickpayIntroSeenSelector } from '../../store/reselect/settings';
+import { viewControllersSelector } from '../../store/reselect/ui';
import { updateSettings } from '../../store/slices/settings';
+import { closeSheet } from '../../store/slices/ui';
import { showBottomSheet } from '../../store/utils/ui';
-import { viewControllersSelector } from '../../store/reselect/ui';
-import { quickpayIntroSeenSelector } from '../../store/reselect/settings';
+import { BodyMB, Display } from '../../styles/text';
+import { objectKeys } from '../../utils/objectKeys';
import { RootNavigationProp } from '../types';
const imageSrc = require('../../assets/illustrations/fast-forward.png');
diff --git a/src/navigation/bottom-sheet/ReceiveNavigation.tsx b/src/navigation/bottom-sheet/ReceiveNavigation.tsx
index fb1a9829d..c3e5b1a86 100644
--- a/src/navigation/bottom-sheet/ReceiveNavigation.tsx
+++ b/src/navigation/bottom-sheet/ReceiveNavigation.tsx
@@ -1,25 +1,25 @@
-import React, { ReactElement, memo } from 'react';
import { NavigationIndependentTree } from '@react-navigation/native';
import {
- createNativeStackNavigator,
NativeStackNavigationOptions,
NativeStackNavigationProp,
+ createNativeStackNavigator,
} from '@react-navigation/native-stack';
+import React, { ReactElement, memo } from 'react';
-import { NavigationContainer } from '../../styles/components';
import BottomSheetWrapper from '../../components/BottomSheetWrapper';
-import ReceiveQR from '../../screens/Wallets/Receive/ReceiveQR';
-import ReceiveDetails from '../../screens/Wallets/Receive/ReceiveDetails';
-import Tags from '../../screens/Wallets/Receive/Tags';
-import ReceiveAmount from '../../screens/Wallets/Receive/ReceiveAmount';
-import ReceiveGeoBlocked from '../../screens/Wallets/Receive/ReceiveGeoBlocked';
-import ReceiveConnect from '../../screens/Wallets/Receive/ReceiveConnect';
-import Liquidity from '../../screens/Wallets/Receive/Liquidity';
+import { __E2E__ } from '../../constants/env';
import { useSnapPoints } from '../../hooks/bottomSheet';
import { useAppDispatch, useAppSelector } from '../../hooks/redux';
-import { resetInvoice } from '../../store/slices/receive';
+import Liquidity from '../../screens/Wallets/Receive/Liquidity';
+import ReceiveAmount from '../../screens/Wallets/Receive/ReceiveAmount';
+import ReceiveConnect from '../../screens/Wallets/Receive/ReceiveConnect';
+import ReceiveDetails from '../../screens/Wallets/Receive/ReceiveDetails';
+import ReceiveGeoBlocked from '../../screens/Wallets/Receive/ReceiveGeoBlocked';
+import ReceiveQR from '../../screens/Wallets/Receive/ReceiveQR';
+import Tags from '../../screens/Wallets/Receive/Tags';
import { viewControllerSelector } from '../../store/reselect/ui';
-import { __E2E__ } from '../../constants/env';
+import { resetInvoice } from '../../store/slices/receive';
+import { NavigationContainer } from '../../styles/components';
export type ReceiveNavigationProp =
NativeStackNavigationProp;
diff --git a/src/navigation/bottom-sheet/SendNavigation.tsx b/src/navigation/bottom-sheet/SendNavigation.tsx
index 92a5431ed..d22425dc1 100644
--- a/src/navigation/bottom-sheet/SendNavigation.tsx
+++ b/src/navigation/bottom-sheet/SendNavigation.tsx
@@ -1,51 +1,51 @@
-import React, { ReactElement, memo } from 'react';
import {
- createNavigationContainerRef,
NavigationIndependentTree,
+ createNavigationContainerRef,
} from '@react-navigation/native';
import {
- createNativeStackNavigator,
NativeStackNavigationOptions,
NativeStackNavigationProp,
+ createNativeStackNavigator,
} from '@react-navigation/native-stack';
import { LNURLPayParams } from 'js-lnurl';
+import React, { ReactElement, memo } from 'react';
import BottomSheetWrapper from '../../components/BottomSheetWrapper';
-import Recipient from '../../screens/Wallets/Send/Recipient';
+import { __E2E__ } from '../../constants/env';
+import { useSnapPoints } from '../../hooks/bottomSheet';
+import { useLightningBalance } from '../../hooks/lightning';
+import { useAppSelector } from '../../hooks/redux';
+import LNURLAmount from '../../screens/Wallets/LNURLPay/Amount';
+import LNURLConfirm from '../../screens/Wallets/LNURLPay/Confirm';
+import Address from '../../screens/Wallets/Send/Address';
import Amount from '../../screens/Wallets/Send/Amount';
-import FeeRate from '../../screens/Wallets/Send/FeeRate';
-import FeeCustom from '../../screens/Wallets/Send/FeeCustom';
-import ReviewAndSend from '../../screens/Wallets/Send/ReviewAndSend';
-import Tags from '../../screens/Wallets/Send/Tags';
import AutoRebalance from '../../screens/Wallets/Send/AutoRebalance';
-import PinCheck from '../../screens/Wallets/Send/PinCheck';
+import CoinSelection from '../../screens/Wallets/Send/CoinSelection';
+import Contacts from '../../screens/Wallets/Send/Contacts';
+import ErrorScreen from '../../screens/Wallets/Send/Error';
+import FeeCustom from '../../screens/Wallets/Send/FeeCustom';
+import FeeRate from '../../screens/Wallets/Send/FeeRate';
import Pending from '../../screens/Wallets/Send/Pending';
+import PinCheck from '../../screens/Wallets/Send/PinCheck';
import Quickpay from '../../screens/Wallets/Send/Quickpay';
-import Success from '../../screens/Wallets/Send/Success';
-import ErrorScreen from '../../screens/Wallets/Send/Error';
-import Contacts from '../../screens/Wallets/Send/Contacts';
-import Address from '../../screens/Wallets/Send/Address';
+import Recipient from '../../screens/Wallets/Send/Recipient';
+import ReviewAndSend from '../../screens/Wallets/Send/ReviewAndSend';
import Scanner from '../../screens/Wallets/Send/Scanner';
-import CoinSelection from '../../screens/Wallets/Send/CoinSelection';
-import LNURLAmount from '../../screens/Wallets/LNURLPay/Amount';
-import LNURLConfirm from '../../screens/Wallets/LNURLPay/Confirm';
-import { NavigationContainer } from '../../styles/components';
-import { useSnapPoints } from '../../hooks/bottomSheet';
-import { viewControllerSelector } from '../../store/reselect/ui';
+import Success from '../../screens/Wallets/Send/Success';
+import Tags from '../../screens/Wallets/Send/Tags';
import {
- setupOnChainTransaction,
setupFeeForOnChainTransaction,
+ setupOnChainTransaction,
} from '../../store/actions/wallet';
-import { __E2E__ } from '../../constants/env';
-import { EActivityType } from '../../store/types/activity';
-import { updateOnchainFeeEstimates } from '../../store/utils/fees';
-import { useLightningBalance } from '../../hooks/lightning';
-import { useAppSelector } from '../../hooks/redux';
+import { viewControllerSelector } from '../../store/reselect/ui';
import {
selectedNetworkSelector,
selectedWalletSelector,
transactionSelector,
} from '../../store/reselect/wallet';
+import { EActivityType } from '../../store/types/activity';
+import { updateOnchainFeeEstimates } from '../../store/utils/fees';
+import { NavigationContainer } from '../../styles/components';
import { refreshLdk } from '../../utils/lightning';
export type SendNavigationProp = NativeStackNavigationProp;
diff --git a/src/navigation/bottom-sheet/TransferFailed.tsx b/src/navigation/bottom-sheet/TransferFailed.tsx
index 23b0fb66e..4aa3e24f4 100644
--- a/src/navigation/bottom-sheet/TransferFailed.tsx
+++ b/src/navigation/bottom-sheet/TransferFailed.tsx
@@ -1,13 +1,13 @@
import React, { memo, ReactElement } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { Display } from '../../styles/text';
-import BottomSheetWrapper from '../../components/BottomSheetWrapper';
import BottomSheetScreen from '../../components/BottomSheetScreen';
+import BottomSheetWrapper from '../../components/BottomSheetWrapper';
import {
useBottomSheetBackPress,
useSnapPoints,
} from '../../hooks/bottomSheet';
+import { Display } from '../../styles/text';
const imageSrc = require('../../assets/illustrations/cross.png');
diff --git a/src/navigation/bottom-sheet/TreasureHuntNavigation.tsx b/src/navigation/bottom-sheet/TreasureHuntNavigation.tsx
index 1a8b6009e..6c0dc88b3 100644
--- a/src/navigation/bottom-sheet/TreasureHuntNavigation.tsx
+++ b/src/navigation/bottom-sheet/TreasureHuntNavigation.tsx
@@ -1,3 +1,9 @@
+import { NavigationIndependentTree } from '@react-navigation/native';
+import {
+ NativeStackNavigationOptions,
+ NativeStackNavigationProp,
+ createNativeStackNavigator,
+} from '@react-navigation/native-stack';
import React, {
ReactElement,
memo,
@@ -5,26 +11,20 @@ import React, {
useEffect,
useState,
} from 'react';
-import { NavigationIndependentTree } from '@react-navigation/native';
-import {
- createNativeStackNavigator,
- NativeStackNavigationProp,
- NativeStackNavigationOptions,
-} from '@react-navigation/native-stack';
import BottomSheetWrapper from '../../components/BottomSheetWrapper';
import { __E2E__ } from '../../constants/env';
+import { __TREASURE_HUNT_HOST__ } from '../../constants/env';
import { useSnapPoints } from '../../hooks/bottomSheet';
+import { useAppDispatch, useAppSelector } from '../../hooks/redux';
+import Airdrop from '../../screens/TreasureHunt/Airdrop';
import Chest from '../../screens/TreasureHunt/Chest';
+import ErrorScreen from '../../screens/TreasureHunt/Error';
import Loading from '../../screens/TreasureHunt/Loading';
import Prize from '../../screens/TreasureHunt/Prize';
-import Airdrop from '../../screens/TreasureHunt/Airdrop';
-import ErrorScreen from '../../screens/TreasureHunt/Error';
import { viewControllerSelector } from '../../store/reselect/ui';
-import { NavigationContainer } from '../../styles/components';
-import { useAppDispatch, useAppSelector } from '../../hooks/redux';
import { addTreasureChest } from '../../store/slices/settings';
-import { __TREASURE_HUNT_HOST__ } from '../../constants/env';
+import { NavigationContainer } from '../../styles/components';
export type TreasureHuntNavigationProp =
NativeStackNavigationProp;
diff --git a/src/navigation/onboarding/OnboardingNavigator.tsx b/src/navigation/onboarding/OnboardingNavigator.tsx
index 7b5865326..bf74b5d60 100644
--- a/src/navigation/onboarding/OnboardingNavigator.tsx
+++ b/src/navigation/onboarding/OnboardingNavigator.tsx
@@ -1,19 +1,19 @@
-import React, { ReactElement } from 'react';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
+import React, { ReactElement } from 'react';
-import TermsOfUse from '../../screens/Onboarding/TermsOfUse';
-import WelcomeScreen from '../../screens/Onboarding/Welcome';
-import SlideshowScreen from '../../screens/Onboarding/Slideshow';
-import RestoreFromSeed from '../../screens/Onboarding/RestoreFromSeed';
-import MultipleDevices from '../../screens/Onboarding/MultipleDevices';
-import Passphrase from '../../screens/Onboarding/Passphrase';
+import { useAppSelector } from '../../hooks/redux';
import CreateWallet, {
TCreateWalletParams,
} from '../../screens/Onboarding/CreateWallet';
-import { NavigationContainer } from '../../styles/components';
-import { useAppSelector } from '../../hooks/redux';
+import MultipleDevices from '../../screens/Onboarding/MultipleDevices';
+import Passphrase from '../../screens/Onboarding/Passphrase';
+import RestoreFromSeed from '../../screens/Onboarding/RestoreFromSeed';
+import SlideshowScreen from '../../screens/Onboarding/Slideshow';
+import TermsOfUse from '../../screens/Onboarding/TermsOfUse';
+import WelcomeScreen from '../../screens/Onboarding/Welcome';
import { requiresRemoteRestoreSelector } from '../../store/reselect/user';
import { walletExistsSelector } from '../../store/reselect/wallet';
+import { NavigationContainer } from '../../styles/components';
export type OnboardingStackParamList = {
TermsOfUse: undefined;
diff --git a/src/navigation/root/RootNavigator.tsx b/src/navigation/root/RootNavigator.tsx
index 50e3eaa65..cdb491dfa 100644
--- a/src/navigation/root/RootNavigator.tsx
+++ b/src/navigation/root/RootNavigator.tsx
@@ -1,3 +1,12 @@
+import Clipboard from '@react-native-clipboard/clipboard';
+import {
+ LinkingOptions,
+ createNavigationContainerRef,
+} from '@react-navigation/native';
+import {
+ NativeStackNavigationOptions,
+ createNativeStackNavigator,
+} from '@react-navigation/native-stack';
import React, {
ReactElement,
memo,
@@ -6,51 +15,42 @@ import React, {
useRef,
useState,
} from 'react';
-import { AppState, Linking } from 'react-native';
-import {
- LinkingOptions,
- createNavigationContainerRef,
-} from '@react-navigation/native';
-import Clipboard from '@react-native-clipboard/clipboard';
import { useTranslation } from 'react-i18next';
-import {
- createNativeStackNavigator,
- NativeStackNavigationOptions,
-} from '@react-navigation/native-stack';
+import { AppState, Linking } from 'react-native';
-import { NavigationContainer } from '../../styles/components';
-import { processUri } from '../../utils/scanner/scanner';
-import { checkClipboardData } from '../../utils/clipboard';
-import { useRenderCount } from '../../hooks/helpers';
-import { useAppDispatch, useAppSelector } from '../../hooks/redux';
-import { getStore } from '../../store/helpers';
-import { updateUi } from '../../store/slices/ui';
-import { resetSendTransaction } from '../../store/actions/wallet';
-import { isAuthenticatedSelector } from '../../store/reselect/ui';
import AuthCheck from '../../components/AuthCheck';
import Dialog from '../../components/Dialog';
-import WalletNavigator from '../wallet/WalletNavigator';
-import ActivityDetail from '../../screens/Activity/ActivityDetail';
+import { __E2E__ } from '../../constants/env';
+import { useRenderCount } from '../../hooks/helpers';
+import { useAppDispatch, useAppSelector } from '../../hooks/redux';
import ActivityAssignContact from '../../screens/Activity/ActivityAssignContact';
+import ActivityDetail from '../../screens/Activity/ActivityDetail';
import BuyBitcoin from '../../screens/BuyBitcoin';
-import ScannerScreen from '../../screens/Scanner/MainScanner';
-import SettingsNavigator from '../settings/SettingsNavigator';
-import TransferNavigator from '../transfer/TransferNavigator';
-import Profile from '../../screens/Profile/Profile';
-import ProfileEdit from '../../screens/Profile/ProfileEdit';
-import Contacts from '../../screens/Contacts/Contacts';
import Contact from '../../screens/Contacts/Contact';
import ContactEdit from '../../screens/Contacts/ContactEdit';
+import Contacts from '../../screens/Contacts/Contacts';
+import Profile from '../../screens/Profile/Profile';
+import ProfileEdit from '../../screens/Profile/ProfileEdit';
+import ScannerScreen from '../../screens/Scanner/MainScanner';
+import ForgotPIN from '../../screens/Settings/PIN/ForgotPIN';
import Widget from '../../screens/Widgets/Widget';
import WidgetEdit from '../../screens/Widgets/WidgetEdit';
-import WidgetsSuggestions from '../../screens/Widgets/WidgetsSuggestions';
import WidgetsOnboarding from '../../screens/Widgets/WidgetsOnboarding';
-import ForgotPIN from '../../screens/Settings/PIN/ForgotPIN';
+import WidgetsSuggestions from '../../screens/Widgets/WidgetsSuggestions';
+import { resetSendTransaction } from '../../store/actions/wallet';
+import { getStore } from '../../store/helpers';
+import { isAuthenticatedSelector } from '../../store/reselect/ui';
+import { updateUi } from '../../store/slices/ui';
+import { NavigationContainer } from '../../styles/components';
import BackupSubscriber from '../../utils/backup/backups-subscriber';
-import ForceTransfer from '../bottom-sheet/ForceTransfer';
+import { checkClipboardData } from '../../utils/clipboard';
+import { processUri } from '../../utils/scanner/scanner';
import BottomSheetsLazy from '../bottom-sheet/BottomSheetsLazy';
-import { __E2E__ } from '../../constants/env';
+import ForceTransfer from '../bottom-sheet/ForceTransfer';
+import SettingsNavigator from '../settings/SettingsNavigator';
+import TransferNavigator from '../transfer/TransferNavigator';
import type { RootStackParamList } from '../types';
+import WalletNavigator from '../wallet/WalletNavigator';
const Stack = createNativeStackNavigator();
diff --git a/src/navigation/settings/SettingsNavigator.tsx b/src/navigation/settings/SettingsNavigator.tsx
index 32cd37ff9..ee689c5d3 100644
--- a/src/navigation/settings/SettingsNavigator.tsx
+++ b/src/navigation/settings/SettingsNavigator.tsx
@@ -1,53 +1,53 @@
-import React, { ReactElement } from 'react';
import {
- createNativeStackNavigator,
NativeStackNavigationOptions,
NativeStackNavigationProp,
+ createNativeStackNavigator,
} from '@react-navigation/native-stack';
+import React, { ReactElement } from 'react';
+import AuthCheck from '../../components/AuthCheck';
+import { __E2E__ } from '../../constants/env';
import MainSettings from '../../screens/Settings';
-import CurrenciesSettings from '../../screens/Settings/Currencies';
-import ElectrumConfig from '../../screens/Settings/ElectrumConfig';
-import GapLimit from '../../screens/Settings/GapLimit';
-import RGSServer from '../../screens/Settings/RGSServer';
-import CoinSelectPreference from '../../screens/Settings/CoinSelectPreference';
-import PaymentPreference from '../../screens/Settings/PaymentPreference';
+import AboutSettings from '../../screens/Settings/About';
import AddressTypePreference from '../../screens/Settings/AddressTypePreference';
+import AddressViewer from '../../screens/Settings/AddressViewer';
+import AdvancedSettings from '../../screens/Settings/Advanced';
+import AppStatus from '../../screens/Settings/AppStatus';
+import ExportToPhone from '../../screens/Settings/Backup/ExportToPhone';
+import ResetAndRestore from '../../screens/Settings/Backup/ResetAndRestore';
+import BackupSettings from '../../screens/Settings/BackupSettings';
+import BitcoinNetworkSelection from '../../screens/Settings/Bitcoin/BitcoinNetworkSelection';
+import CoinSelectPreference from '../../screens/Settings/CoinSelectPreference';
+import CurrenciesSettings from '../../screens/Settings/Currencies';
import DevSettings from '../../screens/Settings/DevSettings';
import LdkDebug from '../../screens/Settings/DevSettings/LdkDebug';
-import AddressViewer from '../../screens/Settings/AddressViewer';
-import LightningNodeInfo from '../../screens/Settings/Lightning/LightningNodeInfo';
-import UnitSettings from '../../screens/Settings/Unit';
-import TransactionSpeedSettings from '../../screens/Settings/TransactionSpeed';
-import CustomFee from '../../screens/Settings/TransactionSpeed/CustomFee';
-import WidgetSettings from '../../screens/Settings/Widgets';
-import QuickpayIntro from '../../screens/Settings/Quickpay/QuickpayIntro';
-import QuickpaySettings from '../../screens/Settings/Quickpay/QuickpaySettings';
-import AuthCheck from '../../components/AuthCheck';
+import ElectrumConfig from '../../screens/Settings/ElectrumConfig';
+import FeeSettings from '../../screens/Settings/Fee';
+import GapLimit from '../../screens/Settings/GapLimit';
import GeneralSettings from '../../screens/Settings/General';
-import SecuritySettings from '../../screens/Settings/Security';
+import ChannelDetails from '../../screens/Settings/Lightning/ChannelDetails';
+import Channels from '../../screens/Settings/Lightning/Channels';
+import CloseConnection from '../../screens/Settings/Lightning/CloseConnection';
+import LightningNodeInfo from '../../screens/Settings/Lightning/LightningNodeInfo';
import ChangePin from '../../screens/Settings/PIN/ChangePin';
import ChangePin2 from '../../screens/Settings/PIN/ChangePin2';
-import PinChanged from '../../screens/Settings/PIN/PinChanged';
import DisablePin from '../../screens/Settings/PIN/DisablePin';
-import BackupSettings from '../../screens/Settings/BackupSettings';
-import AdvancedSettings from '../../screens/Settings/Advanced';
-import AboutSettings from '../../screens/Settings/About';
-import SupportSettings from '../../screens/Settings/SupportSettings';
+import PinChanged from '../../screens/Settings/PIN/PinChanged';
+import PaymentPreference from '../../screens/Settings/PaymentPreference';
+import QuickpayIntro from '../../screens/Settings/Quickpay/QuickpayIntro';
+import QuickpaySettings from '../../screens/Settings/Quickpay/QuickpaySettings';
+import RGSServer from '../../screens/Settings/RGSServer';
import ReportIssue from '../../screens/Settings/ReportIssue';
-import FormSuccess from '../../screens/Settings/ReportIssue/FormSuccess';
import FormError from '../../screens/Settings/ReportIssue/FormError';
-import BitcoinNetworkSelection from '../../screens/Settings/Bitcoin/BitcoinNetworkSelection';
-import Channels from '../../screens/Settings/Lightning/Channels';
-import ChannelDetails from '../../screens/Settings/Lightning/ChannelDetails';
-import CloseConnection from '../../screens/Settings/Lightning/CloseConnection';
-import ExportToPhone from '../../screens/Settings/Backup/ExportToPhone';
-import ResetAndRestore from '../../screens/Settings/Backup/ResetAndRestore';
+import FormSuccess from '../../screens/Settings/ReportIssue/FormSuccess';
+import SecuritySettings from '../../screens/Settings/Security';
+import SupportSettings from '../../screens/Settings/SupportSettings';
import TagsSettings from '../../screens/Settings/Tags';
-import FeeSettings from '../../screens/Settings/Fee';
+import TransactionSpeedSettings from '../../screens/Settings/TransactionSpeed';
+import CustomFee from '../../screens/Settings/TransactionSpeed/CustomFee';
+import UnitSettings from '../../screens/Settings/Unit';
import WebRelay from '../../screens/Settings/WebRelay';
-import { __E2E__ } from '../../constants/env';
-import AppStatus from '../../screens/Settings/AppStatus';
+import WidgetSettings from '../../screens/Settings/Widgets';
import { TChannel } from '../../store/types/lightning';
export type SettingsNavigationProp =
diff --git a/src/navigation/transfer/TransferNavigator.tsx b/src/navigation/transfer/TransferNavigator.tsx
index 862aa5d60..b62f41884 100644
--- a/src/navigation/transfer/TransferNavigator.tsx
+++ b/src/navigation/transfer/TransferNavigator.tsx
@@ -1,35 +1,35 @@
-import React, { ReactElement } from 'react';
-import { LNURLChannelParams } from 'js-lnurl';
-import { IBtOrder } from '@synonymdev/blocktank-lsp-http-client';
import {
- createNativeStackNavigator,
NativeStackNavigationOptions,
NativeStackNavigationProp,
+ createNativeStackNavigator,
} from '@react-navigation/native-stack';
+import { IBtOrder } from '@synonymdev/blocktank-lsp-http-client';
+import { LNURLChannelParams } from 'js-lnurl';
+import React, { ReactElement } from 'react';
import { __E2E__ } from '../../constants/env';
-import TransferIntro from '../../screens/Transfer/TransferIntro';
+import Availability from '../../screens/Transfer/Availability';
+import ExternalAmount from '../../screens/Transfer/ExternalNode/Amount';
+import ExternalConfirm from '../../screens/Transfer/ExternalNode/Confirm';
+import ExternalConnection from '../../screens/Transfer/ExternalNode/Connection';
+import ExternalFeeCustom from '../../screens/Transfer/ExternalNode/FeeCustom';
+import ExternalSuccess from '../../screens/Transfer/ExternalNode/Success';
import Funding from '../../screens/Transfer/Funding';
import FundingAdvanced from '../../screens/Transfer/FundingAdvanced';
-import SpendingIntro from '../../screens/Transfer/SpendingIntro';
-import SpendingAmount from '../../screens/Transfer/SpendingAmount';
-import SpendingConfirm from '../../screens/Transfer/SpendingConfirm';
-import SpendingAdvanced from '../../screens/Transfer/SpendingAdvanced';
+import Interrupted from '../../screens/Transfer/Interrupted';
+import LNURLChannel from '../../screens/Transfer/LNURLChannel';
import Liquidity from '../../screens/Transfer/Liquidity';
-import SettingUp from '../../screens/Transfer/SettingUp';
-import SavingsIntro from '../../screens/Transfer/SavingsIntro';
-import Availability from '../../screens/Transfer/Availability';
-import SavingsConfirm from '../../screens/Transfer/SavingsConfirm';
import SavingsAdvanced from '../../screens/Transfer/SavingsAdvanced';
+import SavingsConfirm from '../../screens/Transfer/SavingsConfirm';
+import SavingsIntro from '../../screens/Transfer/SavingsIntro';
import SavingsProgress from '../../screens/Transfer/SavingsProgress';
-import Interrupted from '../../screens/Transfer/Interrupted';
+import SettingUp from '../../screens/Transfer/SettingUp';
+import SpendingAdvanced from '../../screens/Transfer/SpendingAdvanced';
+import SpendingAmount from '../../screens/Transfer/SpendingAmount';
+import SpendingConfirm from '../../screens/Transfer/SpendingConfirm';
+import SpendingIntro from '../../screens/Transfer/SpendingIntro';
import Success from '../../screens/Transfer/Success';
-import LNURLChannel from '../../screens/Transfer/LNURLChannel';
-import ExternalConnection from '../../screens/Transfer/ExternalNode/Connection';
-import ExternalAmount from '../../screens/Transfer/ExternalNode/Amount';
-import ExternalConfirm from '../../screens/Transfer/ExternalNode/Confirm';
-import ExternalSuccess from '../../screens/Transfer/ExternalNode/Success';
-import ExternalFeeCustom from '../../screens/Transfer/ExternalNode/FeeCustom';
+import TransferIntro from '../../screens/Transfer/TransferIntro';
import { TChannel } from '../../store/types/lightning';
export type TransferNavigationProp =
diff --git a/src/navigation/types/index.ts b/src/navigation/types/index.ts
index 2659714a2..213585bbe 100644
--- a/src/navigation/types/index.ts
+++ b/src/navigation/types/index.ts
@@ -1,27 +1,27 @@
+import type {
+ CompositeScreenProps,
+ NavigatorScreenParams,
+} from '@react-navigation/native';
import {
NativeStackNavigationProp,
NativeStackScreenProps,
} from '@react-navigation/native-stack';
-import type {
- NavigatorScreenParams,
- CompositeScreenProps,
-} from '@react-navigation/native';
+import type { RecoveryStackParamList } from '../../screens/Recovery/RecoveryNavigator';
import type { IActivityItem } from '../../store/types/activity';
import type { TWidgetSettings } from '../../store/types/widgets';
-import type { OnboardingStackParamList } from '../onboarding/OnboardingNavigator';
-import type { RecoveryStackParamList } from '../../screens/Recovery/RecoveryNavigator';
-import type { WalletStackParamList } from '../wallet/WalletNavigator';
-import type { TransferStackParamList } from '../transfer/TransferNavigator';
-import type { SettingsStackParamList } from '../settings/SettingsNavigator';
import type { BackupStackParamList } from '../bottom-sheet/BackupNavigation';
+import type { LNURLWithdrawStackParamList } from '../bottom-sheet/LNURLWithdrawNavigation';
+import type { OrangeTicketStackParamList } from '../bottom-sheet/OrangeTicketNavigation';
import type { PinStackParamList } from '../bottom-sheet/PINNavigation';
import type { ProfileLinkStackParamList } from '../bottom-sheet/ProfileLinkNavigation';
import type { ReceiveStackParamList } from '../bottom-sheet/ReceiveNavigation';
import type { SendStackParamList } from '../bottom-sheet/SendNavigation';
-import type { LNURLWithdrawStackParamList } from '../bottom-sheet/LNURLWithdrawNavigation';
-import type { OrangeTicketStackParamList } from '../bottom-sheet/OrangeTicketNavigation';
import type { TreasureHuntStackParamList } from '../bottom-sheet/TreasureHuntNavigation';
+import type { OnboardingStackParamList } from '../onboarding/OnboardingNavigator';
+import type { SettingsStackParamList } from '../settings/SettingsNavigator';
+import type { TransferStackParamList } from '../transfer/TransferNavigator';
+import type { WalletStackParamList } from '../wallet/WalletNavigator';
// TODO: move all navigation related types here
// https://reactnavigation.org/docs/typescript#organizing-types
diff --git a/src/navigation/wallet/WalletNavigator.tsx b/src/navigation/wallet/WalletNavigator.tsx
index 6854d616c..c42e59c48 100644
--- a/src/navigation/wallet/WalletNavigator.tsx
+++ b/src/navigation/wallet/WalletNavigator.tsx
@@ -1,21 +1,21 @@
-import React, { ReactElement, useState } from 'react';
import {
- createNativeStackNavigator,
NativeStackNavigationOptions,
NativeStackNavigationProp,
+ createNativeStackNavigator,
} from '@react-navigation/native-stack';
+import React, { ReactElement, useState } from 'react';
-import WalletsScreen from '../../screens/Wallets';
+import TabBar from '../../components/TabBar';
+import { __E2E__ } from '../../constants/env';
+import ActivityFiltered from '../../screens/Activity/ActivityFiltered';
import ActivitySavings from '../../screens/Activity/ActivitySavings';
import ActivitySpending from '../../screens/Activity/ActivitySpending';
-import ActivityFiltered from '../../screens/Activity/ActivityFiltered';
import BackupPrompt from '../../screens/Settings/Backup/BackupPrompt';
+import WalletsScreen from '../../screens/Wallets';
import AppUpdatePrompt from '../bottom-sheet/AppUpdatePrompt';
import HighBalanceWarning from '../bottom-sheet/HighBalanceWarning';
import QuickPayPrompt from '../bottom-sheet/QuickPayPrompt';
-import TabBar from '../../components/TabBar';
import type { RootStackScreenProps } from '../types';
-import { __E2E__ } from '../../constants/env';
export type WalletStackParamList = {
Wallets: { onFocus: (focused: boolean) => void } | undefined;
diff --git a/src/screens/Activity/ActivityAssignContact.tsx b/src/screens/Activity/ActivityAssignContact.tsx
index a993d87e2..bdbb8215a 100644
--- a/src/screens/Activity/ActivityAssignContact.tsx
+++ b/src/screens/Activity/ActivityAssignContact.tsx
@@ -1,14 +1,14 @@
import React, { memo, ReactElement } from 'react';
-import { StyleSheet, View } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import { View as ThemedView } from '../../styles/components';
-import NavigationHeader from '../../components/NavigationHeader';
import ContactsList from '../../components/ContactsList';
+import NavigationHeader from '../../components/NavigationHeader';
import SafeAreaInset from '../../components/SafeAreaInset';
import { useAppDispatch } from '../../hooks/redux';
-import { addMetaTxSlashtagsUrl } from '../../store/slices/metadata';
import { RootStackScreenProps } from '../../navigation/types';
+import { addMetaTxSlashtagsUrl } from '../../store/slices/metadata';
+import { View as ThemedView } from '../../styles/components';
const ActivityAssignContact = ({
navigation,
diff --git a/src/screens/Activity/ActivityDetail.tsx b/src/screens/Activity/ActivityDetail.tsx
index b1a5a7491..44bb68619 100644
--- a/src/screens/Activity/ActivityDetail.tsx
+++ b/src/screens/Activity/ActivityDetail.tsx
@@ -1,3 +1,7 @@
+import Clipboard from '@react-native-clipboard/clipboard';
+import { Canvas, Path, Skia } from '@shopify/react-native-skia';
+import { parse } from '@synonymdev/slashtags-url';
+import { EBoostType, EPaymentType } from 'beignet';
import React, {
ReactElement,
memo,
@@ -7,21 +11,29 @@ import React, {
useState,
ReactNode,
} from 'react';
+import { useTranslation } from 'react-i18next';
import {
ActivityIndicator,
ScrollView,
StyleSheet,
- View,
TouchableOpacity,
+ View,
} from 'react-native';
-import { Canvas, Path, Skia } from '@shopify/react-native-skia';
-import Clipboard from '@react-native-clipboard/clipboard';
-import { useTranslation } from 'react-i18next';
-import { parse } from '@synonymdev/slashtags-url';
-import { EBoostType, EPaymentType } from 'beignet';
+import ContactSmall from '../../components/ContactSmall';
+import Money from '../../components/Money';
+import NavigationHeader from '../../components/NavigationHeader';
+import SafeAreaInset from '../../components/SafeAreaInset';
+import Tag from '../../components/Tag';
+import Button from '../../components/buttons/Button';
+import useColors from '../../hooks/colors';
+import { useAppDispatch, useAppSelector } from '../../hooks/redux';
+import {
+ EActivityType,
+ TLightningActivityItem,
+ TOnchainActivityItem,
+} from '../../store/types/activity';
import { View as ThemedView } from '../../styles/components';
-import { Caption13Up, BodySSB, Title } from '../../styles/text';
import {
CalendarIcon,
CheckCircleIcon,
@@ -42,62 +54,50 @@ import {
UserPlusIcon,
XIcon,
} from '../../styles/icons';
-import Button from '../../components/buttons/Button';
-import Money from '../../components/Money';
-import ContactSmall from '../../components/ContactSmall';
-import NavigationHeader from '../../components/NavigationHeader';
-import SafeAreaInset from '../../components/SafeAreaInset';
-import Tag from '../../components/Tag';
-import ActivityTagsPrompt from './ActivityTagsPrompt';
-import {
- EActivityType,
- TLightningActivityItem,
- TOnchainActivityItem,
-} from '../../store/types/activity';
+import { BodySSB, Caption13Up, Title } from '../../styles/text';
import {
canBoost,
getBlockExplorerLink,
} from '../../utils/wallet/transactions';
-import useColors from '../../hooks/colors';
-import { useAppDispatch, useAppSelector } from '../../hooks/redux';
+import ActivityTagsPrompt from './ActivityTagsPrompt';
-import { showBottomSheet } from '../../store/utils/ui';
+import { useOnchainWallet, useSwitchUnit } from '../../hooks/wallet';
+import type {
+ RootNavigationProp,
+ RootStackScreenProps,
+} from '../../navigation/types';
import {
activityItemSelector,
activityItemsSelector,
} from '../../store/reselect/activity';
import {
- deleteMetaTxTag,
+ commentSelector,
+ slashTagsUrlSelector,
+ tagSelector,
+} from '../../store/reselect/metadata';
+import { contactsSelector } from '../../store/reselect/slashtags';
+import {
+ boostedTransactionsSelector,
+ selectedNetworkSelector,
+ transferSelector,
+} from '../../store/reselect/wallet';
+import {
deleteMetaTxSlashtagsUrl,
+ deleteMetaTxTag,
} from '../../store/slices/metadata';
-import { getTransactions } from '../../utils/wallet/electrum';
-import { ITransaction, ITxHash } from '../../utils/wallet';
+import { ETransferStatus } from '../../store/types/wallet';
+import { showBottomSheet } from '../../store/utils/ui';
+import { getBoostedTransactionParents } from '../../utils/boost';
import {
ellipsis,
getDurationForBlocks,
openURL,
vibrate,
} from '../../utils/helpers';
-import { getBoostedTransactionParents } from '../../utils/boost';
-import { showToast } from '../../utils/notifications';
-import {
- boostedTransactionsSelector,
- selectedNetworkSelector,
- transferSelector,
-} from '../../store/reselect/wallet';
-import {
- commentSelector,
- slashTagsUrlSelector,
- tagSelector,
-} from '../../store/reselect/metadata';
-import type {
- RootNavigationProp,
- RootStackScreenProps,
-} from '../../navigation/types';
import { i18nTime } from '../../utils/i18n';
-import { useOnchainWallet, useSwitchUnit } from '../../hooks/wallet';
-import { contactsSelector } from '../../store/reselect/slashtags';
-import { ETransferStatus } from '../../store/types/wallet';
+import { showToast } from '../../utils/notifications';
+import { ITransaction, ITxHash } from '../../utils/wallet';
+import { getTransactions } from '../../utils/wallet/electrum';
const Section = memo(
({ title, value }: { title: string; value: ReactNode }) => {
diff --git a/src/screens/Activity/ActivityFiltered.tsx b/src/screens/Activity/ActivityFiltered.tsx
index 96304fbd8..cacd041c7 100644
--- a/src/screens/Activity/ActivityFiltered.tsx
+++ b/src/screens/Activity/ActivityFiltered.tsx
@@ -1,26 +1,26 @@
+import { Canvas, LinearGradient, Rect, vec } from '@shopify/react-native-skia';
+import { EPaymentType } from 'beignet';
import React, { ReactElement, memo, useMemo, useState, useRef } from 'react';
-import { StyleSheet, TouchableOpacity, View, Keyboard } from 'react-native';
+import { useTranslation } from 'react-i18next';
+import { Keyboard, StyleSheet, TouchableOpacity, View } from 'react-native';
import { Gesture, GestureType } from 'react-native-gesture-handler';
import { SharedValue, useSharedValue } from 'react-native-reanimated';
-import { Canvas, LinearGradient, Rect, vec } from '@shopify/react-native-skia';
-import { useTranslation } from 'react-i18next';
-import { EPaymentType } from 'beignet';
-import { View as ThemedView, ScrollView } from '../../styles/components';
-import { CalendarIcon, TagIcon } from '../../styles/icons';
-import NavigationHeader from '../../components/NavigationHeader';
-import SearchInput from '../../components/SearchInput';
import BlurView from '../../components/BlurView';
-import SafeAreaInset from '../../components/SafeAreaInset';
import DetectSwipe from '../../components/DetectSwipe';
+import NavigationHeader from '../../components/NavigationHeader';
+import SafeAreaInset from '../../components/SafeAreaInset';
+import SearchInput from '../../components/SearchInput';
import Tabs, { TTab } from '../../components/Tabs';
import Tag from '../../components/Tag';
-import TagsPrompt from './TagsPrompt';
-import ActivityList from './ActivityList';
-import TimeRangePrompt from './TimeRangePrompt';
import { useAppDispatch } from '../../hooks/redux';
import { closeSheet } from '../../store/slices/ui';
import { showBottomSheet } from '../../store/utils/ui';
+import { ScrollView, View as ThemedView } from '../../styles/components';
+import { CalendarIcon, TagIcon } from '../../styles/icons';
+import ActivityList from './ActivityList';
+import TagsPrompt from './TagsPrompt';
+import TimeRangePrompt from './TimeRangePrompt';
const tabs: TTab[] = [
{ id: 'all', filter: { includeTransfers: true } },
diff --git a/src/screens/Activity/ActivityListShort.tsx b/src/screens/Activity/ActivityListShort.tsx
index a7e84d54e..a02b8973c 100644
--- a/src/screens/Activity/ActivityListShort.tsx
+++ b/src/screens/Activity/ActivityListShort.tsx
@@ -1,3 +1,4 @@
+import { useNavigation } from '@react-navigation/native';
import React, {
memo,
ReactElement,
@@ -5,19 +6,18 @@ import React, {
useCallback,
useMemo,
} from 'react';
-import { View, StyleSheet } from 'react-native';
-import { useNavigation } from '@react-navigation/native';
import { useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import { Caption13Up } from '../../styles/text';
+import Button from '../../components/buttons/Button';
import { useAppSelector } from '../../hooks/redux';
-import { groupActivityItems } from '../../utils/activity';
-import { showBottomSheet } from '../../store/utils/ui';
-import { IActivityItem } from '../../store/types/activity';
+import type { RootNavigationProp } from '../../navigation/types';
import { activityItemsSelector } from '../../store/reselect/activity';
-import Button from '../../components/buttons/Button';
+import { IActivityItem } from '../../store/types/activity';
+import { showBottomSheet } from '../../store/utils/ui';
+import { Caption13Up } from '../../styles/text';
+import { groupActivityItems } from '../../utils/activity';
import ListItem, { EmptyItem } from './ListItem';
-import type { RootNavigationProp } from '../../navigation/types';
const MAX_ACTIVITY_ITEMS = 3;
diff --git a/src/screens/Activity/ActivitySavings.tsx b/src/screens/Activity/ActivitySavings.tsx
index 1a52e867f..fe761c3d8 100644
--- a/src/screens/Activity/ActivitySavings.tsx
+++ b/src/screens/Activity/ActivitySavings.tsx
@@ -1,24 +1,24 @@
import React, { ReactElement, memo, useMemo } from 'react';
-import { Image, StyleSheet, View } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
-import { CaptionB, Display } from '../../styles/text';
-import { BitcoinCircleIcon, TransferIcon } from '../../styles/icons';
-import { View as ThemedView } from '../../styles/components';
+import ActivityHeader from '../../components/ActivityHeader';
+import Money from '../../components/Money';
import NavigationHeader from '../../components/NavigationHeader';
import SafeAreaInset from '../../components/SafeAreaInset';
-import ActivityHeader from '../../components/ActivityHeader';
-import Button from '../../components/buttons/Button';
import WalletOnboarding from '../../components/WalletOnboarding';
-import Money from '../../components/Money';
-import ActivityList from './ActivityList';
-import { useBalance } from '../../hooks/wallet';
+import Button from '../../components/buttons/Button';
import { useAppSelector } from '../../hooks/redux';
-import { EActivityType } from '../../store/types/activity';
-import { isGeoBlockedSelector } from '../../store/reselect/user';
-import { spendingIntroSeenSelector } from '../../store/reselect/settings';
-import { activityItemsSelector } from '../../store/reselect/activity';
+import { useBalance } from '../../hooks/wallet';
import { WalletScreenProps } from '../../navigation/types';
+import { activityItemsSelector } from '../../store/reselect/activity';
+import { spendingIntroSeenSelector } from '../../store/reselect/settings';
+import { isGeoBlockedSelector } from '../../store/reselect/user';
+import { EActivityType } from '../../store/types/activity';
+import { View as ThemedView } from '../../styles/components';
+import { BitcoinCircleIcon, TransferIcon } from '../../styles/icons';
+import { CaptionB, Display } from '../../styles/text';
+import ActivityList from './ActivityList';
const imageSrc = require('../../assets/illustrations/piggybank.png');
diff --git a/src/screens/Activity/ActivitySpending.tsx b/src/screens/Activity/ActivitySpending.tsx
index 90c7f5ad3..4ec1aee06 100644
--- a/src/screens/Activity/ActivitySpending.tsx
+++ b/src/screens/Activity/ActivitySpending.tsx
@@ -1,23 +1,23 @@
import React, { ReactElement, memo, useMemo } from 'react';
-import { Image, StyleSheet, View } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
-import { CaptionB, Display } from '../../styles/text';
-import { LightningCircleIcon, TransferIcon } from '../../styles/icons';
-import { View as ThemedView } from '../../styles/components';
+import ActivityHeader from '../../components/ActivityHeader';
+import Money from '../../components/Money';
import NavigationHeader from '../../components/NavigationHeader';
import SafeAreaInset from '../../components/SafeAreaInset';
-import ActivityHeader from '../../components/ActivityHeader';
import WalletOnboarding from '../../components/WalletOnboarding';
-import Money from '../../components/Money';
import Button from '../../components/buttons/Button';
-import ActivityList from './ActivityList';
-import { useBalance } from '../../hooks/wallet';
import { useAppSelector } from '../../hooks/redux';
-import { EActivityType } from '../../store/types/activity';
+import { useBalance } from '../../hooks/wallet';
+import { WalletScreenProps } from '../../navigation/types';
import { spendingOnboardingSelector } from '../../store/reselect/aggregations';
import { savingsIntroSeenSelector } from '../../store/reselect/settings';
-import { WalletScreenProps } from '../../navigation/types';
+import { EActivityType } from '../../store/types/activity';
+import { View as ThemedView } from '../../styles/components';
+import { LightningCircleIcon, TransferIcon } from '../../styles/icons';
+import { CaptionB, Display } from '../../styles/text';
+import ActivityList from './ActivityList';
const imageSrc = require('../../assets/illustrations/coin-stack-x-2.png');
diff --git a/src/screens/Activity/ActivityTagsPrompt.tsx b/src/screens/Activity/ActivityTagsPrompt.tsx
index 93f98507d..a08a68c22 100644
--- a/src/screens/Activity/ActivityTagsPrompt.tsx
+++ b/src/screens/Activity/ActivityTagsPrompt.tsx
@@ -1,23 +1,23 @@
import React, { memo, ReactElement, useState } from 'react';
-import { StyleSheet, View } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import { BottomSheetTextInput } from '../../styles/components';
-import { Subtitle, Text13UP } from '../../styles/text';
import BottomSheetWrapper from '../../components/BottomSheetWrapper';
import SafeAreaInset from '../../components/SafeAreaInset';
import Tag from '../../components/Tag';
import Button from '../../components/buttons/Button';
-import { closeSheet } from '../../store/slices/ui';
-import { viewControllerSelector } from '../../store/reselect/ui';
-import { addMetaTxTag } from '../../store/slices/metadata';
-import { lastUsedTagsSelector } from '../../store/reselect/metadata';
-import { useAppDispatch, useAppSelector } from '../../hooks/redux';
-import { Keyboard } from '../../hooks/keyboard';
import {
useBottomSheetBackPress,
useSnapPoints,
} from '../../hooks/bottomSheet';
+import { Keyboard } from '../../hooks/keyboard';
+import { useAppDispatch, useAppSelector } from '../../hooks/redux';
+import { lastUsedTagsSelector } from '../../store/reselect/metadata';
+import { viewControllerSelector } from '../../store/reselect/ui';
+import { addMetaTxTag } from '../../store/slices/metadata';
+import { closeSheet } from '../../store/slices/ui';
+import { BottomSheetTextInput } from '../../styles/components';
+import { Subtitle, Text13UP } from '../../styles/text';
const ActivityTagsPrompt = (): ReactElement => {
const { t } = useTranslation('wallet');
diff --git a/src/screens/Activity/ListItem.tsx b/src/screens/Activity/ListItem.tsx
index ecdbb35cb..81cc60249 100644
--- a/src/screens/Activity/ListItem.tsx
+++ b/src/screens/Activity/ListItem.tsx
@@ -1,35 +1,35 @@
import React, { memo, ReactElement, ReactNode } from 'react';
-import { StyleSheet, View } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import { TouchableOpacity, View as ThemedView } from '../../styles/components';
-import { CaptionB, BodyMSB } from '../../styles/text';
-import {
- HeartbeatIcon,
- HourglassSimpleIcon,
- ReceiveIcon,
- SendIcon,
- TimerIconAlt,
- TransferIcon,
- XIcon,
-} from '../../styles/icons';
+import { EPaymentType } from 'beignet';
import Money from '../../components/Money';
import ProfileImage from '../../components/ProfileImage';
+import { useFeeText } from '../../hooks/fees';
+import { useAppSelector } from '../../hooks/redux';
+import { useProfile } from '../../hooks/slashtags';
+import { slashTagsUrlSelector } from '../../store/reselect/metadata';
+import { transferSelector } from '../../store/reselect/wallet';
import {
EActivityType,
IActivityItem,
TLightningActivityItem,
TOnchainActivityItem,
} from '../../store/types/activity';
-import { useAppSelector } from '../../hooks/redux';
-import { useProfile } from '../../hooks/slashtags';
-import { useFeeText } from '../../hooks/fees';
import { ETransferStatus } from '../../store/types/wallet';
-import { slashTagsUrlSelector } from '../../store/reselect/metadata';
-import { getDurationForBlocks, truncate } from '../../utils/helpers';
+import { View as ThemedView, TouchableOpacity } from '../../styles/components';
+import {
+ HeartbeatIcon,
+ HourglassSimpleIcon,
+ ReceiveIcon,
+ SendIcon,
+ TimerIconAlt,
+ TransferIcon,
+ XIcon,
+} from '../../styles/icons';
+import { BodyMSB, CaptionB } from '../../styles/text';
import { getActivityItemDate } from '../../utils/activity';
-import { transferSelector } from '../../store/reselect/wallet';
-import { EPaymentType } from 'beignet';
+import { getDurationForBlocks, truncate } from '../../utils/helpers';
export const ListItem = ({
title,
diff --git a/src/screens/Activity/TagsPrompt.tsx b/src/screens/Activity/TagsPrompt.tsx
index f08c6a52c..d6106e2a6 100644
--- a/src/screens/Activity/TagsPrompt.tsx
+++ b/src/screens/Activity/TagsPrompt.tsx
@@ -1,18 +1,18 @@
import React, { memo, ReactElement } from 'react';
-import { StyleSheet, View } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import { Subtitle, BodyS, Text13UP } from '../../styles/text';
import BottomSheetWrapper from '../../components/BottomSheetWrapper';
import SafeAreaInset from '../../components/SafeAreaInset';
import Tag from '../../components/Tag';
-import { closeSheet } from '../../store/slices/ui';
-import { lastUsedTagsSelector } from '../../store/reselect/metadata';
-import { useAppDispatch, useAppSelector } from '../../hooks/redux';
import {
useBottomSheetBackPress,
useSnapPoints,
} from '../../hooks/bottomSheet';
+import { useAppDispatch, useAppSelector } from '../../hooks/redux';
+import { lastUsedTagsSelector } from '../../store/reselect/metadata';
+import { closeSheet } from '../../store/slices/ui';
+import { BodyS, Subtitle, Text13UP } from '../../styles/text';
const TagsPrompt = ({
tags,
diff --git a/src/screens/Activity/TimeRangePrompt.tsx b/src/screens/Activity/TimeRangePrompt.tsx
index aa22c05c3..fa1364cbd 100644
--- a/src/screens/Activity/TimeRangePrompt.tsx
+++ b/src/screens/Activity/TimeRangePrompt.tsx
@@ -1,21 +1,21 @@
import React, { memo, ReactElement, useMemo, useState } from 'react';
-import { StyleSheet, View, TouchableOpacity } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleSheet, TouchableOpacity, View } from 'react-native';
-import { Subtitle, BodyMSB, Caption13Up } from '../../styles/text';
-import { View as ThemedView } from '../../styles/components';
-import { LeftSign, RightSign } from '../../styles/icons';
import BottomSheetWrapper from '../../components/BottomSheetWrapper';
import SafeAreaInset from '../../components/SafeAreaInset';
-import { closeSheet } from '../../store/slices/ui';
+import Button from '../../components/buttons/Button';
import {
useBottomSheetBackPress,
useSnapPoints,
} from '../../hooks/bottomSheet';
-import { generateCalendar } from '../../utils/helpers';
-import Button from '../../components/buttons/Button';
-import { languageSelector, timeZoneSelector } from '../../store/reselect/ui';
import { useAppDispatch, useAppSelector } from '../../hooks/redux';
+import { languageSelector, timeZoneSelector } from '../../store/reselect/ui';
+import { closeSheet } from '../../store/slices/ui';
+import { View as ThemedView } from '../../styles/components';
+import { LeftSign, RightSign } from '../../styles/icons';
+import { BodyMSB, Caption13Up, Subtitle } from '../../styles/text';
+import { generateCalendar } from '../../utils/helpers';
import { i18nTime } from '../../utils/i18n';
const DAY_HEIGHT = 44;
diff --git a/src/screens/AppError.tsx b/src/screens/AppError.tsx
index 1c5cbff5a..f2ab81447 100644
--- a/src/screens/AppError.tsx
+++ b/src/screens/AppError.tsx
@@ -1,12 +1,12 @@
import React, { ErrorInfo, ReactElement } from 'react';
import {
- View,
- Text,
- StyleSheet,
- StatusBar,
- TouchableOpacity,
Image,
Platform,
+ StatusBar,
+ StyleSheet,
+ Text,
+ TouchableOpacity,
+ View,
} from 'react-native';
import { SafeAreaProvider } from 'react-native-safe-area-context';
diff --git a/src/screens/AppUpdate.tsx b/src/screens/AppUpdate.tsx
index 5b52756b2..aedc6cdc8 100644
--- a/src/screens/AppUpdate.tsx
+++ b/src/screens/AppUpdate.tsx
@@ -1,11 +1,11 @@
import React, { ReactElement } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { Display } from '../styles/text';
import OnboardingScreen from '../components/OnboardingScreen';
import { useAppSelector } from '../hooks/redux';
-import { openURL } from '../utils/helpers';
import { availableUpdateSelector } from '../store/reselect/ui';
+import { Display } from '../styles/text';
+import { openURL } from '../utils/helpers';
const imageSrc = require('../assets/illustrations/exclamation-mark.png');
diff --git a/src/screens/BuyBitcoin.tsx b/src/screens/BuyBitcoin.tsx
index c1f414165..0299f4241 100644
--- a/src/screens/BuyBitcoin.tsx
+++ b/src/screens/BuyBitcoin.tsx
@@ -1,11 +1,11 @@
import React, { ReactElement } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { Display } from '../styles/text';
import OnboardingScreen from '../components/OnboardingScreen';
-import { openURL } from '../utils/helpers';
import { useAppDispatch } from '../hooks/redux';
import { hideTodo } from '../store/slices/todos';
+import { Display } from '../styles/text';
+import { openURL } from '../utils/helpers';
const imageSrc = require('../assets/illustrations/bitcoin-emboss.png');
diff --git a/src/screens/Contacts/AddContact.tsx b/src/screens/Contacts/AddContact.tsx
index 4aedee670..2f77c8132 100644
--- a/src/screens/Contacts/AddContact.tsx
+++ b/src/screens/Contacts/AddContact.tsx
@@ -1,26 +1,26 @@
-import React, { ReactElement, useState } from 'react';
-import { View, StyleSheet, TouchableOpacity } from 'react-native';
-import { NativeStackNavigationProp } from '@react-navigation/native-stack';
import Clipboard from '@react-native-clipboard/clipboard';
+import { NativeStackNavigationProp } from '@react-navigation/native-stack';
import { parse } from '@synonymdev/slashtags-url';
+import React, { ReactElement, useState } from 'react';
import { useTranslation } from 'react-i18next';
+import { StyleSheet, TouchableOpacity, View } from 'react-native';
-import { closeSheet } from '../../store/slices/ui';
-import { handleSlashtagURL } from '../../utils/slashtags';
-import BottomSheetWrapper from '../../components/BottomSheetWrapper';
import BottomSheetNavigationHeader from '../../components/BottomSheetNavigationHeader';
+import BottomSheetWrapper from '../../components/BottomSheetWrapper';
import LabeledInput from '../../components/LabeledInput';
-import Button from '../../components/buttons/Button';
import SafeAreaInset from '../../components/SafeAreaInset';
-import { BodyM } from '../../styles/text';
-import { ClipboardTextIcon, CornersOutIcon } from '../../styles/icons';
-import type { RootStackParamList } from '../../navigation/types';
-import { useAppDispatch } from '../../hooks/redux';
-import { useSlashtags } from '../../hooks/slashtags';
+import Button from '../../components/buttons/Button';
import {
useBottomSheetBackPress,
useSnapPoints,
} from '../../hooks/bottomSheet';
+import { useAppDispatch } from '../../hooks/redux';
+import { useSlashtags } from '../../hooks/slashtags';
+import type { RootStackParamList } from '../../navigation/types';
+import { closeSheet } from '../../store/slices/ui';
+import { ClipboardTextIcon, CornersOutIcon } from '../../styles/icons';
+import { BodyM } from '../../styles/text';
+import { handleSlashtagURL } from '../../utils/slashtags';
const AddContact = ({
navigation,
diff --git a/src/screens/Contacts/ContactEdit.tsx b/src/screens/Contacts/ContactEdit.tsx
index 4e73e4b99..bd2d8984a 100644
--- a/src/screens/Contacts/ContactEdit.tsx
+++ b/src/screens/Contacts/ContactEdit.tsx
@@ -1,22 +1,22 @@
+import { parse } from '@synonymdev/slashtags-url';
import React, { useState, useMemo, useEffect, ReactElement } from 'react';
-import { View, StyleSheet } from 'react-native';
import { useTranslation } from 'react-i18next';
-import { parse } from '@synonymdev/slashtags-url';
+import { StyleSheet, View } from 'react-native';
-import { BodyS } from '../../styles/text';
-import { View as ThemedView } from '../../styles/components';
-import Button from '../../components/buttons/Button';
import Divider from '../../components/Divider';
-import SafeAreaInset from '../../components/SafeAreaInset';
import HourglassSpinner from '../../components/HourglassSpinner';
-import NavigationHeader from '../../components/NavigationHeader';
import KeyboardAvoidingView from '../../components/KeyboardAvoidingView';
+import NavigationHeader from '../../components/NavigationHeader';
import ProfileCard, { MAX_NAME_LENGTH } from '../../components/ProfileCard';
-import { RootStackScreenProps } from '../../navigation/types';
+import SafeAreaInset from '../../components/SafeAreaInset';
+import Button from '../../components/buttons/Button';
import { useAppDispatch, useAppSelector } from '../../hooks/redux';
import { useProfile, useSlashtags } from '../../hooks/slashtags';
-import { addContact } from '../../store/slices/slashtags';
+import { RootStackScreenProps } from '../../navigation/types';
import { contactSelector } from '../../store/reselect/slashtags';
+import { addContact } from '../../store/slices/slashtags';
+import { View as ThemedView } from '../../styles/components';
+import { BodyS } from '../../styles/text';
const ContactEdit = ({
navigation,
diff --git a/src/screens/Contacts/Contacts.tsx b/src/screens/Contacts/Contacts.tsx
index 5b07eb1fc..0358bce0b 100644
--- a/src/screens/Contacts/Contacts.tsx
+++ b/src/screens/Contacts/Contacts.tsx
@@ -1,28 +1,28 @@
import React, { ReactElement, useState } from 'react';
-import { View, StyleSheet, Keyboard } from 'react-native';
-import { useAppSelector } from '../../hooks/redux';
import { useTranslation } from 'react-i18next';
+import { Keyboard, StyleSheet, View } from 'react-native';
+import { useAppSelector } from '../../hooks/redux';
-import {
- View as ThemedView,
- TouchableHighlight,
-} from '../../styles/components';
-import { PlusIcon } from '../../styles/icons';
-import ContactsOnboarding from './ContactsOnboarding';
+import { parse } from '@synonymdev/slashtags-url';
+import ContactsList from '../../components/ContactsList';
import NavigationHeader from '../../components/NavigationHeader';
+import ProfileImage from '../../components/ProfileImage';
import SafeAreaInset from '../../components/SafeAreaInset';
import SearchInput from '../../components/SearchInput';
-import ContactsList from '../../components/ContactsList';
-import { showBottomSheet } from '../../store/utils/ui';
import { useProfile, useSlashtags } from '../../hooks/slashtags';
import { RootStackScreenProps } from '../../navigation/types';
-import AddContact from './AddContact';
import {
contactsSelector,
onboardedContactsSelector,
} from '../../store/reselect/slashtags';
-import ProfileImage from '../../components/ProfileImage';
-import { parse } from '@synonymdev/slashtags-url';
+import { showBottomSheet } from '../../store/utils/ui';
+import {
+ View as ThemedView,
+ TouchableHighlight,
+} from '../../styles/components';
+import { PlusIcon } from '../../styles/icons';
+import AddContact from './AddContact';
+import ContactsOnboarding from './ContactsOnboarding';
const Contacts = (props: RootStackScreenProps<'Contacts'>): ReactElement => {
const onboarded = useAppSelector(onboardedContactsSelector);
diff --git a/src/screens/Contacts/ContactsOnboarding.tsx b/src/screens/Contacts/ContactsOnboarding.tsx
index 149899fab..9bc7bb6af 100644
--- a/src/screens/Contacts/ContactsOnboarding.tsx
+++ b/src/screens/Contacts/ContactsOnboarding.tsx
@@ -1,12 +1,12 @@
-import React, { ReactElement } from 'react';
import { NativeStackScreenProps } from '@react-navigation/native-stack';
+import React, { ReactElement } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { Display } from '../../styles/text';
+import OnboardingScreen from '../../components/OnboardingScreen';
import { useAppDispatch } from '../../hooks/redux';
-import { setOnboardedContacts } from '../../store/slices/slashtags';
import { RootStackParamList } from '../../navigation/types';
-import OnboardingScreen from '../../components/OnboardingScreen';
+import { setOnboardedContacts } from '../../store/slices/slashtags';
+import { Display } from '../../styles/text';
const imageSrc = require('../../assets/illustrations/group.png');
diff --git a/src/screens/Onboarding/CreateWallet.tsx b/src/screens/Onboarding/CreateWallet.tsx
index f0ea53888..29a3ad5c1 100644
--- a/src/screens/Onboarding/CreateWallet.tsx
+++ b/src/screens/Onboarding/CreateWallet.tsx
@@ -1,6 +1,6 @@
import React, { ReactElement, useCallback, useEffect, useState } from 'react';
-import { Image, StyleSheet, View } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
import Dialog from '../../components/Dialog';
import SafeAreaInset from '../../components/SafeAreaInset';
diff --git a/src/screens/Onboarding/Loading.tsx b/src/screens/Onboarding/Loading.tsx
index 6bea3610c..7ed6348ac 100644
--- a/src/screens/Onboarding/Loading.tsx
+++ b/src/screens/Onboarding/Loading.tsx
@@ -1,11 +1,12 @@
import React, { ReactElement, useEffect } from 'react';
+import { Trans, useTranslation } from 'react-i18next';
import {
- View,
- StyleSheet,
Image,
- useWindowDimensions,
- TextInput,
Platform,
+ StyleSheet,
+ TextInput,
+ View,
+ useWindowDimensions,
} from 'react-native';
import Animated, {
Easing,
@@ -18,12 +19,11 @@ import Animated, {
withSequence,
withTiming,
} from 'react-native-reanimated';
-import { Trans, useTranslation } from 'react-i18next';
-import { AnimatedView } from '../../styles/components';
-import { Display } from '../../styles/text';
import SafeAreaInset from '../../components/SafeAreaInset';
import { __E2E__ } from '../../constants/env';
+import { AnimatedView } from '../../styles/components';
+import { Display } from '../../styles/text';
const circleSrc = require('../../assets/illustrations/loading-circle.png');
const rocketSrc = require('../../assets/illustrations/rocket.png');
diff --git a/src/screens/Onboarding/MultipleDevices.tsx b/src/screens/Onboarding/MultipleDevices.tsx
index 24d40009d..afec8386b 100644
--- a/src/screens/Onboarding/MultipleDevices.tsx
+++ b/src/screens/Onboarding/MultipleDevices.tsx
@@ -1,9 +1,9 @@
import React, { ReactElement } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { Display } from '../../styles/text';
import OnboardingScreen from '../../components/OnboardingScreen';
import type { OnboardingStackScreenProps } from '../../navigation/types';
+import { Display } from '../../styles/text';
const imageSrc = require('../../assets/illustrations/phone.png');
diff --git a/src/screens/Onboarding/Passphrase.tsx b/src/screens/Onboarding/Passphrase.tsx
index 6e0dd1fc0..998f089ef 100644
--- a/src/screens/Onboarding/Passphrase.tsx
+++ b/src/screens/Onboarding/Passphrase.tsx
@@ -2,19 +2,19 @@ import React, { ReactElement, memo, useState, useMemo } from 'react';
import { Trans, useTranslation } from 'react-i18next';
import { Image, StyleSheet, View, useWindowDimensions } from 'react-native';
-import {
- View as ThemedView,
- ScrollView,
- TextInput,
-} from '../../styles/components';
-import { Display, BodyM } from '../../styles/text';
-import SafeAreaInset from '../../components/SafeAreaInset';
-import NavigationHeader from '../../components/NavigationHeader';
+import Flag from '../../components/Flag';
import KeyboardAvoidingView from '../../components/KeyboardAvoidingView';
+import NavigationHeader from '../../components/NavigationHeader';
+import SafeAreaInset from '../../components/SafeAreaInset';
import Button from '../../components/buttons/Button';
-import Flag from '../../components/Flag';
import { useScreenSize } from '../../hooks/screen';
import type { OnboardingStackScreenProps } from '../../navigation/types';
+import {
+ ScrollView,
+ TextInput,
+ View as ThemedView,
+} from '../../styles/components';
+import { BodyM, Display } from '../../styles/text';
const imageSrc = require('../../assets/illustrations/padlock2.png');
diff --git a/src/screens/Onboarding/RestoreFromSeed.tsx b/src/screens/Onboarding/RestoreFromSeed.tsx
index 771e426d6..25e79d991 100644
--- a/src/screens/Onboarding/RestoreFromSeed.tsx
+++ b/src/screens/Onboarding/RestoreFromSeed.tsx
@@ -6,6 +6,7 @@ import React, {
useRef,
useState,
} from 'react';
+import { Trans, useTranslation } from 'react-i18next';
import {
Keyboard,
NativeSyntheticEvent,
@@ -14,16 +15,9 @@ import {
TextInputKeyPressEventData,
View,
} from 'react-native';
-import { Trans, useTranslation } from 'react-i18next';
import { KeyboardAccessoryView } from 'react-native-keyboard-accessory';
import rnAndroidKeyboardAdjust from 'rn-android-keyboard-adjust';
-import {
- ScrollView,
- TextInput,
- View as ThemedView,
-} from '../../styles/components';
-import { BodyM, BodyS, Display } from '../../styles/text';
import NavigationHeader from '../../components/NavigationHeader';
import SafeAreaInset from '../../components/SafeAreaInset';
import SeedInput from '../../components/SeedInput';
@@ -32,8 +26,14 @@ import VerticalShadow from '../../components/VerticalShadow';
import Button from '../../components/buttons/Button';
import { useAppDispatch } from '../../hooks/redux';
import { OnboardingStackScreenProps } from '../../navigation/types';
-import { updateUser } from '../../store/slices/user';
import { verifyBackup } from '../../store/slices/settings';
+import { updateUser } from '../../store/slices/user';
+import {
+ ScrollView,
+ TextInput,
+ View as ThemedView,
+} from '../../styles/components';
+import { BodyM, BodyS, Display } from '../../styles/text';
import { validateMnemonic } from '../../utils/wallet';
const RestoreFromSeed = ({
diff --git a/src/screens/Onboarding/Slideshow.tsx b/src/screens/Onboarding/Slideshow.tsx
index 202c279ea..a16babe17 100644
--- a/src/screens/Onboarding/Slideshow.tsx
+++ b/src/screens/Onboarding/Slideshow.tsx
@@ -23,17 +23,17 @@ import Animated, {
} from 'react-native-reanimated';
import Carousel, { ICarouselInstance } from 'react-native-reanimated-carousel';
-import { IThemeColors } from '../../styles/themes';
-import { View as ThemedView } from '../../styles/components';
-import { BodyM, BodyMB, Display, Footnote } from '../../styles/text';
import SafeAreaInset from '../../components/SafeAreaInset';
import Dot from '../../components/SliderDots';
import Button from '../../components/buttons/Button';
import ButtonTertiary from '../../components/buttons/ButtonTertiary';
import { useAppDispatch, useAppSelector } from '../../hooks/redux';
import type { OnboardingStackScreenProps } from '../../navigation/types';
-import { updateUser } from '../../store/slices/user';
import { isGeoBlockedSelector } from '../../store/reselect/user';
+import { updateUser } from '../../store/slices/user';
+import { View as ThemedView } from '../../styles/components';
+import { BodyM, BodyMB, Display, Footnote } from '../../styles/text';
+import { IThemeColors } from '../../styles/themes';
type Slide = {
color: keyof IThemeColors;
diff --git a/src/screens/Onboarding/TermsOfUse.tsx b/src/screens/Onboarding/TermsOfUse.tsx
index bf6a7eedd..93cc020cd 100644
--- a/src/screens/Onboarding/TermsOfUse.tsx
+++ b/src/screens/Onboarding/TermsOfUse.tsx
@@ -1,16 +1,16 @@
import React, { ReactElement, useState } from 'react';
-import { View, StyleSheet, ScrollView } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { ScrollView, StyleSheet, View } from 'react-native';
-import { Display, BodyMSB, BodySSB } from '../../styles/text';
+import TOS from '../../assets/tos';
import SafeAreaInset from '../../components/SafeAreaInset';
+import VerticalShadow from '../../components/VerticalShadow';
import Button from '../../components/buttons/Button';
import CheckButton from '../../components/buttons/CheckButton';
-import VerticalShadow from '../../components/VerticalShadow';
-import { openURL } from '../../utils/helpers';
-import { wipeApp } from '../../store/utils/settings';
-import TOS from '../../assets/tos';
import type { OnboardingStackScreenProps } from '../../navigation/types';
+import { wipeApp } from '../../store/utils/settings';
+import { BodyMSB, BodySSB, Display } from '../../styles/text';
+import { openURL } from '../../utils/helpers';
const TermsOfUse = ({
navigation,
diff --git a/src/screens/Onboarding/Welcome.tsx b/src/screens/Onboarding/Welcome.tsx
index b98b4a93c..c4a1caa0a 100644
--- a/src/screens/Onboarding/Welcome.tsx
+++ b/src/screens/Onboarding/Welcome.tsx
@@ -1,15 +1,15 @@
import React, { ReactElement } from 'react';
-import { View, StyleSheet, Image, ImageBackground } from 'react-native';
-import { FadeIn } from 'react-native-reanimated';
import { Trans, useTranslation } from 'react-i18next';
+import { Image, ImageBackground, StyleSheet, View } from 'react-native';
+import { FadeIn } from 'react-native-reanimated';
-import { AnimatedView } from '../../styles/components';
-import { Display, BodyM } from '../../styles/text';
+import DetectSwipe from '../../components/DetectSwipe';
import SafeAreaInset from '../../components/SafeAreaInset';
import Button from '../../components/buttons/Button';
-import DetectSwipe from '../../components/DetectSwipe';
-import { setGeoBlock } from '../../store/utils/user';
import type { OnboardingStackScreenProps } from '../../navigation/types';
+import { setGeoBlock } from '../../store/utils/user';
+import { AnimatedView } from '../../styles/components';
+import { BodyM, Display } from '../../styles/text';
const backgroundSrc = require('../../assets/illustrations/figures.png');
const logoSrc = require('../../assets/logo.png');
diff --git a/src/screens/OrangeTicket/Error.tsx b/src/screens/OrangeTicket/Error.tsx
index f69e957d4..213b15a59 100644
--- a/src/screens/OrangeTicket/Error.tsx
+++ b/src/screens/OrangeTicket/Error.tsx
@@ -1,14 +1,14 @@
import React, { ReactElement, memo } from 'react';
import { Image, StyleSheet, View } from 'react-native';
-import { BodyM } from '../../styles/text';
-import Button from '../../components/buttons/Button';
+import BottomSheetNavigationHeader from '../../components/BottomSheetNavigationHeader';
import GradientView from '../../components/GradientView';
import SafeAreaInset from '../../components/SafeAreaInset';
-import BottomSheetNavigationHeader from '../../components/BottomSheetNavigationHeader';
+import Button from '../../components/buttons/Button';
import { useAppDispatch } from '../../hooks/redux';
-import { closeSheet } from '../../store/slices/ui';
import type { OrangeTicketScreenProps } from '../../navigation/types';
+import { closeSheet } from '../../store/slices/ui';
+import { BodyM } from '../../styles/text';
const imageSrc = require('../../assets/illustrations/exclamation-mark.png');
diff --git a/src/screens/OrangeTicket/Prize.tsx b/src/screens/OrangeTicket/Prize.tsx
index 21089330f..a2078dc14 100644
--- a/src/screens/OrangeTicket/Prize.tsx
+++ b/src/screens/OrangeTicket/Prize.tsx
@@ -1,22 +1,22 @@
+import { ldk } from '@synonymdev/react-native-ldk';
import React, { ReactElement, memo, useCallback, useEffect } from 'react';
import { Image, StyleSheet, View } from 'react-native';
-import { ldk } from '@synonymdev/react-native-ldk';
-import { BodyM } from '../../styles/text';
+import { ActivityIndicator } from '../../components/ActivityIndicator';
import AmountToggle from '../../components/AmountToggle';
-import SafeAreaInset from '../../components/SafeAreaInset';
-import GradientView from '../../components/GradientView';
import BottomSheetNavigationHeader from '../../components/BottomSheetNavigationHeader';
-import { ActivityIndicator } from '../../components/ActivityIndicator';
-import { useAppDispatch } from '../../hooks/redux';
+import GradientView from '../../components/GradientView';
+import SafeAreaInset from '../../components/SafeAreaInset';
+import { __TREASURE_HUNT_HOST__ } from '../../constants/env';
import { useLightningMaxInboundCapacity } from '../../hooks/lightning';
-import { sleep } from '../../utils/helpers';
-import { showToast } from '../../utils/notifications';
-import { getNodeIdFromStorage } from '../../utils/lightning';
+import { useAppDispatch } from '../../hooks/redux';
+import type { OrangeTicketScreenProps } from '../../navigation/types';
import { addOrangeTicket } from '../../store/slices/settings';
import { createLightningInvoice } from '../../store/utils/lightning';
-import { __TREASURE_HUNT_HOST__ } from '../../constants/env';
-import type { OrangeTicketScreenProps } from '../../navigation/types';
+import { BodyM } from '../../styles/text';
+import { sleep } from '../../utils/helpers';
+import { getNodeIdFromStorage } from '../../utils/lightning';
+import { showToast } from '../../utils/notifications';
const imageSrc = require('../../assets/illustrations/bitcoin-emboss.png');
diff --git a/src/screens/OrangeTicket/UsedCard.tsx b/src/screens/OrangeTicket/UsedCard.tsx
index cf6a6c2dd..fe4eb41ac 100644
--- a/src/screens/OrangeTicket/UsedCard.tsx
+++ b/src/screens/OrangeTicket/UsedCard.tsx
@@ -1,15 +1,15 @@
import React, { ReactElement, memo } from 'react';
import { Image, StyleSheet, View } from 'react-native';
-import { BodyM } from '../../styles/text';
-import Button from '../../components/buttons/Button';
import AmountToggle from '../../components/AmountToggle';
+import BottomSheetNavigationHeader from '../../components/BottomSheetNavigationHeader';
import GradientView from '../../components/GradientView';
import SafeAreaInset from '../../components/SafeAreaInset';
-import BottomSheetNavigationHeader from '../../components/BottomSheetNavigationHeader';
+import Button from '../../components/buttons/Button';
import { useAppDispatch } from '../../hooks/redux';
-import { closeSheet } from '../../store/slices/ui';
import type { OrangeTicketScreenProps } from '../../navigation/types';
+import { closeSheet } from '../../store/slices/ui';
+import { BodyM } from '../../styles/text';
const imageSrc = require('../../assets/illustrations/exclamation-mark.png');
diff --git a/src/screens/Profile/Profile.tsx b/src/screens/Profile/Profile.tsx
index 4b95d837a..9f066e2ad 100644
--- a/src/screens/Profile/Profile.tsx
+++ b/src/screens/Profile/Profile.tsx
@@ -1,3 +1,4 @@
+import Clipboard from '@react-native-clipboard/clipboard';
import React, {
memo,
MutableRefObject,
@@ -7,38 +8,37 @@ import React, {
useRef,
useState,
} from 'react';
-import Clipboard from '@react-native-clipboard/clipboard';
-import { FadeIn, FadeOut } from 'react-native-reanimated';
-import { View, StyleSheet, useWindowDimensions } from 'react-native';
-import { useAppSelector } from '../../hooks/redux';
+import { useTranslation } from 'react-i18next';
+import { StyleSheet, View, useWindowDimensions } from 'react-native';
import QRCode from 'react-native-qrcode-svg';
+import { FadeIn, FadeOut } from 'react-native-reanimated';
import Share from 'react-native-share';
-import { useTranslation } from 'react-i18next';
+import { useAppSelector } from '../../hooks/redux';
+import DetectSwipe from '../../components/DetectSwipe';
+import Divider from '../../components/Divider';
+import NavigationHeader from '../../components/NavigationHeader';
+import ProfileCard from '../../components/ProfileCard';
+import ProfileImage from '../../components/ProfileImage';
+import ProfileLinks from '../../components/ProfileLinks';
+import SafeAreaInset from '../../components/SafeAreaInset';
+import Tooltip from '../../components/Tooltip';
+import IconButton from '../../components/buttons/IconButton';
+import { useProfile, useSlashtags } from '../../hooks/slashtags';
+import type { RootStackScreenProps } from '../../navigation/types';
+import { onboardingProfileStepSelector } from '../../store/reselect/slashtags';
+import { BasicProfile } from '../../store/types/slashtags';
import {
- ScrollView,
AnimatedView,
- TouchableOpacity,
+ ScrollView,
View as ThemedView,
+ TouchableOpacity,
} from '../../styles/components';
-import { BodyS } from '../../styles/text';
import { CopyIcon, PencilIcon, ShareIcon, UsersIcon } from '../../styles/icons';
-import { BasicProfile } from '../../store/types/slashtags';
-import { onboardingProfileStepSelector } from '../../store/reselect/slashtags';
-import { useProfile, useSlashtags } from '../../hooks/slashtags';
+import { BodyS } from '../../styles/text';
import { truncate } from '../../utils/helpers';
-import NavigationHeader from '../../components/NavigationHeader';
-import SafeAreaInset from '../../components/SafeAreaInset';
-import DetectSwipe from '../../components/DetectSwipe';
-import ProfileCard from '../../components/ProfileCard';
-import Tooltip from '../../components/Tooltip';
-import Divider from '../../components/Divider';
-import IconButton from '../../components/buttons/IconButton';
-import ProfileImage from '../../components/ProfileImage';
-import ProfileLinks from '../../components/ProfileLinks';
import ProfileEdit from './ProfileEdit';
-import { ProfileIntro, OfflinePayments } from './ProfileOnboarding';
-import type { RootStackScreenProps } from '../../navigation/types';
+import { OfflinePayments, ProfileIntro } from './ProfileOnboarding';
const Profile = memo((props: RootStackScreenProps<'Profile'>): ReactElement => {
const onboardingProfileStep = useAppSelector(onboardingProfileStepSelector);
diff --git a/src/screens/Profile/ProfileEdit.tsx b/src/screens/Profile/ProfileEdit.tsx
index eb3a47994..9df65ed14 100644
--- a/src/screens/Profile/ProfileEdit.tsx
+++ b/src/screens/Profile/ProfileEdit.tsx
@@ -6,36 +6,36 @@ import React, {
memo,
ReactElement,
} from 'react';
-import { View, StyleSheet } from 'react-native';
-import { useAppDispatch, useAppSelector } from '../../hooks/redux';
import { useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
+import { useAppDispatch, useAppSelector } from '../../hooks/redux';
-import { ScrollView, View as ThemedView } from '../../styles/components';
-import { BodyS } from '../../styles/text';
-import { PlusIcon } from '../../styles/icons';
import Dialog from '../../components/Dialog';
-import NavigationHeader from '../../components/NavigationHeader';
+import Divider from '../../components/Divider';
import KeyboardAvoidingView from '../../components/KeyboardAvoidingView';
-import Button from '../../components/buttons/Button';
-import SafeAreaInset from '../../components/SafeAreaInset';
+import NavigationHeader from '../../components/NavigationHeader';
import ProfileCard from '../../components/ProfileCard';
import ProfileLinks from '../../components/ProfileLinks';
-import Divider from '../../components/Divider';
+import SafeAreaInset from '../../components/SafeAreaInset';
+import Button from '../../components/buttons/Button';
import { Keyboard } from '../../hooks/keyboard';
import { useProfile, useSlashtags } from '../../hooks/slashtags';
+import ProfileLinkNavigation from '../../navigation/bottom-sheet/ProfileLinkNavigation';
+import type { RootStackScreenProps } from '../../navigation/types';
+import { slashtagsLinksSelector } from '../../store/reselect/slashtags';
+import { onboardingProfileStepSelector } from '../../store/reselect/slashtags';
import {
setLinks,
setOnboardingProfileStep,
} from '../../store/slices/slashtags';
-import { showBottomSheet } from '../../store/utils/ui';
import { BasicProfile } from '../../store/types/slashtags';
-import { slashtagsLinksSelector } from '../../store/reselect/slashtags';
-import { onboardingProfileStepSelector } from '../../store/reselect/slashtags';
+import { showBottomSheet } from '../../store/utils/ui';
+import { ScrollView, View as ThemedView } from '../../styles/components';
+import { PlusIcon } from '../../styles/icons';
+import { BodyS } from '../../styles/text';
import { arraysMatch } from '../../utils/helpers';
-import { deleteProfile, saveProfile } from '../../utils/slashtags';
import { showToast } from '../../utils/notifications';
-import ProfileLinkNavigation from '../../navigation/bottom-sheet/ProfileLinkNavigation';
-import type { RootStackScreenProps } from '../../navigation/types';
+import { deleteProfile, saveProfile } from '../../utils/slashtags';
const ProfileEdit = ({
navigation,
diff --git a/src/screens/Profile/ProfileLink.tsx b/src/screens/Profile/ProfileLink.tsx
index 622e1b1d0..8c4ed383d 100644
--- a/src/screens/Profile/ProfileLink.tsx
+++ b/src/screens/Profile/ProfileLink.tsx
@@ -2,18 +2,18 @@ import React, { ReactElement } from 'react';
import { useTranslation } from 'react-i18next';
import { StyleSheet, TouchableOpacity, View } from 'react-native';
-import { BodySB, BodyS } from '../../styles/text';
import BottomSheetNavigationHeader from '../../components/BottomSheetNavigationHeader';
-import Button from '../../components/buttons/Button';
import LabeledInput from '../../components/LabeledInput';
import SafeAreaInset from '../../components/SafeAreaInset';
-import { useAppDispatch, useAppSelector } from '../../hooks/redux';
+import Button from '../../components/buttons/Button';
import { useBottomSheetBackPress } from '../../hooks/bottomSheet';
import { Keyboard } from '../../hooks/keyboard';
+import { useAppDispatch, useAppSelector } from '../../hooks/redux';
import { ProfileLinkScreenProps } from '../../navigation/types';
+import { profileLinkSelector } from '../../store/reselect/ui';
import { addLink } from '../../store/slices/slashtags';
import { closeSheet, updateProfileLink } from '../../store/slices/ui';
-import { profileLinkSelector } from '../../store/reselect/ui';
+import { BodyS, BodySB } from '../../styles/text';
import { suggestions } from './ProfileLinkSuggestions';
const ProfileLink = ({
diff --git a/src/screens/Profile/ProfileLinkSuggestions.tsx b/src/screens/Profile/ProfileLinkSuggestions.tsx
index 79b22b13c..7ba4c2444 100644
--- a/src/screens/Profile/ProfileLinkSuggestions.tsx
+++ b/src/screens/Profile/ProfileLinkSuggestions.tsx
@@ -1,14 +1,14 @@
import React, { memo, ReactElement } from 'react';
-import { View, StyleSheet } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import Button from '../../components/buttons/Button';
import BottomSheetNavigationHeader from '../../components/BottomSheetNavigationHeader';
import GradientView from '../../components/GradientView';
+import Button from '../../components/buttons/Button';
import { useAppDispatch } from '../../hooks/redux';
+import type { ProfileLinkScreenProps } from '../../navigation/types';
import { updateProfileLink } from '../../store/slices/ui';
import { TProfileLink } from '../../store/types/ui';
-import type { ProfileLinkScreenProps } from '../../navigation/types';
type TSuggestion = {
prefix: string;
diff --git a/src/screens/Profile/ProfileOnboarding.tsx b/src/screens/Profile/ProfileOnboarding.tsx
index 38d8530e7..589a30d63 100644
--- a/src/screens/Profile/ProfileOnboarding.tsx
+++ b/src/screens/Profile/ProfileOnboarding.tsx
@@ -1,3 +1,4 @@
+import { NativeStackNavigationProp } from '@react-navigation/native-stack';
import React, {
memo,
ReactElement,
@@ -5,21 +6,15 @@ import React, {
useCallback,
useState,
} from 'react';
-import { View, StyleSheet, Image, ImageSourcePropType } from 'react-native';
-import { NativeStackNavigationProp } from '@react-navigation/native-stack';
-import { useAppDispatch, useAppSelector } from '../../hooks/redux';
import { Trans, useTranslation } from 'react-i18next';
+import { Image, ImageSourcePropType, StyleSheet, View } from 'react-native';
+import { useAppDispatch, useAppSelector } from '../../hooks/redux';
-import { Display, BodyM, BodyS } from '../../styles/text';
-import { View as ThemedView } from '../../styles/components';
+import DetectSwipe from '../../components/DetectSwipe';
import NavigationHeader from '../../components/NavigationHeader';
-import Button from '../../components/buttons/Button';
import SafeAreaInset from '../../components/SafeAreaInset';
-import { TSlashtagsState } from '../../store/types/slashtags';
import SwitchRow from '../../components/SwitchRow';
-import { updateSettings } from '../../store/slices/settings';
-import { setOnboardingProfileStep } from '../../store/slices/slashtags';
-import DetectSwipe from '../../components/DetectSwipe';
+import Button from '../../components/buttons/Button';
import type {
RootStackParamList,
RootStackScreenProps,
@@ -28,6 +23,11 @@ import {
selectedNetworkSelector,
selectedWalletSelector,
} from '../../store/reselect/wallet';
+import { updateSettings } from '../../store/slices/settings';
+import { setOnboardingProfileStep } from '../../store/slices/slashtags';
+import { TSlashtagsState } from '../../store/types/slashtags';
+import { View as ThemedView } from '../../styles/components';
+import { BodyM, BodyS, Display } from '../../styles/text';
import { updateSlashPayConfig } from '../../utils/slashtags';
const crownImageSrc = require('../../assets/illustrations/crown.png');
diff --git a/src/screens/Recovery/Mnemonic.tsx b/src/screens/Recovery/Mnemonic.tsx
index 39024077a..80c17ff64 100644
--- a/src/screens/Recovery/Mnemonic.tsx
+++ b/src/screens/Recovery/Mnemonic.tsx
@@ -1,16 +1,16 @@
import React, { ReactElement, useEffect, useState } from 'react';
-import { StyleSheet, View } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import { View as ThemedView } from '../../styles/components';
-import { BodyMSB, BodyM } from '../../styles/text';
-import { showToast } from '../../utils/notifications';
-import { getBip39Passphrase, getMnemonicPhrase } from '../../utils/wallet';
import NavigationHeader from '../../components/NavigationHeader';
import SafeAreaInset from '../../components/SafeAreaInset';
import Button from '../../components/buttons/Button';
-import { Word } from '../Settings/Backup/ShowMnemonic';
import { RecoveryStackScreenProps } from '../../navigation/types';
+import { View as ThemedView } from '../../styles/components';
+import { BodyM, BodyMSB } from '../../styles/text';
+import { showToast } from '../../utils/notifications';
+import { getBip39Passphrase, getMnemonicPhrase } from '../../utils/wallet';
+import { Word } from '../Settings/Backup/ShowMnemonic';
const Mnemonic = ({
navigation,
diff --git a/src/screens/Recovery/Recovery.tsx b/src/screens/Recovery/Recovery.tsx
index 66e6dbbc4..a60c625a3 100644
--- a/src/screens/Recovery/Recovery.tsx
+++ b/src/screens/Recovery/Recovery.tsx
@@ -1,23 +1,23 @@
import React, { ReactElement, useEffect, useState } from 'react';
+import { useTranslation } from 'react-i18next';
import { StyleSheet, View } from 'react-native';
-import { useAppSelector } from '../../hooks/redux';
import Share from 'react-native-share';
-import { useTranslation } from 'react-i18next';
+import { useAppSelector } from '../../hooks/redux';
-import { wipeApp } from '../../store/utils/settings';
-import { openURL } from '../../utils/helpers';
-import { zipLogs } from '../../utils/lightning/logs';
-import { createSupportLink } from '../../utils/support';
-import { showToast } from '../../utils/notifications';
-import { View as ThemedView } from '../../styles/components';
-import { BodyM } from '../../styles/text';
+import Dialog from '../../components/Dialog';
import NavigationHeader from '../../components/NavigationHeader';
import SafeAreaInset from '../../components/SafeAreaInset';
import Button from '../../components/buttons/Button';
-import Dialog from '../../components/Dialog';
import { RecoveryStackScreenProps } from '../../navigation/types';
-import { walletExistsSelector } from '../../store/reselect/wallet';
import { pinSelector } from '../../store/reselect/settings';
+import { walletExistsSelector } from '../../store/reselect/wallet';
+import { wipeApp } from '../../store/utils/settings';
+import { View as ThemedView } from '../../styles/components';
+import { BodyM } from '../../styles/text';
+import { openURL } from '../../utils/helpers';
+import { zipLogs } from '../../utils/lightning/logs';
+import { showToast } from '../../utils/notifications';
+import { createSupportLink } from '../../utils/support';
const Recovery = ({
navigation,
diff --git a/src/screens/Recovery/RecoveryNavigator.tsx b/src/screens/Recovery/RecoveryNavigator.tsx
index 0911cb5e3..1f79afab4 100644
--- a/src/screens/Recovery/RecoveryNavigator.tsx
+++ b/src/screens/Recovery/RecoveryNavigator.tsx
@@ -1,14 +1,14 @@
-import React, { ReactElement } from 'react';
import {
- createNativeStackNavigator,
NativeStackNavigationOptions,
+ createNativeStackNavigator,
} from '@react-navigation/native-stack';
+import React, { ReactElement } from 'react';
-import { NavigationContainer } from '../../styles/components';
import AuthCheck from '../../components/AuthCheck';
-import Recovery from '../../screens/Recovery/Recovery';
-import Mnemonic from '../../screens/Recovery/Mnemonic';
import { __E2E__ } from '../../constants/env';
+import Mnemonic from '../../screens/Recovery/Mnemonic';
+import Recovery from '../../screens/Recovery/Recovery';
+import { NavigationContainer } from '../../styles/components';
export type RecoveryStackParamList = {
AuthCheck: { onSuccess: () => void };
diff --git a/src/screens/Scanner/MainScanner.tsx b/src/screens/Scanner/MainScanner.tsx
index f3bf31e33..28741c44f 100644
--- a/src/screens/Scanner/MainScanner.tsx
+++ b/src/screens/Scanner/MainScanner.tsx
@@ -1,15 +1,15 @@
import React, { memo, ReactElement } from 'react';
-import { StyleSheet } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleSheet } from 'react-native';
-import { processUri } from '../../utils/scanner/scanner';
-import SafeAreaInset from '../../components/SafeAreaInset';
+import DetectSwipe from '../../components/DetectSwipe';
import NavigationHeader from '../../components/NavigationHeader';
-import { showToast } from '../../utils/notifications';
-import ScannerComponent from './ScannerComponent';
+import SafeAreaInset from '../../components/SafeAreaInset';
import type { RootStackScreenProps } from '../../navigation/types';
-import DetectSwipe from '../../components/DetectSwipe';
import { resetSendTransaction } from '../../store/actions/wallet';
+import { showToast } from '../../utils/notifications';
+import { processUri } from '../../utils/scanner/scanner';
+import ScannerComponent from './ScannerComponent';
const ScannerScreen = ({
navigation,
diff --git a/src/screens/Scanner/ScannerComponent.tsx b/src/screens/Scanner/ScannerComponent.tsx
index 9a8de2257..bd0c8f522 100644
--- a/src/screens/Scanner/ScannerComponent.tsx
+++ b/src/screens/Scanner/ScannerComponent.tsx
@@ -1,24 +1,24 @@
-import React, { ReactElement, ReactNode, useMemo, useState } from 'react';
-import { View, StyleSheet, useWindowDimensions } from 'react-native';
import Clipboard from '@react-native-clipboard/clipboard';
-import { FadeIn, FadeOut } from 'react-native-reanimated';
+import React, { ReactElement, ReactNode, useMemo, useState } from 'react';
+import { useTranslation } from 'react-i18next';
+import { StyleSheet, View, useWindowDimensions } from 'react-native';
import { launchImageLibrary } from 'react-native-image-picker';
+import { FadeIn, FadeOut } from 'react-native-reanimated';
import RNQRGenerator from 'rn-qr-generator';
-import { useTranslation } from 'react-i18next';
+import BlurView from '../../components/BlurView';
+import Camera from '../../components/Camera';
+import GradientView from '../../components/CameraGradientView';
+import Dialog from '../../components/Dialog';
+import Button from '../../components/buttons/Button';
+import { __E2E__ } from '../../constants/env';
import { AnimatedView, TextInput } from '../../styles/components';
-import { BodySSB } from '../../styles/text';
import {
ClipboardTextIcon,
- PictureIcon,
FlashlightIcon,
+ PictureIcon,
} from '../../styles/icons';
-import Camera from '../../components/Camera';
-import GradientView from '../../components/CameraGradientView';
-import BlurView from '../../components/BlurView';
-import Button from '../../components/buttons/Button';
-import { __E2E__ } from '../../constants/env';
-import Dialog from '../../components/Dialog';
+import { BodySSB } from '../../styles/text';
type ScannerComponentProps = {
children: ReactNode;
diff --git a/src/screens/Settings/About/index.tsx b/src/screens/Settings/About/index.tsx
index 26e96880b..2a1b5f060 100644
--- a/src/screens/Settings/About/index.tsx
+++ b/src/screens/Settings/About/index.tsx
@@ -5,18 +5,18 @@ import React, {
useMemo,
// useState,
} from 'react';
+import { useTranslation } from 'react-i18next';
// import Rate, { AndroidMarket } from 'react-native-rate';
-import { View, Image, Share, StyleSheet } from 'react-native';
+import { Image, Share, StyleSheet, View } from 'react-native';
import { getBuildNumber, getVersion } from 'react-native-device-info';
-import { useTranslation } from 'react-i18next';
-import { View as ThemedView } from '../../../styles/components';
import { EItemType, IListData } from '../../../components/List';
import SafeAreaInset from '../../../components/SafeAreaInset';
import Social from '../../../components/Social';
-import SettingsView from '../SettingsView';
-import { openURL } from '../../../utils/helpers';
import { appName, appStoreUrl, playStoreUrl } from '../../../constants/app';
+import { View as ThemedView } from '../../../styles/components';
+import { openURL } from '../../../utils/helpers';
+import SettingsView from '../SettingsView';
const imageSrc = require('../../../assets/logo.png');
diff --git a/src/screens/Settings/AddressTypePreference/index.tsx b/src/screens/Settings/AddressTypePreference/index.tsx
index 714ed94c4..c3e637c57 100644
--- a/src/screens/Settings/AddressTypePreference/index.tsx
+++ b/src/screens/Settings/AddressTypePreference/index.tsx
@@ -1,22 +1,22 @@
+import { EAddressType } from 'beignet';
import React, { memo, ReactElement, useMemo, useState } from 'react';
-import { useAppSelector } from '../../../hooks/redux';
import { useTranslation } from 'react-i18next';
-import { EAddressType } from 'beignet';
+import { useAppSelector } from '../../../hooks/redux';
import { EItemType, IListData } from '../../../components/List';
-import SettingsView from '../SettingsView';
-import { refreshWallet } from '../../../utils/wallet';
-import { showToast } from '../../../utils/notifications';
+import type { SettingsScreenProps } from '../../../navigation/types';
+import { updateSelectedAddressType } from '../../../store/actions/wallet';
import { dispatch } from '../../../store/helpers';
-import { addressTypes } from '../../../store/shapes/wallet';
-import { updateWallet } from '../../../store/slices/wallet';
import { enableDevOptionsSelector } from '../../../store/reselect/settings';
-import { updateSelectedAddressType } from '../../../store/actions/wallet';
import {
addressTypeSelector,
addressTypesToMonitorSelector,
} from '../../../store/reselect/wallet';
-import type { SettingsScreenProps } from '../../../navigation/types';
+import { addressTypes } from '../../../store/shapes/wallet';
+import { updateWallet } from '../../../store/slices/wallet';
+import { showToast } from '../../../utils/notifications';
+import { refreshWallet } from '../../../utils/wallet';
+import SettingsView from '../SettingsView';
const AddressTypeSettings = ({
navigation,
diff --git a/src/screens/Settings/AddressViewer/AddressViewerListItem.tsx b/src/screens/Settings/AddressViewer/AddressViewerListItem.tsx
index 27a1e9dcb..beff898ba 100644
--- a/src/screens/Settings/AddressViewer/AddressViewerListItem.tsx
+++ b/src/screens/Settings/AddressViewer/AddressViewerListItem.tsx
@@ -1,10 +1,10 @@
+import { IAddress } from 'beignet';
import React, { ReactElement } from 'react';
import { StyleSheet, TextInputProps, View } from 'react-native';
import { TouchableOpacity } from '../../../styles/components';
-import { Subtitle, BodyMSB } from '../../../styles/text';
import { Checkmark } from '../../../styles/icons';
+import { BodyMSB, Subtitle } from '../../../styles/text';
import { IThemeColors } from '../../../styles/themes';
-import { IAddress } from 'beignet';
type ListItemProps = TextInputProps & {
item: IAddress;
diff --git a/src/screens/Settings/AddressViewer/index.tsx b/src/screens/Settings/AddressViewer/index.tsx
index 6b00e6267..bb33bde3c 100644
--- a/src/screens/Settings/AddressViewer/index.tsx
+++ b/src/screens/Settings/AddressViewer/index.tsx
@@ -1,3 +1,8 @@
+import Clipboard from '@react-native-clipboard/clipboard';
+import { ldk } from '@synonymdev/react-native-ldk';
+import { Result, err, ok } from '@synonymdev/result';
+import { EAddressType, IAddress, IUtxo } from 'beignet';
+import fuzzysort from 'fuzzysort';
import React, {
memo,
ReactElement,
@@ -7,67 +12,62 @@ import React, {
useRef,
useState,
} from 'react';
-import { FlatList, StyleSheet, View, ScrollView } from 'react-native';
-import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
import { useTranslation } from 'react-i18next';
+import { FlatList, ScrollView, StyleSheet, View } from 'react-native';
import QRCode from 'react-native-qrcode-svg';
-import { err, ok, Result } from '@synonymdev/result';
-import Clipboard from '@react-native-clipboard/clipboard';
-import fuzzysort from 'fuzzysort';
-import { ldk } from '@synonymdev/react-native-ldk';
-import { EAddressType, IAddress, IUtxo } from 'beignet';
+import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
-import {
- TouchableOpacity,
- View as ThemedView,
-} from '../../../styles/components';
-import { Subtitle, BodyS } from '../../../styles/text';
-import SafeAreaInset from '../../../components/SafeAreaInset';
import NavigationHeader from '../../../components/NavigationHeader';
+import SafeAreaInset from '../../../components/SafeAreaInset';
+import SearchInput from '../../../components/SearchInput';
+import Button from '../../../components/buttons/Button';
import {
- generateAddresses,
- getKeyDerivationPathObject,
- getPrivateKey,
- getReceiveAddress,
- setupAddressGenerator,
-} from '../../../utils/wallet';
+ resetSendTransaction,
+ setupOnChainTransaction,
+ updateBeignetSendTransaction,
+} from '../../../store/actions/wallet';
+import { viewControllerIsOpenSelector } from '../../../store/reselect/ui';
import {
addressTypeSelector,
currentWalletSelector,
selectedNetworkSelector,
selectedWalletSelector,
} from '../../../store/reselect/wallet';
-import { TWalletName } from '../../../store/types/wallet';
-import Button from '../../../components/buttons/Button';
import {
- defaultAddressContent,
addressTypes,
+ defaultAddressContent,
} from '../../../store/shapes/wallet';
+import { resetActivityState } from '../../../store/slices/activity';
+import { updateSendTransaction } from '../../../store/slices/ui';
+import { updateWallet } from '../../../store/slices/wallet';
+import { TWalletName } from '../../../store/types/wallet';
+import { updateActivityList } from '../../../store/utils/activity';
+import { updateOnchainFeeEstimates } from '../../../store/utils/fees';
+import { showBottomSheet } from '../../../store/utils/ui';
+import {
+ View as ThemedView,
+ TouchableOpacity,
+} from '../../../styles/components';
+import { BodyS, Subtitle } from '../../../styles/text';
+import { IThemeColors } from '../../../styles/themes';
+import { openURL } from '../../../utils/helpers';
+import { setupLdk } from '../../../utils/lightning';
import { EAvailableNetwork } from '../../../utils/networks';
import { showToast } from '../../../utils/notifications';
+import { startWalletServices } from '../../../utils/startup';
+import {
+ generateAddresses,
+ getKeyDerivationPathObject,
+ getPrivateKey,
+ getReceiveAddress,
+ setupAddressGenerator,
+} from '../../../utils/wallet';
+import { getAddressUtxos } from '../../../utils/wallet/electrum';
import {
getBlockExplorerLink,
sendMax,
} from '../../../utils/wallet/transactions';
-import { openURL } from '../../../utils/helpers';
-import { getAddressUtxos } from '../../../utils/wallet/electrum';
-import { updateWallet } from '../../../store/slices/wallet';
-import {
- resetSendTransaction,
- setupOnChainTransaction,
- updateBeignetSendTransaction,
-} from '../../../store/actions/wallet';
-import { updateSendTransaction } from '../../../store/slices/ui';
-import { showBottomSheet } from '../../../store/utils/ui';
-import SearchInput from '../../../components/SearchInput';
import AddressViewerListItem from './AddressViewerListItem';
-import { IThemeColors } from '../../../styles/themes';
-import { updateActivityList } from '../../../store/utils/activity';
-import { resetActivityState } from '../../../store/slices/activity';
-import { setupLdk } from '../../../utils/lightning';
-import { startWalletServices } from '../../../utils/startup';
-import { updateOnchainFeeEstimates } from '../../../store/utils/fees';
-import { viewControllerIsOpenSelector } from '../../../store/reselect/ui';
export type TAddressViewerData = {
[EAddressType.p2tr]: {
diff --git a/src/screens/Settings/Advanced/index.tsx b/src/screens/Settings/Advanced/index.tsx
index 66561e7e6..c6652ddff 100644
--- a/src/screens/Settings/Advanced/index.tsx
+++ b/src/screens/Settings/Advanced/index.tsx
@@ -1,20 +1,20 @@
import React, { memo, ReactElement, useMemo, useState } from 'react';
-import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
import { useTranslation } from 'react-i18next';
+import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
-import { EItemType, IListData, ItemData } from '../../../components/List';
import Dialog from '../../../components/Dialog';
-import SettingsView from '../SettingsView';
+import { EItemType, IListData, ItemData } from '../../../components/List';
+import type { SettingsScreenProps } from '../../../navigation/types';
import { enableDevOptionsSelector } from '../../../store/reselect/settings';
-import { resetHiddenTodos } from '../../../store/slices/todos';
-import { addressTypes } from '../../../store/shapes/wallet';
import {
addressTypeSelector,
selectedNetworkSelector,
} from '../../../store/reselect/wallet';
-import { rescanAddresses } from '../../../utils/wallet';
+import { addressTypes } from '../../../store/shapes/wallet';
+import { resetHiddenTodos } from '../../../store/slices/todos';
import { networkLabels } from '../../../utils/networks';
-import type { SettingsScreenProps } from '../../../navigation/types';
+import { rescanAddresses } from '../../../utils/wallet';
+import SettingsView from '../SettingsView';
const AdvancedSettings = ({
navigation,
diff --git a/src/screens/Settings/AppStatus/index.tsx b/src/screens/Settings/AppStatus/index.tsx
index be4d7eaad..5b7922a1c 100644
--- a/src/screens/Settings/AppStatus/index.tsx
+++ b/src/screens/Settings/AppStatus/index.tsx
@@ -26,7 +26,7 @@ import {
GlobeSimpleIcon,
LightningHollow,
} from '../../../styles/icons';
-import { CaptionB, BodyMSB } from '../../../styles/text';
+import { BodyMSB, CaptionB } from '../../../styles/text';
import { FAILED_BACKUP_CHECK_TIME } from '../../../utils/backup/backups-subscriber';
import { i18nTime } from '../../../utils/i18n';
import SettingsView from '../SettingsView';
diff --git a/src/screens/Settings/Backup/BackupPrompt.tsx b/src/screens/Settings/Backup/BackupPrompt.tsx
index fdf75eda8..bcbb236ea 100644
--- a/src/screens/Settings/Backup/BackupPrompt.tsx
+++ b/src/screens/Settings/Backup/BackupPrompt.tsx
@@ -1,23 +1,23 @@
import React, { memo, ReactElement, useMemo, useEffect } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { __E2E__ } from '../../../constants/env';
-import { Display } from '../../../styles/text';
-import BottomSheetWrapper from '../../../components/BottomSheetWrapper';
import BottomSheetScreen from '../../../components/BottomSheetScreen';
-import { useBalance } from '../../../hooks/wallet';
-import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
+import BottomSheetWrapper from '../../../components/BottomSheetWrapper';
+import { __E2E__ } from '../../../constants/env';
import {
useBottomSheetBackPress,
useSnapPoints,
} from '../../../hooks/bottomSheet';
+import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
+import { useBalance } from '../../../hooks/wallet';
+import { backupVerifiedSelector } from '../../../store/reselect/settings';
+import { viewControllersSelector } from '../../../store/reselect/ui';
+import { ignoreBackupTimestampSelector } from '../../../store/reselect/user';
import { closeSheet } from '../../../store/slices/ui';
import { ignoreBackup } from '../../../store/slices/user';
import { showBottomSheet } from '../../../store/utils/ui';
+import { Display } from '../../../styles/text';
import { objectKeys } from '../../../utils/objectKeys';
-import { viewControllersSelector } from '../../../store/reselect/ui';
-import { ignoreBackupTimestampSelector } from '../../../store/reselect/user';
-import { backupVerifiedSelector } from '../../../store/reselect/settings';
const imageSrc = require('../../../assets/illustrations/safe.png');
diff --git a/src/screens/Settings/Backup/ConfirmMnemonic.tsx b/src/screens/Settings/Backup/ConfirmMnemonic.tsx
index 3702d2748..f12ea9eac 100644
--- a/src/screens/Settings/Backup/ConfirmMnemonic.tsx
+++ b/src/screens/Settings/Backup/ConfirmMnemonic.tsx
@@ -1,14 +1,14 @@
import React, { memo, ReactElement, useMemo, useState } from 'react';
-import { StyleSheet, View } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import { BodyM, BodyMSB } from '../../../styles/text';
-import { shuffleArray } from '../../../utils/helpers';
import BottomSheetNavigationHeader from '../../../components/BottomSheetNavigationHeader';
-import SafeAreaInset from '../../../components/SafeAreaInset';
import GradientView from '../../../components/GradientView';
+import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
import type { BackupScreenProps } from '../../../navigation/types';
+import { BodyM, BodyMSB } from '../../../styles/text';
+import { shuffleArray } from '../../../utils/helpers';
const Word = ({
number,
diff --git a/src/screens/Settings/Backup/ConfirmPassphrase.tsx b/src/screens/Settings/Backup/ConfirmPassphrase.tsx
index 75a08c994..742ddfc73 100644
--- a/src/screens/Settings/Backup/ConfirmPassphrase.tsx
+++ b/src/screens/Settings/Backup/ConfirmPassphrase.tsx
@@ -1,15 +1,15 @@
import React, { memo, ReactElement, useState } from 'react';
-import { StyleSheet, View } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import { BottomSheetTextInput } from '../../../styles/components';
-import { BodyM } from '../../../styles/text';
import BottomSheetNavigationHeader from '../../../components/BottomSheetNavigationHeader';
-import SafeAreaInset from '../../../components/SafeAreaInset';
import GradientView from '../../../components/GradientView';
+import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
-import { capitalize } from '../../../utils/helpers';
import type { BackupScreenProps } from '../../../navigation/types';
+import { BottomSheetTextInput } from '../../../styles/components';
+import { BodyM } from '../../../styles/text';
+import { capitalize } from '../../../utils/helpers';
const ConfirmPassphrase = ({
navigation,
diff --git a/src/screens/Settings/Backup/ExportToPhone.tsx b/src/screens/Settings/Backup/ExportToPhone.tsx
index 65a12cee9..55a1f8f66 100644
--- a/src/screens/Settings/Backup/ExportToPhone.tsx
+++ b/src/screens/Settings/Backup/ExportToPhone.tsx
@@ -1,20 +1,20 @@
import React, { memo, ReactElement, useEffect, useState } from 'react';
+import { useTranslation } from 'react-i18next';
import { StyleSheet } from 'react-native';
import Share, { ShareOptions } from 'react-native-share';
-import { useTranslation } from 'react-i18next';
-import { TextInput, View } from '../../../styles/components';
-import { BodyM } from '../../../styles/text';
-import NavigationHeader from '../../../components/NavigationHeader';
import KeyboardAvoidingView from '../../../components/KeyboardAvoidingView';
+import NavigationHeader from '../../../components/NavigationHeader';
import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
-import { showToast } from '../../../utils/notifications';
+import type { SettingsScreenProps } from '../../../navigation/types';
+import { TextInput, View } from '../../../styles/components';
+import { BodyM } from '../../../styles/text';
import {
cleanupBackupFiles,
createBackupFile,
} from '../../../utils/backup/fileBackup';
-import type { SettingsScreenProps } from '../../../navigation/types';
+import { showToast } from '../../../utils/notifications';
const ExportToPhone = ({
navigation,
diff --git a/src/screens/Settings/Backup/Metadata.tsx b/src/screens/Settings/Backup/Metadata.tsx
index f939d5177..6ca4b91a8 100644
--- a/src/screens/Settings/Backup/Metadata.tsx
+++ b/src/screens/Settings/Backup/Metadata.tsx
@@ -1,17 +1,17 @@
import React, { memo, ReactElement } from 'react';
-import { Image, StyleSheet, View } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
-import { BodyM, BodySB, BodyS } from '../../../styles/text';
-import GradientView from '../../../components/GradientView';
import BottomSheetNavigationHeader from '../../../components/BottomSheetNavigationHeader';
+import GradientView from '../../../components/GradientView';
import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
-import { closeSheet } from '../../../store/slices/ui';
import { backupSelector } from '../../../store/reselect/backup';
-import { i18nTime } from '../../../utils/i18n';
+import { closeSheet } from '../../../store/slices/ui';
import { EBackupCategory } from '../../../store/utils/backup';
+import { BodyM, BodyS, BodySB } from '../../../styles/text';
+import { i18nTime } from '../../../utils/i18n';
const imageSrc = require('../../../assets/illustrations/card.png');
diff --git a/src/screens/Settings/Backup/MultipleDevices.tsx b/src/screens/Settings/Backup/MultipleDevices.tsx
index 6e0c82e42..a2413c295 100644
--- a/src/screens/Settings/Backup/MultipleDevices.tsx
+++ b/src/screens/Settings/Backup/MultipleDevices.tsx
@@ -1,13 +1,13 @@
import React, { memo, ReactElement } from 'react';
-import { Image, StyleSheet, View } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
-import { BodyM } from '../../../styles/text';
-import GradientView from '../../../components/GradientView';
import BottomSheetNavigationHeader from '../../../components/BottomSheetNavigationHeader';
+import GradientView from '../../../components/GradientView';
import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
import type { BackupScreenProps } from '../../../navigation/types';
+import { BodyM } from '../../../styles/text';
const imageSrc = require('../../../assets/illustrations/phone.png');
diff --git a/src/screens/Settings/Backup/ResetAndRestore.tsx b/src/screens/Settings/Backup/ResetAndRestore.tsx
index ad510ebfa..c8588003a 100644
--- a/src/screens/Settings/Backup/ResetAndRestore.tsx
+++ b/src/screens/Settings/Backup/ResetAndRestore.tsx
@@ -1,15 +1,15 @@
import React, { memo, ReactElement, useState } from 'react';
-import { Image, StyleSheet } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { Image, StyleSheet } from 'react-native';
-import { View } from '../../../styles/components';
-import { BodyM } from '../../../styles/text';
+import Dialog from '../../../components/Dialog';
import NavigationHeader from '../../../components/NavigationHeader';
import SafeAreaInset from '../../../components/SafeAreaInset';
-import Dialog from '../../../components/Dialog';
import Button from '../../../components/buttons/Button';
import { wipeApp } from '../../../store/utils/settings';
import { showBottomSheet } from '../../../store/utils/ui';
+import { View } from '../../../styles/components';
+import { BodyM } from '../../../styles/text';
const imageSrc = require('../../../assets/illustrations/restore.png');
diff --git a/src/screens/Settings/Backup/ShowMnemonic.tsx b/src/screens/Settings/Backup/ShowMnemonic.tsx
index ef92aae8f..68e5f465c 100644
--- a/src/screens/Settings/Backup/ShowMnemonic.tsx
+++ b/src/screens/Settings/Backup/ShowMnemonic.tsx
@@ -1,19 +1,19 @@
+import Clipboard from '@react-native-clipboard/clipboard';
import React, { memo, ReactElement, useState, useEffect } from 'react';
-import { StyleSheet, View, Platform, TouchableOpacity } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
-import Clipboard from '@react-native-clipboard/clipboard';
+import { Platform, StyleSheet, TouchableOpacity, View } from 'react-native';
-import { View as ThemedView } from '../../../styles/components';
-import { BodyM, BodyMSB, BodyS } from '../../../styles/text';
+import BlurView from '../../../components/BlurView';
import BottomSheetNavigationHeader from '../../../components/BottomSheetNavigationHeader';
import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
-import BlurView from '../../../components/BlurView';
-import { getMnemonicPhrase, getBip39Passphrase } from '../../../utils/wallet';
import { useBottomSheetBackPress } from '../../../hooks/bottomSheet';
-import { showToast } from '../../../utils/notifications';
-import { vibrate } from '../../../utils/helpers';
import type { BackupScreenProps } from '../../../navigation/types';
+import { View as ThemedView } from '../../../styles/components';
+import { BodyM, BodyMSB, BodyS } from '../../../styles/text';
+import { vibrate } from '../../../utils/helpers';
+import { showToast } from '../../../utils/notifications';
+import { getBip39Passphrase, getMnemonicPhrase } from '../../../utils/wallet';
// Android doesn't have blur so we put a dummy mnemonic
const dummySeed = Array.from({ length: 12 }, () => 'secret');
diff --git a/src/screens/Settings/Backup/ShowPassphrase.tsx b/src/screens/Settings/Backup/ShowPassphrase.tsx
index fa87f6f4f..6168ac42a 100644
--- a/src/screens/Settings/Backup/ShowPassphrase.tsx
+++ b/src/screens/Settings/Backup/ShowPassphrase.tsx
@@ -1,15 +1,15 @@
-import React, { memo, ReactElement } from 'react';
-import { StyleSheet, View } from 'react-native';
import { BottomSheetScrollView } from '@gorhom/bottom-sheet';
+import React, { memo, ReactElement } from 'react';
import { Trans, useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import { View as ThemedView } from '../../../styles/components';
-import { BodyM, BodyMSB, BodyS } from '../../../styles/text';
import BottomSheetNavigationHeader from '../../../components/BottomSheetNavigationHeader';
-import SafeAreaInset from '../../../components/SafeAreaInset';
import GradientView from '../../../components/GradientView';
+import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
import type { BackupScreenProps } from '../../../navigation/types';
+import { View as ThemedView } from '../../../styles/components';
+import { BodyM, BodyMSB, BodyS } from '../../../styles/text';
const ShowPassphrase = ({
navigation,
diff --git a/src/screens/Settings/Backup/Success.tsx b/src/screens/Settings/Backup/Success.tsx
index 3d4b00231..9e7c919f9 100644
--- a/src/screens/Settings/Backup/Success.tsx
+++ b/src/screens/Settings/Backup/Success.tsx
@@ -1,15 +1,15 @@
import React, { memo, ReactElement } from 'react';
-import { Image, StyleSheet, View } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
-import { BodyMB, BodyM } from '../../../styles/text';
import BottomSheetNavigationHeader from '../../../components/BottomSheetNavigationHeader';
-import SafeAreaInset from '../../../components/SafeAreaInset';
import GradientView from '../../../components/GradientView';
+import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
import { useAppDispatch } from '../../../hooks/redux';
-import { verifyBackup } from '../../../store/slices/settings';
import { BackupScreenProps } from '../../../navigation/types';
+import { verifyBackup } from '../../../store/slices/settings';
+import { BodyM, BodyMB } from '../../../styles/text';
const imageSrc = require('../../../assets/illustrations/check.png');
diff --git a/src/screens/Settings/Backup/Warning.tsx b/src/screens/Settings/Backup/Warning.tsx
index d987fe15a..996820583 100644
--- a/src/screens/Settings/Backup/Warning.tsx
+++ b/src/screens/Settings/Backup/Warning.tsx
@@ -1,13 +1,13 @@
import React, { memo, ReactElement } from 'react';
-import { StyleSheet, View, Image } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
-import { BodyM, BodyMB } from '../../../styles/text';
-import GradientView from '../../../components/GradientView';
import BottomSheetNavigationHeader from '../../../components/BottomSheetNavigationHeader';
+import GradientView from '../../../components/GradientView';
import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
import type { BackupScreenProps } from '../../../navigation/types';
+import { BodyM, BodyMB } from '../../../styles/text';
const imageSrc = require('../../../assets/illustrations/exclamation-mark.png');
diff --git a/src/screens/Settings/BackupSettings/index.tsx b/src/screens/Settings/BackupSettings/index.tsx
index 973a63517..1132c5e67 100644
--- a/src/screens/Settings/BackupSettings/index.tsx
+++ b/src/screens/Settings/BackupSettings/index.tsx
@@ -2,10 +2,8 @@ import React, { ReactElement, ReactNode, memo, useMemo } from 'react';
import { useTranslation } from 'react-i18next';
import { StyleSheet, View } from 'react-native';
-import { IThemeColors } from '../../../styles/themes';
-import { CaptionB, Caption13Up, BodyMSB } from '../../../styles/text';
-import { ScrollView, View as ThemedView } from '../../../styles/components';
import { EItemType, IListData } from '../../../components/List';
+import Button from '../../../components/buttons/Button';
import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
import { SettingsScreenProps } from '../../../navigation/types';
import { backupSelector } from '../../../store/reselect/backup';
@@ -14,6 +12,7 @@ import { forceBackup } from '../../../store/slices/backup';
import { TBackupItem } from '../../../store/types/backup';
import { EBackupCategory } from '../../../store/utils/backup';
import { toggleBottomSheet } from '../../../store/utils/ui';
+import { ScrollView, View as ThemedView } from '../../../styles/components';
import {
ArrowClockwise,
LightningHollow,
@@ -25,9 +24,10 @@ import {
TransferIcon,
UsersIcon,
} from '../../../styles/icons';
+import { BodyMSB, Caption13Up, CaptionB } from '../../../styles/text';
+import { IThemeColors } from '../../../styles/themes';
import { i18nTime } from '../../../utils/i18n';
import SettingsView from '../SettingsView';
-import Button from '../../../components/buttons/Button';
const Status = ({
Icon,
diff --git a/src/screens/Settings/Bitcoin/BitcoinNetworkSelection.tsx b/src/screens/Settings/Bitcoin/BitcoinNetworkSelection.tsx
index dd00c94cf..965f61a11 100644
--- a/src/screens/Settings/Bitcoin/BitcoinNetworkSelection.tsx
+++ b/src/screens/Settings/Bitcoin/BitcoinNetworkSelection.tsx
@@ -1,15 +1,15 @@
import React, { memo, ReactElement, useMemo } from 'react';
-import { useAppSelector } from '../../../hooks/redux';
import { useTranslation } from 'react-i18next';
+import { useAppSelector } from '../../../hooks/redux';
import { EItemType, IListData } from '../../../components/List';
-import SettingsView from '../SettingsView';
+import { SettingsScreenProps } from '../../../navigation/types';
import { selectedNetworkSelector } from '../../../store/reselect/wallet';
import { networkLabels } from '../../../utils/networks';
-import { switchNetwork } from '../../../utils/wallet';
-import { SettingsScreenProps } from '../../../navigation/types';
-import { startWalletServices } from '../../../utils/startup';
import { showToast } from '../../../utils/notifications';
+import { startWalletServices } from '../../../utils/startup';
+import { switchNetwork } from '../../../utils/wallet';
+import SettingsView from '../SettingsView';
const BitcoinNetworkSelection = ({
navigation,
diff --git a/src/screens/Settings/CoinSelectPreference/index.tsx b/src/screens/Settings/CoinSelectPreference/index.tsx
index 1f5664c64..82623ce76 100644
--- a/src/screens/Settings/CoinSelectPreference/index.tsx
+++ b/src/screens/Settings/CoinSelectPreference/index.tsx
@@ -1,11 +1,11 @@
import React, { memo, ReactElement, useMemo } from 'react';
-import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
import { useTranslation } from 'react-i18next';
+import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
import { EItemType, IListData } from '../../../components/List';
-import SettingsView from '../SettingsView';
-import { updateSettings } from '../../../store/slices/settings';
import { coinSelectAutoSelector } from '../../../store/reselect/settings';
+import { updateSettings } from '../../../store/slices/settings';
+import SettingsView from '../SettingsView';
const CoinSelectSettings = (): ReactElement => {
const { t } = useTranslation('settings');
diff --git a/src/screens/Settings/Currencies/index.tsx b/src/screens/Settings/Currencies/index.tsx
index a51821fb2..33b8955dc 100644
--- a/src/screens/Settings/Currencies/index.tsx
+++ b/src/screens/Settings/Currencies/index.tsx
@@ -1,14 +1,14 @@
import React, { memo, ReactElement, useMemo } from 'react';
-import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
import { useTranslation } from 'react-i18next';
+import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
import { EItemType, IListData } from '../../../components/List';
-import SettingsView from '../SettingsView';
-import { mostUsedExchangeTickers } from '../../../utils/exchange-rate';
-import { updateSettings } from '../../../store/slices/settings';
-import { exchangeRatesSelector } from '../../../store/reselect/wallet';
-import { selectedCurrencySelector } from '../../../store/reselect/settings';
import type { SettingsScreenProps } from '../../../navigation/types';
+import { selectedCurrencySelector } from '../../../store/reselect/settings';
+import { exchangeRatesSelector } from '../../../store/reselect/wallet';
+import { updateSettings } from '../../../store/slices/settings';
+import { mostUsedExchangeTickers } from '../../../utils/exchange-rate';
+import SettingsView from '../SettingsView';
const CurrenciesSettings = ({
navigation,
diff --git a/src/screens/Settings/DevSettings/LdkDebug.tsx b/src/screens/Settings/DevSettings/LdkDebug.tsx
index e24ff5462..bb873d036 100644
--- a/src/screens/Settings/DevSettings/LdkDebug.tsx
+++ b/src/screens/Settings/DevSettings/LdkDebug.tsx
@@ -1,20 +1,29 @@
-import React, { ReactElement, memo, useState } from 'react';
-import { StyleSheet, ScrollView } from 'react-native';
-import Share from 'react-native-share';
-import { useTranslation } from 'react-i18next';
import Clipboard from '@react-native-clipboard/clipboard';
import lm from '@synonymdev/react-native-ldk';
+import React, { ReactElement, memo, useState } from 'react';
+import { useTranslation } from 'react-i18next';
+import { ScrollView, StyleSheet } from 'react-native';
import RNFS from 'react-native-fs';
+import Share from 'react-native-share';
-import { Caption13Up } from '../../../styles/text';
-import { View as ThemedView, TextInput } from '../../../styles/components';
+import NavigationHeader from '../../../components/NavigationHeader';
import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
-import NavigationHeader from '../../../components/NavigationHeader';
import { useLightningBalance } from '../../../hooks/lightning';
import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
-import { zipLogs } from '../../../utils/lightning/logs';
-import { showToast } from '../../../utils/notifications';
+import { openChannelsSelector } from '../../../store/reselect/lightning';
+import {
+ selectedNetworkSelector,
+ selectedWalletSelector,
+} from '../../../store/reselect/wallet';
+import { removeLightningPeer } from '../../../store/slices/lightning';
+import {
+ createLightningInvoice,
+ savePeer,
+} from '../../../store/utils/lightning';
+import { showBottomSheet } from '../../../store/utils/ui';
+import { TextInput, View as ThemedView } from '../../../styles/components';
+import { Caption13Up } from '../../../styles/text';
import {
addPeer,
getNodeId,
@@ -23,20 +32,11 @@ import {
recoverOutputs,
recoverOutputsFromForceClose,
refreshLdk,
- setupLdk,
removeUnusedPeers,
+ setupLdk,
} from '../../../utils/lightning';
-import { openChannelsSelector } from '../../../store/reselect/lightning';
-import { showBottomSheet } from '../../../store/utils/ui';
-import { removeLightningPeer } from '../../../store/slices/lightning';
-import {
- createLightningInvoice,
- savePeer,
-} from '../../../store/utils/lightning';
-import {
- selectedNetworkSelector,
- selectedWalletSelector,
-} from '../../../store/reselect/wallet';
+import { zipLogs } from '../../../utils/lightning/logs';
+import { showToast } from '../../../utils/notifications';
const LdkDebug = (): ReactElement => {
const { t } = useTranslation('lightning');
diff --git a/src/screens/Settings/DevSettings/index.tsx b/src/screens/Settings/DevSettings/index.tsx
index 6861246da..76c360846 100644
--- a/src/screens/Settings/DevSettings/index.tsx
+++ b/src/screens/Settings/DevSettings/index.tsx
@@ -1,19 +1,29 @@
import React, { memo, ReactElement, useState } from 'react';
+import { useTranslation } from 'react-i18next';
import RNFS, { unlink, writeFile } from 'react-native-fs';
import Share from 'react-native-share';
-import { useTranslation } from 'react-i18next';
+import Dialog from '../../../components/Dialog';
+import { EItemType, IListData } from '../../../components/List';
+import { __E2E__ } from '../../../constants/env';
+import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
+import type { SettingsScreenProps } from '../../../navigation/types';
import actions from '../../../store/actions/actions';
-import {
- updateWallet,
- resetSelectedWallet,
-} from '../../../store/slices/wallet';
import {
clearUtxos,
injectFakeTransaction,
} from '../../../store/actions/wallet';
-import { resetUserState } from '../../../store/slices/user';
+import { getStore, getWalletStore } from '../../../store/helpers';
+import { storage } from '../../../store/mmkv-storage';
+import { warningsSelector } from '../../../store/reselect/checks';
+import { settingsSelector } from '../../../store/reselect/settings';
+import {
+ addressTypeSelector,
+ selectedNetworkSelector,
+ selectedWalletSelector,
+} from '../../../store/reselect/wallet';
import { resetActivityState } from '../../../store/slices/activity';
+import { resetBackupState } from '../../../store/slices/backup';
import { resetBlocktankState } from '../../../store/slices/blocktank';
import { resetFeesState } from '../../../store/slices/fees';
import { resetLightningState } from '../../../store/slices/lightning';
@@ -23,30 +33,20 @@ import {
updateSettings,
} from '../../../store/slices/settings';
import { resetSlashtagsState } from '../../../store/slices/slashtags';
-import { resetWidgetsState } from '../../../store/slices/widgets';
import { resetTodosState } from '../../../store/slices/todos';
-import { wipeApp } from '../../../store/utils/settings';
-import { getStore, getWalletStore } from '../../../store/helpers';
-import { warningsSelector } from '../../../store/reselect/checks';
+import { resetUserState } from '../../../store/slices/user';
import {
- addressTypeSelector,
- selectedNetworkSelector,
- selectedWalletSelector,
-} from '../../../store/reselect/wallet';
-import { settingsSelector } from '../../../store/reselect/settings';
-import SettingsView from './../SettingsView';
-import { EItemType, IListData } from '../../../components/List';
-import type { SettingsScreenProps } from '../../../navigation/types';
-import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
-import { refreshWallet } from '../../../utils/wallet';
+ resetSelectedWallet,
+ updateWallet,
+} from '../../../store/slices/wallet';
+import { resetWidgetsState } from '../../../store/slices/widgets';
+import { wipeApp } from '../../../store/utils/settings';
import { zipLogs } from '../../../utils/lightning/logs';
-import { runChecks } from '../../../utils/wallet/checks';
import { showToast } from '../../../utils/notifications';
+import { refreshWallet } from '../../../utils/wallet';
+import { runChecks } from '../../../utils/wallet/checks';
import { getFakeTransaction } from '../../../utils/wallet/testing';
-import Dialog from '../../../components/Dialog';
-import { resetBackupState } from '../../../store/slices/backup';
-import { storage } from '../../../store/mmkv-storage';
-import { __E2E__ } from '../../../constants/env';
+import SettingsView from './../SettingsView';
const DevSettings = ({
navigation,
diff --git a/src/screens/Settings/ElectrumConfig/index.tsx b/src/screens/Settings/ElectrumConfig/index.tsx
index d82f06ee6..01418c97c 100644
--- a/src/screens/Settings/ElectrumConfig/index.tsx
+++ b/src/screens/Settings/ElectrumConfig/index.tsx
@@ -1,38 +1,38 @@
+import { Result, err, ok } from '@synonymdev/result';
+import { EProtocol } from 'beignet';
+import isEqual from 'lodash/isEqual';
import React, { memo, ReactElement, useEffect, useState } from 'react';
+import { useTranslation } from 'react-i18next';
import { StyleSheet } from 'react-native';
-import { err, ok, Result } from '@synonymdev/result';
import parseUrl from 'url-parse';
-import { useTranslation } from 'react-i18next';
-import isEqual from 'lodash/isEqual';
-import { EProtocol } from 'beignet';
-import { View, TextInput, ScrollView } from '../../../styles/components';
-import { BodyM, Caption13Up } from '../../../styles/text';
-import { ScanIcon } from '../../../styles/icons';
-import useBreakpoints from '../../../styles/breakpoints';
-import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
-import { updateUi } from '../../../store/slices/ui';
-import { addElectrumPeer } from '../../../store/slices/settings';
-import { selectedNetworkSelector } from '../../../store/reselect/wallet';
-import { customElectrumPeersSelector } from '../../../store/reselect/settings';
-import { defaultElectrumPeer } from '../../../store/shapes/settings';
-import { connectToElectrum } from '../../../utils/wallet/electrum';
import NavigationHeader from '../../../components/NavigationHeader';
import SafeAreaInset from '../../../components/SafeAreaInset';
-import { RadioButtonGroup } from '../../../components/buttons/RadioButton';
import Button from '../../../components/buttons/Button';
+import { RadioButtonGroup } from '../../../components/buttons/RadioButton';
+import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
+import type { SettingsScreenProps } from '../../../navigation/types';
+import { customElectrumPeersSelector } from '../../../store/reselect/settings';
+import { isConnectedToElectrumSelector } from '../../../store/reselect/ui';
+import { selectedNetworkSelector } from '../../../store/reselect/wallet';
+import { defaultElectrumPeer } from '../../../store/shapes/settings';
+import { addElectrumPeer } from '../../../store/slices/settings';
+import { updateUi } from '../../../store/slices/ui';
+import { updateActivityList } from '../../../store/utils/activity';
+import useBreakpoints from '../../../styles/breakpoints';
+import { ScrollView, TextInput, View } from '../../../styles/components';
+import { ScanIcon } from '../../../styles/icons';
+import { BodyM, Caption13Up } from '../../../styles/text';
import {
defaultElectrumPorts,
getDefaultPort,
getProtocolForPort,
} from '../../../utils/electrum';
+import { EAvailableNetwork } from '../../../utils/networks';
import { showToast } from '../../../utils/notifications';
-import { getConnectedPeer, IPeerData } from '../../../utils/wallet/electrum';
import { refreshWallet, rescanAddresses } from '../../../utils/wallet';
-import { EAvailableNetwork } from '../../../utils/networks';
-import { updateActivityList } from '../../../store/utils/activity';
-import { isConnectedToElectrumSelector } from '../../../store/reselect/ui';
-import type { SettingsScreenProps } from '../../../navigation/types';
+import { connectToElectrum } from '../../../utils/wallet/electrum';
+import { IPeerData, getConnectedPeer } from '../../../utils/wallet/electrum';
type RadioButtonItem = { label: string; value: EProtocol };
diff --git a/src/screens/Settings/Fee/index.tsx b/src/screens/Settings/Fee/index.tsx
index 3b42a98bb..8e15023c7 100644
--- a/src/screens/Settings/Fee/index.tsx
+++ b/src/screens/Settings/Fee/index.tsx
@@ -1,11 +1,10 @@
import React, { ReactElement, memo, useMemo, useState } from 'react';
-import { StyleSheet, View } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import SettingsView from '../SettingsView';
-import { Caption13Up, BodyM } from '../../../styles/text';
-import { ScrollView, View as ThemedView } from '../../../styles/components';
-import { i18nTime } from '../../../utils/i18n';
+import { EItemType, IListData } from '../../../components/List';
+import SafeAreaInset from '../../../components/SafeAreaInset';
+import Button from '../../../components/buttons/Button';
import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
import {
onChainFeesSelector,
@@ -16,11 +15,12 @@ import {
updateOverrideFees,
} from '../../../store/slices/fees';
import { refreshOnchainFeeEstimates } from '../../../store/utils/fees';
-import { EItemType, IListData } from '../../../components/List';
-import Button from '../../../components/buttons/Button';
-import SafeAreaInset from '../../../components/SafeAreaInset';
+import { ScrollView, View as ThemedView } from '../../../styles/components';
+import { BodyM, Caption13Up } from '../../../styles/text';
import { capitalize } from '../../../utils/helpers';
+import { i18nTime } from '../../../utils/i18n';
import { refreshLdk } from '../../../utils/lightning';
+import SettingsView from '../SettingsView';
const order = ['minimum', 'slow', 'normal', 'fast'];
diff --git a/src/screens/Settings/GapLimit/index.tsx b/src/screens/Settings/GapLimit/index.tsx
index 027eb07f5..da5ac7e72 100644
--- a/src/screens/Settings/GapLimit/index.tsx
+++ b/src/screens/Settings/GapLimit/index.tsx
@@ -2,12 +2,12 @@ import React, { memo, ReactElement, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { StyleSheet } from 'react-native';
-import Button from '../../../components/buttons/Button';
import NavigationHeader from '../../../components/NavigationHeader';
import SafeAreaInset from '../../../components/SafeAreaInset';
+import Button from '../../../components/buttons/Button';
import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
-import { updateWallet } from '../../../store/slices/wallet';
import { gapLimitOptionsSelector } from '../../../store/reselect/wallet';
+import { updateWallet } from '../../../store/slices/wallet';
import { ScrollView, TextInput, View } from '../../../styles/components';
import { Caption13Up } from '../../../styles/text';
import { showToast } from '../../../utils/notifications';
diff --git a/src/screens/Settings/General/index.tsx b/src/screens/Settings/General/index.tsx
index bb330389f..31a2cab57 100644
--- a/src/screens/Settings/General/index.tsx
+++ b/src/screens/Settings/General/index.tsx
@@ -2,17 +2,17 @@ import React, { memo, ReactElement, useMemo } from 'react';
import { useTranslation } from 'react-i18next';
import { EItemType, IListData, ItemData } from '../../../components/List';
-import SettingsView from './../SettingsView';
import { useAppSelector } from '../../../hooks/redux';
import type { SettingsScreenProps } from '../../../navigation/types';
-import { EUnit } from '../../../store/types/wallet';
import { lastUsedTagsSelector } from '../../../store/reselect/metadata';
import { quickpayIntroSeenSelector } from '../../../store/reselect/settings';
import {
- unitSelector,
selectedCurrencySelector,
transactionSpeedSelector,
+ unitSelector,
} from '../../../store/reselect/settings';
+import { EUnit } from '../../../store/types/wallet';
+import SettingsView from './../SettingsView';
const GeneralSettings = ({
navigation,
diff --git a/src/screens/Settings/Lightning/ChannelDetails.tsx b/src/screens/Settings/Lightning/ChannelDetails.tsx
index 7097c6f28..6fad375da 100644
--- a/src/screens/Settings/Lightning/ChannelDetails.tsx
+++ b/src/screens/Settings/Lightning/ChannelDetails.tsx
@@ -16,13 +16,13 @@ import {
View,
} from 'react-native';
-import Button from '../../../components/buttons/Button';
import LightningChannel, {
TStatus,
} from '../../../components/LightningChannel';
import Money from '../../../components/Money';
import NavigationHeader from '../../../components/NavigationHeader';
import SafeAreaInset from '../../../components/SafeAreaInset';
+import Button from '../../../components/buttons/Button';
import { usePaidBlocktankOrders } from '../../../hooks/blocktank';
import useColors from '../../../hooks/colors';
import {
diff --git a/src/screens/Settings/Lightning/ChannelStatus.tsx b/src/screens/Settings/Lightning/ChannelStatus.tsx
index 9c5d03d52..5d71665fe 100644
--- a/src/screens/Settings/Lightning/ChannelStatus.tsx
+++ b/src/screens/Settings/Lightning/ChannelStatus.tsx
@@ -1,16 +1,15 @@
-import React, { ReactElement, memo } from 'react';
-import { StyleSheet, View } from 'react-native';
-import { useTranslation } from 'react-i18next';
import {
BtOpenChannelState,
BtOrderState2,
BtPaymentState2,
IBtOrder,
} from '@synonymdev/blocktank-lsp-http-client';
+import React, { ReactElement, memo } from 'react';
+import { useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
import { EChannelStatus } from '../../../store/types/lightning';
import { View as ThemedView } from '../../../styles/components';
-import { BodyMSB } from '../../../styles/text';
import {
ArrowCounterClock,
Checkmark,
@@ -20,6 +19,7 @@ import {
TimerSpeedIcon,
XIcon,
} from '../../../styles/icons';
+import { BodyMSB } from '../../../styles/text';
const ChannelStatus = ({
status,
diff --git a/src/screens/Settings/Lightning/Channels.tsx b/src/screens/Settings/Lightning/Channels.tsx
index 88e524306..67613dc72 100644
--- a/src/screens/Settings/Lightning/Channels.tsx
+++ b/src/screens/Settings/Lightning/Channels.tsx
@@ -1,60 +1,60 @@
+import { BtOrderState2, IBtOrder } from '@synonymdev/blocktank-lsp-http-client';
import React, { ReactElement, memo, useState, useCallback } from 'react';
+import { useTranslation } from 'react-i18next';
import {
- StyleSheet,
- View,
+ RefreshControl,
ScrollView,
+ StyleSheet,
TouchableOpacity,
- RefreshControl,
+ View,
} from 'react-native';
-import Share from 'react-native-share';
import { FadeIn, FadeOut } from 'react-native-reanimated';
-import { useTranslation } from 'react-i18next';
-import { IBtOrder, BtOrderState2 } from '@synonymdev/blocktank-lsp-http-client';
+import Share from 'react-native-share';
-import { AnimatedView, View as ThemedView } from '../../../styles/components';
-import { Caption13Up, BodyMSB } from '../../../styles/text';
-import {
- ChevronRight,
- DownArrow,
- UpArrow,
- PlusIcon,
-} from '../../../styles/icons';
-import useBreakpoints from '../../../styles/breakpoints';
-import SafeAreaInset from '../../../components/SafeAreaInset';
-import Button from '../../../components/buttons/Button';
-import NavigationHeader from '../../../components/NavigationHeader';
import LightningChannel, {
TStatus,
} from '../../../components/LightningChannel';
import Money from '../../../components/Money';
+import NavigationHeader from '../../../components/NavigationHeader';
+import SafeAreaInset from '../../../components/SafeAreaInset';
+import Button from '../../../components/buttons/Button';
import useColors from '../../../hooks/colors';
-import { useAppSelector } from '../../../hooks/redux';
-import { refreshOrdersList } from '../../../store/utils/blocktank';
-import { refreshLdk } from '../../../utils/lightning';
-import { showToast } from '../../../utils/notifications';
import {
- useLightningChannelName,
useLightningBalance,
useLightningChannelBalance,
+ useLightningChannelName,
} from '../../../hooks/lightning';
+import { useAppSelector } from '../../../hooks/redux';
+import { SettingsScreenProps } from '../../../navigation/types';
import {
- selectedNetworkSelector,
- selectedWalletSelector,
-} from '../../../store/reselect/wallet';
+ blocktankOrdersSelector,
+ blocktankPaidOrdersSelector,
+} from '../../../store/reselect/blocktank';
import {
closedChannelsSelector,
openChannelsSelector,
pendingChannelsSelector,
} from '../../../store/reselect/lightning';
-import { zipLogs } from '../../../utils/lightning/logs';
-import { SettingsScreenProps } from '../../../navigation/types';
import {
- blocktankOrdersSelector,
- blocktankPaidOrdersSelector,
-} from '../../../store/reselect/blocktank';
+ selectedNetworkSelector,
+ selectedWalletSelector,
+} from '../../../store/reselect/wallet';
import { TPaidBlocktankOrders } from '../../../store/types/blocktank';
-import { EUnit } from '../../../store/types/wallet';
import { EChannelStatus, TChannel } from '../../../store/types/lightning';
+import { EUnit } from '../../../store/types/wallet';
+import { refreshOrdersList } from '../../../store/utils/blocktank';
+import useBreakpoints from '../../../styles/breakpoints';
+import { AnimatedView, View as ThemedView } from '../../../styles/components';
+import {
+ ChevronRight,
+ DownArrow,
+ PlusIcon,
+ UpArrow,
+} from '../../../styles/icons';
+import { BodyMSB, Caption13Up } from '../../../styles/text';
+import { refreshLdk } from '../../../utils/lightning';
+import { zipLogs } from '../../../utils/lightning/logs';
+import { showToast } from '../../../utils/notifications';
/**
* Convert pending (non-channel) blocktank orders to (fake) channels.
diff --git a/src/screens/Settings/Lightning/CloseConnection.tsx b/src/screens/Settings/Lightning/CloseConnection.tsx
index 4ca945649..6a02efea5 100644
--- a/src/screens/Settings/Lightning/CloseConnection.tsx
+++ b/src/screens/Settings/Lightning/CloseConnection.tsx
@@ -1,16 +1,16 @@
import React, { ReactElement, memo, useState } from 'react';
-import { Image, StyleSheet, View } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
-import { View as ThemedView } from '../../../styles/components';
-import { BodyMB, BodyM } from '../../../styles/text';
-import SafeAreaInset from '../../../components/SafeAreaInset';
import NavigationHeader from '../../../components/NavigationHeader';
+import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
import { useAppSelector } from '../../../hooks/redux';
-import { showToast } from '../../../utils/notifications';
-import { closeChannel, refreshLdk } from '../../../utils/lightning';
import { channelSelector } from '../../../store/reselect/lightning';
+import { View as ThemedView } from '../../../styles/components';
+import { BodyM, BodyMB } from '../../../styles/text';
+import { closeChannel, refreshLdk } from '../../../utils/lightning';
+import { showToast } from '../../../utils/notifications';
import type { SettingsScreenProps } from '../../../navigation/types';
import {
diff --git a/src/screens/Settings/Lightning/LightningNodeInfo.tsx b/src/screens/Settings/Lightning/LightningNodeInfo.tsx
index 8fe5a8aab..cb9a83505 100644
--- a/src/screens/Settings/Lightning/LightningNodeInfo.tsx
+++ b/src/screens/Settings/Lightning/LightningNodeInfo.tsx
@@ -1,15 +1,15 @@
-import React, { memo, ReactElement, useEffect, useState } from 'react';
-import { View, StyleSheet } from 'react-native';
import Clipboard from '@react-native-clipboard/clipboard';
+import React, { memo, ReactElement, useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
+import NavigationHeader from '../../../components/NavigationHeader';
+import SafeAreaInset from '../../../components/SafeAreaInset';
import {
View as ThemedView,
TouchableOpacity,
} from '../../../styles/components';
-import { Subtitle, Caption13Up } from '../../../styles/text';
-import NavigationHeader from '../../../components/NavigationHeader';
-import SafeAreaInset from '../../../components/SafeAreaInset';
+import { Caption13Up, Subtitle } from '../../../styles/text';
import { getNodeId } from '../../../utils/lightning';
import { showToast } from '../../../utils/notifications';
diff --git a/src/screens/Settings/PIN/AskForBiometrics.tsx b/src/screens/Settings/PIN/AskForBiometrics.tsx
index f886fc14a..e643deb88 100644
--- a/src/screens/Settings/PIN/AskForBiometrics.tsx
+++ b/src/screens/Settings/PIN/AskForBiometrics.tsx
@@ -5,6 +5,7 @@ import React, {
useEffect,
useCallback,
} from 'react';
+import { useTranslation } from 'react-i18next';
import {
Image,
Linking,
@@ -13,22 +14,21 @@ import {
StyleSheet,
View,
} from 'react-native';
-import { useTranslation } from 'react-i18next';
-import { BodyMSB, BodyM } from '../../../styles/text';
-import { FaceIdIcon, TouchIdIcon } from '../../../styles/icons';
+import { IsSensorAvailableResult } from '../../../components/Biometrics';
import BottomSheetNavigationHeader from '../../../components/BottomSheetNavigationHeader';
-import SafeAreaInset from '../../../components/SafeAreaInset';
import GradientView from '../../../components/GradientView';
-import Button from '../../../components/buttons/Button';
+import SafeAreaInset from '../../../components/SafeAreaInset';
import Switch from '../../../components/Switch';
-import { IsSensorAvailableResult } from '../../../components/Biometrics';
-import { useAppDispatch } from '../../../hooks/redux';
+import Button from '../../../components/buttons/Button';
import { useBottomSheetScreenBackPress } from '../../../hooks/bottomSheet';
+import { useAppDispatch } from '../../../hooks/redux';
+import type { PinScreenProps } from '../../../navigation/types';
+import { updateSettings } from '../../../store/slices/settings';
+import { FaceIdIcon, TouchIdIcon } from '../../../styles/icons';
+import { BodyM, BodyMSB } from '../../../styles/text';
import rnBiometrics from '../../../utils/biometrics';
import { showToast } from '../../../utils/notifications';
-import { updateSettings } from '../../../store/slices/settings';
-import type { PinScreenProps } from '../../../navigation/types';
const imageSrc = require('../../../assets/illustrations/cog.png');
diff --git a/src/screens/Settings/PIN/ChoosePIN.tsx b/src/screens/Settings/PIN/ChoosePIN.tsx
index b0341b4f5..5d2a6f640 100644
--- a/src/screens/Settings/PIN/ChoosePIN.tsx
+++ b/src/screens/Settings/PIN/ChoosePIN.tsx
@@ -1,3 +1,4 @@
+import { useFocusEffect } from '@react-navigation/native';
import React, {
memo,
ReactElement,
@@ -5,21 +6,20 @@ import React, {
useEffect,
useCallback,
} from 'react';
-import { StyleSheet, View } from 'react-native';
-import { useFocusEffect } from '@react-navigation/native';
import { useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import { BodyM, BodyS } from '../../../styles/text';
import BottomSheetNavigationHeader from '../../../components/BottomSheetNavigationHeader';
import GradientView from '../../../components/GradientView';
import NumberPad from '../../../components/NumberPad';
import useColors from '../../../hooks/colors';
import { useAppDispatch } from '../../../hooks/redux';
+import type { PinScreenProps } from '../../../navigation/types';
+import { pinTodo } from '../../../store/shapes/todos';
+import { hideTodo } from '../../../store/slices/todos';
+import { BodyM, BodyS } from '../../../styles/text';
import { vibrate } from '../../../utils/helpers';
import { addPin } from '../../../utils/settings';
-import { hideTodo } from '../../../store/slices/todos';
-import { pinTodo } from '../../../store/shapes/todos';
-import type { PinScreenProps } from '../../../navigation/types';
const ChoosePIN = ({
navigation,
diff --git a/src/screens/Settings/PIN/DisablePin.tsx b/src/screens/Settings/PIN/DisablePin.tsx
index 172b42796..0919d2d68 100644
--- a/src/screens/Settings/PIN/DisablePin.tsx
+++ b/src/screens/Settings/PIN/DisablePin.tsx
@@ -1,14 +1,14 @@
import React, { memo, ReactElement } from 'react';
-import { Image, StyleSheet, View } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
-import { View as ThemedView } from '../../../styles/components';
-import { BodyM } from '../../../styles/text';
-import SafeAreaInset from '../../../components/SafeAreaInset';
import NavigationHeader from '../../../components/NavigationHeader';
+import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
-import { removePin } from '../../../utils/settings';
import type { SettingsScreenProps } from '../../../navigation/types';
+import { View as ThemedView } from '../../../styles/components';
+import { BodyM } from '../../../styles/text';
+import { removePin } from '../../../utils/settings';
const imageSrc = require('../../../assets/illustrations/shield.png');
diff --git a/src/screens/Settings/PIN/ForgotPIN.tsx b/src/screens/Settings/PIN/ForgotPIN.tsx
index 28ea3e5da..eb5534a67 100644
--- a/src/screens/Settings/PIN/ForgotPIN.tsx
+++ b/src/screens/Settings/PIN/ForgotPIN.tsx
@@ -1,20 +1,20 @@
import React, { memo, ReactElement } from 'react';
-import { Image, StyleSheet, View } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
-import { BodyM } from '../../../styles/text';
-import BottomSheetWrapper from '../../../components/BottomSheetWrapper';
import BottomSheetNavigationHeader from '../../../components/BottomSheetNavigationHeader';
+import BottomSheetWrapper from '../../../components/BottomSheetWrapper';
import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
-import { closeSheet } from '../../../store/slices/ui';
-import { wipeApp } from '../../../store/utils/settings';
-import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
import {
useBottomSheetBackPress,
useSnapPoints,
} from '../../../hooks/bottomSheet';
+import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
import { viewControllerSelector } from '../../../store/reselect/ui';
+import { closeSheet } from '../../../store/slices/ui';
+import { wipeApp } from '../../../store/utils/settings';
+import { BodyM } from '../../../styles/text';
const imageSrc = require('../../../assets/illustrations/restore.png');
diff --git a/src/screens/Settings/PIN/PINPrompt.tsx b/src/screens/Settings/PIN/PINPrompt.tsx
index e69437bdc..cee5a4ace 100644
--- a/src/screens/Settings/PIN/PINPrompt.tsx
+++ b/src/screens/Settings/PIN/PINPrompt.tsx
@@ -1,13 +1,13 @@
import React, { memo, ReactElement } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { Display } from '../../../styles/text';
import BottomSheetScreen from '../../../components/BottomSheetScreen';
-import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
import { useBottomSheetBackPress } from '../../../hooks/bottomSheet';
-import { closeSheet } from '../../../store/slices/ui';
-import { showLaterButtonSelector } from '../../../store/reselect/ui';
+import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
import { PinScreenProps } from '../../../navigation/types';
+import { showLaterButtonSelector } from '../../../store/reselect/ui';
+import { closeSheet } from '../../../store/slices/ui';
+import { Display } from '../../../styles/text';
const imageSrc = require('../../../assets/illustrations/shield.png');
diff --git a/src/screens/Settings/PIN/PinChanged.tsx b/src/screens/Settings/PIN/PinChanged.tsx
index f4d3ccb4d..14e0a8425 100644
--- a/src/screens/Settings/PIN/PinChanged.tsx
+++ b/src/screens/Settings/PIN/PinChanged.tsx
@@ -1,13 +1,13 @@
import React, { memo, ReactElement } from 'react';
-import { Image, StyleSheet, View } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
-import { View as ThemedView } from '../../../styles/components';
-import { BodyM } from '../../../styles/text';
-import SafeAreaInset from '../../../components/SafeAreaInset';
import NavigationHeader from '../../../components/NavigationHeader';
+import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
import type { SettingsScreenProps } from '../../../navigation/types';
+import { View as ThemedView } from '../../../styles/components';
+import { BodyM } from '../../../styles/text';
const imageSrc = require('../../../assets/illustrations/check.png');
diff --git a/src/screens/Settings/PIN/Result.tsx b/src/screens/Settings/PIN/Result.tsx
index a441ccbf7..d71adbb4c 100644
--- a/src/screens/Settings/PIN/Result.tsx
+++ b/src/screens/Settings/PIN/Result.tsx
@@ -1,19 +1,19 @@
import React, { memo, ReactElement, useMemo } from 'react';
-import { StyleSheet, View, Pressable, Image } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { Image, Pressable, StyleSheet, View } from 'react-native';
-import { BodyM, BodyMSB } from '../../../styles/text';
import BottomSheetNavigationHeader from '../../../components/BottomSheetNavigationHeader';
-import SafeAreaInset from '../../../components/SafeAreaInset';
import GradientView from '../../../components/GradientView';
-import Button from '../../../components/buttons/Button';
+import SafeAreaInset from '../../../components/SafeAreaInset';
import Switch from '../../../components/Switch';
-import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
+import Button from '../../../components/buttons/Button';
import { useBottomSheetScreenBackPress } from '../../../hooks/bottomSheet';
-import { closeSheet } from '../../../store/slices/ui';
-import { updateSettings } from '../../../store/slices/settings';
-import { pinForPaymentsSelector } from '../../../store/reselect/settings';
+import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
import type { PinScreenProps } from '../../../navigation/types';
+import { pinForPaymentsSelector } from '../../../store/reselect/settings';
+import { updateSettings } from '../../../store/slices/settings';
+import { closeSheet } from '../../../store/slices/ui';
+import { BodyM, BodyMSB } from '../../../styles/text';
const imageSrc = require('../../../assets/illustrations/check.png');
diff --git a/src/screens/Settings/PaymentPreference/DraggableList.tsx b/src/screens/Settings/PaymentPreference/DraggableList.tsx
index 2d3cd39ab..92c4ea376 100644
--- a/src/screens/Settings/PaymentPreference/DraggableList.tsx
+++ b/src/screens/Settings/PaymentPreference/DraggableList.tsx
@@ -1,9 +1,9 @@
import React, { memo, ReactElement, useCallback, useState } from 'react';
import {
- View,
StyleProp,
StyleSheet,
TouchableOpacity,
+ View,
ViewStyle,
} from 'react-native';
import DraggableFlatList, {
@@ -12,8 +12,8 @@ import DraggableFlatList, {
ScaleDecorator,
} from 'react-native-draggable-flatlist';
-import { BodyM } from '../../../styles/text';
import { ListIcon } from '../../../styles/icons';
+import { BodyM } from '../../../styles/text';
type Item = {
key: string;
diff --git a/src/screens/Settings/PaymentPreference/index.tsx b/src/screens/Settings/PaymentPreference/index.tsx
index 50a973984..0bc36beef 100644
--- a/src/screens/Settings/PaymentPreference/index.tsx
+++ b/src/screens/Settings/PaymentPreference/index.tsx
@@ -1,14 +1,9 @@
import React, { memo, ReactElement, useMemo } from 'react';
-import { StyleSheet } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleSheet } from 'react-native';
-import { View as ThemedView } from '../../../styles/components';
import { EItemType, IListData } from '../../../components/List';
-import SettingsView from '../SettingsView';
import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
-import { arraysMatch } from '../../../utils/helpers';
-import { updateSlashPayConfig } from '../../../utils/slashtags';
-import { updateSettings } from '../../../store/slices/settings';
import {
enableOfflinePaymentsSelector,
receivePreferenceSelector,
@@ -17,6 +12,11 @@ import {
selectedNetworkSelector,
selectedWalletSelector,
} from '../../../store/reselect/wallet';
+import { updateSettings } from '../../../store/slices/settings';
+import { View as ThemedView } from '../../../styles/components';
+import { arraysMatch } from '../../../utils/helpers';
+import { updateSlashPayConfig } from '../../../utils/slashtags';
+import SettingsView from '../SettingsView';
const PaymentPreference = (): ReactElement => {
const { t } = useTranslation('settings');
diff --git a/src/screens/Settings/Quickpay/QuickpayIntro.tsx b/src/screens/Settings/Quickpay/QuickpayIntro.tsx
index 2eb33062f..121b1a527 100644
--- a/src/screens/Settings/Quickpay/QuickpayIntro.tsx
+++ b/src/screens/Settings/Quickpay/QuickpayIntro.tsx
@@ -1,11 +1,11 @@
import React, { ReactElement } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { Display } from '../../../styles/text';
import OnboardingScreen from '../../../components/OnboardingScreen';
import { useAppDispatch } from '../../../hooks/redux';
-import { updateSettings } from '../../../store/slices/settings';
import type { SettingsScreenProps } from '../../../navigation/types';
+import { updateSettings } from '../../../store/slices/settings';
+import { Display } from '../../../styles/text';
const imageSrc = require('../../../assets/illustrations/fast-forward.png');
diff --git a/src/screens/Settings/Quickpay/QuickpaySettings.tsx b/src/screens/Settings/Quickpay/QuickpaySettings.tsx
index e1fb99ef3..63fedd224 100644
--- a/src/screens/Settings/Quickpay/QuickpaySettings.tsx
+++ b/src/screens/Settings/Quickpay/QuickpaySettings.tsx
@@ -1,19 +1,19 @@
import React, { memo, ReactElement, useMemo } from 'react';
-import { Image, StyleSheet } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { Image, StyleSheet } from 'react-native';
-import { BodyM, BodyS, Caption13Up } from '../../../styles/text';
-import { View as ThemedView, View } from '../../../styles/components';
+import NavigationHeader from '../../../components/NavigationHeader';
+import SafeAreaInset from '../../../components/SafeAreaInset';
import Slider from '../../../components/Slider';
import SwitchRow from '../../../components/SwitchRow';
-import SafeAreaInset from '../../../components/SafeAreaInset';
-import NavigationHeader from '../../../components/NavigationHeader';
import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
-import { updateSettings } from '../../../store/slices/settings';
import {
enableQuickpaySelector,
quickpayAmountSelector,
} from '../../../store/reselect/settings';
+import { updateSettings } from '../../../store/slices/settings';
+import { View as ThemedView, View } from '../../../styles/components';
+import { BodyM, BodyS, Caption13Up } from '../../../styles/text';
const imageSrc = require('../../../assets/illustrations/fast-forward.png');
diff --git a/src/screens/Settings/RGSServer/index.tsx b/src/screens/Settings/RGSServer/index.tsx
index 579e2d517..d85a9f6ff 100644
--- a/src/screens/Settings/RGSServer/index.tsx
+++ b/src/screens/Settings/RGSServer/index.tsx
@@ -1,31 +1,31 @@
+import isEqual from 'lodash/isEqual';
import React, { memo, ReactElement, useState } from 'react';
-import { StyleSheet } from 'react-native';
import { useTranslation } from 'react-i18next';
-import isEqual from 'lodash/isEqual';
+import { StyleSheet } from 'react-native';
-import {
- View,
- TextInput,
- ScrollView,
- TouchableOpacity,
-} from '../../../styles/components';
-import { BodyM, Caption13Up } from '../../../styles/text';
-import { ScanIcon } from '../../../styles/icons';
+import NavigationHeader from '../../../components/NavigationHeader';
+import SafeAreaInset from '../../../components/SafeAreaInset';
+import Button from '../../../components/buttons/Button';
import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
-import { updateSettings } from '../../../store/slices/settings';
+import type { SettingsScreenProps } from '../../../navigation/types';
+import { rapidGossipSyncUrlSelector } from '../../../store/reselect/settings';
import {
selectedNetworkSelector,
selectedWalletSelector,
} from '../../../store/reselect/wallet';
-import { rapidGossipSyncUrlSelector } from '../../../store/reselect/settings';
import { initialSettingsState } from '../../../store/shapes/settings';
-import NavigationHeader from '../../../components/NavigationHeader';
-import SafeAreaInset from '../../../components/SafeAreaInset';
-import Button from '../../../components/buttons/Button';
-import type { SettingsScreenProps } from '../../../navigation/types';
+import { updateSettings } from '../../../store/slices/settings';
+import useBreakpoints from '../../../styles/breakpoints';
+import {
+ ScrollView,
+ TextInput,
+ TouchableOpacity,
+ View,
+} from '../../../styles/components';
+import { ScanIcon } from '../../../styles/icons';
+import { BodyM, Caption13Up } from '../../../styles/text';
import { setupLdk } from '../../../utils/lightning';
import { showToast } from '../../../utils/notifications';
-import useBreakpoints from '../../../styles/breakpoints';
const isValidURL = (data: string): boolean => {
const pattern = new RegExp(
diff --git a/src/screens/Settings/ReportIssue/FormError.tsx b/src/screens/Settings/ReportIssue/FormError.tsx
index e33161be7..59fe01729 100644
--- a/src/screens/Settings/ReportIssue/FormError.tsx
+++ b/src/screens/Settings/ReportIssue/FormError.tsx
@@ -1,13 +1,13 @@
import React, { memo, ReactElement } from 'react';
-import { View, Image, StyleSheet } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
-import { BodyM } from '../../../styles/text';
-import { View as ThemedView } from '../../../styles/components';
import NavigationHeader from '../../../components/NavigationHeader';
import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
import type { SettingsScreenProps } from '../../../navigation/types';
+import { View as ThemedView } from '../../../styles/components';
+import { BodyM } from '../../../styles/text';
const imageSrc = require('../../../assets/illustrations/cross.png');
diff --git a/src/screens/Settings/ReportIssue/FormSuccess.tsx b/src/screens/Settings/ReportIssue/FormSuccess.tsx
index 48d15e1df..d231558ff 100644
--- a/src/screens/Settings/ReportIssue/FormSuccess.tsx
+++ b/src/screens/Settings/ReportIssue/FormSuccess.tsx
@@ -1,13 +1,13 @@
import React, { memo, ReactElement } from 'react';
-import { View, StyleSheet, Image } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
-import { BodyM } from '../../../styles/text';
-import { View as ThemedView } from '../../../styles/components';
import NavigationHeader from '../../../components/NavigationHeader';
import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
import type { SettingsScreenProps } from '../../../navigation/types';
+import { View as ThemedView } from '../../../styles/components';
+import { BodyM } from '../../../styles/text';
const imageSrc = require('../../../assets/illustrations/email.png');
diff --git a/src/screens/Settings/ReportIssue/index.tsx b/src/screens/Settings/ReportIssue/index.tsx
index 44b6f595b..3517bbe8b 100644
--- a/src/screens/Settings/ReportIssue/index.tsx
+++ b/src/screens/Settings/ReportIssue/index.tsx
@@ -1,25 +1,25 @@
-import React, { memo, ReactElement, useState } from 'react';
import axios from 'axios';
-import RNFS from 'react-native-fs';
-import { View, StyleSheet, Platform } from 'react-native';
+import React, { memo, ReactElement, useState } from 'react';
+import { useTranslation } from 'react-i18next';
+import { Platform, StyleSheet, View } from 'react-native';
import {
getBuildNumber,
getSystemVersion,
getVersion,
} from 'react-native-device-info';
-import { useTranslation } from 'react-i18next';
+import RNFS from 'react-native-fs';
-import { getNodeId, getNodeVersion } from '../../../utils/lightning';
-import { zipLogs } from '../../../utils/lightning/logs';
-import { BodyM } from '../../../styles/text';
-import { ScrollView, View as ThemedView } from '../../../styles/components';
+import KeyboardAvoidingView from '../../../components/KeyboardAvoidingView';
+import LabeledInput from '../../../components/LabeledInput';
import NavigationHeader from '../../../components/NavigationHeader';
import SafeAreaInset from '../../../components/SafeAreaInset';
-import type { SettingsScreenProps } from '../../../navigation/types';
-import LabeledInput from '../../../components/LabeledInput';
import Button from '../../../components/buttons/Button';
import { __CHATWOOT_API__ } from '../../../constants/env';
-import KeyboardAvoidingView from '../../../components/KeyboardAvoidingView';
+import type { SettingsScreenProps } from '../../../navigation/types';
+import { ScrollView, View as ThemedView } from '../../../styles/components';
+import { BodyM } from '../../../styles/text';
+import { getNodeId, getNodeVersion } from '../../../utils/lightning';
+import { zipLogs } from '../../../utils/lightning/logs';
const ReportIssue = ({
navigation,
diff --git a/src/screens/Settings/Security/index.tsx b/src/screens/Settings/Security/index.tsx
index 20e651cd3..a5d38ef4f 100644
--- a/src/screens/Settings/Security/index.tsx
+++ b/src/screens/Settings/Security/index.tsx
@@ -1,17 +1,17 @@
import React, { memo, ReactElement, useMemo, useState, useEffect } from 'react';
-import { StyleSheet } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleSheet } from 'react-native';
import { View as ThemedView } from '../../../styles/components';
-import { EItemType, IListData } from '../../../components/List';
import { IsSensorAvailableResult } from '../../../components/Biometrics';
-import { showBottomSheet } from '../../../store/utils/ui';
-import { updateSettings } from '../../../store/slices/settings';
-import SettingsView from '../SettingsView';
+import { EItemType, IListData } from '../../../components/List';
import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
-import rnBiometrics from '../../../utils/biometrics';
import type { SettingsScreenProps } from '../../../navigation/types';
+import { updateSettings } from '../../../store/slices/settings';
+import { showBottomSheet } from '../../../store/utils/ui';
+import rnBiometrics from '../../../utils/biometrics';
+import SettingsView from '../SettingsView';
const SecuritySettings = ({
navigation,
diff --git a/src/screens/Settings/SettingsView.tsx b/src/screens/Settings/SettingsView.tsx
index 97a0f5a85..f9d3bc5a7 100644
--- a/src/screens/Settings/SettingsView.tsx
+++ b/src/screens/Settings/SettingsView.tsx
@@ -1,12 +1,12 @@
import React, { memo, ReactElement, useMemo, useState } from 'react';
-import { View, StyleSheet, StyleProp, ViewStyle } from 'react-native';
+import { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';
-import { View as ThemedView } from '../../styles/components';
-import { BodyM, BodyS } from '../../styles/text';
-import SearchInput from '../../components/SearchInput';
import List, { IListData } from '../../components/List';
import NavigationHeader from '../../components/NavigationHeader';
import SafeAreaInset from '../../components/SafeAreaInset';
+import SearchInput from '../../components/SearchInput';
+import { View as ThemedView } from '../../styles/components';
+import { BodyM, BodyS } from '../../styles/text';
const SettingsView = ({
title = ' ',
diff --git a/src/screens/Settings/SupportSettings/index.tsx b/src/screens/Settings/SupportSettings/index.tsx
index a8c600f06..06a7dfe04 100644
--- a/src/screens/Settings/SupportSettings/index.tsx
+++ b/src/screens/Settings/SupportSettings/index.tsx
@@ -1,14 +1,14 @@
import React, { memo, ReactElement, useMemo } from 'react';
-import { View, StyleSheet, Image } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
-import { View as ThemedView } from '../../../styles/components';
import { EItemType, IListData } from '../../../components/List';
import SafeAreaInset from '../../../components/SafeAreaInset';
import Social from '../../../components/Social';
-import SettingsView from '../SettingsView';
-import { openURL } from '../../../utils/helpers';
import type { SettingsScreenProps } from '../../../navigation/types';
+import { View as ThemedView } from '../../../styles/components';
+import { openURL } from '../../../utils/helpers';
+import SettingsView from '../SettingsView';
const imageSrc = require('../../../assets/illustrations/question-mark.png');
diff --git a/src/screens/Settings/Tags/index.tsx b/src/screens/Settings/Tags/index.tsx
index d5bca5bb2..c09a36a7d 100644
--- a/src/screens/Settings/Tags/index.tsx
+++ b/src/screens/Settings/Tags/index.tsx
@@ -1,16 +1,16 @@
import React, { ReactElement } from 'react';
-import { StyleSheet } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleSheet } from 'react-native';
-import { View } from '../../../styles/components';
-import { Caption13Up } from '../../../styles/text';
import NavigationHeader from '../../../components/NavigationHeader';
import SafeAreaInset from '../../../components/SafeAreaInset';
import Tag from '../../../components/Tag';
import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
+import { SettingsScreenProps } from '../../../navigation/types';
import { lastUsedTagsSelector } from '../../../store/reselect/metadata';
import { deleteLastUsedTag } from '../../../store/slices/metadata';
-import { SettingsScreenProps } from '../../../navigation/types';
+import { View } from '../../../styles/components';
+import { Caption13Up } from '../../../styles/text';
const TagsSettings = ({
navigation,
diff --git a/src/screens/Settings/TransactionSpeed/CustomFee.tsx b/src/screens/Settings/TransactionSpeed/CustomFee.tsx
index 75d0b044d..0c5398ae4 100644
--- a/src/screens/Settings/TransactionSpeed/CustomFee.tsx
+++ b/src/screens/Settings/TransactionSpeed/CustomFee.tsx
@@ -1,22 +1,22 @@
import React, { ReactElement, memo, useState, useMemo } from 'react';
-import { StyleSheet, View } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import { View as ThemedView } from '../../../styles/components';
-import { Caption13Up, BodyM } from '../../../styles/text';
-import { customFeeRateSelector } from '../../../store/reselect/settings';
-import { updateSettings } from '../../../store/slices/settings';
-import { ETransactionSpeed } from '../../../store/types/settings';
-import { handleNumberPadPress } from '../../../utils/numberpad';
-import SafeAreaInset from '../../../components/SafeAreaInset';
-import NavigationHeader from '../../../components/NavigationHeader';
import Amount from '../../../components/Amount';
+import NavigationHeader from '../../../components/NavigationHeader';
import NumberPad from '../../../components/NumberPad';
+import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
-import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
import { useDisplayValues } from '../../../hooks/displayValues';
-import { TRANSACTION_DEFAULTS } from '../../../utils/wallet/constants';
+import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
import type { SettingsScreenProps } from '../../../navigation/types';
+import { customFeeRateSelector } from '../../../store/reselect/settings';
+import { updateSettings } from '../../../store/slices/settings';
+import { ETransactionSpeed } from '../../../store/types/settings';
+import { View as ThemedView } from '../../../styles/components';
+import { BodyM, Caption13Up } from '../../../styles/text';
+import { handleNumberPadPress } from '../../../utils/numberpad';
+import { TRANSACTION_DEFAULTS } from '../../../utils/wallet/constants';
const FeeCustom = ({
navigation,
diff --git a/src/screens/Settings/TransactionSpeed/index.tsx b/src/screens/Settings/TransactionSpeed/index.tsx
index eef08492c..75daf7d6a 100644
--- a/src/screens/Settings/TransactionSpeed/index.tsx
+++ b/src/screens/Settings/TransactionSpeed/index.tsx
@@ -1,19 +1,19 @@
import React, { memo, ReactElement, useMemo } from 'react';
import { useTranslation } from 'react-i18next';
+import { EItemType, IListData } from '../../../components/List';
+import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
+import type { SettingsScreenProps } from '../../../navigation/types';
+import { transactionSpeedSelector } from '../../../store/reselect/settings';
+import { updateSettings } from '../../../store/slices/settings';
+import { ETransactionSpeed } from '../../../store/types/settings';
import {
+ SettingsIcon,
SpeedFastIcon,
SpeedNormalIcon,
SpeedSlowIcon,
- SettingsIcon,
} from '../../../styles/icons';
-import { EItemType, IListData } from '../../../components/List';
import SettingsView from '../SettingsView';
-import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
-import { updateSettings } from '../../../store/slices/settings';
-import { transactionSpeedSelector } from '../../../store/reselect/settings';
-import { ETransactionSpeed } from '../../../store/types/settings';
-import type { SettingsScreenProps } from '../../../navigation/types';
const TransactionSpeedSettings = ({
navigation,
diff --git a/src/screens/Settings/Unit/index.tsx b/src/screens/Settings/Unit/index.tsx
index edf1d9704..811ab3a95 100644
--- a/src/screens/Settings/Unit/index.tsx
+++ b/src/screens/Settings/Unit/index.tsx
@@ -2,16 +2,16 @@ import React, { memo, ReactElement, useMemo } from 'react';
import { useTranslation } from 'react-i18next';
import { EItemType, IListData } from '../../../components/List';
-import SettingsView from '../SettingsView';
-import { updateSettings } from '../../../store/slices/settings';
-import { UnitBitcoinIcon, UnitFiatIcon } from '../../../styles/icons';
+import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
import {
denominationSelector,
- unitSelector,
selectedCurrencySelector,
+ unitSelector,
} from '../../../store/reselect/settings';
+import { updateSettings } from '../../../store/slices/settings';
import { EDenomination, EUnit } from '../../../store/types/wallet';
-import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
+import { UnitBitcoinIcon, UnitFiatIcon } from '../../../styles/icons';
+import SettingsView from '../SettingsView';
const UnitSettings = (): ReactElement => {
const { t } = useTranslation('settings');
diff --git a/src/screens/Settings/WebRelay/index.tsx b/src/screens/Settings/WebRelay/index.tsx
index 833029b4b..ef2fdcf34 100644
--- a/src/screens/Settings/WebRelay/index.tsx
+++ b/src/screens/Settings/WebRelay/index.tsx
@@ -1,22 +1,22 @@
+import { Result, err, ok } from '@synonymdev/result';
import React, { memo, ReactElement, useEffect, useState } from 'react';
+import { useTranslation } from 'react-i18next';
import { StyleSheet } from 'react-native';
-import { err, ok, Result } from '@synonymdev/result';
import Url from 'url-parse';
-import { useTranslation } from 'react-i18next';
-import { View, TextInput, ScrollView } from '../../../styles/components';
-import { Caption13Up, BodyM } from '../../../styles/text';
-import { ScanIcon } from '../../../styles/icons';
-import { updateSettings } from '../../../store/slices/settings';
import NavigationHeader from '../../../components/NavigationHeader';
import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
-import { showToast } from '../../../utils/notifications';
-import { saveProfile, updateSlashPayConfig } from '../../../utils/slashtags';
-import type { SettingsScreenProps } from '../../../navigation/types';
import { __WEB_RELAY__ } from '../../../constants/env';
import { useAppDispatch } from '../../../hooks/redux';
import { useProfile, useSlashtags } from '../../../hooks/slashtags';
+import type { SettingsScreenProps } from '../../../navigation/types';
+import { updateSettings } from '../../../store/slices/settings';
+import { ScrollView, TextInput, View } from '../../../styles/components';
+import { ScanIcon } from '../../../styles/icons';
+import { BodyM, Caption13Up } from '../../../styles/text';
+import { showToast } from '../../../utils/notifications';
+import { saveProfile, updateSlashPayConfig } from '../../../utils/slashtags';
const validateInput = (
url: string,
diff --git a/src/screens/Settings/Widgets/index.tsx b/src/screens/Settings/Widgets/index.tsx
index 5afbdde54..e3eaa4394 100644
--- a/src/screens/Settings/Widgets/index.tsx
+++ b/src/screens/Settings/Widgets/index.tsx
@@ -2,13 +2,13 @@ import React, { memo, ReactElement, useMemo } from 'react';
import { useTranslation } from 'react-i18next';
import { EItemType, IListData, ItemData } from '../../../components/List';
-import SettingsView from './../SettingsView';
import { useAppDispatch, useAppSelector } from '../../../hooks/redux';
-import { updateSettings } from '../../../store/slices/settings';
import {
- showWidgetsSelector,
showWidgetTitlesSelector,
+ showWidgetsSelector,
} from '../../../store/reselect/settings';
+import { updateSettings } from '../../../store/slices/settings';
+import SettingsView from './../SettingsView';
const WidgetSettings = (): ReactElement => {
const { t } = useTranslation('settings');
diff --git a/src/screens/Settings/index.tsx b/src/screens/Settings/index.tsx
index 8b6eb08b0..2004a0a7f 100644
--- a/src/screens/Settings/index.tsx
+++ b/src/screens/Settings/index.tsx
@@ -1,16 +1,14 @@
import React, { memo, ReactElement, useMemo, useState } from 'react';
-import { Image, StyleSheet, TouchableOpacity } from 'react-native';
import { useTranslation } from 'react-i18next';
+import { Image, StyleSheet, TouchableOpacity } from 'react-native';
-import { View as ThemedView } from '../../styles/components';
import { EItemType, IListData, ItemData } from '../../components/List';
import SafeAreaInset from '../../components/SafeAreaInset';
-import SettingsView from './SettingsView';
import { useAppDispatch, useAppSelector } from '../../hooks/redux';
-import { updateSettings } from '../../store/slices/settings';
-import { showToast } from '../../utils/notifications';
import { SettingsScreenProps } from '../../navigation/types';
import { enableDevOptionsSelector } from '../../store/reselect/settings';
+import { updateSettings } from '../../store/slices/settings';
+import { View as ThemedView } from '../../styles/components';
import {
AboutIcon,
AdvancedIcon,
@@ -20,6 +18,8 @@ import {
SecurityIcon,
SupportIcon,
} from '../../styles/icons';
+import { showToast } from '../../utils/notifications';
+import SettingsView from './SettingsView';
const imageSrc = require('./../../assets/illustrations/cog.png');
diff --git a/src/screens/Transfer/Availability.tsx b/src/screens/Transfer/Availability.tsx
index fa52d6632..708b9040d 100644
--- a/src/screens/Transfer/Availability.tsx
+++ b/src/screens/Transfer/Availability.tsx
@@ -1,13 +1,13 @@
import React, { ReactElement } from 'react';
-import { Image, StyleSheet, View } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
-import { Display, BodyMB, BodyM } from '../../styles/text';
-import { View as ThemedView } from '../../styles/components';
-import SafeAreaInset from '../../components/SafeAreaInset';
import NavigationHeader from '../../components/NavigationHeader';
+import SafeAreaInset from '../../components/SafeAreaInset';
import Button from '../../components/buttons/Button';
import type { TransferScreenProps } from '../../navigation/types';
+import { View as ThemedView } from '../../styles/components';
+import { BodyM, BodyMB, Display } from '../../styles/text';
const imageSrc = require('../../assets/illustrations/exclamation-mark.png');
diff --git a/src/screens/Transfer/ExternalNode/Amount.tsx b/src/screens/Transfer/ExternalNode/Amount.tsx
index 9f8e0f881..5ac77338b 100644
--- a/src/screens/Transfer/ExternalNode/Amount.tsx
+++ b/src/screens/Transfer/ExternalNode/Amount.tsx
@@ -1,3 +1,4 @@
+import { useFocusEffect } from '@react-navigation/native';
import React, {
ReactElement,
memo,
@@ -5,42 +6,41 @@ import React, {
useState,
useCallback,
} from 'react';
-import { StyleSheet, View } from 'react-native';
-import { useFocusEffect } from '@react-navigation/native';
import { Trans, useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import {
- View as ThemedView,
- TouchableHighlight,
-} from '../../../styles/components';
-import { Display, Caption13Up } from '../../../styles/text';
-import SafeAreaInset from '../../../components/SafeAreaInset';
+import Money from '../../../components/Money';
import NavigationHeader from '../../../components/NavigationHeader';
import NumberPadTextField from '../../../components/NumberPadTextField';
-import Money from '../../../components/Money';
+import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
-import UnitButton from '../../Wallets/UnitButton';
-import TransferNumberPad from '../TransferNumberPad';
import { useAppSelector } from '../../../hooks/redux';
import { useBalance, useSwitchUnit } from '../../../hooks/wallet';
-import { convertToSats } from '../../../utils/conversion';
-import { showToast } from '../../../utils/notifications';
-import { getNumberPadText } from '../../../utils/numberpad';
-import { getDisplayValues } from '../../../utils/displayValues';
-import { getMaxSendAmount } from '../../../utils/wallet/transactions';
import type { TransferScreenProps } from '../../../navigation/types';
-import { transactionSelector } from '../../../store/reselect/wallet';
-import { onChainFeesSelector } from '../../../store/reselect/fees';
import {
resetSendTransaction,
setupOnChainTransaction,
} from '../../../store/actions/wallet';
+import { onChainFeesSelector } from '../../../store/reselect/fees';
import {
- nextUnitSelector,
- unitSelector,
conversionUnitSelector,
denominationSelector,
+ nextUnitSelector,
+ unitSelector,
} from '../../../store/reselect/settings';
+import { transactionSelector } from '../../../store/reselect/wallet';
+import {
+ View as ThemedView,
+ TouchableHighlight,
+} from '../../../styles/components';
+import { Caption13Up, Display } from '../../../styles/text';
+import { convertToSats } from '../../../utils/conversion';
+import { getDisplayValues } from '../../../utils/displayValues';
+import { showToast } from '../../../utils/notifications';
+import { getNumberPadText } from '../../../utils/numberpad';
+import { getMaxSendAmount } from '../../../utils/wallet/transactions';
+import UnitButton from '../../Wallets/UnitButton';
+import TransferNumberPad from '../TransferNumberPad';
const ExternalAmount = ({
navigation,
diff --git a/src/screens/Transfer/ExternalNode/Confirm.tsx b/src/screens/Transfer/ExternalNode/Confirm.tsx
index 5134f5ecb..3828fa612 100644
--- a/src/screens/Transfer/ExternalNode/Confirm.tsx
+++ b/src/screens/Transfer/ExternalNode/Confirm.tsx
@@ -1,24 +1,24 @@
-import React, { ReactElement, useCallback, useState } from 'react';
import { useFocusEffect } from '@react-navigation/native';
-import { Image, StyleSheet, View } from 'react-native';
+import React, { ReactElement, useCallback, useState } from 'react';
import { Trans, useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
+import Money from '../../../components/Money';
+import NavigationHeader from '../../../components/NavigationHeader';
+import SafeAreaInset from '../../../components/SafeAreaInset';
+import SwipeToConfirm from '../../../components/SwipeToConfirm';
+import { useAppSelector } from '../../../hooks/redux';
+import { TransferScreenProps } from '../../../navigation/types';
+import { updateBeignetSendTransaction } from '../../../store/actions/wallet';
+import { transactionFeeSelector } from '../../../store/reselect/wallet';
import {
View as ThemedView,
TouchableOpacity,
} from '../../../styles/components';
-import { Caption13Up, Display } from '../../../styles/text';
import { LightningIcon, PencilIcon } from '../../../styles/icons';
-import SafeAreaInset from '../../../components/SafeAreaInset';
-import NavigationHeader from '../../../components/NavigationHeader';
-import SwipeToConfirm from '../../../components/SwipeToConfirm';
-import Money from '../../../components/Money';
+import { Caption13Up, Display } from '../../../styles/text';
import { showToast } from '../../../utils/notifications';
import { createFundedChannel } from '../../../utils/wallet/transfer';
-import { useAppSelector } from '../../../hooks/redux';
-import { TransferScreenProps } from '../../../navigation/types';
-import { transactionFeeSelector } from '../../../store/reselect/wallet';
-import { updateBeignetSendTransaction } from '../../../store/actions/wallet';
const image = require('../../../assets/illustrations/coin-stack-x.png');
diff --git a/src/screens/Transfer/ExternalNode/Connection.tsx b/src/screens/Transfer/ExternalNode/Connection.tsx
index 1d172dccf..d518fc1a7 100644
--- a/src/screens/Transfer/ExternalNode/Connection.tsx
+++ b/src/screens/Transfer/ExternalNode/Connection.tsx
@@ -1,18 +1,18 @@
-import React, { memo, ReactElement, useEffect, useState } from 'react';
-import { StyleSheet, View } from 'react-native';
import Clipboard from '@react-native-clipboard/clipboard';
+import React, { memo, ReactElement, useEffect, useState } from 'react';
import { Trans, useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import { View as ThemedView, TextInput } from '../../../styles/components';
-import { BodyM, Caption13Up, Display } from '../../../styles/text';
-import { ClipboardTextIcon } from '../../../styles/icons';
import NavigationHeader from '../../../components/NavigationHeader';
import SafeAreaInset from '../../../components/SafeAreaInset';
import Button from '../../../components/buttons/Button';
-import { showToast } from '../../../utils/notifications';
-import { addPeer, parseUri } from '../../../utils/lightning';
-import { savePeer } from '../../../store/utils/lightning';
import type { TransferScreenProps } from '../../../navigation/types';
+import { savePeer } from '../../../store/utils/lightning';
+import { TextInput, View as ThemedView } from '../../../styles/components';
+import { ClipboardTextIcon } from '../../../styles/icons';
+import { BodyM, Caption13Up, Display } from '../../../styles/text';
+import { addPeer, parseUri } from '../../../utils/lightning';
+import { showToast } from '../../../utils/notifications';
const ExternalNode = ({
navigation,
diff --git a/src/screens/Transfer/ExternalNode/Success.tsx b/src/screens/Transfer/ExternalNode/Success.tsx
index 959fa799e..670839d18 100644
--- a/src/screens/Transfer/ExternalNode/Success.tsx
+++ b/src/screens/Transfer/ExternalNode/Success.tsx
@@ -1,10 +1,10 @@
import React, { ReactElement, memo } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { BodyMB, Display } from '../../../styles/text';
import InfoScreen from '../../../components/InfoScreen';
-import { getRandomOkText } from '../../../utils/i18n/helpers';
import type { TransferScreenProps } from '../../../navigation/types';
+import { BodyMB, Display } from '../../../styles/text';
+import { getRandomOkText } from '../../../utils/i18n/helpers';
const imageSrc = require('../../../assets/illustrations/switch.png');
diff --git a/src/screens/Transfer/Funding.tsx b/src/screens/Transfer/Funding.tsx
index 33e4ae000..429babb5a 100644
--- a/src/screens/Transfer/Funding.tsx
+++ b/src/screens/Transfer/Funding.tsx
@@ -1,20 +1,20 @@
import React, { ReactElement } from 'react';
-import { View, StyleSheet } from 'react-native';
-import { useAppSelector } from '../../hooks/redux';
import { Trans, useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
+import { useAppSelector } from '../../hooks/redux';
-import { TransferIcon, QrIcon, ShareAndroidIcon } from '../../styles/icons';
-import { Display, BodyM } from '../../styles/text';
-import { View as ThemedView } from '../../styles/components';
-import RectangleButton from '../../components/buttons/RectangleButton';
-import SafeAreaInset from '../../components/SafeAreaInset';
import NavigationHeader from '../../components/NavigationHeader';
+import SafeAreaInset from '../../components/SafeAreaInset';
+import RectangleButton from '../../components/buttons/RectangleButton';
import { useBalance } from '../../hooks/wallet';
-import { isGeoBlockedSelector } from '../../store/reselect/user';
+import type { TransferScreenProps } from '../../navigation/types';
import { spendingIntroSeenSelector } from '../../store/reselect/settings';
-import { TRANSACTION_DEFAULTS } from '../../utils/wallet/constants';
+import { isGeoBlockedSelector } from '../../store/reselect/user';
import { showBottomSheet } from '../../store/utils/ui';
-import type { TransferScreenProps } from '../../navigation/types';
+import { View as ThemedView } from '../../styles/components';
+import { QrIcon, ShareAndroidIcon, TransferIcon } from '../../styles/icons';
+import { BodyM, Display } from '../../styles/text';
+import { TRANSACTION_DEFAULTS } from '../../utils/wallet/constants';
const Funding = ({
navigation,
diff --git a/src/screens/Transfer/FundingAdvanced.tsx b/src/screens/Transfer/FundingAdvanced.tsx
index 03318d146..bfcd45fd7 100644
--- a/src/screens/Transfer/FundingAdvanced.tsx
+++ b/src/screens/Transfer/FundingAdvanced.tsx
@@ -1,14 +1,14 @@
import React, { ReactElement } from 'react';
-import { View, StyleSheet } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import { ScanIcon, PencilIcon } from '../../styles/icons';
-import { Display, BodyM } from '../../styles/text';
-import { View as ThemedView } from '../../styles/components';
-import RectangleButton from '../../components/buttons/RectangleButton';
-import SafeAreaInset from '../../components/SafeAreaInset';
import NavigationHeader from '../../components/NavigationHeader';
+import SafeAreaInset from '../../components/SafeAreaInset';
+import RectangleButton from '../../components/buttons/RectangleButton';
import type { TransferScreenProps } from '../../navigation/types';
+import { View as ThemedView } from '../../styles/components';
+import { PencilIcon, ScanIcon } from '../../styles/icons';
+import { BodyM, Display } from '../../styles/text';
const FundingAdvanced = ({
navigation,
diff --git a/src/screens/Transfer/Interrupted.tsx b/src/screens/Transfer/Interrupted.tsx
index 289571c06..a818ce531 100644
--- a/src/screens/Transfer/Interrupted.tsx
+++ b/src/screens/Transfer/Interrupted.tsx
@@ -1,9 +1,9 @@
import React, { ReactElement, memo } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { BodyMB, Display } from '../../styles/text';
import InfoScreen from '../../components/InfoScreen';
import type { TransferScreenProps } from '../../navigation/types';
+import { BodyMB, Display } from '../../styles/text';
const imageSrc = require('../../assets/illustrations/exclamation-mark.png');
diff --git a/src/screens/Transfer/LNURLChannel.tsx b/src/screens/Transfer/LNURLChannel.tsx
index 53b3771ac..00264e678 100644
--- a/src/screens/Transfer/LNURLChannel.tsx
+++ b/src/screens/Transfer/LNURLChannel.tsx
@@ -1,20 +1,20 @@
import React, { ReactElement, useMemo, useState } from 'react';
+import { Trans, useTranslation } from 'react-i18next';
import { StyleSheet, View } from 'react-native';
import { useAppSelector } from '../../hooks/redux';
-import { Trans, useTranslation } from 'react-i18next';
-import { CaptionB, Caption13Up, Display, BodyM } from '../../styles/text';
-import { View as ThemedView } from '../../styles/components';
-import SafeAreaInset from '../../components/SafeAreaInset';
+import Divider from '../../components/Divider';
import NavigationHeader from '../../components/NavigationHeader';
-import { ellipsis } from '../../utils/helpers';
+import SafeAreaInset from '../../components/SafeAreaInset';
+import Button from '../../components/buttons/Button';
import type { TransferScreenProps } from '../../navigation/types';
import {
selectedNetworkSelector,
selectedWalletSelector,
} from '../../store/reselect/wallet';
-import Divider from '../../components/Divider';
-import Button from '../../components/buttons/Button';
+import { View as ThemedView } from '../../styles/components';
+import { BodyM, Caption13Up, CaptionB, Display } from '../../styles/text';
+import { ellipsis } from '../../utils/helpers';
import { handleLnurlChannel } from '../../utils/lnurl';
const LNURLChannel = ({
diff --git a/src/screens/Transfer/Liquidity.tsx b/src/screens/Transfer/Liquidity.tsx
index 74744e1fb..7239c5c52 100644
--- a/src/screens/Transfer/Liquidity.tsx
+++ b/src/screens/Transfer/Liquidity.tsx
@@ -1,14 +1,14 @@
import React, { ReactElement } from 'react';
-import { StyleSheet, View } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import { View as ThemedView } from '../../styles/components';
-import { Display, BodyM, BodyMB } from '../../styles/text';
-import SafeAreaInset from '../../components/SafeAreaInset';
+import LightningChannel from '../../components/LightningChannel';
import NavigationHeader from '../../components/NavigationHeader';
+import SafeAreaInset from '../../components/SafeAreaInset';
import Button from '../../components/buttons/Button';
-import LightningChannel from '../../components/LightningChannel';
import type { TransferScreenProps } from '../../navigation/types';
+import { View as ThemedView } from '../../styles/components';
+import { BodyM, BodyMB, Display } from '../../styles/text';
const Liquidity = ({
navigation,
diff --git a/src/screens/Transfer/SavingsAdvanced.tsx b/src/screens/Transfer/SavingsAdvanced.tsx
index 0870daeff..a74c3a61d 100644
--- a/src/screens/Transfer/SavingsAdvanced.tsx
+++ b/src/screens/Transfer/SavingsAdvanced.tsx
@@ -1,24 +1,24 @@
import React, { ReactElement, useState } from 'react';
-import { StyleSheet, View } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import { BodyM, Caption13Up, Display } from '../../styles/text';
-import {
- View as ThemedView,
- ScrollView,
- TouchableOpacity,
-} from '../../styles/components';
-import SafeAreaInset from '../../components/SafeAreaInset';
+import Money from '../../components/Money';
import NavigationHeader from '../../components/NavigationHeader';
+import SafeAreaInset from '../../components/SafeAreaInset';
import SwitchRow from '../../components/SwitchRow';
-import Money from '../../components/Money';
import Button from '../../components/buttons/Button';
-import { useSwitchUnit } from '../../hooks/wallet';
-import { useAppSelector } from '../../hooks/redux';
import { useLightningChannelName } from '../../hooks/lightning';
-import { TChannel } from '../../store/types/lightning';
-import { openChannelsSelector } from '../../store/reselect/lightning';
+import { useAppSelector } from '../../hooks/redux';
+import { useSwitchUnit } from '../../hooks/wallet';
import type { TransferScreenProps } from '../../navigation/types';
+import { openChannelsSelector } from '../../store/reselect/lightning';
+import { TChannel } from '../../store/types/lightning';
+import {
+ ScrollView,
+ View as ThemedView,
+ TouchableOpacity,
+} from '../../styles/components';
+import { BodyM, Caption13Up, Display } from '../../styles/text';
const Channel = ({
channel,
diff --git a/src/screens/Transfer/SavingsConfirm.tsx b/src/screens/Transfer/SavingsConfirm.tsx
index 650832d94..7e9bd75a5 100644
--- a/src/screens/Transfer/SavingsConfirm.tsx
+++ b/src/screens/Transfer/SavingsConfirm.tsx
@@ -1,19 +1,19 @@
import React, { ReactElement } from 'react';
-import { Image, StyleSheet, View } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
-import { View as ThemedView, TouchableOpacity } from '../../styles/components';
-import { Caption13Up, Display } from '../../styles/text';
-import { Checkmark } from '../../styles/icons';
-import SafeAreaInset from '../../components/SafeAreaInset';
+import Money from '../../components/Money';
import NavigationHeader from '../../components/NavigationHeader';
+import SafeAreaInset from '../../components/SafeAreaInset';
import SwipeToConfirm from '../../components/SwipeToConfirm';
import Button from '../../components/buttons/Button';
-import Money from '../../components/Money';
-import { useSwitchUnit } from '../../hooks/wallet';
import { useAppSelector } from '../../hooks/redux';
+import { useSwitchUnit } from '../../hooks/wallet';
import { TransferScreenProps } from '../../navigation/types';
import { openChannelsSelector } from '../../store/reselect/lightning';
+import { View as ThemedView, TouchableOpacity } from '../../styles/components';
+import { Checkmark } from '../../styles/icons';
+import { Caption13Up, Display } from '../../styles/text';
const image = require('../../assets/illustrations/piggybank.png');
diff --git a/src/screens/Transfer/SavingsIntro.tsx b/src/screens/Transfer/SavingsIntro.tsx
index dc743216d..bd28f2eaa 100644
--- a/src/screens/Transfer/SavingsIntro.tsx
+++ b/src/screens/Transfer/SavingsIntro.tsx
@@ -1,11 +1,11 @@
import React, { ReactElement } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { Display } from '../../styles/text';
import OnboardingScreen from '../../components/OnboardingScreen';
import { useAppDispatch } from '../../hooks/redux';
-import { updateSettings } from '../../store/slices/settings';
import type { TransferScreenProps } from '../../navigation/types';
+import { updateSettings } from '../../store/slices/settings';
+import { Display } from '../../styles/text';
const imageSrc = require('../../assets/illustrations/piggybank.png');
diff --git a/src/screens/Transfer/SavingsProgress.tsx b/src/screens/Transfer/SavingsProgress.tsx
index 426fd094b..c0e8b4139 100644
--- a/src/screens/Transfer/SavingsProgress.tsx
+++ b/src/screens/Transfer/SavingsProgress.tsx
@@ -1,18 +1,18 @@
import React, { ReactElement, useEffect } from 'react';
-import { StyleSheet, View } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import { Display, BodyMB, BodyM } from '../../styles/text';
-import { View as ThemedView } from '../../styles/components';
-import SafeAreaInset from '../../components/SafeAreaInset';
-import NavigationHeader from '../../components/NavigationHeader';
import HourglassSpinner from '../../components/HourglassSpinner';
+import NavigationHeader from '../../components/NavigationHeader';
+import SafeAreaInset from '../../components/SafeAreaInset';
import { useAppDispatch } from '../../hooks/redux';
+import type { TransferScreenProps } from '../../navigation/types';
+import { startCoopCloseTimer } from '../../store/slices/user';
+import { View as ThemedView } from '../../styles/components';
+import { BodyM, BodyMB, Display } from '../../styles/text';
import { sleep } from '../../utils/helpers';
-import { refreshWallet } from '../../utils/wallet';
import { closeChannels } from '../../utils/lightning';
-import { startCoopCloseTimer } from '../../store/slices/user';
-import type { TransferScreenProps } from '../../navigation/types';
+import { refreshWallet } from '../../utils/wallet';
const SavingsProgress = ({
navigation,
diff --git a/src/screens/Transfer/SettingUp.tsx b/src/screens/Transfer/SettingUp.tsx
index b3e754000..df1bd559e 100644
--- a/src/screens/Transfer/SettingUp.tsx
+++ b/src/screens/Transfer/SettingUp.tsx
@@ -1,17 +1,17 @@
import React, { ReactElement, memo, useEffect } from 'react';
-import { StyleSheet, View } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import { Display, BodyMB, BodyM } from '../../styles/text';
-import { View as ThemedView } from '../../styles/components';
-import SafeAreaInset from '../../components/SafeAreaInset';
-import NavigationHeader from '../../components/NavigationHeader';
import HourglassSpinner from '../../components/HourglassSpinner';
+import NavigationHeader from '../../components/NavigationHeader';
import ProgressSteps from '../../components/ProgressSteps';
+import SafeAreaInset from '../../components/SafeAreaInset';
import Button from '../../components/buttons/Button';
import { useAppSelector } from '../../hooks/redux';
-import { lightningSettingUpStepSelector } from '../../store/reselect/user';
import type { TransferScreenProps } from '../../navigation/types';
+import { lightningSettingUpStepSelector } from '../../store/reselect/user';
+import { View as ThemedView } from '../../styles/components';
+import { BodyM, BodyMB, Display } from '../../styles/text';
const SettingUp = ({
navigation,
diff --git a/src/screens/Transfer/SpendingAdvanced.tsx b/src/screens/Transfer/SpendingAdvanced.tsx
index b4836b939..eaf8009f9 100644
--- a/src/screens/Transfer/SpendingAdvanced.tsx
+++ b/src/screens/Transfer/SpendingAdvanced.tsx
@@ -1,33 +1,33 @@
import React, { ReactElement, memo, useEffect, useMemo, useState } from 'react';
-import { StyleSheet, View } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import {
- View as ThemedView,
- TouchableHighlight,
-} from '../../styles/components';
-import { Display, Caption13Up } from '../../styles/text';
-import SafeAreaInset from '../../components/SafeAreaInset';
+import Money from '../../components/Money';
import NavigationHeader from '../../components/NavigationHeader';
import NumberPadTextField from '../../components/NumberPadTextField';
-import Money from '../../components/Money';
+import SafeAreaInset from '../../components/SafeAreaInset';
import Button from '../../components/buttons/Button';
-import TransferNumberPad from './TransferNumberPad';
import { useAppSelector } from '../../hooks/redux';
-import { useSwitchUnit } from '../../hooks/wallet';
import { useTransfer } from '../../hooks/transfer';
-import { convertToSats } from '../../utils/conversion';
-import { showToast } from '../../utils/notifications';
-import { estimateOrderFee } from '../../utils/blocktank';
-import { getNumberPadText } from '../../utils/numberpad';
+import { useSwitchUnit } from '../../hooks/wallet';
import type { TransferScreenProps } from '../../navigation/types';
-import { startChannelPurchase } from '../../store/utils/blocktank';
import {
- nextUnitSelector,
- unitSelector,
conversionUnitSelector,
denominationSelector,
+ nextUnitSelector,
+ unitSelector,
} from '../../store/reselect/settings';
+import { startChannelPurchase } from '../../store/utils/blocktank';
+import {
+ View as ThemedView,
+ TouchableHighlight,
+} from '../../styles/components';
+import { Caption13Up, Display } from '../../styles/text';
+import { estimateOrderFee } from '../../utils/blocktank';
+import { convertToSats } from '../../utils/conversion';
+import { showToast } from '../../utils/notifications';
+import { getNumberPadText } from '../../utils/numberpad';
+import TransferNumberPad from './TransferNumberPad';
const SpendingAdvanced = ({
navigation,
diff --git a/src/screens/Transfer/SpendingAmount.tsx b/src/screens/Transfer/SpendingAmount.tsx
index 9238fc649..9356d2338 100644
--- a/src/screens/Transfer/SpendingAmount.tsx
+++ b/src/screens/Transfer/SpendingAmount.tsx
@@ -1,3 +1,4 @@
+import { useFocusEffect } from '@react-navigation/native';
import React, {
ReactElement,
memo,
@@ -5,46 +6,45 @@ import React, {
useState,
useCallback,
} from 'react';
-import { StyleSheet, View } from 'react-native';
-import { useFocusEffect } from '@react-navigation/native';
import { Trans, useTranslation } from 'react-i18next';
+import { StyleSheet, View } from 'react-native';
-import {
- View as ThemedView,
- TouchableHighlight,
-} from '../../styles/components';
-import { Display, Caption13Up } from '../../styles/text';
-import SafeAreaInset from '../../components/SafeAreaInset';
+import Money from '../../components/Money';
import NavigationHeader from '../../components/NavigationHeader';
import NumberPadTextField from '../../components/NumberPadTextField';
-import Money from '../../components/Money';
+import SafeAreaInset from '../../components/SafeAreaInset';
import Button from '../../components/buttons/Button';
-import UnitButton from '../Wallets/UnitButton';
-import TransferNumberPad from './TransferNumberPad';
-import type { TransferScreenProps } from '../../navigation/types';
-import { useTransfer, useTransferFee } from '../../hooks/transfer';
import { useAppSelector } from '../../hooks/redux';
+import { useTransfer, useTransferFee } from '../../hooks/transfer';
import { useBalance, useSwitchUnit } from '../../hooks/wallet';
-import { convertToSats } from '../../utils/conversion';
-import { showToast } from '../../utils/notifications';
-import { getNumberPadText } from '../../utils/numberpad';
-import { getDisplayValues } from '../../utils/displayValues';
-import { transactionSelector } from '../../store/reselect/wallet';
+import type { TransferScreenProps } from '../../navigation/types';
import {
resetSendTransaction,
setupOnChainTransaction,
} from '../../store/actions/wallet';
+import { onChainFeesSelector } from '../../store/reselect/fees';
import {
- startChannelPurchase,
- refreshBlocktankInfo,
-} from '../../store/utils/blocktank';
-import {
- nextUnitSelector,
- unitSelector,
conversionUnitSelector,
denominationSelector,
+ nextUnitSelector,
+ unitSelector,
} from '../../store/reselect/settings';
-import { onChainFeesSelector } from '../../store/reselect/fees';
+import { transactionSelector } from '../../store/reselect/wallet';
+import {
+ refreshBlocktankInfo,
+ startChannelPurchase,
+} from '../../store/utils/blocktank';
+import {
+ View as ThemedView,
+ TouchableHighlight,
+} from '../../styles/components';
+import { Caption13Up, Display } from '../../styles/text';
+import { convertToSats } from '../../utils/conversion';
+import { getDisplayValues } from '../../utils/displayValues';
+import { showToast } from '../../utils/notifications';
+import { getNumberPadText } from '../../utils/numberpad';
+import UnitButton from '../Wallets/UnitButton';
+import TransferNumberPad from './TransferNumberPad';
const SpendingAmount = ({
navigation,
diff --git a/src/screens/Transfer/SpendingConfirm.tsx b/src/screens/Transfer/SpendingConfirm.tsx
index 4ea6126da..919d7e6d7 100644
--- a/src/screens/Transfer/SpendingConfirm.tsx
+++ b/src/screens/Transfer/SpendingConfirm.tsx
@@ -1,26 +1,26 @@
import React, { ReactElement, useState } from 'react';
-import { Image, StyleSheet, View } from 'react-native';
import { Trans, useTranslation } from 'react-i18next';
+import { Image, StyleSheet, View } from 'react-native';
-import { View as ThemedView } from '../../styles/components';
-import { Caption13Up, Display } from '../../styles/text';
-import { LightningIcon } from '../../styles/icons';
-import SafeAreaInset from '../../components/SafeAreaInset';
+import LightningChannel from '../../components/LightningChannel';
+import Money from '../../components/Money';
import NavigationHeader from '../../components/NavigationHeader';
+import SafeAreaInset from '../../components/SafeAreaInset';
import SwipeToConfirm from '../../components/SwipeToConfirm';
import Button from '../../components/buttons/Button';
-import Money from '../../components/Money';
-import LightningChannel from '../../components/LightningChannel';
-import { sleep } from '../../utils/helpers';
-import { showToast } from '../../utils/notifications';
-import { useTransfer } from '../../hooks/transfer';
import { useAppSelector } from '../../hooks/redux';
+import { useTransfer } from '../../hooks/transfer';
import { TransferScreenProps } from '../../navigation/types';
import { transactionFeeSelector } from '../../store/reselect/wallet';
import {
confirmChannelPurchase,
startChannelPurchase,
} from '../../store/utils/blocktank';
+import { View as ThemedView } from '../../styles/components';
+import { LightningIcon } from '../../styles/icons';
+import { Caption13Up, Display } from '../../styles/text';
+import { sleep } from '../../utils/helpers';
+import { showToast } from '../../utils/notifications';
const image = require('../../assets/illustrations/coin-stack-x.png');
diff --git a/src/screens/Transfer/SpendingIntro.tsx b/src/screens/Transfer/SpendingIntro.tsx
index 1193de0df..5e09ad579 100644
--- a/src/screens/Transfer/SpendingIntro.tsx
+++ b/src/screens/Transfer/SpendingIntro.tsx
@@ -1,11 +1,11 @@
import React, { ReactElement } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { Display } from '../../styles/text';
import OnboardingScreen from '../../components/OnboardingScreen';
import { useAppDispatch } from '../../hooks/redux';
-import { updateSettings } from '../../store/slices/settings';
import type { TransferScreenProps } from '../../navigation/types';
+import { updateSettings } from '../../store/slices/settings';
+import { Display } from '../../styles/text';
const imageSrc = require('../../assets/illustrations/coin-stack-x.png');
diff --git a/src/screens/Transfer/Success.tsx b/src/screens/Transfer/Success.tsx
index 2d2292555..aa1958d96 100644
--- a/src/screens/Transfer/Success.tsx
+++ b/src/screens/Transfer/Success.tsx
@@ -1,10 +1,10 @@
import React, { ReactElement, memo } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { Display } from '../../styles/text';
import InfoScreen from '../../components/InfoScreen';
-import { getRandomOkText } from '../../utils/i18n/helpers';
import type { TransferScreenProps } from '../../navigation/types';
+import { Display } from '../../styles/text';
+import { getRandomOkText } from '../../utils/i18n/helpers';
const imageSrc = require('../../assets/illustrations/check.png');
diff --git a/src/screens/Transfer/TransferIntro.tsx b/src/screens/Transfer/TransferIntro.tsx
index d16b757c9..7660da143 100644
--- a/src/screens/Transfer/TransferIntro.tsx
+++ b/src/screens/Transfer/TransferIntro.tsx
@@ -1,11 +1,11 @@
import React, { ReactElement } from 'react';
import { Trans, useTranslation } from 'react-i18next';
-import { Display } from '../../styles/text';
import OnboardingScreen from '../../components/OnboardingScreen';
import { useAppDispatch } from '../../hooks/redux';
-import { updateSettings } from '../../store/slices/settings';
import type { TransferScreenProps } from '../../navigation/types';
+import { updateSettings } from '../../store/slices/settings';
+import { Display } from '../../styles/text';
const imageSrc = require('../../assets/illustrations/lightning.png');
diff --git a/src/screens/Transfer/TransferNumberPad.tsx b/src/screens/Transfer/TransferNumberPad.tsx
index 572e41a37..033a151d1 100644
--- a/src/screens/Transfer/TransferNumberPad.tsx
+++ b/src/screens/Transfer/TransferNumberPad.tsx
@@ -3,13 +3,13 @@ import { StyleProp, StyleSheet, ViewStyle } from 'react-native';
import NumberPad from '../../components/NumberPad';
import { useAppSelector } from '../../hooks/redux';
-import { vibrate } from '../../utils/helpers';
-import { convertToSats } from '../../utils/conversion';
-import { handleNumberPadPress } from '../../utils/numberpad';
import {
conversionUnitSelector,
numberPadSelector,
} from '../../store/reselect/settings';
+import { convertToSats } from '../../utils/conversion';
+import { vibrate } from '../../utils/helpers';
+import { handleNumberPadPress } from '../../utils/numberpad';
const TransferNumberPad = ({
value,
diff --git a/src/screens/TreasureHunt/Airdrop.tsx b/src/screens/TreasureHunt/Airdrop.tsx
index e704bd531..18e048efc 100644
--- a/src/screens/TreasureHunt/Airdrop.tsx
+++ b/src/screens/TreasureHunt/Airdrop.tsx
@@ -1,3 +1,4 @@
+import { ldk } from '@synonymdev/react-native-ldk';
import React, {
ReactElement,
memo,
@@ -7,23 +8,22 @@ import React, {
} from 'react';
import { StyleSheet, View } from 'react-native';
import { SvgXml } from 'react-native-svg';
-import { ldk } from '@synonymdev/react-native-ldk';
-import { CaptionB, BodyMSB } from '../../styles/text';
+import BitkitLogo from '../../assets/bitkit-logo.svg';
import GradientView from '../../components/GradientView';
import SafeAreaInset from '../../components/SafeAreaInset';
-import Title from './Title';
-import GradientText from './GradientText';
-import { useAppDispatch, useAppSelector } from '../../hooks/redux';
+import { __TREASURE_HUNT_HOST__ } from '../../constants/env';
import { useDisplayValues } from '../../hooks/displayValues';
-import { airdrop } from './prizes';
import { useLightningMaxInboundCapacity } from '../../hooks/lightning';
-import { getNodeIdFromStorage, waitForLdk } from '../../utils/lightning';
+import { useAppDispatch, useAppSelector } from '../../hooks/redux';
+import type { TreasureHuntScreenProps } from '../../navigation/types';
import { updateTreasureChest } from '../../store/slices/settings';
import { createLightningInvoice } from '../../store/utils/lightning';
-import { __TREASURE_HUNT_HOST__ } from '../../constants/env';
-import BitkitLogo from '../../assets/bitkit-logo.svg';
-import type { TreasureHuntScreenProps } from '../../navigation/types';
+import { BodyMSB, CaptionB } from '../../styles/text';
+import { getNodeIdFromStorage, waitForLdk } from '../../utils/lightning';
+import GradientText from './GradientText';
+import Title from './Title';
+import { airdrop } from './prizes';
const lightningIcon = `