aboutsummaryrefslogtreecommitdiff
path: root/packages/merchant-backend-ui/src
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2023-01-23 10:07:08 -0300
committerSebastian <sebasjm@gmail.com>2023-01-23 10:09:57 -0300
commitfdbe5c12e99804ea52757fdb0876ad95c2f75701 (patch)
tree33848f489300e50ce7bc04af9ec10201cf4edd5f /packages/merchant-backend-ui/src
parent0029013f8d9e4ca8b281fdaa38f5c8ae389f7def (diff)
tune up backend dependecies
Diffstat (limited to 'packages/merchant-backend-ui/src')
-rw-r--r--packages/merchant-backend-ui/src/components/Footer.tsx27
-rw-r--r--packages/merchant-backend-ui/src/components/QR.tsx49
-rw-r--r--packages/merchant-backend-ui/src/hooks/backend.ts8
-rw-r--r--packages/merchant-backend-ui/src/pages/DepletedTip.tsx40
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 &copy; 2014&mdash;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 &copy; 2014&mdash;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 />),
+ };
}