@yuku123/z-team-component 0.2.29 → 0.2.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/{ChangeLogView-CG-o5YP1.js → ChangeLogView-FLd1wS8H.js} +1 -1
  2. package/dist/DebugPlayground-cxffrMgF.js +15 -0
  3. package/dist/{InvitationManagementPage-ByJuWwA_.js → InvitationManagementPage-CttWZdu8.js} +90 -85
  4. package/dist/{OnboardingPage-D58h1JK_.js → OnboardingPage-CAI-P20Q.js} +2 -2
  5. package/dist/{ProjectApp-oUbzb0Io.js → ProjectApp-ZR_QUlPs.js} +1486 -1465
  6. package/dist/SmartWorkbench.module-DzQskKT0.js +85 -0
  7. package/dist/{SystemShell-D4mGsT0X.js → SystemShell-BKNdXqXt.js} +151 -153
  8. package/dist/{admin-logs-C2V1ElH9.js → admin-logs-Dv86pFvY.js} +2 -2
  9. package/dist/{api--Fg0hL9Y.js → api-19TXED_O.js} +52 -39
  10. package/dist/api-BNwdLozd.js +20 -0
  11. package/dist/{createWorkspaceWsHandler-CqGqcTh_.js → createWorkspaceWsHandler-CBk4DqP4.js} +6 -5
  12. package/dist/{index-CDKg_qI5.js → index-B5_xKK08.js} +1140 -1153
  13. package/dist/{index-D5u3BjCZ.js → index-BIJnjJd5.js} +2 -2
  14. package/dist/index-BKwpQ-HW.js +1329 -0
  15. package/dist/{index-bbwTcNjB.js → index-BTLD5gUt.js} +3 -3
  16. package/dist/{index-Dky6GVc1.js → index-BTaLAs80.js} +9 -9
  17. package/dist/{index-CiMxCTOS.js → index-B_EBV24V.js} +1 -1
  18. package/dist/{index-BafC42Cl.js → index-Bd57t_yF.js} +1 -1
  19. package/dist/{index-C2aPiQSz.js → index-BjqYiZpC.js} +3 -3
  20. package/dist/{index-BaCiSbPR.js → index-BoGVJ0hC.js} +1 -1
  21. package/dist/{index-C01UUprh.js → index-BpuJ9Njb.js} +7016 -6946
  22. package/dist/{index-CcFJEYgr.js → index-C815hPWS.js} +55 -52
  23. package/dist/{index-D2S8FrNc.js → index-C8GK1bOQ.js} +358 -347
  24. package/dist/{index-DvIHX7lZ.js → index-CcpWacSZ.js} +243 -236
  25. package/dist/{index-Da7ls5q6.js → index-DOPkM2W8.js} +6 -6
  26. package/dist/index-DQNZE7Go.js +169 -0
  27. package/dist/{index-DOVOWiGU.js → index-DR_FCf71.js} +1134 -1132
  28. package/dist/{index-CTD7k9dP.js → index-DYgD6BuB.js} +4 -4
  29. package/dist/{index-BwFEDHy3.js → index-DdN9Apqq.js} +5 -5
  30. package/dist/{index-CRac8IT2.js → index-DuGWlMWm.js} +3 -3
  31. package/dist/{index-Da3doGtf.js → index-JMzBzwiO.js} +57 -54
  32. package/dist/{index-Dao4uqQd.js → index-x4-W5ClM.js} +4 -4
  33. package/dist/index.js +1 -1
  34. package/dist/{instance-1QEDBRqA.js → instance-D951fRuD.js} +1 -1
  35. package/dist/pages.js +1 -1
  36. package/dist/{schedule-C89oiqIR.js → schedule-DD50-7cs.js} +1 -1
  37. package/dist/{send-default-agent-team-message-CxkWi3XC.js → send-default-agent-team-message-Bbs2rMNf.js} +1 -1
  38. package/dist/{sso-user-BE1Ell5F.js → sso-user-BEY5ICaR.js} +1 -1
  39. package/dist/{training-o-vSBkqP.js → training-B-9tNFQw.js} +1 -1
  40. package/dist/{useAppStore-wgWaxcyc.js → useAppStore-BQN-26ns.js} +1 -1
  41. package/dist/{webide-BxD6cYe-.js → webide-P867RFZi.js} +4 -4
  42. package/dist/z-team-component.css +1 -1
  43. package/package.json +2 -2
  44. package/dist/SmartWorkbench.module-xRRmpTTw.js +0 -85
  45. package/dist/api-3-Ykp2ll.js +0 -19
  46. package/dist/index-B8mNsH88.js +0 -1411
  47. package/dist/index-DYDba1NC.js +0 -187
@@ -1,5 +1,5 @@
1
1
  import { jsxs as r, jsx as a, Fragment as he } from "react/jsx-runtime";
2
- import { h as _e, j as Z, k as pe } from "./api--Fg0hL9Y.js";
2
+ import { h as _e, j as Z, k as pe } from "./api-19TXED_O.js";
3
3
  import { message as q, Button as ge, DatePicker as ue, Spin as A, Empty as J, Tag as Q } from "antd";
4
4
  import z from "dayjs";
5
5
  import "./echarts-B1OU1xr4.js";
@@ -0,0 +1,15 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { Result as t, Button as e } from "antd";
3
+ function i() {
4
+ return /* @__PURE__ */ r(
5
+ t,
6
+ {
7
+ title: "Debug Playground",
8
+ subTitle: "AI 调试沙盒功能开发中...",
9
+ extra: /* @__PURE__ */ r(e, { type: "primary", children: "敬请期待" })
10
+ }
11
+ );
12
+ }
13
+ export {
14
+ i as D
15
+ };
@@ -1,79 +1,79 @@
1
1
  import { jsxs as i, jsx as e, Fragment as A } from "react/jsx-runtime";
2
2
  import { useState as o, useEffect as oe } from "react";
3
- import { Form as m, message as r, Button as d, Input as B, Row as ae, Col as z, Card as v, Statistic as S, Alert as O, Space as p, Typography as se, Tabs as de, Popconfirm as F, Table as _, Tag as h, Tooltip as ce, Modal as he, Radio as T, Select as w, InputNumber as ue } from "antd";
4
- import { PlusOutlined as me, ClockCircleOutlined as $, CheckCircleOutlined as j, LinkOutlined as U, CopyOutlined as x, QrcodeOutlined as M, UserDeleteOutlined as K, TeamOutlined as pe, MailOutlined as q, DeleteOutlined as ye, UserAddOutlined as N, CloseCircleOutlined as W } from "@ant-design/icons";
5
- import { l as ge, b as fe, g as ve, c as we, d as xe, e as Ce, f as be } from "./api-3-Ykp2ll.js";
6
- import { PageHeader as Ie, TableToolbar as ke } from "@yuku123/z-frontend-common/ui";
7
- const { Text: c } = se, De = () => {
8
- const [C] = m.useForm(), [D, L] = o(!1), [y, G] = o([]), [R, H] = o([]), [J, Q] = o(null), [u, V] = o(""), [X, b] = o(!1), [Y, E] = o(!1), [a, P] = o(null), [l, Z] = o(localStorage.getItem("userInfo") && JSON.parse(localStorage.getItem("userInfo") || "{}").tenantCode || "");
3
+ import { Form as m, message as l, Button as d, Input as B, Row as ae, Col as z, Card as v, Statistic as O, Alert as T, Space as p, Typography as se, Tabs as de, Popconfirm as F, Tag as h, Tooltip as ce, Modal as he, Radio as S, Select as w, InputNumber as ue } from "antd";
4
+ import { PlusOutlined as me, ClockCircleOutlined as _, CheckCircleOutlined as $, LinkOutlined as D, CopyOutlined as b, QrcodeOutlined as U, UserDeleteOutlined as K, TeamOutlined as pe, MailOutlined as j, DeleteOutlined as ye, UserAddOutlined as q, CloseCircleOutlined as N } from "@ant-design/icons";
5
+ import { l as fe, b as ge, g as ve, c as we, d as be, e as Ce, f as xe } from "./api-BNwdLozd.js";
6
+ import { PageHeader as Ie, TableToolbar as ke, ListTable as W } from "@yuku123/z-frontend-common/ui";
7
+ const { Text: c } = se, Me = () => {
8
+ const [C] = m.useForm(), [M, P] = o(!1), [y, G] = o([]), [L, H] = o([]), [J, Q] = o(null), [u, V] = o(""), [X, x] = o(!1), [Y, R] = o(!1), [a, E] = o(null), [r, Z] = o(localStorage.getItem("userInfo") && JSON.parse(localStorage.getItem("userInfo") || "{}").tenantCode || "");
9
9
  oe(() => {
10
- l && g();
11
- }, [l]);
12
- const g = async () => {
13
- if (!l) {
14
- r.warning("请先选择租户");
10
+ r && f();
11
+ }, [r]);
12
+ const f = async () => {
13
+ if (!r) {
14
+ l.warning("请先选择租户");
15
15
  return;
16
16
  }
17
- L(!0);
17
+ P(!0);
18
18
  try {
19
19
  const [t, n, s] = await Promise.all([
20
- ge(l).catch(() => []),
21
- fe(l).catch(() => []),
20
+ fe(r).catch(() => []),
21
+ ge(r).catch(() => []),
22
22
  ve().catch(() => null)
23
23
  ]);
24
24
  if (G(t || []), H(n || []), s) {
25
25
  Q(s.userId);
26
- const k = (s.memberships || []).find((re) => re.tenantCode === l);
26
+ const k = (s.memberships || []).find((le) => le.tenantCode === r);
27
27
  V((k == null ? void 0 : k.roleCode) || "");
28
28
  }
29
29
  } catch (t) {
30
- r.error("加载失败: " + ((t == null ? void 0 : t.message) || t));
30
+ l.error("加载失败: " + ((t == null ? void 0 : t.message) || t));
31
31
  } finally {
32
- L(!1);
32
+ P(!1);
33
33
  }
34
34
  }, ee = async () => {
35
35
  try {
36
36
  const t = await C.validateFields();
37
- E(!0);
38
- const n = await be({
39
- tenantCode: l,
37
+ R(!0);
38
+ const n = await xe({
39
+ tenantCode: r,
40
40
  inviteeEmail: t.inviteeEmail,
41
41
  roleCode: t.roleCode,
42
42
  type: t.type,
43
43
  maxUses: t.maxUses
44
44
  });
45
- n && n.id && (r.success("邀请创建成功!"), P(n), b(!1), C.resetFields(), g());
45
+ n && n.id && (l.success("邀请创建成功!"), E(n), x(!1), C.resetFields(), f());
46
46
  } catch (t) {
47
47
  if (t != null && t.errorFields) return;
48
- r.error("创建失败: " + ((t == null ? void 0 : t.message) || t));
48
+ l.error("创建失败: " + ((t == null ? void 0 : t.message) || t));
49
49
  } finally {
50
- E(!1);
50
+ R(!1);
51
51
  }
52
52
  }, te = async (t) => {
53
53
  try {
54
- await Ce(t, l), r.success("已撤销"), g();
54
+ await Ce(t, r), l.success("已撤销"), f();
55
55
  } catch (n) {
56
- r.error("撤销失败: " + ((n == null ? void 0 : n.message) || n));
56
+ l.error("撤销失败: " + ((n == null ? void 0 : n.message) || n));
57
57
  }
58
58
  }, ne = async (t, n) => {
59
59
  try {
60
- await xe(t, l), r.success(`已移除成员 ${n}`), g();
60
+ await be(t, r), l.success(`已移除成员 ${n}`), f();
61
61
  } catch (s) {
62
- r.error("移除失败: " + ((s == null ? void 0 : s.message) || s));
62
+ l.error("移除失败: " + ((s == null ? void 0 : s.message) || s));
63
63
  }
64
64
  }, ie = async () => {
65
65
  try {
66
- await we(l), r.success("已退出该租户"), window.location.href = "/onboarding";
66
+ await we(r), l.success("已退出该租户"), window.location.href = "/onboarding";
67
67
  } catch (t) {
68
- r.error("退出失败: " + ((t == null ? void 0 : t.message) || t));
68
+ l.error("退出失败: " + ((t == null ? void 0 : t.message) || t));
69
69
  }
70
- }, f = (t, n = "已复制") => {
71
- navigator.clipboard.writeText(t), r.success(n);
72
- }, le = {
73
- 0: { color: "processing", text: "待接受", icon: /* @__PURE__ */ e($, {}) },
74
- 1: { color: "success", text: "已接受", icon: /* @__PURE__ */ e(j, {}) },
75
- 2: { color: "default", text: "已撤销", icon: /* @__PURE__ */ e(W, {}) },
76
- 3: { color: "error", text: "已过期", icon: /* @__PURE__ */ e(W, {}) }
70
+ }, g = (t, n = "已复制") => {
71
+ navigator.clipboard.writeText(t), l.success(n);
72
+ }, re = {
73
+ 0: { color: "processing", text: "待接受", icon: /* @__PURE__ */ e(_, {}) },
74
+ 1: { color: "success", text: "已接受", icon: /* @__PURE__ */ e($, {}) },
75
+ 2: { color: "default", text: "已撤销", icon: /* @__PURE__ */ e(N, {}) },
76
+ 3: { color: "error", text: "已过期", icon: /* @__PURE__ */ e(N, {}) }
77
77
  }, I = {
78
78
  total: y.length,
79
79
  pending: y.filter((t) => t.status === 0).length,
@@ -84,7 +84,7 @@ const { Text: c } = se, De = () => {
84
84
  Ie,
85
85
  {
86
86
  title: "邀请管理",
87
- subtitle: `租户: ${l}`
87
+ subtitle: `租户: ${r}`
88
88
  }
89
89
  ),
90
90
  /* @__PURE__ */ e(
@@ -94,39 +94,39 @@ const { Text: c } = se, De = () => {
94
94
  B,
95
95
  {
96
96
  placeholder: "租户编码",
97
- value: l,
97
+ value: r,
98
98
  onChange: (t) => Z(t.target.value),
99
- onPressEnter: g,
99
+ onPressEnter: f,
100
100
  style: { width: 200 }
101
101
  }
102
102
  ),
103
- right: /* @__PURE__ */ e(d, { type: "primary", icon: /* @__PURE__ */ e(me, {}), onClick: () => b(!0), children: "创建邀请" }),
103
+ right: /* @__PURE__ */ e(d, { type: "primary", icon: /* @__PURE__ */ e(me, {}), onClick: () => x(!0), children: "创建邀请" }),
104
104
  extra: null
105
105
  }
106
106
  ),
107
107
  /* @__PURE__ */ i(ae, { gutter: 16, style: { marginBottom: 16 }, children: [
108
- /* @__PURE__ */ e(z, { span: 8, children: /* @__PURE__ */ e(v, { size: "small", children: /* @__PURE__ */ e(S, { title: "总邀请数", value: I.total }) }) }),
108
+ /* @__PURE__ */ e(z, { span: 8, children: /* @__PURE__ */ e(v, { size: "small", children: /* @__PURE__ */ e(O, { title: "总邀请数", value: I.total }) }) }),
109
109
  /* @__PURE__ */ e(z, { span: 8, children: /* @__PURE__ */ e(v, { size: "small", children: /* @__PURE__ */ e(
110
- S,
110
+ O,
111
111
  {
112
112
  title: "待接受",
113
113
  value: I.pending,
114
114
  styles: { content: { color: "#1890ff" } },
115
- prefix: /* @__PURE__ */ e($, {})
115
+ prefix: /* @__PURE__ */ e(_, {})
116
116
  }
117
117
  ) }) }),
118
118
  /* @__PURE__ */ e(z, { span: 8, children: /* @__PURE__ */ e(v, { size: "small", children: /* @__PURE__ */ e(
119
- S,
119
+ O,
120
120
  {
121
121
  title: "已接受",
122
122
  value: I.accepted,
123
123
  styles: { content: { color: "#52c41a" } },
124
- prefix: /* @__PURE__ */ e(j, {})
124
+ prefix: /* @__PURE__ */ e($, {})
125
125
  }
126
126
  ) }) })
127
127
  ] }),
128
128
  a && /* @__PURE__ */ e(
129
- O,
129
+ T,
130
130
  {
131
131
  type: "success",
132
132
  showIcon: !0,
@@ -134,20 +134,20 @@ const { Text: c } = se, De = () => {
134
134
  message: "邀请创建成功!",
135
135
  description: /* @__PURE__ */ i(p, { orientation: "vertical", style: { width: "100%" }, children: [
136
136
  a.inviteUrl && /* @__PURE__ */ i(p, { children: [
137
- /* @__PURE__ */ e(U, {}),
137
+ /* @__PURE__ */ e(D, {}),
138
138
  /* @__PURE__ */ e("code", { style: { background: "#f0f0f0", padding: "2px 6px", borderRadius: 3 }, children: a.inviteUrl }),
139
139
  /* @__PURE__ */ e(
140
140
  d,
141
141
  {
142
142
  size: "small",
143
- icon: /* @__PURE__ */ e(x, {}),
144
- onClick: () => f(a.inviteUrl, "邀请链接已复制"),
143
+ icon: /* @__PURE__ */ e(b, {}),
144
+ onClick: () => g(a.inviteUrl, "邀请链接已复制"),
145
145
  children: "复制链接"
146
146
  }
147
147
  )
148
148
  ] }),
149
149
  a.inviteCode && /* @__PURE__ */ i(p, { children: [
150
- /* @__PURE__ */ e(M, {}),
150
+ /* @__PURE__ */ e(U, {}),
151
151
  /* @__PURE__ */ e("code", { style: {
152
152
  background: "#f0f0f0",
153
153
  padding: "4px 12px",
@@ -160,8 +160,8 @@ const { Text: c } = se, De = () => {
160
160
  d,
161
161
  {
162
162
  size: "small",
163
- icon: /* @__PURE__ */ e(x, {}),
164
- onClick: () => f(a.inviteCode, "邀请码已复制"),
163
+ icon: /* @__PURE__ */ e(b, {}),
164
+ onClick: () => g(a.inviteCode, "邀请码已复制"),
165
165
  children: "复制码"
166
166
  }
167
167
  )
@@ -172,7 +172,7 @@ const { Text: c } = se, De = () => {
172
172
  ] })
173
173
  ] }),
174
174
  closable: !0,
175
- onClose: () => P(null)
175
+ onClose: () => E(null)
176
176
  }
177
177
  ),
178
178
  /* @__PURE__ */ e(v, { size: "small", styles: { body: { paddingTop: 8 } }, children: /* @__PURE__ */ e(
@@ -186,12 +186,12 @@ const { Text: c } = se, De = () => {
186
186
  label: /* @__PURE__ */ i("span", { children: [
187
187
  /* @__PURE__ */ e(pe, {}),
188
188
  " 成员管理 (",
189
- R.length,
189
+ L.length,
190
190
  ")"
191
191
  ] }),
192
192
  children: /* @__PURE__ */ i(A, { children: [
193
193
  u && u !== "owner" && /* @__PURE__ */ e(
194
- O,
194
+ T,
195
195
  {
196
196
  type: "warning",
197
197
  showIcon: !0,
@@ -209,14 +209,16 @@ const { Text: c } = se, De = () => {
209
209
  }
210
210
  ),
211
211
  /* @__PURE__ */ e(
212
- _,
212
+ W,
213
213
  {
214
- size: "small",
215
- loading: D,
216
- dataSource: R,
214
+ rows: L,
217
215
  rowKey: "id",
218
- pagination: { pageSize: 20, size: "small" },
219
- locale: { emptyText: "暂无成员" },
216
+ loading: M,
217
+ searchKeys: ["userId", "roleCode"],
218
+ searchPlaceholder: "按用户 ID / 角色过滤",
219
+ emptyTitle: "暂无成员",
220
+ emptyDescription: "该租户还没有成员,发个邀请把人拉进来。",
221
+ cardProps: { variant: "borderless", styles: { body: { padding: 0 } } },
220
222
  columns: [
221
223
  { title: "ID", dataIndex: "id", width: 60 },
222
224
  { title: "用户ID", dataIndex: "userId", width: 80 },
@@ -302,27 +304,30 @@ const { Text: c } = se, De = () => {
302
304
  {
303
305
  key: "invitations",
304
306
  label: /* @__PURE__ */ i("span", { children: [
305
- /* @__PURE__ */ e(N, {}),
307
+ /* @__PURE__ */ e(q, {}),
306
308
  " 邀请记录 (",
307
309
  y.length,
308
310
  ")"
309
311
  ] }),
312
+ // 邀请记录 —— 走基座 ListTable:标准分页 + 端侧过滤 + EmptyState。
310
313
  children: /* @__PURE__ */ e(
311
- _,
314
+ W,
312
315
  {
313
- size: "small",
314
- loading: D,
315
- dataSource: y,
316
+ rows: y,
316
317
  rowKey: "id",
317
- pagination: { pageSize: 10, size: "small" },
318
- locale: { emptyText: "暂无邀请, 点右上角创建第一个" },
318
+ loading: M,
319
+ searchKeys: ["inviteeEmail", "roleCode", "status"],
320
+ searchPlaceholder: "按被邀请人 / 角色 / 状态过滤",
321
+ emptyTitle: "暂无邀请",
322
+ emptyDescription: "点右上角创建第一个。",
323
+ cardProps: { variant: "borderless", styles: { body: { padding: 0 } } },
319
324
  columns: [
320
325
  { title: "ID", dataIndex: "id", width: 60 },
321
326
  {
322
327
  title: "类型",
323
328
  dataIndex: "type",
324
329
  width: 80,
325
- render: (t, n) => n.token ? /* @__PURE__ */ e(h, { color: "blue", icon: /* @__PURE__ */ e(U, {}), children: "链接" }) : n.inviteCode ? /* @__PURE__ */ e(h, { color: "purple", icon: /* @__PURE__ */ e(M, {}), children: "码" }) : "-"
330
+ render: (t, n) => n.token ? /* @__PURE__ */ e(h, { color: "blue", icon: /* @__PURE__ */ e(D, {}), children: "链接" }) : n.inviteCode ? /* @__PURE__ */ e(h, { color: "purple", icon: /* @__PURE__ */ e(U, {}), children: "码" }) : "-"
326
331
  },
327
332
  {
328
333
  title: "内容",
@@ -336,8 +341,8 @@ const { Text: c } = se, De = () => {
336
341
  {
337
342
  size: "small",
338
343
  type: "link",
339
- icon: /* @__PURE__ */ e(x, {}),
340
- onClick: () => f(
344
+ icon: /* @__PURE__ */ e(b, {}),
345
+ onClick: () => g(
341
346
  `https://opc.zopc.top/invite?token=${n.token}`,
342
347
  "完整链接已复制"
343
348
  ),
@@ -358,8 +363,8 @@ const { Text: c } = se, De = () => {
358
363
  {
359
364
  size: "small",
360
365
  type: "link",
361
- icon: /* @__PURE__ */ e(x, {}),
362
- onClick: () => f(n.inviteCode, "邀请码已复制"),
366
+ icon: /* @__PURE__ */ e(b, {}),
367
+ onClick: () => g(n.inviteCode, "邀请码已复制"),
363
368
  children: "复制"
364
369
  }
365
370
  )
@@ -368,7 +373,7 @@ const { Text: c } = se, De = () => {
368
373
  {
369
374
  title: "被邀请人",
370
375
  render: (t, n) => n.inviteeEmail ? /* @__PURE__ */ i(p, { size: 4, children: [
371
- /* @__PURE__ */ e(q, {}),
376
+ /* @__PURE__ */ e(j, {}),
372
377
  " ",
373
378
  n.inviteeEmail
374
379
  ] }) : n.inviteePhone || /* @__PURE__ */ e(c, { type: "secondary", children: "不限 (公开码)" })
@@ -399,7 +404,7 @@ const { Text: c } = se, De = () => {
399
404
  dataIndex: "status",
400
405
  width: 90,
401
406
  render: (t) => {
402
- const n = le[t] || { color: "default", text: "?" };
407
+ const n = re[t] || { color: "default", text: "?" };
403
408
  return /* @__PURE__ */ e(h, { color: n.color, icon: n.icon, children: n.text });
404
409
  }
405
410
  },
@@ -443,27 +448,27 @@ const { Text: c } = se, De = () => {
443
448
  he,
444
449
  {
445
450
  title: /* @__PURE__ */ i(A, { children: [
446
- /* @__PURE__ */ e(N, {}),
451
+ /* @__PURE__ */ e(q, {}),
447
452
  " 创建邀请"
448
453
  ] }),
449
454
  open: X,
450
- onCancel: () => b(!1),
455
+ onCancel: () => x(!1),
451
456
  onOk: ee,
452
457
  confirmLoading: Y,
453
458
  okText: "创建",
454
459
  children: [
455
460
  /* @__PURE__ */ i(m, { form: C, layout: "vertical", initialValues: { type: "link", roleCode: "member", maxUses: 1 }, children: [
456
- /* @__PURE__ */ e(m.Item, { name: "type", label: "类型", rules: [{ required: !0 }], children: /* @__PURE__ */ i(T.Group, { children: [
457
- /* @__PURE__ */ i(T.Button, { value: "link", children: [
458
- /* @__PURE__ */ e(U, {}),
461
+ /* @__PURE__ */ e(m.Item, { name: "type", label: "类型", rules: [{ required: !0 }], children: /* @__PURE__ */ i(S.Group, { children: [
462
+ /* @__PURE__ */ i(S.Button, { value: "link", children: [
463
+ /* @__PURE__ */ e(D, {}),
459
464
  " 邀请链接"
460
465
  ] }),
461
- /* @__PURE__ */ i(T.Button, { value: "code", children: [
462
- /* @__PURE__ */ e(M, {}),
466
+ /* @__PURE__ */ i(S.Button, { value: "code", children: [
467
+ /* @__PURE__ */ e(U, {}),
463
468
  " 邀请码"
464
469
  ] })
465
470
  ] }) }),
466
- /* @__PURE__ */ e(m.Item, { name: "inviteeEmail", label: "被邀请人邮箱 (可选, 链接模式可指定)", children: /* @__PURE__ */ e(B, { prefix: /* @__PURE__ */ e(q, {}), placeholder: "留空则任何人都可用 (码模式)" }) }),
471
+ /* @__PURE__ */ e(m.Item, { name: "inviteeEmail", label: "被邀请人邮箱 (可选, 链接模式可指定)", children: /* @__PURE__ */ e(B, { prefix: /* @__PURE__ */ e(j, {}), placeholder: "留空则任何人都可用 (码模式)" }) }),
467
472
  /* @__PURE__ */ e(m.Item, { name: "roleCode", label: "加入后角色", rules: [{ required: !0 }], children: /* @__PURE__ */ i(w, { children: [
468
473
  /* @__PURE__ */ e(w.Option, { value: "owner", children: "owner (完全管理)" }),
469
474
  /* @__PURE__ */ e(w.Option, { value: "admin", children: "admin (管理员)" }),
@@ -479,12 +484,12 @@ const { Text: c } = se, De = () => {
479
484
  }
480
485
  )
481
486
  ] }),
482
- /* @__PURE__ */ e(O, { type: "info", showIcon: !0, title: "链接模式 7 天过期, 码模式同 7 天" })
487
+ /* @__PURE__ */ e(T, { type: "info", showIcon: !0, title: "链接模式 7 天过期, 码模式同 7 天" })
483
488
  ]
484
489
  }
485
490
  )
486
491
  ] });
487
492
  };
488
493
  export {
489
- De as default
494
+ Me as default
490
495
  };
@@ -3,8 +3,8 @@ import { useState as a, useMemo as oe, useEffect as W } from "react";
3
3
  import { useNavigate as le, useSearchParams as se } from "react-router-dom";
4
4
  import { Form as c, message as o, Spin as ce, Typography as de, Card as d, Tag as x, Empty as me, Row as he, Col as fe, Space as S, Avatar as ge, Pagination as pe, Button as T, Result as ue, Modal as E, Input as k, Alert as U } from "antd";
5
5
  import { RocketOutlined as q, ApartmentOutlined as ye, CheckCircleOutlined as Ce, PlusOutlined as z, KeyOutlined as m, GiftOutlined as ve, HomeOutlined as we, CrownOutlined as be } from "@ant-design/icons";
6
- import { g as xe, a as Se, s as Te, r as ke } from "./api-3-Ykp2ll.js";
7
- import { a as ze } from "./ProjectApp-oUbzb0Io.js";
6
+ import { g as xe, a as Se, s as Te, r as ke } from "./api-BNwdLozd.js";
7
+ import { a as ze } from "./ProjectApp-ZR_QUlPs.js";
8
8
  const { Title: u, Text: O, Paragraph: Oe } = de, y = 12, Me = () => {
9
9
  const L = le(), [H] = se(), [_, I] = a(!0), [i, $] = a(null), [l, G] = a([]), [A, F] = a(0), [h, B] = a(""), [C, K] = a(1), X = oe(() => {
10
10
  const e = (C - 1) * y;