import { bytesToString, decodeCrock } from "@gnu-taler/taler-util";
import { h, VNode } from "preact";
import { useEffect, useState } from "preact/hooks";
import { QR } from "../../components/QR";
import { useAnastasisContext } from "../../context/anastasis";
import { AnastasisClientFrame } from "./index";
export function RecoveryFinishedScreen(): VNode {
const reducer = useAnastasisContext();
const [copied, setCopied] = useState(false)
useEffect(() => {
setTimeout(() => {
setCopied(false)
},1000)
}, [copied])
if (!reducer) {
return
no reducer in context
;
}
if (
!reducer.currentReducerState ||
reducer.currentReducerState.recovery_state === undefined
) {
return invalid state
;
}
const secretName = reducer.currentReducerState.recovery_document?.secret_name;
const encodedSecret = reducer.currentReducerState.core_secret;
if (!encodedSecret) {
return (
Secret not found
);
}
const secret = bytesToString(decodeCrock(encodedSecret.value));
const contentURI = `data:${encodedSecret.mime},${secret}`
// const fileName = encodedSecret['filename']
// data:plain/text;base64,asdasd
return (
Your secret was recovered
{secretName &&
Secret name: {secretName}
}
);
}