--- import BaseLayout from '../layouts/BaseLayout.astro'; import { loadSiteData } from '../lib/site-data.ts'; const { siteContext } = loadSiteData(); const secret = import.meta.env.EDITOR_SESSION_SECRET || process.env.EDITOR_SESSION_SECRET || 'dev-secret'; const sessionCookie = Astro.cookies.get('editor_session')?.value; let isAuthed = sessionCookie === secret; if (!isAuthed && Astro.request.method === 'POST') { const formData = await Astro.request.formData(); const password = formData.get('password') as string; const editSecret = import.meta.env.API_EDIT_SECRET || process.env.API_EDIT_SECRET || ''; if (password === editSecret) { Astro.cookies.set('editor_session', secret, { httpOnly: true, sameSite: 'strict', maxAge: 8 * 60 * 60, path: '/', }); isAuthed = true; } } const orchestratorUrl = import.meta.env.PUBLIC_ORCHESTRATOR_URL || process.env.PUBLIC_ORCHESTRATOR_URL || 'http://localhost:3001'; const apiSecret = import.meta.env.API_EDIT_SECRET || process.env.API_EDIT_SECRET || ''; --- {siteContext.businessName} Content Editor {!isAuthed ? (
) : (
)} © {new Date().getFullYear()} {siteContext.businessName} · Editor
{isAuthed && ( )}