Create a theme session resolver
mainTo persist themes across sessions, you must create a themeSessionResolver using createThemeSessionResolver. This requires a session storage instance (e.g., from createCookieSessionStorage).
Note on Production: Ensure domain and secure parameters are only set for production environments. Setting them on localhost may prevent Safari from storing the cookie.
// sessions.server.tsx
import { createThemeSessionResolver } from "remix-themes";
import { createCookieSessionStorage } from "react-router";
const sessionStorage = createCookieSessionStorage({
cookie: {
name: "__remix-themes",
path: "/",
httpOnly: true,
sameSite: "lax",
secrets: ["s3cr3t"],
},
});
export const themeSessionResolver = createThemeSessionResolver(sessionStorage);