Compare commits

...

2 commits

Author SHA1 Message Date
Nathan Lamy
aa88fbda44 chore: fix notification events
All checks were successful
Deploy to Netlify / Deploy to Netlify (push) Successful in 1m26s
2025-08-20 12:46:53 +02:00
Nathan Lamy
2e12b2cec7 chore: fix a sync issue 2025-08-20 12:41:17 +02:00

View file

@ -98,7 +98,10 @@ export default function NotificationSettings() {
try { try {
const result = await registerNotification(); const result = await registerNotification();
if ("error" in result && result.error) { if ("error" in result && result.error) {
console.error("Failed to unregister previous notifications:", result.error); console.error(
"Failed to unregister previous notifications:",
result.error
);
} else { } else {
setPushEnabled(true); setPushEnabled(true);
} }
@ -129,10 +132,15 @@ export default function NotificationSettings() {
const currentSubscriptionId = localStorage.getItem(STORAGE_KEY); const currentSubscriptionId = localStorage.getItem(STORAGE_KEY);
const currentSubscription = notifications.find( const currentSubscription = notifications.find(
(sub) => sub.id === currentSubscriptionId (sub) => sub.id.toString() === currentSubscriptionId
); );
useEffect(() => { useEffect(() => {
setEvents(currentSubscription?.events || []); setEvents(currentSubscription?.events || []);
// Remove pushEnabled if no current subscription (i.e., user unsubscribed)
if (!isLoading && !isError && pushEnabled && !currentSubscription) {
setPushEnabled(false);
localStorage.removeItem(STORAGE_KEY);
}
}, [currentSubscription]); }, [currentSubscription]);
async function handleDelete(subscriptionId: string) { async function handleDelete(subscriptionId: string) {
@ -221,9 +229,9 @@ export default function NotificationSettings() {
{currentSubscription && ( {currentSubscription && (
<Card> <Card>
<CardHeader> <CardHeader>
<CardTitle>Select Notification Events</CardTitle> <CardTitle>Configurer vos notifications</CardTitle>
<CardDescription> <CardDescription>
Choose which events you want to receive notifications for Choisissez les événements qui déclencheront une notification.
</CardDescription> </CardDescription>
</CardHeader> </CardHeader>
<CardContent> <CardContent>
@ -257,7 +265,7 @@ export default function NotificationSettings() {
onClick={() => onClick={() =>
updateSubscription( updateSubscription(
currentSubscription.id, currentSubscription.id,
events.map((event) => event.id) events.filter((e) => e.enabled).map((e) => e.id)
) )
.then(() => { .then(() => {
toast.success( toast.success(