From a7ce4d17a17ea70b3c6804769e6ad13768bb9e95 Mon Sep 17 00:00:00 2001 From: fullsizemalt <106900403+fullsizemalt@users.noreply.github.com> Date: Fri, 26 Dec 2025 17:02:23 -0800 Subject: [PATCH] Wire up notification preferences in settings UI --- frontend/app/settings/page.tsx | 41 ++++++++--------------- frontend/contexts/preferences-context.tsx | 8 +++++ 2 files changed, 22 insertions(+), 27 deletions(-) diff --git a/frontend/app/settings/page.tsx b/frontend/app/settings/page.tsx index 2cb90f2..5de53b6 100644 --- a/frontend/app/settings/page.tsx +++ b/frontend/app/settings/page.tsx @@ -244,7 +244,7 @@ export default function SettingsPage() { - + @@ -307,7 +307,7 @@ export default function SettingsPage() { - + @@ -545,7 +545,7 @@ function DisplaySection({ preferences, updatePreferences }: any) { } // Notifications Section -function NotificationsSection() { +function NotificationsSection({ preferences, updatePreferences }: any) { return ( @@ -554,46 +554,33 @@ function NotificationsSection() { Notifications - Choose what updates you receive + Choose what email notifications you receive { }} - comingSoon + description="Get an email when someone replies to your review or comment" + checked={preferences.email_on_reply ?? true} + onChange={(checked: boolean) => updatePreferences({ email_on_reply: checked })} /> { }} - comingSoon - /> - - - - { }} - comingSoon + label="Chase Song Alerts" + description="Get an email when a song on your chase list gets played at a show" + checked={preferences.email_on_chase ?? true} + onChange={(checked: boolean) => updatePreferences({ email_on_chase: checked })} /> { }} - comingSoon + description="Receive a weekly email with site highlights and new shows" + checked={preferences.email_digest ?? false} + onChange={(checked: boolean) => updatePreferences({ email_digest: checked })} /> diff --git a/frontend/contexts/preferences-context.tsx b/frontend/contexts/preferences-context.tsx index e677018..d41bcb5 100644 --- a/frontend/contexts/preferences-context.tsx +++ b/frontend/contexts/preferences-context.tsx @@ -7,6 +7,10 @@ interface Preferences { wiki_mode: boolean show_ratings: boolean show_comments: boolean + theme: string + email_on_reply: boolean + email_on_chase: boolean + email_digest: boolean } interface PreferencesContextType { @@ -19,6 +23,10 @@ const defaultPreferences: Preferences = { wiki_mode: false, show_ratings: true, show_comments: true, + theme: "system", + email_on_reply: true, + email_on_chase: true, + email_digest: false, } const PreferencesContext = createContext({