Live at castlecheckers.sonandigital.com

Worker and Pages deployed. All migrations applied. Latest commit b2767bf pending push — also update DB color via wrangler after pushing (see Pending Actions).

Build Status

FeatureStatus
Worker API (auth, CRUD, config)✅ Complete + deployed
Migrations 0001–0006 (schema, seed, flight fields, blocked days)✅ Applied to remote DB
Public site (config-driven)✅ Complete
Customer service request wizard✅ Complete — submits to API
Admin login (real PBKDF2 auth)✅ Complete
Employee login portal (phone + PIN)✅ Complete — "Employee" button in public nav
Dashboard✅ Complete — live data from API
Requests inbox + inline edit + convert + delete✅ Complete
Clients CRUD + mobile overlay modal + secure notes✅ Complete
Appointments CRUD + flight fields + auto-switch✅ Complete
Calendar with add/edit/delete✅ Complete
Invoices with line items + print + delete (Draft/Sent only)✅ Complete
Blocked days management✅ Complete (API + AppContext)
Reports + revenue chart✅ Complete
Settings (all fields + password change)✅ Complete
Responsive mobile layout✅ Complete — incl. contact strip, req-edit form, mobile client modal
Navy + Gold theme (#1a3050 primary)✅ Complete — CSS + code fallbacks updated; DB color pending (see below)
Worker deployed to Cloudflare✅ Live — castlecheckers-api.sonandigital.com
Cloudflare Pages project + custom domain✅ Live — castlecheckers.sonandigital.com

Pending Actions

cd "E:\Claude_Projects\sonan-trackers\caretaker-portal-Claude\caretaker-portal"

# 1. Push latest commit (Employee login button + color fallback fixes)
git push origin b2767bfbfca5631fcd1370de3c79b701b41c55a6:refs/heads/main

# 2. After push, sync disk files with git HEAD
git checkout HEAD -- src/App.tsx src/components/PublicSite.tsx src/components/AdminApp.tsx src/components/EmployeeApp.tsx

# 3. Update DB primary_color to navy (sidebar is driven by DB value, not CSS)
npx wrangler d1 execute caretaker_db --env castlecheckers --remote --command "INSERT OR REPLACE INTO settings (key, value) VALUES ('primary_color', '#1a3050')"

# 4. Redeploy Worker only if worker/index.ts changed — otherwise skip
npx wrangler deploy --env castlecheckers
⚠️
DB Color Note

The admin sidebar color is driven by the primary_color key in the settings table — NOT by CSS variables. Without step 3 above, the sidebar will remain green even after deployment.

Known Gaps / Future Work

ItemPriorityNotes
Send message / send email to clientMediumButton exists in UI — backend integration not yet built. Resend for email, SMS TBD.
Email notification on new requestMediumResend integration in Worker; send on POST /api/requests. Add RESEND_API_KEY as Worker secret.
Customer portal (view their own requests)LowWould need separate auth flow for clients
Photo/document attachmentsLowCloudflare R2 for storage
Recurring appointmentsMediumRequires cron trigger + appointments schema change for recurrence pattern
Invoice PDF (server-side)LowCurrent: browser print. Server PDF would require a separate service (puppeteer/wkhtmltopdf).