PresetNodeForm.tsx raw
1 import { wordlist } from "@scure/bip39/wordlists/english.js";
2 import { useEffect } from "react";
3 import { useNavigate, useSearchParams } from "react-router";
4 import useSetupStore from "src/state/SetupStore";
5
6 import * as bip39 from "@scure/bip39";
7 import Loading from "src/components/Loading";
8 import { useInfo } from "src/hooks/useInfo";
9 import { backendTypeConfigs } from "src/lib/backendType";
10
11 export function PresetNodeForm() {
12 const navigate = useNavigate();
13 const [searchParams] = useSearchParams();
14 const { data: info } = useInfo();
15
16 // No configuration needed, automatically proceed with the next step
17 useEffect(() => {
18 if (!info) {
19 return;
20 }
21 if (backendTypeConfigs[info.backendType].hasMnemonic) {
22 useSetupStore.getState().updateNodeInfo({
23 mnemonic: bip39.generateMnemonic(wordlist, 128),
24 });
25 }
26
27 navigate("/setup/security", {
28 replace: true,
29 });
30 }, [info, navigate, searchParams]);
31
32 return (
33 <>
34 <title>Loading... ยท Alby Hub</title>
35 <Loading />
36 </>
37 );
38 }
39