diff --git a/web/src/pages/creator/workbench/index.tsx b/web/src/pages/creator/workbench/index.tsx
index 0ff3034..4140c06 100644
--- a/web/src/pages/creator/workbench/index.tsx
+++ b/web/src/pages/creator/workbench/index.tsx
@@ -2,7 +2,7 @@
// 六个页签:评论/线索/规则/事件监听/私信/操作记录;实时更新走 /creator/updates SSE;仅用 antd 默认组件。
import { useEffect, useRef, useState } from 'react';
import type { ReactNode } from 'react';
-import { Alert, Button, Card, Checkbox, Col, Empty, Input, List, Modal, Row, Select, Space, Spin, Table, Tabs, Tag, Typography, message } from 'antd';
+import { Flex, Alert, Button, Card, Checkbox, Col, Empty, Input, Modal, Row, Select, Space, Spin, Table, Tabs, Tag, Typography, message } from 'antd';
import type { ColumnsType } from 'antd/es/table';
import { create, creatorAction, creatorCreate, creatorGet, creatorSubscribe, creatorSyncConversation, creatorUpdate, getList } from '@/services/api';
import { conflictMessage, dateTime } from '@/utils/helpers';
@@ -82,7 +82,7 @@ function TabShell({ pending, error, onRetry, children }: { pending: boolean; err
return (
{error ? (
-
重试} />
+ 重试} />
) : null}
{children}
@@ -556,7 +556,7 @@ export default function Page() {
const replyFormCard =
reply.target_comment_id && replyTarget ? (
-
+
发送账号
@@ -585,7 +585,7 @@ export default function Page() {
{tab === 'comments' ? '回复' : ''}目标 UID:{reply.target_uid || '不可用,无法发送'}
-
+
) : null;
@@ -609,7 +609,7 @@ export default function Page() {
) : (
<>
-
+
{visibleData.map((comment: any) => (
@@ -655,7 +655,7 @@ export default function Page() {
))}
-
+
>
)}
@@ -668,7 +668,7 @@ export default function Page() {
{!pending && !error && !visibleData.length ? (
) : (
-
+
{visibleData.map((lead: any) => (
@@ -702,7 +702,7 @@ export default function Page() {
))}
-
+
)}
);
@@ -713,7 +713,7 @@ export default function Page() {
) : (
<>
-
+
{visibleData.map((event: any) => (
@@ -739,7 +739,7 @@ export default function Page() {
))}
-
+
>
)}
@@ -750,7 +750,7 @@ export default function Page() {
-
+
规则名称
@@ -800,7 +800,7 @@ export default function Page() {
) : null}
-
+
@@ -866,12 +866,21 @@ export default function Page() {
- (
-
+ {visibleConversations.map((conversation: any) => (
+
- )}
- />
+
+ ))}
+
@@ -910,14 +919,14 @@ export default function Page() {
{messageError ? (
- setMessageRetry((value) => value + 1)}>重试} />
+ setMessageRetry((value) => value + 1)}>重试} />
) : null}
{!messagePending && !messageError && !messages.length ? (
) : (
<>
-
+
{messages.map((msg: any) => (
))}
-
+
>
)}
diff --git a/web/src/pages/drafts/$id/index.tsx b/web/src/pages/drafts/$id/index.tsx
index fd00ec2..a43d8a5 100644
--- a/web/src/pages/drafts/$id/index.tsx
+++ b/web/src/pages/drafts/$id/index.tsx
@@ -2,6 +2,7 @@
import { useCallback, useEffect, useState } from 'react';
import { history, useParams } from '@umijs/max';
import {
+ Flex,
Alert,
Button,
Card,
@@ -64,7 +65,7 @@ export default function Page() {
}, [load]);
if (pending) return ;
- if (error || !draft) return ;
+ if (error || !draft) return ;
const versions = draft.versions || [];
const confirmations = draft.confirmations || [];
@@ -119,14 +120,14 @@ export default function Page() {
{browsersError ? (
-
+
) : null}
{!isLatest ? (
history.push(`/drafts/${versions[0]?.id}`)}>
打开最新版本
@@ -134,12 +135,12 @@ export default function Page() {
}
/>
) : null}
-
+
{draft.content}
-
+
{draft.account.version}
{draft.version}
@@ -147,10 +148,10 @@ export default function Page() {
{browsersError ? '状态未知' : binding?.network_exit_id || '当前机器直连'}
{readiness.label}
-
+
-
+
{versions.map((item: any) =>
item.id === draft.id ? (
@@ -162,10 +163,10 @@ export default function Page() {
),
)}
-
+
-
+
setReviewed(e.target.checked)}>
我已核对当前账号、草稿内容、运行环境和网络出口
@@ -186,23 +187,23 @@ export default function Page() {
) : (
保存有效确认后才可加入队列。
)}
-
+
{tasks.length === 0 ? (
尚未入队。
) : (
-
+
{tasks.map((task: any) => (
{task.id}
任务状态:{task.state}
))}
-
+
)}
-
+
form.submit()} confirmLoading={busy} okText={busy ? (editing ? '保存中…' : '注册中…') : editing ? '保存' : '注册网关'}>
- {error ? : null}
+ {error ? : null}
网关 {created.name} 已注册。令牌
{created.token}
@@ -203,7 +203,7 @@ export default function Page() {
/>
) : null}
{error ? (
- 重试} />
+ 重试} />
) : null}
CreatorHub
- {error ? : null}
+ {error ? : null}
diff --git a/web/src/pages/network-exits/$id/index.tsx b/web/src/pages/network-exits/$id/index.tsx
index 91027ff..66e1620 100644
--- a/web/src/pages/network-exits/$id/index.tsx
+++ b/web/src/pages/network-exits/$id/index.tsx
@@ -1,7 +1,7 @@
// 网络出口详情:语义对齐 web.archived NetworkExitsPage.jsx 的 NetworkExitDetail。
import { useEffect, useState } from 'react';
import { history, useParams } from '@umijs/max';
-import { Alert, Button, Card, Descriptions, Space, Tag, Typography } from 'antd';
+import { Flex, Alert, Button, Card, Descriptions, Space, Tag, Typography } from 'antd';
import { getOne } from '@/services/api';
import { dateTime } from '@/utils/helpers';
@@ -38,7 +38,7 @@ export default function Page() {
}, [id]);
if (pending) return ;
- if (error || !exit) return ;
+ if (error || !exit) return ;
const known = Object.hasOwn(healthText, exit.health_status ?? '');
return (
@@ -52,7 +52,7 @@ export default function Page() {
-
+
{known ? healthText[exit.health_status] : `未知状态:${exit.health_status}`}
@@ -68,7 +68,7 @@ export default function Page() {
{exit.observed_public_ip || '尚无观测'}
{exit.last_checked_at ? dateTime(exit.last_checked_at) : '未检测'}
-
+
);
diff --git a/web/src/pages/network-exits/index.tsx b/web/src/pages/network-exits/index.tsx
index 7da9022..cd1bd98 100644
--- a/web/src/pages/network-exits/index.tsx
+++ b/web/src/pages/network-exits/index.tsx
@@ -64,7 +64,7 @@ function ExitFormModal({
return (