aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Database
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-04-28 23:43:57 -0700
committerFuwn <[email protected]>2024-04-28 23:43:57 -0700
commit8123a6fe99e01e93b480f036dfee262139e33ae8 (patch)
treedf8a2841c85553c5f90f072bf7f95062fbe68030 /src/lib/Database
parentfeat(display): move schedule to text toggle section (diff)
downloaddue.moe-8123a6fe99e01e93b480f036dfee262139e33ae8.tar.xz
due.moe-8123a6fe99e01e93b480f036dfee262139e33ae8.zip
feat(badges): allow awc badges hiding
Diffstat (limited to 'src/lib/Database')
-rw-r--r--src/lib/Database/userPreferences.ts14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/lib/Database/userPreferences.ts b/src/lib/Database/userPreferences.ts
index a98d13ec..4b0e224f 100644
--- a/src/lib/Database/userPreferences.ts
+++ b/src/lib/Database/userPreferences.ts
@@ -8,6 +8,7 @@ export interface UserPreferences {
hide_missing_badges: boolean;
biography: string | null;
badge_wall_css: string;
+ hide_awc_badges: boolean;
}
interface NewUserPreferences {
@@ -16,6 +17,7 @@ interface NewUserPreferences {
hide_missing_badges?: boolean;
badge_wall_css?: string;
biography?: string;
+ hide_awc_badges?: boolean;
}
export const getUserPreferences = async (userId: number) => {
@@ -40,7 +42,8 @@ export const setUserPreferences = async (userId: number, preferences: NewUserPre
hide_missing_badges: preferences.hide_missing_badges || false,
biography: preferences.biography || (userPreferences ? userPreferences.biography : null),
badge_wall_css:
- preferences.badge_wall_css || (userPreferences ? userPreferences.badge_wall_css : '')
+ preferences.badge_wall_css || (userPreferences ? userPreferences.badge_wall_css : ''),
+ hide_awc_badges: preferences.hide_awc_badges || false
},
{ onConflict: 'user_id' }
)
@@ -79,6 +82,15 @@ export const toggleHideMissingBadges = async (userId: number) => {
});
};
+export const toggleHideAWCBadges = async (userId: number) => {
+ const userPreferences = await getUserPreferences(userId);
+
+ return await setUserPreferences(userId, {
+ updated_at: new Date().toISOString(),
+ hide_awc_badges: userPreferences ? !userPreferences.hide_awc_badges : false
+ });
+};
+
export const setCSS = async (userId: number, css: string) => {
const userPreferences = await getUserPreferences(userId);