Remove dead admin routes and broken UI elements; v1.1.45
Publish Container / docker (push) Successful in 14m54s

- Deleted ~24 unused API routes from contact.js (email inbox/CRM feature
  never wired to frontend): reply, compose, draft, broadcast, webhooks,
  audit-log, contact CRUD, merge, import, and health endpoints
- Removed dead imports from contact.js (config, data, email modules)
- Removed broken /email Link from admin dashboard Inbox card
- Cleaned up AdminView type: removed unreachable 'current-series' and
  'episode-highlights' top-level values (only valid as podcast sub-tabs)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
nmemmertandClaude Sonnet 4.6 committed 2026-08-31 12:48:24 -04:00
1 parent fc63a34ef2
commit 0d830d6e79
4 files changed
+6 -601

No files matched your search

+3 -4
View File
@@ -698,7 +698,7 @@ type StringField = Exclude<keyof SiteContent, 'customLinks' | 'customBlocks' | '
type AdminView =
| 'dashboard' | 'homepage' | 'start-here' | 'about' | 'contact'
| 'podcast' | 'current-series' | 'episode-highlights'
| 'podcast'
| 'downloads' | 'custom-links' | 'content-blocks' | 'books' | 'recommended-resources'
| 'questions' | 'study-comments' | 'analytics' | 'assets' | 'colossians-study' | 'qr-codes'
| 'subscribers' | 'study-users' | 'email-templates'
@@ -2808,7 +2808,6 @@ async function handleAssetUpload(event: ChangeEvent<HTMLInputElement>) {
<div className="admin-dashboard-card-value">{unreadEmailCount}</div>
<div className="admin-dashboard-card-label">Inbox Messages</div>
<div className="admin-dashboard-card-sub">{contactSubmissions.filter(s => s.archived).length} archived · {contactSubmissions.length} total</div>
<Link to="/email" className="admin-dashboard-card-action" style={{ textDecoration: 'none' }}>Open Inbox →</Link>
</div>
<div className="admin-dashboard-card">
<div className="admin-dashboard-card-value">{thisWeekReal.toLocaleString()}</div>
@@ -3320,7 +3319,7 @@ async function handleAssetUpload(event: ChangeEvent<HTMLInputElement>) {
)}
{/* CURRENT SERIES */}
{(adminView === 'current-series' || (adminView === 'podcast' && podcastTab === 'current-series')) && (
{(adminView === 'podcast' && podcastTab === 'current-series') && (
<section className="admin-panel-section">
<div className="admin-panel-head">
<h2>Current Series</h2>
@@ -3404,7 +3403,7 @@ async function handleAssetUpload(event: ChangeEvent<HTMLInputElement>) {
)}
{/* EPISODE HIGHLIGHTS */}
{(adminView === 'episode-highlights' || (adminView === 'podcast' && podcastTab === 'episode-highlights')) && (
{(adminView === 'podcast' && podcastTab === 'episode-highlights') && (
<section className="admin-panel-section" aria-label="Episode highlights">
<div className="admin-panel-head">
<h2>Episode Highlights</h2>