@parallelworks/tandem-web 0.142.0 → 0.144.0
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.
- package/_virtual/_virtual_i18n/en/common.js +156 -6
- package/_virtual/_virtual_i18n/es/common.js +156 -6
- package/_virtual/_virtual_i18n/ja/common.js +156 -6
- package/_virtual/_virtual_i18n/ko/common.js +156 -6
- package/_virtual/_virtual_i18n/zh/common.js +156 -6
- package/api/queries.js +85 -74
- package/components/AccessGrants.js +6 -6
- package/components/ActivityTimeline.js +2 -0
- package/components/CodeHostSettings.js +25 -25
- package/components/CustomFields.js +349 -0
- package/components/DocProperties.js +8 -2
- package/components/GitHub.js +22 -22
- package/components/IssueBoard.js +48 -43
- package/components/IssueEvent.js +2 -0
- package/components/IssueFilters.js +210 -122
- package/components/IssueImport.js +1 -1
- package/components/IssueRow.js +96 -79
- package/components/IssueTemplates.js +216 -156
- package/components/IssueTypes.js +318 -0
- package/components/NewIssueDialog.js +254 -216
- package/components/SettingsNav.js +45 -35
- package/components/TeamForm.js +49 -35
- package/components/TeamRepositories.js +51 -51
- package/components/TeamWorkflow.js +8 -8
- package/components/Updates.js +8 -8
- package/components/icons.js +8 -8
- package/lib/boardMove.js +69 -47
- package/lib/customFields.js +113 -0
- package/lib/issueDisplay.js +27 -12
- package/lib/issueList.js +166 -62
- package/lib/issueTypes.js +50 -0
- package/lib/teamTree.js +24 -0
- package/lib/views.js +13 -11
- package/package.json +1 -1
- package/pages/issues.js +331 -291
- package/routeTree.gen.js +186 -174
- package/routes/_workspace/agents/index2.js +9 -9
- package/routes/_workspace/issues/_identifier2.js +433 -370
- package/routes/_workspace/projects/_projectId3.js +213 -201
- package/routes/_workspace/settings/audit-log3.js +2 -0
- package/routes/_workspace/settings/fields.js +6 -0
- package/routes/_workspace/settings/fields2.js +30 -0
- package/routes/_workspace/settings/fields3.js +5 -0
- package/routes/_workspace/settings/groups2.js +74 -74
- package/routes/_workspace/settings/import.js +6 -0
- package/routes/_workspace/settings/import2.js +330 -0
- package/routes/_workspace/settings/import3.js +4 -0
- package/routes/_workspace/settings/labels2.js +33 -33
- package/routes/_workspace/settings/members2.js +35 -35
- package/routes/_workspace/settings/roles2.js +24 -24
- package/routes/_workspace/settings/runners2.js +18 -18
- package/routes/_workspace/settings/sessions2.js +9 -9
- package/routes/_workspace/settings/slack2.js +8 -8
- package/routes/_workspace/settings/sso2.js +50 -50
- package/routes/_workspace/settings/tokens2.js +15 -15
- package/routes/_workspace/settings/webhooks2.js +42 -42
- package/routes/_workspace/teams/_key/settings2.js +138 -76
- package/routes/_workspace2.js +320 -318
|
@@ -309,6 +309,8 @@ function H(e) {
|
|
|
309
309
|
case "issue.cycle_changed": return o.number ? ["issueCycleSet", { number: l("number") }] : ["issueCycleCleared", {}];
|
|
310
310
|
case "issue.estimate_changed": return Number(o.to) ? ["issueEstimateSet", { points: r.number(Number(o.to)) }] : ["issueEstimateCleared", {}];
|
|
311
311
|
case "issue.due_date_changed": return o.to ? ["issueDueDateSet", { date: i.day(l("to")) }] : ["issueDueDateCleared", {}];
|
|
312
|
+
case "issue.type_changed": return o.to ? ["issueTypeChanged", { type: l("to") }] : ["issueTypeCleared", {}];
|
|
313
|
+
case "issue.fields_changed": return ["issueFieldsChanged", { fields: r.list(o.fields ?? []) }];
|
|
312
314
|
case "issue.reaction_added":
|
|
313
315
|
case "issue.reaction_removed": return [e.type === "issue.reaction_added" ? "issueReactionAdded" : "issueReactionRemoved", { emoji: _[l("emoji")] ?? l("emoji") }];
|
|
314
316
|
case "issue.triage_accepted": return ["issueTriageAccepted", {}];
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createFileRoute as e, lazyFn as t, lazyRouteComponent as n } from "@tanstack/react-router";
|
|
2
|
+
var r = e("/$workspace/settings/fields")({
|
|
3
|
+
loader: t(() => import("./fields3.js"), "loader"),
|
|
4
|
+
component: n(() => import("./fields2.js"), "component")
|
|
5
|
+
});
|
|
6
|
+
export { r as Route };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { IssueTypeSettings as e } from "../../../components/IssueTypes.js";
|
|
2
|
+
import { Route as t } from "./fields.js";
|
|
3
|
+
import { useCan as n } from "../../../lib/roles.js";
|
|
4
|
+
import { AdminOnly as r, SettingsPage as i } from "../../../components/settings.js";
|
|
5
|
+
import { FieldSettings as a } from "../../../components/CustomFields.js";
|
|
6
|
+
import { useTranslations as o } from "use-intl";
|
|
7
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
8
|
+
// src/routes/$workspace/settings/fields.tsx?tsr-split=component
|
|
9
|
+
function l() {
|
|
10
|
+
let { workspace: l } = t.useParams(), u = o("customFields"), d = n(l, "manage_labels");
|
|
11
|
+
return /* @__PURE__ */ c(i, {
|
|
12
|
+
title: u("title"),
|
|
13
|
+
description: u("pageDescription"),
|
|
14
|
+
children: [/* @__PURE__ */ s(r, { workspace: l }), d && /* @__PURE__ */ c("div", {
|
|
15
|
+
className: "space-y-10",
|
|
16
|
+
children: [
|
|
17
|
+
/* @__PURE__ */ s(e, { workspace: l }),
|
|
18
|
+
/* @__PURE__ */ s(a, {
|
|
19
|
+
workspace: l,
|
|
20
|
+
target: "issue"
|
|
21
|
+
}),
|
|
22
|
+
/* @__PURE__ */ s(a, {
|
|
23
|
+
workspace: l,
|
|
24
|
+
target: "project"
|
|
25
|
+
})
|
|
26
|
+
]
|
|
27
|
+
})]
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
export { l as component };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { customFieldsQuery as e } from "../../../lib/customFields.js";
|
|
2
|
+
import { issueTypesQuery as t } from "../../../lib/issueTypes.js";
|
|
3
|
+
// src/routes/$workspace/settings/fields.tsx?tsr-split=loader
|
|
4
|
+
var n = ({ context: { queryClient: n }, params: { workspace: r } }) => Promise.all([n.ensureQueryData(e(r)), n.ensureQueryData(t(r))]);
|
|
5
|
+
export { n as loader };
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { api as e, unwrap as t } from "../../../api/client.js";
|
|
2
2
|
import { groupsQuery as n, meQuery as r } from "../../../api/queries.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
3
|
+
import { useConfirm as i } from "../../../lib/confirm.js";
|
|
4
|
+
import { AddIcon as a, UsersIcon as o } from "../../../components/icons.js";
|
|
5
|
+
import { Route as s } from "./groups.js";
|
|
6
|
+
import { usePeople as c } from "../../../lib/people.js";
|
|
7
|
+
import { useCan as l } from "../../../lib/roles.js";
|
|
8
|
+
import { AdminOnly as u, SettingsPage as d, useFormError as f } from "../../../components/settings.js";
|
|
9
9
|
import { Avatar as p, AvatarGroup as m, Button as h, Combobox as g, ErrorText as _, Input as v, Modal as y, ModalTitle as b, PageHeaderAddButton as x, Table as S, useOpenMenu as C } from "@parallelworks/ui";
|
|
10
10
|
import { useMemo as w, useState as T } from "react";
|
|
11
11
|
import { useTranslations as E } from "use-intl";
|
|
12
12
|
import { jsx as D, jsxs as O } from "react/jsx-runtime";
|
|
13
13
|
import { useMutation as k, useQueryClient as A, useSuspenseQuery as j } from "@tanstack/react-query";
|
|
14
|
-
import { ListCellText as M, ListColumns as N, ListPage as
|
|
14
|
+
import { ListCellText as M, ListColumns as N, ListPage as ee, ListRow as te, ListToolbar as ne, NameCell as P, listTableProps as F, useCopySubmenu as I, useListNavigate as L, useListSearch as R, useListView as z } from "@parallelworks/ui/list";
|
|
15
15
|
// src/routes/$workspace/settings/groups.tsx?tsr-split=component
|
|
16
|
-
function
|
|
17
|
-
let { workspace: e } =
|
|
18
|
-
return /* @__PURE__ */ D(
|
|
16
|
+
function B() {
|
|
17
|
+
let { workspace: e } = s.useParams(), { data: t } = j(r), n = l(e, "manage_members"), i = t?.mode === "platform";
|
|
18
|
+
return /* @__PURE__ */ D(H, {
|
|
19
19
|
workspace: e,
|
|
20
20
|
isAdmin: n && !i,
|
|
21
21
|
managed: i
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
|
-
function
|
|
25
|
-
let i = A(), a =
|
|
24
|
+
function V(r) {
|
|
25
|
+
let i = A(), a = f(), o = () => i.invalidateQueries({ queryKey: n(r).queryKey });
|
|
26
26
|
return {
|
|
27
27
|
create: k({
|
|
28
28
|
mutationFn: async (n) => t(await e.POST("/api/v1/workspaces/{workspace}/groups", {
|
|
@@ -71,136 +71,136 @@ function B(r) {
|
|
|
71
71
|
err: a
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
|
-
function
|
|
75
|
-
let { data:
|
|
74
|
+
function H({ workspace: e, isAdmin: t, managed: r }) {
|
|
75
|
+
let { data: a } = j(n(e)), s = E("settings"), l = E("common"), { person: f } = c(e), h = V(e), g = R(), v = C(), y = L(), b = I(), { confirm: k, dialog: A } = i(), [B, H] = T(null), [G, K] = T(!1), q = h.setMembers.isError ? h.setMembers.variables?.group : h.rename.isError ? h.rename.variables?.group.slug : void 0, J = w(() => [
|
|
76
76
|
{
|
|
77
77
|
key: "name",
|
|
78
|
-
label:
|
|
78
|
+
label: s("groupColName"),
|
|
79
79
|
headerClassName: "py-2 @[36rem]:w-[45%]",
|
|
80
80
|
alwaysVisible: !0
|
|
81
81
|
},
|
|
82
82
|
{
|
|
83
83
|
key: "members",
|
|
84
|
-
label:
|
|
84
|
+
label: s("members"),
|
|
85
85
|
headerClassName: "py-2"
|
|
86
86
|
},
|
|
87
87
|
{
|
|
88
88
|
key: "slug",
|
|
89
|
-
label:
|
|
89
|
+
label: s("groupColSlug"),
|
|
90
90
|
headerClassName: "py-2",
|
|
91
91
|
defaultHidden: !0
|
|
92
92
|
}
|
|
93
|
-
], [
|
|
93
|
+
], [s]), re = w(() => [{
|
|
94
94
|
value: "name",
|
|
95
|
-
label:
|
|
95
|
+
label: s("groupColName"),
|
|
96
96
|
compare: (e, t) => e.name.localeCompare(t.name)
|
|
97
97
|
}, {
|
|
98
98
|
value: "members",
|
|
99
|
-
label:
|
|
99
|
+
label: s("members"),
|
|
100
100
|
compare: (e, t) => e.usernames.length - t.usernames.length
|
|
101
|
-
}], [
|
|
101
|
+
}], [s]), Y = z({
|
|
102
102
|
storageKey: `tandem-groups-${e}`,
|
|
103
103
|
defaultShowColumnHeaders: !1,
|
|
104
|
-
columns:
|
|
105
|
-
orderBys:
|
|
104
|
+
columns: J,
|
|
105
|
+
orderBys: re,
|
|
106
106
|
defaultOrderBy: "name",
|
|
107
107
|
facets: []
|
|
108
|
-
}), X = g.filter.trim().toLowerCase(), Z =
|
|
108
|
+
}), X = g.filter.trim().toLowerCase(), Z = a.filter((e) => !X || [
|
|
109
109
|
e.name,
|
|
110
110
|
e.slug,
|
|
111
|
-
...e.usernames.map((e) =>
|
|
111
|
+
...e.usernames.map((e) => f(e).name)
|
|
112
112
|
].some((e) => e.toLowerCase().includes(X))), ie = Y.applyOrder(Z), Q = (e) => k({
|
|
113
|
-
title:
|
|
114
|
-
description:
|
|
115
|
-
confirmLabel:
|
|
113
|
+
title: s("deleteGroupTitle"),
|
|
114
|
+
description: s("deleteGroupDescription", { name: e.name }),
|
|
115
|
+
confirmLabel: l("delete"),
|
|
116
116
|
onConfirm: () => h.remove.mutateAsync(e.slug)
|
|
117
117
|
}), ae = (e) => [
|
|
118
118
|
{
|
|
119
|
-
label:
|
|
120
|
-
onClick: () =>
|
|
119
|
+
label: s(t ? "editGroup" : "viewGroup"),
|
|
120
|
+
onClick: () => H(e.slug)
|
|
121
121
|
},
|
|
122
122
|
b({
|
|
123
123
|
name: e.name,
|
|
124
124
|
extra: [{
|
|
125
|
-
label:
|
|
125
|
+
label: s("groupColSlug"),
|
|
126
126
|
value: e.slug
|
|
127
127
|
}]
|
|
128
128
|
}),
|
|
129
129
|
...t && !r ? [{ divider: !0 }, {
|
|
130
|
-
label:
|
|
130
|
+
label: s("deleteGroup"),
|
|
131
131
|
destructive: !0,
|
|
132
132
|
onClick: () => Q(e)
|
|
133
133
|
}] : []
|
|
134
|
-
], $ =
|
|
135
|
-
return /* @__PURE__ */ O(
|
|
134
|
+
], $ = a.find((e) => e.slug === B);
|
|
135
|
+
return /* @__PURE__ */ O(d, {
|
|
136
136
|
wide: !0,
|
|
137
|
-
title:
|
|
138
|
-
description:
|
|
137
|
+
title: s("groups"),
|
|
138
|
+
description: s(r ? "groupsManaged" : "groupsDescription"),
|
|
139
139
|
actions: t && !r && /* @__PURE__ */ D(x, {
|
|
140
|
-
label:
|
|
140
|
+
label: s("newGroup"),
|
|
141
141
|
word: "create",
|
|
142
|
-
onClick: () =>
|
|
142
|
+
onClick: () => K(!0)
|
|
143
143
|
}),
|
|
144
|
-
toolbar:
|
|
144
|
+
toolbar: a.length > 0 && /* @__PURE__ */ D(ne, {
|
|
145
145
|
view: Y,
|
|
146
146
|
search: g,
|
|
147
|
-
searchLabel:
|
|
148
|
-
searchPlaceholder:
|
|
147
|
+
searchLabel: s("groupSearch"),
|
|
148
|
+
searchPlaceholder: s("groupSearch")
|
|
149
149
|
}),
|
|
150
150
|
children: [
|
|
151
151
|
/* @__PURE__ */ D("div", {
|
|
152
152
|
className: "px-4",
|
|
153
|
-
children: /* @__PURE__ */ D(
|
|
153
|
+
children: /* @__PURE__ */ D(u, {
|
|
154
154
|
workspace: e,
|
|
155
155
|
permission: "manage_members"
|
|
156
156
|
})
|
|
157
157
|
}),
|
|
158
158
|
/* @__PURE__ */ D("div", {
|
|
159
159
|
className: "border-t border-border",
|
|
160
|
-
children: /* @__PURE__ */ D(
|
|
160
|
+
children: /* @__PURE__ */ D(ee, {
|
|
161
161
|
view: Y,
|
|
162
|
-
total:
|
|
162
|
+
total: a.length,
|
|
163
163
|
matches: Z.length,
|
|
164
164
|
count: {
|
|
165
165
|
filterActive: X !== "",
|
|
166
|
-
noun:
|
|
167
|
-
nounPlural:
|
|
166
|
+
noun: s("groupNoun"),
|
|
167
|
+
nounPlural: s("groupNounPlural")
|
|
168
168
|
},
|
|
169
169
|
empty: {
|
|
170
|
-
icon: /* @__PURE__ */ D(
|
|
171
|
-
title:
|
|
170
|
+
icon: /* @__PURE__ */ D(o, {}),
|
|
171
|
+
title: s("noGroups")
|
|
172
172
|
},
|
|
173
|
-
noMatches:
|
|
173
|
+
noMatches: s("groupNoMatches"),
|
|
174
174
|
children: /* @__PURE__ */ O(S, {
|
|
175
|
-
...
|
|
176
|
-
children: [/* @__PURE__ */ D(N, { view: Y }), ie.map((e) => /* @__PURE__ */ O(
|
|
175
|
+
...F,
|
|
176
|
+
children: [/* @__PURE__ */ D(N, { view: Y }), ie.map((e) => /* @__PURE__ */ O(te, {
|
|
177
177
|
href: null,
|
|
178
|
-
onActivate: () =>
|
|
178
|
+
onActivate: () => H(e.slug),
|
|
179
179
|
items: ae(e),
|
|
180
180
|
goTo: y,
|
|
181
181
|
openMenu: v,
|
|
182
182
|
children: [
|
|
183
|
-
/* @__PURE__ */ D(
|
|
184
|
-
icon: /* @__PURE__ */ D(
|
|
183
|
+
/* @__PURE__ */ D(P, {
|
|
184
|
+
icon: /* @__PURE__ */ D(o, {}),
|
|
185
185
|
iconTile: !0,
|
|
186
186
|
name: e.name,
|
|
187
187
|
subtitle: e.slug,
|
|
188
188
|
href: null,
|
|
189
|
-
children: !$ && !
|
|
189
|
+
children: !$ && !G && q === e.slug && /* @__PURE__ */ D(_, {
|
|
190
190
|
className: "mt-1",
|
|
191
191
|
children: h.err.error
|
|
192
192
|
})
|
|
193
193
|
}),
|
|
194
194
|
Y.isVisible("members") && /* @__PURE__ */ D(S.Item, {
|
|
195
195
|
className: "py-2.5",
|
|
196
|
-
children: e.usernames.length === 0 ? /* @__PURE__ */ D(M, { children:
|
|
196
|
+
children: e.usernames.length === 0 ? /* @__PURE__ */ D(M, { children: s("noMembers") }) : /* @__PURE__ */ O("span", {
|
|
197
197
|
className: "flex items-center gap-2",
|
|
198
198
|
children: [/* @__PURE__ */ D(m, {
|
|
199
199
|
size: "sm",
|
|
200
200
|
max: 5,
|
|
201
201
|
showOverflow: !1,
|
|
202
202
|
children: e.usernames.map((e) => {
|
|
203
|
-
let t =
|
|
203
|
+
let t = f(e);
|
|
204
204
|
return /* @__PURE__ */ D(p, {
|
|
205
205
|
name: t.name,
|
|
206
206
|
src: t.avatarUrl,
|
|
@@ -209,7 +209,7 @@ function V({ workspace: e, isAdmin: t, managed: r }) {
|
|
|
209
209
|
})
|
|
210
210
|
}), /* @__PURE__ */ D(M, {
|
|
211
211
|
className: "tabular-nums",
|
|
212
|
-
children:
|
|
212
|
+
children: s("groupMemberCount", { count: e.usernames.length })
|
|
213
213
|
})]
|
|
214
214
|
})
|
|
215
215
|
}),
|
|
@@ -226,28 +226,28 @@ function V({ workspace: e, isAdmin: t, managed: r }) {
|
|
|
226
226
|
})
|
|
227
227
|
}),
|
|
228
228
|
A,
|
|
229
|
-
$ && /* @__PURE__ */ D(
|
|
229
|
+
$ && /* @__PURE__ */ D(W, {
|
|
230
230
|
workspace: e,
|
|
231
231
|
group: $,
|
|
232
232
|
isAdmin: t,
|
|
233
233
|
managed: r,
|
|
234
234
|
actions: h,
|
|
235
235
|
onDelete: () => {
|
|
236
|
-
|
|
236
|
+
H(null), Q($);
|
|
237
237
|
},
|
|
238
|
-
onClose: () =>
|
|
238
|
+
onClose: () => H(null)
|
|
239
239
|
}),
|
|
240
|
-
|
|
240
|
+
G && /* @__PURE__ */ D(U, {
|
|
241
241
|
actions: h,
|
|
242
242
|
onCreated: (e) => {
|
|
243
|
-
|
|
243
|
+
K(!1), H(e);
|
|
244
244
|
},
|
|
245
|
-
onClose: () =>
|
|
245
|
+
onClose: () => K(!1)
|
|
246
246
|
})
|
|
247
247
|
]
|
|
248
248
|
});
|
|
249
249
|
}
|
|
250
|
-
function
|
|
250
|
+
function U({ actions: e, onCreated: t, onClose: n }) {
|
|
251
251
|
let r = E("settings"), i = E("common"), [a, o] = T("");
|
|
252
252
|
return /* @__PURE__ */ D(y, {
|
|
253
253
|
open: !0,
|
|
@@ -296,8 +296,8 @@ function H({ actions: e, onCreated: t, onClose: n }) {
|
|
|
296
296
|
})
|
|
297
297
|
});
|
|
298
298
|
}
|
|
299
|
-
function
|
|
300
|
-
let u = E("settings"), d = E("common"), { members: f, person: m } =
|
|
299
|
+
function W({ workspace: e, group: t, isAdmin: n, managed: r, actions: i, onDelete: s, onClose: l }) {
|
|
300
|
+
let u = E("settings"), d = E("common"), { members: f, person: m } = c(e), [x, S] = T(t.name), [C, w] = T(t.slug), k = n && !r, A = x.trim() !== t.name || C !== t.slug, j = (e) => i.setMembers.mutate({
|
|
301
301
|
group: t.slug,
|
|
302
302
|
usernames: e
|
|
303
303
|
});
|
|
@@ -308,12 +308,12 @@ function U({ workspace: e, group: t, isAdmin: n, managed: r, actions: o, onDelet
|
|
|
308
308
|
children: [
|
|
309
309
|
/* @__PURE__ */ O(b, {
|
|
310
310
|
className: "flex items-center gap-2 text-sm font-semibold",
|
|
311
|
-
children: [/* @__PURE__ */ D(
|
|
311
|
+
children: [/* @__PURE__ */ D(o, { className: "size-4 text-muted-foreground" }), t.name]
|
|
312
312
|
}),
|
|
313
313
|
k && /* @__PURE__ */ O("form", {
|
|
314
314
|
className: "mt-4 flex flex-wrap items-end gap-2",
|
|
315
315
|
onSubmit: (e) => {
|
|
316
|
-
e.preventDefault(),
|
|
316
|
+
e.preventDefault(), i.rename.mutate({
|
|
317
317
|
group: t,
|
|
318
318
|
name: x.trim(),
|
|
319
319
|
slug: C
|
|
@@ -345,7 +345,7 @@ function U({ workspace: e, group: t, isAdmin: n, managed: r, actions: o, onDelet
|
|
|
345
345
|
type: "submit",
|
|
346
346
|
variant: "primary",
|
|
347
347
|
disabled: !A,
|
|
348
|
-
loading:
|
|
348
|
+
loading: i.rename.isPending,
|
|
349
349
|
children: d("save")
|
|
350
350
|
})
|
|
351
351
|
]
|
|
@@ -376,7 +376,7 @@ function U({ workspace: e, group: t, isAdmin: n, managed: r, actions: o, onDelet
|
|
|
376
376
|
trigger: /* @__PURE__ */ O(h, {
|
|
377
377
|
type: "button",
|
|
378
378
|
size: "sm",
|
|
379
|
-
children: [/* @__PURE__ */ D(
|
|
379
|
+
children: [/* @__PURE__ */ D(a, { className: "size-3.5" }), u("addPeople")]
|
|
380
380
|
})
|
|
381
381
|
})
|
|
382
382
|
})]
|
|
@@ -421,13 +421,13 @@ function U({ workspace: e, group: t, isAdmin: n, managed: r, actions: o, onDelet
|
|
|
421
421
|
/* @__PURE__ */ D(_, {
|
|
422
422
|
size: "md",
|
|
423
423
|
className: "mt-3",
|
|
424
|
-
children:
|
|
424
|
+
children: i.err.error
|
|
425
425
|
}),
|
|
426
426
|
/* @__PURE__ */ O("div", {
|
|
427
427
|
className: "mt-5 flex items-center gap-2",
|
|
428
428
|
children: [k && /* @__PURE__ */ D("button", {
|
|
429
429
|
type: "button",
|
|
430
|
-
onClick:
|
|
430
|
+
onClick: s,
|
|
431
431
|
className: "text-sm text-danger hover:underline",
|
|
432
432
|
children: u("deleteGroup")
|
|
433
433
|
}), /* @__PURE__ */ D(h, {
|
|
@@ -440,4 +440,4 @@ function U({ workspace: e, group: t, isAdmin: n, managed: r, actions: o, onDelet
|
|
|
440
440
|
]
|
|
441
441
|
});
|
|
442
442
|
}
|
|
443
|
-
export {
|
|
443
|
+
export { B as component };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createFileRoute as e, lazyFn as t, lazyRouteComponent as n } from "@tanstack/react-router";
|
|
2
|
+
var r = e("/$workspace/settings/import")({
|
|
3
|
+
loader: t(() => import("./import3.js"), "loader"),
|
|
4
|
+
component: n(() => import("./import2.js"), "component")
|
|
5
|
+
});
|
|
6
|
+
export { r as Route };
|