diff --git a/data/study-reminders.json b/data/study-reminders.json index ec992c2..664a2a8 100644 --- a/data/study-reminders.json +++ b/data/study-reminders.json @@ -1,4 +1,4 @@ { "users": {}, - "updatedAt": "2026-06-04T13:37:05.049Z" + "updatedAt": "2026-06-04T14:16:50.276Z" } \ No newline at end of file diff --git a/src/AdminPage.tsx b/src/AdminPage.tsx index b254547..d6c2a4a 100644 --- a/src/AdminPage.tsx +++ b/src/AdminPage.tsx @@ -1033,6 +1033,7 @@ export default function AdminPage({ content, onSave, onLogout }: Props) { const [totpMsg, setTotpMsg] = useState('') const [totpRecoveryCodes, setTotpRecoveryCodes] = useState(null) const [publishState, setPublishState] = useState({ draftUpdatedAt: null, publishedAt: null }) + const [publishConfirmOpen, setPublishConfirmOpen] = useState(false) const [assets, setAssets] = useState([]) const [assetTagEdits, setAssetTagEdits] = useState>({}) const [opsStatus, setOpsStatus] = useState(null) @@ -1456,7 +1457,6 @@ export default function AdminPage({ content, onSave, onLogout }: Props) { } async function handlePublishDraft() { - if (!confirm('Publish current changes to the live site now?')) return const payload = buildSiteContentForSave(form) setStatus('saving') setErrorMsg('') @@ -1492,6 +1492,7 @@ export default function AdminPage({ content, onSave, onLogout }: Props) { } setPublishState(prev => ({ ...prev, publishedAt: published.publishedAt ?? new Date().toISOString() })) + setPublishConfirmOpen(false) clearAutosaveDraft() await reloadStats() setStatus('saved') @@ -1500,6 +1501,7 @@ export default function AdminPage({ content, onSave, onLogout }: Props) { } saveStatusTimeoutRef.current = window.setTimeout(() => setStatus('idle'), 3500) } catch (err) { + setPublishConfirmOpen(false) setErrorMsg(err instanceof Error ? err.message : 'Unknown error') setStatus('error') } @@ -2959,7 +2961,15 @@ export default function AdminPage({ content, onSave, onLogout }: Props) { - + {publishConfirmOpen ? ( + <> + Publish to live site? + + + + ) : ( + + )}