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'