diff options
author | Sebastian <sebasjm@gmail.com> | 2021-05-07 10:38:28 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2021-05-07 10:39:49 -0300 |
commit | 30f86f8748a0d9c23538e972d30270a4f1e83941 (patch) | |
tree | fa32280f2d14d0c63c298b042c7b83941fa91e8f /packages/taler-wallet-webextension/src/renderHtml.tsx | |
parent | b414de853371b98d125a92a4d9e9578be9b0f0d5 (diff) | |
download | wallet-core-30f86f8748a0d9c23538e972d30270a4f1e83941.tar.xz |
migrate to preact
Diffstat (limited to 'packages/taler-wallet-webextension/src/renderHtml.tsx')
-rw-r--r-- | packages/taler-wallet-webextension/src/renderHtml.tsx | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/packages/taler-wallet-webextension/src/renderHtml.tsx b/packages/taler-wallet-webextension/src/renderHtml.tsx index 3e66e5c5d..5574e96ea 100644 --- a/packages/taler-wallet-webextension/src/renderHtml.tsx +++ b/packages/taler-wallet-webextension/src/renderHtml.tsx @@ -23,12 +23,13 @@ /** * Imports. */ -import React from "react"; import { AmountJson, Amounts, amountFractionalBase, } from "@gnu-taler/taler-util"; +import { Component, ComponentChildren, JSX } from "preact"; +import { JSXInternal } from "preact/src/jsx"; /** * Render amount as HTML, which non-breaking space between @@ -87,7 +88,7 @@ interface CollapsibleProps { * Component that shows/hides its children when clicking * a heading. */ -export class Collapsible extends React.Component< +export class Collapsible extends Component< CollapsibleProps, CollapsibleState > { @@ -139,24 +140,18 @@ export function ExpanderText({ text }: ExpanderTextProps): JSX.Element { return <span>{text}</span>; } -export interface LoadingButtonProps { - loading: boolean; +export interface LoadingButtonProps extends JSX.HTMLAttributes<HTMLButtonElement> { + isLoading: boolean; } -export function ProgressButton( - props: React.PropsWithChildren<LoadingButtonProps> & - React.DetailedHTMLProps< - React.ButtonHTMLAttributes<HTMLButtonElement>, - HTMLButtonElement - >, -): JSX.Element { +export function ProgressButton({isLoading, ...rest}: LoadingButtonProps): JSX.Element { return ( <button className="pure-button pure-button-primary" type="button" - {...props} + {...rest} > - {props.loading ? ( + {isLoading ? ( <span> <object className="svg-icon svg-baseline" @@ -164,13 +159,13 @@ export function ProgressButton( /> </span> ) : null}{" "} - {props.children} + {rest.children} </button> ); } export function PageLink( - props: React.PropsWithChildren<{ pageName: string }>, + props: { pageName: string, children?: ComponentChildren }, ): JSX.Element { const url = chrome.extension.getURL(`/${props.pageName}`); return ( |