/* 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;
}