summaryrefslogtreecommitdiff
path: root/packages/anastasis-webui/src/pages/home/RecoveryFinishedScreen.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/anastasis-webui/src/pages/home/RecoveryFinishedScreen.tsx')
-rw-r--r--packages/anastasis-webui/src/pages/home/RecoveryFinishedScreen.tsx24
1 files changed, 21 insertions, 3 deletions
diff --git a/packages/anastasis-webui/src/pages/home/RecoveryFinishedScreen.tsx b/packages/anastasis-webui/src/pages/home/RecoveryFinishedScreen.tsx
index 7ccc511ff..8c8a2c7c8 100644
--- a/packages/anastasis-webui/src/pages/home/RecoveryFinishedScreen.tsx
+++ b/packages/anastasis-webui/src/pages/home/RecoveryFinishedScreen.tsx
@@ -3,13 +3,31 @@ import {
decodeCrock
} from "@gnu-taler/taler-util";
import { h, VNode } from "preact";
-import { RecoveryReducerProps, AnastasisClientFrame } from "./index";
+import { useAnastasisContext } from "../../context/anastasis";
+import { AnastasisClientFrame } from "./index";
-export function RecoveryFinishedScreen(props: RecoveryReducerProps): VNode {
+export function RecoveryFinishedScreen(): VNode {
+ const reducer = useAnastasisContext()
+
+ if (!reducer) {
+ return <div>no reducer in context</div>
+ }
+ if (!reducer.currentReducerState || reducer.currentReducerState.recovery_state === undefined) {
+ return <div>invalid state</div>
+ }
+ const encodedSecret = reducer.currentReducerState.core_secret?.value
+ if (!encodedSecret) {
+ return <AnastasisClientFrame title="Recovery Problem" hideNext>
+ <p>
+ Secret not found
+ </p>
+ </AnastasisClientFrame>
+ }
+ const secret = bytesToString(decodeCrock(encodedSecret))
return (
<AnastasisClientFrame title="Recovery Finished" hideNext>
<p>
- Secret: {bytesToString(decodeCrock(props.recoveryState.core_secret?.value!))}
+ Secret: {secret}
</p>
</AnastasisClientFrame>
);