diff --git a/src/components/Nav/Modal/Modal.tsx b/src/components/Nav/Modal/Modal.tsx
index 452f66cc..43868240 100644
--- a/src/components/Nav/Modal/Modal.tsx
+++ b/src/components/Nav/Modal/Modal.tsx
@@ -1,28 +1,27 @@
-import { createEffect, createSignal, Show } from 'solid-js'
+import { createEffect, createMemo, createSignal, Show } from 'solid-js'
import type { JSX } from 'solid-js'
import { clsx } from 'clsx'
-
import { hideModal, useModalStore } from '../../../stores/ui'
import { useEscKeyDownHandler } from '../../../utils/useEscKeyDownHandler'
import styles from './Modal.module.scss'
-interface ModalProps {
+interface Props {
name: string
variant: 'narrow' | 'wide'
children: JSX.Element
onClose?: () => void
noPadding?: boolean
maxHeight?: boolean
+ allowClose?: boolean
}
-export const Modal = (props: ModalProps) => {
+export const Modal = (props: Props) => {
const { modal } = useModalStore()
-
const [visible, setVisible] = createSignal(false)
-
+ const allowClose = createMemo(() => props.allowClose !== false)
const handleHide = () => {
- if (modal()) {
+ if (modal() && allowClose()) {
hideModal()
props.onClose && props.onClose()
}
@@ -46,20 +45,22 @@ export const Modal = (props: ModalProps) => {
onClick={(event) => event.stopPropagation()}
>
{props.children}
-
+
+
+