No description
- /admin: password-protected admin login (8-hour session cookie) - /admin/dashboard: full inquiries table + announcement management - Announcements: create promos with title, body, optional CTA button, optional expiry date; toggle active/inactive; delete - Homepage: queries active non-expired announcement from D1 and renders a dismissible orange banner (localStorage persists per-announcement) - D1 migration 004_announcements.sql: announcements table + index Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| migrations | ||
| src | ||
| .gitignore | ||
| google-apps-script.js | ||
| package-lock.json | ||
| package.json | ||
| wrangler.toml | ||