From 66123e2876b3073de1ca84d3f0507eca58a3f068 Mon Sep 17 00:00:00 2001 From: Manav Rathi Date: Wed, 9 Oct 2024 17:09:45 +0530 Subject: [PATCH] Allow passing args --- .../new/photos/components/use-wrap-async.tsx | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/web/packages/new/photos/components/use-wrap-async.tsx b/web/packages/new/photos/components/use-wrap-async.tsx index 136a03ab4b..608ee75f87 100644 --- a/web/packages/new/photos/components/use-wrap-async.tsx +++ b/web/packages/new/photos/components/use-wrap-async.tsx @@ -12,16 +12,21 @@ import { useAppContext } from "../types/context"; * The global activity indicator and error alert triggering mechanism is * obtained from the app context. */ -export const useWrapAsyncOperation = (f: () => Promise) => { +export const useWrapAsyncOperation = ( + f: (...args: T) => Promise, +) => { const { startLoading, finishLoading, onGenericError } = useAppContext(); - return React.useCallback(async () => { - startLoading(); - try { - await f(); - } catch (e) { - onGenericError(e); - } finally { - finishLoading(); - } - }, [f, startLoading, finishLoading, onGenericError]); + return React.useCallback( + async (...args: T) => { + startLoading(); + try { + await f(...args); + } catch (e) { + onGenericError(e); + } finally { + finishLoading(); + } + }, + [f, startLoading, finishLoading, onGenericError], + ); };