import React, { useCallback, useMemo } from 'react'; import { NativeStackNavigationOptions } from '@react-navigation/native-stack'; import { I18nManager, View } from 'react-native'; import { isDesktop } from '../blue_modules/environment'; import HeaderRightButton from '../components/HeaderRightButton'; import navigationStyle, { CloseButtonPosition } from '../components/navigationStyle'; import { useTheme } from '../components/themes'; import { useExtendedNavigation } from '../hooks/useExtendedNavigation'; import loc from '../loc'; import LdkInfo from '../screen/lnd/ldkInfo'; import LNDViewAdditionalInvoiceInformation from '../screen/lnd/lndViewAdditionalInvoiceInformation'; import LNDViewAdditionalInvoicePreImage from '../screen/lnd/lndViewAdditionalInvoicePreImage'; import LNDViewInvoice from '../screen/lnd/lndViewInvoice'; import LnurlAuth from '../screen/lnd/lnurlAuth'; import LnurlPay from '../screen/lnd/lnurlPay'; import LnurlPaySuccess from '../screen/lnd/lnurlPaySuccess'; import Broadcast from '../screen/send/Broadcast'; import IsItMyAddress from '../screen/send/isItMyAddress'; import Success from '../screen/send/success'; import CPFP from '../screen/transactions/CPFP'; import TransactionDetails from '../screen/transactions/TransactionDetails'; import RBFBumpFee from '../screen/transactions/RBFBumpFee'; import RBFCancel from '../screen/transactions/RBFCancel'; import TransactionStatus from '../screen/transactions/TransactionStatus'; import WalletAddresses from '../screen/wallets/WalletAddresses'; import WalletDetails from '../screen/wallets/details'; import GenerateWord from '../screen/wallets/generateWord'; import LdkViewLogs from '../screen/wallets/ldkViewLogs'; import SelectWallet from '../screen/wallets/SelectWallet'; import WalletTransactions from '../screen/wallets/transactions'; import WalletsList from '../screen/wallets/WalletsList'; import { NavigationDefaultOptions, NavigationFormModalOptions, StatusBarLightOptions, DetailViewStack } from './index'; // Importing the navigator import AddWalletStack from './AddWalletStack'; import AztecoRedeemStackRoot from './AztecoRedeemStack'; import ExportMultisigCoordinationSetupStackRoot from './ExportMultisigCoordinationSetupStack'; import { AboutComponent, CurrencyComponent, DefaultViewComponent, ElectrumSettingsComponent, EncryptStorageComponent, GeneralSettingsComponent, LanguageComponent, LicensingComponent, LightningSettingsComponent, NetworkSettingsComponent, NotificationSettingsComponent, PlausibleDeniabilityComponent, ReleaseNotesComponent, SelfTestComponent, SettingsComponent, SettingsPrivacyComponent, ToolsComponent, } from './LazyLoadSettingsStack'; import PaymentCodesListComponent from './LazyLoadPaymentCodeStack'; import LDKOpenChannelRoot from './LDKOpenChannelStack'; import LNDCreateInvoiceRoot from './LNDCreateInvoiceStack'; import ReceiveDetailsStackRoot from './ReceiveDetailsStack'; import ReorderWalletsStackRoot from './ReorderWalletsStack'; import ScanLndInvoiceRoot from './ScanLndInvoiceStack'; import ScanQRCodeStackRoot from './ScanQRCodeStack'; import SendDetailsStack from './SendDetailsStack'; import SignVerifyStackRoot from './SignVerifyStack'; import ViewEditMultisigCosignersStackRoot from './ViewEditMultisigCosignersStack'; import WalletExportStack from './WalletExportStack'; import WalletXpubStackRoot from './WalletXpubStack'; import PlusIcon from '../components/icons/PlusIcon'; import SettingsButton from '../components/icons/SettingsButton'; const DetailViewStackScreensStack = () => { const theme = useTheme(); const navigation = useExtendedNavigation(); const SaveButton = useMemo(() => , []); const DetailButton = useMemo(() => , []); const navigateToAddWallet = useCallback(() => { navigation.navigate('AddWalletRoot'); }, [navigation]); const useWalletListScreenOptions = useMemo(() => { const RightBarButtons = ( <> ); return { title: loc.wallets.wallets, navigationBarColor: theme.colors.navigationBarColor, headerShown: !isDesktop, headerLargeTitle: true, headerStyle: { backgroundColor: theme.colors.customHeader, }, headerRight: I18nManager.isRTL ? undefined : () => RightBarButtons, headerLeft: I18nManager.isRTL ? () => RightBarButtons : undefined, }; }, [navigateToAddWallet, theme.colors.customHeader, theme.colors.navigationBarColor]); const walletListScreenOptions = useWalletListScreenOptions; return ( SaveButton, })(theme)} /> DetailButton, })(theme)} /> DetailButton, headerBackTitleStyle: { fontSize: 0 }, headerBackTitleVisible: true, })(theme)} /> {/* screens */} ); }; export default DetailViewStackScreensStack; const styles = { width24: { width: 24, }, };