1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
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: parseAsJson((c) => {
const valid = z
.array(
z.object({
id: z.number(),
name: z.string(),
}),
)
.safeParse(c);
if (!valid.success) {
console.log("invalid spaces", valid.error);
return null;
}
return valid.data;
}),
proMode: parseAsBoolean.withDefault(false),
});
|