diff options
author | Eric Bailey <git@esb.lol> | 2024-09-11 21:56:20 -0500 |
---|---|---|
committer | Eric Bailey <git@esb.lol> | 2024-09-11 21:56:20 -0500 |
commit | c99e43d6c625ed7d0bb4f1d25026512460445bef (patch) | |
tree | c56a43755503dc020eba9fd0d66e68d3cf4e3102 /src/components/dialogs/nuxs/index.tsx | |
parent | 45c8d89d9212bf7160317185f8418bdebbf3b617 (diff) | |
download | voidsky-c99e43d6c625ed7d0bb4f1d25026512460445bef.tar.zst |
Protect against other exit methods, protect against multiple fetches
Diffstat (limited to 'src/components/dialogs/nuxs/index.tsx')
-rw-r--r-- | src/components/dialogs/nuxs/index.tsx | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/components/dialogs/nuxs/index.tsx b/src/components/dialogs/nuxs/index.tsx index c02af59fc..f60c9e8d0 100644 --- a/src/components/dialogs/nuxs/index.tsx +++ b/src/components/dialogs/nuxs/index.tsx @@ -49,14 +49,7 @@ function Inner() { const dismissActiveNux = React.useCallback(() => { if (!activeNux) return setActiveNux(undefined) - const nux = nuxs?.find(nux => nux.id === activeNux) - upsertNux({ - id: activeNux, - completed: true, - data: nux?.data, - expiresAt: nux?.expiresAt, - }) - }, [activeNux, setActiveNux, upsertNux, nuxs]) + }, [activeNux, setActiveNux]) if (IS_DEV && typeof window !== 'undefined') { // @ts-ignore @@ -77,12 +70,18 @@ function Inner() { if (nux && nux.completed) continue setActiveNux(id) - // snooze immediately upon enabling + // immediately snooze (in memory) snoozeNuxDialog() + // immediately update remote data + upsertNux({ + id, + completed: true, + data: undefined, + }) break } - }, [nuxs, snoozed, snoozeNuxDialog]) + }, [nuxs, snoozed, snoozeNuxDialog, upsertNux]) const ctx = React.useMemo(() => { return { |