import { AuthenticationProviderStatusOk } from "anastasis-core"; 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; const providers = reducer.currentReducerState.authentication_providers ?? {} return (

Your backup is complete.

{details && (

The backup is stored by the following providers:

{Object.keys(details).map((url, i) => { const sd = details[url]; const p = providers[url] as AuthenticationProviderStatusOk return (
{p.business_name}

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

); })}
)}
); }