1. TSX
export const Modal: Component<Properties> = (properties) => {
let dialogReference: HTMLDialogElement | undefined;
const answer = createSignal(42)
createEffect(() => {
const emoji = properties.emoji();
if (dialogReference === undefined || emoji === undefined) {
return;
}
dialogReference.showModal();
});
return (
<Show when={properties.emoji() !== undefined}>
<dialog ref={dialogReference}>
<Emoji emoji={properties.emoji()!} disableSelection={true} />
<p>And the correct answer is: {answer()}</p>
<div class={styles.buttons}>
<Button onClick={properties.onSelection}>Add to Selection</Button>
<Button onClick={properties.onClose}>CLose</Button>
</div>
</dialog>
</Show>
);
};