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