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}

}
Save as
); }