mirror of
https://github.com/webstudio-is/webstudio.git
synced 2026-11-08 21:15:18 +09:00
17 lines
588 B
TypeScript
17 lines
588 B
TypeScript
import { createCookie } from "@remix-run/node";
|
|
import type { ColorScheme, ThemeSetting } from "./types";
|
|
|
|
const cookieNamespace = "theme";
|
|
|
|
export const themeCookieParser = createCookie(cookieNamespace);
|
|
|
|
export const getThemeData = async (
|
|
request: Request
|
|
): Promise<{ system?: ColorScheme; setting?: ThemeSetting }> => {
|
|
const system = (request.headers.get("Sec-CH-Prefers-Color-Scheme") ??
|
|
undefined) as ColorScheme | undefined;
|
|
const setting: ThemeSetting =
|
|
(await themeCookieParser.parse(request.headers.get("Cookie"))) ?? undefined;
|
|
return { system, setting };
|
|
};
|