Add simple auth for admin access

This commit is contained in:
nmemmert
2026-04-12 13:34:11 -04:00
parent f07d8fecfb
commit 770d2357ac
5 changed files with 287 additions and 12 deletions
+8 -2
View File
@@ -6,6 +6,7 @@ import { DEFAULTS } from './App'
interface Props {
content: SiteContent
onSave: (c: SiteContent) => void
onLogout: () => void | Promise<void>
}
interface BackupPreview {
@@ -87,7 +88,7 @@ const FIELDS: { key: StringField; label: string; multiline?: boolean }[] = [
{ key: 'shareP', label: 'Share Section — Paragraph', multiline: true },
]
export default function AdminPage({ content, onSave }: Props) {
export default function AdminPage({ content, onSave, onLogout }: Props) {
const [form, setForm] = useState<SiteContent>(content)
const [status, setStatus] = useState<'idle' | 'saving' | 'saved' | 'error'>('idle')
const [errorMsg, setErrorMsg] = useState('')
@@ -361,7 +362,12 @@ export default function AdminPage({ content, onSave }: Props) {
<span className="admin-ornament"> &nbsp; &nbsp; </span>
<h1>Site Admin</h1>
<p className="admin-sub">Verse by Verse with Nate</p>
<Link to="/" className="admin-back"> Back to site</Link>
<div className="admin-header-actions">
<Link to="/" className="admin-back"> Back to site</Link>
<button type="button" className="btn-admin-logout" onClick={() => void onLogout()}>
Log Out
</button>
</div>
</div>
<div className="admin-form-wrap">