publish error fix

This commit is contained in:
nmemmert
2026-06-04 10:22:07 -04:00
parent 0ba35e0e52
commit 285d837a0b
2 changed files with 13 additions and 3 deletions
+12 -2
View File
@@ -1033,6 +1033,7 @@ export default function AdminPage({ content, onSave, onLogout }: Props) {
const [totpMsg, setTotpMsg] = useState('')
const [totpRecoveryCodes, setTotpRecoveryCodes] = useState<string[] | null>(null)
const [publishState, setPublishState] = useState<PublishState>({ draftUpdatedAt: null, publishedAt: null })
const [publishConfirmOpen, setPublishConfirmOpen] = useState(false)
const [assets, setAssets] = useState<AdminAsset[]>([])
const [assetTagEdits, setAssetTagEdits] = useState<Record<string, string>>({})
const [opsStatus, setOpsStatus] = useState<OpsStatus | null>(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) {
<button type="button" className={`btn-admin-reset${previewOpen ? ' btn-admin-reset--active' : ''}`} onClick={() => setPreviewOpen(o => !o)}>
{previewOpen ? 'Close Preview' : 'Preview'}
</button>
<button type="button" className="btn-admin-reset" onClick={handlePublishDraft}>Publish</button>
{publishConfirmOpen ? (
<>
<span style={{ fontSize: '0.82rem', color: '#e0c070' }}>Publish to live site?</span>
<button type="button" className="btn-admin-save" onClick={() => { setPublishConfirmOpen(false); handlePublishDraft() }}>Yes, Publish</button>
<button type="button" className="btn-admin-reset" onClick={() => setPublishConfirmOpen(false)}>Cancel</button>
</>
) : (
<button type="button" className="btn-admin-reset" onClick={() => setPublishConfirmOpen(true)}>Publish</button>
)}
</div>
</header>