import { format } from "date-fns"; import { h, VNode } from "preact"; import { useAnastasisContext } from "../../context/anastasis"; import { AnastasisClientFrame } from "./index"; export function BackupFinishedScreen(): VNode { const reducer = useAnastasisContext(); if (!reducer) { return
no reducer in context
; } if ( !reducer.currentReducerState || reducer.currentReducerState.backup_state === undefined ) { return
invalid state
; } const details = reducer.currentReducerState.success_details; return ( {reducer.currentReducerState.secret_name ? (

Your backup of secret{" "} "{reducer.currentReducerState.secret_name}" was successful.

) : (

Your secret was successfully backed up.

)} {details && (

The backup is stored by the following providers:

{Object.keys(details).map((x, i) => { const sd = details[x]; return (
{x}

version {sd.policy_version} {sd.policy_expiration.t_ms !== "never" ? ` expires at: ${format( sd.policy_expiration.t_ms, "dd-MM-yyyy", )}` : " without expiration date"}

); })}
)}
); }