aboutsummaryrefslogtreecommitdiffstats
path: root/apps/web/lib/userLocalSettings/userLocalSettings.ts
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2024-04-14 00:51:56 +0300
committerGitHub <noreply@github.com>2024-04-14 00:51:56 +0300
commit4f17ea61cbb11a72712a1ea8c98904a1cc513e41 (patch)
tree4f1dd775e25feb3495ddb208c5fe4aa03c66fe3a /apps/web/lib/userLocalSettings/userLocalSettings.ts
parentcf0df0e6d84a76649d8cbf8adcbf83efb6e883ab (diff)
downloadkarakeep-4f17ea61cbb11a72712a1ea8c98904a1cc513e41.tar.zst
feature(web): Allow changing the bookmark grid layout (#98)
Diffstat (limited to 'apps/web/lib/userLocalSettings/userLocalSettings.ts')
-rw-r--r--apps/web/lib/userLocalSettings/userLocalSettings.ts18
1 files changed, 18 insertions, 0 deletions
diff --git a/apps/web/lib/userLocalSettings/userLocalSettings.ts b/apps/web/lib/userLocalSettings/userLocalSettings.ts
new file mode 100644
index 00000000..8b39d0d6
--- /dev/null
+++ b/apps/web/lib/userLocalSettings/userLocalSettings.ts
@@ -0,0 +1,18 @@
+"use server";
+
+import { cookies } from "next/headers";
+
+import type { BookmarksLayoutTypes } from "./types";
+import {
+ parseUserLocalSettings,
+ USER_LOCAL_SETTINGS_COOKIE_NAME,
+} from "./types";
+
+export async function updateBookmarksLayout(layout: BookmarksLayoutTypes) {
+ const userSettings = cookies().get(USER_LOCAL_SETTINGS_COOKIE_NAME);
+ const parsed = parseUserLocalSettings(userSettings?.value);
+ cookies().set(
+ USER_LOCAL_SETTINGS_COOKIE_NAME,
+ JSON.stringify({ ...parsed, bookmarkGridLayout: layout }),
+ );
+}