Commit Graph

40 Commits

Author SHA1 Message Date
nmemmert da35006a30 Backfill release dates on startup and hard-lock undated lessons 2026-05-12 15:17:08 -04:00
nmemmert d74151d91d Enforce study lesson release locks and schedule biweekly Monday dates 2026-05-12 15:09:38 -04:00
nmemmert affd903f40 Make homepage study card admin-editable with NEW tag controls 2026-05-12 12:47:13 -04:00
nmemmert becc1b5b27 Enhance admin dashboard and scripture linking 2026-05-12 09:12:55 -04:00
nmemmert 7a48130ffb Add social share buttons and per-question OG share stubs 2026-05-11 11:53:01 -04:00
nmemmert 7568be368e Add Episode Highlights player with Spotify embed auto-resolution and direct embed URL support 2026-05-07 11:36:07 -04:00
nmemmert 3cbb7cc409 Implement comprehensive analytics redesign with bot detection and charts
- Add bot detection logic to differentiate between real traffic and bot traffic
- Detect common bots: search crawlers, social media crawlers, headless browsers, monitoring tools, security scanners
- Expand hit-stats.json to track realHits, botHits, byPathReal, byPathBot, byDayReal, byDayBot, botReasons
- Update analytics API endpoint to return bot/visitor breakdown with 7-day and 30-day comparisons
- Add Chart.js integration with react-chartjs-2 for interactive visualizations
- Create new AnalyticsPanel component with tabbed interface: Overview, Bot Breakdown, Geographic
- Implement graphs showing: 7-day trend (real vs bot), traffic composition (doughnut), bot sources (pie), top pages (bar)
- Display clear KPI cards showing real traffic %, bot traffic %, return visitor rate
- Add deployment & cache status section to analytics dashboard
- Improve data presentation with responsive grid layouts and color-coded metrics
2026-05-07 10:06:32 -04:00
nmemmert 583a9b7b66 Implement email tab redesign, archive support, manual Q&A creation, URL linking, and question admin tools
- Add dedicated Emails tab with inbox/archive views and two-pane layout
- Implement archive/unarchive for contact submissions with persisted state
- Add manual question creation endpoint and admin form (non-contact origin)
- Implement URL auto-linking in Q&A answers with safe rendering
- Add question admin tools: search, filter (All/Pending/Approved/Answered/Unanswered), pagination
- Expand admin panel widths to reduce cramping
- Restore and enhance Asset Manager table layout
- Update email reply template with fixed from-address and HTML support
2026-05-07 09:43:16 -04:00
nmemmert 9f0aa8bd65 Make welcome email editable in admin and skip admin notice for newsletter signups 2026-05-06 15:45:44 -04:00
nmemmert 272eb607c8 Add personalized newsletter welcome email flow 2026-05-06 15:38:16 -04:00
nmemmert 7c02062663 Make all site content editable from admin; add per-page content blocks 2026-05-05 16:17:23 -04:00
nmemmert 1551599305 Beta: TOTP 2FA, admin asset manager, resource page redesign, rate limiting, and security hardening 2026-05-04 13:56:04 -04:00
nmemmert 7f56060d6b Beta: admin assets, resource download forms, and resource page redesign 2026-04-30 15:47:10 -04:00
nmemmert b26103b7b1 Reorganize admin workflow and persist episode discussion questions 2026-04-27 16:25:26 -04:00
nmemmert 88860bc42a Serve images first-party and remove necloud domain refs 2026-04-27 10:58:09 -04:00
nmemmert c5cc28b36b Fix podcast art route for Docker runtime dist path 2026-04-27 10:38:57 -04:00
nmemmert 73b8299f1a Add podcast redirects and route through first-party links 2026-04-27 10:31:10 -04:00
nmemmert 8a71aecb4e Refine homepage sections and contact card design 2026-04-20 15:38:55 -04:00
nmemmert cc4a4b4d63 Gate Titus download, require full name forms, remove companion UI 2026-04-20 11:29:37 -04:00
nmemmert 50459b7234 Enhance chatbot conversation engine and add retrieval eval suite 2026-04-14 10:36:22 -04:00
nmemmert 063f5d2a0e Add episode transcripts, expand chatbot Q&A database to 28 entries, and build scripts 2026-04-13 10:29:06 -04:00
nmemmert 770d2357ac Add simple auth for admin access 2026-04-12 13:34:11 -04:00
nmemmert f07d8fecfb Add Bible Questions inbox from contact submissions 2026-04-12 13:25:59 -04:00
nmemmert 738cc2a412 Add persistent admin analytics, backup restore workflow, and tabbed admin UI 2026-04-12 13:12:03 -04:00
nmemmert 85af1a29ad Route contact form delivery to hello@versebyversewithnate.us 2026-04-10 10:53:03 -04:00
nmemmert 85e8a298fd Revert: deliver contact form emails to vbvwithnate@outlook.com 2026-04-09 17:10:09 -04:00
nmemmert a252167052 Deliver contact form emails to hello@versebyversewithnate.us 2026-04-09 17:08:56 -04:00
nmemmert 53408ad124 Switch sender to hello@versebyversewithnate.us 2026-04-09 16:39:16 -04:00
nmemmert d5f15486d8 Add explicit contact opt-in before Resend list signup 2026-04-09 16:11:49 -04:00
nmemmert afb80aaf2a Fix Resend contact sync payload and support separate contacts key 2026-04-09 16:05:46 -04:00
nmemmert 3a9d11cf40 Add Resend contact sync for contact form submissions 2026-04-09 15:54:53 -04:00
nmemmert 7772bfd6a6 Update contact email sender name 2026-04-09 15:49:16 -04:00
nmemmert 74650a39b3 Polish contact email subject and HTML layout 2026-04-09 15:48:40 -04:00
nmemmert c46d765759 Fix Resend reply-to field for contact emails 2026-04-09 15:47:31 -04:00
nmemmert d95ed9cd8d Switch contact email to Resend API, remove nodemailer/SMTP 2026-04-09 14:40:19 -04:00
nmemmert 4b01d01133 Switch contact form to self-hosted SMTP via nodemailer, remove formsubmit.co 2026-04-09 14:38:28 -04:00
nmemmert 057c856df7 Rebrand site for podcast, add admin CMS, social metadata, and platform links 2026-04-09 11:28:44 -04:00
Nate Emmert a06830281d Add robust themes, drag-drop layout, and manual screenshot controls 2026-03-18 14:33:21 -04:00
Nate Emmert d910cfb2ba Fix Express 5 SPA fallback route 2026-03-17 15:22:16 -04:00
Nate Emmert 695f124afe Set up Siteforge container deployment and registry publishing 2026-03-17 15:15:33 -04:00