"use client"; import type { z } from "zod"; import { createContext, useContext } from "react"; import type { BookmarksLayoutTypes, zUserLocalSettings } from "./types"; const defaultLayout: BookmarksLayoutTypes = "masonry"; export const UserLocalSettingsCtx = createContext< z.infer >({ bookmarkGridLayout: defaultLayout, }); function useUserLocalSettings() { return useContext(UserLocalSettingsCtx); } export function useBookmarkLayout() { const settings = useUserLocalSettings(); return settings.bookmarkGridLayout; } export function bookmarkLayoutSwitch( layout: BookmarksLayoutTypes, data: Record, ) { return data[layout]; } export function useBookmarkLayoutSwitch( data: Record, ) { const layout = useBookmarkLayout(); return data[layout]; }