diff options
Diffstat (limited to 'apps/web/lib/searchParams.ts')
| -rw-r--r-- | apps/web/lib/searchParams.ts | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/apps/web/lib/searchParams.ts b/apps/web/lib/searchParams.ts new file mode 100644 index 00000000..9899eaf7 --- /dev/null +++ b/apps/web/lib/searchParams.ts @@ -0,0 +1,26 @@ +import { + createSearchParamsCache, + parseAsInteger, + parseAsString, + parseAsBoolean, + parseAsArrayOf, + parseAsJson, +} from "nuqs/server"; +import { z } from "zod"; + +export const homeSearchParamsCache = createSearchParamsCache({ + firstTime: parseAsBoolean.withDefault(false), +}); + +export const chatSearchParamsCache = createSearchParamsCache({ + firstTime: parseAsBoolean.withDefault(false), + q: parseAsString.withDefault(""), + spaces: parseAsArrayOf( + parseAsJson(() => + z.object({ + id: z.string(), + name: z.string(), + }), + ), + ).withDefault([]), +}); |