import { createEffect, createSignal, Setter } from "solid-js"; export class ConfirmationBoxManager{ private _confirmationBoxCallback = () => {}; private _setConfirmationBoxText: Setter constructor(){ let [ confirmationBoxText, setConfirmationBoxText ] = createSignal(''); this._setConfirmationBoxText = setConfirmationBoxText; let confirmationBox: HTMLElement; document.body.appendChild(
confirmationBox = el}>
{ confirmationBoxText() }

{ this._confirmationBoxCallback(); setConfirmationBoxText('') }}>Confirm
setConfirmationBoxText('') }>Deny
as HTMLElement); createEffect(() => { if(confirmationBoxText() !== ''){ confirmationBox.style.display = 'block'; setTimeout(() => { confirmationBox.style.opacity = '1'; }, 1); } else{ confirmationBox.style.opacity = '0'; setTimeout(() => { confirmationBox.style.display = 'none'; }, 250); } }) } public SetConfirmationBox( text: string, cb: () => void ){ this._setConfirmationBoxText(text); this._confirmationBoxCallback = cb; } }