import { IconChevronRight, } from '@tabler/icons-react'; import { Flex, Text, Transition } from '@mantine/core'; import { TextChain } from '@/app/components/TextChain/TextChain'; import { useEffect, useState } from 'react'; import { generateMnemonic } from 'web-bip39'; import wordlist from 'web-bip39/wordlists/english' import { CopyButtonIcon } from '@/app/components/CopyButtonIcon/CopyButtonIcon'; import { modals } from '@mantine/modals'; import { useClipboard } from '@mantine/hooks'; import { useNavigate } from 'react-router-dom'; import { useMemory } from '@/app/providers/MemoryProvider/useMemory'; import useWindow from '@/app/hooks/useWindow'; import { AnimatedButton } from '@/app/components/AnimatedButton/AnimatedButton'; import { AuthFlowBreadcrumbs } from '@/app/components/AuthFlowBreadcrumbs/AuthFlowBreadcrumbs'; export function CreateSeed() { const [phrase, setPhrase] = useMemory("seed-phrase", "", true); const {copy} = useClipboard(); const navigate = useNavigate(); const {setSize, setResizeble} = useWindow(); const [mounted, setMounted] = useState(false); useEffect(() => { setSize(385, 555); setResizeble(false); setTimeout(() => setMounted(true), 100); }, []); const openCopyModal = () => { modals.openConfirmModal({ title: 'Stop', centered: true, children: ( Do you really just want to copy your secret phrase and that's it? We still recommend writing it down on a piece of paper rather than just copying it. ), withCloseButton: false, labels: { confirm: 'Copy', cancel: "Cancel" }, confirmProps: { color: 'red' }, onCancel: () => copy("") }); } const generate = async () => { const mnemonic = await generateMnemonic(wordlist); setPhrase(mnemonic); } useEffect(() => { generate(); }, []); return ( {(styles) => ( This seed phrase is needed to access your correspondence, save it in a safe place )} {(styles) => ( )} {(styles) => ( } fullWidth onClick={() => navigate('/confirm-seed')} size={'md'}> Next step )} ); }