fix(frontend): refine node renewal UI and filters (#299)

* style: restore Prettier formatting in renewal.ts

* fix(frontend): refine node renewal UI and filters

Entire-Checkpoint: 88c8ae47fb7d

* refactor(nodes): remove unused tags field from node model

* refactor(node): improve card layout and reorder elements

Entire-Checkpoint: fb89f3ebef5c
This commit is contained in:
sagit
2026-03-09 16:37:57 +08:00
committed by GitHub
parent 42d6249af5
commit 5cb935e0e5
16 changed files with 6065 additions and 244 deletions
+1 -25
View File
@@ -90,7 +90,7 @@ export default function DashboardPage() {
};
}
const diffDays = Math.ceil(
const diffDays = Math.ceil(
(nextDueTime - Date.now()) / (1000 * 60 * 60 * 24),
);
@@ -122,16 +122,6 @@ const diffDays = Math.ceil(
};
};
const parseNodeTags = (tags?: string) => {
if (!tags) return [];
return tags
.split(",")
.map((tag) => tag.trim())
.filter(Boolean)
.slice(0, 3);
};
const renderNodeExpiryCard = (node: DashboardNodeExpiryItem) => {
const renewalSnapshot = getNodeRenewalSnapshot(
node.expiryTime,
@@ -141,7 +131,6 @@ const diffDays = Math.ceil(
renewalSnapshot.nextDueTime,
renewalSnapshot.state,
);
const tags = parseNodeTags(node.tags);
return (
<div
@@ -177,19 +166,6 @@ const diffDays = Math.ceil(
{node.remark.trim()}
</p>
)}
{tags.length > 0 && (
<div className="mt-3 flex flex-wrap gap-2">
{tags.map((tag) => (
<span
key={`${node.id}-${tag}`}
className="rounded-full bg-white/80 px-2 py-1 text-[11px] text-default-600 ring-1 ring-amber-200/80 dark:bg-white/5 dark:text-default-300 dark:ring-amber-500/20"
>
#{tag}
</span>
))}
</div>
)}
</div>
);
};