fix: revert closeOnBlur changes
This commit is contained in:
@@ -10,7 +10,7 @@ type Props = {
|
|||||||
|
|
||||||
const NotesContextMenu = observer(({ appState }: Props) => {
|
const NotesContextMenu = observer(({ appState }: Props) => {
|
||||||
const contextMenuRef = useRef<HTMLDivElement>();
|
const contextMenuRef = useRef<HTMLDivElement>();
|
||||||
const [closeOnBlur, blurLocked, setLockCloseOnBlur] = useCloseOnBlur(
|
const [closeOnBlur, setLockCloseOnBlur] = useCloseOnBlur(
|
||||||
contextMenuRef,
|
contextMenuRef,
|
||||||
(open: boolean) => appState.notes.setContextMenuOpen(open)
|
(open: boolean) => appState.notes.setContextMenuOpen(open)
|
||||||
);
|
);
|
||||||
@@ -37,7 +37,6 @@ const NotesContextMenu = observer(({ appState }: Props) => {
|
|||||||
<NotesOptions
|
<NotesOptions
|
||||||
appState={appState}
|
appState={appState}
|
||||||
closeOnBlur={closeOnBlur}
|
closeOnBlur={closeOnBlur}
|
||||||
blurLocked={blurLocked}
|
|
||||||
setLockCloseOnBlur={setLockCloseOnBlur}
|
setLockCloseOnBlur={setLockCloseOnBlur}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -12,18 +12,20 @@ import {
|
|||||||
type Props = {
|
type Props = {
|
||||||
appState: AppState;
|
appState: AppState;
|
||||||
closeOnBlur: (event: { relatedTarget: EventTarget | null }) => void;
|
closeOnBlur: (event: { relatedTarget: EventTarget | null }) => void;
|
||||||
blurLocked: boolean;
|
|
||||||
setLockCloseOnBlur: (lock: boolean) => void;
|
setLockCloseOnBlur: (lock: boolean) => void;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const NotesOptions = observer(
|
export const NotesOptions = observer(
|
||||||
({ appState, closeOnBlur, blurLocked, setLockCloseOnBlur }: Props) => {
|
({ appState, closeOnBlur, setLockCloseOnBlur }: Props) => {
|
||||||
const [tagsMenuOpen, setTagsMenuOpen] = useState(false);
|
const [tagsMenuOpen, setTagsMenuOpen] = useState(false);
|
||||||
const [tagsMenuPosition, setTagsMenuPosition] = useState({
|
const [tagsMenuPosition, setTagsMenuPosition] = useState({
|
||||||
top: 0,
|
top: 0,
|
||||||
right: 0,
|
right: 0,
|
||||||
});
|
});
|
||||||
const [shouldTrashNotes, setShouldTrashNotes] = useState(false);
|
const [lockedBlurAction, setLockedBlurAction] = useState<
|
||||||
|
Promise<void> | null
|
||||||
|
>(null);
|
||||||
|
const [shouldRunLockedBlurAction, setShouldRunLockedBlurAction] = useState(false);
|
||||||
|
|
||||||
const notes = Object.values(appState.notes.selectedNotes);
|
const notes = Object.values(appState.notes.selectedNotes);
|
||||||
const hidePreviews = !notes.some((note) => !note.hidePreview);
|
const hidePreviews = !notes.some((note) => !note.hidePreview);
|
||||||
@@ -41,23 +43,6 @@ export const NotesOptions = observer(
|
|||||||
'cursor-pointer hover:bg-contrast color-text bg-transparent px-3 ' +
|
'cursor-pointer hover:bg-contrast color-text bg-transparent px-3 ' +
|
||||||
'text-left';
|
'text-left';
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
const openTrashAlert = async () => {
|
|
||||||
if (shouldTrashNotes && blurLocked) {
|
|
||||||
setShouldTrashNotes(false);
|
|
||||||
await appState.notes.setTrashSelectedNotes(!trashed, trashButtonRef);
|
|
||||||
setLockCloseOnBlur(false);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
openTrashAlert();
|
|
||||||
}, [
|
|
||||||
appState.notes,
|
|
||||||
blurLocked,
|
|
||||||
setLockCloseOnBlur,
|
|
||||||
shouldTrashNotes,
|
|
||||||
trashed,
|
|
||||||
]);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Switch
|
<Switch
|
||||||
@@ -186,7 +171,8 @@ export const NotesOptions = observer(
|
|||||||
onBlur={closeOnBlur}
|
onBlur={closeOnBlur}
|
||||||
className={`${buttonClass} py-1.5`}
|
className={`${buttonClass} py-1.5`}
|
||||||
onClick={async () => {
|
onClick={async () => {
|
||||||
setShouldTrashNotes(true);
|
setLockCloseOnBlur(true);
|
||||||
|
await appState.notes.setTrashSelectedNotes(!trashed, trashButtonRef);
|
||||||
setLockCloseOnBlur(true);
|
setLockCloseOnBlur(true);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export const NotesOptionsPanel = observer(({ appState }: Props) => {
|
|||||||
});
|
});
|
||||||
const buttonRef = useRef<HTMLButtonElement>();
|
const buttonRef = useRef<HTMLButtonElement>();
|
||||||
const panelRef = useRef<HTMLDivElement>();
|
const panelRef = useRef<HTMLDivElement>();
|
||||||
const [closeOnBlur, blurLocked, setLockCloseOnBlur] = useCloseOnBlur(panelRef, setOpen);
|
const [closeOnBlur, setLockCloseOnBlur] = useCloseOnBlur(panelRef, setOpen);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Disclosure
|
<Disclosure
|
||||||
@@ -71,7 +71,6 @@ export const NotesOptionsPanel = observer(({ appState }: Props) => {
|
|||||||
<NotesOptions
|
<NotesOptions
|
||||||
appState={appState}
|
appState={appState}
|
||||||
closeOnBlur={closeOnBlur}
|
closeOnBlur={closeOnBlur}
|
||||||
blurLocked={blurLocked}
|
|
||||||
setLockCloseOnBlur={setLockCloseOnBlur}
|
setLockCloseOnBlur={setLockCloseOnBlur}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ export function useCloseOnBlur(
|
|||||||
setOpen: (open: boolean) => void
|
setOpen: (open: boolean) => void
|
||||||
): [
|
): [
|
||||||
(event: { relatedTarget: EventTarget | null }) => void,
|
(event: { relatedTarget: EventTarget | null }) => void,
|
||||||
boolean,
|
|
||||||
StateUpdater<boolean>
|
StateUpdater<boolean>
|
||||||
] {
|
] {
|
||||||
const [locked, setLocked] = useState(false);
|
const [locked, setLocked] = useState(false);
|
||||||
@@ -27,7 +26,6 @@ export function useCloseOnBlur(
|
|||||||
},
|
},
|
||||||
[container, setOpen, locked]
|
[container, setOpen, locked]
|
||||||
),
|
),
|
||||||
locked,
|
|
||||||
setLocked,
|
setLocked,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user