refactor(*): 稳定期治理 - 收敛核心架构、错误语义并修复跨项目数据竞态

This commit is contained in:
ddCat
2026-09-09 22:02:10 +08:00
parent bacd502f5c
commit b5f3413ded
298 changed files with 12681 additions and 26428 deletions

View File

@@ -4,6 +4,7 @@ import { AudioLines, CalendarDays, CheckCircle2, Clock3, CreditCard, ExternalLin
import { useEffect, useMemo, useRef, useState } from "react";
import { useNavigate } from "react-router";
import { EmptyState } from "@/components/ui/product/empty-state";
import { listRegisteredPlugins } from "@/lib/plugins/plugin-registry";
import "@/lib/plugins/builtin";
import { EAGLE_PLUGIN_ID } from "@/lib/plugins/builtin/eagle";
@@ -472,21 +473,24 @@ export default function PluginsPage() {
})}
</div>
) : (
<div className="plugins-empty-state">
<SlidersHorizontal className="size-7" aria-hidden="true" />
<h3>没有匹配的插件</h3>
<p>试试清空搜索词,或放宽筛选条件。</p>
<Button
onClick={() => {
setSearch("");
setCategoryFilter("all");
setStatusFilter("all");
setTrustFilter("all");
}}
>
清除筛选
</Button>
</div>
<EmptyState
className="min-h-[260px] rounded-[var(--plugins-card-radius)] bg-foreground/[0.03]"
icon={SlidersHorizontal}
title="没有匹配的插件"
description="试试清空搜索词,或放宽筛选条件。"
action={
<Button
onClick={() => {
setSearch("");
setCategoryFilter("all");
setStatusFilter("all");
setTrustFilter("all");
}}
>
清除筛选
</Button>
}
/>
)}
<Modal

View File

@@ -826,29 +826,6 @@
font-size: var(--fs-label);
}
.plugins-empty-state {
display: grid;
min-height: 260px;
place-items: center;
align-content: center;
gap: var(--space-2);
border-radius: var(--plugins-card-radius);
background: color-mix(in srgb, var(--foreground) 3%, transparent);
color: color-mix(in srgb, var(--foreground) 45%, transparent);
text-align: center;
}
.plugins-empty-state h3 {
margin-top: var(--space-2);
color: color-mix(in srgb, var(--foreground) 78%, transparent);
font-size: var(--fs-body-lg);
font-weight: 650;
}
.plugins-empty-state p {
font-size: var(--fs-caption);
}
@media (max-width: 900px) {
.plugins-page-layout {
display: block;