(request: Request)
| 16 | }); |
| 17 | |
| 18 | async function getThemeSession(request: Request) { |
| 19 | const session = await themeStorage.getSession(request.headers.get("Cookie")); |
| 20 | return { |
| 21 | getTheme: () => { |
| 22 | const themeValue = session.get("theme"); |
| 23 | return isTheme(themeValue) ? themeValue : "dark"; |
| 24 | }, |
| 25 | setTheme: (theme: Theme) => session.set("theme", theme), |
| 26 | commit: () => themeStorage.commitSession(session), |
| 27 | }; |
| 28 | } |
| 29 | |
| 30 | export { getThemeSession }; |