diff --git a/src/renderer/components/modal/modal.component.tsx b/src/renderer/components/modal/modal.component.tsx index 76555fcb..64968a31 100644 --- a/src/renderer/components/modal/modal.component.tsx +++ b/src/renderer/components/modal/modal.component.tsx @@ -74,9 +74,9 @@ export function Modal() { return ( - {currentModal ? : undefined} + {currentModal ? : undefined} {modals?.map(modal => ( - + {renderModal(modal)} ))} diff --git a/src/renderer/services/modale.service.ts b/src/renderer/services/modale.service.ts index 2ff9e6f9..6360995b 100644 --- a/src/renderer/services/modale.service.ts +++ b/src/renderer/services/modale.service.ts @@ -24,7 +24,7 @@ export class ModalService { const promise = new Promise>(resolve => { resolver = resolve as (value: ModalResponse | PromiseLike) => void; }); - const modalObj = {modal: modal as ModalComponent, resolver, options}; + const modalObj = {id: crypto.randomUUID(), modal: modal as ModalComponent, resolver, options}; this._modalToShow$.next([...this._modalToShow$.getValue(), modalObj]); promise.then(() => { @@ -41,7 +41,7 @@ export class ModalService { export type ModalOptions = { readonly data?: T, readonly noStyle?: boolean, readonly closable?: boolean } export type ModalComponent = ({ resolver, options }: { readonly resolver: (x: ModalResponse) => void; readonly options?: ModalOptions }) => JSX.Element; -export type ModalObject = {modal: ModalComponent, resolver: (value: ModalResponse | PromiseLike) => void, options: ModalOptions}; +export type ModalObject = {id: string, modal: ModalComponent, resolver: (value: ModalResponse | PromiseLike) => void, options: ModalOptions}; export const enum ModalExitCode { NO_CHOICE = -1,