feat: 用户订阅列表显示节点分组名,限速详情显示起止时间
- UserSubscribe 类型新增 node_group_id/node_group_name 字段 - UserSubscribeDetail 类型新增 throttle_start/throttle_end/node_group_id/node_group_name 字段 - 订阅列表表格新增「节点分组」列 - 限速卡片新增限速窗口起止时间显示 Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
parent
dd30b8eb8b
commit
de87133061
Binary file not shown.
@ -329,6 +329,11 @@ export default function UserSubscription({ userId }: { userId: number }) {
|
||||
: t("permanent", "Permanent");
|
||||
},
|
||||
},
|
||||
{
|
||||
accessorKey: "node_group_name",
|
||||
header: t("nodeGroup", "Node Group"),
|
||||
cell: ({ row }) => row.original.node_group_name || "-",
|
||||
},
|
||||
{
|
||||
accessorKey: "created_at",
|
||||
header: t("createdAt", "Created At"),
|
||||
|
||||
@ -86,6 +86,12 @@ function SpeedLimitCard({ subscriptionId }: { subscriptionId: number }) {
|
||||
{detail.throttle_rule}
|
||||
</p>
|
||||
)}
|
||||
{isThrottled && detail.throttle_start && detail.throttle_end && (
|
||||
<p className="text-muted-foreground text-xs">
|
||||
{formatDate(detail.throttle_start)} ~{" "}
|
||||
{formatDate(detail.throttle_end)}
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
6
packages/ui/src/services/admin/typings.d.ts
vendored
6
packages/ui/src/services/admin/typings.d.ts
vendored
@ -2504,6 +2504,8 @@ declare namespace API {
|
||||
token: string;
|
||||
status: number;
|
||||
short: string;
|
||||
node_group_id?: number;
|
||||
node_group_name?: string;
|
||||
created_at: number;
|
||||
updated_at: number;
|
||||
};
|
||||
@ -2526,6 +2528,10 @@ declare namespace API {
|
||||
effective_speed: number;
|
||||
is_throttled: boolean;
|
||||
throttle_rule?: string;
|
||||
throttle_start?: number;
|
||||
throttle_end?: number;
|
||||
node_group_id?: number;
|
||||
node_group_name?: string;
|
||||
created_at: number;
|
||||
updated_at: number;
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user