/* eslint-disable @typescript-eslint/ban-types */ import { ContextModalProps } from "@mantine/modals"; import { ModalSettings } from "@mantine/modals/lib/context"; import { createContext, FunctionComponent } from "react"; export type ModalComponent

= {}> = FunctionComponent> & { modalKey: string; settings?: ModalSettings; }; export const StaticModals: ModalComponent[] = []; export const ModalIdContext = createContext(null); export default function withModal( Content: FunctionComponent, key: string, defaultSettings?: ModalSettings ) { const Comp: ModalComponent = (props) => { const { id, innerProps } = props; return ( ); }; Comp.modalKey = key; Comp.settings = defaultSettings; StaticModals.push(Comp as ModalComponent); return Comp; }