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
+1 -1
View File
@@ -1,4 +1,4 @@
{ {
"users": {}, "users": {},
"updatedAt": "2026-06-04T13:37:05.049Z" "updatedAt": "2026-06-04T14:16:50.276Z"
} }
+12 -2
View File
@@ -1033,6 +1033,7 @@ export default function AdminPage({ content, onSave, onLogout }: Props) {
const [totpMsg, setTotpMsg] = useState('') const [totpMsg, setTotpMsg] = useState('')
const [totpRecoveryCodes, setTotpRecoveryCodes] = useState<string[] | null>(null) const [totpRecoveryCodes, setTotpRecoveryCodes] = useState<string[] | null>(null)
const [publishState, setPublishState] = useState<PublishState>({ draftUpdatedAt: null, publishedAt: null }) const [publishState, setPublishState] = useState<PublishState>({ draftUpdatedAt: null, publishedAt: null })
const [publishConfirmOpen, setPublishConfirmOpen] = useState(false)
const [assets, setAssets] = useState<AdminAsset[]>([]) const [assets, setAssets] = useState<AdminAsset[]>([])
const [assetTagEdits, setAssetTagEdits] = useState<Record<string, string>>({}) const [assetTagEdits, setAssetTagEdits] = useState<Record<string, string>>({})
const [opsStatus, setOpsStatus] = useState<OpsStatus | null>(null) const [opsStatus, setOpsStatus] = useState<OpsStatus | null>(null)
@@ -1456,7 +1457,6 @@ export default function AdminPage({ content, onSave, onLogout }: Props) {
} }
async function handlePublishDraft() { async function handlePublishDraft() {
if (!confirm('Publish current changes to the live site now?')) return
const payload = buildSiteContentForSave(form) const payload = buildSiteContentForSave(form)
setStatus('saving') setStatus('saving')
setErrorMsg('') setErrorMsg('')
@@ -1492,6 +1492,7 @@ export default function AdminPage({ content, onSave, onLogout }: Props) {
} }
setPublishState(prev => ({ ...prev, publishedAt: published.publishedAt ?? new Date().toISOString() })) setPublishState(prev => ({ ...prev, publishedAt: published.publishedAt ?? new Date().toISOString() }))
setPublishConfirmOpen(false)
clearAutosaveDraft() clearAutosaveDraft()
await reloadStats() await reloadStats()
setStatus('saved') setStatus('saved')
@@ -1500,6 +1501,7 @@ export default function AdminPage({ content, onSave, onLogout }: Props) {
} }
saveStatusTimeoutRef.current = window.setTimeout(() => setStatus('idle'), 3500) saveStatusTimeoutRef.current = window.setTimeout(() => setStatus('idle'), 3500)
} catch (err) { } catch (err) {
setPublishConfirmOpen(false)
setErrorMsg(err instanceof Error ? err.message : 'Unknown error') setErrorMsg(err instanceof Error ? err.message : 'Unknown error')
setStatus('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)}> <button type="button" className={`btn-admin-reset${previewOpen ? ' btn-admin-reset--active' : ''}`} onClick={() => setPreviewOpen(o => !o)}>
{previewOpen ? 'Close Preview' : 'Preview'} {previewOpen ? 'Close Preview' : 'Preview'}
</button> </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> </div>
</header> </header>