aboutsummaryrefslogtreecommitdiffstats
path: root/apps/web/lib
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/lib')
-rw-r--r--apps/web/lib/i18n/locales/en/translation.json7
-rw-r--r--apps/web/lib/userLocalSettings/bookmarksLayout.tsx6
-rw-r--r--apps/web/lib/userLocalSettings/types.ts3
-rw-r--r--apps/web/lib/userLocalSettings/userLocalSettings.ts12
4 files changed, 27 insertions, 1 deletions
diff --git a/apps/web/lib/i18n/locales/en/translation.json b/apps/web/lib/i18n/locales/en/translation.json
index 9b40416d..5aa2913d 100644
--- a/apps/web/lib/i18n/locales/en/translation.json
+++ b/apps/web/lib/i18n/locales/en/translation.json
@@ -52,7 +52,12 @@
"layout": "Layout",
"columns": "Columns",
"display_options": "Display Options",
- "show_note_previews": "Show Notes"
+ "show_note_previews": "Show Notes",
+ "show_tags": "Show Tags",
+ "show_title": "Show Title",
+ "image_options": "Image Options",
+ "image_fit_cover": "Cover (Fill)",
+ "image_fit_contain": "Contain (Fit)"
},
"actions": {
"change_layout": "Change Layout",
diff --git a/apps/web/lib/userLocalSettings/bookmarksLayout.tsx b/apps/web/lib/userLocalSettings/bookmarksLayout.tsx
index 504d8d8c..3bd77e4a 100644
--- a/apps/web/lib/userLocalSettings/bookmarksLayout.tsx
+++ b/apps/web/lib/userLocalSettings/bookmarksLayout.tsx
@@ -15,6 +15,9 @@ export const UserLocalSettingsCtx = createContext<
lang: fallbackLng,
gridColumns: 3,
showNotes: false,
+ showTags: true,
+ showTitle: true,
+ imageFit: "cover",
});
function useUserLocalSettings() {
@@ -25,6 +28,9 @@ export function useBookmarkDisplaySettings() {
const settings = useUserLocalSettings();
return {
showNotes: settings.showNotes,
+ showTags: settings.showTags,
+ showTitle: settings.showTitle,
+ imageFit: settings.imageFit,
};
}
diff --git a/apps/web/lib/userLocalSettings/types.ts b/apps/web/lib/userLocalSettings/types.ts
index 54b75b80..949c9229 100644
--- a/apps/web/lib/userLocalSettings/types.ts
+++ b/apps/web/lib/userLocalSettings/types.ts
@@ -10,6 +10,9 @@ export const zUserLocalSettings = z.object({
lang: z.string().optional().default("en"),
gridColumns: z.number().min(1).max(6).optional().default(3),
showNotes: z.boolean().optional().default(false),
+ showTags: z.boolean().optional().default(true),
+ showTitle: z.boolean().optional().default(true),
+ imageFit: z.enum(["cover", "contain"]).optional().default("cover"),
});
export type UserLocalSettings = z.infer<typeof zUserLocalSettings>;
diff --git a/apps/web/lib/userLocalSettings/userLocalSettings.ts b/apps/web/lib/userLocalSettings/userLocalSettings.ts
index aff3645c..55070cd6 100644
--- a/apps/web/lib/userLocalSettings/userLocalSettings.ts
+++ b/apps/web/lib/userLocalSettings/userLocalSettings.ts
@@ -46,3 +46,15 @@ export async function updateGridColumns(gridColumns: number) {
export async function updateShowNotes(showNotes: boolean) {
await readModifyWrite(() => ({ showNotes }));
}
+
+export async function updateShowTags(showTags: boolean) {
+ await readModifyWrite(() => ({ showTags }));
+}
+
+export async function updateShowTitle(showTitle: boolean) {
+ await readModifyWrite(() => ({ showTitle }));
+}
+
+export async function updateImageFit(imageFit: "cover" | "contain") {
+ await readModifyWrite(() => ({ imageFit }));
+}