diff --git a/libs/remix-ui/app/src/lib/remix-app/interface/index.ts b/libs/remix-ui/app/src/lib/remix-app/interface/index.ts index 0432c71e2d..7338032bc7 100644 --- a/libs/remix-ui/app/src/lib/remix-app/interface/index.ts +++ b/libs/remix-ui/app/src/lib/remix-app/interface/index.ts @@ -2,6 +2,7 @@ import { ModalTypes } from '../types' export interface AppModal { id: string + timestamp?: number hide?: boolean title: string // eslint-disable-next-line no-undef diff --git a/libs/remix-ui/app/src/lib/remix-app/reducer/modals.ts b/libs/remix-ui/app/src/lib/remix-app/reducer/modals.ts index 1572343a42..ccb91eb58e 100644 --- a/libs/remix-ui/app/src/lib/remix-app/reducer/modals.ts +++ b/libs/remix-ui/app/src/lib/remix-app/reducer/modals.ts @@ -5,8 +5,10 @@ import { AppModal, ModalState } from '../interface' export const modalReducer = (state: ModalState = ModalInitialState, action: ModalAction) => { switch (action.type) { case modalActionTypes.setModal: { + const timestamp = Date.now() const focusModal: AppModal = { - id: action.payload.id || Date.now().toString(), + timestamp, + id: action.payload.id || timestamp.toString(), hide: false, title: action.payload.title, message: action.payload.message, diff --git a/libs/remix-ui/modal-dialog/src/lib/remix-ui-modal-dialog.tsx b/libs/remix-ui/modal-dialog/src/lib/remix-ui-modal-dialog.tsx index 714255aa93..80391a5701 100644 --- a/libs/remix-ui/modal-dialog/src/lib/remix-ui-modal-dialog.tsx +++ b/libs/remix-ui/modal-dialog/src/lib/remix-ui-modal-dialog.tsx @@ -20,9 +20,9 @@ export const ModalDialog = (props: ModalDialogProps) => { } useEffect(() => { - calledHideFunctionOnce.current = props.hide + calledHideFunctionOnce.current = false modal.current.focus() - }, [props.hide]) + }, [props.timestamp]) useEffect(() => { function handleBlur (e) { diff --git a/libs/remix-ui/modal-dialog/src/lib/types/index.ts b/libs/remix-ui/modal-dialog/src/lib/types/index.ts index dd12c8e680..91feca5294 100644 --- a/libs/remix-ui/modal-dialog/src/lib/types/index.ts +++ b/libs/remix-ui/modal-dialog/src/lib/types/index.ts @@ -1,6 +1,7 @@ /* eslint-disable no-undef */ export interface ModalDialogProps { id: string + timestamp?: number, title?: string, message?: string | JSX.Element, okLabel?: string,