commit 4611940d61d721dbd5b8cca9faed3795da113ca6
parent 058c900e15098ab2b5492ff8ca4a302d0d9eacc6
Author: Sebastian <sebasjm@gmail.com>
Date: Sat, 15 Nov 2025 17:56:26 -0300
fix #10600
Diffstat:
7 files changed, 78 insertions(+), 69 deletions(-)
diff --git a/packages/merchant-backoffice-ui/src/Routing.tsx b/packages/merchant-backoffice-ui/src/Routing.tsx
@@ -114,7 +114,7 @@ export enum InstancePaths {
kyc = "/kyc",
transfers_list = "/transfers",
- transfers_new = "/transfer/new",
+ // transfers_new = "/transfer/new",
templates_list = "/templates",
templates_update = "/templates/:tid/update",
@@ -518,11 +518,11 @@ export function Routing(_p: Props): VNode {
<Route
path={InstancePaths.transfers_list}
component={TransferListPage}
- onCreate={() => {
- route(InstancePaths.transfers_new);
- }}
+ // onCreate={() => {
+ // route(InstancePaths.transfers_new);
+ // }}
/>
- <Route
+ {/* <Route
path={InstancePaths.transfers_new}
component={TransferCreatePage}
onConfirm={() => {
@@ -531,7 +531,7 @@ export function Routing(_p: Props): VNode {
onBack={() => {
route(InstancePaths.transfers_list);
}}
- />
+ /> */}
{/* *
* Token family pages
*/}
diff --git a/packages/merchant-backoffice-ui/src/paths/instance/transfers/create/CreatePage.tsx b/packages/merchant-backoffice-ui/src/paths/instance/transfers/create/CreatePage.tsx
@@ -55,6 +55,12 @@ export interface Props {
accounts: string[];
}
+/**
+ * @deprecated this is going to be removed from the SPEC
+ *
+ * @param param0
+ * @returns
+ */
export function CreatePage({ accounts, onCreated, onBack }: Props): VNode {
const { i18n } = useTranslationContext();
@@ -84,23 +90,23 @@ export function CreatePage({ accounts, onCreated, onBack }: Props): VNode {
? i18n.str`URL doesn't have the right format`
: undefined,
});
- const data = state as TransferInformation;
+ // const data = state as TransferInformation;
- const create = safeFunctionHandler(
- lib.instance.informWireTransfer.bind(lib.instance),
- !session.token || !!errors ? undefined : [session.token, data],
- );
- create.onSuccess = onCreated;
- create.onFail = (fail) => {
- switch (fail.case) {
- case HttpStatusCode.Unauthorized:
- return i18n.str`Unauthorized.`;
- case HttpStatusCode.NotFound:
- return i18n.str`Not found.`;
- case HttpStatusCode.Conflict:
- return i18n.str`Conflict.`;
- }
- };
+ // const create = safeFunctionHandler(
+ // lib.instance.informWireTransfer.bind(lib.instance),
+ // !session.token || !!errors ? undefined : [session.token, data],
+ // );
+ // create.onSuccess = onCreated;
+ // create.onFail = (fail) => {
+ // switch (fail.case) {
+ // case HttpStatusCode.Unauthorized:
+ // return i18n.str`Unauthorized.`;
+ // case HttpStatusCode.NotFound:
+ // return i18n.str`Not found.`;
+ // case HttpStatusCode.Conflict:
+ // return i18n.str`Conflict.`;
+ // }
+ // };
const hasErrors = errors !== undefined;
return (
@@ -147,17 +153,17 @@ export function CreatePage({ accounts, onCreated, onBack }: Props): VNode {
<i18n.Translate>Cancel</i18n.Translate>
</button>
)}
- <ButtonBetterBulma
+ {/* <ButtonBetterBulma
data-tooltip={
hasErrors
? i18n.str`Please complete the marked fields`
: i18n.str`Confirm operation`
}
type="submit"
- onClick={create}
+ // onClick={create}
>
<i18n.Translate>Confirm</i18n.Translate>
- </ButtonBetterBulma>
+ </ButtonBetterBulma> */}
</div>
</div>
<div class="column" />
diff --git a/packages/merchant-backoffice-ui/src/paths/instance/transfers/create/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/transfers/create/index.tsx
@@ -30,6 +30,11 @@ interface Props {
onConfirm: () => void;
}
+/**
+ * @deprecated is going to be removed from the SPEC
+ * @param param0
+ * @returns
+ */
export default function CreateTransfer({ onConfirm, onBack }: Props): VNode {
const instance = useInstanceBankAccounts();
const accounts =
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
@@ -39,16 +39,16 @@ export interface Props {
accounts: string[];
onChangePayTo: (p?: string) => void;
payTo?: string;
- onCreate: () => void;
- onDelete: (wid: TalerMerchantApi.TransferDetails) => void;
+ // onCreate: () => void;
+ // onDelete: (wid: TalerMerchantApi.TransferDetails) => void;
}
export function ListPage({
payTo,
onChangePayTo,
transfers,
- onCreate,
- onDelete,
+ // onCreate,
+ // onDelete,
accounts,
onLoadMoreBefore,
onLoadMoreAfter,
@@ -127,8 +127,8 @@ export function ListPage({
id: String(o.transfer_serial_id),
}))}
accounts={accounts}
- onCreate={onCreate}
- onDelete={onDelete}
+ // onCreate={onCreate}
+ // onDelete={onDelete}
onLoadMoreBefore={onLoadMoreBefore}
onLoadMoreAfter={onLoadMoreAfter}
/>
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
@@ -34,8 +34,8 @@ type Entity = TalerMerchantApi.TransferDetails & WithId;
interface Props {
transfers: Entity[];
- onDelete: (id: Entity) => void;
- onCreate: () => void;
+ // onDelete: (id: Entity) => void;
+ // onCreate: () => void;
accounts: string[];
onLoadMoreBefore?: () => void;
onLoadMoreAfter?: () => void;
@@ -43,8 +43,8 @@ interface Props {
export function CardTable({
transfers,
- onCreate,
- onDelete,
+ // onCreate,
+ // onDelete,
onLoadMoreAfter,
onLoadMoreBefore,
}: Props): VNode {
@@ -61,7 +61,7 @@ export function CardTable({
</span>
<i18n.Translate>Wire transfers</i18n.Translate>
</p>
- <div class="card-header-icon" aria-label="more options">
+ {/* <div class="card-header-icon" aria-label="more options">
<span
class="has-tooltip-left"
data-tooltip={i18n.str`Add new transfer`}
@@ -77,7 +77,7 @@ export function CardTable({
</span>
</button>
</span>
- </div>
+ </div> */}
</header>
<div class="card-content">
<div class="b-table has-pagination">
@@ -85,7 +85,7 @@ export function CardTable({
{transfers.length > 0 ? (
<Table
instances={transfers}
- onDelete={onDelete}
+ // onDelete={onDelete}
rowSelection={rowSelection}
rowSelectionHandler={rowSelectionHandler}
onLoadMoreAfter={onLoadMoreAfter}
@@ -103,7 +103,7 @@ export function CardTable({
interface TableProps {
rowSelection: string[];
instances: Entity[];
- onDelete: (id: Entity) => void;
+ // onDelete: (id: Entity) => void;
rowSelectionHandler: StateUpdater<string[]>;
onLoadMoreBefore?: () => void;
onLoadMoreAfter?: () => void;
@@ -112,7 +112,7 @@ interface TableProps {
function Table({
instances,
onLoadMoreAfter,
- onDelete,
+ // onDelete,
onLoadMoreBefore,
}: TableProps): VNode {
const { i18n } = useTranslationContext();
@@ -147,7 +147,7 @@ function Table({
<th>
<i18n.Translate>Executed on</i18n.Translate>
</th>
- <th />
+ {/* <th /> */}
</tr>
</thead>
<tbody>
@@ -168,7 +168,7 @@ function Table({
)
: i18n.str`unknown`}
</td>
- <td>
+ {/* <td>
{i.verified !== true ? (
<button
type="button"
@@ -179,7 +179,7 @@ function Table({
<i18n.Translate>Delete</i18n.Translate>
</button>
) : undefined}
- </td>
+ </td> */}
</tr>
);
})}
diff --git a/packages/merchant-backoffice-ui/src/paths/instance/transfers/list/index.tsx b/packages/merchant-backoffice-ui/src/paths/instance/transfers/list/index.tsx
@@ -24,6 +24,10 @@ import {
TalerError,
assertUnreachable,
} from "@gnu-taler/taler-util";
+import {
+ LocalNotificationBannerBulma,
+ useLocalNotificationBetter
+} from "@gnu-taler/web-util/browser";
import { Fragment, VNode, h } from "preact";
import { useEffect, useState } from "preact/hooks";
import { ErrorLoadingMerchant } from "../../../../components/ErrorLoadingMerchant.js";
@@ -31,30 +35,22 @@ import { Loading } from "../../../../components/exception/loading.js";
import { useInstanceBankAccounts } from "../../../../hooks/bank.js";
import { useInstanceTransfers } from "../../../../hooks/transfer.js";
import { LoginPage } from "../../../login/index.js";
-import { ListPage } from "./ListPage.js";
import { NotFoundPageOrAdminCreate } from "../../../notfound/index.js";
-import { useSessionContext } from "../../../../context/session.js";
-import { NotificationCard } from "../../../../components/menu/index.js";
-import { Notification } from "../../../../utils/types.js";
-import {
- LocalNotificationBannerBulma,
- useLocalNotificationBetter,
- useTranslationContext,
-} from "@gnu-taler/web-util/browser";
+import { ListPage } from "./ListPage.js";
interface Props {
- onCreate: () => void;
+ // onCreate: () => void;
}
interface Form {
verified?: boolean;
payto_uri?: string;
}
-export default function ListTransfer({ onCreate }: Props): VNode {
+export default function ListTransfer({ }: Props): VNode {
const setFilter = (s?: boolean) => setForm({ ...form, verified: s });
- const { i18n } = useTranslationContext();
+ // const { i18n } = useTranslationContext();
- const { state: session, lib } = useSessionContext();
+ // const { state: session, lib } = useSessionContext();
const [position, setPosition] = useState<string | undefined>(undefined);
@@ -86,9 +82,9 @@ export default function ListTransfer({ onCreate }: Props): VNode {
);
// <LocalNotificationBannerBulma notification={notification} />
const [notification, safeFunctionHandler] = useLocalNotificationBetter();
- const remove = safeFunctionHandler(
- lib.instance.deleteWireTransfer.bind(lib.instance),
- );
+ // const remove = safeFunctionHandler(
+ // lib.instance.deleteWireTransfer.bind(lib.instance),
+ // );
if (!result) return <Loading />;
if (result instanceof TalerError) {
return <ErrorLoadingMerchant error={result} />;
@@ -116,16 +112,16 @@ export default function ListTransfer({ onCreate }: Props): VNode {
transfers={result.body}
onLoadMoreBefore={result.loadFirst}
onLoadMoreAfter={result.loadNext}
- onCreate={onCreate}
- onDelete={async (transfer) => {
- (!session.token
- ? remove
- : remove.withArgs(
- session.token,
- String(transfer.transfer_serial_id),
- )
- ).call();
- }}
+ // onCreate={onCreate}
+ // onDelete={async (transfer) => {
+ // (!session.token
+ // ? remove
+ // : remove.withArgs(
+ // session.token,
+ // String(transfer.transfer_serial_id),
+ // )
+ // ).call();
+ // }}
onShowAll={() => setFilter(undefined)}
onShowUnverified={() => setFilter(false)}
onShowVerified={() => setFilter(true)}
diff --git a/packages/taler-util/src/http-client/merchant.ts b/packages/taler-util/src/http-client/merchant.ts
@@ -1715,6 +1715,7 @@ export class TalerMerchantInstanceHttpClient {
/**
* https://docs.taler.net/core/api-merchant.html#post-[-instances-$INSTANCE]-private-transfers
+ * @deprecated
*/
async informWireTransfer(
token: AccessToken | undefined,
@@ -1796,6 +1797,7 @@ export class TalerMerchantInstanceHttpClient {
/**
* https://docs.taler.net/core/api-merchant.html#delete-[-instances-$INSTANCE]-private-transfers-$TID
+ * @deprecated
*/
async deleteWireTransfer(token: AccessToken | undefined, transferId: string) {
const url = new URL(`private/transfers/${transferId}`, this.baseUrl);