commit 1afc9dd9e7eed06062790e060e03bdad99df27f8 parent 290e2276c33845eb32d833dbb6f470c91c5cb373 Author: Sebastian <sebasjm@gmail.com> Date: Mon, 24 Nov 2025 12:13:56 -0300 add missing taler_screen_id Diffstat:
84 files changed, 223 insertions(+), 89 deletions(-)
diff --git a/packages/merchant-backoffice-ui/src/Application.tsx b/packages/merchant-backoffice-ui/src/Application.tsx @@ -88,6 +88,8 @@ import { revalidateInstanceConfirmedTransfers, revalidateInstanceIncomingTransfers, } from "./hooks/transfer.js"; + +const TALER_SCREEN_ID = 2; const WITH_LOCAL_STORAGE_CACHE = false; export function Application(): VNode { diff --git a/packages/merchant-backoffice-ui/src/Routing.tsx b/packages/merchant-backoffice-ui/src/Routing.tsx @@ -87,6 +87,8 @@ import { Settings } from "./paths/settings/index.js"; import Statistics from "./paths/instance/statistics/list/index.js"; import { Notification } from "./utils/types.js"; +const TALER_SCREEN_ID = 3; + export enum InstancePaths { error = "/error", settings = "/settings", diff --git a/packages/merchant-backoffice-ui/src/components/ErrorLoadingMerchant.tsx b/packages/merchant-backoffice-ui/src/components/ErrorLoadingMerchant.tsx @@ -19,6 +19,8 @@ import { useTranslationContext } from "@gnu-taler/web-util/browser"; import { VNode, h } from "preact"; import { NotificationCard } from "./menu/index.js"; +const TALER_SCREEN_ID = 4; + /** * equivalent to ErrorLoading for merchant-backoffice which uses notification-card * @param param0 diff --git a/packages/merchant-backoffice-ui/src/components/SolveMFA.tsx b/packages/merchant-backoffice-ui/src/components/SolveMFA.tsx @@ -27,6 +27,9 @@ import { import { FormErrors, FormProvider } from "./form/FormProvider.js"; import { Input } from "./form/Input.js"; + +const TALER_SCREEN_ID = 5; + export interface Props { onCompleted: SafeHandlerTemplate<[challenges: string[]], any>; onCancel(): void; diff --git a/packages/merchant-backoffice-ui/src/components/form/InputArray.tsx b/packages/merchant-backoffice-ui/src/components/form/InputArray.tsx @@ -24,6 +24,8 @@ import { useState } from "preact/hooks"; import { InputProps, useField } from "./useField.js"; import { DropdownList } from "./InputSearchOnList.js"; +const TALER_SCREEN_ID = 6; + export interface Props<T> extends InputProps<T> { isValid?: (e: any) => boolean; getSuggestion?: (e: any) => Promise<{ id: string; description: string }[]>; diff --git a/packages/merchant-backoffice-ui/src/components/form/InputDate.tsx b/packages/merchant-backoffice-ui/src/components/form/InputDate.tsx @@ -29,6 +29,8 @@ import { usePreference, } from "../../hooks/preference.js"; +const TALER_SCREEN_ID = 7; + export interface Props<T> extends InputProps<T> { readonly?: boolean; expand?: boolean; diff --git a/packages/merchant-backoffice-ui/src/components/form/InputDuration.tsx b/packages/merchant-backoffice-ui/src/components/form/InputDuration.tsx @@ -27,6 +27,9 @@ import { SimpleModal } from "../modal/index.js"; import { DurationPicker } from "../picker/DurationPicker.js"; import { InputProps, useField } from "./useField.js"; + +const TALER_SCREEN_ID = 8; + export interface Props<T> extends InputProps<T> { expand?: boolean; readonly?: boolean; diff --git a/packages/merchant-backoffice-ui/src/components/form/InputImage.tsx b/packages/merchant-backoffice-ui/src/components/form/InputImage.tsx @@ -24,6 +24,8 @@ import { useRef, useState } from "preact/hooks"; import { MAX_IMAGE_SIZE as MAX_IMAGE_UPLOAD_SIZE } from "../../utils/constants.js"; import { InputProps, useField } from "./useField.js"; +const TALER_SCREEN_ID = 9; + export interface Props<T> extends InputProps<T> { expand?: boolean; addonAfter?: ComponentChildren; @@ -118,7 +120,9 @@ export function InputImage<T>({ </button> )} {value && ( - <button type="button" class="button" + <button + type="button" + class="button" onClick={() => { if (image.current) { image.current.value = ""; diff --git a/packages/merchant-backoffice-ui/src/components/form/InputLocation.tsx b/packages/merchant-backoffice-ui/src/components/form/InputLocation.tsx @@ -22,6 +22,8 @@ import { Fragment, h } from "preact"; import { useTranslationContext } from "@gnu-taler/web-util/browser"; import { Input } from "./Input.js"; +const TALER_SCREEN_ID = 10; + export function InputLocation({ name }: { name: string }) { const { i18n } = useTranslationContext(); return ( diff --git a/packages/merchant-backoffice-ui/src/components/form/InputPaytoForm.tsx b/packages/merchant-backoffice-ui/src/components/form/InputPaytoForm.tsx @@ -28,6 +28,7 @@ import { import { useTranslationContext } from "@gnu-taler/web-util/browser"; import { Fragment, VNode, h } from "preact"; import { useEffect, useState } from "preact/hooks"; +import { useSessionContext } from "../../context/session.js"; import { COUNTRY_TABLE } from "../../utils/constants.js"; import { undefinedIfEmpty } from "../../utils/table.js"; import { FormErrors, FormProvider, TalerForm } from "./FormProvider.js"; @@ -35,8 +36,9 @@ import { Input } from "./Input.js"; import { InputGroup } from "./InputGroup.js"; import { InputSelector } from "./InputSelector.js"; import { InputProps, useField } from "./useField.js"; -import { useSettingsContext } from "../../context/settings.js"; -import { useSessionContext } from "../../context/session.js"; + + +const TALER_SCREEN_ID = 11; export interface Props<T> extends InputProps<T> { } diff --git a/packages/merchant-backoffice-ui/src/components/form/InputSearchOnList.tsx b/packages/merchant-backoffice-ui/src/components/form/InputSearchOnList.tsx @@ -26,6 +26,9 @@ import { FormErrors, FormProvider } from "./FormProvider.js"; import { InputWithAddon } from "./InputWithAddon.js"; import { TranslatedString } from "@gnu-taler/taler-util"; + +const TALER_SCREEN_ID = 12; + type Entity = { id: string; description: string; diff --git a/packages/merchant-backoffice-ui/src/components/form/InputSecured.tsx b/packages/merchant-backoffice-ui/src/components/form/InputSecured.tsx @@ -23,6 +23,8 @@ import { Fragment, h, VNode } from "preact"; import { useState } from "preact/hooks"; import { InputProps, useField } from "./useField.js"; +const TALER_SCREEN_ID = 13; + export type Props<T> = InputProps<T>; const TokenStatus = ({ prev, post }: any) => { diff --git a/packages/merchant-backoffice-ui/src/components/form/InputStock.tsx b/packages/merchant-backoffice-ui/src/components/form/InputStock.tsx @@ -29,6 +29,8 @@ import { InputLocation } from "./InputLocation.js"; import { InputNumber } from "./InputNumber.js"; import { InputProps, useField } from "./useField.js"; +const TALER_SCREEN_ID = 14; + export interface Props<T> extends InputProps<T> { alreadyExist?: boolean; } diff --git a/packages/merchant-backoffice-ui/src/components/form/InputTaxes.tsx b/packages/merchant-backoffice-ui/src/components/form/InputTaxes.tsx @@ -28,6 +28,8 @@ import { Input } from "./Input.js"; import { InputGroup } from "./InputGroup.js"; import { InputProps, useField } from "./useField.js"; +const TALER_SCREEN_ID = 15; + export interface Props<T> extends InputProps<T> { isValid?: (e: any) => boolean; } diff --git a/packages/merchant-backoffice-ui/src/components/instance/DefaultInstanceFormFields.tsx b/packages/merchant-backoffice-ui/src/components/instance/DefaultInstanceFormFields.tsx @@ -22,6 +22,7 @@ import { useTranslationContext } from "@gnu-taler/web-util/browser"; import { Fragment, VNode, h } from "preact"; import { useSessionContext } from "../../context/session.js"; +import { UIElement } from "../../hooks/preference.js"; import { Entity } from "../../paths/admin/create/CreatePage.js"; import { Input } from "../form/Input.js"; import { InputDuration } from "../form/InputDuration.js"; @@ -30,8 +31,10 @@ import { InputImage } from "../form/InputImage.js"; import { InputLocation } from "../form/InputLocation.js"; import { InputToggle } from "../form/InputToggle.js"; import { InputWithAddon } from "../form/InputWithAddon.js"; -import { ComponentPersonaFlag, FragmentPersonaFlag } from "../menu/SideBar.js"; -import { UIElement } from "../../hooks/preference.js"; +import { FragmentPersonaFlag } from "../menu/SideBar.js"; + + +const TALER_SCREEN_ID = 16; export function DefaultInstanceFormFields({ readonlyId, diff --git a/packages/merchant-backoffice-ui/src/components/menu/SideBar.tsx b/packages/merchant-backoffice-ui/src/components/menu/SideBar.tsx @@ -32,6 +32,7 @@ import { useInstanceKYCDetailsLongPolling } from "../../hooks/instance.js"; import { UIElement, usePreference } from "../../hooks/preference.js"; import { LangSelector } from "./LangSelector.js"; +const TALER_SCREEN_ID = 17; // const GIT_HASH = typeof __GIT_HASH__ !== "undefined" ? __GIT_HASH__ : undefined; const VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : undefined; @@ -182,9 +183,9 @@ export function Sidebar({ mobile }: Props): VNode { > <a href={"#/tokenfamilies"} class="has-icon"> <span class="menu-item-label"> - <span class="icon"> - <i class="mdi mdi-clock" /> - </span> + <span class="icon"> + <i class="mdi mdi-clock" /> + </span> <i18n.Translate>Subscriptions and Discounts</i18n.Translate> </span> </a> @@ -397,7 +398,7 @@ export function Sidebar({ mobile }: Props): VNode { <i18n.Translate>Log out</i18n.Translate> </span> </a> - </li> + </li> ) : undefined} </ul> </div> @@ -472,9 +473,8 @@ function getAvailableForPersona(p: MerchantPersona): ElementMap { [UIElement.action_useRevenueApi]: false, [UIElement.option_inventoryTaxes]: false, [UIElement.sidebar_statistics]: false, - }; - // case "inperson-vending-with-inventory": + // case "inperson-vending-with-inventory": case "point-of-sale": return { [UIElement.sidebar_orders]: true, @@ -513,7 +513,6 @@ function getAvailableForPersona(p: MerchantPersona): ElementMap { [UIElement.sidebar_password]: true, [UIElement.sidebar_statistics]: true, - [UIElement.sidebar_templates]: false, [UIElement.sidebar_categories]: false, [UIElement.sidebar_discounts]: false, @@ -543,7 +542,6 @@ function getAvailableForPersona(p: MerchantPersona): ElementMap { [UIElement.sidebar_password]: true, [UIElement.sidebar_statistics]: true, - [UIElement.sidebar_templates]: false, [UIElement.sidebar_categories]: false, [UIElement.sidebar_discounts]: false, diff --git a/packages/merchant-backoffice-ui/src/components/modal/index.tsx b/packages/merchant-backoffice-ui/src/components/modal/index.tsx @@ -21,11 +21,8 @@ import { Paytos, - PaytoString, PaytoType, - PaytoUri, - stringifyPaytoUri, - TranslatedString, + TranslatedString } from "@gnu-taler/taler-util"; import { ButtonBetterBulma, @@ -34,10 +31,11 @@ import { } from "@gnu-taler/web-util/browser"; import { ComponentChildren, Fragment, h, VNode } from "preact"; import { useEffect, useRef, useState } from "preact/hooks"; +import { doAutoFocus } from "../../../../web-util/src/components/utils.js"; import { DEFAULT_REQUEST_TIMEOUT } from "../../utils/constants.js"; import { Spinner } from "../exception/loading.js"; -import { FormErrors } from "../form/FormProvider.js"; -import { doAutoFocus } from "../../../../web-util/src/components/utils.js"; + +const TALER_SCREEN_ID = 18; interface Props { active?: boolean; diff --git a/packages/merchant-backoffice-ui/src/components/notifications/CreatedSuccessfully.tsx b/packages/merchant-backoffice-ui/src/components/notifications/CreatedSuccessfully.tsx @@ -21,6 +21,8 @@ import { useTranslationContext } from "@gnu-taler/web-util/browser"; import { ComponentChildren, h, VNode } from "preact"; import { doAutoFocus } from "../../../../web-util/src/components/utils.js"; +const TALER_SCREEN_ID = 19; + interface Props { onCreateAnother?: () => void; onConfirm: () => void; diff --git a/packages/merchant-backoffice-ui/src/components/picker/DurationPicker.tsx b/packages/merchant-backoffice-ui/src/components/picker/DurationPicker.tsx @@ -24,6 +24,8 @@ import { h, VNode } from "preact"; import { useState } from "preact/hooks"; import "../../scss/DurationPicker.scss"; +const TALER_SCREEN_ID = 20; + export interface Props { hours?: boolean; minutes?: boolean; @@ -156,7 +158,8 @@ function DurationColumn({ <div class="rdp-column" style={{ top: 0 }}> <div class="rdp-cell" key={value - 2}> {onDecrease && ( - <button type="button" + <button + type="button" style={{ width: "100%", textAlign: "center", margin: 5 }} onClick={onDecrease} > @@ -187,7 +190,8 @@ function DurationColumn({ <div class="rdp-cell" key={value + 2}> {onIncrease && ( - <button type="button" + <button + type="button" style={{ width: "100%", textAlign: "center", margin: 5 }} onClick={onIncrease} > diff --git a/packages/merchant-backoffice-ui/src/components/product/InventoryProductForm.tsx b/packages/merchant-backoffice-ui/src/components/product/InventoryProductForm.tsx @@ -23,6 +23,8 @@ import { FormErrors, FormProvider } from "../form/FormProvider.js"; import { InputNumber } from "../form/InputNumber.js"; import { InputSearchOnList } from "../form/InputSearchOnList.js"; +const TALER_SCREEN_ID = 21; + type Form = { product: TalerMerchantApi.ProductDetail & WithId; quantity: number; diff --git a/packages/merchant-backoffice-ui/src/components/product/NonInventoryProductForm.tsx b/packages/merchant-backoffice-ui/src/components/product/NonInventoryProductForm.tsx @@ -31,6 +31,8 @@ import { InputTaxes } from "../form/InputTaxes.js"; import { FragmentPersonaFlag } from "../menu/SideBar.js"; import { UIElement } from "../../hooks/preference.js"; +const TALER_SCREEN_ID = 22; + type Entity = TalerMerchantApi.Product; interface Props { diff --git a/packages/merchant-backoffice-ui/src/components/product/ProductForm.tsx b/packages/merchant-backoffice-ui/src/components/product/ProductForm.tsx @@ -44,6 +44,8 @@ import { InputWithAddon } from "../form/InputWithAddon.js"; import { FragmentPersonaFlag } from "../menu/SideBar.js"; import { UIElement } from "../../hooks/preference.js"; +const TALER_SCREEN_ID = 23; + type Entity = TalerMerchantApi.ProductDetail & { product_id: string; }; diff --git a/packages/merchant-backoffice-ui/src/components/product/ProductList.tsx b/packages/merchant-backoffice-ui/src/components/product/ProductList.tsx @@ -18,6 +18,9 @@ import { h, VNode } from "preact"; import emptyImage from "../../assets/empty.png"; import { useTranslationContext } from "@gnu-taler/web-util/browser"; + +const TALER_SCREEN_ID = 24; + interface Props { list: TalerMerchantApi.Product[]; actions?: { diff --git a/packages/merchant-backoffice-ui/src/paths/admin/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/admin/create/CreatePage.tsx @@ -54,6 +54,8 @@ import { import { undefinedIfEmpty } from "../../../utils/table.js"; import { FOREVER_REFRESHABLE_TOKEN } from "../../login/index.js"; +const TALER_SCREEN_ID = 25; + export type Entity = TalerMerchantApi.InstanceConfigurationMessage & { auth_token?: string; // default_pay_delay: Duration; diff --git a/packages/merchant-backoffice-ui/src/paths/admin/create/InstanceCreatedSuccessfully.tsx b/packages/merchant-backoffice-ui/src/paths/admin/create/InstanceCreatedSuccessfully.tsx @@ -22,6 +22,8 @@ import { CreatedSuccessfully } from "../../../components/notifications/CreatedSu import { Entity } from "./index.js"; import { useTranslationContext } from "@gnu-taler/web-util/browser"; +const TALER_SCREEN_ID = 26; + export function InstanceCreatedSuccessfully({ entity, onConfirm, diff --git a/packages/merchant-backoffice-ui/src/paths/admin/list/TableActive.tsx b/packages/merchant-backoffice-ui/src/paths/admin/list/TableActive.tsx @@ -25,6 +25,8 @@ import { VNode, h } from "preact"; import { StateUpdater, useEffect, useState } from "preact/hooks"; import { useSessionContext } from "../../../context/session.js"; +const TALER_SCREEN_ID = 27; + interface Props { instances: TalerMerchantApi.Instance[]; onUpdate: (id: string) => void; diff --git a/packages/merchant-backoffice-ui/src/paths/admin/list/View.tsx b/packages/merchant-backoffice-ui/src/paths/admin/list/View.tsx @@ -39,6 +39,8 @@ import { SolveMFAChallenges } from "../../../components/SolveMFA.js"; import { useSessionContext } from "../../../context/session.js"; import { ConfirmModal } from "../../../components/modal/index.js"; +const TALER_SCREEN_ID = 28; + interface Props { instances: TalerMerchantApi.Instance[]; onCreate: () => void; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accessTokens/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accessTokens/create/CreatePage.tsx @@ -43,9 +43,11 @@ import { import { Input } from "../../../../components/form/Input.js"; import { InputDuration } from "../../../../components/form/InputDuration.js"; import { InputSelector } from "../../../../components/form/InputSelector.js"; -import { undefinedIfEmpty } from "../../../../utils/table.js"; -import { useSessionContext } from "../../../../context/session.js"; import { SolveMFAChallenges } from "../../../../components/SolveMFA.js"; +import { useSessionContext } from "../../../../context/session.js"; +import { undefinedIfEmpty } from "../../../../utils/table.js"; + +const TALER_SCREEN_ID = 29; type Entity = { scope: TalerMerchantApi.LoginTokenRequest["scope"]; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accessTokens/create/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accessTokens/create/index.tsx @@ -26,6 +26,9 @@ import { useState } from "preact/hooks"; import { ConfirmModal, Row } from "../../../../components/modal/index.js"; import { CreatePage } from "./CreatePage.js"; + +const TALER_SCREEN_ID = 30; + export type Entity = TalerMerchantApi.LoginTokenRequest; interface Props { onBack?: () => void; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accessTokens/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accessTokens/list/Table.tsx @@ -29,6 +29,8 @@ import { usePreference, } from "../../../../hooks/preference.js"; +const TALER_SCREEN_ID = 32; + type Entity = TokenInfo; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accessTokens/list/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accessTokens/list/index.tsx @@ -23,7 +23,7 @@ import { HttpStatusCode, TalerError, TokenInfo, - assertUnreachable + assertUnreachable, } from "@gnu-taler/taler-util"; import { LocalNotificationBannerBulma, @@ -41,6 +41,8 @@ import { LoginPage } from "../../../login/index.js"; import { NotFoundPageOrAdminCreate } from "../../../notfound/index.js"; import { CardTable } from "./Table.js"; +const TALER_SCREEN_ID = 31; + interface Props { onCreate: () => void; } diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accounts/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accounts/create/CreatePage.tsx @@ -55,6 +55,9 @@ import { TestRevenueErrorType, testRevenueAPI } from "./index.js"; import { FragmentPersonaFlag } from "../../../../components/menu/SideBar.js"; import { UIElement, usePreference } from "../../../../hooks/preference.js"; + +const TALER_SCREEN_ID = 33; + type Entity = TalerMerchantApi.AccountAddDetails & { verified?: boolean; } & TalerForm; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/Table.tsx @@ -29,17 +29,18 @@ import { TalerMerchantApi, } from "@gnu-taler/taler-util"; import { - ButtonBetter, ButtonBetterBulma, LocalNotificationBannerBulma, SafeHandlerTemplate, useLocalNotificationBetter, - useTranslationContext, + useTranslationContext } from "@gnu-taler/web-util/browser"; import { Fragment, h, VNode } from "preact"; import { StateUpdater, useState } from "preact/hooks"; import { useSessionContext } from "../../../../context/session.js"; +const TALER_SCREEN_ID = 35; + type Entity = TalerMerchantApi.BankAccountEntry; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accounts/list/index.tsx @@ -35,6 +35,8 @@ import { LoginPage } from "../../../login/index.js"; import { NotFoundPageOrAdminCreate } from "../../../notfound/index.js"; import { CardTable } from "./Table.js"; +const TALER_SCREEN_ID = 34; + interface Props { onCreate: () => void; onSelect: (id: string) => void; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/accounts/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/accounts/update/UpdatePage.tsx @@ -56,6 +56,9 @@ import { TestRevenueErrorType, testRevenueAPI } from "../create/index.js"; import { FragmentPersonaFlag } from "../../../../components/menu/SideBar.js"; import { UIElement, usePreference } from "../../../../hooks/preference.js"; + +const TALER_SCREEN_ID = 36; + type Entity = TalerMerchantApi.BankAccountDetail & WithId; type FormType = TalerMerchantApi.AccountPatchDetails & { verified: boolean; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/categories/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/categories/create/CreatePage.tsx @@ -34,9 +34,10 @@ import { } from "../../../../components/form/FormProvider.js"; import { Input } from "../../../../components/form/Input.js"; import { useSessionContext } from "../../../../context/session.js"; -import { useTokenFamilyDetails } from "../../../../hooks/tokenfamily.js"; import { undefinedIfEmpty } from "../../../../utils/table.js"; +const TALER_SCREEN_ID = 37; + type Entity = TalerMerchantApi.CategoryCreateRequest; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/categories/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/categories/list/Table.tsx @@ -31,6 +31,8 @@ import { Fragment, h, VNode } from "preact"; import { StateUpdater, useState } from "preact/hooks"; import { useSessionContext } from "../../../../context/session.js"; +const TALER_SCREEN_ID = 38; + type Entity = TalerMerchantApi.CategoryListEntry; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/categories/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/categories/update/UpdatePage.tsx @@ -42,10 +42,11 @@ import { useSessionContext } from "../../../../context/session.js"; import { WithId } from "../../../../declaration.js"; import { ProductWithId, - useInstanceProducts, - useInstanceProductsFromIds, + useInstanceProductsFromIds } from "../../../../hooks/product.js"; +const TALER_SCREEN_ID = 39; + type Entity = TalerMerchantApi.CategoryProductList & WithId; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/kyc/list/ListPage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/kyc/list/ListPage.tsx @@ -27,6 +27,8 @@ import { import { useTranslationContext } from "@gnu-taler/web-util/browser"; import { h, VNode } from "preact"; +const TALER_SCREEN_ID = 41; + export interface Props { status: TalerMerchantApi.MerchantAccountKycRedirectsResponse; // onGetInfo: (url: string, token: AccessToken) => void; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/kyc/list/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/kyc/list/index.tsx @@ -39,6 +39,8 @@ import { import { useInstanceKYCDetailsLongPolling } from "../../../../hooks/instance.js"; import { ListPage } from "./ListPage.js"; +const TALER_SCREEN_ID = 40; + interface Props { // onGetInfo: (id: string) => void; // onShowInstructions: (id: string) => void; @@ -136,7 +138,8 @@ function ShowInstructionForKycRedirect({ > <p style={{ paddingTop: 0 }}> <i18n.Translate> - The backend service responded with "{e.payto_uri}" which is invalid. + The backend service responded with "{e.payto_uri}" which is + invalid. </i18n.Translate> </p> </ConfirmModal> @@ -147,17 +150,13 @@ function ShowInstructionForKycRedirect({ .filter((d) => { if (d.type !== "ok") { // FIXME: maybe this need to be shown to the user more promptly - console.error("server replied with a wrong payto://", d) + console.error("server replied with a wrong payto://", d); } - return d.type === "ok" + return d.type === "ok"; }) .map((d) => d.body); return ( - <ValidBankAccount - origin={uri.body} - targets={tgs} - onCancel={onCancel} - /> + <ValidBankAccount origin={uri.body} targets={tgs} onCancel={onCancel} /> ); case TalerMerchantApi.MerchantAccountKycStatus.NO_EXCHANGE_KEY: { return ( diff --git a/packages/merchant-backoffice-ui/src/paths/instance/orders/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/orders/create/CreatePage.tsx @@ -60,6 +60,9 @@ import { rate } from "../../../../utils/amount.js"; import { undefinedIfEmpty } from "../../../../utils/table.js"; import { FragmentPersonaFlag } from "../../../../components/menu/SideBar.js"; + +const TALER_SCREEN_ID = 42; + export interface Props { onCreated: (id: string) => void; onBack?: () => void; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/orders/create/OrderCreatedSuccessfully.tsx b/packages/merchant-backoffice-ui/src/paths/instance/orders/create/OrderCreatedSuccessfully.tsx @@ -29,6 +29,8 @@ import { NotFoundPageOrAdminCreate } from "../../../notfound/index.js"; import { Entity } from "./index.js"; import { LoginPage } from "../../../login/index.js"; +const TALER_SCREEN_ID = 43; + interface Props { entity: Entity; onConfirm: () => void; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/orders/details/DetailPage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/orders/details/DetailPage.tsx @@ -49,6 +49,9 @@ import { mergeRefunds } from "../../../../utils/amount.js"; import { RefundModal } from "../list/Table.js"; import { Event, Timeline } from "./Timeline.js"; + +const TALER_SCREEN_ID = 44; + type Entity = TalerMerchantApi.MerchantOrderStatusResponse; type CT = TalerMerchantApi.MerchantContractTermsV0; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/orders/details/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/orders/details/index.tsx @@ -25,12 +25,13 @@ import { import { Fragment, VNode, h } from "preact"; import { ErrorLoadingMerchant } from "../../../../components/ErrorLoadingMerchant.js"; import { Loading } from "../../../../components/exception/loading.js"; -import { useSessionContext } from "../../../../context/session.js"; import { useOrderDetails } from "../../../../hooks/order.js"; import { LoginPage } from "../../../login/index.js"; import { NotFoundPageOrAdminCreate } from "../../../notfound/index.js"; import { DetailPage } from "./DetailPage.js"; +const TALER_SCREEN_ID = 45; + export interface Props { oid: string; onBack: () => void; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/orders/list/ListPage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/orders/list/ListPage.tsx @@ -29,6 +29,8 @@ import { dateFormatForSettings, usePreference } from "../../../../hooks/preferen import { CardTable } from "./Table.js"; import { WithId } from "../../../../declaration.js"; +const TALER_SCREEN_ID = 47; + export interface ListPageProps { onShowAll: () => void; onShowNotPaid: () => void; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/orders/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/orders/list/Table.tsx @@ -58,6 +58,9 @@ import { } from "../../../../hooks/preference.js"; import { mergeRefunds } from "../../../../utils/amount.js"; + +const TALER_SCREEN_ID = 48; + type Entity = TalerMerchantApi.OrderHistoryEntry & WithId; interface Props { orders: Entity[]; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/orders/list/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/orders/list/index.tsx @@ -25,8 +25,7 @@ import { TalerError, TalerErrorCode, TalerMerchantApi, - assertUnreachable, - stringifyPayUri, + assertUnreachable } from "@gnu-taler/taler-util"; import { LocalNotificationBannerBulma, @@ -38,19 +37,20 @@ import { useState } from "preact/hooks"; import { ErrorLoadingMerchant } from "../../../../components/ErrorLoadingMerchant.js"; import { Loading } from "../../../../components/exception/loading.js"; import { JumpToElementById } from "../../../../components/form/JumpToElementById.js"; -import { NotificationCard } from "../../../../components/menu/index.js"; import { useSessionContext } from "../../../../context/session.js"; import { InstanceOrderFilter, useInstanceOrders, useOrderDetails, } from "../../../../hooks/order.js"; -import { Notification } from "../../../../utils/types.js"; import { LoginPage } from "../../../login/index.js"; import { NotFoundPageOrAdminCreate } from "../../../notfound/index.js"; import { ListPage } from "./ListPage.js"; import { RefundModal } from "./Table.js"; + +const TALER_SCREEN_ID = 46; + interface Props { onSelect: (id: string) => void; onCreate: () => void; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/otp_devices/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/otp_devices/create/CreatePage.tsx @@ -43,6 +43,8 @@ import { InputWithAddon } from "../../../../components/form/InputWithAddon.js"; import { undefinedIfEmpty } from "../../../../utils/table.js"; import { useSessionContext } from "../../../../context/session.js"; +const TALER_SCREEN_ID = 50; + type Entity = TalerMerchantApi.OtpDeviceAddDetails; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/otp_devices/create/CreatedSuccessfully.tsx b/packages/merchant-backoffice-ui/src/paths/instance/otp_devices/create/CreatedSuccessfully.tsx @@ -21,6 +21,8 @@ import { QR } from "../../../../components/exception/QR.js"; import { CreatedSuccessfully as Template } from "../../../../components/notifications/CreatedSuccessfully.js"; import { useSessionContext } from "../../../../context/session.js"; +const TALER_SCREEN_ID = 49; + type Entity = TalerMerchantApi.OtpDeviceAddDetails; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/otp_devices/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/otp_devices/list/Table.tsx @@ -31,6 +31,8 @@ import { Fragment, h, VNode } from "preact"; import { StateUpdater, useState } from "preact/hooks"; import { useSessionContext } from "../../../../context/session.js"; +const TALER_SCREEN_ID = 51; + type Entity = TalerMerchantApi.OtpDeviceEntry; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/otp_devices/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/otp_devices/update/UpdatePage.tsx @@ -39,6 +39,8 @@ import { InputWithAddon } from "../../../../components/form/InputWithAddon.js"; import { WithId } from "../../../../declaration.js"; import { useSessionContext } from "../../../../context/session.js"; +const TALER_SCREEN_ID = 52; + type Entity = TalerMerchantApi.OtpDevicePatchDetails & WithId; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/password/DetailPage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/password/DetailPage.tsx @@ -21,18 +21,16 @@ import { ButtonBetterBulma, - LocalNotificationBannerBulma, SafeHandlerTemplate, - useChallengeHandler, - useTranslationContext, + useTranslationContext } from "@gnu-taler/web-util/browser"; import { Fragment, h, VNode } from "preact"; import { useState } from "preact/hooks"; import { FormProvider } from "../../../components/form/FormProvider.js"; import { Input } from "../../../components/form/Input.js"; import { undefinedIfEmpty } from "../../../utils/table.js"; -import { SolveMFAChallenges } from "../../../components/SolveMFA.js"; -import { HttpStatusCode } from "@gnu-taler/taler-util"; + +const TALER_SCREEN_ID = 53; interface Props { instanceId: string; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/password/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/password/index.tsx @@ -39,6 +39,8 @@ import { LoginPage } from "../../login/index.js"; import { NotFoundPageOrAdminCreate } from "../../notfound/index.js"; import { DetailPage } from "./DetailPage.js"; +const TALER_SCREEN_ID = 54; + export interface Props { onChange: () => void; onCancel: () => void; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/products/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/products/list/Table.tsx @@ -50,6 +50,8 @@ import { } from "../../../../hooks/preference.js"; import { FragmentPersonaFlag } from "../../../../components/menu/SideBar.js"; +const TALER_SCREEN_ID = 56; + type Entity = TalerMerchantApi.ProductDetail & WithId; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/products/list/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/products/list/index.tsx @@ -43,6 +43,8 @@ import { LoginPage } from "../../../login/index.js"; import { NotFoundPageOrAdminCreate } from "../../../notfound/index.js"; import { CardTable } from "./Table.js"; +const TALER_SCREEN_ID = 55; + interface Props { onCreate: undefined | (() => void); onSelect: (id: string) => void; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/products/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/products/update/UpdatePage.tsx @@ -31,6 +31,8 @@ import { useState } from "preact/hooks"; import { ProductForm } from "../../../../components/product/ProductForm.js"; import { useSessionContext } from "../../../../context/session.js"; +const TALER_SCREEN_ID = 57; + type Entity = TalerMerchantApi.ProductDetail & { product_id: string }; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/statistics/list/OrdersChart.tsx b/packages/merchant-backoffice-ui/src/paths/instance/statistics/list/OrdersChart.tsx @@ -28,6 +28,8 @@ import { DatePicker } from "../../../../components/picker/DatePicker.js"; import { dateFormatForSettings, usePreference } from "../../../../hooks/preference.js"; import { Line } from "react-chartjs-2"; +const TALER_SCREEN_ID = 58; + export interface OrdersChartProps { chartData: any; chartLabels: any; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/statistics/list/RevenueChart.tsx b/packages/merchant-backoffice-ui/src/paths/instance/statistics/list/RevenueChart.tsx @@ -19,18 +19,19 @@ * @author Martin Schanzenbach */ -import { AbsoluteTime, Amount, AmountJson, Amounts } from "@gnu-taler/taler-util"; +import { AmountJson, Amounts } from "@gnu-taler/taler-util"; import { useTranslationContext } from "@gnu-taler/web-util/browser"; +import { ChartDataset, Point } from "chart.js"; +import { format } from "date-fns"; import { Fragment, VNode, h } from "preact"; import { useState } from "preact/hooks"; -import { DatePicker } from "../../../../components/picker/DatePicker.js"; import { Bar } from "react-chartjs-2"; import { FormProvider } from "../../../../components/form/FormProvider.js"; -import { InputSelector } from "../../../../components/form/InputSelector.js"; -import { InputNumber } from "../../../../components/form/InputNumber.js"; import { InputGroup } from "../../../../components/form/InputGroup.js"; -import { ChartDataset, Point } from "chart.js"; -import { format } from "date-fns"; +import { InputNumber } from "../../../../components/form/InputNumber.js"; +import { InputSelector } from "../../../../components/form/InputSelector.js"; + +const TALER_SCREEN_ID = 59; export interface RevenueChartProps { currencyString: string, diff --git a/packages/merchant-backoffice-ui/src/paths/instance/statistics/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/statistics/list/Table.tsx @@ -19,12 +19,13 @@ * @author Martin Schanzenbach */ -import { TalerMerchantApi } from "@gnu-taler/taler-util"; import { useTranslationContext } from "@gnu-taler/web-util/browser"; import { h, VNode } from "preact"; import { StateUpdater, useState } from "preact/hooks"; -import { StatSlug } from "./index.js" -import { Chart } from "chart.js"; +import { StatSlug } from "./index.js"; + + +const TALER_SCREEN_ID = 60; type Entity = StatSlug; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/templates/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/templates/create/CreatePage.tsx @@ -48,14 +48,15 @@ import { InputSelector } from "../../../../components/form/InputSelector.js"; import { InputToggle } from "../../../../components/form/InputToggle.js"; import { InputWithAddon } from "../../../../components/form/InputWithAddon.js"; import { TextField } from "../../../../components/form/TextField.js"; -import { useSessionContext } from "../../../../context/session.js"; -import { useInstanceOtpDevices } from "../../../../hooks/otp.js"; import { ComponentPersonaFlag, FragmentPersonaFlag, } from "../../../../components/menu/SideBar.js"; +import { useSessionContext } from "../../../../context/session.js"; +import { useInstanceOtpDevices } from "../../../../hooks/otp.js"; import { UIElement } from "../../../../hooks/preference.js"; -import { useInstanceDetails } from "../../../../hooks/instance.js"; + +const TALER_SCREEN_ID = 61; // type Entity = TalerMerchantApi.TemplateAddDetails & { type: Steps }; type Entity = { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/templates/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/templates/list/Table.tsx @@ -24,6 +24,8 @@ import { useTranslationContext } from "@gnu-taler/web-util/browser"; import { h, VNode } from "preact"; import { StateUpdater, useState } from "preact/hooks"; +const TALER_SCREEN_ID = 63; + type Entity = TalerMerchantApi.TemplateEntry; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/templates/list/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/templates/list/index.tsx @@ -42,6 +42,8 @@ import { LoginPage } from "../../../login/index.js"; import { NotFoundPageOrAdminCreate } from "../../../notfound/index.js"; import { CardTable } from "./Table.js"; +const TALER_SCREEN_ID = 62; + interface Props { onCreate: () => void; onSelect: (id: string) => void; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/templates/qr/QrPage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/templates/qr/QrPage.tsx @@ -30,6 +30,8 @@ import { QR } from "../../../../components/exception/QR.js"; import { useSessionContext } from "../../../../context/session.js"; import { useRef } from "preact/hooks"; +const TALER_SCREEN_ID = 64; + // type Entity = TalerMerchantApi.UsingTemplateDetails; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/templates/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/templates/update/UpdatePage.tsx @@ -58,6 +58,8 @@ import { FragmentPersonaFlag, } from "../../../../components/menu/SideBar.js"; +const TALER_SCREEN_ID = 65; + type Entity = { description?: string; otpId?: string | null; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/templates/use/UsePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/templates/use/UsePage.tsx @@ -42,6 +42,8 @@ import { Input } from "../../../../components/form/Input.js"; import { InputWithAddon } from "../../../../components/form/InputWithAddon.js"; import { useSessionContext } from "../../../../context/session.js"; +const TALER_SCREEN_ID = 66; + type Entity = TalerMerchantApi.TemplateContractDetails; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/tokenfamilies/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/tokenfamilies/create/CreatePage.tsx @@ -44,6 +44,8 @@ import { InputSelector } from "../../../../components/form/InputSelector.js"; import { InputWithAddon } from "../../../../components/form/InputWithAddon.js"; import { useSessionContext } from "../../../../context/session.js"; +const TALER_SCREEN_ID = 67; + type Entity = TalerMerchantApi.TokenFamilyCreateRequest; export interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/tokenfamilies/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/tokenfamilies/list/Table.tsx @@ -25,6 +25,8 @@ import { StateUpdater, useState } from "preact/hooks"; import { format } from "date-fns"; import { TalerMerchantApi } from "@gnu-taler/taler-util"; +const TALER_SCREEN_ID = 69; + type Entity = TalerMerchantApi.TokenFamilySummary; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/tokenfamilies/list/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/tokenfamilies/list/index.tsx @@ -41,6 +41,8 @@ import { LoginPage } from "../../../login/index.js"; import { NotFoundPageOrAdminCreate } from "../../../notfound/index.js"; import { CardTable } from "./Table.js"; +const TALER_SCREEN_ID = 68; + interface Props { onUnauthorized: () => VNode; onNotFound: () => VNode; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/tokenfamilies/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/tokenfamilies/update/UpdatePage.tsx @@ -38,6 +38,8 @@ import { InputDuration } from "../../../../components/form/InputDuration.js"; import { useSessionContext } from "../../../../context/session.js"; import { undefinedIfEmpty } from "../../../../utils/table.js"; +const TALER_SCREEN_ID = 70; + type Entity = TalerMerchantApi.TokenFamilyUpdateRequest; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/transfers/list/ListPage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/transfers/list/ListPage.tsx @@ -26,6 +26,8 @@ import { FormProvider } from "../../../../components/form/FormProvider.js"; import { InputSelector } from "../../../../components/form/InputSelector.js"; import { CardTable } from "./Table.js"; +const TALER_SCREEN_ID = 71; + export interface Props { transfers: TalerMerchantApi.TransferDetails[]; onLoadMoreBefore?: () => void; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/transfers/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/transfers/list/Table.tsx @@ -30,6 +30,8 @@ import { } from "../../../../hooks/preference.js"; import { WithId } from "../../../../declaration.js"; +const TALER_SCREEN_ID = 72; + type Entity = TalerMerchantApi.TransferDetails & WithId; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/update/DeletePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/update/DeletePage.tsx @@ -36,6 +36,8 @@ import { SolveMFAChallenges } from "../../../components/SolveMFA.js"; import { useSessionContext } from "../../../context/session.js"; import { undefinedIfEmpty } from "../../../utils/table.js"; +const TALER_SCREEN_ID = 73; + interface Props { instanceId: string; onDeleted: () => void; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/update/UpdatePage.tsx @@ -45,6 +45,8 @@ import { useSessionContext } from "../../../context/session.js"; import { undefinedIfEmpty } from "../../../utils/table.js"; import { SolveMFAChallenges } from "../../../components/SolveMFA.js"; +const TALER_SCREEN_ID = 75; + export type Entity = Omit< Omit<TalerMerchantApi.InstanceReconfigurationMessage, "default_pay_delay">, "default_wire_transfer_delay" diff --git a/packages/merchant-backoffice-ui/src/paths/instance/update/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/update/index.tsx @@ -14,35 +14,30 @@ GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> */ import { - AccessToken, HttpStatusCode, TalerError, - TalerMerchantApi, TalerMerchantInstanceHttpClient, TalerMerchantManagementResultByMethod, - assertUnreachable, + assertUnreachable } from "@gnu-taler/taler-util"; import { - LocalNotificationBannerBulma, - useChallengeHandler, - useLocalNotificationBetter, - useTranslationContext, + useTranslationContext } from "@gnu-taler/web-util/browser"; import { Fragment, VNode, h } from "preact"; import { useState } from "preact/hooks"; import { ErrorLoadingMerchant } from "../../../components/ErrorLoadingMerchant.js"; import { Loading } from "../../../components/exception/loading.js"; -import { SolveMFAChallenges } from "../../../components/SolveMFA.js"; import { useSessionContext } from "../../../context/session.js"; import { useInstanceDetails, useManagedInstanceDetails, } from "../../../hooks/instance.js"; -import { Notification } from "../../../utils/types.js"; import { LoginPage } from "../../login/index.js"; import { NotFoundPageOrAdminCreate } from "../../notfound/index.js"; import { DeletePage } from "./DeletePage.js"; -import { Entity, UpdatePage } from "./UpdatePage.js"; +import { UpdatePage } from "./UpdatePage.js"; + +const TALER_SCREEN_ID = 74; export interface Props { onBack: () => void; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/webhooks/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/webhooks/create/CreatePage.tsx @@ -37,6 +37,8 @@ import { InputSelector } from "../../../../components/form/InputSelector.js"; import { undefinedIfEmpty } from "../../../../utils/table.js"; import { useSessionContext } from "../../../../context/session.js"; +const TALER_SCREEN_ID = 76; + type Entity = TalerMerchantApi.WebhookAddDetails; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/webhooks/create/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/webhooks/create/index.tsx @@ -19,14 +19,8 @@ * @author Sebastian Javier Marchano (sebasjm) */ -import { AccessToken, TalerMerchantApi } from "@gnu-taler/taler-util"; -import { - LocalNotificationBannerBulma, - useLocalNotificationBetter, - useTranslationContext, -} from "@gnu-taler/web-util/browser"; +import { TalerMerchantApi } from "@gnu-taler/taler-util"; import { Fragment, VNode, h } from "preact"; -import { useSessionContext } from "../../../../context/session.js"; import { CreatePage } from "./CreatePage.js"; export type Entity = TalerMerchantApi.WebhookAddDetails; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/webhooks/list/Table.tsx b/packages/merchant-backoffice-ui/src/paths/instance/webhooks/list/Table.tsx @@ -35,6 +35,8 @@ import { Fragment, h, VNode } from "preact"; import { StateUpdater, useState } from "preact/hooks"; import { useSessionContext } from "../../../../context/session.js"; +const TALER_SCREEN_ID = 77; + type Entity = TalerMerchantApi.WebhookEntry; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/instance/webhooks/list/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/webhooks/list/index.tsx @@ -22,18 +22,12 @@ import { HttpStatusCode, TalerError, - TalerMerchantApi, - assertUnreachable, + assertUnreachable } from "@gnu-taler/taler-util"; -import { LocalNotificationBannerBulma, useTranslationContext } from "@gnu-taler/web-util/browser"; import { Fragment, VNode, h } from "preact"; -import { useState } from "preact/hooks"; import { ErrorLoadingMerchant } from "../../../../components/ErrorLoadingMerchant.js"; import { Loading } from "../../../../components/exception/loading.js"; -import { NotificationCard } from "../../../../components/menu/index.js"; -import { useSessionContext } from "../../../../context/session.js"; import { useInstanceWebhooks } from "../../../../hooks/webhooks.js"; -import { Notification } from "../../../../utils/types.js"; import { LoginPage } from "../../../login/index.js"; import { NotFoundPageOrAdminCreate } from "../../../notfound/index.js"; import { ListPage } from "./ListPage.js"; diff --git a/packages/merchant-backoffice-ui/src/paths/instance/webhooks/update/UpdatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/webhooks/update/UpdatePage.tsx @@ -42,6 +42,8 @@ import { WithId } from "../../../../declaration.js"; import { undefinedIfEmpty } from "../../../../utils/table.js"; import { useSessionContext } from "../../../../context/session.js"; +const TALER_SCREEN_ID = 78; + type Entity = TalerMerchantApi.WebhookPatchDetails & WithId; interface Props { diff --git a/packages/merchant-backoffice-ui/src/paths/login/index.tsx b/packages/merchant-backoffice-ui/src/paths/login/index.tsx @@ -31,13 +31,15 @@ import { LocalNotificationBannerBulma, useChallengeHandler, useLocalNotificationBetter, - useTranslationContext + useTranslationContext, } from "@gnu-taler/web-util/browser"; import { Fragment, h, VNode } from "preact"; import { useState } from "preact/hooks"; import { SolveMFAChallenges } from "../../components/SolveMFA.js"; import { useSessionContext } from "../../context/session.js"; +const TALER_SCREEN_ID = 79; + interface Props { showCreateAccount?: boolean; } @@ -237,4 +239,3 @@ export function LoginPage({ showCreateAccount }: Props): VNode { </Fragment> ); } - diff --git a/packages/merchant-backoffice-ui/src/paths/newAccount/index.tsx b/packages/merchant-backoffice-ui/src/paths/newAccount/index.tsx @@ -36,6 +36,7 @@ import { FormProvider, } from "../../components/form/FormProvider.js"; import { Input } from "../../components/form/Input.js"; +import { InputToggle } from "../../components/form/InputToggle.js"; import { InputWithAddon } from "../../components/form/InputWithAddon.js"; import { SolveMFAChallenges } from "../../components/SolveMFA.js"; import { useSessionContext } from "../../context/session.js"; @@ -44,8 +45,8 @@ import { INSTANCE_ID_REGEX, PHONE_JUST_NUMBERS_REGEX, } from "../../utils/constants.js"; -import { Notification } from "../../utils/types.js"; -import { InputToggle } from "../../components/form/InputToggle.js"; + +const TALER_SCREEN_ID = 80; export interface Account { id: string; diff --git a/packages/merchant-backoffice-ui/src/paths/notfound/index.tsx b/packages/merchant-backoffice-ui/src/paths/notfound/index.tsx @@ -31,6 +31,9 @@ import { import InstanceCreatePage from "../../paths/admin/create/index.js"; import { InstancePaths } from "../../Routing.js"; + +const TALER_SCREEN_ID = 81; + function NotFoundPage(): VNode { return ( <div> diff --git a/packages/merchant-backoffice-ui/src/paths/resetAccount/index.tsx b/packages/merchant-backoffice-ui/src/paths/resetAccount/index.tsx @@ -27,7 +27,7 @@ import { useLocalNotificationBetter, useTranslationContext, } from "@gnu-taler/web-util/browser"; -import { Fragment, VNode, h } from "preact"; +import { Fragment, h, VNode } from "preact"; import { useState } from "preact/hooks"; import { FormErrors, @@ -36,9 +36,10 @@ import { import { Input } from "../../components/form/Input.js"; import { SolveMFAChallenges } from "../../components/SolveMFA.js"; import { useSessionContext } from "../../context/session.js"; -import { Notification } from "../../utils/types.js"; import { FOREVER_REFRESHABLE_TOKEN } from "../login/index.js"; +const TALER_SCREEN_ID = 82; + interface Form { password: string; repeat: string; diff --git a/packages/merchant-backoffice-ui/src/paths/settings/index.tsx b/packages/merchant-backoffice-ui/src/paths/settings/index.tsx @@ -30,6 +30,8 @@ import { Preferences, usePreference } from "../../hooks/preference.js"; import { useSessionContext } from "../../context/session.js"; import { NotificationCard } from "../../components/menu/index.js"; +const TALER_SCREEN_ID = 83; + type FormType = Preferences; export function Settings({ onClose }: { onClose?: () => void }): VNode { const { i18n } = useTranslationContext();