From 268dd6812b1976f2041a708fcbfef18442af8901 Mon Sep 17 00:00:00 2001 From: yassinedorbozgithub Date: Tue, 4 Feb 2025 16:54:28 +0100 Subject: [PATCH] fix(frontend): add dialog extra props --- .../dialogs/confirm/ConfirmDialog.tsx | 14 +++++++++++--- frontend/src/components/categories/index.tsx | 6 ++---- frontend/src/contexts/dialogs.context.tsx | 4 +++- frontend/src/hooks/useDialogs.ts | 18 ++++++++++++++++-- frontend/src/types/common/dialogs.types.ts | 7 ++++++- 5 files changed, 38 insertions(+), 11 deletions(-) diff --git a/frontend/src/app-components/dialogs/confirm/ConfirmDialog.tsx b/frontend/src/app-components/dialogs/confirm/ConfirmDialog.tsx index 37985cee..e83d32b7 100644 --- a/frontend/src/app-components/dialogs/confirm/ConfirmDialog.tsx +++ b/frontend/src/app-components/dialogs/confirm/ConfirmDialog.tsx @@ -13,7 +13,7 @@ import { DialogContent, Grid, } from "@mui/material"; -import { FC, ReactNode } from "react"; +import { cloneElement, FC, ReactNode } from "react"; import { useTranslate } from "@/hooks/useTranslate"; import { ConfirmOptions, DialogProps } from "@/types/common/dialogs.types"; @@ -27,12 +27,20 @@ export interface ConfirmDialogPayload extends ConfirmOptions { } export interface ConfirmDialogProps - extends DialogProps {} + extends DialogProps { + mode?: "selection" | "click"; + count?: number; +} export const ConfirmDialog: FC = ({ payload, ...rest }) => { const { t } = useTranslate(); const cancelButtonProps = useDialogLoadingButton(() => rest.onClose(false)); const okButtonProps = useDialogLoadingButton(() => rest.onClose(true)); + // @ts-ignore + const messageReactNode = cloneElement(payload.msg, { + mode: rest.mode, + count: rest.count, + }); return ( = ({ payload, ...rest }) => { rest.onClose(false)}> {payload.title || t("title.warning")} - {payload.msg} + {messageReactNode}