export default defineNitroPlugin((nitroApp) => { nitroApp.hooks.hook("render:html", (html, { event }) => { try { const cookies = parseCookies(event); if (cookies && cookies["color-mode"]) { const theme = JSON.parse(cookies["color-mode"]); html.htmlAttrs.push(`class="${theme.value}-mode"`); } else { html.htmlAttrs.push(`class="dark-mode"`); } // Reset cookie attributes to correct ones if (cookies) { const opts = { maxAge: 60 * 60 * 24 * 365 * 10, sameSite: "lax", secure: true, httpOnly: false, path: "/", }; if (cookies["auth-token"]) { setCookie(event, "auth-token", cookies["auth-token"], opts); } if (cookies["color-mode"]) { setCookie(event, "color-mode", cookies["color-mode"], opts); } if (cookies.cosmetics) { setCookie(event, "cosmetics", cookies.cosmetics, opts); } } } catch (err) { console.error(err); } }); });