Set theme in middleware
This commit is contained in:
parent
2920b164e1
commit
07e810156f
@ -106,4 +106,32 @@ async function setHeaders(context: RequestContext) {
|
||||
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