mirror of
https://github.com/sussy-code/smov.git
synced 2024-12-23 15:07:43 +01:00
a25b3dee54
Co-authored-by: William Oldham <github@binaryoverload.co.uk>
35 lines
1 KiB
TypeScript
35 lines
1 KiB
TypeScript
import { useMemo } from "react";
|
||
|
||
import { genMnemonic } from "@/backend/accounts/crypto";
|
||
import { Button } from "@/components/Button";
|
||
import { Icon, Icons } from "@/components/Icon";
|
||
import {
|
||
LargeCard,
|
||
LargeCardButtons,
|
||
LargeCardText,
|
||
} from "@/components/layout/LargeCard";
|
||
import { PassphaseDisplay } from "@/components/PassphraseDisplay";
|
||
|
||
interface PassphraseGeneratePartProps {
|
||
onNext?: (mnemonic: string) => void;
|
||
}
|
||
|
||
export function PassphraseGeneratePart(props: PassphraseGeneratePartProps) {
|
||
const mnemonic = useMemo(() => genMnemonic(), []);
|
||
|
||
return (
|
||
<LargeCard>
|
||
<LargeCardText title="Your passphrase" icon={<Icon icon={Icons.USER} />}>
|
||
If you lose this, you're a silly goose and will be posted on the
|
||
wall of shame™️
|
||
</LargeCardText>
|
||
<PassphaseDisplay mnemonic={mnemonic} />
|
||
|
||
<LargeCardButtons>
|
||
<Button theme="purple" onClick={() => props.onNext?.(mnemonic)}>
|
||
NEXT!
|
||
</Button>
|
||
</LargeCardButtons>
|
||
</LargeCard>
|
||
);
|
||
}
|