publish error fix
This commit is contained in:
+12
-2
@@ -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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user