nmemmert
9ad24df626
tweaks
2026-06-08 16:47:21 -04:00
nmemmert
3e1b1e0fae
Enrolment issue
2026-06-08 14:45:04 -04:00
nmemmert
95b7a3f211
Add in /salvation
2026-06-08 10:24:37 -04:00
nmemmert
66699270f5
Clean. Here's what's live now:
...
- **Tag filter bar** appears above the grid whenever any download has tags assigned. Chips for "All" + each unique tag, centered under the heading.
- **Clicking a tag** filters the grid to only matching downloads. Clicking the active tag again (or "All") clears the filter.
- **Empty state** — if a tag has no results it shows a friendly message instead of a blank grid.
- The filter only shows when tags exist — so it's invisible today (your 3 current downloads have no tags) and appears automatically once you start tagging items in the admin.
To use it: go to Admin → Downloads → edit a download item → add tags like `Colossians`, `Worksheet`, `Devotional`. Those tags will show up as filter chips on the public page instantly after publishing.
2026-06-05 09:23:55 -04:00
nmemmert
c80804b055
checpoint fix
2026-06-04 10:35:01 -04:00
nmemmert
285d837a0b
publish error fix
2026-06-04 10:22:07 -04:00
nmemmert
0ba35e0e52
font change
2026-06-04 10:12:13 -04:00
nmemmert
bccd1cfa60
TFL Resources
2026-06-04 09:46:51 -04:00
nmemmert
8d95c50041
TFL fix
2026-06-04 09:36:04 -04:00
nmemmert
20397960d6
Truth for life fix
2026-06-04 09:23:11 -04:00
nmemmert
cb78b6522d
All green. You're good to build and deploy. Here's a summary of everything done since your last commit:
...
---
**🐛 Bugs fixed**
- Study hub/lesson pages turned gold — CSS merge error with `.study-index-page` fixed
- Lesson announcements not saving — `announcement` field missing from `sanitizeColossiansStudySections` whitelist
- 2FA email method blocked with "not configured" — guard checked `totpSecret` instead of `twoFaMethod`
- `STUDY_REMINDERS_FILE` constant never defined — server would crash on first reminder write
- `sanitizeStudyUsers` stripped all 2FA fields — data lost on every restart
- `scheduleStudyReminders` missing from refactored modules
**✨ Features added**
- Commentary supports paragraph formatting (double newline = new paragraph)
- Lesson announcement banner — full-width gold stripe at top of lesson page
- "Take the Quiz" renamed to "Discussion Questions" throughout
- Students must complete checkpoint before unlocking next lesson (lesson list + Next Lesson button both gate on it)
- No checkpoint questions → simple Mark as Completed button as fallback
- Truth For Life syndication widget on homepage
- Newsletter welcome email updated to your new HTML template
**🔧 Maintenance**
- `server.js` refactored from 6,013 lines into 12 focused modules
2026-06-04 09:17:34 -04:00
nmemmert
07519b4f48
auth fix
2026-06-03 16:14:49 -04:00
nmemmert
e11858c2f3
gated lessions
2026-06-03 16:07:54 -04:00
nmemmert
a7dc3ede21
remove quiz label
2026-06-03 15:56:17 -04:00
nmemmert
b34a78f874
fix agian
2026-06-03 15:49:22 -04:00
nmemmert
ae396da72e
annoucments
2026-06-03 15:27:21 -04:00
nmemmert
346ecb217c
refractor server.js
2026-06-03 15:08:14 -04:00
nmemmert
e17a818deb
fix
2026-06-03 14:31:22 -04:00
nmemmert
68f6212e9b
cool stuff
2026-06-03 14:14:25 -04:00
nmemmert
a2c4924191
email templates
2026-06-03 13:14:08 -04:00
nmemmert
49c9994156
New admin panel - People → Study Users
2026-06-03 12:29:05 -04:00
nmemmert
4983524ea4
newsletter fix
2026-06-03 12:08:53 -04:00
nmemmert
e561bfa000
analytics fixs
2026-06-03 11:35:45 -04:00
nmemmert
b7aa32e4b7
questions fix
2026-06-03 11:18:22 -04:00
nmemmert
3e49ccce62
fix
2026-06-03 11:07:46 -04:00
nmemmert
617998656c
Merge pull request #4 from nmemmert/feature/online-class-upgrade
...
feat: homepage newsletter, Q&A callout, episodes page redesign, SEO/s…
2026-06-03 10:58:06 -04:00
nmemmert
b187b19f18
feat: homepage newsletter, Q&A callout, episodes page redesign, SEO/sitemap, asset tagging
...
- Fix "Invalid Date" on student account page (memberSince guard)
- Fix study community author showing full email instead of username
- Add newsletter sign-up section to homepage (between PRISM and Current Series)
- Add newsletter opt-in nudge to study enrollment flow
- Redesign episodes page: latest episode featured card + per-episode Spotify embed
- Add SEO description field to episodes page (visually hidden, admin-editable)
- Expand default sitemap paths to include /about, /contact, /episodes, /resources, /study, /study/titus, /study/colossians
- Add featured Q&A callout section to homepage
- Add Q&A callout to study hub footer
- Tag both untagged image assets in Asset Manager
2026-06-03 10:56:55 -04:00
nmemmert
ef6760c788
Merge pull request #3 from nmemmert/feature/online-class-upgrade
...
fix
2026-06-02 14:21:44 -04:00
nmemmert
01abb2c8c6
fix
2026-06-02 14:21:03 -04:00
nmemmert
bdd80db80a
Merge pull request #2 from nmemmert/feature/online-class-upgrade
...
Feature/online class upgrade
2026-06-02 14:15:26 -04:00
nmemmert
3e050c8909
stuff
2026-06-02 14:13:37 -04:00
nmemmert
5b448aef0f
stuff
2026-06-02 14:02:00 -04:00
nmemmert
b18f4e88fa
Add study completion, checkpoints, lesson announcements, and lesson-thread defaults
2026-06-02 12:03:29 -04:00
nmemmert
33ac2fb5d0
Fix homepage external link placement and publish sanitization
2026-06-01 13:31:26 -04:00
nmemmert
1d536827e3
Improve admin UX and autosave handling
2026-06-01 12:56:26 -04:00
nmemmert
b9ed8761db
admin redesign: topbar state zone, podcast hub tabs, AnalyticsPanel CSS classes, useAutosave
2026-06-01 11:45:52 -04:00
nmemmert
a58d75c425
Add drag-and-drop lesson reordering for admin study sections
2026-05-26 10:09:43 -04:00
nmemmert
c1fcf66ef8
Expand study lesson and community pages to use more horizontal space, reduce scrolling
2026-05-21 16:09:42 -04:00
nmemmert
b079eb5386
Fix community page auth endpoint to correctly load enrollment status
2026-05-21 14:53:11 -04:00
nmemmert
295c0b61f8
Default to login mode and make signup toggle a prominent button
2026-05-21 14:51:59 -04:00
nmemmert
01143d3ec9
Add community question message type with pre-fill from study community
2026-05-21 14:39:30 -04:00
nmemmert
367ebc88b4
Add dedicated study community page at /study/:studySlug/community
2026-05-21 14:07:17 -04:00
nmemmert
eee200cf9c
Add study community discussion board and Ask Nate button
2026-05-21 14:04:12 -04:00
nmemmert
ffa860d5bc
Preserve releasedAt timestamps during admin content sanitize
2026-05-21 12:44:13 -04:00
nmemmert
bd047b029c
Fix admin publish data loss for unreleased lessons and harden data persistence
2026-05-21 12:39:28 -04:00
nmemmert
da5f77c3c6
Generalize study release-date gating across all studies
2026-05-21 12:29:57 -04:00
nmemmert
74e9f57ea5
Add admin study user enrollment list
2026-05-21 12:08:15 -04:00
nmemmert
376088a52b
Add study enrollment manager, profile settings, and email verification flow
2026-05-21 11:46:49 -04:00
nmemmert
67f3caf40b
Add editable PRISM homepage section
2026-05-20 09:00:22 -04:00
nmemmert
c66be30b20
changed checklist order and added what is next when collaped.
2026-05-18 08:47:24 -04:00
nmemmert
f14992350c
adding
2026-05-18 08:27:24 -04:00
nmemmert
db762c5a05
Add admin podcast checklist UX and persistence updates
2026-05-18 08:26:53 -04:00
nmemmert
dba5f16bcd
Load draft content in admin while keeping public lesson locks
2026-05-12 15:23:17 -04:00
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
82e9443db8
Remove study sidebar and add account/login CTA button
2026-05-12 13:50:42 -04:00
nmemmert
af0c33282a
Improve sidebar spacing and layout - push sidebar right, add visual divider for next tracks
2026-05-12 13:45:41 -04:00
nmemmert
3e38785709
Move Why Sign Up section to sticky sidebar on study landing page
2026-05-12 13:38:07 -04:00
nmemmert
c91e23a0bb
Enhance study hero section prominence with larger typography and visual hierarchy
2026-05-12 13:33:20 -04:00
nmemmert
e60c1fb8f9
Add /study/signup page with auth form, benefits, and start-here style link
2026-05-12 13:28:32 -04:00
nmemmert
29ef1abb74
Add Why Sign Up section to study landing page and auth hint to lesson sidebar
2026-05-12 13:21:54 -04:00
nmemmert
a78ae6d6ca
Merge feature/colossians-study-pages
2026-05-12 12:47:22 -04:00
nmemmert
affd903f40
Make homepage study card admin-editable with NEW tag controls
2026-05-12 12:47:13 -04:00
nmemmert
853e56bd91
Clarify about page image controls in admin
2026-05-12 09:27:29 -04:00
nmemmert
becc1b5b27
Enhance admin dashboard and scripture linking
2026-05-12 09:12:55 -04:00
nmemmert
0703a802ff
Refine Q&A share feedback and top back-to-site link
2026-05-11 12:06:57 -04:00
nmemmert
7a48130ffb
Add social share buttons and per-question OG share stubs
2026-05-11 11:53:01 -04:00
nmemmert
f4adeb2844
Refine admin content flow and improve Q&A mobile UX
2026-05-07 14:23:18 -04:00
nmemmert
5f479402a0
Add mobile menu for admin sidebar navigation
2026-05-07 13:13:18 -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
93548b1ac8
Fix CI docker publish install for React 19 peers
2026-05-07 10:32:57 -04:00
nmemmert
90e5c677d8
Improve analytics UX with geo maps and readability updates
2026-05-07 10:29:49 -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
bc3d906e64
Add per-download Amazon button settings for current and archived downloads
2026-05-07 07:49:02 -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
017a7fca88
Clean up footer with More Platforms menu
2026-05-06 11:38:08 -04:00
nmemmert
a2c3e606bd
Restore Spotify icon import
2026-05-06 11:12:59 -04:00
nmemmert
71e429f758
Merge seeded platform links on container upgrades
2026-05-06 11:10:55 -04:00
nmemmert
fd60c8e796
Fix lint errors in App icons import
2026-05-06 10:57:42 -04:00
nmemmert
42bac71fd6
Add podcast platform badges and Headliner widget
2026-05-06 10:54:38 -04:00
nmemmert
475abff3cf
Restore share section with QR code and Share the Show button
2026-05-05 16:52:26 -04:00
nmemmert
8d3755f537
Make 'New here' a secondary button in hero
2026-05-05 16:41:00 -04:00
nmemmert
5088687b58
Update nav: book icon logo, add Q&A link, remove Home link
2026-05-05 16:39:25 -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
79eb72635e
Fix download link styling and raise download description limits
2026-05-04 15:08:27 -04:00
nmemmert
554c248ea7
Fix: copy server/ directory into Docker runtime image
2026-05-04 14:03:47 -04:00
nmemmert
3b91fac6a7
Merge beta: TOTP 2FA, admin asset manager, resource page redesign, rate limiting, and security hardening
2026-05-04 13:56:09 -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
10bd6848ef
Simplify podcast highlight labels on episodes page
2026-04-27 16:39:54 -04:00
nmemmert
b26103b7b1
Reorganize admin workflow and persist episode discussion questions
2026-04-27 16:25:26 -04:00
nmemmert
83743cc78b
Add robots.txt and sitemap.xml for SEO
2026-04-27 15:09:37 -04:00
nmemmert
ee153cf9ef
image
2026-04-27 11:26:01 -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
b4f1c1dbdb
Polish About, forms, and share/contact UI
2026-04-23 17:03:41 -04:00
nmemmert
8a71aecb4e
Refine homepage sections and contact card design
2026-04-20 15:38:55 -04:00