refactor: 将更新内容移入版本信息卡片内,移除独立 changelog 区域
This commit is contained in:
@@ -160,6 +160,24 @@ export default function UpdatePage() {
|
|||||||
</span>
|
</span>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{/* 当前版本更新内容(无最新版本时展示) */}
|
||||||
|
{versionInfo?.current.changelog && !versionInfo?.latest?.changelog && (
|
||||||
|
<div className="mt-3 border-t pt-3">
|
||||||
|
<div className="flex items-center gap-2 mb-2">
|
||||||
|
<FileText className="h-3.5 w-3.5 text-muted-foreground"/>
|
||||||
|
<span className="text-xs font-medium text-muted-foreground">当前版本更新内容</span>
|
||||||
|
</div>
|
||||||
|
<ul className="space-y-1">
|
||||||
|
{parseChangelog(versionInfo.current.changelog).map((item, i) => (
|
||||||
|
<li key={i} className="flex items-start gap-2 text-sm">
|
||||||
|
<span className="mt-1.5 h-1.5 w-1.5 shrink-0 rounded-full bg-muted-foreground/40"/>
|
||||||
|
<span className="text-muted-foreground">{item}</span>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* 最新版本 */}
|
{/* 最新版本 */}
|
||||||
@@ -182,17 +200,37 @@ export default function UpdatePage() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{versionInfo.latest ? (
|
{versionInfo.latest ? (
|
||||||
<div className="flex items-center gap-3 flex-wrap">
|
<>
|
||||||
<code className="rounded-lg bg-muted px-3 py-1 text-lg font-mono">
|
<div className="flex items-center gap-3 flex-wrap">
|
||||||
{versionInfo.latest.version}
|
<code className="rounded-lg bg-muted px-3 py-1 text-lg font-mono">
|
||||||
</code>
|
{versionInfo.latest.version}
|
||||||
{versionInfo.latest.release_date && (
|
</code>
|
||||||
<span className="flex items-center gap-1 text-xs text-muted-foreground">
|
{versionInfo.latest.release_date && (
|
||||||
<Calendar className="h-3 w-3"/>
|
<span className="flex items-center gap-1 text-xs text-muted-foreground">
|
||||||
{versionInfo.latest.release_date}
|
<Calendar className="h-3 w-3"/>
|
||||||
</span>
|
{versionInfo.latest.release_date}
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* 最新版本更新内容 */}
|
||||||
|
{versionInfo.latest.changelog && (
|
||||||
|
<div className="mt-3 border-t pt-3">
|
||||||
|
<div className="flex items-center gap-2 mb-2">
|
||||||
|
<FileText className="h-3.5 w-3.5 text-muted-foreground"/>
|
||||||
|
<span className="text-xs font-medium text-muted-foreground">更新内容</span>
|
||||||
|
</div>
|
||||||
|
<ul className="space-y-1">
|
||||||
|
{parseChangelog(versionInfo.latest.changelog).map((item, i) => (
|
||||||
|
<li key={i} className="flex items-start gap-2 text-sm">
|
||||||
|
<span className="mt-1.5 h-1.5 w-1.5 shrink-0 rounded-full bg-primary/60"/>
|
||||||
|
<span>{item}</span>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</>
|
||||||
) : versionInfo.message ? (
|
) : versionInfo.message ? (
|
||||||
<div className="rounded-lg bg-amber-50 border border-amber-200 p-3 text-sm text-amber-800">
|
<div className="rounded-lg bg-amber-50 border border-amber-200 p-3 text-sm text-amber-800">
|
||||||
<pre className="whitespace-pre-wrap font-sans text-xs leading-relaxed">{versionInfo.message}</pre>
|
<pre className="whitespace-pre-wrap font-sans text-xs leading-relaxed">{versionInfo.message}</pre>
|
||||||
@@ -251,46 +289,6 @@ export default function UpdatePage() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* 变更日志 - 有更新时展示 */}
|
|
||||||
{versionInfo?.latest?.changelog && (
|
|
||||||
<div className="rounded-lg border bg-card">
|
|
||||||
<div className="flex items-center gap-2 border-b px-4 py-3">
|
|
||||||
<FileText className="h-4 w-4 text-muted-foreground"/>
|
|
||||||
<span className="text-sm font-medium">更新内容</span>
|
|
||||||
</div>
|
|
||||||
<div className="px-4 py-3">
|
|
||||||
<ul className="space-y-1.5">
|
|
||||||
{parseChangelog(versionInfo.latest.changelog).map((item, i) => (
|
|
||||||
<li key={i} className="flex items-start gap-2 text-sm">
|
|
||||||
<span className="mt-1.5 h-1.5 w-1.5 shrink-0 rounded-full bg-primary/60"/>
|
|
||||||
<span>{item}</span>
|
|
||||||
</li>
|
|
||||||
))}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
|
|
||||||
{/* 当前版本自己的 changelog(本地) */}
|
|
||||||
{versionInfo?.current.changelog && !versionInfo?.latest?.changelog && (
|
|
||||||
<div className="rounded-lg border bg-card">
|
|
||||||
<div className="flex items-center gap-2 border-b px-4 py-3">
|
|
||||||
<FileText className="h-4 w-4 text-muted-foreground"/>
|
|
||||||
<span className="text-sm font-medium">当前版本更新内容</span>
|
|
||||||
</div>
|
|
||||||
<div className="px-4 py-3">
|
|
||||||
<ul className="space-y-1.5">
|
|
||||||
{parseChangelog(versionInfo.current.changelog).map((item, i) => (
|
|
||||||
<li key={i} className="flex items-start gap-2 text-sm">
|
|
||||||
<span className="mt-1.5 h-1.5 w-1.5 shrink-0 rounded-full bg-muted-foreground/40"/>
|
|
||||||
<span className="text-muted-foreground">{item}</span>
|
|
||||||
</li>
|
|
||||||
))}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
|
|
||||||
{/* 错误提示 */}
|
{/* 错误提示 */}
|
||||||
{errorMsg && (
|
{errorMsg && (
|
||||||
<div className="flex items-center gap-2 rounded-lg border border-destructive/50 bg-destructive/5 p-4 text-sm text-destructive">
|
<div className="flex items-center gap-2 rounded-lg border border-destructive/50 bg-destructive/5 p-4 text-sm text-destructive">
|
||||||
|
|||||||
Reference in New Issue
Block a user