blob: d0a547578e7bf1c7f2262530c418ceb2ffec9aae (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
import type { JSX } from "solid-js";
interface ModalProps {
title: string;
onClose: () => void;
children: JSX.Element;
}
export default function Modal(props: ModalProps) {
function handleBackdrop(event: MouseEvent) {
if (event.target === event.currentTarget) {
props.onClose();
}
}
return (
<div class="modal-backdrop" onClick={handleBackdrop}>
<div class="modal-content">
<div class="modal-header">
<span class="modal-title">{props.title}</span>
<button type="button" class="modal-close" onClick={props.onClose}>×</button>
</div>
<div class="modal-body">
{props.children}
</div>
</div>
</div>
);
}
|