mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-01-05 01:32:47 +00:00
Refactor slightly
This commit is contained in:
@@ -5,25 +5,16 @@ const { useState, useRef, useEffect } = React;
|
|||||||
|
|
||||||
function Dialog({ dismissKey, closeText = 'Close', blocking = false, ...rest }) {
|
function Dialog({ dismissKey, closeText = 'Close', blocking = false, ...rest }) {
|
||||||
const dialogRef = useRef(null);
|
const dialogRef = useRef(null);
|
||||||
const [open, setOpen] = useState(false);
|
|
||||||
|
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
if(!localStorage.getItem(dismissKey)) {
|
if(!dismissKey || !localStorage.getItem(dismissKey)) {
|
||||||
!open && setOpen(true);
|
blocking ? dialogRef.current?.showModal() : dialogRef.current?.show();
|
||||||
}
|
}
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
useEffect(()=>{
|
|
||||||
if(open && !dialogRef.current?.open){
|
|
||||||
blocking ? dialogRef.current?.showModal() : dialogRef.current?.show();
|
|
||||||
} else {
|
|
||||||
dialogRef.current?.close();
|
|
||||||
}
|
|
||||||
}, [open]);
|
|
||||||
|
|
||||||
const dismiss = ()=>{
|
const dismiss = ()=>{
|
||||||
dismissKey && localStorage.setItem(dismissKey, true);
|
dismissKey && localStorage.setItem(dismissKey, true);
|
||||||
setOpen(false);
|
dialogRef.current?.close();
|
||||||
};
|
};
|
||||||
|
|
||||||
return <dialog ref={dialogRef} onCancel={dismiss} {...rest}>
|
return <dialog ref={dialogRef} onCancel={dismiss} {...rest}>
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
dialog{
|
|
||||||
&[open]{
|
|
||||||
// Do NOT set a display property on a dialog! Set it on dialog[open] instead
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user