diff options
author | Sebastian <sebasjm@gmail.com> | 2024-04-21 14:56:43 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2024-04-22 08:52:55 -0300 |
commit | 94b2530f2f9ea0e0efdf6e933f6160105265a2c6 (patch) | |
tree | 2e8ed33da0847261e7a0d81c089d950f04039e2e /packages/web-util/src/hooks/useNotifications.ts | |
parent | eada01727571fe0aae632696baa97bc4ab6be521 (diff) | |
download | wallet-core-94b2530f2f9ea0e0efdf6e933f6160105265a2c6.tar.xz |
challenger preact api
Diffstat (limited to 'packages/web-util/src/hooks/useNotifications.ts')
-rw-r--r-- | packages/web-util/src/hooks/useNotifications.ts | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/packages/web-util/src/hooks/useNotifications.ts b/packages/web-util/src/hooks/useNotifications.ts index 99f4f2699..81a1ae91e 100644 --- a/packages/web-util/src/hooks/useNotifications.ts +++ b/packages/web-util/src/hooks/useNotifications.ts @@ -1,6 +1,7 @@ import { AbsoluteTime, Duration, + OperationAlternative, OperationFail, OperationOk, OperationResult, @@ -9,7 +10,7 @@ import { TranslatedString, } from "@gnu-taler/taler-util"; import { useEffect, useState } from "preact/hooks"; -import { ButtonHandler } from "../components/Button.js"; +import { ButtonHandler, OnOperationFailReturnType, OnOperationSuccesReturnType } from "../components/Button.js"; import { InternationalizationAPI, memoryMap, @@ -207,14 +208,8 @@ export function useLocalNotification(): [ type HandlerMaker = <T extends OperationResult<A, B>, A, B>( onClick: () => Promise<T | undefined>, - onOperationSuccess: - | ((result: T extends OperationOk<any> ? T : never) => void) - | (( - result: T extends OperationOk<any> ? T : never, - ) => TranslatedString | undefined), - onOperationFail: ( - d: T extends OperationFail<any> ? T : never, - ) => TranslatedString, + onOperationSuccess: OnOperationSuccesReturnType<T>, + onOperationFail: OnOperationFailReturnType<T>, onOperationComplete?: () => void, ) => ButtonHandler<T, A, B>; @@ -235,14 +230,8 @@ export function useLocalNotificationHandler(): [ function makeHandler<T extends OperationResult<A, B>, A, B>( onClick: () => Promise<T | undefined>, - onOperationSuccess: - | ((result: T extends OperationOk<any> ? T : never) => void) - | (( - result: T extends OperationOk<any> ? T : never, - ) => TranslatedString | undefined), - onOperationFail: ( - d: T extends OperationFail<any> ? T : never, - ) => TranslatedString, + onOperationSuccess:OnOperationSuccesReturnType<T>, + onOperationFail: OnOperationFailReturnType<T>, onOperationComplete?: () => void, ): ButtonHandler<T, A, B> { return { |