Browse Source

feat: added delay to toast appearing to avoid conflicting with messages/node loading.

pull/360/head
Dan Ditomaso 1 year ago
parent
commit
cbabcd4782
  1. 62
      src/core/hooks/useKeyBackupReminder.tsx

62
src/core/hooks/useKeyBackupReminder.tsx

@ -17,6 +17,8 @@ interface ReminderState {
lastShown: string; lastShown: string;
} }
const TOAST_DELAY = 10000;
export function useBackupReminder({ export function useBackupReminder({
suppressDays = 365, suppressDays = 365,
message = "It's time to back up your key data. Would you like to do this now?", message = "It's time to back up your key data. Would you like to do this now?",
@ -47,35 +49,37 @@ export function useBackupReminder({
useEffect(() => { useEffect(() => {
if (!reminderState) { if (!reminderState) {
const { dismiss: dimissToast } = toast({ setTimeout(() => {
title: "Backup Reminder", const { dismiss: dimissToast } = toast({
description: message, title: "Backup Reminder",
action: ( description: message,
<div className="flex gap-2"> action: (
<Button <div className="flex gap-2">
type="button" <Button
variant={"default"} type="button"
onClick={async () => { variant={"default"}
await onAccept(); onClick={async () => {
dimissToast() await onAccept();
suppressReminder(); dimissToast()
}} suppressReminder();
> }}
Back up now >
</Button> Back up now
<Button </Button>
type="button" <Button
variant={"outline"} type="button"
onClick={() => { variant={"outline"}
dimissToast(); onClick={() => {
suppressReminder(); dimissToast();
}} suppressReminder();
> }}
Remind me later >
</Button> Remind me later
</div> </Button>
), </div>
}); ),
});
}, TOAST_DELAY);
} }
}, [reminderState]); }, [reminderState]);

Loading…
Cancel
Save