aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Database
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-04-02 22:28:14 -0700
committerFuwn <[email protected]>2024-04-02 22:28:14 -0700
commit9ab94f20c200f7e79297b9cbb7d654b8fba67115 (patch)
tree5d0b649fc89c24154acd44cde5944acb812b371b /src/lib/Database
parentfeat(layout): announcement feature (diff)
downloaddue.moe-9ab94f20c200f7e79297b9cbb7d654b8fba67115.tar.xz
due.moe-9ab94f20c200f7e79297b9cbb7d654b8fba67115.zip
feat(badges): custom css
Diffstat (limited to 'src/lib/Database')
-rw-r--r--src/lib/Database/userPreferences.ts17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/lib/Database/userPreferences.ts b/src/lib/Database/userPreferences.ts
index aed74e16..b2cc82f2 100644
--- a/src/lib/Database/userPreferences.ts
+++ b/src/lib/Database/userPreferences.ts
@@ -7,12 +7,14 @@ export interface UserPreferences {
pinned_hololive_streams: string[];
hide_missing_badges: boolean;
biography: string | null;
+ badge_wall_css: string;
}
interface NewUserPreferences {
updated_at?: string;
pinned_hololive_streams?: string[];
hide_missing_badges?: boolean;
+ badge_wall_css?: string;
}
export const getUserPreferences = async (userId: number) => {
@@ -35,7 +37,9 @@ export const setUserPreferences = async (userId: number, preferences: NewUserPre
preferences.pinned_hololive_streams ||
(userPreferences ? userPreferences.pinned_hololive_streams : []),
hide_missing_badges: preferences.hide_missing_badges || false,
- biography: userPreferences ? userPreferences.biography : null
+ biography: userPreferences ? userPreferences.biography : null,
+ badge_wall_css:
+ preferences.badge_wall_css || (userPreferences ? userPreferences.badge_wall_css : '')
},
{ onConflict: 'user_id' }
)
@@ -73,3 +77,14 @@ export const toggleHideMissingBadges = async (userId: number) => {
hide_missing_badges: userPreferences ? !userPreferences.hide_missing_badges : false
});
};
+
+export const setCSS = async (userId: number, css: string) => {
+ const userPreferences = await getUserPreferences(userId);
+
+ return await setUserPreferences(userId, {
+ updated_at: new Date().toISOString(),
+ pinned_hololive_streams: userPreferences ? userPreferences.pinned_hololive_streams : [],
+ hide_missing_badges: userPreferences ? userPreferences.hide_missing_badges : false,
+ badge_wall_css: css
+ });
+};