import AboutInfoDialog from '@/components/AboutInfoDialog' import Donation from '@/components/Donation' import SecondaryPageLayout from '@/layouts/SecondaryPageLayout' import { toGeneralSettings, toPostSettings, toRelaySettings, toWallet } from '@/lib/link' import { cn } from '@/lib/utils' import { useSecondaryPage } from '@/PageManager' import { useNostr } from '@/providers/NostrProvider' import { Check, ChevronRight, Copy, Info, KeyRound, PencilLine, Server, Settings2, Wallet } from 'lucide-react' import { forwardRef, HTMLProps, useState } from 'react' import { useTranslation } from 'react-i18next' const SettingsPage = forwardRef(({ index }: { index?: number }, ref) => { const { t } = useTranslation() const { nsec, ncryptsec } = useNostr() const { push } = useSecondaryPage() const [copiedNsec, setCopiedNsec] = useState(false) const [copiedNcryptsec, setCopiedNcryptsec] = useState(false) return ( push(toGeneralSettings())}> {t('General')} push(toRelaySettings())}> {t('Relays')} push(toWallet())}> {t('Wallet')} push(toPostSettings())}> {t('Post settings')} {!!nsec && ( { navigator.clipboard.writeText(nsec) setCopiedNsec(true) setTimeout(() => setCopiedNsec(false), 2000) }} > {t('Copy private key')} (nsec) {copiedNsec ? : } )} {!!ncryptsec && ( { navigator.clipboard.writeText(ncryptsec) setCopiedNcryptsec(true) setTimeout(() => setCopiedNcryptsec(false), 2000) }} > {t('Copy private key')} (ncryptsec) {copiedNcryptsec ? : } )} {t('About')} v{__APP_VERSION__} ({__GIT_COMMIT__}) ) }) SettingsPage.displayName = 'SettingsPage' export default SettingsPage const SettingItem = forwardRef>( ({ children, className, ...props }, ref) => { return ( {children} ) } ) SettingItem.displayName = 'SettingItem'