@acmekit/dashboard 2.13.7 → 2.13.8
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/dist/api-key-management-create-D57V3NN2.mjs +170 -0
- package/dist/api-key-management-detail-QURSBB6T.mjs +307 -0
- package/dist/api-key-management-edit-GG5V77GY.mjs +106 -0
- package/dist/api-key-management-list-PL64LD22.mjs +400 -0
- package/dist/app.js +16930 -1004
- package/dist/app.mjs +793 -884
- package/dist/chunk-22YYMH6M.mjs +382 -0
- package/dist/chunk-2U3RK3JG.mjs +474 -0
- package/dist/chunk-535OVBXR.mjs +226 -0
- package/dist/chunk-6SQCO25J.mjs +65 -0
- package/dist/chunk-774WSTCC.mjs +19 -0
- package/dist/chunk-7ZHDHEUH.mjs +1837 -0
- package/dist/chunk-C76H5USB.mjs +16 -0
- package/dist/chunk-DFFLVEZ5.mjs +40 -0
- package/dist/chunk-DN3MIYQH.mjs +140 -0
- package/dist/chunk-DQCEH3X2.mjs +28 -0
- package/dist/chunk-DTY37DDZ.mjs +20 -0
- package/dist/chunk-FXYH54JP.mjs +16 -0
- package/dist/chunk-G22WWLPG.mjs +44 -0
- package/dist/chunk-G2VJOHHV.mjs +32 -0
- package/dist/chunk-GBFVWROS.mjs +58 -0
- package/dist/chunk-ITNQKZQQ.mjs +142 -0
- package/dist/chunk-IUCDCPJU.mjs +0 -0
- package/dist/chunk-LKWTBYYC.mjs +35 -0
- package/dist/{chunk-4VYJHIB3.mjs → chunk-ND3ODI36.mjs} +0 -72
- package/dist/chunk-OAHCJFG3.mjs +17 -0
- package/dist/chunk-OHAFITSB.mjs +54 -0
- package/dist/chunk-RPAL6FHW.mjs +73 -0
- package/dist/{chunk-JSJZMTQG.mjs → chunk-RREPQMYC.mjs} +14 -41
- package/dist/chunk-S3REQHPQ.mjs +86 -0
- package/dist/chunk-S4DMV3ZT.mjs +35 -0
- package/dist/chunk-TCNCAWYD.mjs +9 -0
- package/dist/chunk-ULSPL3DR.mjs +126 -0
- package/dist/chunk-VBT5YZ4K.mjs +129 -0
- package/dist/chunk-WILMJYUB.mjs +35 -0
- package/dist/chunk-XIM7X4FB.mjs +83 -0
- package/dist/chunk-YB52HEIR.mjs +387 -0
- package/dist/chunk-YRWSG3YM.mjs +80 -0
- package/dist/{invite-S5USGDOZ.mjs → invite-BAFXQBLJ.mjs} +15 -7
- package/dist/{login-AIMR26AL.mjs → login-YURMNRCS.mjs} +23 -9
- package/dist/profile-detail-SJWODS2K.mjs +96 -0
- package/dist/profile-edit-HSGF4UXZ.mjs +173 -0
- package/dist/{reset-password-UQPRHMB3.mjs → reset-password-RQ5M7HQC.mjs} +8 -4
- package/dist/settings-3XWLL5LG.mjs +545 -0
- package/dist/store-detail-SQKV5KBD.mjs +109 -0
- package/dist/store-edit-WGGIJMYJ.mjs +97 -0
- package/dist/store-metadata-CSBUGX6Z.mjs +49 -0
- package/dist/translation-list-H5X4DVCC.mjs +587 -0
- package/dist/translations-edit-NPAUN2GZ.mjs +5376 -0
- package/dist/user-detail-7SUQ35G7.mjs +169 -0
- package/dist/user-edit-KUZV37AH.mjs +114 -0
- package/dist/user-invite-OREFWWYL.mjs +361 -0
- package/dist/user-list-OWUR75OP.mjs +1116 -0
- package/dist/user-metadata-QHUX5SHZ.mjs +51 -0
- package/dist/workflow-execution-detail-MWNM25TF.mjs +820 -0
- package/dist/workflow-execution-list-IGYF44UH.mjs +175 -0
- package/package.json +9 -9
- package/src/components/layout/settings-layout/settings-layout.tsx +8 -2
- package/dist/chunk-FBTP4AJM.mjs +0 -221
- package/dist/chunk-QYOO4QR6.mjs +0 -73
package/dist/app.mjs
CHANGED
|
@@ -1,24 +1,56 @@
|
|
|
1
|
+
import {
|
|
2
|
+
I18n
|
|
3
|
+
} from "./chunk-W3WS3HKB.mjs";
|
|
1
4
|
import {
|
|
2
5
|
notificationQueryKeys,
|
|
3
|
-
useFeatureFlags,
|
|
4
|
-
useMe,
|
|
5
6
|
useNotifications
|
|
6
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-6SQCO25J.mjs";
|
|
8
|
+
import "./chunk-ULSPL3DR.mjs";
|
|
7
9
|
import {
|
|
8
|
-
|
|
9
|
-
} from "./chunk-
|
|
10
|
+
useLogout
|
|
11
|
+
} from "./chunk-GBFVWROS.mjs";
|
|
12
|
+
import "./chunk-VBT5YZ4K.mjs";
|
|
13
|
+
import "./chunk-LKWTBYYC.mjs";
|
|
14
|
+
import "./chunk-OHAFITSB.mjs";
|
|
15
|
+
import {
|
|
16
|
+
FeatureFlagProvider,
|
|
17
|
+
useFeatureFlag
|
|
18
|
+
} from "./chunk-DQCEH3X2.mjs";
|
|
10
19
|
import {
|
|
11
20
|
ExtensionProvider,
|
|
12
21
|
useExtension
|
|
13
22
|
} from "./chunk-C5P5PL3E.mjs";
|
|
23
|
+
import "./chunk-DN3MIYQH.mjs";
|
|
24
|
+
import {
|
|
25
|
+
useMe
|
|
26
|
+
} from "./chunk-YRWSG3YM.mjs";
|
|
27
|
+
import {
|
|
28
|
+
isFetchError
|
|
29
|
+
} from "./chunk-TCNCAWYD.mjs";
|
|
30
|
+
import "./chunk-XIM7X4FB.mjs";
|
|
31
|
+
import {
|
|
32
|
+
Skeleton
|
|
33
|
+
} from "./chunk-ITNQKZQQ.mjs";
|
|
34
|
+
import "./chunk-ND3ODI36.mjs";
|
|
35
|
+
import {
|
|
36
|
+
languages
|
|
37
|
+
} from "./chunk-535OVBXR.mjs";
|
|
38
|
+
import {
|
|
39
|
+
ActionMenu
|
|
40
|
+
} from "./chunk-S3REQHPQ.mjs";
|
|
41
|
+
import {
|
|
42
|
+
ConditionalTooltip
|
|
43
|
+
} from "./chunk-OAHCJFG3.mjs";
|
|
44
|
+
import {
|
|
45
|
+
useDocumentDirection
|
|
46
|
+
} from "./chunk-S4DMV3ZT.mjs";
|
|
14
47
|
import {
|
|
15
|
-
isFetchError,
|
|
16
48
|
queryClient
|
|
17
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-FXYH54JP.mjs";
|
|
50
|
+
import "./chunk-774WSTCC.mjs";
|
|
18
51
|
import {
|
|
19
|
-
sdk
|
|
20
|
-
|
|
21
|
-
} from "./chunk-4VYJHIB3.mjs";
|
|
52
|
+
sdk
|
|
53
|
+
} from "./chunk-DTY37DDZ.mjs";
|
|
22
54
|
import {
|
|
23
55
|
__publicField
|
|
24
56
|
} from "./chunk-QZ7TP4HQ.mjs";
|
|
@@ -42,231 +74,6 @@ import { HelmetProvider } from "react-helmet-async";
|
|
|
42
74
|
import { I18nProvider as Provider } from "@acmekit/ui";
|
|
43
75
|
import { useEffect } from "react";
|
|
44
76
|
import { useTranslation } from "react-i18next";
|
|
45
|
-
|
|
46
|
-
// src/i18n/languages.ts
|
|
47
|
-
import {
|
|
48
|
-
ar,
|
|
49
|
-
bg,
|
|
50
|
-
bs,
|
|
51
|
-
cs,
|
|
52
|
-
de,
|
|
53
|
-
el,
|
|
54
|
-
enUS,
|
|
55
|
-
es,
|
|
56
|
-
faIR,
|
|
57
|
-
fr,
|
|
58
|
-
he,
|
|
59
|
-
hu,
|
|
60
|
-
id,
|
|
61
|
-
it,
|
|
62
|
-
ja,
|
|
63
|
-
ko,
|
|
64
|
-
lt,
|
|
65
|
-
mk,
|
|
66
|
-
mn,
|
|
67
|
-
nl,
|
|
68
|
-
pl,
|
|
69
|
-
pt,
|
|
70
|
-
ptBR,
|
|
71
|
-
ro,
|
|
72
|
-
ru,
|
|
73
|
-
th,
|
|
74
|
-
tr,
|
|
75
|
-
uk,
|
|
76
|
-
vi,
|
|
77
|
-
zhCN,
|
|
78
|
-
zhTW
|
|
79
|
-
} from "date-fns/locale";
|
|
80
|
-
var languages = [
|
|
81
|
-
{
|
|
82
|
-
code: "bs",
|
|
83
|
-
display_name: "Bosanski",
|
|
84
|
-
ltr: true,
|
|
85
|
-
date_locale: bs
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
code: "bg",
|
|
89
|
-
display_name: "\u0411\u044A\u043B\u0433\u0430\u0440\u0441\u043A\u0438",
|
|
90
|
-
ltr: true,
|
|
91
|
-
date_locale: bg
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
code: "en",
|
|
95
|
-
display_name: "English",
|
|
96
|
-
ltr: true,
|
|
97
|
-
date_locale: enUS
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
code: "es",
|
|
101
|
-
display_name: "Espa\xF1ol",
|
|
102
|
-
ltr: true,
|
|
103
|
-
date_locale: es
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
code: "el",
|
|
107
|
-
display_name: "\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC",
|
|
108
|
-
ltr: true,
|
|
109
|
-
date_locale: el
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
code: "de",
|
|
113
|
-
display_name: "Deutsch",
|
|
114
|
-
ltr: true,
|
|
115
|
-
date_locale: de
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
code: "fr",
|
|
119
|
-
display_name: "Fran\xE7ais",
|
|
120
|
-
ltr: true,
|
|
121
|
-
date_locale: fr
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
code: "he",
|
|
125
|
-
display_name: "\u05E2\u05D1\u05E8\u05D9\u05EA",
|
|
126
|
-
ltr: false,
|
|
127
|
-
date_locale: he
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
code: "hu",
|
|
131
|
-
display_name: "Magyar",
|
|
132
|
-
ltr: true,
|
|
133
|
-
date_locale: hu
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
code: "it",
|
|
137
|
-
display_name: "Italiano",
|
|
138
|
-
ltr: true,
|
|
139
|
-
date_locale: it
|
|
140
|
-
},
|
|
141
|
-
{
|
|
142
|
-
code: "ja",
|
|
143
|
-
display_name: "\u65E5\u672C\u8A9E",
|
|
144
|
-
ltr: true,
|
|
145
|
-
date_locale: ja
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
code: "pl",
|
|
149
|
-
display_name: "Polski",
|
|
150
|
-
ltr: true,
|
|
151
|
-
date_locale: pl
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
code: "ptBR",
|
|
155
|
-
display_name: "Portugu\xEAs (Brasil)",
|
|
156
|
-
ltr: true,
|
|
157
|
-
date_locale: ptBR
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
code: "ptPT",
|
|
161
|
-
display_name: "Portugu\xEAs (Portugal)",
|
|
162
|
-
ltr: true,
|
|
163
|
-
date_locale: pt
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
code: "tr",
|
|
167
|
-
display_name: "T\xFCrk\xE7e",
|
|
168
|
-
ltr: true,
|
|
169
|
-
date_locale: tr
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
code: "th",
|
|
173
|
-
display_name: "\u0E44\u0E17\u0E22",
|
|
174
|
-
ltr: true,
|
|
175
|
-
date_locale: th
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
code: "uk",
|
|
179
|
-
display_name: "\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430",
|
|
180
|
-
ltr: true,
|
|
181
|
-
date_locale: uk
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
code: "ro",
|
|
185
|
-
display_name: "Rom\xE2n\u0103",
|
|
186
|
-
ltr: true,
|
|
187
|
-
date_locale: ro
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
code: "mk",
|
|
191
|
-
display_name: "\u041C\u0430\u043A\u0435\u0434\u043E\u043D\u0441\u043A\u0438",
|
|
192
|
-
ltr: true,
|
|
193
|
-
date_locale: mk
|
|
194
|
-
},
|
|
195
|
-
{
|
|
196
|
-
code: "mn",
|
|
197
|
-
display_name: "\u041C\u043E\u043D\u0433\u043E\u043B",
|
|
198
|
-
ltr: true,
|
|
199
|
-
date_locale: mn
|
|
200
|
-
},
|
|
201
|
-
{
|
|
202
|
-
code: "ar",
|
|
203
|
-
display_name: "\u0627\u0644\u0639\u0631\u0628\u064A\u0629",
|
|
204
|
-
ltr: false,
|
|
205
|
-
date_locale: ar
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
code: "zhCN",
|
|
209
|
-
display_name: "\u7B80\u4F53\u4E2D\u6587",
|
|
210
|
-
ltr: true,
|
|
211
|
-
date_locale: zhCN
|
|
212
|
-
},
|
|
213
|
-
{
|
|
214
|
-
code: "fa",
|
|
215
|
-
display_name: "\u0641\u0627\u0631\u0633\u06CC",
|
|
216
|
-
ltr: false,
|
|
217
|
-
date_locale: faIR
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
code: "cs",
|
|
221
|
-
display_name: "\u010Ce\u0161tina",
|
|
222
|
-
ltr: true,
|
|
223
|
-
date_locale: cs
|
|
224
|
-
},
|
|
225
|
-
{
|
|
226
|
-
code: "ru",
|
|
227
|
-
display_name: "\u0420\u0443\u0441\u0441\u043A\u0438\u0439",
|
|
228
|
-
ltr: true,
|
|
229
|
-
date_locale: ru
|
|
230
|
-
},
|
|
231
|
-
{
|
|
232
|
-
code: "lt",
|
|
233
|
-
display_name: "Lietuvi\u0161kai",
|
|
234
|
-
ltr: true,
|
|
235
|
-
date_locale: lt
|
|
236
|
-
},
|
|
237
|
-
{
|
|
238
|
-
code: "vi",
|
|
239
|
-
display_name: "Ti\u1EBFng Vi\u1EC7t",
|
|
240
|
-
ltr: true,
|
|
241
|
-
date_locale: vi
|
|
242
|
-
},
|
|
243
|
-
{
|
|
244
|
-
code: "id",
|
|
245
|
-
display_name: "Bahasa Indonesia",
|
|
246
|
-
ltr: true,
|
|
247
|
-
date_locale: id
|
|
248
|
-
},
|
|
249
|
-
{
|
|
250
|
-
code: "ko",
|
|
251
|
-
display_name: "\uD55C\uAD6D\uC5B4",
|
|
252
|
-
ltr: true,
|
|
253
|
-
date_locale: ko
|
|
254
|
-
},
|
|
255
|
-
{
|
|
256
|
-
code: "nl",
|
|
257
|
-
display_name: "Nederlands",
|
|
258
|
-
ltr: true,
|
|
259
|
-
date_locale: nl
|
|
260
|
-
},
|
|
261
|
-
{
|
|
262
|
-
code: "zhTW",
|
|
263
|
-
display_name: "\u7E41\u9AD4\u4E2D\u6587(\u81FA\u7063)",
|
|
264
|
-
ltr: true,
|
|
265
|
-
date_locale: zhTW
|
|
266
|
-
}
|
|
267
|
-
];
|
|
268
|
-
|
|
269
|
-
// src/providers/i18n-provider/i18n-provider.tsx
|
|
270
77
|
import { jsx } from "react/jsx-runtime";
|
|
271
78
|
var formatLocaleCode = (code) => {
|
|
272
79
|
return code.replace(/([a-z])([A-Z])/g, "$1-$2");
|
|
@@ -353,26 +160,13 @@ var useTheme = () => {
|
|
|
353
160
|
return context;
|
|
354
161
|
};
|
|
355
162
|
|
|
356
|
-
// src/providers/feature-flag-provider/index.tsx
|
|
357
|
-
import { createContext as createContext2, useContext as useContext2 } from "react";
|
|
358
|
-
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
359
|
-
var FeatureFlagContext = createContext2(null);
|
|
360
|
-
var FeatureFlagProvider = ({ children }) => {
|
|
361
|
-
const { data: flags = {}, isLoading, error } = useFeatureFlags();
|
|
362
|
-
const isFeatureEnabled = (flag) => {
|
|
363
|
-
const enabled = flags[flag] === true;
|
|
364
|
-
return enabled;
|
|
365
|
-
};
|
|
366
|
-
return /* @__PURE__ */ jsx3(FeatureFlagContext.Provider, { value: { flags, isLoading, isFeatureEnabled }, children });
|
|
367
|
-
};
|
|
368
|
-
|
|
369
163
|
// src/providers/providers.tsx
|
|
370
|
-
import { jsx as
|
|
164
|
+
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
371
165
|
var Providers = ({ api, children }) => {
|
|
372
|
-
return /* @__PURE__ */
|
|
373
|
-
/* @__PURE__ */
|
|
374
|
-
/* @__PURE__ */
|
|
375
|
-
/* @__PURE__ */
|
|
166
|
+
return /* @__PURE__ */ jsx3(TooltipProvider, { children: /* @__PURE__ */ jsx3(ExtensionProvider, { api, children: /* @__PURE__ */ jsx3(HelmetProvider, { children: /* @__PURE__ */ jsx3(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx3(ThemeProvider, { children: /* @__PURE__ */ jsxs(FeatureFlagProvider, { children: [
|
|
167
|
+
/* @__PURE__ */ jsx3(I18n, {}),
|
|
168
|
+
/* @__PURE__ */ jsx3(I18nProvider, { children }),
|
|
169
|
+
/* @__PURE__ */ jsx3(Toaster, {})
|
|
376
170
|
] }) }) }) }) }) });
|
|
377
171
|
};
|
|
378
172
|
|
|
@@ -93082,23 +92876,24 @@ var translations_default = {
|
|
|
93082
92876
|
|
|
93083
92877
|
// src/dashboard-app/routes/get-route.map.tsx
|
|
93084
92878
|
import { t } from "i18next";
|
|
92879
|
+
import { Outlet as Outlet4 } from "react-router-dom";
|
|
93085
92880
|
|
|
93086
92881
|
// src/components/authentication/protected-route/protected-route.tsx
|
|
93087
92882
|
import { Spinner as Spinner2 } from "@acmekit/icons";
|
|
93088
92883
|
import { Navigate, Outlet, useLocation as useLocation3 } from "react-router-dom";
|
|
93089
92884
|
|
|
93090
92885
|
// src/providers/search-provider/search-provider.tsx
|
|
93091
|
-
import { useEffect as
|
|
92886
|
+
import { useEffect as useEffect6, useState as useState7 } from "react";
|
|
93092
92887
|
|
|
93093
92888
|
// src/components/search/search.tsx
|
|
93094
92889
|
import {
|
|
93095
92890
|
Badge,
|
|
93096
92891
|
Button,
|
|
93097
|
-
clx as
|
|
92892
|
+
clx as clx2,
|
|
93098
92893
|
DropdownMenu,
|
|
93099
92894
|
IconButton,
|
|
93100
92895
|
Kbd,
|
|
93101
|
-
Text
|
|
92896
|
+
Text
|
|
93102
92897
|
} from "@acmekit/ui";
|
|
93103
92898
|
import { Command } from "cmdk";
|
|
93104
92899
|
import { Dialog as RadixDialog } from "radix-ui";
|
|
@@ -93107,11 +92902,11 @@ import {
|
|
|
93107
92902
|
forwardRef,
|
|
93108
92903
|
Fragment,
|
|
93109
92904
|
useCallback as useCallback4,
|
|
93110
|
-
useEffect as
|
|
92905
|
+
useEffect as useEffect4,
|
|
93111
92906
|
useImperativeHandle,
|
|
93112
92907
|
useMemo as useMemo3,
|
|
93113
92908
|
useRef,
|
|
93114
|
-
useState as
|
|
92909
|
+
useState as useState5
|
|
93115
92910
|
} from "react";
|
|
93116
92911
|
import { useTranslation as useTranslation3 } from "react-i18next";
|
|
93117
92912
|
import { useLocation, useNavigate as useNavigate2 } from "react-router-dom";
|
|
@@ -93124,46 +92919,29 @@ import {
|
|
|
93124
92919
|
} from "@acmekit/icons";
|
|
93125
92920
|
import { matchSorter } from "match-sorter";
|
|
93126
92921
|
|
|
93127
|
-
// src/components/common/skeleton/skeleton.tsx
|
|
93128
|
-
import { Container, clx } from "@acmekit/ui";
|
|
93129
|
-
import { jsx as jsx5, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
93130
|
-
var Skeleton = ({ className, style }) => {
|
|
93131
|
-
return /* @__PURE__ */ jsx5(
|
|
93132
|
-
"div",
|
|
93133
|
-
{
|
|
93134
|
-
"aria-hidden": true,
|
|
93135
|
-
className: clx(
|
|
93136
|
-
"bg-ui-bg-component h-3 w-3 animate-pulse rounded-[4px]",
|
|
93137
|
-
className
|
|
93138
|
-
),
|
|
93139
|
-
style
|
|
93140
|
-
}
|
|
93141
|
-
);
|
|
93142
|
-
};
|
|
93143
|
-
|
|
93144
92922
|
// src/components/common/thumbnail/thumbnail.tsx
|
|
93145
92923
|
import { Photo } from "@acmekit/icons";
|
|
93146
|
-
import { clx
|
|
93147
|
-
import { jsx as
|
|
92924
|
+
import { clx } from "@acmekit/ui";
|
|
92925
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
93148
92926
|
var Thumbnail = ({ src, alt, size = "base" }) => {
|
|
93149
|
-
return /* @__PURE__ */
|
|
92927
|
+
return /* @__PURE__ */ jsx4(
|
|
93150
92928
|
"div",
|
|
93151
92929
|
{
|
|
93152
|
-
className:
|
|
92930
|
+
className: clx(
|
|
93153
92931
|
"bg-ui-bg-component border-ui-border-base flex items-center justify-center overflow-hidden rounded border",
|
|
93154
92932
|
{
|
|
93155
92933
|
"h-8 w-6": size === "base",
|
|
93156
92934
|
"h-5 w-4": size === "small"
|
|
93157
92935
|
}
|
|
93158
92936
|
),
|
|
93159
|
-
children: src ? /* @__PURE__ */
|
|
92937
|
+
children: src ? /* @__PURE__ */ jsx4(
|
|
93160
92938
|
"img",
|
|
93161
92939
|
{
|
|
93162
92940
|
src,
|
|
93163
92941
|
alt,
|
|
93164
92942
|
className: "h-full w-full object-cover object-center"
|
|
93165
92943
|
}
|
|
93166
|
-
) : /* @__PURE__ */
|
|
92944
|
+
) : /* @__PURE__ */ jsx4(Photo, { className: "text-ui-fg-subtle" })
|
|
93167
92945
|
}
|
|
93168
92946
|
);
|
|
93169
92947
|
};
|
|
@@ -93185,13 +92963,13 @@ import { useMemo as useMemo2 } from "react";
|
|
|
93185
92963
|
|
|
93186
92964
|
// src/providers/keybind-provider/hooks.tsx
|
|
93187
92965
|
import { default as debounceFn } from "lodash.debounce";
|
|
93188
|
-
import { useCallback, useContext as
|
|
92966
|
+
import { useCallback, useContext as useContext2, useEffect as useEffect3, useState as useState2 } from "react";
|
|
93189
92967
|
import { useTranslation as useTranslation2 } from "react-i18next";
|
|
93190
92968
|
import { useNavigate } from "react-router-dom";
|
|
93191
92969
|
|
|
93192
92970
|
// src/providers/keybind-provider/keybind-context.tsx
|
|
93193
|
-
import { createContext as
|
|
93194
|
-
var KeybindContext =
|
|
92971
|
+
import { createContext as createContext2 } from "react";
|
|
92972
|
+
var KeybindContext = createContext2(null);
|
|
93195
92973
|
|
|
93196
92974
|
// src/providers/keybind-provider/utils.ts
|
|
93197
92975
|
var findFirstPlatformMatch = (keys) => {
|
|
@@ -93525,7 +93303,7 @@ var useGlobalShortcuts = () => {
|
|
|
93525
93303
|
|
|
93526
93304
|
// src/providers/keybind-provider/keybind-provider.tsx
|
|
93527
93305
|
import { useCallback as useCallback2, useMemo, useState as useState3 } from "react";
|
|
93528
|
-
import { jsx as
|
|
93306
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
93529
93307
|
var KeybindProvider = ({
|
|
93530
93308
|
shortcuts,
|
|
93531
93309
|
debounce = 500,
|
|
@@ -93560,7 +93338,7 @@ var KeybindProvider = ({
|
|
|
93560
93338
|
}),
|
|
93561
93339
|
[storeShortcuts, registerShortcut, getKeysByPlatform]
|
|
93562
93340
|
);
|
|
93563
|
-
return /* @__PURE__ */
|
|
93341
|
+
return /* @__PURE__ */ jsx5(KeybindContext.Provider, { value: commandsContext, children });
|
|
93564
93342
|
};
|
|
93565
93343
|
|
|
93566
93344
|
// src/components/search/use-search-results.tsx
|
|
@@ -93625,44 +93403,12 @@ var useDynamicSearchResults = (_currentArea, _limit, _q) => {
|
|
|
93625
93403
|
);
|
|
93626
93404
|
};
|
|
93627
93405
|
|
|
93628
|
-
// src/hooks/use-document-direction.tsx
|
|
93629
|
-
import { useEffect as useEffect4, useState as useState5 } from "react";
|
|
93630
|
-
var useDocumentDirection = () => {
|
|
93631
|
-
const [direction, setDirection] = useState5(() => {
|
|
93632
|
-
if (typeof document !== "undefined") {
|
|
93633
|
-
return document.documentElement.getAttribute("dir") || void 0;
|
|
93634
|
-
}
|
|
93635
|
-
return void 0;
|
|
93636
|
-
});
|
|
93637
|
-
useEffect4(() => {
|
|
93638
|
-
if (typeof document === "undefined") {
|
|
93639
|
-
return;
|
|
93640
|
-
}
|
|
93641
|
-
const observer = new MutationObserver((mutations) => {
|
|
93642
|
-
mutations.forEach((mutation) => {
|
|
93643
|
-
if (mutation.type === "attributes" && mutation.attributeName === "dir" && mutation.target === document.documentElement) {
|
|
93644
|
-
const newDirection = document.documentElement.getAttribute("dir");
|
|
93645
|
-
setDirection(newDirection || void 0);
|
|
93646
|
-
}
|
|
93647
|
-
});
|
|
93648
|
-
});
|
|
93649
|
-
observer.observe(document.documentElement, {
|
|
93650
|
-
attributes: true,
|
|
93651
|
-
attributeFilter: ["dir"]
|
|
93652
|
-
});
|
|
93653
|
-
return () => {
|
|
93654
|
-
observer.disconnect();
|
|
93655
|
-
};
|
|
93656
|
-
}, []);
|
|
93657
|
-
return direction;
|
|
93658
|
-
};
|
|
93659
|
-
|
|
93660
93406
|
// src/components/search/search.tsx
|
|
93661
|
-
import { jsx as
|
|
93407
|
+
import { jsx as jsx6, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
93662
93408
|
var Search = () => {
|
|
93663
|
-
const [area, setArea] =
|
|
93664
|
-
const [search, setSearch] =
|
|
93665
|
-
const [limit, setLimit] =
|
|
93409
|
+
const [area, setArea] = useState5("all");
|
|
93410
|
+
const [search, setSearch] = useState5("");
|
|
93411
|
+
const [limit, setLimit] = useState5(DEFAULT_SEARCH_LIMIT);
|
|
93666
93412
|
const { open, onOpenChange } = useSearch();
|
|
93667
93413
|
const location = useLocation();
|
|
93668
93414
|
const { t: t2 } = useTranslation3();
|
|
@@ -93692,7 +93438,7 @@ var Search = () => {
|
|
|
93692
93438
|
},
|
|
93693
93439
|
[onOpenChange, handleReset]
|
|
93694
93440
|
);
|
|
93695
|
-
|
|
93441
|
+
useEffect4(() => {
|
|
93696
93442
|
handleOpenChange(false);
|
|
93697
93443
|
}, [location.pathname, handleOpenChange]);
|
|
93698
93444
|
const handleSelect = (item) => {
|
|
@@ -93741,8 +93487,8 @@ var Search = () => {
|
|
|
93741
93487
|
const showLoading = useMemo3(() => {
|
|
93742
93488
|
return isFetching && !dynamicResults.length && !filteredStaticResults.length;
|
|
93743
93489
|
}, [isFetching, dynamicResults, filteredStaticResults]);
|
|
93744
|
-
return /* @__PURE__ */
|
|
93745
|
-
/* @__PURE__ */
|
|
93490
|
+
return /* @__PURE__ */ jsxs2(CommandDialog, { open, onOpenChange: handleOpenChange, children: [
|
|
93491
|
+
/* @__PURE__ */ jsx6(
|
|
93746
93492
|
CommandInput,
|
|
93747
93493
|
{
|
|
93748
93494
|
isFetching,
|
|
@@ -93755,19 +93501,19 @@ var Search = () => {
|
|
|
93755
93501
|
placeholder: t2("app.search.placeholder")
|
|
93756
93502
|
}
|
|
93757
93503
|
),
|
|
93758
|
-
/* @__PURE__ */
|
|
93759
|
-
showLoading && /* @__PURE__ */
|
|
93504
|
+
/* @__PURE__ */ jsxs2(CommandList, { ref: listRef, children: [
|
|
93505
|
+
showLoading && /* @__PURE__ */ jsx6(CommandLoading, {}),
|
|
93760
93506
|
dynamicResults.map((group) => {
|
|
93761
|
-
return /* @__PURE__ */
|
|
93507
|
+
return /* @__PURE__ */ jsxs2(CommandGroup, { heading: group.title, children: [
|
|
93762
93508
|
group.items.map((item) => {
|
|
93763
|
-
return /* @__PURE__ */
|
|
93509
|
+
return /* @__PURE__ */ jsx6(
|
|
93764
93510
|
CommandItem,
|
|
93765
93511
|
{
|
|
93766
93512
|
onSelect: () => handleSelect(item),
|
|
93767
93513
|
value: item.value,
|
|
93768
93514
|
className: "flex items-center justify-between",
|
|
93769
|
-
children: /* @__PURE__ */
|
|
93770
|
-
item.thumbnail && /* @__PURE__ */
|
|
93515
|
+
children: /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-x-3", children: [
|
|
93516
|
+
item.thumbnail && /* @__PURE__ */ jsx6(
|
|
93771
93517
|
Thumbnail,
|
|
93772
93518
|
{
|
|
93773
93519
|
alt: item.title,
|
|
@@ -93775,34 +93521,34 @@ var Search = () => {
|
|
|
93775
93521
|
size: "small"
|
|
93776
93522
|
}
|
|
93777
93523
|
),
|
|
93778
|
-
/* @__PURE__ */
|
|
93779
|
-
item.subtitle && /* @__PURE__ */
|
|
93524
|
+
/* @__PURE__ */ jsx6("span", { children: item.title }),
|
|
93525
|
+
item.subtitle && /* @__PURE__ */ jsx6("span", { className: "text-ui-fg-muted", children: item.subtitle })
|
|
93780
93526
|
] })
|
|
93781
93527
|
},
|
|
93782
93528
|
item.id
|
|
93783
93529
|
);
|
|
93784
93530
|
}),
|
|
93785
|
-
group.hasMore && area === "all" && /* @__PURE__ */
|
|
93531
|
+
group.hasMore && area === "all" && /* @__PURE__ */ jsx6(
|
|
93786
93532
|
CommandItem,
|
|
93787
93533
|
{
|
|
93788
93534
|
onSelect: () => handleShowMore(group.area),
|
|
93789
93535
|
hidden: true,
|
|
93790
93536
|
value: `${group.title}:show:more`,
|
|
93791
|
-
children: /* @__PURE__ */
|
|
93792
|
-
/* @__PURE__ */
|
|
93793
|
-
/* @__PURE__ */
|
|
93537
|
+
children: /* @__PURE__ */ jsxs2("div", { className: "text-ui-fg-muted flex items-center gap-x-3", children: [
|
|
93538
|
+
/* @__PURE__ */ jsx6(Plus, {}),
|
|
93539
|
+
/* @__PURE__ */ jsx6(Text, { size: "small", leading: "compact", weight: "plus", children: t2("app.search.showMore") })
|
|
93794
93540
|
] })
|
|
93795
93541
|
}
|
|
93796
93542
|
),
|
|
93797
|
-
group.hasMore && area === group.area && /* @__PURE__ */
|
|
93543
|
+
group.hasMore && area === group.area && /* @__PURE__ */ jsx6(
|
|
93798
93544
|
CommandItem,
|
|
93799
93545
|
{
|
|
93800
93546
|
onSelect: handleLoadMore,
|
|
93801
93547
|
hidden: true,
|
|
93802
93548
|
value: `${group.title}:load:more`,
|
|
93803
|
-
children: /* @__PURE__ */
|
|
93804
|
-
/* @__PURE__ */
|
|
93805
|
-
/* @__PURE__ */
|
|
93549
|
+
children: /* @__PURE__ */ jsxs2("div", { className: "text-ui-fg-muted flex items-center gap-x-3", children: [
|
|
93550
|
+
/* @__PURE__ */ jsx6(Plus, {}),
|
|
93551
|
+
/* @__PURE__ */ jsx6(Text, { size: "small", leading: "compact", weight: "plus", children: t2("app.search.loadMore", {
|
|
93806
93552
|
count: Math.min(
|
|
93807
93553
|
SEARCH_LIMIT_INCREMENT,
|
|
93808
93554
|
group.count - limit
|
|
@@ -93814,26 +93560,26 @@ var Search = () => {
|
|
|
93814
93560
|
] }, group.title);
|
|
93815
93561
|
}),
|
|
93816
93562
|
filteredStaticResults.map((group) => {
|
|
93817
|
-
return /* @__PURE__ */
|
|
93563
|
+
return /* @__PURE__ */ jsx6(
|
|
93818
93564
|
CommandGroup,
|
|
93819
93565
|
{
|
|
93820
93566
|
heading: t2(`app.keyboardShortcuts.${group.title}`),
|
|
93821
93567
|
children: group.items.map((item) => {
|
|
93822
|
-
return /* @__PURE__ */
|
|
93568
|
+
return /* @__PURE__ */ jsxs2(
|
|
93823
93569
|
CommandItem,
|
|
93824
93570
|
{
|
|
93825
93571
|
onSelect: () => handleSelect(item),
|
|
93826
93572
|
className: "flex items-center justify-between",
|
|
93827
93573
|
children: [
|
|
93828
|
-
/* @__PURE__ */
|
|
93829
|
-
/* @__PURE__ */
|
|
93830
|
-
return /* @__PURE__ */
|
|
93574
|
+
/* @__PURE__ */ jsx6("span", { children: item.label }),
|
|
93575
|
+
/* @__PURE__ */ jsx6("div", { className: "flex items-center gap-x-1.5", children: item.keys.Mac?.map((key, index) => {
|
|
93576
|
+
return /* @__PURE__ */ jsxs2(
|
|
93831
93577
|
"div",
|
|
93832
93578
|
{
|
|
93833
93579
|
className: "flex items-center gap-x-1",
|
|
93834
93580
|
children: [
|
|
93835
|
-
/* @__PURE__ */
|
|
93836
|
-
index < (item.keys.Mac?.length || 0) - 1 && /* @__PURE__ */
|
|
93581
|
+
/* @__PURE__ */ jsx6(Kbd, { children: key }),
|
|
93582
|
+
index < (item.keys.Mac?.length || 0) - 1 && /* @__PURE__ */ jsx6("span", { className: "txt-compact-xsmall text-ui-fg-subtle", children: t2("app.keyboardShortcuts.then") })
|
|
93837
93583
|
]
|
|
93838
93584
|
},
|
|
93839
93585
|
index
|
|
@@ -93848,16 +93594,16 @@ var Search = () => {
|
|
|
93848
93594
|
group.title
|
|
93849
93595
|
);
|
|
93850
93596
|
}),
|
|
93851
|
-
!showLoading && /* @__PURE__ */
|
|
93597
|
+
!showLoading && /* @__PURE__ */ jsx6(CommandEmpty, { q: search })
|
|
93852
93598
|
] })
|
|
93853
93599
|
] });
|
|
93854
93600
|
};
|
|
93855
|
-
var CommandPalette = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
93601
|
+
var CommandPalette = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
|
|
93856
93602
|
Command,
|
|
93857
93603
|
{
|
|
93858
93604
|
shouldFilter: false,
|
|
93859
93605
|
ref,
|
|
93860
|
-
className:
|
|
93606
|
+
className: clx2(
|
|
93861
93607
|
"bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",
|
|
93862
93608
|
className
|
|
93863
93609
|
),
|
|
@@ -93870,12 +93616,12 @@ var CommandDialog = ({ children, ...props }) => {
|
|
|
93870
93616
|
const preserveHeight = useMemo3(() => {
|
|
93871
93617
|
return props.isLoading && Children.count(children) === 0;
|
|
93872
93618
|
}, [props.isLoading, children]);
|
|
93873
|
-
return /* @__PURE__ */
|
|
93874
|
-
/* @__PURE__ */
|
|
93875
|
-
/* @__PURE__ */
|
|
93619
|
+
return /* @__PURE__ */ jsx6(RadixDialog.Root, { ...props, children: /* @__PURE__ */ jsxs2(RadixDialog.Portal, { children: [
|
|
93620
|
+
/* @__PURE__ */ jsx6(RadixDialog.Overlay, { className: "bg-ui-bg-overlay fixed inset-0" }),
|
|
93621
|
+
/* @__PURE__ */ jsxs2(
|
|
93876
93622
|
RadixDialog.Content,
|
|
93877
93623
|
{
|
|
93878
|
-
className:
|
|
93624
|
+
className: clx2(
|
|
93879
93625
|
"bg-ui-bg-base shadow-elevation-modal fixed left-[50%] top-[50%] flex max-h-[calc(100%-16px)] w-[calc(100%-16px)] min-w-0 max-w-2xl translate-x-[-50%] translate-y-[-50%] flex-col overflow-hidden rounded-xl p-0",
|
|
93880
93626
|
{
|
|
93881
93627
|
"h-[300px]": preserveHeight
|
|
@@ -93883,21 +93629,21 @@ var CommandDialog = ({ children, ...props }) => {
|
|
|
93883
93629
|
}
|
|
93884
93630
|
),
|
|
93885
93631
|
children: [
|
|
93886
|
-
/* @__PURE__ */
|
|
93887
|
-
/* @__PURE__ */
|
|
93888
|
-
/* @__PURE__ */
|
|
93889
|
-
/* @__PURE__ */
|
|
93890
|
-
/* @__PURE__ */
|
|
93891
|
-
/* @__PURE__ */
|
|
93892
|
-
/* @__PURE__ */
|
|
93893
|
-
/* @__PURE__ */
|
|
93894
|
-
/* @__PURE__ */
|
|
93632
|
+
/* @__PURE__ */ jsx6(RadixDialog.Title, { className: "sr-only", children: t2("app.search.title") }),
|
|
93633
|
+
/* @__PURE__ */ jsx6(RadixDialog.Description, { className: "sr-only", children: t2("app.search.description") }),
|
|
93634
|
+
/* @__PURE__ */ jsx6(CommandPalette, { className: "[&_[cmdk-group-heading]]:text-muted-foreground flex h-full flex-col overflow-hidden [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0", children }),
|
|
93635
|
+
/* @__PURE__ */ jsx6("div", { className: "bg-ui-bg-field text-ui-fg-subtle flex items-center justify-end border-t px-4 py-3", children: /* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-x-3", children: [
|
|
93636
|
+
/* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-x-2", children: [
|
|
93637
|
+
/* @__PURE__ */ jsx6(Text, { size: "xsmall", leading: "compact", children: t2("app.search.navigation") }),
|
|
93638
|
+
/* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-x-1", children: [
|
|
93639
|
+
/* @__PURE__ */ jsx6(Kbd, { className: "bg-ui-bg-field-component", children: "\u2193" }),
|
|
93640
|
+
/* @__PURE__ */ jsx6(Kbd, { className: "bg-ui-bg-field-component", children: "\u2191" })
|
|
93895
93641
|
] })
|
|
93896
93642
|
] }),
|
|
93897
|
-
/* @__PURE__ */
|
|
93898
|
-
/* @__PURE__ */
|
|
93899
|
-
/* @__PURE__ */
|
|
93900
|
-
/* @__PURE__ */
|
|
93643
|
+
/* @__PURE__ */ jsx6("div", { className: "bg-ui-border-strong h-3 w-px" }),
|
|
93644
|
+
/* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-x-2", children: [
|
|
93645
|
+
/* @__PURE__ */ jsx6(Text, { size: "xsmall", leading: "compact", children: t2("app.search.openResult") }),
|
|
93646
|
+
/* @__PURE__ */ jsx6(Kbd, { className: "bg-ui-bg-field-component", children: "\u21B5" })
|
|
93901
93647
|
] })
|
|
93902
93648
|
] }) })
|
|
93903
93649
|
]
|
|
@@ -93923,20 +93669,20 @@ var CommandInput = forwardRef(
|
|
|
93923
93669
|
ref,
|
|
93924
93670
|
() => innerRef.current
|
|
93925
93671
|
);
|
|
93926
|
-
return /* @__PURE__ */
|
|
93927
|
-
/* @__PURE__ */
|
|
93928
|
-
/* @__PURE__ */
|
|
93672
|
+
return /* @__PURE__ */ jsxs2("div", { className: "flex flex-col border-b", children: [
|
|
93673
|
+
/* @__PURE__ */ jsx6("div", { className: "px-4 pt-4", children: /* @__PURE__ */ jsxs2(DropdownMenu, { dir: direction, children: [
|
|
93674
|
+
/* @__PURE__ */ jsx6(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ jsxs2(
|
|
93929
93675
|
Badge,
|
|
93930
93676
|
{
|
|
93931
93677
|
size: "2xsmall",
|
|
93932
93678
|
className: "hover:bg-ui-bg-base-pressed transition-fg cursor-pointer",
|
|
93933
93679
|
children: [
|
|
93934
93680
|
t2(`app.search.groups.${area}`),
|
|
93935
|
-
/* @__PURE__ */
|
|
93681
|
+
/* @__PURE__ */ jsx6(TriangleDownMini, { className: "text-ui-fg-muted" })
|
|
93936
93682
|
]
|
|
93937
93683
|
}
|
|
93938
93684
|
) }),
|
|
93939
|
-
/* @__PURE__ */
|
|
93685
|
+
/* @__PURE__ */ jsx6(
|
|
93940
93686
|
DropdownMenu.Content,
|
|
93941
93687
|
{
|
|
93942
93688
|
align: "start",
|
|
@@ -93945,48 +93691,48 @@ var CommandInput = forwardRef(
|
|
|
93945
93691
|
e.preventDefault();
|
|
93946
93692
|
innerRef.current?.focus();
|
|
93947
93693
|
},
|
|
93948
|
-
children: /* @__PURE__ */
|
|
93694
|
+
children: /* @__PURE__ */ jsx6(
|
|
93949
93695
|
DropdownMenu.RadioGroup,
|
|
93950
93696
|
{
|
|
93951
93697
|
value: area,
|
|
93952
93698
|
onValueChange: (v) => setArea(v),
|
|
93953
|
-
children: SEARCH_AREAS.map((area2) => /* @__PURE__ */
|
|
93954
|
-
area2 === "command" && /* @__PURE__ */
|
|
93955
|
-
/* @__PURE__ */
|
|
93956
|
-
area2 === "all" && /* @__PURE__ */
|
|
93699
|
+
children: SEARCH_AREAS.map((area2) => /* @__PURE__ */ jsxs2(Fragment, { children: [
|
|
93700
|
+
area2 === "command" && /* @__PURE__ */ jsx6(DropdownMenu.Separator, {}),
|
|
93701
|
+
/* @__PURE__ */ jsx6(DropdownMenu.RadioItem, { value: area2, children: t2(`app.search.groups.${area2}`) }),
|
|
93702
|
+
area2 === "all" && /* @__PURE__ */ jsx6(DropdownMenu.Separator, {})
|
|
93957
93703
|
] }, area2))
|
|
93958
93704
|
}
|
|
93959
93705
|
)
|
|
93960
93706
|
}
|
|
93961
93707
|
)
|
|
93962
93708
|
] }) }),
|
|
93963
|
-
/* @__PURE__ */
|
|
93964
|
-
onBack && /* @__PURE__ */
|
|
93709
|
+
/* @__PURE__ */ jsxs2("div", { className: "relative flex items-center gap-x-2 px-4 py-3", children: [
|
|
93710
|
+
onBack && /* @__PURE__ */ jsx6(
|
|
93965
93711
|
IconButton,
|
|
93966
93712
|
{
|
|
93967
93713
|
type: "button",
|
|
93968
93714
|
size: "small",
|
|
93969
93715
|
variant: "transparent",
|
|
93970
93716
|
onClick: onBack,
|
|
93971
|
-
children: /* @__PURE__ */
|
|
93717
|
+
children: /* @__PURE__ */ jsx6(ArrowUturnLeft, { className: "text-ui-fg-muted" })
|
|
93972
93718
|
}
|
|
93973
93719
|
),
|
|
93974
|
-
/* @__PURE__ */
|
|
93720
|
+
/* @__PURE__ */ jsx6(
|
|
93975
93721
|
Command.Input,
|
|
93976
93722
|
{
|
|
93977
93723
|
ref: innerRef,
|
|
93978
93724
|
value,
|
|
93979
93725
|
onValueChange,
|
|
93980
|
-
className:
|
|
93726
|
+
className: clx2(
|
|
93981
93727
|
"placeholder:text-ui-fg-muted flex !h-6 w-full rounded-md bg-transparent text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
93982
93728
|
className
|
|
93983
93729
|
),
|
|
93984
93730
|
...props
|
|
93985
93731
|
}
|
|
93986
93732
|
),
|
|
93987
|
-
/* @__PURE__ */
|
|
93988
|
-
isFetching && /* @__PURE__ */
|
|
93989
|
-
value && /* @__PURE__ */
|
|
93733
|
+
/* @__PURE__ */ jsxs2("div", { className: "absolute end-4 top-1/2 flex -translate-y-1/2 items-center justify-end gap-x-2", children: [
|
|
93734
|
+
isFetching && /* @__PURE__ */ jsx6(Spinner, { className: "text-ui-fg-muted animate-spin" }),
|
|
93735
|
+
value && /* @__PURE__ */ jsx6(
|
|
93990
93736
|
Button,
|
|
93991
93737
|
{
|
|
93992
93738
|
variant: "transparent",
|
|
@@ -94006,11 +93752,11 @@ var CommandInput = forwardRef(
|
|
|
94006
93752
|
}
|
|
94007
93753
|
);
|
|
94008
93754
|
CommandInput.displayName = Command.Input.displayName;
|
|
94009
|
-
var CommandList = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
93755
|
+
var CommandList = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
|
|
94010
93756
|
Command.List,
|
|
94011
93757
|
{
|
|
94012
93758
|
ref,
|
|
94013
|
-
className:
|
|
93759
|
+
className: clx2(
|
|
94014
93760
|
"max-h-[300px] flex-1 overflow-y-auto overflow-x-hidden px-2 pb-4",
|
|
94015
93761
|
className
|
|
94016
93762
|
),
|
|
@@ -94020,35 +93766,35 @@ var CommandList = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ j
|
|
|
94020
93766
|
CommandList.displayName = Command.List.displayName;
|
|
94021
93767
|
var CommandEmpty = forwardRef((props, ref) => {
|
|
94022
93768
|
const { t: t2 } = useTranslation3();
|
|
94023
|
-
return /* @__PURE__ */
|
|
94024
|
-
/* @__PURE__ */
|
|
94025
|
-
/* @__PURE__ */
|
|
94026
|
-
/* @__PURE__ */
|
|
94027
|
-
/* @__PURE__ */
|
|
93769
|
+
return /* @__PURE__ */ jsx6(Command.Empty, { ref, className: "py-6 text-center text-sm", ...props, children: /* @__PURE__ */ jsxs2("div", { className: "text-ui-fg-subtle flex min-h-[236px] flex-col items-center justify-center gap-y-3", children: [
|
|
93770
|
+
/* @__PURE__ */ jsx6(MagnifyingGlass, { className: "text-ui-fg-subtle" }),
|
|
93771
|
+
/* @__PURE__ */ jsxs2("div", { className: "flex flex-col items-center justify-center gap-y-1", children: [
|
|
93772
|
+
/* @__PURE__ */ jsx6(Text, { size: "small", weight: "plus", leading: "compact", children: props.q ? t2("app.search.noResultsTitle") : t2("app.search.emptySearchTitle") }),
|
|
93773
|
+
/* @__PURE__ */ jsx6(Text, { size: "small", className: "text-ui-fg-muted", children: props.q ? t2("app.search.noResultsMessage") : t2("app.search.emptySearchMessage") })
|
|
94028
93774
|
] })
|
|
94029
93775
|
] }) });
|
|
94030
93776
|
});
|
|
94031
93777
|
CommandEmpty.displayName = Command.Empty.displayName;
|
|
94032
93778
|
var CommandLoading = forwardRef((props, ref) => {
|
|
94033
|
-
return /* @__PURE__ */
|
|
93779
|
+
return /* @__PURE__ */ jsxs2(
|
|
94034
93780
|
Command.Loading,
|
|
94035
93781
|
{
|
|
94036
93782
|
ref,
|
|
94037
93783
|
...props,
|
|
94038
93784
|
className: "bg-ui-bg-base flex flex-col",
|
|
94039
93785
|
children: [
|
|
94040
|
-
/* @__PURE__ */
|
|
94041
|
-
Array.from({ length: 7 }).map((_, index) => /* @__PURE__ */
|
|
93786
|
+
/* @__PURE__ */ jsx6("div", { className: "w-full px-2 pb-1 pt-3", children: /* @__PURE__ */ jsx6(Skeleton, { className: "h-5 w-10" }) }),
|
|
93787
|
+
Array.from({ length: 7 }).map((_, index) => /* @__PURE__ */ jsx6("div", { className: "w-full p-2", children: /* @__PURE__ */ jsx6(Skeleton, { className: "h-5 w-full" }) }, index))
|
|
94042
93788
|
]
|
|
94043
93789
|
}
|
|
94044
93790
|
);
|
|
94045
93791
|
});
|
|
94046
93792
|
CommandLoading.displayName = Command.Loading.displayName;
|
|
94047
|
-
var CommandGroup = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
93793
|
+
var CommandGroup = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
|
|
94048
93794
|
Command.Group,
|
|
94049
93795
|
{
|
|
94050
93796
|
ref,
|
|
94051
|
-
className:
|
|
93797
|
+
className: clx2(
|
|
94052
93798
|
"text-ui-fg-base [&_[cmdk-group-heading]]:text-ui-fg-muted [&_[cmdk-group-heading]]:txt-compact-xsmall-plus overflow-hidden [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:pb-1 [&_[cmdk-group-heading]]:pt-3 [&_[cmdk-item]]:py-2",
|
|
94053
93799
|
className
|
|
94054
93800
|
),
|
|
@@ -94056,20 +93802,20 @@ var CommandGroup = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
94056
93802
|
}
|
|
94057
93803
|
));
|
|
94058
93804
|
CommandGroup.displayName = Command.Group.displayName;
|
|
94059
|
-
var CommandSeparator = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
93805
|
+
var CommandSeparator = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
|
|
94060
93806
|
Command.Separator,
|
|
94061
93807
|
{
|
|
94062
93808
|
ref,
|
|
94063
|
-
className:
|
|
93809
|
+
className: clx2("bg-border -mx-1 h-px", className),
|
|
94064
93810
|
...props
|
|
94065
93811
|
}
|
|
94066
93812
|
));
|
|
94067
93813
|
CommandSeparator.displayName = Command.Separator.displayName;
|
|
94068
|
-
var CommandItem = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
93814
|
+
var CommandItem = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
|
|
94069
93815
|
Command.Item,
|
|
94070
93816
|
{
|
|
94071
93817
|
ref,
|
|
94072
|
-
className:
|
|
93818
|
+
className: clx2(
|
|
94073
93819
|
"aria-selected:bg-ui-bg-base-hover focus-visible:bg-ui-bg-base-hover txt-compact-small [&>svg]:text-ui-fg-subtle relative flex cursor-pointer select-none items-center gap-x-3 rounded-md p-2 outline-none data-[disabled]:pointer-events-none data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50",
|
|
94074
93820
|
className
|
|
94075
93821
|
),
|
|
@@ -94079,18 +93825,18 @@ var CommandItem = forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ j
|
|
|
94079
93825
|
CommandItem.displayName = Command.Item.displayName;
|
|
94080
93826
|
|
|
94081
93827
|
// src/providers/sidebar-provider/sidebar-provider.tsx
|
|
94082
|
-
import { useEffect as
|
|
93828
|
+
import { useEffect as useEffect5, useState as useState6 } from "react";
|
|
94083
93829
|
import { useLocation as useLocation2 } from "react-router-dom";
|
|
94084
93830
|
|
|
94085
93831
|
// src/providers/sidebar-provider/sidebar-context.tsx
|
|
94086
|
-
import { createContext as
|
|
94087
|
-
var SidebarContext =
|
|
93832
|
+
import { createContext as createContext3 } from "react";
|
|
93833
|
+
var SidebarContext = createContext3(null);
|
|
94088
93834
|
|
|
94089
93835
|
// src/providers/sidebar-provider/sidebar-provider.tsx
|
|
94090
|
-
import { jsx as
|
|
93836
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
94091
93837
|
var SidebarProvider = ({ children }) => {
|
|
94092
|
-
const [desktop, setDesktop] =
|
|
94093
|
-
const [mobile, setMobile] =
|
|
93838
|
+
const [desktop, setDesktop] = useState6(true);
|
|
93839
|
+
const [mobile, setMobile] = useState6(false);
|
|
94094
93840
|
const { pathname } = useLocation2();
|
|
94095
93841
|
const toggle = (view) => {
|
|
94096
93842
|
if (view === "desktop") {
|
|
@@ -94099,16 +93845,16 @@ var SidebarProvider = ({ children }) => {
|
|
|
94099
93845
|
setMobile(!mobile);
|
|
94100
93846
|
}
|
|
94101
93847
|
};
|
|
94102
|
-
|
|
93848
|
+
useEffect5(() => {
|
|
94103
93849
|
setMobile(false);
|
|
94104
93850
|
}, [pathname]);
|
|
94105
|
-
return /* @__PURE__ */
|
|
93851
|
+
return /* @__PURE__ */ jsx7(SidebarContext.Provider, { value: { desktop, mobile, toggle }, children });
|
|
94106
93852
|
};
|
|
94107
93853
|
|
|
94108
93854
|
// src/providers/sidebar-provider/use-sidebar.tsx
|
|
94109
|
-
import { useContext as
|
|
93855
|
+
import { useContext as useContext3 } from "react";
|
|
94110
93856
|
var useSidebar = () => {
|
|
94111
|
-
const context =
|
|
93857
|
+
const context = useContext3(SidebarContext);
|
|
94112
93858
|
if (!context) {
|
|
94113
93859
|
throw new Error("useSidebar must be used within a SidebarProvider");
|
|
94114
93860
|
}
|
|
@@ -94116,13 +93862,13 @@ var useSidebar = () => {
|
|
|
94116
93862
|
};
|
|
94117
93863
|
|
|
94118
93864
|
// src/providers/search-provider/search-context.tsx
|
|
94119
|
-
import { createContext as
|
|
94120
|
-
var SearchContext =
|
|
93865
|
+
import { createContext as createContext4 } from "react";
|
|
93866
|
+
var SearchContext = createContext4(null);
|
|
94121
93867
|
|
|
94122
93868
|
// src/providers/search-provider/search-provider.tsx
|
|
94123
|
-
import { jsx as
|
|
93869
|
+
import { jsx as jsx8, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
94124
93870
|
var SearchProvider = ({ children }) => {
|
|
94125
|
-
const [open, setOpen] =
|
|
93871
|
+
const [open, setOpen] = useState7(false);
|
|
94126
93872
|
const { mobile, toggle } = useSidebar();
|
|
94127
93873
|
const toggleSearch = () => {
|
|
94128
93874
|
const update = !open;
|
|
@@ -94131,7 +93877,7 @@ var SearchProvider = ({ children }) => {
|
|
|
94131
93877
|
}
|
|
94132
93878
|
setOpen(update);
|
|
94133
93879
|
};
|
|
94134
|
-
|
|
93880
|
+
useEffect6(() => {
|
|
94135
93881
|
const onKeyDown = (e) => {
|
|
94136
93882
|
if (e.key === "k" && (e.metaKey || e.ctrlKey)) {
|
|
94137
93883
|
setOpen((prev) => !prev);
|
|
@@ -94142,7 +93888,7 @@ var SearchProvider = ({ children }) => {
|
|
|
94142
93888
|
document.removeEventListener("keydown", onKeyDown);
|
|
94143
93889
|
};
|
|
94144
93890
|
}, []);
|
|
94145
|
-
return /* @__PURE__ */
|
|
93891
|
+
return /* @__PURE__ */ jsxs3(
|
|
94146
93892
|
SearchContext.Provider,
|
|
94147
93893
|
{
|
|
94148
93894
|
value: {
|
|
@@ -94152,16 +93898,16 @@ var SearchProvider = ({ children }) => {
|
|
|
94152
93898
|
},
|
|
94153
93899
|
children: [
|
|
94154
93900
|
children,
|
|
94155
|
-
/* @__PURE__ */
|
|
93901
|
+
/* @__PURE__ */ jsx8(Search, {})
|
|
94156
93902
|
]
|
|
94157
93903
|
}
|
|
94158
93904
|
);
|
|
94159
93905
|
};
|
|
94160
93906
|
|
|
94161
93907
|
// src/providers/search-provider/use-search.tsx
|
|
94162
|
-
import { useContext as
|
|
93908
|
+
import { useContext as useContext4 } from "react";
|
|
94163
93909
|
var useSearch = () => {
|
|
94164
|
-
const context =
|
|
93910
|
+
const context = useContext4(SearchContext);
|
|
94165
93911
|
if (!context) {
|
|
94166
93912
|
throw new Error("useSearch must be used within a SearchProvider");
|
|
94167
93913
|
}
|
|
@@ -94169,60 +93915,44 @@ var useSearch = () => {
|
|
|
94169
93915
|
};
|
|
94170
93916
|
|
|
94171
93917
|
// src/components/authentication/protected-route/protected-route.tsx
|
|
94172
|
-
import { jsx as
|
|
93918
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
94173
93919
|
var ProtectedRoute = () => {
|
|
94174
93920
|
const { user, isLoading } = useMe();
|
|
94175
93921
|
const location = useLocation3();
|
|
94176
93922
|
if (isLoading) {
|
|
94177
|
-
return /* @__PURE__ */
|
|
93923
|
+
return /* @__PURE__ */ jsx9("div", { className: "flex min-h-screen items-center justify-center", children: /* @__PURE__ */ jsx9(Spinner2, { className: "text-ui-fg-interactive animate-spin" }) });
|
|
94178
93924
|
}
|
|
94179
93925
|
if (!user) {
|
|
94180
|
-
return /* @__PURE__ */
|
|
93926
|
+
return /* @__PURE__ */ jsx9(Navigate, { to: "/login", state: { from: location }, replace: true });
|
|
94181
93927
|
}
|
|
94182
|
-
return /* @__PURE__ */
|
|
93928
|
+
return /* @__PURE__ */ jsx9(SidebarProvider, { children: /* @__PURE__ */ jsx9(SearchProvider, { children: /* @__PURE__ */ jsx9(Outlet, {}) }) });
|
|
94183
93929
|
};
|
|
94184
93930
|
|
|
94185
93931
|
// src/components/layout/main-layout/main-layout.tsx
|
|
94186
93932
|
import {
|
|
94187
93933
|
ChevronDownMini,
|
|
94188
93934
|
CogSixTooth,
|
|
94189
|
-
EllipsisHorizontal as
|
|
93935
|
+
EllipsisHorizontal as EllipsisHorizontal2,
|
|
94190
93936
|
MagnifyingGlass as MagnifyingGlass2,
|
|
94191
93937
|
MinusMini,
|
|
94192
93938
|
OpenRectArrowOut as OpenRectArrowOut2,
|
|
94193
93939
|
SquaresPlus
|
|
94194
93940
|
} from "@acmekit/icons";
|
|
94195
|
-
import { Avatar as Avatar2, Divider, DropdownMenu as
|
|
93941
|
+
import { Avatar as Avatar2, Divider, DropdownMenu as DropdownMenu3, Text as Text6, clx as clx7 } from "@acmekit/ui";
|
|
94196
93942
|
import { Collapsible as RadixCollapsible2 } from "radix-ui";
|
|
94197
93943
|
import { useTranslation as useTranslation8 } from "react-i18next";
|
|
94198
93944
|
|
|
94199
93945
|
// src/components/layout/nav-item/nav-item.tsx
|
|
94200
|
-
import { Kbd as Kbd2, Text as
|
|
93946
|
+
import { Kbd as Kbd2, Text as Text2, clx as clx3 } from "@acmekit/ui";
|
|
94201
93947
|
import { Collapsible as RadixCollapsible } from "radix-ui";
|
|
94202
93948
|
import {
|
|
94203
93949
|
useCallback as useCallback5,
|
|
94204
|
-
useEffect as
|
|
94205
|
-
useState as
|
|
93950
|
+
useEffect as useEffect7,
|
|
93951
|
+
useState as useState8
|
|
94206
93952
|
} from "react";
|
|
94207
93953
|
import { useTranslation as useTranslation4 } from "react-i18next";
|
|
94208
93954
|
import { NavLink, useLocation as useLocation4 } from "react-router-dom";
|
|
94209
|
-
|
|
94210
|
-
// src/components/common/conditional-tooltip/conditional-tooltip.tsx
|
|
94211
|
-
import { Tooltip } from "@acmekit/ui";
|
|
94212
|
-
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
94213
|
-
var ConditionalTooltip = ({
|
|
94214
|
-
children,
|
|
94215
|
-
showTooltip = false,
|
|
94216
|
-
...props
|
|
94217
|
-
}) => {
|
|
94218
|
-
if (showTooltip) {
|
|
94219
|
-
return /* @__PURE__ */ jsx12(Tooltip, { ...props, children });
|
|
94220
|
-
}
|
|
94221
|
-
return children;
|
|
94222
|
-
};
|
|
94223
|
-
|
|
94224
|
-
// src/components/layout/nav-item/nav-item.tsx
|
|
94225
|
-
import { jsx as jsx13, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
93955
|
+
import { jsx as jsx10, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
94226
93956
|
var BASE_NAV_LINK_CLASSES = "text-ui-fg-subtle transition-fg hover:bg-ui-bg-subtle-hover flex items-center gap-x-2 rounded-md py-0.5 pl-0.5 pr-2 outline-none [&>svg]:text-ui-fg-subtle focus-visible:shadow-borders-focus";
|
|
94227
93957
|
var ACTIVE_NAV_LINK_CLASSES = "bg-ui-bg-base shadow-elevation-card-rest text-ui-fg-base hover:bg-ui-bg-base";
|
|
94228
93958
|
var NESTED_NAV_LINK_CLASSES = "pl-[34px] pr-2 py-1 w-full text-ui-fg-muted";
|
|
@@ -94239,21 +93969,21 @@ var NavItemTooltip = ({
|
|
|
94239
93969
|
const { t: t2 } = useTranslation4();
|
|
94240
93970
|
const globalShortcuts = useGlobalShortcuts();
|
|
94241
93971
|
const shortcut = globalShortcuts.find((s) => s.to === to);
|
|
94242
|
-
return /* @__PURE__ */
|
|
93972
|
+
return /* @__PURE__ */ jsx10(
|
|
94243
93973
|
ConditionalTooltip,
|
|
94244
93974
|
{
|
|
94245
93975
|
showTooltip: !!shortcut,
|
|
94246
93976
|
maxWidth: 9999,
|
|
94247
|
-
content: /* @__PURE__ */
|
|
94248
|
-
/* @__PURE__ */
|
|
94249
|
-
/* @__PURE__ */
|
|
94250
|
-
/* @__PURE__ */
|
|
94251
|
-
index < (shortcut.keys.Mac?.length || 0) - 1 && /* @__PURE__ */
|
|
93977
|
+
content: /* @__PURE__ */ jsxs4("div", { className: "txt-compact-xsmall flex h-5 items-center justify-between gap-x-2 whitespace-nowrap", children: [
|
|
93978
|
+
/* @__PURE__ */ jsx10("span", { children: shortcut?.label }),
|
|
93979
|
+
/* @__PURE__ */ jsx10("div", { className: "flex items-center gap-x-1", children: shortcut?.keys.Mac?.map((key, index) => /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-x-1", children: [
|
|
93980
|
+
/* @__PURE__ */ jsx10(Kbd2, { children: key }, key),
|
|
93981
|
+
index < (shortcut.keys.Mac?.length || 0) - 1 && /* @__PURE__ */ jsx10("span", { className: "text-ui-fg-muted txt-compact-xsmall", children: t2("app.keyboardShortcuts.then") })
|
|
94252
93982
|
] }, index)) })
|
|
94253
93983
|
] }),
|
|
94254
93984
|
side: "right",
|
|
94255
93985
|
delayDuration: 1500,
|
|
94256
|
-
children: /* @__PURE__ */
|
|
93986
|
+
children: /* @__PURE__ */ jsx10("div", { className: "w-full", children })
|
|
94257
93987
|
}
|
|
94258
93988
|
);
|
|
94259
93989
|
};
|
|
@@ -94268,9 +93998,9 @@ var NavItem = ({
|
|
|
94268
93998
|
}) => {
|
|
94269
93999
|
const { t: t2 } = useTranslation4(translationNs);
|
|
94270
94000
|
const { pathname } = useLocation4();
|
|
94271
|
-
const [open, setOpen] =
|
|
94001
|
+
const [open, setOpen] = useState8(getIsOpen(to, items, pathname));
|
|
94272
94002
|
const displayLabel = translationNs ? t2(label) : label;
|
|
94273
|
-
|
|
94003
|
+
useEffect7(() => {
|
|
94274
94004
|
setOpen(getIsOpen(to, items, pathname));
|
|
94275
94005
|
}, [pathname, to, items]);
|
|
94276
94006
|
const navLinkClassNames = useCallback5(
|
|
@@ -94283,7 +94013,7 @@ var NavItem = ({
|
|
|
94283
94013
|
if (["core", "setting"].includes(type)) {
|
|
94284
94014
|
isActive = pathname.startsWith(to2);
|
|
94285
94015
|
}
|
|
94286
|
-
return
|
|
94016
|
+
return clx3(BASE_NAV_LINK_CLASSES, {
|
|
94287
94017
|
[NESTED_NAV_LINK_CLASSES]: isNested,
|
|
94288
94018
|
[ACTIVE_NAV_LINK_CLASSES]: isActive,
|
|
94289
94019
|
[SETTING_NAV_LINK_CLASSES]: isSetting2
|
|
@@ -94292,8 +94022,8 @@ var NavItem = ({
|
|
|
94292
94022
|
[type, pathname]
|
|
94293
94023
|
);
|
|
94294
94024
|
const isSetting = type === "setting";
|
|
94295
|
-
return /* @__PURE__ */
|
|
94296
|
-
/* @__PURE__ */
|
|
94025
|
+
return /* @__PURE__ */ jsxs4("div", { className: "px-3", children: [
|
|
94026
|
+
/* @__PURE__ */ jsx10(NavItemTooltip, { to, children: /* @__PURE__ */ jsxs4(
|
|
94297
94027
|
NavLink,
|
|
94298
94028
|
{
|
|
94299
94029
|
to,
|
|
@@ -94302,38 +94032,38 @@ var NavItem = ({
|
|
|
94302
94032
|
from
|
|
94303
94033
|
} : void 0,
|
|
94304
94034
|
className: ({ isActive }) => {
|
|
94305
|
-
return
|
|
94035
|
+
return clx3(navLinkClassNames({ isActive, isSetting, to }), {
|
|
94306
94036
|
"max-lg:hidden": !!items?.length
|
|
94307
94037
|
});
|
|
94308
94038
|
},
|
|
94309
94039
|
children: [
|
|
94310
|
-
type !== "setting" && /* @__PURE__ */
|
|
94311
|
-
/* @__PURE__ */
|
|
94040
|
+
type !== "setting" && /* @__PURE__ */ jsx10("div", { className: "flex size-6 items-center justify-center", children: /* @__PURE__ */ jsx10(Icon, { icon, type }) }),
|
|
94041
|
+
/* @__PURE__ */ jsx10(Text2, { size: "small", weight: "plus", leading: "compact", children: displayLabel })
|
|
94312
94042
|
]
|
|
94313
94043
|
}
|
|
94314
94044
|
) }),
|
|
94315
|
-
items && items.length > 0 && /* @__PURE__ */
|
|
94316
|
-
/* @__PURE__ */
|
|
94045
|
+
items && items.length > 0 && /* @__PURE__ */ jsxs4(RadixCollapsible.Root, { open, onOpenChange: setOpen, children: [
|
|
94046
|
+
/* @__PURE__ */ jsxs4(
|
|
94317
94047
|
RadixCollapsible.Trigger,
|
|
94318
94048
|
{
|
|
94319
|
-
className:
|
|
94049
|
+
className: clx3(
|
|
94320
94050
|
"text-ui-fg-subtle hover:text-ui-fg-base transition-fg hover:bg-ui-bg-subtle-hover flex w-full items-center gap-x-2 rounded-md py-0.5 pl-0.5 pr-2 outline-none lg:hidden",
|
|
94321
94051
|
{ "pl-2": isSetting }
|
|
94322
94052
|
),
|
|
94323
94053
|
children: [
|
|
94324
|
-
/* @__PURE__ */
|
|
94325
|
-
/* @__PURE__ */
|
|
94054
|
+
/* @__PURE__ */ jsx10("div", { className: "flex size-6 items-center justify-center", children: /* @__PURE__ */ jsx10(Icon, { icon, type }) }),
|
|
94055
|
+
/* @__PURE__ */ jsx10(Text2, { size: "small", weight: "plus", leading: "compact", children: displayLabel })
|
|
94326
94056
|
]
|
|
94327
94057
|
}
|
|
94328
94058
|
),
|
|
94329
|
-
/* @__PURE__ */
|
|
94330
|
-
/* @__PURE__ */
|
|
94059
|
+
/* @__PURE__ */ jsx10(RadixCollapsible.Content, { children: /* @__PURE__ */ jsx10("div", { className: "flex flex-col gap-y-0.5 pb-2 pt-0.5", children: /* @__PURE__ */ jsxs4("ul", { className: "flex flex-col gap-y-0.5", children: [
|
|
94060
|
+
/* @__PURE__ */ jsx10("li", { className: "flex w-full items-center gap-x-1 lg:hidden", children: /* @__PURE__ */ jsx10(NavItemTooltip, { to, children: /* @__PURE__ */ jsx10(
|
|
94331
94061
|
NavLink,
|
|
94332
94062
|
{
|
|
94333
94063
|
to,
|
|
94334
94064
|
end: true,
|
|
94335
94065
|
className: ({ isActive }) => {
|
|
94336
|
-
return
|
|
94066
|
+
return clx3(
|
|
94337
94067
|
navLinkClassNames({
|
|
94338
94068
|
to,
|
|
94339
94069
|
isActive,
|
|
@@ -94342,19 +94072,19 @@ var NavItem = ({
|
|
|
94342
94072
|
})
|
|
94343
94073
|
);
|
|
94344
94074
|
},
|
|
94345
|
-
children: /* @__PURE__ */
|
|
94075
|
+
children: /* @__PURE__ */ jsx10(Text2, { size: "small", weight: "plus", leading: "compact", children: displayLabel })
|
|
94346
94076
|
}
|
|
94347
94077
|
) }) }),
|
|
94348
94078
|
items.map((item) => {
|
|
94349
94079
|
const { t: itemT } = useTranslation4(item.translationNs);
|
|
94350
94080
|
const itemLabel = item.translationNs ? itemT(item.label) : item.label;
|
|
94351
|
-
return /* @__PURE__ */
|
|
94081
|
+
return /* @__PURE__ */ jsx10("li", { className: "flex h-7 items-center", children: /* @__PURE__ */ jsx10(NavItemTooltip, { to: item.to, children: /* @__PURE__ */ jsx10(
|
|
94352
94082
|
NavLink,
|
|
94353
94083
|
{
|
|
94354
94084
|
to: item.to,
|
|
94355
94085
|
end: true,
|
|
94356
94086
|
className: ({ isActive }) => {
|
|
94357
|
-
return
|
|
94087
|
+
return clx3(
|
|
94358
94088
|
navLinkClassNames({
|
|
94359
94089
|
to: item.to,
|
|
94360
94090
|
isActive,
|
|
@@ -94363,7 +94093,7 @@ var NavItem = ({
|
|
|
94363
94093
|
})
|
|
94364
94094
|
);
|
|
94365
94095
|
},
|
|
94366
|
-
children: /* @__PURE__ */
|
|
94096
|
+
children: /* @__PURE__ */ jsx10(Text2, { size: "small", weight: "plus", leading: "compact", children: itemLabel })
|
|
94367
94097
|
}
|
|
94368
94098
|
) }) }, item.to);
|
|
94369
94099
|
})
|
|
@@ -94375,18 +94105,18 @@ var Icon = ({ icon, type }) => {
|
|
|
94375
94105
|
if (!icon) {
|
|
94376
94106
|
return null;
|
|
94377
94107
|
}
|
|
94378
|
-
return type === "extension" ? /* @__PURE__ */
|
|
94108
|
+
return type === "extension" ? /* @__PURE__ */ jsx10("div", { className: "shadow-borders-base bg-ui-bg-base flex h-5 w-5 items-center justify-center rounded-[4px]", children: /* @__PURE__ */ jsx10("div", { className: "h-[15px] w-[15px] overflow-hidden rounded-sm", children: icon }) }) : icon;
|
|
94379
94109
|
};
|
|
94380
94110
|
|
|
94381
94111
|
// src/components/layout/shell/shell.tsx
|
|
94382
94112
|
import { SidebarLeft, TriangleRightMini, XMark } from "@acmekit/icons";
|
|
94383
|
-
import { IconButton as
|
|
94113
|
+
import { IconButton as IconButton4, clx as clx5 } from "@acmekit/ui";
|
|
94384
94114
|
import { AnimatePresence } from "motion/react";
|
|
94385
94115
|
import { Dialog as RadixDialog2 } from "radix-ui";
|
|
94386
|
-
import { useEffect as
|
|
94116
|
+
import { useEffect as useEffect10, useState as useState10 } from "react";
|
|
94387
94117
|
import { useTranslation as useTranslation6 } from "react-i18next";
|
|
94388
94118
|
import {
|
|
94389
|
-
Link
|
|
94119
|
+
Link,
|
|
94390
94120
|
Outlet as Outlet2,
|
|
94391
94121
|
useMatches,
|
|
94392
94122
|
useNavigation
|
|
@@ -94394,9 +94124,9 @@ import {
|
|
|
94394
94124
|
|
|
94395
94125
|
// src/components/common/progress-bar/progress-bar.tsx
|
|
94396
94126
|
import { motion } from "motion/react";
|
|
94397
|
-
import { jsx as
|
|
94127
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
94398
94128
|
var ProgressBar = ({ duration = 2 }) => {
|
|
94399
|
-
return /* @__PURE__ */
|
|
94129
|
+
return /* @__PURE__ */ jsx11(
|
|
94400
94130
|
motion.div,
|
|
94401
94131
|
{
|
|
94402
94132
|
className: "bg-ui-fg-subtle size-full",
|
|
@@ -94425,93 +94155,15 @@ import {
|
|
|
94425
94155
|
BellAlertDone,
|
|
94426
94156
|
InformationCircleSolid
|
|
94427
94157
|
} from "@acmekit/icons";
|
|
94428
|
-
import { clx as
|
|
94158
|
+
import { clx as clx4, Drawer, Heading, IconButton as IconButton3, Text as Text4 } from "@acmekit/ui";
|
|
94429
94159
|
import { formatDistance } from "date-fns";
|
|
94430
|
-
import { useEffect as
|
|
94160
|
+
import { useEffect as useEffect9, useState as useState9 } from "react";
|
|
94431
94161
|
import { useTranslation as useTranslation5 } from "react-i18next";
|
|
94432
94162
|
|
|
94433
94163
|
// src/components/common/file-preview/file-preview.tsx
|
|
94434
94164
|
import { ArrowDownTray, Spinner as Spinner3 } from "@acmekit/icons";
|
|
94435
|
-
import { IconButton as
|
|
94436
|
-
|
|
94437
|
-
// src/components/common/action-menu/action-menu.tsx
|
|
94438
|
-
import { DropdownMenu as DropdownMenu2, IconButton as IconButton2, clx as clx5 } from "@acmekit/ui";
|
|
94439
|
-
import { EllipsisHorizontal } from "@acmekit/icons";
|
|
94440
|
-
import { Link } from "react-router-dom";
|
|
94441
|
-
import { jsx as jsx15, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
94442
|
-
var ActionMenu = ({
|
|
94443
|
-
groups,
|
|
94444
|
-
variant = "transparent",
|
|
94445
|
-
children
|
|
94446
|
-
}) => {
|
|
94447
|
-
const direction = useDocumentDirection();
|
|
94448
|
-
const inner = children ?? /* @__PURE__ */ jsx15(IconButton2, { size: "small", variant, children: /* @__PURE__ */ jsx15(EllipsisHorizontal, {}) });
|
|
94449
|
-
return /* @__PURE__ */ jsxs6(DropdownMenu2, { dir: direction, children: [
|
|
94450
|
-
/* @__PURE__ */ jsx15(DropdownMenu2.Trigger, { asChild: true, children: inner }),
|
|
94451
|
-
/* @__PURE__ */ jsx15(DropdownMenu2.Content, { children: groups.map((group, index) => {
|
|
94452
|
-
if (!group.actions.length) {
|
|
94453
|
-
return null;
|
|
94454
|
-
}
|
|
94455
|
-
const isLast = index === groups.length - 1;
|
|
94456
|
-
return /* @__PURE__ */ jsxs6(DropdownMenu2.Group, { children: [
|
|
94457
|
-
group.actions.map((action, index2) => {
|
|
94458
|
-
const Wrapper = action.disabledTooltip ? ({ children: children2 }) => /* @__PURE__ */ jsx15(
|
|
94459
|
-
ConditionalTooltip,
|
|
94460
|
-
{
|
|
94461
|
-
showTooltip: action.disabled,
|
|
94462
|
-
content: action.disabledTooltip,
|
|
94463
|
-
side: "right",
|
|
94464
|
-
children: /* @__PURE__ */ jsx15("div", { children: children2 })
|
|
94465
|
-
}
|
|
94466
|
-
) : "div";
|
|
94467
|
-
if (action.onClick) {
|
|
94468
|
-
return /* @__PURE__ */ jsx15(Wrapper, { children: /* @__PURE__ */ jsxs6(
|
|
94469
|
-
DropdownMenu2.Item,
|
|
94470
|
-
{
|
|
94471
|
-
disabled: action.disabled,
|
|
94472
|
-
onClick: (e) => {
|
|
94473
|
-
e.stopPropagation();
|
|
94474
|
-
action.onClick();
|
|
94475
|
-
},
|
|
94476
|
-
className: clx5(
|
|
94477
|
-
"[&_svg]:text-ui-fg-subtle flex items-center gap-x-2",
|
|
94478
|
-
{
|
|
94479
|
-
"[&_svg]:text-ui-fg-disabled": action.disabled
|
|
94480
|
-
}
|
|
94481
|
-
),
|
|
94482
|
-
children: [
|
|
94483
|
-
action.icon,
|
|
94484
|
-
/* @__PURE__ */ jsx15("span", { children: action.label })
|
|
94485
|
-
]
|
|
94486
|
-
}
|
|
94487
|
-
) }, index2);
|
|
94488
|
-
}
|
|
94489
|
-
return /* @__PURE__ */ jsx15(Wrapper, { children: /* @__PURE__ */ jsx15(
|
|
94490
|
-
DropdownMenu2.Item,
|
|
94491
|
-
{
|
|
94492
|
-
className: clx5(
|
|
94493
|
-
"[&_svg]:text-ui-fg-subtle flex items-center gap-x-2",
|
|
94494
|
-
{
|
|
94495
|
-
"[&_svg]:text-ui-fg-disabled": action.disabled
|
|
94496
|
-
}
|
|
94497
|
-
),
|
|
94498
|
-
asChild: true,
|
|
94499
|
-
disabled: action.disabled,
|
|
94500
|
-
children: /* @__PURE__ */ jsxs6(Link, { to: action.to, onClick: (e) => e.stopPropagation(), children: [
|
|
94501
|
-
action.icon,
|
|
94502
|
-
/* @__PURE__ */ jsx15("span", { children: action.label })
|
|
94503
|
-
] })
|
|
94504
|
-
}
|
|
94505
|
-
) }, index2);
|
|
94506
|
-
}),
|
|
94507
|
-
!isLast && /* @__PURE__ */ jsx15(DropdownMenu2.Separator, {})
|
|
94508
|
-
] }, index);
|
|
94509
|
-
}) })
|
|
94510
|
-
] });
|
|
94511
|
-
};
|
|
94512
|
-
|
|
94513
|
-
// src/components/common/file-preview/file-preview.tsx
|
|
94514
|
-
import { jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
94165
|
+
import { IconButton as IconButton2, Text as Text3 } from "@acmekit/ui";
|
|
94166
|
+
import { jsx as jsx12, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
94515
94167
|
var FilePreview = ({
|
|
94516
94168
|
filename,
|
|
94517
94169
|
url,
|
|
@@ -94520,12 +94172,12 @@ var FilePreview = ({
|
|
|
94520
94172
|
actions,
|
|
94521
94173
|
hideThumbnail
|
|
94522
94174
|
}) => {
|
|
94523
|
-
return /* @__PURE__ */
|
|
94524
|
-
/* @__PURE__ */
|
|
94525
|
-
!hideThumbnail && /* @__PURE__ */
|
|
94526
|
-
/* @__PURE__ */
|
|
94527
|
-
/* @__PURE__ */
|
|
94528
|
-
|
|
94175
|
+
return /* @__PURE__ */ jsx12("div", { className: "shadow-elevation-card-rest bg-ui-bg-component transition-fg rounded-md px-3 py-2", children: /* @__PURE__ */ jsxs5("div", { className: "flex flex-row items-center justify-between gap-2", children: [
|
|
94176
|
+
/* @__PURE__ */ jsxs5("div", { className: "flex flex-row items-center gap-3", children: [
|
|
94177
|
+
!hideThumbnail && /* @__PURE__ */ jsx12(FileThumbnail, {}),
|
|
94178
|
+
/* @__PURE__ */ jsxs5("div", { className: "flex flex-col justify-center", children: [
|
|
94179
|
+
/* @__PURE__ */ jsx12(
|
|
94180
|
+
Text3,
|
|
94529
94181
|
{
|
|
94530
94182
|
size: "small",
|
|
94531
94183
|
leading: "compact",
|
|
@@ -94533,8 +94185,8 @@ var FilePreview = ({
|
|
|
94533
94185
|
children: filename
|
|
94534
94186
|
}
|
|
94535
94187
|
),
|
|
94536
|
-
loading && !!activity && /* @__PURE__ */
|
|
94537
|
-
|
|
94188
|
+
loading && !!activity && /* @__PURE__ */ jsx12(
|
|
94189
|
+
Text3,
|
|
94538
94190
|
{
|
|
94539
94191
|
leading: "compact",
|
|
94540
94192
|
size: "xsmall",
|
|
@@ -94544,13 +94196,13 @@ var FilePreview = ({
|
|
|
94544
94196
|
)
|
|
94545
94197
|
] })
|
|
94546
94198
|
] }),
|
|
94547
|
-
loading && /* @__PURE__ */
|
|
94548
|
-
!loading && actions && /* @__PURE__ */
|
|
94549
|
-
!loading && url && /* @__PURE__ */
|
|
94199
|
+
loading && /* @__PURE__ */ jsx12(Spinner3, { className: "animate-spin" }),
|
|
94200
|
+
!loading && actions && /* @__PURE__ */ jsx12(ActionMenu, { groups: actions }),
|
|
94201
|
+
!loading && url && /* @__PURE__ */ jsx12(IconButton2, { variant: "transparent", asChild: true, children: /* @__PURE__ */ jsx12("a", { href: url, download: filename ?? `${Date.now()}`, children: /* @__PURE__ */ jsx12(ArrowDownTray, {}) }) })
|
|
94550
94202
|
] }) });
|
|
94551
94203
|
};
|
|
94552
94204
|
var FileThumbnail = () => {
|
|
94553
|
-
return /* @__PURE__ */
|
|
94205
|
+
return /* @__PURE__ */ jsxs5(
|
|
94554
94206
|
"svg",
|
|
94555
94207
|
{
|
|
94556
94208
|
width: "24",
|
|
@@ -94559,7 +94211,7 @@ var FileThumbnail = () => {
|
|
|
94559
94211
|
fill: "none",
|
|
94560
94212
|
xmlns: "http://www.w3.org/2000/svg",
|
|
94561
94213
|
children: [
|
|
94562
|
-
/* @__PURE__ */
|
|
94214
|
+
/* @__PURE__ */ jsx12(
|
|
94563
94215
|
"path",
|
|
94564
94216
|
{
|
|
94565
94217
|
d: "M20 31.75H4C1.92893 31.75 0.25 30.0711 0.25 28V4C0.25 1.92893 1.92893 0.25 4 0.25H15.9431C16.9377 0.25 17.8915 0.645088 18.5948 1.34835L22.6516 5.4052C23.3549 6.10847 23.75 7.06229 23.75 8.05685V28C23.75 30.0711 22.0711 31.75 20 31.75Z",
|
|
@@ -94568,7 +94220,7 @@ var FileThumbnail = () => {
|
|
|
94568
94220
|
"stroke-width": "0.5"
|
|
94569
94221
|
}
|
|
94570
94222
|
),
|
|
94571
|
-
/* @__PURE__ */
|
|
94223
|
+
/* @__PURE__ */ jsx12(
|
|
94572
94224
|
"path",
|
|
94573
94225
|
{
|
|
94574
94226
|
opacity: "0.4",
|
|
@@ -94578,8 +94230,8 @@ var FileThumbnail = () => {
|
|
|
94578
94230
|
"stroke-width": "0.428571"
|
|
94579
94231
|
}
|
|
94580
94232
|
),
|
|
94581
|
-
/* @__PURE__ */
|
|
94582
|
-
/* @__PURE__ */
|
|
94233
|
+
/* @__PURE__ */ jsxs5("defs", { children: [
|
|
94234
|
+
/* @__PURE__ */ jsxs5(
|
|
94583
94235
|
"linearGradient",
|
|
94584
94236
|
{
|
|
94585
94237
|
id: "paint0_linear_6594_388107",
|
|
@@ -94589,12 +94241,12 @@ var FileThumbnail = () => {
|
|
|
94589
94241
|
y2: "32",
|
|
94590
94242
|
gradientUnits: "userSpaceOnUse",
|
|
94591
94243
|
children: [
|
|
94592
|
-
/* @__PURE__ */
|
|
94593
|
-
/* @__PURE__ */
|
|
94244
|
+
/* @__PURE__ */ jsx12("stop", { "stop-color": "#F4F4F5" }),
|
|
94245
|
+
/* @__PURE__ */ jsx12("stop", { offset: "1", "stop-color": "#E4E4E7" })
|
|
94594
94246
|
]
|
|
94595
94247
|
}
|
|
94596
94248
|
),
|
|
94597
|
-
/* @__PURE__ */
|
|
94249
|
+
/* @__PURE__ */ jsxs5(
|
|
94598
94250
|
"linearGradient",
|
|
94599
94251
|
{
|
|
94600
94252
|
id: "paint1_linear_6594_388107",
|
|
@@ -94604,12 +94256,12 @@ var FileThumbnail = () => {
|
|
|
94604
94256
|
y2: "32",
|
|
94605
94257
|
gradientUnits: "userSpaceOnUse",
|
|
94606
94258
|
children: [
|
|
94607
|
-
/* @__PURE__ */
|
|
94608
|
-
/* @__PURE__ */
|
|
94259
|
+
/* @__PURE__ */ jsx12("stop", { "stop-color": "#E4E4E7" }),
|
|
94260
|
+
/* @__PURE__ */ jsx12("stop", { offset: "1", "stop-color": "#D4D4D8" })
|
|
94609
94261
|
]
|
|
94610
94262
|
}
|
|
94611
94263
|
),
|
|
94612
|
-
/* @__PURE__ */
|
|
94264
|
+
/* @__PURE__ */ jsxs5(
|
|
94613
94265
|
"linearGradient",
|
|
94614
94266
|
{
|
|
94615
94267
|
id: "paint2_linear_6594_388107",
|
|
@@ -94619,12 +94271,12 @@ var FileThumbnail = () => {
|
|
|
94619
94271
|
y2: "21.25",
|
|
94620
94272
|
gradientUnits: "userSpaceOnUse",
|
|
94621
94273
|
children: [
|
|
94622
|
-
/* @__PURE__ */
|
|
94623
|
-
/* @__PURE__ */
|
|
94274
|
+
/* @__PURE__ */ jsx12("stop", { "stop-color": "#52525B" }),
|
|
94275
|
+
/* @__PURE__ */ jsx12("stop", { offset: "1", "stop-color": "#A1A1AA" })
|
|
94624
94276
|
]
|
|
94625
94277
|
}
|
|
94626
94278
|
),
|
|
94627
|
-
/* @__PURE__ */
|
|
94279
|
+
/* @__PURE__ */ jsxs5(
|
|
94628
94280
|
"linearGradient",
|
|
94629
94281
|
{
|
|
94630
94282
|
id: "paint3_linear_6594_388107",
|
|
@@ -94634,8 +94286,8 @@ var FileThumbnail = () => {
|
|
|
94634
94286
|
y2: "21.25",
|
|
94635
94287
|
gradientUnits: "userSpaceOnUse",
|
|
94636
94288
|
children: [
|
|
94637
|
-
/* @__PURE__ */
|
|
94638
|
-
/* @__PURE__ */
|
|
94289
|
+
/* @__PURE__ */ jsx12("stop", { "stop-color": "#18181B" }),
|
|
94290
|
+
/* @__PURE__ */ jsx12("stop", { offset: "1", "stop-color": "#52525B" })
|
|
94639
94291
|
]
|
|
94640
94292
|
}
|
|
94641
94293
|
)
|
|
@@ -94647,10 +94299,10 @@ var FileThumbnail = () => {
|
|
|
94647
94299
|
|
|
94648
94300
|
// src/components/common/infinite-list/infinite-list.tsx
|
|
94649
94301
|
import { useInfiniteQuery } from "@tanstack/react-query";
|
|
94650
|
-
import { useEffect as
|
|
94302
|
+
import { useEffect as useEffect8, useMemo as useMemo4, useRef as useRef2 } from "react";
|
|
94651
94303
|
import { toast } from "@acmekit/ui";
|
|
94652
94304
|
import { Spinner as Spinner4 } from "@acmekit/icons";
|
|
94653
|
-
import { jsx as
|
|
94305
|
+
import { jsx as jsx13, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
94654
94306
|
var InfiniteList = ({
|
|
94655
94307
|
queryKey,
|
|
94656
94308
|
queryFn,
|
|
@@ -94697,11 +94349,11 @@ var InfiniteList = ({
|
|
|
94697
94349
|
const endObserver = useRef2();
|
|
94698
94350
|
const fetchNextPageRef = useRef2(fetchNextPage);
|
|
94699
94351
|
const fetchPreviousPageRef = useRef2(fetchPreviousPage);
|
|
94700
|
-
|
|
94352
|
+
useEffect8(() => {
|
|
94701
94353
|
fetchNextPageRef.current = fetchNextPage;
|
|
94702
94354
|
fetchPreviousPageRef.current = fetchPreviousPage;
|
|
94703
94355
|
}, [fetchNextPage, fetchPreviousPage]);
|
|
94704
|
-
|
|
94356
|
+
useEffect8(() => {
|
|
94705
94357
|
if (isPending) {
|
|
94706
94358
|
return;
|
|
94707
94359
|
}
|
|
@@ -94745,31 +94397,31 @@ var InfiniteList = ({
|
|
|
94745
94397
|
isFetching,
|
|
94746
94398
|
isPending
|
|
94747
94399
|
]);
|
|
94748
|
-
|
|
94400
|
+
useEffect8(() => {
|
|
94749
94401
|
if (error) {
|
|
94750
94402
|
toast.error(error.message);
|
|
94751
94403
|
}
|
|
94752
94404
|
}, [error]);
|
|
94753
94405
|
if (isPending) {
|
|
94754
|
-
return /* @__PURE__ */
|
|
94406
|
+
return /* @__PURE__ */ jsx13("div", { className: "flex h-full flex-col items-center justify-center", children: /* @__PURE__ */ jsx13(Spinner4, { className: "animate-spin" }) });
|
|
94755
94407
|
}
|
|
94756
|
-
return /* @__PURE__ */
|
|
94757
|
-
items?.length ? items.map((item) => /* @__PURE__ */
|
|
94758
|
-
isFetching && /* @__PURE__ */
|
|
94408
|
+
return /* @__PURE__ */ jsxs6("div", { ref: parentRef, className: "h-full", children: [
|
|
94409
|
+
items?.length ? items.map((item) => /* @__PURE__ */ jsx13("div", { children: renderItem(item) }, item.id)) : renderEmpty(),
|
|
94410
|
+
isFetching && /* @__PURE__ */ jsx13("div", { className: "flex flex-col items-center justify-center py-4", children: /* @__PURE__ */ jsx13(Spinner4, { className: "animate-spin" }) })
|
|
94759
94411
|
] });
|
|
94760
94412
|
};
|
|
94761
94413
|
|
|
94762
94414
|
// src/components/layout/notifications/notifications.tsx
|
|
94763
|
-
import { Fragment as Fragment2, jsx as
|
|
94415
|
+
import { Fragment as Fragment2, jsx as jsx14, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
94764
94416
|
var LAST_READ_NOTIFICATION_KEY = "notificationsLastReadAt";
|
|
94765
94417
|
var Notifications = () => {
|
|
94766
94418
|
const { t: t2 } = useTranslation5();
|
|
94767
|
-
const [open, setOpen] =
|
|
94419
|
+
const [open, setOpen] = useState9(false);
|
|
94768
94420
|
const [hasUnread, setHasUnread] = useUnreadNotifications();
|
|
94769
|
-
const [lastReadAt, setLastReadAt] =
|
|
94421
|
+
const [lastReadAt, setLastReadAt] = useState9(
|
|
94770
94422
|
localStorage.getItem(LAST_READ_NOTIFICATION_KEY)
|
|
94771
94423
|
);
|
|
94772
|
-
|
|
94424
|
+
useEffect9(() => {
|
|
94773
94425
|
const onKeyDown = (e) => {
|
|
94774
94426
|
if (e.key === "n" && (e.metaKey || e.ctrlKey)) {
|
|
94775
94427
|
setOpen((prev) => !prev);
|
|
@@ -94790,22 +94442,22 @@ var Notifications = () => {
|
|
|
94790
94442
|
setLastReadAt(localStorage.getItem(LAST_READ_NOTIFICATION_KEY));
|
|
94791
94443
|
}
|
|
94792
94444
|
};
|
|
94793
|
-
return /* @__PURE__ */
|
|
94794
|
-
/* @__PURE__ */
|
|
94795
|
-
|
|
94445
|
+
return /* @__PURE__ */ jsxs7(Drawer, { open, onOpenChange: handleOnOpen, children: [
|
|
94446
|
+
/* @__PURE__ */ jsx14(Drawer.Trigger, { asChild: true, children: /* @__PURE__ */ jsx14(
|
|
94447
|
+
IconButton3,
|
|
94796
94448
|
{
|
|
94797
94449
|
variant: "transparent",
|
|
94798
94450
|
size: "small",
|
|
94799
94451
|
className: "text-ui-fg-muted hover:text-ui-fg-subtle",
|
|
94800
|
-
children: hasUnread ? /* @__PURE__ */
|
|
94452
|
+
children: hasUnread ? /* @__PURE__ */ jsx14(BellAlertDone, {}) : /* @__PURE__ */ jsx14(BellAlert, {})
|
|
94801
94453
|
}
|
|
94802
94454
|
) }),
|
|
94803
|
-
/* @__PURE__ */
|
|
94804
|
-
/* @__PURE__ */
|
|
94805
|
-
/* @__PURE__ */
|
|
94806
|
-
/* @__PURE__ */
|
|
94455
|
+
/* @__PURE__ */ jsxs7(Drawer.Content, { children: [
|
|
94456
|
+
/* @__PURE__ */ jsxs7(Drawer.Header, { children: [
|
|
94457
|
+
/* @__PURE__ */ jsx14(Drawer.Title, { asChild: true, children: /* @__PURE__ */ jsx14(Heading, { children: t2("notifications.domain") }) }),
|
|
94458
|
+
/* @__PURE__ */ jsx14(Drawer.Description, { className: "sr-only", children: t2("notifications.accessibility.description") })
|
|
94807
94459
|
] }),
|
|
94808
|
-
/* @__PURE__ */
|
|
94460
|
+
/* @__PURE__ */ jsx14(Drawer.Body, { className: "overflow-y-auto px-0", children: /* @__PURE__ */ jsx14(
|
|
94809
94461
|
InfiniteList,
|
|
94810
94462
|
{
|
|
94811
94463
|
responseKey: "notifications",
|
|
@@ -94815,9 +94467,9 @@ var Notifications = () => {
|
|
|
94815
94467
|
channel: "feed"
|
|
94816
94468
|
}),
|
|
94817
94469
|
queryOptions: { enabled: open },
|
|
94818
|
-
renderEmpty: () => /* @__PURE__ */
|
|
94470
|
+
renderEmpty: () => /* @__PURE__ */ jsx14(NotificationsEmptyState, { t: t2 }),
|
|
94819
94471
|
renderItem: (notification) => {
|
|
94820
|
-
return /* @__PURE__ */
|
|
94472
|
+
return /* @__PURE__ */ jsx14(
|
|
94821
94473
|
Notification,
|
|
94822
94474
|
{
|
|
94823
94475
|
notification,
|
|
@@ -94839,18 +94491,18 @@ var Notification = ({
|
|
|
94839
94491
|
if (!data?.title) {
|
|
94840
94492
|
return null;
|
|
94841
94493
|
}
|
|
94842
|
-
return /* @__PURE__ */
|
|
94843
|
-
/* @__PURE__ */
|
|
94844
|
-
/* @__PURE__ */
|
|
94845
|
-
/* @__PURE__ */
|
|
94846
|
-
/* @__PURE__ */
|
|
94847
|
-
/* @__PURE__ */
|
|
94848
|
-
/* @__PURE__ */
|
|
94849
|
-
/* @__PURE__ */
|
|
94850
|
-
|
|
94494
|
+
return /* @__PURE__ */ jsx14(Fragment2, { children: /* @__PURE__ */ jsxs7("div", { className: "relative flex items-start justify-center gap-3 border-b p-6", children: [
|
|
94495
|
+
/* @__PURE__ */ jsx14("div", { className: "text-ui-fg-muted flex size-5 items-center justify-center", children: /* @__PURE__ */ jsx14(InformationCircleSolid, {}) }),
|
|
94496
|
+
/* @__PURE__ */ jsxs7("div", { className: "flex w-full flex-col gap-y-3", children: [
|
|
94497
|
+
/* @__PURE__ */ jsxs7("div", { className: "flex flex-col", children: [
|
|
94498
|
+
/* @__PURE__ */ jsxs7("div", { className: "flex items-center justify-between", children: [
|
|
94499
|
+
/* @__PURE__ */ jsx14(Text4, { size: "small", leading: "compact", weight: "plus", children: data.title }),
|
|
94500
|
+
/* @__PURE__ */ jsxs7("div", { className: "align-center flex items-center justify-center gap-2", children: [
|
|
94501
|
+
/* @__PURE__ */ jsx14(
|
|
94502
|
+
Text4,
|
|
94851
94503
|
{
|
|
94852
94504
|
as: "span",
|
|
94853
|
-
className:
|
|
94505
|
+
className: clx4("text-ui-fg-subtle", {
|
|
94854
94506
|
"text-ui-fg-base": unread
|
|
94855
94507
|
}),
|
|
94856
94508
|
size: "small",
|
|
@@ -94861,7 +94513,7 @@ var Notification = ({
|
|
|
94861
94513
|
})
|
|
94862
94514
|
}
|
|
94863
94515
|
),
|
|
94864
|
-
unread && /* @__PURE__ */
|
|
94516
|
+
unread && /* @__PURE__ */ jsx14(
|
|
94865
94517
|
"div",
|
|
94866
94518
|
{
|
|
94867
94519
|
className: "bg-ui-bg-interactive h-2 w-2 rounded",
|
|
@@ -94870,8 +94522,8 @@ var Notification = ({
|
|
|
94870
94522
|
)
|
|
94871
94523
|
] })
|
|
94872
94524
|
] }),
|
|
94873
|
-
!!data.description && /* @__PURE__ */
|
|
94874
|
-
|
|
94525
|
+
!!data.description && /* @__PURE__ */ jsx14(
|
|
94526
|
+
Text4,
|
|
94875
94527
|
{
|
|
94876
94528
|
className: "text-ui-fg-subtle whitespace-pre-line",
|
|
94877
94529
|
size: "small",
|
|
@@ -94879,7 +94531,7 @@ var Notification = ({
|
|
|
94879
94531
|
}
|
|
94880
94532
|
)
|
|
94881
94533
|
] }),
|
|
94882
|
-
!!data?.file?.url && /* @__PURE__ */
|
|
94534
|
+
!!data?.file?.url && /* @__PURE__ */ jsx14(
|
|
94883
94535
|
FilePreview,
|
|
94884
94536
|
{
|
|
94885
94537
|
filename: data.file.filename ?? "",
|
|
@@ -94891,11 +94543,11 @@ var Notification = ({
|
|
|
94891
94543
|
] }) });
|
|
94892
94544
|
};
|
|
94893
94545
|
var NotificationsEmptyState = ({ t: t2 }) => {
|
|
94894
|
-
return /* @__PURE__ */
|
|
94895
|
-
/* @__PURE__ */
|
|
94896
|
-
/* @__PURE__ */
|
|
94897
|
-
/* @__PURE__ */
|
|
94898
|
-
|
|
94546
|
+
return /* @__PURE__ */ jsxs7("div", { className: "flex h-full flex-col items-center justify-center", children: [
|
|
94547
|
+
/* @__PURE__ */ jsx14(BellAlertDone, {}),
|
|
94548
|
+
/* @__PURE__ */ jsx14(Text4, { size: "small", leading: "compact", weight: "plus", className: "mt-3", children: t2("notifications.emptyState.title") }),
|
|
94549
|
+
/* @__PURE__ */ jsx14(
|
|
94550
|
+
Text4,
|
|
94899
94551
|
{
|
|
94900
94552
|
size: "small",
|
|
94901
94553
|
className: "text-ui-fg-muted mt-1 max-w-[294px] text-center",
|
|
@@ -94905,13 +94557,13 @@ var NotificationsEmptyState = ({ t: t2 }) => {
|
|
|
94905
94557
|
] });
|
|
94906
94558
|
};
|
|
94907
94559
|
var useUnreadNotifications = () => {
|
|
94908
|
-
const [hasUnread, setHasUnread] =
|
|
94560
|
+
const [hasUnread, setHasUnread] = useState9(false);
|
|
94909
94561
|
const { notifications } = useNotifications(
|
|
94910
94562
|
{ limit: 1, offset: 0, fields: "created_at" },
|
|
94911
94563
|
{ refetchInterval: 6e4 }
|
|
94912
94564
|
);
|
|
94913
94565
|
const lastNotification = notifications?.[0];
|
|
94914
|
-
|
|
94566
|
+
useEffect9(() => {
|
|
94915
94567
|
if (!lastNotification) {
|
|
94916
94568
|
return;
|
|
94917
94569
|
}
|
|
@@ -94926,37 +94578,37 @@ var useUnreadNotifications = () => {
|
|
|
94926
94578
|
};
|
|
94927
94579
|
|
|
94928
94580
|
// src/components/layout/shell/shell.tsx
|
|
94929
|
-
import { jsx as
|
|
94581
|
+
import { jsx as jsx15, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
94930
94582
|
var Shell = ({ children }) => {
|
|
94931
94583
|
const globalShortcuts = useGlobalShortcuts();
|
|
94932
94584
|
const navigation = useNavigation();
|
|
94933
94585
|
const loading = navigation.state === "loading";
|
|
94934
|
-
return /* @__PURE__ */
|
|
94935
|
-
/* @__PURE__ */
|
|
94936
|
-
/* @__PURE__ */
|
|
94937
|
-
/* @__PURE__ */
|
|
94938
|
-
/* @__PURE__ */
|
|
94586
|
+
return /* @__PURE__ */ jsx15(KeybindProvider, { shortcuts: globalShortcuts, children: /* @__PURE__ */ jsxs8("div", { className: "relative flex h-screen flex-col items-start overflow-hidden lg:flex-row", children: [
|
|
94587
|
+
/* @__PURE__ */ jsx15(NavigationBar, { loading }),
|
|
94588
|
+
/* @__PURE__ */ jsxs8("div", { children: [
|
|
94589
|
+
/* @__PURE__ */ jsx15(MobileSidebarContainer, { children }),
|
|
94590
|
+
/* @__PURE__ */ jsx15(DesktopSidebarContainer, { children })
|
|
94939
94591
|
] }),
|
|
94940
|
-
/* @__PURE__ */
|
|
94941
|
-
/* @__PURE__ */
|
|
94942
|
-
/* @__PURE__ */
|
|
94592
|
+
/* @__PURE__ */ jsxs8("div", { className: "flex h-screen w-full flex-col overflow-auto", children: [
|
|
94593
|
+
/* @__PURE__ */ jsx15(Topbar, {}),
|
|
94594
|
+
/* @__PURE__ */ jsx15(
|
|
94943
94595
|
"main",
|
|
94944
94596
|
{
|
|
94945
|
-
className:
|
|
94597
|
+
className: clx5(
|
|
94946
94598
|
"flex h-full w-full flex-col items-center overflow-y-auto transition-opacity delay-200 duration-200",
|
|
94947
94599
|
{
|
|
94948
94600
|
"opacity-25": loading
|
|
94949
94601
|
}
|
|
94950
94602
|
),
|
|
94951
|
-
children: /* @__PURE__ */
|
|
94603
|
+
children: /* @__PURE__ */ jsx15(Gutter, { children: /* @__PURE__ */ jsx15(Outlet2, {}) })
|
|
94952
94604
|
}
|
|
94953
94605
|
)
|
|
94954
94606
|
] })
|
|
94955
94607
|
] }) });
|
|
94956
94608
|
};
|
|
94957
94609
|
var NavigationBar = ({ loading }) => {
|
|
94958
|
-
const [showBar, setShowBar] =
|
|
94959
|
-
|
|
94610
|
+
const [showBar, setShowBar] = useState10(false);
|
|
94611
|
+
useEffect10(() => {
|
|
94960
94612
|
let timeout;
|
|
94961
94613
|
if (loading) {
|
|
94962
94614
|
timeout = setTimeout(() => {
|
|
@@ -94969,10 +94621,10 @@ var NavigationBar = ({ loading }) => {
|
|
|
94969
94621
|
clearTimeout(timeout);
|
|
94970
94622
|
};
|
|
94971
94623
|
}, [loading]);
|
|
94972
|
-
return /* @__PURE__ */
|
|
94624
|
+
return /* @__PURE__ */ jsx15("div", { className: "fixed inset-x-0 top-0 z-50 h-1", children: /* @__PURE__ */ jsx15(AnimatePresence, { children: showBar ? /* @__PURE__ */ jsx15(ProgressBar, {}) : null }) });
|
|
94973
94625
|
};
|
|
94974
94626
|
var Gutter = ({ children }) => {
|
|
94975
|
-
return /* @__PURE__ */
|
|
94627
|
+
return /* @__PURE__ */ jsx15("div", { className: "flex w-full max-w-[1600px] flex-col gap-y-2 p-3", children });
|
|
94976
94628
|
};
|
|
94977
94629
|
var Breadcrumbs = () => {
|
|
94978
94630
|
const matches = useMatches();
|
|
@@ -94991,29 +94643,29 @@ var Breadcrumbs = () => {
|
|
|
94991
94643
|
path: match.pathname
|
|
94992
94644
|
};
|
|
94993
94645
|
}).filter(Boolean);
|
|
94994
|
-
return /* @__PURE__ */
|
|
94646
|
+
return /* @__PURE__ */ jsx15(
|
|
94995
94647
|
"ol",
|
|
94996
94648
|
{
|
|
94997
|
-
className:
|
|
94649
|
+
className: clx5(
|
|
94998
94650
|
"text-ui-fg-muted txt-compact-small-plus flex select-none items-center"
|
|
94999
94651
|
),
|
|
95000
94652
|
children: crumbs.map((crumb, index) => {
|
|
95001
94653
|
const isLast = index === crumbs.length - 1;
|
|
95002
94654
|
const isSingle = crumbs.length === 1;
|
|
95003
|
-
return /* @__PURE__ */
|
|
95004
|
-
!isLast ? /* @__PURE__ */
|
|
95005
|
-
|
|
94655
|
+
return /* @__PURE__ */ jsxs8("li", { className: clx5("flex items-center"), children: [
|
|
94656
|
+
!isLast ? /* @__PURE__ */ jsx15(
|
|
94657
|
+
Link,
|
|
95006
94658
|
{
|
|
95007
94659
|
className: "transition-fg hover:text-ui-fg-subtle",
|
|
95008
94660
|
to: crumb.path,
|
|
95009
94661
|
children: crumb.label
|
|
95010
94662
|
}
|
|
95011
|
-
) : /* @__PURE__ */
|
|
95012
|
-
!isSingle && /* @__PURE__ */
|
|
95013
|
-
/* @__PURE__ */
|
|
94663
|
+
) : /* @__PURE__ */ jsxs8("div", { children: [
|
|
94664
|
+
!isSingle && /* @__PURE__ */ jsx15("span", { className: "block lg:hidden", children: "..." }),
|
|
94665
|
+
/* @__PURE__ */ jsx15(
|
|
95014
94666
|
"span",
|
|
95015
94667
|
{
|
|
95016
|
-
className:
|
|
94668
|
+
className: clx5({
|
|
95017
94669
|
"hidden lg:block": !isSingle
|
|
95018
94670
|
}),
|
|
95019
94671
|
children: crumb.label
|
|
@@ -95021,7 +94673,7 @@ var Breadcrumbs = () => {
|
|
|
95021
94673
|
index
|
|
95022
94674
|
)
|
|
95023
94675
|
] }),
|
|
95024
|
-
!isLast && /* @__PURE__ */
|
|
94676
|
+
!isLast && /* @__PURE__ */ jsx15("span", { className: "mx-2", children: /* @__PURE__ */ jsx15(TriangleRightMini, { className: "rtl:rotate-180" }) })
|
|
95025
94677
|
] }, index);
|
|
95026
94678
|
})
|
|
95027
94679
|
}
|
|
@@ -95029,44 +94681,44 @@ var Breadcrumbs = () => {
|
|
|
95029
94681
|
};
|
|
95030
94682
|
var ToggleSidebar = () => {
|
|
95031
94683
|
const { toggle } = useSidebar();
|
|
95032
|
-
return /* @__PURE__ */
|
|
95033
|
-
/* @__PURE__ */
|
|
95034
|
-
|
|
94684
|
+
return /* @__PURE__ */ jsxs8("div", { children: [
|
|
94685
|
+
/* @__PURE__ */ jsx15(
|
|
94686
|
+
IconButton4,
|
|
95035
94687
|
{
|
|
95036
94688
|
className: "hidden lg:flex",
|
|
95037
94689
|
variant: "transparent",
|
|
95038
94690
|
onClick: () => toggle("desktop"),
|
|
95039
94691
|
size: "small",
|
|
95040
|
-
children: /* @__PURE__ */
|
|
94692
|
+
children: /* @__PURE__ */ jsx15(SidebarLeft, { className: "text-ui-fg-muted rtl:rotate-180" })
|
|
95041
94693
|
}
|
|
95042
94694
|
),
|
|
95043
|
-
/* @__PURE__ */
|
|
95044
|
-
|
|
94695
|
+
/* @__PURE__ */ jsx15(
|
|
94696
|
+
IconButton4,
|
|
95045
94697
|
{
|
|
95046
94698
|
className: "hidden max-lg:flex",
|
|
95047
94699
|
variant: "transparent",
|
|
95048
94700
|
onClick: () => toggle("mobile"),
|
|
95049
94701
|
size: "small",
|
|
95050
|
-
children: /* @__PURE__ */
|
|
94702
|
+
children: /* @__PURE__ */ jsx15(SidebarLeft, { className: "text-ui-fg-muted rtl:rotate-180" })
|
|
95051
94703
|
}
|
|
95052
94704
|
)
|
|
95053
94705
|
] });
|
|
95054
94706
|
};
|
|
95055
94707
|
var Topbar = () => {
|
|
95056
|
-
return /* @__PURE__ */
|
|
95057
|
-
/* @__PURE__ */
|
|
95058
|
-
/* @__PURE__ */
|
|
95059
|
-
/* @__PURE__ */
|
|
94708
|
+
return /* @__PURE__ */ jsxs8("div", { className: "grid w-full grid-cols-2 border-b p-3", children: [
|
|
94709
|
+
/* @__PURE__ */ jsxs8("div", { className: "flex items-center gap-x-1.5", children: [
|
|
94710
|
+
/* @__PURE__ */ jsx15(ToggleSidebar, {}),
|
|
94711
|
+
/* @__PURE__ */ jsx15(Breadcrumbs, {})
|
|
95060
94712
|
] }),
|
|
95061
|
-
/* @__PURE__ */
|
|
94713
|
+
/* @__PURE__ */ jsx15("div", { className: "flex items-center justify-end gap-x-3", children: /* @__PURE__ */ jsx15(Notifications, {}) })
|
|
95062
94714
|
] });
|
|
95063
94715
|
};
|
|
95064
94716
|
var DesktopSidebarContainer = ({ children }) => {
|
|
95065
94717
|
const { desktop } = useSidebar();
|
|
95066
|
-
return /* @__PURE__ */
|
|
94718
|
+
return /* @__PURE__ */ jsx15(
|
|
95067
94719
|
"div",
|
|
95068
94720
|
{
|
|
95069
|
-
className:
|
|
94721
|
+
className: clx5("hidden h-screen w-[220px] border-e", {
|
|
95070
94722
|
"lg:flex": desktop
|
|
95071
94723
|
}),
|
|
95072
94724
|
children
|
|
@@ -95076,36 +94728,36 @@ var DesktopSidebarContainer = ({ children }) => {
|
|
|
95076
94728
|
var MobileSidebarContainer = ({ children }) => {
|
|
95077
94729
|
const { t: t2 } = useTranslation6();
|
|
95078
94730
|
const { mobile, toggle } = useSidebar();
|
|
95079
|
-
return /* @__PURE__ */
|
|
95080
|
-
/* @__PURE__ */
|
|
94731
|
+
return /* @__PURE__ */ jsx15(RadixDialog2.Root, { open: mobile, onOpenChange: () => toggle("mobile"), children: /* @__PURE__ */ jsxs8(RadixDialog2.Portal, { children: [
|
|
94732
|
+
/* @__PURE__ */ jsx15(
|
|
95081
94733
|
RadixDialog2.Overlay,
|
|
95082
94734
|
{
|
|
95083
|
-
className:
|
|
94735
|
+
className: clx5(
|
|
95084
94736
|
"bg-ui-bg-overlay fixed inset-0",
|
|
95085
94737
|
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"
|
|
95086
94738
|
)
|
|
95087
94739
|
}
|
|
95088
94740
|
),
|
|
95089
|
-
/* @__PURE__ */
|
|
94741
|
+
/* @__PURE__ */ jsxs8(
|
|
95090
94742
|
RadixDialog2.Content,
|
|
95091
94743
|
{
|
|
95092
|
-
className:
|
|
94744
|
+
className: clx5(
|
|
95093
94745
|
"bg-ui-bg-subtle shadow-elevation-modal fixed inset-y-2 start-2 flex w-full max-w-[304px] flex-col overflow-hidden rounded-lg border-r",
|
|
95094
94746
|
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:slide-out-to-start-1/2 data-[state=open]:slide-in-from-start-1/2 duration-200"
|
|
95095
94747
|
),
|
|
95096
94748
|
children: [
|
|
95097
|
-
/* @__PURE__ */
|
|
95098
|
-
/* @__PURE__ */
|
|
95099
|
-
|
|
94749
|
+
/* @__PURE__ */ jsxs8("div", { className: "p-3", children: [
|
|
94750
|
+
/* @__PURE__ */ jsx15(RadixDialog2.Close, { asChild: true, children: /* @__PURE__ */ jsx15(
|
|
94751
|
+
IconButton4,
|
|
95100
94752
|
{
|
|
95101
94753
|
size: "small",
|
|
95102
94754
|
variant: "transparent",
|
|
95103
94755
|
className: "text-ui-fg-subtle",
|
|
95104
|
-
children: /* @__PURE__ */
|
|
94756
|
+
children: /* @__PURE__ */ jsx15(XMark, {})
|
|
95105
94757
|
}
|
|
95106
94758
|
) }),
|
|
95107
|
-
/* @__PURE__ */
|
|
95108
|
-
/* @__PURE__ */
|
|
94759
|
+
/* @__PURE__ */ jsx15(RadixDialog2.Title, { className: "sr-only", children: t2("app.nav.accessibility.title") }),
|
|
94760
|
+
/* @__PURE__ */ jsx15(RadixDialog2.Description, { className: "sr-only", children: t2("app.nav.accessibility.description") })
|
|
95109
94761
|
] }),
|
|
95110
94762
|
children
|
|
95111
94763
|
]
|
|
@@ -95115,13 +94767,13 @@ var MobileSidebarContainer = ({ children }) => {
|
|
|
95115
94767
|
};
|
|
95116
94768
|
|
|
95117
94769
|
// src/components/layout/main-layout/main-layout.tsx
|
|
95118
|
-
import { Link as
|
|
94770
|
+
import { Link as Link3, useLocation as useLocation6, useNavigate as useNavigate4 } from "react-router-dom";
|
|
95119
94771
|
|
|
95120
94772
|
// src/components/layout/user-menu/user-menu.tsx
|
|
95121
94773
|
import {
|
|
95122
94774
|
BookOpen,
|
|
95123
94775
|
CircleHalfSolid,
|
|
95124
|
-
EllipsisHorizontal
|
|
94776
|
+
EllipsisHorizontal,
|
|
95125
94777
|
Keyboard,
|
|
95126
94778
|
OpenRectArrowOut,
|
|
95127
94779
|
TimelineVertical,
|
|
@@ -95130,59 +94782,59 @@ import {
|
|
|
95130
94782
|
} from "@acmekit/icons";
|
|
95131
94783
|
import {
|
|
95132
94784
|
Avatar,
|
|
95133
|
-
DropdownMenu as
|
|
95134
|
-
Heading as
|
|
95135
|
-
IconButton as
|
|
94785
|
+
DropdownMenu as DropdownMenu2,
|
|
94786
|
+
Heading as Heading2,
|
|
94787
|
+
IconButton as IconButton5,
|
|
95136
94788
|
Input,
|
|
95137
94789
|
Kbd as Kbd3,
|
|
95138
|
-
Text as
|
|
95139
|
-
clx as
|
|
94790
|
+
Text as Text5,
|
|
94791
|
+
clx as clx6
|
|
95140
94792
|
} from "@acmekit/ui";
|
|
95141
94793
|
import { Dialog as RadixDialog3 } from "radix-ui";
|
|
95142
94794
|
import { useTranslation as useTranslation7 } from "react-i18next";
|
|
95143
|
-
import { useState as
|
|
95144
|
-
import { Link as
|
|
95145
|
-
import { jsx as
|
|
94795
|
+
import { useState as useState11 } from "react";
|
|
94796
|
+
import { Link as Link2, useLocation as useLocation5, useNavigate as useNavigate3 } from "react-router-dom";
|
|
94797
|
+
import { jsx as jsx16, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
95146
94798
|
var UserMenu = () => {
|
|
95147
94799
|
const { t: t2 } = useTranslation7();
|
|
95148
94800
|
const location = useLocation5();
|
|
95149
94801
|
const direction = useDocumentDirection();
|
|
95150
|
-
const [openMenu, setOpenMenu] =
|
|
95151
|
-
const [openModal, setOpenModal] =
|
|
94802
|
+
const [openMenu, setOpenMenu] = useState11(false);
|
|
94803
|
+
const [openModal, setOpenModal] = useState11(false);
|
|
95152
94804
|
const toggleModal = () => {
|
|
95153
94805
|
setOpenMenu(false);
|
|
95154
94806
|
setOpenModal(!openModal);
|
|
95155
94807
|
};
|
|
95156
|
-
return /* @__PURE__ */
|
|
95157
|
-
/* @__PURE__ */
|
|
95158
|
-
/* @__PURE__ */
|
|
95159
|
-
/* @__PURE__ */
|
|
95160
|
-
/* @__PURE__ */
|
|
95161
|
-
/* @__PURE__ */
|
|
95162
|
-
/* @__PURE__ */
|
|
95163
|
-
/* @__PURE__ */
|
|
94808
|
+
return /* @__PURE__ */ jsxs9("div", { children: [
|
|
94809
|
+
/* @__PURE__ */ jsxs9(DropdownMenu2, { dir: direction, open: openMenu, onOpenChange: setOpenMenu, children: [
|
|
94810
|
+
/* @__PURE__ */ jsx16(UserBadge, {}),
|
|
94811
|
+
/* @__PURE__ */ jsxs9(DropdownMenu2.Content, { className: "min-w-[var(--radix-dropdown-menu-trigger-width)] max-w-[var(--radix-dropdown-menu-trigger-width)]", children: [
|
|
94812
|
+
/* @__PURE__ */ jsx16(UserItem, {}),
|
|
94813
|
+
/* @__PURE__ */ jsx16(DropdownMenu2.Separator, {}),
|
|
94814
|
+
/* @__PURE__ */ jsx16(DropdownMenu2.Item, { asChild: true, children: /* @__PURE__ */ jsxs9(Link2, { to: "/settings/profile", state: { from: location.pathname }, children: [
|
|
94815
|
+
/* @__PURE__ */ jsx16(UserIcon, { className: "text-ui-fg-subtle me-2" }),
|
|
95164
94816
|
t2("app.menus.user.profileSettings")
|
|
95165
94817
|
] }) }),
|
|
95166
|
-
/* @__PURE__ */
|
|
95167
|
-
/* @__PURE__ */
|
|
95168
|
-
/* @__PURE__ */
|
|
94818
|
+
/* @__PURE__ */ jsx16(DropdownMenu2.Separator, {}),
|
|
94819
|
+
/* @__PURE__ */ jsx16(DropdownMenu2.Item, { asChild: true, children: /* @__PURE__ */ jsxs9(Link2, { to: "https://docs.acmekit.com", target: "_blank", children: [
|
|
94820
|
+
/* @__PURE__ */ jsx16(BookOpen, { className: "text-ui-fg-subtle me-2" }),
|
|
95169
94821
|
t2("app.menus.user.documentation")
|
|
95170
94822
|
] }) }),
|
|
95171
|
-
/* @__PURE__ */
|
|
95172
|
-
/* @__PURE__ */
|
|
94823
|
+
/* @__PURE__ */ jsx16(DropdownMenu2.Item, { asChild: true, children: /* @__PURE__ */ jsxs9(Link2, { to: "https://acmekit.com/changelog/", target: "_blank", children: [
|
|
94824
|
+
/* @__PURE__ */ jsx16(TimelineVertical, { className: "text-ui-fg-subtle me-2" }),
|
|
95173
94825
|
t2("app.menus.user.changelog")
|
|
95174
94826
|
] }) }),
|
|
95175
|
-
/* @__PURE__ */
|
|
95176
|
-
/* @__PURE__ */
|
|
95177
|
-
/* @__PURE__ */
|
|
94827
|
+
/* @__PURE__ */ jsx16(DropdownMenu2.Separator, {}),
|
|
94828
|
+
/* @__PURE__ */ jsxs9(DropdownMenu2.Item, { onClick: toggleModal, children: [
|
|
94829
|
+
/* @__PURE__ */ jsx16(Keyboard, { className: "text-ui-fg-subtle me-2" }),
|
|
95178
94830
|
t2("app.menus.user.shortcuts")
|
|
95179
94831
|
] }),
|
|
95180
|
-
/* @__PURE__ */
|
|
95181
|
-
/* @__PURE__ */
|
|
95182
|
-
/* @__PURE__ */
|
|
94832
|
+
/* @__PURE__ */ jsx16(ThemeToggle, {}),
|
|
94833
|
+
/* @__PURE__ */ jsx16(DropdownMenu2.Separator, {}),
|
|
94834
|
+
/* @__PURE__ */ jsx16(Logout, {})
|
|
95183
94835
|
] })
|
|
95184
94836
|
] }),
|
|
95185
|
-
/* @__PURE__ */
|
|
94837
|
+
/* @__PURE__ */ jsx16(GlobalKeybindsModal, { open: openModal, onOpenChange: setOpenModal })
|
|
95186
94838
|
] });
|
|
95187
94839
|
};
|
|
95188
94840
|
var UserBadge = () => {
|
|
@@ -95191,28 +94843,28 @@ var UserBadge = () => {
|
|
|
95191
94843
|
const displayName = name || user?.email;
|
|
95192
94844
|
const fallback = displayName ? displayName[0].toUpperCase() : null;
|
|
95193
94845
|
if (isPending) {
|
|
95194
|
-
return /* @__PURE__ */
|
|
95195
|
-
/* @__PURE__ */
|
|
95196
|
-
/* @__PURE__ */
|
|
94846
|
+
return /* @__PURE__ */ jsxs9("button", { className: "shadow-borders-base flex max-w-[192px] select-none items-center gap-x-2 overflow-hidden text-ellipsis whitespace-nowrap rounded-full py-1 ps-1 pe-2.5", children: [
|
|
94847
|
+
/* @__PURE__ */ jsx16(Skeleton, { className: "h-5 w-5 rounded-full" }),
|
|
94848
|
+
/* @__PURE__ */ jsx16(Skeleton, { className: "h-[9px] w-[70px]" })
|
|
95197
94849
|
] });
|
|
95198
94850
|
}
|
|
95199
94851
|
if (isError) {
|
|
95200
94852
|
throw error;
|
|
95201
94853
|
}
|
|
95202
|
-
return /* @__PURE__ */
|
|
95203
|
-
|
|
94854
|
+
return /* @__PURE__ */ jsx16("div", { className: "p-3", children: /* @__PURE__ */ jsxs9(
|
|
94855
|
+
DropdownMenu2.Trigger,
|
|
95204
94856
|
{
|
|
95205
94857
|
disabled: !user,
|
|
95206
|
-
className:
|
|
94858
|
+
className: clx6(
|
|
95207
94859
|
"bg-ui-bg-subtle grid w-full cursor-pointer grid-cols-[24px_1fr_15px] items-center gap-2 rounded-md py-1 ps-0.5 pe-2 outline-none",
|
|
95208
94860
|
"hover:bg-ui-bg-subtle-hover",
|
|
95209
94861
|
"data-[state=open]:bg-ui-bg-subtle-hover",
|
|
95210
94862
|
"focus-visible:shadow-borders-focus"
|
|
95211
94863
|
),
|
|
95212
94864
|
children: [
|
|
95213
|
-
/* @__PURE__ */
|
|
95214
|
-
/* @__PURE__ */
|
|
95215
|
-
|
|
94865
|
+
/* @__PURE__ */ jsx16("div", { className: "flex size-6 items-center justify-center", children: fallback ? /* @__PURE__ */ jsx16(Avatar, { size: "xsmall", fallback }) : /* @__PURE__ */ jsx16(Skeleton, { className: "h-6 w-6 rounded-full" }) }),
|
|
94866
|
+
/* @__PURE__ */ jsx16("div", { className: "flex items-center overflow-hidden", children: displayName ? /* @__PURE__ */ jsx16(
|
|
94867
|
+
Text5,
|
|
95216
94868
|
{
|
|
95217
94869
|
size: "xsmall",
|
|
95218
94870
|
weight: "plus",
|
|
@@ -95220,8 +94872,8 @@ var UserBadge = () => {
|
|
|
95220
94872
|
className: "truncate",
|
|
95221
94873
|
children: displayName
|
|
95222
94874
|
}
|
|
95223
|
-
) : /* @__PURE__ */
|
|
95224
|
-
/* @__PURE__ */
|
|
94875
|
+
) : /* @__PURE__ */ jsx16(Skeleton, { className: "h-[9px] w-[70px]" }) }),
|
|
94876
|
+
/* @__PURE__ */ jsx16(EllipsisHorizontal, { className: "text-ui-fg-muted" })
|
|
95225
94877
|
]
|
|
95226
94878
|
}
|
|
95227
94879
|
) });
|
|
@@ -95229,14 +94881,14 @@ var UserBadge = () => {
|
|
|
95229
94881
|
var ThemeToggle = () => {
|
|
95230
94882
|
const { t: t2 } = useTranslation7();
|
|
95231
94883
|
const { theme, setTheme } = useTheme();
|
|
95232
|
-
return /* @__PURE__ */
|
|
95233
|
-
/* @__PURE__ */
|
|
95234
|
-
/* @__PURE__ */
|
|
95235
|
-
/* @__PURE__ */
|
|
94884
|
+
return /* @__PURE__ */ jsxs9(DropdownMenu2.SubMenu, { children: [
|
|
94885
|
+
/* @__PURE__ */ jsxs9(DropdownMenu2.SubMenuTrigger, { dir: "ltr", className: "rounded-md rtl:rotate-180", children: [
|
|
94886
|
+
/* @__PURE__ */ jsx16(CircleHalfSolid, { className: "text-ui-fg-subtle me-2" }),
|
|
94887
|
+
/* @__PURE__ */ jsx16("span", { className: "rtl:rotate-180", children: t2("app.menus.user.theme.label") })
|
|
95236
94888
|
] }),
|
|
95237
|
-
/* @__PURE__ */
|
|
95238
|
-
/* @__PURE__ */
|
|
95239
|
-
|
|
94889
|
+
/* @__PURE__ */ jsx16(DropdownMenu2.SubMenuContent, { children: /* @__PURE__ */ jsxs9(DropdownMenu2.RadioGroup, { value: theme, children: [
|
|
94890
|
+
/* @__PURE__ */ jsx16(
|
|
94891
|
+
DropdownMenu2.RadioItem,
|
|
95240
94892
|
{
|
|
95241
94893
|
value: "system",
|
|
95242
94894
|
onClick: (e) => {
|
|
@@ -95246,8 +94898,8 @@ var ThemeToggle = () => {
|
|
|
95246
94898
|
children: t2("app.menus.user.theme.system")
|
|
95247
94899
|
}
|
|
95248
94900
|
),
|
|
95249
|
-
/* @__PURE__ */
|
|
95250
|
-
|
|
94901
|
+
/* @__PURE__ */ jsx16(
|
|
94902
|
+
DropdownMenu2.RadioItem,
|
|
95251
94903
|
{
|
|
95252
94904
|
value: "light",
|
|
95253
94905
|
onClick: (e) => {
|
|
@@ -95257,8 +94909,8 @@ var ThemeToggle = () => {
|
|
|
95257
94909
|
children: t2("app.menus.user.theme.light")
|
|
95258
94910
|
}
|
|
95259
94911
|
),
|
|
95260
|
-
/* @__PURE__ */
|
|
95261
|
-
|
|
94912
|
+
/* @__PURE__ */ jsx16(
|
|
94913
|
+
DropdownMenu2.RadioItem,
|
|
95262
94914
|
{
|
|
95263
94915
|
value: "dark",
|
|
95264
94916
|
onClick: (e) => {
|
|
@@ -95283,33 +94935,33 @@ var Logout = () => {
|
|
|
95283
94935
|
}
|
|
95284
94936
|
});
|
|
95285
94937
|
};
|
|
95286
|
-
return /* @__PURE__ */
|
|
95287
|
-
/* @__PURE__ */
|
|
95288
|
-
/* @__PURE__ */
|
|
94938
|
+
return /* @__PURE__ */ jsx16(DropdownMenu2.Item, { onClick: handleLogout, children: /* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-x-2", children: [
|
|
94939
|
+
/* @__PURE__ */ jsx16(OpenRectArrowOut, { className: "text-ui-fg-subtle" }),
|
|
94940
|
+
/* @__PURE__ */ jsx16("span", { children: t2("app.menus.actions.logout") })
|
|
95289
94941
|
] }) });
|
|
95290
94942
|
};
|
|
95291
94943
|
var GlobalKeybindsModal = (props) => {
|
|
95292
94944
|
const { t: t2 } = useTranslation7();
|
|
95293
94945
|
const globalShortcuts = useGlobalShortcuts();
|
|
95294
|
-
const [searchValue, onSearchValueChange] =
|
|
94946
|
+
const [searchValue, onSearchValueChange] = useState11("");
|
|
95295
94947
|
const searchResults = searchValue ? globalShortcuts.filter((shortcut) => {
|
|
95296
94948
|
return shortcut.label.toLowerCase().includes(searchValue?.toLowerCase());
|
|
95297
94949
|
}) : globalShortcuts;
|
|
95298
|
-
return /* @__PURE__ */
|
|
95299
|
-
/* @__PURE__ */
|
|
95300
|
-
/* @__PURE__ */
|
|
95301
|
-
/* @__PURE__ */
|
|
95302
|
-
/* @__PURE__ */
|
|
95303
|
-
/* @__PURE__ */
|
|
95304
|
-
/* @__PURE__ */
|
|
95305
|
-
/* @__PURE__ */
|
|
94950
|
+
return /* @__PURE__ */ jsx16(RadixDialog3.Root, { ...props, children: /* @__PURE__ */ jsxs9(RadixDialog3.Portal, { children: [
|
|
94951
|
+
/* @__PURE__ */ jsx16(RadixDialog3.Overlay, { className: "bg-ui-bg-overlay fixed inset-0" }),
|
|
94952
|
+
/* @__PURE__ */ jsxs9(RadixDialog3.Content, { className: "bg-ui-bg-subtle shadow-elevation-modal fixed left-[50%] top-[50%] flex h-full max-h-[612px] w-full max-w-[560px] translate-x-[-50%] translate-y-[-50%] flex-col divide-y overflow-hidden rounded-lg", children: [
|
|
94953
|
+
/* @__PURE__ */ jsxs9("div", { className: "flex flex-col gap-y-3 px-6 py-4", children: [
|
|
94954
|
+
/* @__PURE__ */ jsxs9("div", { className: "flex items-center justify-between", children: [
|
|
94955
|
+
/* @__PURE__ */ jsxs9("div", { children: [
|
|
94956
|
+
/* @__PURE__ */ jsx16(RadixDialog3.Title, { asChild: true, children: /* @__PURE__ */ jsx16(Heading2, { children: t2("app.menus.user.shortcuts") }) }),
|
|
94957
|
+
/* @__PURE__ */ jsx16(RadixDialog3.Description, { className: "sr-only" })
|
|
95306
94958
|
] }),
|
|
95307
|
-
/* @__PURE__ */
|
|
95308
|
-
/* @__PURE__ */
|
|
95309
|
-
/* @__PURE__ */
|
|
94959
|
+
/* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-x-2", children: [
|
|
94960
|
+
/* @__PURE__ */ jsx16(Kbd3, { children: "esc" }),
|
|
94961
|
+
/* @__PURE__ */ jsx16(RadixDialog3.Close, { asChild: true, children: /* @__PURE__ */ jsx16(IconButton5, { variant: "transparent", size: "small", children: /* @__PURE__ */ jsx16(XMark2, {}) }) })
|
|
95310
94962
|
] })
|
|
95311
94963
|
] }),
|
|
95312
|
-
/* @__PURE__ */
|
|
94964
|
+
/* @__PURE__ */ jsx16("div", { children: /* @__PURE__ */ jsx16(
|
|
95313
94965
|
Input,
|
|
95314
94966
|
{
|
|
95315
94967
|
type: "search",
|
|
@@ -95318,17 +94970,17 @@ var GlobalKeybindsModal = (props) => {
|
|
|
95318
94970
|
}
|
|
95319
94971
|
) })
|
|
95320
94972
|
] }),
|
|
95321
|
-
/* @__PURE__ */
|
|
95322
|
-
return /* @__PURE__ */
|
|
94973
|
+
/* @__PURE__ */ jsx16("div", { className: "flex flex-col divide-y overflow-y-auto", children: searchResults.map((shortcut, index) => {
|
|
94974
|
+
return /* @__PURE__ */ jsxs9(
|
|
95323
94975
|
"div",
|
|
95324
94976
|
{
|
|
95325
94977
|
className: "text-ui-fg-subtle flex items-center justify-between px-6 py-3",
|
|
95326
94978
|
children: [
|
|
95327
|
-
/* @__PURE__ */
|
|
95328
|
-
/* @__PURE__ */
|
|
95329
|
-
return /* @__PURE__ */
|
|
95330
|
-
/* @__PURE__ */
|
|
95331
|
-
index2 < (shortcut.keys.Mac?.length || 0) - 1 && /* @__PURE__ */
|
|
94979
|
+
/* @__PURE__ */ jsx16(Text5, { size: "small", children: shortcut.label }),
|
|
94980
|
+
/* @__PURE__ */ jsx16("div", { className: "flex items-center gap-x-1", children: shortcut.keys.Mac?.map((key, index2) => {
|
|
94981
|
+
return /* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-x-1", children: [
|
|
94982
|
+
/* @__PURE__ */ jsx16(Kbd3, { children: key }),
|
|
94983
|
+
index2 < (shortcut.keys.Mac?.length || 0) - 1 && /* @__PURE__ */ jsx16("span", { className: "txt-compact-xsmall text-ui-fg-subtle", children: t2("app.keyboardShortcuts.then") })
|
|
95332
94984
|
] }, index2);
|
|
95333
94985
|
}) })
|
|
95334
94986
|
]
|
|
@@ -95343,7 +94995,7 @@ var UserItem = () => {
|
|
|
95343
94995
|
const { user, isPending, isError, error } = useMe();
|
|
95344
94996
|
const loaded = !isPending && !!user;
|
|
95345
94997
|
if (!loaded) {
|
|
95346
|
-
return /* @__PURE__ */
|
|
94998
|
+
return /* @__PURE__ */ jsx16("div", {});
|
|
95347
94999
|
}
|
|
95348
95000
|
const name = [user.first_name, user.last_name].filter(Boolean).join(" ");
|
|
95349
95001
|
const email = user.email;
|
|
@@ -95352,8 +95004,8 @@ var UserItem = () => {
|
|
|
95352
95004
|
if (isError) {
|
|
95353
95005
|
throw error;
|
|
95354
95006
|
}
|
|
95355
|
-
return /* @__PURE__ */
|
|
95356
|
-
/* @__PURE__ */
|
|
95007
|
+
return /* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-x-3 overflow-hidden px-2 py-1", children: [
|
|
95008
|
+
/* @__PURE__ */ jsx16(
|
|
95357
95009
|
Avatar,
|
|
95358
95010
|
{
|
|
95359
95011
|
size: "small",
|
|
@@ -95362,9 +95014,9 @@ var UserItem = () => {
|
|
|
95362
95014
|
fallback
|
|
95363
95015
|
}
|
|
95364
95016
|
),
|
|
95365
|
-
/* @__PURE__ */
|
|
95366
|
-
/* @__PURE__ */
|
|
95367
|
-
|
|
95017
|
+
/* @__PURE__ */ jsxs9("div", { className: "block w-full min-w-0 max-w-[187px] overflow-hidden whitespace-nowrap", children: [
|
|
95018
|
+
/* @__PURE__ */ jsx16(
|
|
95019
|
+
Text5,
|
|
95368
95020
|
{
|
|
95369
95021
|
size: "small",
|
|
95370
95022
|
weight: "plus",
|
|
@@ -95373,8 +95025,8 @@ var UserItem = () => {
|
|
|
95373
95025
|
children: name || email
|
|
95374
95026
|
}
|
|
95375
95027
|
),
|
|
95376
|
-
!!name && /* @__PURE__ */
|
|
95377
|
-
|
|
95028
|
+
!!name && /* @__PURE__ */ jsx16(
|
|
95029
|
+
Text5,
|
|
95378
95030
|
{
|
|
95379
95031
|
size: "xsmall",
|
|
95380
95032
|
leading: "compact",
|
|
@@ -95387,24 +95039,24 @@ var UserItem = () => {
|
|
|
95387
95039
|
};
|
|
95388
95040
|
|
|
95389
95041
|
// src/components/layout/main-layout/main-layout.tsx
|
|
95390
|
-
import { jsx as
|
|
95042
|
+
import { jsx as jsx17, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
95391
95043
|
var MainLayout = () => {
|
|
95392
|
-
return /* @__PURE__ */
|
|
95044
|
+
return /* @__PURE__ */ jsx17(Shell, { children: /* @__PURE__ */ jsx17(MainSidebar, {}) });
|
|
95393
95045
|
};
|
|
95394
95046
|
var MainSidebar = () => {
|
|
95395
|
-
return /* @__PURE__ */
|
|
95396
|
-
/* @__PURE__ */
|
|
95397
|
-
/* @__PURE__ */
|
|
95398
|
-
/* @__PURE__ */
|
|
95047
|
+
return /* @__PURE__ */ jsx17("aside", { className: "flex flex-1 flex-col justify-between overflow-y-auto", children: /* @__PURE__ */ jsxs10("div", { className: "flex flex-1 flex-col", children: [
|
|
95048
|
+
/* @__PURE__ */ jsxs10("div", { className: "bg-ui-bg-subtle sticky top-0", children: [
|
|
95049
|
+
/* @__PURE__ */ jsx17(Header, {}),
|
|
95050
|
+
/* @__PURE__ */ jsx17("div", { className: "px-3", children: /* @__PURE__ */ jsx17(Divider, { variant: "dashed" }) })
|
|
95399
95051
|
] }),
|
|
95400
|
-
/* @__PURE__ */
|
|
95401
|
-
/* @__PURE__ */
|
|
95402
|
-
/* @__PURE__ */
|
|
95403
|
-
/* @__PURE__ */
|
|
95052
|
+
/* @__PURE__ */ jsxs10("div", { className: "flex flex-1 flex-col justify-between", children: [
|
|
95053
|
+
/* @__PURE__ */ jsxs10("div", { className: "flex flex-1 flex-col", children: [
|
|
95054
|
+
/* @__PURE__ */ jsx17(CoreRouteSection, {}),
|
|
95055
|
+
/* @__PURE__ */ jsx17(ExtensionRouteSection, {})
|
|
95404
95056
|
] }),
|
|
95405
|
-
/* @__PURE__ */
|
|
95057
|
+
/* @__PURE__ */ jsx17(UtilitySection, {})
|
|
95406
95058
|
] }),
|
|
95407
|
-
/* @__PURE__ */
|
|
95059
|
+
/* @__PURE__ */ jsx17("div", { className: "bg-ui-bg-subtle sticky bottom-0", children: /* @__PURE__ */ jsx17(UserSection, {}) })
|
|
95408
95060
|
] }) });
|
|
95409
95061
|
};
|
|
95410
95062
|
var Logout2 = () => {
|
|
@@ -95419,29 +95071,29 @@ var Logout2 = () => {
|
|
|
95419
95071
|
}
|
|
95420
95072
|
});
|
|
95421
95073
|
};
|
|
95422
|
-
return /* @__PURE__ */
|
|
95423
|
-
/* @__PURE__ */
|
|
95424
|
-
/* @__PURE__ */
|
|
95074
|
+
return /* @__PURE__ */ jsx17(DropdownMenu3.Item, { onClick: handleLogout, children: /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-x-2", children: [
|
|
95075
|
+
/* @__PURE__ */ jsx17(OpenRectArrowOut2, { className: "text-ui-fg-subtle" }),
|
|
95076
|
+
/* @__PURE__ */ jsx17("span", { children: t2("app.menus.actions.logout") })
|
|
95425
95077
|
] }) });
|
|
95426
95078
|
};
|
|
95427
95079
|
var Header = () => {
|
|
95428
95080
|
const { t: t2 } = useTranslation8();
|
|
95429
95081
|
const direction = useDocumentDirection();
|
|
95430
95082
|
const fallback = "A";
|
|
95431
|
-
return /* @__PURE__ */
|
|
95432
|
-
/* @__PURE__ */
|
|
95433
|
-
|
|
95083
|
+
return /* @__PURE__ */ jsx17("div", { className: "w-full p-3", children: /* @__PURE__ */ jsxs10(DropdownMenu3, { dir: direction, children: [
|
|
95084
|
+
/* @__PURE__ */ jsxs10(
|
|
95085
|
+
DropdownMenu3.Trigger,
|
|
95434
95086
|
{
|
|
95435
|
-
className:
|
|
95087
|
+
className: clx7(
|
|
95436
95088
|
"bg-ui-bg-subtle transition-fg grid w-full grid-cols-[24px_1fr_15px] items-center gap-x-3 rounded-md p-0.5 pe-2 outline-none",
|
|
95437
95089
|
"hover:bg-ui-bg-subtle-hover",
|
|
95438
95090
|
"data-[state=open]:bg-ui-bg-subtle-hover",
|
|
95439
95091
|
"focus-visible:shadow-borders-focus"
|
|
95440
95092
|
),
|
|
95441
95093
|
children: [
|
|
95442
|
-
/* @__PURE__ */
|
|
95443
|
-
/* @__PURE__ */
|
|
95444
|
-
|
|
95094
|
+
/* @__PURE__ */ jsx17(Avatar2, { variant: "squared", size: "xsmall", fallback }),
|
|
95095
|
+
/* @__PURE__ */ jsx17("div", { className: "block overflow-hidden text-start", children: /* @__PURE__ */ jsx17(
|
|
95096
|
+
Text6,
|
|
95445
95097
|
{
|
|
95446
95098
|
size: "small",
|
|
95447
95099
|
weight: "plus",
|
|
@@ -95450,17 +95102,17 @@ var Header = () => {
|
|
|
95450
95102
|
children: t2("app.nav.main.store", "Admin")
|
|
95451
95103
|
}
|
|
95452
95104
|
) }),
|
|
95453
|
-
/* @__PURE__ */
|
|
95105
|
+
/* @__PURE__ */ jsx17(EllipsisHorizontal2, { className: "text-ui-fg-muted" })
|
|
95454
95106
|
]
|
|
95455
95107
|
}
|
|
95456
95108
|
),
|
|
95457
|
-
/* @__PURE__ */
|
|
95458
|
-
/* @__PURE__ */
|
|
95459
|
-
/* @__PURE__ */
|
|
95109
|
+
/* @__PURE__ */ jsxs10(DropdownMenu3.Content, { className: "w-[var(--radix-dropdown-menu-trigger-width)] min-w-0", children: [
|
|
95110
|
+
/* @__PURE__ */ jsx17(DropdownMenu3.Item, { className: "gap-x-2", asChild: true, children: /* @__PURE__ */ jsxs10(Link3, { to: "/settings", children: [
|
|
95111
|
+
/* @__PURE__ */ jsx17(CogSixTooth, { className: "text-ui-fg-subtle" }),
|
|
95460
95112
|
t2("app.nav.main.storeSettings", "Settings")
|
|
95461
95113
|
] }) }),
|
|
95462
|
-
/* @__PURE__ */
|
|
95463
|
-
/* @__PURE__ */
|
|
95114
|
+
/* @__PURE__ */ jsx17(DropdownMenu3.Separator, {}),
|
|
95115
|
+
/* @__PURE__ */ jsx17(Logout2, {})
|
|
95464
95116
|
] })
|
|
95465
95117
|
] }) });
|
|
95466
95118
|
};
|
|
@@ -95470,19 +95122,19 @@ var useCoreRoutes = () => {
|
|
|
95470
95122
|
var Searchbar = () => {
|
|
95471
95123
|
const { t: t2 } = useTranslation8();
|
|
95472
95124
|
const { toggleSearch } = useSearch();
|
|
95473
|
-
return /* @__PURE__ */
|
|
95125
|
+
return /* @__PURE__ */ jsx17("div", { className: "px-3", children: /* @__PURE__ */ jsxs10(
|
|
95474
95126
|
"button",
|
|
95475
95127
|
{
|
|
95476
95128
|
onClick: toggleSearch,
|
|
95477
|
-
className:
|
|
95129
|
+
className: clx7(
|
|
95478
95130
|
"bg-ui-bg-subtle text-ui-fg-subtle flex w-full items-center gap-x-2.5 rounded-md px-2 py-1 outline-none",
|
|
95479
95131
|
"hover:bg-ui-bg-subtle-hover",
|
|
95480
95132
|
"focus-visible:shadow-borders-focus"
|
|
95481
95133
|
),
|
|
95482
95134
|
children: [
|
|
95483
|
-
/* @__PURE__ */
|
|
95484
|
-
/* @__PURE__ */
|
|
95485
|
-
/* @__PURE__ */
|
|
95135
|
+
/* @__PURE__ */ jsx17(MagnifyingGlass2, {}),
|
|
95136
|
+
/* @__PURE__ */ jsx17("div", { className: "flex-1 text-start", children: /* @__PURE__ */ jsx17(Text6, { size: "small", leading: "compact", weight: "plus", children: t2("app.search.label") }) }),
|
|
95137
|
+
/* @__PURE__ */ jsx17(Text6, { size: "small", leading: "compact", className: "text-ui-fg-muted", children: "\u2318K" })
|
|
95486
95138
|
]
|
|
95487
95139
|
}
|
|
95488
95140
|
) });
|
|
@@ -95499,10 +95151,10 @@ var CoreRouteSection = () => {
|
|
|
95499
95151
|
}
|
|
95500
95152
|
}
|
|
95501
95153
|
});
|
|
95502
|
-
return /* @__PURE__ */
|
|
95503
|
-
/* @__PURE__ */
|
|
95154
|
+
return /* @__PURE__ */ jsxs10("nav", { className: "flex flex-col gap-y-1 py-3", children: [
|
|
95155
|
+
/* @__PURE__ */ jsx17(Searchbar, {}),
|
|
95504
95156
|
coreRoutes.map((route) => {
|
|
95505
|
-
return /* @__PURE__ */
|
|
95157
|
+
return /* @__PURE__ */ jsx17(NavItem, { ...route }, route.to);
|
|
95506
95158
|
})
|
|
95507
95159
|
] });
|
|
95508
95160
|
};
|
|
@@ -95513,23 +95165,23 @@ var ExtensionRouteSection = () => {
|
|
|
95513
95165
|
if (!menuItems.length) {
|
|
95514
95166
|
return null;
|
|
95515
95167
|
}
|
|
95516
|
-
return /* @__PURE__ */
|
|
95517
|
-
/* @__PURE__ */
|
|
95518
|
-
/* @__PURE__ */
|
|
95519
|
-
/* @__PURE__ */
|
|
95520
|
-
/* @__PURE__ */
|
|
95521
|
-
/* @__PURE__ */
|
|
95522
|
-
/* @__PURE__ */
|
|
95523
|
-
/* @__PURE__ */
|
|
95168
|
+
return /* @__PURE__ */ jsxs10("div", { children: [
|
|
95169
|
+
/* @__PURE__ */ jsx17("div", { className: "px-3", children: /* @__PURE__ */ jsx17(Divider, { variant: "dashed" }) }),
|
|
95170
|
+
/* @__PURE__ */ jsx17("div", { className: "flex flex-col gap-y-1 py-3", children: /* @__PURE__ */ jsxs10(RadixCollapsible2.Root, { defaultOpen: true, children: [
|
|
95171
|
+
/* @__PURE__ */ jsx17("div", { className: "px-4", children: /* @__PURE__ */ jsx17(RadixCollapsible2.Trigger, { asChild: true, className: "group/trigger", children: /* @__PURE__ */ jsxs10("button", { className: "text-ui-fg-subtle flex w-full items-center justify-between px-2", children: [
|
|
95172
|
+
/* @__PURE__ */ jsx17(Text6, { size: "xsmall", weight: "plus", leading: "compact", children: t2("app.nav.common.extensions") }),
|
|
95173
|
+
/* @__PURE__ */ jsxs10("div", { className: "text-ui-fg-muted", children: [
|
|
95174
|
+
/* @__PURE__ */ jsx17(ChevronDownMini, { className: "group-data-[state=open]/trigger:hidden" }),
|
|
95175
|
+
/* @__PURE__ */ jsx17(MinusMini, { className: "group-data-[state=closed]/trigger:hidden" })
|
|
95524
95176
|
] })
|
|
95525
95177
|
] }) }) }),
|
|
95526
|
-
/* @__PURE__ */
|
|
95527
|
-
return /* @__PURE__ */
|
|
95178
|
+
/* @__PURE__ */ jsx17(RadixCollapsible2.Content, { children: /* @__PURE__ */ jsx17("nav", { className: "flex flex-col gap-y-0.5 py-1 pb-4", children: menuItems.map((item, i) => {
|
|
95179
|
+
return /* @__PURE__ */ jsx17(
|
|
95528
95180
|
NavItem,
|
|
95529
95181
|
{
|
|
95530
95182
|
to: item.to,
|
|
95531
95183
|
label: item.label,
|
|
95532
|
-
icon: item.icon ? item.icon : /* @__PURE__ */
|
|
95184
|
+
icon: item.icon ? item.icon : /* @__PURE__ */ jsx17(SquaresPlus, {}),
|
|
95533
95185
|
items: item.items,
|
|
95534
95186
|
translationNs: item.translationNs,
|
|
95535
95187
|
type: "extension"
|
|
@@ -95543,40 +95195,70 @@ var ExtensionRouteSection = () => {
|
|
|
95543
95195
|
var UtilitySection = () => {
|
|
95544
95196
|
const location = useLocation6();
|
|
95545
95197
|
const { t: t2 } = useTranslation8();
|
|
95546
|
-
return /* @__PURE__ */
|
|
95198
|
+
return /* @__PURE__ */ jsx17("div", { className: "flex flex-col gap-y-0.5 py-3", children: /* @__PURE__ */ jsx17(
|
|
95547
95199
|
NavItem,
|
|
95548
95200
|
{
|
|
95549
95201
|
label: t2("app.nav.settings.header"),
|
|
95550
95202
|
to: "/settings",
|
|
95551
95203
|
from: location.pathname,
|
|
95552
|
-
icon: /* @__PURE__ */
|
|
95204
|
+
icon: /* @__PURE__ */ jsx17(CogSixTooth, {})
|
|
95553
95205
|
}
|
|
95554
95206
|
) });
|
|
95555
95207
|
};
|
|
95556
95208
|
var UserSection = () => {
|
|
95557
|
-
return /* @__PURE__ */
|
|
95558
|
-
/* @__PURE__ */
|
|
95559
|
-
/* @__PURE__ */
|
|
95209
|
+
return /* @__PURE__ */ jsxs10("div", { children: [
|
|
95210
|
+
/* @__PURE__ */ jsx17("div", { className: "px-3", children: /* @__PURE__ */ jsx17(Divider, { variant: "dashed" }) }),
|
|
95211
|
+
/* @__PURE__ */ jsx17(UserMenu, {})
|
|
95560
95212
|
] });
|
|
95561
95213
|
};
|
|
95562
95214
|
|
|
95563
95215
|
// src/components/layout/public-layout/public-layout.tsx
|
|
95564
95216
|
import { Outlet as Outlet3 } from "react-router-dom";
|
|
95565
|
-
import { jsx as
|
|
95217
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
95566
95218
|
var PublicLayout = () => {
|
|
95567
|
-
return /* @__PURE__ */
|
|
95219
|
+
return /* @__PURE__ */ jsx18(Outlet3, {});
|
|
95568
95220
|
};
|
|
95569
95221
|
|
|
95570
95222
|
// src/components/layout/settings-layout/settings-layout.tsx
|
|
95571
95223
|
import { ArrowUturnLeft as ArrowUturnLeft2, MinusMini as MinusMini2 } from "@acmekit/icons";
|
|
95572
|
-
import { clx as
|
|
95224
|
+
import { clx as clx8, Divider as Divider2, IconButton as IconButton6, Text as Text7 } from "@acmekit/ui";
|
|
95573
95225
|
import { Collapsible as RadixCollapsible3 } from "radix-ui";
|
|
95574
|
-
import { useEffect as
|
|
95226
|
+
import { Fragment as Fragment3, useEffect as useEffect11, useMemo as useMemo5, useState as useState12 } from "react";
|
|
95575
95227
|
import { useTranslation as useTranslation9 } from "react-i18next";
|
|
95576
|
-
import { Link as
|
|
95577
|
-
import { jsx as
|
|
95228
|
+
import { Link as Link4, useLocation as useLocation7 } from "react-router-dom";
|
|
95229
|
+
import { jsx as jsx19, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
95578
95230
|
var SettingsLayout = () => {
|
|
95579
|
-
return /* @__PURE__ */
|
|
95231
|
+
return /* @__PURE__ */ jsx19(Shell, { children: /* @__PURE__ */ jsx19(SettingsSidebar, {}) });
|
|
95232
|
+
};
|
|
95233
|
+
var useSettingRoutes = () => {
|
|
95234
|
+
const isTranslationsEnabled = useFeatureFlag("translation");
|
|
95235
|
+
const { t: t2 } = useTranslation9();
|
|
95236
|
+
return useMemo5(
|
|
95237
|
+
() => [
|
|
95238
|
+
{ label: t2("store.domain"), to: "/settings/store" },
|
|
95239
|
+
{ label: t2("users.domain"), to: "/settings/users" },
|
|
95240
|
+
...isTranslationsEnabled ? [{ label: t2("translations.domain"), to: "/settings/translations" }] : []
|
|
95241
|
+
],
|
|
95242
|
+
[t2, isTranslationsEnabled]
|
|
95243
|
+
);
|
|
95244
|
+
};
|
|
95245
|
+
var useDeveloperRoutes = () => {
|
|
95246
|
+
const { t: t2 } = useTranslation9();
|
|
95247
|
+
return useMemo5(
|
|
95248
|
+
() => [
|
|
95249
|
+
{ label: t2("apiKeyManagement.domain.publishable"), to: "/settings/publishable-api-keys" },
|
|
95250
|
+
{ label: t2("apiKeyManagement.domain.secret"), to: "/settings/secret-api-keys" },
|
|
95251
|
+
{ label: t2("workflowExecutions.domain"), to: "/settings/workflows" }
|
|
95252
|
+
],
|
|
95253
|
+
[t2]
|
|
95254
|
+
);
|
|
95255
|
+
};
|
|
95256
|
+
var useMyAccountRoutes = () => {
|
|
95257
|
+
const { t: t2 } = useTranslation9();
|
|
95258
|
+
return useMemo5(
|
|
95259
|
+
() => [{ label: t2("profile.domain"), to: "/settings/profile" }],
|
|
95260
|
+
[t2]
|
|
95261
|
+
);
|
|
95580
95262
|
};
|
|
95581
95263
|
var getSafeFromValue = (from) => {
|
|
95582
95264
|
if (from.startsWith("/settings")) {
|
|
@@ -95588,45 +95270,76 @@ var SettingsSidebar = () => {
|
|
|
95588
95270
|
const { getMenu } = useExtension();
|
|
95589
95271
|
const extensionRoutes = getMenu("settingsExtensions");
|
|
95590
95272
|
const { t: t2 } = useTranslation9();
|
|
95591
|
-
|
|
95592
|
-
|
|
95593
|
-
|
|
95594
|
-
|
|
95273
|
+
const routes = useSettingRoutes();
|
|
95274
|
+
const developerRoutes = useDeveloperRoutes();
|
|
95275
|
+
const myAccountRoutes = useMyAccountRoutes();
|
|
95276
|
+
return /* @__PURE__ */ jsxs11("aside", { className: "relative flex flex-1 flex-col justify-between overflow-y-auto", children: [
|
|
95277
|
+
/* @__PURE__ */ jsxs11("div", { className: "bg-ui-bg-subtle sticky top-0", children: [
|
|
95278
|
+
/* @__PURE__ */ jsx19(Header2, {}),
|
|
95279
|
+
/* @__PURE__ */ jsx19("div", { className: "flex items-center justify-center px-3", children: /* @__PURE__ */ jsx19(Divider2, { variant: "dashed" }) })
|
|
95595
95280
|
] }),
|
|
95596
|
-
/* @__PURE__ */
|
|
95597
|
-
/* @__PURE__ */
|
|
95598
|
-
|
|
95599
|
-
|
|
95600
|
-
|
|
95601
|
-
|
|
95602
|
-
|
|
95603
|
-
|
|
95604
|
-
|
|
95281
|
+
/* @__PURE__ */ jsxs11("div", { className: "flex flex-1 flex-col", children: [
|
|
95282
|
+
/* @__PURE__ */ jsxs11("div", { className: "flex flex-1 flex-col overflow-y-auto", children: [
|
|
95283
|
+
/* @__PURE__ */ jsx19(
|
|
95284
|
+
RadixCollapsibleSection,
|
|
95285
|
+
{
|
|
95286
|
+
label: t2("app.nav.settings.general"),
|
|
95287
|
+
items: routes
|
|
95288
|
+
}
|
|
95289
|
+
),
|
|
95290
|
+
/* @__PURE__ */ jsx19("div", { className: "flex items-center justify-center px-3", children: /* @__PURE__ */ jsx19(Divider2, { variant: "dashed" }) }),
|
|
95291
|
+
/* @__PURE__ */ jsx19(
|
|
95292
|
+
RadixCollapsibleSection,
|
|
95293
|
+
{
|
|
95294
|
+
label: t2("app.nav.settings.developer"),
|
|
95295
|
+
items: developerRoutes
|
|
95296
|
+
}
|
|
95297
|
+
),
|
|
95298
|
+
/* @__PURE__ */ jsx19("div", { className: "flex items-center justify-center px-3", children: /* @__PURE__ */ jsx19(Divider2, { variant: "dashed" }) }),
|
|
95299
|
+
/* @__PURE__ */ jsx19(
|
|
95300
|
+
RadixCollapsibleSection,
|
|
95301
|
+
{
|
|
95302
|
+
label: t2("app.nav.settings.myAccount"),
|
|
95303
|
+
items: myAccountRoutes
|
|
95304
|
+
}
|
|
95305
|
+
),
|
|
95306
|
+
extensionRoutes.length > 0 ? /* @__PURE__ */ jsxs11(Fragment3, { children: [
|
|
95307
|
+
/* @__PURE__ */ jsx19("div", { className: "flex items-center justify-center px-3", children: /* @__PURE__ */ jsx19(Divider2, { variant: "dashed" }) }),
|
|
95308
|
+
/* @__PURE__ */ jsx19(
|
|
95309
|
+
RadixCollapsibleSection,
|
|
95310
|
+
{
|
|
95311
|
+
label: t2("app.nav.common.extensions"),
|
|
95312
|
+
items: extensionRoutes
|
|
95313
|
+
}
|
|
95314
|
+
)
|
|
95315
|
+
] }) : null
|
|
95316
|
+
] }),
|
|
95317
|
+
/* @__PURE__ */ jsx19("div", { className: "bg-ui-bg-subtle sticky bottom-0", children: /* @__PURE__ */ jsx19(UserSection2, {}) })
|
|
95605
95318
|
] })
|
|
95606
95319
|
] });
|
|
95607
95320
|
};
|
|
95608
95321
|
var Header2 = () => {
|
|
95609
|
-
const [from, setFrom] =
|
|
95322
|
+
const [from, setFrom] = useState12("/");
|
|
95610
95323
|
const { t: t2 } = useTranslation9();
|
|
95611
95324
|
const location = useLocation7();
|
|
95612
|
-
|
|
95325
|
+
useEffect11(() => {
|
|
95613
95326
|
if (location.state?.from) {
|
|
95614
95327
|
setFrom(getSafeFromValue(location.state.from));
|
|
95615
95328
|
}
|
|
95616
95329
|
}, [location]);
|
|
95617
|
-
return /* @__PURE__ */
|
|
95618
|
-
|
|
95330
|
+
return /* @__PURE__ */ jsx19("div", { className: "bg-ui-bg-subtle p-3", children: /* @__PURE__ */ jsx19(
|
|
95331
|
+
Link4,
|
|
95619
95332
|
{
|
|
95620
95333
|
to: from,
|
|
95621
95334
|
replace: true,
|
|
95622
|
-
className:
|
|
95335
|
+
className: clx8(
|
|
95623
95336
|
"bg-ui-bg-subtle transition-fg flex items-center rounded-md outline-none",
|
|
95624
95337
|
"hover:bg-ui-bg-subtle-hover",
|
|
95625
95338
|
"focus-visible:shadow-borders-focus"
|
|
95626
95339
|
),
|
|
95627
|
-
children: /* @__PURE__ */
|
|
95628
|
-
/* @__PURE__ */
|
|
95629
|
-
/* @__PURE__ */
|
|
95340
|
+
children: /* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-x-2.5 px-2 py-1", children: [
|
|
95341
|
+
/* @__PURE__ */ jsx19("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx19(ArrowUturnLeft2, { className: "text-ui-fg-subtle" }) }),
|
|
95342
|
+
/* @__PURE__ */ jsx19(Text7, { leading: "compact", weight: "plus", size: "small", children: t2("app.nav.settings.header") })
|
|
95630
95343
|
] })
|
|
95631
95344
|
}
|
|
95632
95345
|
) });
|
|
@@ -95635,27 +95348,27 @@ var RadixCollapsibleSection = ({
|
|
|
95635
95348
|
label,
|
|
95636
95349
|
items
|
|
95637
95350
|
}) => {
|
|
95638
|
-
return /* @__PURE__ */
|
|
95639
|
-
/* @__PURE__ */
|
|
95640
|
-
/* @__PURE__ */
|
|
95641
|
-
/* @__PURE__ */
|
|
95351
|
+
return /* @__PURE__ */ jsxs11(RadixCollapsible3.Root, { defaultOpen: true, className: "py-3", children: [
|
|
95352
|
+
/* @__PURE__ */ jsx19("div", { className: "px-3", children: /* @__PURE__ */ jsxs11("div", { className: "text-ui-fg-muted flex h-7 items-center justify-between px-2", children: [
|
|
95353
|
+
/* @__PURE__ */ jsx19(Text7, { size: "small", leading: "compact", children: label }),
|
|
95354
|
+
/* @__PURE__ */ jsx19(RadixCollapsible3.Trigger, { asChild: true, children: /* @__PURE__ */ jsx19(IconButton6, { size: "2xsmall", variant: "transparent", className: "static", children: /* @__PURE__ */ jsx19(MinusMini2, { className: "text-ui-fg-muted" }) }) })
|
|
95642
95355
|
] }) }),
|
|
95643
|
-
/* @__PURE__ */
|
|
95356
|
+
/* @__PURE__ */ jsx19(RadixCollapsible3.Content, { children: /* @__PURE__ */ jsx19("div", { className: "pt-0.5", children: /* @__PURE__ */ jsx19("nav", { className: "flex flex-col gap-y-0.5", children: items.map((setting) => /* @__PURE__ */ jsx19(NavItem, { type: "setting", ...setting }, setting.to)) }) }) })
|
|
95644
95357
|
] });
|
|
95645
95358
|
};
|
|
95646
95359
|
var UserSection2 = () => {
|
|
95647
|
-
return /* @__PURE__ */
|
|
95648
|
-
/* @__PURE__ */
|
|
95649
|
-
/* @__PURE__ */
|
|
95360
|
+
return /* @__PURE__ */ jsxs11("div", { children: [
|
|
95361
|
+
/* @__PURE__ */ jsx19("div", { className: "px-3", children: /* @__PURE__ */ jsx19(Divider2, { variant: "dashed" }) }),
|
|
95362
|
+
/* @__PURE__ */ jsx19(UserMenu, {})
|
|
95650
95363
|
] });
|
|
95651
95364
|
};
|
|
95652
95365
|
|
|
95653
95366
|
// src/components/utilities/error-boundary/error-boundary.tsx
|
|
95654
95367
|
import { ExclamationCircle } from "@acmekit/icons";
|
|
95655
|
-
import { Text as
|
|
95368
|
+
import { Text as Text8 } from "@acmekit/ui";
|
|
95656
95369
|
import { useTranslation as useTranslation10 } from "react-i18next";
|
|
95657
95370
|
import { Navigate as Navigate2, useLocation as useLocation8, useRouteError } from "react-router-dom";
|
|
95658
|
-
import { jsx as
|
|
95371
|
+
import { jsx as jsx20, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
95659
95372
|
var ErrorBoundary = () => {
|
|
95660
95373
|
const error = useRouteError();
|
|
95661
95374
|
const location = useLocation8();
|
|
@@ -95663,7 +95376,7 @@ var ErrorBoundary = () => {
|
|
|
95663
95376
|
let code = null;
|
|
95664
95377
|
if (isFetchError(error)) {
|
|
95665
95378
|
if (error.status === 401) {
|
|
95666
|
-
return /* @__PURE__ */
|
|
95379
|
+
return /* @__PURE__ */ jsx20(Navigate2, { to: "/login", state: { from: location }, replace: true });
|
|
95667
95380
|
}
|
|
95668
95381
|
code = error.status ?? null;
|
|
95669
95382
|
}
|
|
@@ -95690,12 +95403,12 @@ var ErrorBoundary = () => {
|
|
|
95690
95403
|
message = t2("errorBoundary.defaultMessage");
|
|
95691
95404
|
break;
|
|
95692
95405
|
}
|
|
95693
|
-
return /* @__PURE__ */
|
|
95694
|
-
/* @__PURE__ */
|
|
95695
|
-
/* @__PURE__ */
|
|
95696
|
-
/* @__PURE__ */
|
|
95697
|
-
/* @__PURE__ */
|
|
95698
|
-
|
|
95406
|
+
return /* @__PURE__ */ jsx20("div", { className: "flex size-full min-h-[calc(100vh-57px-24px)] items-center justify-center", children: /* @__PURE__ */ jsx20("div", { className: "flex flex-col gap-y-6", children: /* @__PURE__ */ jsxs12("div", { className: "text-ui-fg-subtle flex flex-col items-center gap-y-3", children: [
|
|
95407
|
+
/* @__PURE__ */ jsx20(ExclamationCircle, {}),
|
|
95408
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex flex-col items-center justify-center gap-y-1", children: [
|
|
95409
|
+
/* @__PURE__ */ jsx20(Text8, { size: "small", leading: "compact", weight: "plus", children: title }),
|
|
95410
|
+
/* @__PURE__ */ jsx20(
|
|
95411
|
+
Text8,
|
|
95699
95412
|
{
|
|
95700
95413
|
size: "small",
|
|
95701
95414
|
className: "text-ui-fg-muted text-balance text-center",
|
|
@@ -95707,10 +95420,205 @@ var ErrorBoundary = () => {
|
|
|
95707
95420
|
};
|
|
95708
95421
|
|
|
95709
95422
|
// src/dashboard-app/routes/get-route.map.tsx
|
|
95710
|
-
import { jsx as
|
|
95423
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
95711
95424
|
function mergeSettingsRouteChildren(settingsRoutes) {
|
|
95712
95425
|
return settingsRoutes.filter((r) => r.path === "settings").flatMap((r) => r.children ?? []);
|
|
95713
95426
|
}
|
|
95427
|
+
var defaultSettingsRouteChildren = [
|
|
95428
|
+
{
|
|
95429
|
+
path: "profile",
|
|
95430
|
+
errorElement: /* @__PURE__ */ jsx21(ErrorBoundary, {}),
|
|
95431
|
+
lazy: () => import("./profile-detail-SJWODS2K.mjs"),
|
|
95432
|
+
handle: { breadcrumb: () => t("profile.domain") },
|
|
95433
|
+
children: [
|
|
95434
|
+
{
|
|
95435
|
+
path: "edit",
|
|
95436
|
+
lazy: () => import("./profile-edit-HSGF4UXZ.mjs")
|
|
95437
|
+
}
|
|
95438
|
+
]
|
|
95439
|
+
},
|
|
95440
|
+
{
|
|
95441
|
+
path: "store",
|
|
95442
|
+
errorElement: /* @__PURE__ */ jsx21(ErrorBoundary, {}),
|
|
95443
|
+
lazy: () => import("./store-detail-SQKV5KBD.mjs"),
|
|
95444
|
+
handle: { breadcrumb: () => t("store.domain") },
|
|
95445
|
+
children: [
|
|
95446
|
+
{ path: "edit", lazy: () => import("./store-edit-WGGIJMYJ.mjs") },
|
|
95447
|
+
{
|
|
95448
|
+
path: "metadata/edit",
|
|
95449
|
+
lazy: () => import("./store-metadata-CSBUGX6Z.mjs")
|
|
95450
|
+
}
|
|
95451
|
+
]
|
|
95452
|
+
},
|
|
95453
|
+
{
|
|
95454
|
+
path: "users",
|
|
95455
|
+
errorElement: /* @__PURE__ */ jsx21(ErrorBoundary, {}),
|
|
95456
|
+
element: /* @__PURE__ */ jsx21(Outlet4, {}),
|
|
95457
|
+
handle: { breadcrumb: () => t("users.domain") },
|
|
95458
|
+
children: [
|
|
95459
|
+
{
|
|
95460
|
+
path: "",
|
|
95461
|
+
lazy: () => import("./user-list-OWUR75OP.mjs"),
|
|
95462
|
+
children: [
|
|
95463
|
+
{
|
|
95464
|
+
path: "invite",
|
|
95465
|
+
lazy: () => import("./user-invite-OREFWWYL.mjs")
|
|
95466
|
+
}
|
|
95467
|
+
]
|
|
95468
|
+
},
|
|
95469
|
+
{
|
|
95470
|
+
path: ":id",
|
|
95471
|
+
lazy: async () => {
|
|
95472
|
+
const { Component, Breadcrumb, loader } = await import("./user-detail-7SUQ35G7.mjs");
|
|
95473
|
+
return {
|
|
95474
|
+
Component,
|
|
95475
|
+
loader,
|
|
95476
|
+
handle: {
|
|
95477
|
+
breadcrumb: (match) => /* @__PURE__ */ jsx21(Breadcrumb, { ...match })
|
|
95478
|
+
}
|
|
95479
|
+
};
|
|
95480
|
+
},
|
|
95481
|
+
children: [
|
|
95482
|
+
{ path: "edit", lazy: () => import("./user-edit-KUZV37AH.mjs") },
|
|
95483
|
+
{
|
|
95484
|
+
path: "metadata/edit",
|
|
95485
|
+
lazy: () => import("./user-metadata-QHUX5SHZ.mjs")
|
|
95486
|
+
}
|
|
95487
|
+
]
|
|
95488
|
+
}
|
|
95489
|
+
]
|
|
95490
|
+
},
|
|
95491
|
+
{
|
|
95492
|
+
path: "publishable-api-keys",
|
|
95493
|
+
element: /* @__PURE__ */ jsx21(Outlet4, {}),
|
|
95494
|
+
handle: { breadcrumb: () => t("apiKeyManagement.domain.publishable") },
|
|
95495
|
+
children: [
|
|
95496
|
+
{
|
|
95497
|
+
path: "",
|
|
95498
|
+
element: /* @__PURE__ */ jsx21(Outlet4, {}),
|
|
95499
|
+
children: [
|
|
95500
|
+
{
|
|
95501
|
+
path: "",
|
|
95502
|
+
lazy: () => import("./api-key-management-list-PL64LD22.mjs"),
|
|
95503
|
+
children: [
|
|
95504
|
+
{
|
|
95505
|
+
path: "create",
|
|
95506
|
+
lazy: () => import("./api-key-management-create-D57V3NN2.mjs")
|
|
95507
|
+
}
|
|
95508
|
+
]
|
|
95509
|
+
}
|
|
95510
|
+
]
|
|
95511
|
+
},
|
|
95512
|
+
{
|
|
95513
|
+
path: ":id",
|
|
95514
|
+
lazy: async () => {
|
|
95515
|
+
const { Component, Breadcrumb, loader } = await import("./api-key-management-detail-QURSBB6T.mjs");
|
|
95516
|
+
return {
|
|
95517
|
+
Component,
|
|
95518
|
+
loader,
|
|
95519
|
+
handle: {
|
|
95520
|
+
breadcrumb: (match) => /* @__PURE__ */ jsx21(Breadcrumb, { ...match })
|
|
95521
|
+
}
|
|
95522
|
+
};
|
|
95523
|
+
},
|
|
95524
|
+
children: [
|
|
95525
|
+
{
|
|
95526
|
+
path: "edit",
|
|
95527
|
+
lazy: () => import("./api-key-management-edit-GG5V77GY.mjs")
|
|
95528
|
+
}
|
|
95529
|
+
]
|
|
95530
|
+
}
|
|
95531
|
+
]
|
|
95532
|
+
},
|
|
95533
|
+
{
|
|
95534
|
+
path: "secret-api-keys",
|
|
95535
|
+
element: /* @__PURE__ */ jsx21(Outlet4, {}),
|
|
95536
|
+
handle: { breadcrumb: () => t("apiKeyManagement.domain.secret") },
|
|
95537
|
+
children: [
|
|
95538
|
+
{
|
|
95539
|
+
path: "",
|
|
95540
|
+
element: /* @__PURE__ */ jsx21(Outlet4, {}),
|
|
95541
|
+
children: [
|
|
95542
|
+
{
|
|
95543
|
+
path: "",
|
|
95544
|
+
lazy: () => import("./api-key-management-list-PL64LD22.mjs"),
|
|
95545
|
+
children: [
|
|
95546
|
+
{
|
|
95547
|
+
path: "create",
|
|
95548
|
+
lazy: () => import("./api-key-management-create-D57V3NN2.mjs")
|
|
95549
|
+
}
|
|
95550
|
+
]
|
|
95551
|
+
}
|
|
95552
|
+
]
|
|
95553
|
+
},
|
|
95554
|
+
{
|
|
95555
|
+
path: ":id",
|
|
95556
|
+
lazy: async () => {
|
|
95557
|
+
const { Component, Breadcrumb, loader } = await import("./api-key-management-detail-QURSBB6T.mjs");
|
|
95558
|
+
return {
|
|
95559
|
+
Component,
|
|
95560
|
+
loader,
|
|
95561
|
+
handle: {
|
|
95562
|
+
breadcrumb: (match) => /* @__PURE__ */ jsx21(Breadcrumb, { ...match })
|
|
95563
|
+
}
|
|
95564
|
+
};
|
|
95565
|
+
},
|
|
95566
|
+
children: [
|
|
95567
|
+
{
|
|
95568
|
+
path: "edit",
|
|
95569
|
+
lazy: () => import("./api-key-management-edit-GG5V77GY.mjs")
|
|
95570
|
+
}
|
|
95571
|
+
]
|
|
95572
|
+
}
|
|
95573
|
+
]
|
|
95574
|
+
},
|
|
95575
|
+
{
|
|
95576
|
+
path: "workflows",
|
|
95577
|
+
errorElement: /* @__PURE__ */ jsx21(ErrorBoundary, {}),
|
|
95578
|
+
element: /* @__PURE__ */ jsx21(Outlet4, {}),
|
|
95579
|
+
handle: { breadcrumb: () => t("workflowExecutions.domain") },
|
|
95580
|
+
children: [
|
|
95581
|
+
{
|
|
95582
|
+
path: "",
|
|
95583
|
+
lazy: () => import("./workflow-execution-list-IGYF44UH.mjs")
|
|
95584
|
+
},
|
|
95585
|
+
{
|
|
95586
|
+
path: ":id",
|
|
95587
|
+
lazy: async () => {
|
|
95588
|
+
const { Component, Breadcrumb, loader } = await import("./workflow-execution-detail-MWNM25TF.mjs");
|
|
95589
|
+
return {
|
|
95590
|
+
Component,
|
|
95591
|
+
loader,
|
|
95592
|
+
handle: {
|
|
95593
|
+
breadcrumb: (match) => /* @__PURE__ */ jsx21(Breadcrumb, { ...match })
|
|
95594
|
+
}
|
|
95595
|
+
};
|
|
95596
|
+
}
|
|
95597
|
+
}
|
|
95598
|
+
]
|
|
95599
|
+
},
|
|
95600
|
+
{
|
|
95601
|
+
path: "translations",
|
|
95602
|
+
errorElement: /* @__PURE__ */ jsx21(ErrorBoundary, {}),
|
|
95603
|
+
handle: { breadcrumb: () => t("translations.domain") },
|
|
95604
|
+
children: [
|
|
95605
|
+
{
|
|
95606
|
+
path: "",
|
|
95607
|
+
lazy: () => import("./translation-list-H5X4DVCC.mjs"),
|
|
95608
|
+
children: [
|
|
95609
|
+
{
|
|
95610
|
+
path: "settings",
|
|
95611
|
+
lazy: () => import("./settings-3XWLL5LG.mjs")
|
|
95612
|
+
}
|
|
95613
|
+
]
|
|
95614
|
+
},
|
|
95615
|
+
{
|
|
95616
|
+
path: "edit",
|
|
95617
|
+
lazy: () => import("./translations-edit-NPAUN2GZ.mjs")
|
|
95618
|
+
}
|
|
95619
|
+
]
|
|
95620
|
+
}
|
|
95621
|
+
];
|
|
95714
95622
|
function getRouteMap({
|
|
95715
95623
|
settingsRoutes,
|
|
95716
95624
|
coreRoutes
|
|
@@ -95718,15 +95626,15 @@ function getRouteMap({
|
|
|
95718
95626
|
const settingsPluginChildren = mergeSettingsRouteChildren(settingsRoutes);
|
|
95719
95627
|
return [
|
|
95720
95628
|
{
|
|
95721
|
-
element: /* @__PURE__ */
|
|
95722
|
-
errorElement: /* @__PURE__ */
|
|
95629
|
+
element: /* @__PURE__ */ jsx21(ProtectedRoute, {}),
|
|
95630
|
+
errorElement: /* @__PURE__ */ jsx21(ErrorBoundary, {}),
|
|
95723
95631
|
children: [
|
|
95724
95632
|
{
|
|
95725
|
-
element: /* @__PURE__ */
|
|
95633
|
+
element: /* @__PURE__ */ jsx21(MainLayout, {}),
|
|
95726
95634
|
children: [
|
|
95727
95635
|
{
|
|
95728
95636
|
path: "/",
|
|
95729
|
-
errorElement: /* @__PURE__ */
|
|
95637
|
+
errorElement: /* @__PURE__ */ jsx21(ErrorBoundary, {}),
|
|
95730
95638
|
lazy: () => import("./home-KNY6I2I2.mjs")
|
|
95731
95639
|
},
|
|
95732
95640
|
...coreRoutes
|
|
@@ -95737,35 +95645,36 @@ function getRouteMap({
|
|
|
95737
95645
|
handle: {
|
|
95738
95646
|
breadcrumb: () => t("app.nav.settings.header")
|
|
95739
95647
|
},
|
|
95740
|
-
element: /* @__PURE__ */
|
|
95648
|
+
element: /* @__PURE__ */ jsx21(SettingsLayout, {}),
|
|
95741
95649
|
children: [
|
|
95742
95650
|
{
|
|
95743
95651
|
index: true,
|
|
95744
|
-
errorElement: /* @__PURE__ */
|
|
95652
|
+
errorElement: /* @__PURE__ */ jsx21(ErrorBoundary, {}),
|
|
95745
95653
|
lazy: () => import("./settings-QPWN5OOD.mjs")
|
|
95746
95654
|
},
|
|
95655
|
+
...defaultSettingsRouteChildren,
|
|
95747
95656
|
...settingsPluginChildren
|
|
95748
95657
|
]
|
|
95749
95658
|
}
|
|
95750
95659
|
]
|
|
95751
95660
|
},
|
|
95752
95661
|
{
|
|
95753
|
-
element: /* @__PURE__ */
|
|
95662
|
+
element: /* @__PURE__ */ jsx21(PublicLayout, {}),
|
|
95754
95663
|
children: [
|
|
95755
95664
|
{
|
|
95756
|
-
errorElement: /* @__PURE__ */
|
|
95665
|
+
errorElement: /* @__PURE__ */ jsx21(ErrorBoundary, {}),
|
|
95757
95666
|
children: [
|
|
95758
95667
|
{
|
|
95759
95668
|
path: "/login",
|
|
95760
|
-
lazy: () => import("./login-
|
|
95669
|
+
lazy: () => import("./login-YURMNRCS.mjs")
|
|
95761
95670
|
},
|
|
95762
95671
|
{
|
|
95763
95672
|
path: "/reset-password",
|
|
95764
|
-
lazy: () => import("./reset-password-
|
|
95673
|
+
lazy: () => import("./reset-password-RQ5M7HQC.mjs")
|
|
95765
95674
|
},
|
|
95766
95675
|
{
|
|
95767
95676
|
path: "/invite",
|
|
95768
|
-
lazy: () => import("./invite-
|
|
95677
|
+
lazy: () => import("./invite-BAFXQBLJ.mjs")
|
|
95769
95678
|
},
|
|
95770
95679
|
{
|
|
95771
95680
|
path: "*",
|
|
@@ -95926,7 +95835,7 @@ function sortMenuItemsByRank(items) {
|
|
|
95926
95835
|
}
|
|
95927
95836
|
|
|
95928
95837
|
// src/dashboard-app/dashboard-app.tsx
|
|
95929
|
-
import { jsx as
|
|
95838
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
95930
95839
|
var OPTIONAL_LAST_SEGMENT_MATCH = /\/([^\/])+\?$/;
|
|
95931
95840
|
var DashboardApp = class {
|
|
95932
95841
|
constructor({ plugins }) {
|
|
@@ -96032,7 +95941,7 @@ var DashboardApp = class {
|
|
|
96032
95941
|
const navItem = {
|
|
96033
95942
|
label: item.label,
|
|
96034
95943
|
to: item.path,
|
|
96035
|
-
icon: item.icon ? /* @__PURE__ */
|
|
95944
|
+
icon: item.icon ? /* @__PURE__ */ jsx22(item.icon, {}) : void 0,
|
|
96036
95945
|
items: [],
|
|
96037
95946
|
nested: item.nested,
|
|
96038
95947
|
rank: item.rank,
|
|
@@ -96242,7 +96151,7 @@ var DashboardApp = class {
|
|
|
96242
96151
|
const router = createBrowserRouter(routes, {
|
|
96243
96152
|
basename: __BASE__ || "/"
|
|
96244
96153
|
});
|
|
96245
|
-
return /* @__PURE__ */
|
|
96154
|
+
return /* @__PURE__ */ jsx22(Providers, { api: this.api, children: /* @__PURE__ */ jsx22(RouterProvider, { router }) });
|
|
96246
96155
|
}
|
|
96247
96156
|
};
|
|
96248
96157
|
|
|
@@ -96263,7 +96172,7 @@ import {
|
|
|
96263
96172
|
} from "zod";
|
|
96264
96173
|
|
|
96265
96174
|
// src/dashboard-app/forms/form-extension-zone/form-extension-zone.tsx
|
|
96266
|
-
import { jsx as
|
|
96175
|
+
import { jsx as jsx23, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
96267
96176
|
|
|
96268
96177
|
// src/dashboard-app/forms/hooks.tsx
|
|
96269
96178
|
import { zodResolver } from "@hookform/resolvers/zod";
|
|
@@ -96280,7 +96189,7 @@ import i18nModule from "virtual:acmekit/i18n";
|
|
|
96280
96189
|
import menuItemModule from "virtual:acmekit/menu-items";
|
|
96281
96190
|
import routeModule from "virtual:acmekit/routes";
|
|
96282
96191
|
import widgetModule from "virtual:acmekit/widgets";
|
|
96283
|
-
import { jsx as
|
|
96192
|
+
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
96284
96193
|
var localPlugin = {
|
|
96285
96194
|
widgetModule,
|
|
96286
96195
|
routeModule,
|
|
@@ -96293,7 +96202,7 @@ function App({ plugins = [] }) {
|
|
|
96293
96202
|
const app = new DashboardApp({
|
|
96294
96203
|
plugins: [localPlugin, ...plugins]
|
|
96295
96204
|
});
|
|
96296
|
-
return /* @__PURE__ */
|
|
96205
|
+
return /* @__PURE__ */ jsx24("div", { children: app.render() });
|
|
96297
96206
|
}
|
|
96298
96207
|
var app_default = App;
|
|
96299
96208
|
export {
|