summaryrefslogtreecommitdiff
path: root/packages/aml-backoffice-ui/src/stories.tsx
blob: 9a23d82fa6a29d9f23c9fcd281bbb1e0943deefb (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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/*
 This file is part of GNU Taler
 (C) 2022-2024 Taler Systems S.A.

 GNU Taler is free software; you can redistribute it and/or modify it under the
 terms of the GNU General Public License as published by the Free Software
 Foundation; either version 3, or (at your option) any later version.

 GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY
 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

 You should have received a copy of the GNU General Public License along with
 GNU Taler; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
 */

/**
 *
 * @author Sebastian Javier Marchano (sebasjm)
 */
import { strings } from "./i18n/strings.js";

import * as pages from "./pages/index.stories.js";

import {
  ExchangeApiProviderTesting,
  ExchangeContextType,
  renderStories,
} from "@gnu-taler/web-util/browser";

import { TalerExchangeApi } from "@gnu-taler/taler-util";
import { ComponentChildren, FunctionComponent, VNode, h } from "preact";
import "./scss/main.css";

function main(): void {
  renderStories(
    { pages },
    {
      strings,
      getWrapperForGroup,
    },
  );
}

function getWrapperForGroup(): FunctionComponent {
  return function All({ children }: { children?: ComponentChildren }): VNode {
    const config: TalerExchangeApi.ExchangeVersionResponse = {
      currency: "ARS",
      currency_specification: {
        alt_unit_names: {},
        name: "ARS",
        num_fractional_input_digits: 2,
        num_fractional_normal_digits: 2,
        num_fractional_trailing_zero_digits: 2,
      },
      name: "taler-exchange",
      supported_kyc_requirements: [],
      version: "asd",
    };
    const value: ExchangeContextType = {
      cancelRequest: () => null,
      config,
      url: new URL("/", "http://localhost"),
      hints: [],
      lib: {
        exchange: undefined!, //FIXME: mock
      },
      onActivity: () => null!,
    };
    return (
      <ExchangeApiProviderTesting value={value}>
        {children}
      </ExchangeApiProviderTesting>
    );
  };
}

if (document.readyState === "loading") {
  document.addEventListener("DOMContentLoaded", main);
} else {
  main();
}