Set theme in middleware
This commit is contained in:
parent
2920b164e1
commit
07e810156f
@ -106,4 +106,32 @@ async function setHeaders(context: RequestContext) {
|
|||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const onRequest = [setAuth, constructHTML, setBody, setHeaders];
|
async function setTheme(context: RequestContext) {
|
||||||
|
const cookies = context.request.headers.get("cookie");
|
||||||
|
|
||||||
|
if (!cookies) {
|
||||||
|
context.data.theme = "dark";
|
||||||
|
return await context.next();
|
||||||
|
}
|
||||||
|
|
||||||
|
const cookieList = cookies.split("; ");
|
||||||
|
|
||||||
|
const value = cookieList.find((c) => {
|
||||||
|
if (!c.startsWith("chakra-ui-color-mode")) return false;
|
||||||
|
|
||||||
|
return c.split("=")[1];
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!value) context.data.theme = "dark";
|
||||||
|
else context.data.theme = value;
|
||||||
|
|
||||||
|
return await context.next();
|
||||||
|
}
|
||||||
|
|
||||||
|
export const onRequest = [
|
||||||
|
setAuth,
|
||||||
|
setTheme,
|
||||||
|
constructHTML,
|
||||||
|
setBody,
|
||||||
|
setHeaders,
|
||||||
|
];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user