From c24db59be8b2eba013cba3f65d14be8e700bc206 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 13 Sep 2021 13:32:58 -0300 Subject: withdraw design --- .../src/components/ExchangeToS.tsx | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 packages/taler-wallet-webextension/src/components/ExchangeToS.tsx (limited to 'packages/taler-wallet-webextension/src/components/ExchangeToS.tsx') diff --git a/packages/taler-wallet-webextension/src/components/ExchangeToS.tsx b/packages/taler-wallet-webextension/src/components/ExchangeToS.tsx new file mode 100644 index 000000000..7e029d474 --- /dev/null +++ b/packages/taler-wallet-webextension/src/components/ExchangeToS.tsx @@ -0,0 +1,51 @@ +import { Fragment, VNode } from "preact" +import { useState } from "preact/hooks" +import { JSXInternal } from "preact/src/jsx" + +export function ExchangeXmlTos({ doc }: { doc: Document }) { + const termsNode = doc.querySelector('[ids=terms-of-service]') + if (!termsNode) { + return
not found
+ } + return + {Array.from(termsNode.children).map(renderChild)} + +} + +function renderChild(child: Element): VNode { + const children = Array.from(child.children) + switch (child.nodeName) { + case 'title': return
{child.textContent}
+ case '#text': return + case 'paragraph': return

{child.textContent}

+ case 'section': { + return + {children.map(renderChild)} + + } + case 'bullet_list': { + return + } + case 'enumerated_list': { + return
    {children.map(renderChild)}
+ } + case 'list_item': { + return
  • {children.map(renderChild)}
  • + } + case 'block_quote': { + return
    {children.map(renderChild)}
    + } + default: return
    unknown tag {child.nodeName}
    + } +} + +function AnchorWithOpenState(props: JSXInternal.HTMLAttributes) { + const [open, setOpen] = useState(false) + function doClick(e: JSXInternal.TargetedMouseEvent) { + setOpen(!open); + e.stopPropagation(); + e.preventDefault(); + } + return +} + -- cgit v1.2.3