summaryrefslogtreecommitdiff
path: root/packages/anastasis-webui/src/pages/home/PoliciesPayingScreen.tsx
blob: 8a39cf0e49af244e869498d7679bc7014d4a4c0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import { h, VNode } from "preact";
import { useAnastasisContext } from "../../context/anastasis";
import { AnastasisClientFrame } from "./index";

export function PoliciesPayingScreen(): VNode {
  const reducer = useAnastasisContext()
  if (!reducer) {
    return <div>no reducer in context</div>
  }
  if (!reducer.currentReducerState || reducer.currentReducerState.backup_state === undefined) {
    return <div>invalid state</div>
  }
  const payments = reducer.currentReducerState.policy_payment_requests ?? [];
  
  return (
    <AnastasisClientFrame hideNext title="Backup: Recovery Document Payments">
      <p>
        Some of the providers require a payment to store the encrypted
        recovery document.
      </p>
      <ul>
        {payments.map((x, i) => {
          return (
            <li key={i}>
              {x.provider}: {x.payto}
            </li>
          );
        })}
      </ul>
      <button onClick={() => reducer.transition("pay", {})}>
        Check payment status now
      </button>
    </AnastasisClientFrame>
  );
}