useMigrateLDKStorage.ts raw
1 import React from "react";
2 import { toast } from "sonner";
3 import { useInfo } from "src/hooks/useInfo";
4 import { request } from "src/utils/request";
5
6 export function useMigrateLDKStorage() {
7 const [isMigratingStorage, setMigratingStorage] = React.useState(false);
8 const { mutate: reloadInfo } = useInfo();
9
10 const migrateLDKStorage = async (to: "VSS") => {
11 try {
12 setMigratingStorage(true);
13
14 await request("/api/node/migrate-storage", {
15 method: "POST",
16 headers: {
17 "Content-Type": "application/json",
18 },
19 body: JSON.stringify({
20 to,
21 }),
22 });
23 await reloadInfo();
24 toast("Please unlock your hub");
25 } catch (e) {
26 console.error(e);
27 toast.error("Could not start hub storage migration: " + e);
28 }
29 setMigratingStorage(false);
30 };
31
32 return { isMigratingStorage, migrateLDKStorage };
33 }
34