修正更新版本显示并升级至 1.0.1

This commit is contained in:
OpenAI Codex committed 2026-10-15 16:06:51 +08:00
1 parent 0778ce8ffe
commit 89b8bb8e90
3 files changed
+5 -4

No files matched your search

+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "clover-panel",
"version": "1.0.0",
"version": "1.0.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "clover-panel",
"version": "1.0.0",
"version": "1.0.1",
"dependencies": {
"@node-rs/argon2": "^2.2.2",
"@simplewebauthn/browser": "^14.0.0",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "clover-panel",
"version": "1.0.0",
"version": "1.0.1",
"private": true,
"description": "clover 三叶草邮局 — Web 控制面板(Next.js + SQLite)",
"scripts": {
+2 -1
View File
@@ -91,7 +91,8 @@ export default function Updates() {
<section className="panel" aria-busy={update.checking}>
<div className="section-title"><h2>版本更新</h2><span className={'tag ' + (result?.status === 'available' ? 'warn' : result?.status === 'latest' ? 'ok' : '')}>{update.checking ? '检查中' : result?.status === 'available' ? '有新版本' : result?.status === 'latest' ? '已是最新' : '等待检查'}</span></div>
<p className="hint">{result?.message || '正在读取当前版本和发布信息。'}</p>
<dl className="update-version-grid"><div><dt>当前面板版本</dt><dd>{result ? formatVersion(result.current.version) : '—'}{result?.current.revision && <small className="hint"> · {result.current.revision.slice(0, 7)}</small>}</dd></div><div><dt>最新发布</dt><dd>{result?.latest.revision.slice(0, 7) || '—'}<small className="hint"> · {formatDate(result?.latest.createdAt || '')}</small></dd></div><div><dt>最近检查</dt><dd>{formatDate(update.checkedAt)}</dd></div></dl>
<dl className="update-version-grid"><div><dt>当前面板版本</dt><dd>{result ? formatVersion(result.current.version) : '—'}{result?.current.revision && <small className="hint"> · {result.current.revision.slice(0, 7)}</small>}</dd></div><div><dt>最新发布镜像</dt><dd>{result?.latest.revision.slice(0, 7) || '—'}<small className="hint"> · {formatDate(result?.latest.createdAt || '')}</small></dd></div>{result?.upstream && <div><dt>仓库最新源码</dt><dd>{result.upstream.shortSha}<small className="hint"> · {formatDate(result.upstream.date)}</small></dd></div>}<div><dt>最近检查</dt><dd>{formatDate(update.checkedAt)}</dd></div></dl>
{result?.status === 'available' && result.upstream && result.latest.revision !== result.upstream.sha && <p className="msg warn" role="status">仓库源码已更新至 {result.upstream.shortSha},最新发布镜像仍基于 {result.latest.revision.slice(0, 7) || '未知提交'}。更新时会同步源码并拉取可用镜像。</p>}
{result?.upstream && <p className="hint">更新说明:<a href={result.upstream.url} target="_blank" rel="noreferrer">{result.upstream.message || result.upstream.shortSha}</a></p>}
{update.error && <p className="msg err" role="alert">检查更新失败:{update.error} 可点击下方按钮重试。</p>}
<div className="panel-maintenance-actions"><button type="button" disabled={update.checking || running || busy} onClick={() => void checkForUpdates(true)}>{update.checking ? '检查中…' : '检查更新'}</button><button type="button" className="primary" disabled={disabled || update.checking || !result || result.status === 'latest'} onClick={() => setConfirm('update')}>立即更新</button></div>