diff options
Diffstat (limited to 'packages/merchant-backend-ui/src')
4 files changed, 71 insertions, 53 deletions
diff --git a/packages/merchant-backend-ui/src/components/Footer.tsx b/packages/merchant-backend-ui/src/components/Footer.tsx index 5f2957800..278e4a543 100644 --- a/packages/merchant-backend-ui/src/components/Footer.tsx +++ b/packages/merchant-backend-ui/src/components/Footer.tsx @@ -15,18 +15,21 @@ */ /** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ -import { h, VNode } from 'preact'; -import { FooterBar } from '../styled'; + * + * @author Sebastian Javier Marchano (sebasjm) + */ +import { h, VNode } from "preact"; +import { FooterBar } from "../styled/index.js"; export function Footer(): VNode { - return <FooterBar> - <p> - <a href="https://taler.net/">Learn more about GNU Taler on our website.</a> - <p>Copyright © 2014—2021 Taler Systems SA</p> - </p> - </FooterBar> + return ( + <FooterBar> + <p> + <a href="https://taler.net/"> + Learn more about GNU Taler on our website. + </a> + <p>Copyright © 2014—2021 Taler Systems SA</p> + </p> + </FooterBar> + ); } - diff --git a/packages/merchant-backend-ui/src/components/QR.tsx b/packages/merchant-backend-ui/src/components/QR.tsx index 29c9920bf..425a94961 100644 --- a/packages/merchant-backend-ui/src/components/QR.tsx +++ b/packages/merchant-backend-ui/src/components/QR.tsx @@ -14,28 +14,41 @@ GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> */ - import { h, VNode } from "preact"; - import { useEffect, useRef } from "preact/hooks"; - import qrcode from "qrcode-generator"; - -export function createSVG(text:string):string { - const qr = qrcode(0, 'L'); +import { h, VNode } from "preact"; +import { useEffect, useRef } from "preact/hooks"; +import qrcode from "qrcode-generator"; + +export function createSVG(text: string): string { + const qr = qrcode(0, "L"); qr.addData(text); qr.make(); return qr.createSvgTag({ scalable: true, - margin: 0 + margin: 0, }); } - export function QR({ text }: { text: string; }):VNode { - const divRef = useRef<HTMLDivElement>(null); - useEffect(() => { - divRef.current.innerHTML = createSVG(text) - }); - - return <div style={{ width: '100%', display: 'flex', flexDirection: 'column', alignItems: 'center' }}> - <div style={{ width: '50%', minWidth: 200, maxWidth: 300 }} ref={divRef} /> - </div>; - } -
\ No newline at end of file +export function QR({ text }: { text: string }): VNode { + const divRef = useRef<HTMLDivElement>(null); + useEffect(() => { + if (divRef.current) { + divRef.current.innerHTML = createSVG(text); + } + }); + + return ( + <div + style={{ + width: "100%", + display: "flex", + flexDirection: "column", + alignItems: "center", + }} + > + <div + style={{ width: "50%", minWidth: 200, maxWidth: 300 }} + ref={divRef} + /> + </div> + ); +} diff --git a/packages/merchant-backend-ui/src/hooks/backend.ts b/packages/merchant-backend-ui/src/hooks/backend.ts index 96b8f7139..044344d5d 100644 --- a/packages/merchant-backend-ui/src/hooks/backend.ts +++ b/packages/merchant-backend-ui/src/hooks/backend.ts @@ -209,7 +209,7 @@ export async function request<T>(url: string, options: RequestOptions = {}): Pro url, responseType: 'json', headers, - cancelToken: !removeAxiosCancelToken? source.token : undefined, + cancelToken: !removeAxiosCancelToken ? source.token : undefined, method: options.method || 'get', data: options.data, params: options.params, @@ -217,8 +217,10 @@ export async function request<T>(url: string, options: RequestOptions = {}): Pro }) return buildRequestOk<T>(res, url, !!options.token) } catch (e) { - const error = buildRequestFailed(e, url, !!options.token) - throw error + if (axios.isAxiosError(e)) { + throw buildRequestFailed(e, url, !!options.token) + } + throw e } } diff --git a/packages/merchant-backend-ui/src/pages/DepletedTip.tsx b/packages/merchant-backend-ui/src/pages/DepletedTip.tsx index 756b08d6a..61fc52cdf 100644 --- a/packages/merchant-backend-ui/src/pages/DepletedTip.tsx +++ b/packages/merchant-backend-ui/src/pages/DepletedTip.tsx @@ -15,30 +15,30 @@ */ /** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ -import { Fragment, h, render, VNode } from 'preact'; -import { render as renderToString } from 'preact-render-to-string'; -import { Footer } from '../components/Footer'; + * + * @author Sebastian Javier Marchano (sebasjm) + */ +import { Fragment, h, render, VNode } from "preact"; +import { render as renderToString } from "preact-render-to-string"; +import { Footer } from "../components/Footer"; import "../css/pure-min.css"; import "../css/style.css"; -import { Page } from '../styled'; +import { Page } from "../styled"; function Head(): VNode { - return <title>Status of your tip</title> + return <title>Status of your tip</title>; } export function DepletedTip(): VNode { - return <Page> - <section> - <h1>Tip already collected</h1> - <div> - You have already collected this tip. - </div> - </section> - <Footer /> - </Page> + return ( + <Page> + <section> + <h1>Tip already collected</h1> + <div>You have already collected this tip.</div> + </section> + <Footer /> + </Page> + ); } export function mount(): void { @@ -52,9 +52,9 @@ export function mount(): void { } } -export function buildTimeRendering(): { head: string, body: string } { +export function buildTimeRendering(): { head: string; body: string } { return { head: renderToString(<Head />), - body: renderToString(<DepletedTip />) - } + body: renderToString(<DepletedTip />), + }; } |