@flamingo-stack/openframe-frontend-core 0.0.248 → 0.0.249
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/{chunk-AGU44B7B.js → chunk-2FCXJTOV.js} +55 -357
- package/dist/chunk-2FCXJTOV.js.map +1 -0
- package/dist/{chunk-QHYCWQBH.cjs → chunk-3DZ7QYNA.cjs} +166 -15
- package/dist/chunk-3DZ7QYNA.cjs.map +1 -0
- package/dist/{chunk-4VSPLMB6.cjs → chunk-3VTHSACO.cjs} +34 -32
- package/dist/chunk-3VTHSACO.cjs.map +1 -0
- package/dist/{chunk-PMYD4WKR.cjs → chunk-4EED3YEI.cjs} +1550 -5971
- package/dist/chunk-4EED3YEI.cjs.map +1 -0
- package/dist/{chunk-RV2PYHCJ.js → chunk-4HHYUEMD.js} +3 -3
- package/dist/{chunk-UECRKCKH.js → chunk-4RDJZIHW.js} +115 -279
- package/dist/chunk-4RDJZIHW.js.map +1 -0
- package/dist/{chunk-672QV33W.js → chunk-5ZVPKTXM.js} +167 -16
- package/dist/chunk-5ZVPKTXM.js.map +1 -0
- package/dist/chunk-6JINAOI7.cjs +311 -0
- package/dist/chunk-6JINAOI7.cjs.map +1 -0
- package/dist/chunk-6LK4VEXE.cjs +4514 -0
- package/dist/chunk-6LK4VEXE.cjs.map +1 -0
- package/dist/chunk-DAAFVOTL.cjs +172 -0
- package/dist/chunk-DAAFVOTL.cjs.map +1 -0
- package/dist/{chunk-27VVOBDB.cjs → chunk-ELF4OOHC.cjs} +16 -180
- package/dist/chunk-ELF4OOHC.cjs.map +1 -0
- package/dist/{chunk-OZKPUBKX.cjs → chunk-LHZYI23D.cjs} +32 -30
- package/dist/chunk-LHZYI23D.cjs.map +1 -0
- package/dist/chunk-LKI3YCAX.js +4514 -0
- package/dist/chunk-LKI3YCAX.js.map +1 -0
- package/dist/{chunk-2Q5GVNXP.cjs → chunk-LZL6P7SN.cjs} +12 -12
- package/dist/{chunk-2Q5GVNXP.cjs.map → chunk-LZL6P7SN.cjs.map} +1 -1
- package/dist/chunk-M2OCXTNT.js +311 -0
- package/dist/chunk-M2OCXTNT.js.map +1 -0
- package/dist/{chunk-OTFJKBDW.js → chunk-PCXI7ZB2.js} +4928 -9349
- package/dist/chunk-PCXI7ZB2.js.map +1 -0
- package/dist/{chunk-PJT6RRSP.js → chunk-PVAYXHYF.js} +7 -5
- package/dist/{chunk-PJT6RRSP.js.map → chunk-PVAYXHYF.js.map} +1 -1
- package/dist/{chunk-GRTZ23GL.cjs → chunk-TU26IZPO.cjs} +16 -318
- package/dist/chunk-TU26IZPO.cjs.map +1 -0
- package/dist/{chunk-NFUXCXYN.js → chunk-VAKBNCV6.js} +7 -5
- package/dist/{chunk-NFUXCXYN.js.map → chunk-VAKBNCV6.js.map} +1 -1
- package/dist/chunk-ZXZJSTNV.js +172 -0
- package/dist/chunk-ZXZJSTNV.js.map +1 -0
- package/dist/components/chat/index.cjs +11 -7
- package/dist/components/chat/index.cjs.map +1 -1
- package/dist/components/chat/index.js +53 -49
- package/dist/components/contact/index.cjs +11 -8
- package/dist/components/contact/index.cjs.map +1 -1
- package/dist/components/contact/index.js +10 -7
- package/dist/components/features/index.cjs +11 -7
- package/dist/components/features/index.cjs.map +1 -1
- package/dist/components/features/index.js +26 -22
- package/dist/components/index.cjs +112 -109
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +134 -131
- package/dist/components/index.js.map +1 -1
- package/dist/components/navigation/index.cjs +10 -7
- package/dist/components/navigation/index.cjs.map +1 -1
- package/dist/components/navigation/index.js +9 -6
- package/dist/components/onboarding-guides/index.cjs +43 -53
- package/dist/components/onboarding-guides/index.cjs.map +1 -1
- package/dist/components/onboarding-guides/index.js +25 -35
- package/dist/components/onboarding-guides/index.js.map +1 -1
- package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts +11 -11
- package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts.map +1 -1
- package/dist/components/related-content/index.cjs +11 -8
- package/dist/components/related-content/index.cjs.map +1 -1
- package/dist/components/related-content/index.js +10 -7
- package/dist/components/tickets/index.cjs +96 -93
- package/dist/components/tickets/index.cjs.map +1 -1
- package/dist/components/tickets/index.js +21 -18
- package/dist/components/tickets/index.js.map +1 -1
- package/dist/components/ui/file-manager/index.cjs +52 -50
- package/dist/components/ui/file-manager/index.cjs.map +1 -1
- package/dist/components/ui/file-manager/index.js +6 -4
- package/dist/components/ui/file-manager/index.js.map +1 -1
- package/dist/components/ui/index.cjs +16 -11
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.js +102 -97
- package/dist/contexts/index.cjs +2 -2
- package/dist/contexts/index.js +5 -5
- package/dist/hooks/index.cjs +6 -4
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.js +8 -6
- package/dist/index.cjs +17 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +157 -151
- package/package.json +1 -1
- package/src/components/onboarding-guides/onboarding-guides-catalog-skeleton.tsx +28 -33
- package/dist/chunk-27VVOBDB.cjs.map +0 -1
- package/dist/chunk-4VSPLMB6.cjs.map +0 -1
- package/dist/chunk-672QV33W.js.map +0 -1
- package/dist/chunk-AGU44B7B.js.map +0 -1
- package/dist/chunk-GRTZ23GL.cjs.map +0 -1
- package/dist/chunk-OTFJKBDW.js.map +0 -1
- package/dist/chunk-OZKPUBKX.cjs.map +0 -1
- package/dist/chunk-PMYD4WKR.cjs.map +0 -1
- package/dist/chunk-QHYCWQBH.cjs.map +0 -1
- package/dist/chunk-QWYJETDL.cjs +0 -162
- package/dist/chunk-QWYJETDL.cjs.map +0 -1
- package/dist/chunk-UECRKCKH.js.map +0 -1
- package/dist/chunk-WTTLEGEO.js +0 -162
- package/dist/chunk-WTTLEGEO.js.map +0 -1
- /package/dist/{chunk-RV2PYHCJ.js.map → chunk-4HHYUEMD.js.map} +0 -0
|
@@ -4,16 +4,15 @@
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var _chunkQHYCWQBHcjs = require('../../chunk-QHYCWQBH.cjs');
|
|
8
7
|
|
|
9
8
|
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
var _chunkQWYJETDLcjs = require('../../chunk-QWYJETDL.cjs');
|
|
10
|
+
var _chunk3DZ7QYNAcjs = require('../../chunk-3DZ7QYNA.cjs');
|
|
13
11
|
require('../../chunk-VFKQMAUF.cjs');
|
|
14
12
|
|
|
15
13
|
|
|
16
|
-
var
|
|
14
|
+
var _chunk3VTHSACOcjs = require('../../chunk-3VTHSACO.cjs');
|
|
15
|
+
|
|
17
16
|
|
|
18
17
|
|
|
19
18
|
|
|
@@ -37,16 +36,24 @@ var _chunk4VSPLMB6cjs = require('../../chunk-4VSPLMB6.cjs');
|
|
|
37
36
|
|
|
38
37
|
|
|
39
38
|
|
|
39
|
+
var _chunk4EED3YEIcjs = require('../../chunk-4EED3YEI.cjs');
|
|
40
40
|
|
|
41
41
|
|
|
42
|
+
var _chunkELF4OOHCcjs = require('../../chunk-ELF4OOHC.cjs');
|
|
43
|
+
require('../../chunk-27APPAJN.cjs');
|
|
44
|
+
require('../../chunk-SGJBUL2Y.cjs');
|
|
42
45
|
|
|
43
46
|
|
|
44
|
-
|
|
47
|
+
|
|
48
|
+
var _chunk6JINAOI7cjs = require('../../chunk-6JINAOI7.cjs');
|
|
49
|
+
require('../../chunk-OZ3GH6OQ.cjs');
|
|
50
|
+
|
|
45
51
|
|
|
46
52
|
|
|
47
|
-
|
|
53
|
+
|
|
54
|
+
var _chunk6LK4VEXEcjs = require('../../chunk-6LK4VEXE.cjs');
|
|
55
|
+
require('../../chunk-DAAFVOTL.cjs');
|
|
48
56
|
require('../../chunk-MEAR2WHS.cjs');
|
|
49
|
-
require('../../chunk-27APPAJN.cjs');
|
|
50
57
|
require('../../chunk-XL4V2PYG.cjs');
|
|
51
58
|
require('../../chunk-BZFW3FOF.cjs');
|
|
52
59
|
|
|
@@ -54,31 +61,27 @@ require('../../chunk-BZFW3FOF.cjs');
|
|
|
54
61
|
|
|
55
62
|
|
|
56
63
|
var _chunkG7UE6RKVcjs = require('../../chunk-G7UE6RKV.cjs');
|
|
57
|
-
require('../../chunk-SGJBUL2Y.cjs');
|
|
58
64
|
|
|
59
65
|
|
|
60
66
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
var _chunkGRTZ23GLcjs = require('../../chunk-GRTZ23GL.cjs');
|
|
67
|
+
var _chunkTU26IZPOcjs = require('../../chunk-TU26IZPO.cjs');
|
|
64
68
|
require('../../chunk-WBR7H6E3.cjs');
|
|
65
69
|
require('../../chunk-Z4IBEIWD.cjs');
|
|
66
70
|
require('../../chunk-FIG2RKZF.cjs');
|
|
67
71
|
require('../../chunk-C6ASEPZL.cjs');
|
|
68
72
|
require('../../chunk-WZW7C7TF.cjs');
|
|
69
73
|
require('../../chunk-XQFFGR6U.cjs');
|
|
70
|
-
require('../../chunk-OZ3GH6OQ.cjs');
|
|
71
74
|
require('../../chunk-VRHGVLSL.cjs');
|
|
72
75
|
|
|
73
76
|
// src/components/tickets/ticket-center.tsx
|
|
74
77
|
var _react = require('react');
|
|
75
78
|
var _reactquery = require('@tanstack/react-query');
|
|
76
|
-
|
|
79
|
+
_chunkTU26IZPOcjs.init_button2.call(void 0, );
|
|
77
80
|
var _lucidereact = require('lucide-react');
|
|
78
81
|
|
|
79
82
|
// src/components/tickets/ticket-open-form.tsx
|
|
80
83
|
|
|
81
|
-
|
|
84
|
+
_chunkTU26IZPOcjs.init_button2.call(void 0, );
|
|
82
85
|
|
|
83
86
|
// src/components/tickets/types.ts
|
|
84
87
|
function isOptimistic(t) {
|
|
@@ -106,7 +109,7 @@ function TicketOpenForm({
|
|
|
106
109
|
}) {
|
|
107
110
|
const [subject, setSubject] = _react.useState.call(void 0, "");
|
|
108
111
|
const [content, setContent] = _react.useState.call(void 0, "");
|
|
109
|
-
const { attachments, readyAttachments, hasInflightUploads, addFiles, removeAttachment, clear } =
|
|
112
|
+
const { attachments, readyAttachments, hasInflightUploads, addFiles, removeAttachment, clear } = _chunk4EED3YEIcjs.useChatAttachments.call(void 0, );
|
|
110
113
|
const trimmedSubject = subject.trim();
|
|
111
114
|
const trimmedContent = content.trim();
|
|
112
115
|
const overCap = content.length > TICKET_TEXT_MAX_CHARS;
|
|
@@ -126,7 +129,7 @@ function TicketOpenForm({
|
|
|
126
129
|
clear();
|
|
127
130
|
}
|
|
128
131
|
};
|
|
129
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
132
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LK4VEXEcjs.Card, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "form", { onSubmit: handleSubmit, className: "flex flex-col md:flex-row gap-6", children: [
|
|
130
133
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 md:max-w-md", children: [
|
|
131
134
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-2xl font-semibold text-ods-text-primary mb-2", children: "Need Support?" }),
|
|
132
135
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-sm", children: "Can't find what you're looking for? Submit a support ticket below \u2014 we'll follow up shortly." }),
|
|
@@ -143,7 +146,7 @@ function TicketOpenForm({
|
|
|
143
146
|
}
|
|
144
147
|
),
|
|
145
148
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
146
|
-
|
|
149
|
+
_chunk6JINAOI7cjs.Input,
|
|
147
150
|
{
|
|
148
151
|
id: "ticket-subject",
|
|
149
152
|
type: "text",
|
|
@@ -165,7 +168,7 @@ function TicketOpenForm({
|
|
|
165
168
|
}
|
|
166
169
|
),
|
|
167
170
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
168
|
-
|
|
171
|
+
_chunk4EED3YEIcjs.Textarea,
|
|
169
172
|
{
|
|
170
173
|
id: "ticket-content",
|
|
171
174
|
placeholder: "Describe your issue or question in detail...",
|
|
@@ -189,7 +192,7 @@ function TicketOpenForm({
|
|
|
189
192
|
)
|
|
190
193
|
] }),
|
|
191
194
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
192
|
-
|
|
195
|
+
_chunk4EED3YEIcjs.ChatAttachmentChipStrip,
|
|
193
196
|
{
|
|
194
197
|
attachments,
|
|
195
198
|
onRemove: removeAttachment,
|
|
@@ -198,7 +201,7 @@ function TicketOpenForm({
|
|
|
198
201
|
),
|
|
199
202
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between gap-3", children: [
|
|
200
203
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
201
|
-
|
|
204
|
+
_chunk4EED3YEIcjs.ChatAttachmentAddButton,
|
|
202
205
|
{
|
|
203
206
|
attachmentsEnabled: !supportSystemDown,
|
|
204
207
|
attachmentsCount: attachments.length,
|
|
@@ -207,7 +210,7 @@ function TicketOpenForm({
|
|
|
207
210
|
}
|
|
208
211
|
),
|
|
209
212
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
210
|
-
|
|
213
|
+
_chunkTU26IZPOcjs.Button,
|
|
211
214
|
{
|
|
212
215
|
type: "submit",
|
|
213
216
|
disabled: !canSubmit,
|
|
@@ -229,14 +232,14 @@ var Collapsible = CollapsiblePrimitive.Root;
|
|
|
229
232
|
var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
|
|
230
233
|
|
|
231
234
|
// src/components/tickets/ticket-detail-drawer.tsx
|
|
232
|
-
|
|
235
|
+
_chunkTU26IZPOcjs.init_button2.call(void 0, );
|
|
233
236
|
var _usesticktobottom = require('use-stick-to-bottom');
|
|
234
237
|
|
|
235
238
|
// src/components/tickets/hooks/use-ticket-engagements.ts
|
|
236
239
|
|
|
237
240
|
var LIST_ENGAGEMENTS_ENDPOINT = "/api/chat/agent/list-engagements";
|
|
238
241
|
function useTicketEngagements(externalTicketId, enabled = true, refetchInterval = false) {
|
|
239
|
-
const identity =
|
|
242
|
+
const identity = _chunk4EED3YEIcjs.useChatIdentity.call(void 0, );
|
|
240
243
|
const identityKey = _nullishCoalesce(_optionalChain([identity, 'access', _2 => _2.user, 'optionalAccess', _3 => _3.email]), () => ( "anon"));
|
|
241
244
|
const fetchable = enabled && !!externalTicketId && !externalTicketId.startsWith("temp-");
|
|
242
245
|
const queryEnabled = fetchable && identity.authTier !== "anon" && !!_optionalChain([identity, 'access', _4 => _4.user, 'optionalAccess', _5 => _5.email]);
|
|
@@ -256,7 +259,7 @@ function useTicketEngagements(externalTicketId, enabled = true, refetchInterval
|
|
|
256
259
|
// so polling pauses on a hidden tab.
|
|
257
260
|
refetchInterval,
|
|
258
261
|
queryFn: async () => {
|
|
259
|
-
const response = await
|
|
262
|
+
const response = await _chunk4EED3YEIcjs.embedAuthedFetch.call(void 0, LIST_ENGAGEMENTS_ENDPOINT, {
|
|
260
263
|
method: "POST",
|
|
261
264
|
body: JSON.stringify({ ticket_id: externalTicketId })
|
|
262
265
|
});
|
|
@@ -317,7 +320,7 @@ function TicketLinkedDeliveryCard({
|
|
|
317
320
|
{
|
|
318
321
|
className: `rounded-md border border-ods-border bg-ods-bg overflow-hidden ${_nullishCoalesce(className, () => ( ""))}`,
|
|
319
322
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
320
|
-
|
|
323
|
+
_chunk3DZ7QYNAcjs.DeliveryRow,
|
|
321
324
|
{
|
|
322
325
|
item,
|
|
323
326
|
href: clickup.delivery_href,
|
|
@@ -329,7 +332,7 @@ function TicketLinkedDeliveryCard({
|
|
|
329
332
|
}
|
|
330
333
|
|
|
331
334
|
// src/components/tickets/ticket-reply-composer.tsx
|
|
332
|
-
|
|
335
|
+
_chunkTU26IZPOcjs.init_button2.call(void 0, );
|
|
333
336
|
|
|
334
337
|
|
|
335
338
|
function TicketReplyComposer({
|
|
@@ -341,7 +344,7 @@ function TicketReplyComposer({
|
|
|
341
344
|
}) {
|
|
342
345
|
const [resolution, setResolution] = _react.useState.call(void 0, "");
|
|
343
346
|
const [closeDialogOpen, setCloseDialogOpen] = _react.useState.call(void 0, false);
|
|
344
|
-
const attachments =
|
|
347
|
+
const attachments = _chunk4EED3YEIcjs.useChatAttachments.call(void 0, );
|
|
345
348
|
const ticketRef = { id: ticket.id, external_id: ticket.external_id };
|
|
346
349
|
const hasReadyFiles = attachments.readyAttachments.length > 0;
|
|
347
350
|
const handleSend = _react.useCallback.call(void 0,
|
|
@@ -369,7 +372,7 @@ function TicketReplyComposer({
|
|
|
369
372
|
const disabled = busy || supportSystemDown;
|
|
370
373
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
|
|
371
374
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
372
|
-
|
|
375
|
+
_chunk4EED3YEIcjs.ChatAttachmentChipStrip,
|
|
373
376
|
{
|
|
374
377
|
attachments: attachments.attachments,
|
|
375
378
|
onRemove: attachments.removeAttachment,
|
|
@@ -378,7 +381,7 @@ function TicketReplyComposer({
|
|
|
378
381
|
}
|
|
379
382
|
),
|
|
380
383
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
381
|
-
|
|
384
|
+
_chunk4EED3YEIcjs.ChatInput,
|
|
382
385
|
{
|
|
383
386
|
fullWidth: true,
|
|
384
387
|
autoFocus: true,
|
|
@@ -392,7 +395,7 @@ function TicketReplyComposer({
|
|
|
392
395
|
),
|
|
393
396
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2 w-full", children: [
|
|
394
397
|
!supportSystemDown && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
395
|
-
|
|
398
|
+
_chunk4EED3YEIcjs.ChatAttachmentAddButton,
|
|
396
399
|
{
|
|
397
400
|
attachmentsEnabled: true,
|
|
398
401
|
attachmentsCount: attachments.attachments.length,
|
|
@@ -403,7 +406,7 @@ function TicketReplyComposer({
|
|
|
403
406
|
),
|
|
404
407
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1 min-w-0" }),
|
|
405
408
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
406
|
-
|
|
409
|
+
_chunkTU26IZPOcjs.Button,
|
|
407
410
|
{
|
|
408
411
|
type: "button",
|
|
409
412
|
variant: "transparent",
|
|
@@ -415,13 +418,13 @@ function TicketReplyComposer({
|
|
|
415
418
|
}
|
|
416
419
|
)
|
|
417
420
|
] }),
|
|
418
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
419
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
420
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
421
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
421
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4EED3YEIcjs.AlertDialog, { open: closeDialogOpen, onOpenChange: setCloseDialogOpen, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4EED3YEIcjs.AlertDialogContent, { className: "bg-ods-card border-ods-border", children: [
|
|
422
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4EED3YEIcjs.AlertDialogHeader, { children: [
|
|
423
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4EED3YEIcjs.AlertDialogTitle, { className: "text-ods-text-primary", children: "Close this ticket?" }),
|
|
424
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4EED3YEIcjs.AlertDialogDescription, { className: "text-ods-text-secondary", children: "Add an optional resolution note below. You can reopen the ticket later if needed." })
|
|
422
425
|
] }),
|
|
423
426
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
424
|
-
|
|
427
|
+
_chunk4EED3YEIcjs.Textarea,
|
|
425
428
|
{
|
|
426
429
|
value: resolution,
|
|
427
430
|
onChange: (e) => setResolution(e.target.value),
|
|
@@ -431,9 +434,9 @@ function TicketReplyComposer({
|
|
|
431
434
|
className: "mt-2"
|
|
432
435
|
}
|
|
433
436
|
),
|
|
434
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
437
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4EED3YEIcjs.AlertDialogFooter, { children: [
|
|
435
438
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
436
|
-
|
|
439
|
+
_chunk4EED3YEIcjs.AlertDialogCancel,
|
|
437
440
|
{
|
|
438
441
|
disabled: busy,
|
|
439
442
|
className: "bg-transparent border-ods-border text-ods-text-primary hover:bg-ods-border",
|
|
@@ -441,7 +444,7 @@ function TicketReplyComposer({
|
|
|
441
444
|
}
|
|
442
445
|
),
|
|
443
446
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
444
|
-
|
|
447
|
+
_chunk4EED3YEIcjs.AlertDialogAction,
|
|
445
448
|
{
|
|
446
449
|
onClick: () => void confirmClose(),
|
|
447
450
|
disabled: busy,
|
|
@@ -511,7 +514,7 @@ var TICKET_FEED_HEIGHT = "h-[60vh] md:h-[420px]";
|
|
|
511
514
|
var TICKET_FEED_INNER = "flex flex-col gap-4 md:gap-6 px-4 md:px-6 py-4 md:py-6";
|
|
512
515
|
var TICKET_FEED_SKELETON_ROWS = 6;
|
|
513
516
|
function TicketTimelinePanel({ ticket }) {
|
|
514
|
-
const identity =
|
|
517
|
+
const identity = _chunk4EED3YEIcjs.useChatIdentity.call(void 0, );
|
|
515
518
|
const externalId = isOptimistic(ticket) ? null : ticket.external_id;
|
|
516
519
|
const { engagements, isLoading } = useTicketEngagements(
|
|
517
520
|
externalId,
|
|
@@ -531,11 +534,11 @@ function TicketTimelinePanel({ ticket }) {
|
|
|
531
534
|
const customerName = (isViewerTheCustomer ? viewerName : null) || ticketCustomerName || viewerName || _optionalChain([identity, 'access', _19 => _19.user, 'optionalAccess', _20 => _20.email]) || "You";
|
|
532
535
|
const customerAvatar = isViewerTheCustomer ? _nullishCoalesce(_optionalChain([identity, 'access', _21 => _21.user, 'optionalAccess', _22 => _22.avatarUrl]), () => ( void 0)) : void 0;
|
|
533
536
|
if (isLoading) {
|
|
534
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `${TICKET_FEED_FRAME} ${TICKET_FEED_HEIGHT}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: TICKET_FEED_INNER, children: Array.from({ length: TICKET_FEED_SKELETON_ROWS }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
537
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `${TICKET_FEED_FRAME} ${TICKET_FEED_HEIGHT}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: TICKET_FEED_INNER, children: Array.from({ length: TICKET_FEED_SKELETON_ROWS }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4EED3YEIcjs.ChatMessageRowSkeleton, {}, i)) }) });
|
|
535
538
|
}
|
|
536
539
|
if (bodyTurns.length === 0 && engagements.length === 0) {
|
|
537
540
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
538
|
-
|
|
541
|
+
_chunk3DZ7QYNAcjs.EmptyState,
|
|
539
542
|
{
|
|
540
543
|
type: "generic",
|
|
541
544
|
title: "No conversation yet",
|
|
@@ -550,7 +553,7 @@ function TicketTimelinePanel({ ticket }) {
|
|
|
550
553
|
const isResolution = turn.startsWith("[Resolution]");
|
|
551
554
|
const text = isResolution ? turn.replace(/^\[Resolution\]\s*/, "") : turn;
|
|
552
555
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
553
|
-
|
|
556
|
+
_chunk4EED3YEIcjs.ChatMessageRow,
|
|
554
557
|
{
|
|
555
558
|
displayName: customerName,
|
|
556
559
|
avatarUrl: customerAvatar,
|
|
@@ -579,13 +582,13 @@ function TicketTimelinePanel({ ticket }) {
|
|
|
579
582
|
}
|
|
580
583
|
const engAttachments = mapEngagementAttachments(eng.attachments);
|
|
581
584
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
582
|
-
|
|
585
|
+
_chunk4EED3YEIcjs.ChatMessageRow,
|
|
583
586
|
{
|
|
584
587
|
displayName: author,
|
|
585
588
|
avatarUrl: avatarSrc,
|
|
586
|
-
timeLabel: eng.createdAt ?
|
|
589
|
+
timeLabel: eng.createdAt ? _chunk4EED3YEIcjs.formatRelativeTime.call(void 0, eng.createdAt) : null,
|
|
587
590
|
body: stripAttachmentsPreamble(_nullishCoalesce(eng.body, () => ( ""))),
|
|
588
|
-
footer: engAttachments.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
591
|
+
footer: engAttachments.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mt-2", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4EED3YEIcjs.TicketAttachmentsList, { attachments: engAttachments, size: "compact" }) }) : null
|
|
589
592
|
},
|
|
590
593
|
eng.id
|
|
591
594
|
);
|
|
@@ -624,7 +627,7 @@ function ReopenAction({
|
|
|
624
627
|
void await onReopen(ticketRef);
|
|
625
628
|
};
|
|
626
629
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
627
|
-
|
|
630
|
+
_chunkTU26IZPOcjs.Button,
|
|
628
631
|
{
|
|
629
632
|
type: "button",
|
|
630
633
|
variant: "outline",
|
|
@@ -649,7 +652,7 @@ function ReplyFailureBanner({
|
|
|
649
652
|
children: [
|
|
650
653
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-medium leading-snug", children: error.message }),
|
|
651
654
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
652
|
-
|
|
655
|
+
_chunkTU26IZPOcjs.Button,
|
|
653
656
|
{
|
|
654
657
|
type: "button",
|
|
655
658
|
variant: "transparent",
|
|
@@ -673,7 +676,7 @@ function AssignedAgentRow({
|
|
|
673
676
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary uppercase tracking-wider font-medium", children: "Assigned to" }),
|
|
674
677
|
displayLabel ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex items-center gap-1.5 text-ods-text-primary font-medium", children: [
|
|
675
678
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
676
|
-
|
|
679
|
+
_chunk6LK4VEXEcjs.SquareAvatar,
|
|
677
680
|
{
|
|
678
681
|
size: "sm",
|
|
679
682
|
variant: "round",
|
|
@@ -704,7 +707,7 @@ function TicketRow({
|
|
|
704
707
|
const rowRef = _react.useRef.call(void 0, null);
|
|
705
708
|
const handleClick = _react.useCallback.call(void 0, () => {
|
|
706
709
|
onToggle(ticket.id);
|
|
707
|
-
|
|
710
|
+
_chunk4EED3YEIcjs.scrollElementIntoView.call(void 0, rowRef.current, {
|
|
708
711
|
adjustTargetY: (raw) => {
|
|
709
712
|
if (!rowRef.current) return raw;
|
|
710
713
|
const expandedDrawer = document.querySelector(
|
|
@@ -730,7 +733,7 @@ function TicketRow({
|
|
|
730
733
|
// so the badge accurately reflects "Closed" with a checkmark.
|
|
731
734
|
statusLabel: _nullishCoalesce(ticket.pipeline_stage_label, () => ( void 0)),
|
|
732
735
|
category: _nullishCoalesce(ticket.customer_company, () => ( void 0)),
|
|
733
|
-
timeAgo: ticket.hubspot_updated_at ?
|
|
736
|
+
timeAgo: ticket.hubspot_updated_at ? _chunk4EED3YEIcjs.formatRelativeTime.call(void 0, ticket.hubspot_updated_at) : void 0,
|
|
734
737
|
// Linked-work chip: surfaced whenever the ticket has a linked
|
|
735
738
|
// ClickUp task. Uses the linked task's own status so the chip text
|
|
736
739
|
// reads "Working" / "Waiting on version release" / etc. — useful
|
|
@@ -745,7 +748,7 @@ function TicketRow({
|
|
|
745
748
|
className: "border-b border-ods-border last:border-b-0",
|
|
746
749
|
children: [
|
|
747
750
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
748
|
-
|
|
751
|
+
_chunk4EED3YEIcjs.ChatTicketItem,
|
|
749
752
|
{
|
|
750
753
|
ticket: tileData,
|
|
751
754
|
onClick: optimistic ? void 0 : handleClick,
|
|
@@ -814,7 +817,7 @@ function useTicketsList(filters) {
|
|
|
814
817
|
pageSize
|
|
815
818
|
};
|
|
816
819
|
if (statusFilter) body.status = statusFilter;
|
|
817
|
-
const response = await
|
|
820
|
+
const response = await _chunk4EED3YEIcjs.embedAuthedFetch.call(void 0, FIND_TICKET_ENDPOINT, {
|
|
818
821
|
method: "POST",
|
|
819
822
|
body: JSON.stringify(body)
|
|
820
823
|
});
|
|
@@ -928,7 +931,7 @@ function useTicketActions(options) {
|
|
|
928
931
|
}, []);
|
|
929
932
|
const executeTicketAction = _react.useCallback.call(void 0,
|
|
930
933
|
async (toolName, args) => {
|
|
931
|
-
const res = await
|
|
934
|
+
const res = await _chunk4EED3YEIcjs.embedAuthedFetch.call(void 0, TICKET_ACTION_ENDPOINT, {
|
|
932
935
|
method: "POST",
|
|
933
936
|
body: JSON.stringify({ tool_name: toolName, args })
|
|
934
937
|
});
|
|
@@ -1312,14 +1315,14 @@ function resolveErrorCode(bodyCode, status) {
|
|
|
1312
1315
|
|
|
1313
1316
|
// src/components/tickets/ticket-center.tsx
|
|
1314
1317
|
|
|
1315
|
-
function TicketCenter({ toast: toast2 =
|
|
1316
|
-
const identity =
|
|
1318
|
+
function TicketCenter({ toast: toast2 = _chunkELF4OOHCcjs.toast } = {}) {
|
|
1319
|
+
const identity = _chunk4EED3YEIcjs.useChatIdentity.call(void 0, );
|
|
1317
1320
|
if (identity.isLoading) {
|
|
1318
1321
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketCenterSkeleton, {});
|
|
1319
1322
|
}
|
|
1320
1323
|
if (identity.authTier === "anon" || !_optionalChain([identity, 'access', _58 => _58.user, 'optionalAccess', _59 => _59.email])) {
|
|
1321
1324
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1322
|
-
|
|
1325
|
+
_chunk3DZ7QYNAcjs.EmptyState,
|
|
1323
1326
|
{
|
|
1324
1327
|
type: "generic",
|
|
1325
1328
|
title: "Sign in to manage tickets",
|
|
@@ -1390,10 +1393,10 @@ function TicketCenterAuthed({
|
|
|
1390
1393
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3 text-xs text-ods-text-secondary", children: [
|
|
1391
1394
|
lastUpdatedAt && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { children: [
|
|
1392
1395
|
"Updated ",
|
|
1393
|
-
|
|
1396
|
+
_chunk4EED3YEIcjs.formatRelativeTime.call(void 0, new Date(lastUpdatedAt))
|
|
1394
1397
|
] }),
|
|
1395
1398
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1396
|
-
|
|
1399
|
+
_chunkTU26IZPOcjs.Button,
|
|
1397
1400
|
{
|
|
1398
1401
|
type: "button",
|
|
1399
1402
|
variant: "transparent",
|
|
@@ -1406,15 +1409,15 @@ function TicketCenterAuthed({
|
|
|
1406
1409
|
)
|
|
1407
1410
|
] })
|
|
1408
1411
|
] }),
|
|
1409
|
-
isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketListSkeleton, {}) : merged.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1410
|
-
|
|
1412
|
+
isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketListSkeleton, {}) : merged.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LK4VEXEcjs.Card, { className: "p-6", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1413
|
+
_chunk3DZ7QYNAcjs.EmptyState,
|
|
1411
1414
|
{
|
|
1412
1415
|
type: "generic",
|
|
1413
1416
|
title: "No tickets yet",
|
|
1414
1417
|
description: "Open one above to start the conversation.",
|
|
1415
1418
|
showCTA: false
|
|
1416
1419
|
}
|
|
1417
|
-
) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1420
|
+
) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LK4VEXEcjs.Card, { className: "overflow-hidden", children: merged.map((ticket) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1418
1421
|
TicketRow,
|
|
1419
1422
|
{
|
|
1420
1423
|
ticket,
|
|
@@ -1434,29 +1437,29 @@ function TicketCenterAuthed({
|
|
|
1434
1437
|
}
|
|
1435
1438
|
function TicketCenterSkeleton() {
|
|
1436
1439
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-6", children: [
|
|
1437
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1438
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1439
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1440
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1440
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk6LK4VEXEcjs.Card, { className: "p-6", children: [
|
|
1441
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6JINAOI7cjs.Skeleton, { className: "h-7 w-48 mb-4" }),
|
|
1442
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6JINAOI7cjs.Skeleton, { className: "h-10 w-full mb-3" }),
|
|
1443
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6JINAOI7cjs.Skeleton, { className: "h-24 w-full" })
|
|
1441
1444
|
] }),
|
|
1442
1445
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketListSkeleton, {})
|
|
1443
1446
|
] });
|
|
1444
1447
|
}
|
|
1445
1448
|
function TicketListSkeleton() {
|
|
1446
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1449
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6LK4VEXEcjs.Card, { className: "overflow-hidden", children: [0, 1, 2].map((i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "h-20 px-4 flex items-center gap-4 border-b border-ods-border last:border-b-0", children: [
|
|
1447
1450
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 flex flex-col gap-2", children: [
|
|
1448
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1449
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1451
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6JINAOI7cjs.Skeleton, { className: "h-4 w-2/3" }),
|
|
1452
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6JINAOI7cjs.Skeleton, { className: "h-3 w-full" })
|
|
1450
1453
|
] }),
|
|
1451
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1452
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1454
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6JINAOI7cjs.Skeleton, { className: "h-8 w-20" }),
|
|
1455
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk6JINAOI7cjs.Skeleton, { className: "h-8 w-16" })
|
|
1453
1456
|
] }, i)) });
|
|
1454
1457
|
}
|
|
1455
1458
|
|
|
1456
1459
|
// src/components/tickets/help-center-list.tsx
|
|
1457
1460
|
|
|
1458
1461
|
|
|
1459
|
-
|
|
1462
|
+
_chunk3DZ7QYNAcjs.init_unified_pagination.call(void 0, );
|
|
1460
1463
|
|
|
1461
1464
|
// src/components/tickets/help-center-card.tsx
|
|
1462
1465
|
|
|
@@ -1478,7 +1481,7 @@ function HelpCenterCard({
|
|
|
1478
1481
|
const optimistic = isOptimistic(ticket);
|
|
1479
1482
|
const rawStatus = (_nullishCoalesce(ticket.status, () => ( "OPEN"))).toUpperCase();
|
|
1480
1483
|
const priority = (_nullishCoalesce(ticket.priority, () => ( ""))).toUpperCase();
|
|
1481
|
-
const relativeUpdated = ticket.hubspot_updated_at ?
|
|
1484
|
+
const relativeUpdated = ticket.hubspot_updated_at ? _chunk4EED3YEIcjs.formatRelativeTime.call(void 0, ticket.hubspot_updated_at) : "recently";
|
|
1482
1485
|
const title = (ticket.subject || "").trim() || "(untitled)";
|
|
1483
1486
|
const subtitle = `UPDATED ${relativeUpdated}, #${ticket.external_id || "\u2014"}${ticket.pipeline_stage_label ? `, ${ticket.pipeline_stage_label}` : ""}`;
|
|
1484
1487
|
const description = _nullishCoalesce(_nullishCoalesce(ticket.preview, () => ( ticket.body)), () => ( ""));
|
|
@@ -1491,7 +1494,7 @@ function HelpCenterCard({
|
|
|
1491
1494
|
_react.useEffect.call(void 0, () => {
|
|
1492
1495
|
if (!isExpanded) return;
|
|
1493
1496
|
const raf = requestAnimationFrame(() => {
|
|
1494
|
-
|
|
1497
|
+
_chunk4EED3YEIcjs.scrollElementIntoView.call(void 0, rowRef.current, {
|
|
1495
1498
|
headerOffset: STICKY_HEADER_OFFSET_PX
|
|
1496
1499
|
});
|
|
1497
1500
|
});
|
|
@@ -1499,16 +1502,16 @@ function HelpCenterCard({
|
|
|
1499
1502
|
}, [isExpanded]);
|
|
1500
1503
|
const rightBadges = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
|
|
1501
1504
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1502
|
-
|
|
1505
|
+
_chunk6LK4VEXEcjs.StatusBadge,
|
|
1503
1506
|
{
|
|
1504
1507
|
text: rawStatus,
|
|
1505
|
-
colorScheme:
|
|
1508
|
+
colorScheme: _chunk4EED3YEIcjs.getStatusColorScheme.call(void 0, rawStatus),
|
|
1506
1509
|
variant: "card",
|
|
1507
1510
|
className: "border border-ods-border"
|
|
1508
1511
|
}
|
|
1509
1512
|
),
|
|
1510
1513
|
priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1511
|
-
|
|
1514
|
+
_chunk6LK4VEXEcjs.StatusBadge,
|
|
1512
1515
|
{
|
|
1513
1516
|
text: priority,
|
|
1514
1517
|
colorScheme: mapPriorityScheme(priority),
|
|
@@ -1535,7 +1538,7 @@ function HelpCenterCard({
|
|
|
1535
1538
|
"aria-controls": isExpanded ? `help-center-drawer-${ticket.id}` : void 0,
|
|
1536
1539
|
className: "w-full text-left p-[12px] md:p-[16px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent focus-visible:ring-inset disabled:cursor-default",
|
|
1537
1540
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1538
|
-
|
|
1541
|
+
_chunk3DZ7QYNAcjs.DevCardRowContent,
|
|
1539
1542
|
{
|
|
1540
1543
|
title,
|
|
1541
1544
|
subtitle,
|
|
@@ -1610,12 +1613,12 @@ function HelpCenterCreateForm({
|
|
|
1610
1613
|
const [subject, setSubject] = _react.useState.call(void 0, "");
|
|
1611
1614
|
const [subjectError, setSubjectError] = _react.useState.call(void 0, null);
|
|
1612
1615
|
const subjectField = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
|
|
1613
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
1616
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk4EED3YEIcjs.Label, { htmlFor: "help-center-subject", children: [
|
|
1614
1617
|
"Subject",
|
|
1615
1618
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-accent", children: "*" })
|
|
1616
1619
|
] }),
|
|
1617
1620
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1618
|
-
|
|
1621
|
+
_chunk6JINAOI7cjs.Input,
|
|
1619
1622
|
{
|
|
1620
1623
|
id: "help-center-subject",
|
|
1621
1624
|
type: "text",
|
|
@@ -1642,7 +1645,7 @@ function HelpCenterCreateForm({
|
|
|
1642
1645
|
)
|
|
1643
1646
|
] });
|
|
1644
1647
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1645
|
-
|
|
1648
|
+
_chunk3VTHSACOcjs.ContactForm,
|
|
1646
1649
|
{
|
|
1647
1650
|
title: "Open a new ticket",
|
|
1648
1651
|
footerText: "The support team typically responds within one business day.",
|
|
@@ -1679,8 +1682,8 @@ function HelpCenterCreateForm({
|
|
|
1679
1682
|
|
|
1680
1683
|
// src/components/tickets/help-center-list.tsx
|
|
1681
1684
|
|
|
1682
|
-
function HelpCenterList({ toast: toast2 =
|
|
1683
|
-
const identity =
|
|
1685
|
+
function HelpCenterList({ toast: toast2 = _chunkELF4OOHCcjs.toast } = {}) {
|
|
1686
|
+
const identity = _chunk4EED3YEIcjs.useChatIdentity.call(void 0, );
|
|
1684
1687
|
const searchParams = _chunkG7UE6RKVcjs.useSearchParams.call(void 0, );
|
|
1685
1688
|
const router = _chunkG7UE6RKVcjs.useRouter.call(void 0, );
|
|
1686
1689
|
const pathname = _chunkG7UE6RKVcjs.usePathname.call(void 0, );
|
|
@@ -1690,11 +1693,11 @@ function HelpCenterList({ toast: toast2 = _chunk27VVOBDBcjs.toast } = {}) {
|
|
|
1690
1693
|
const rawPage = Number(searchParams.get("page"));
|
|
1691
1694
|
const page = Number.isFinite(rawPage) && rawPage > 0 ? Math.floor(rawPage) : 1;
|
|
1692
1695
|
if (identity.isLoading) {
|
|
1693
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1696
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3DZ7QYNAcjs.DevSectionPage, { sectionKey: "tickets", preControls: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HelpCenterCreateFormSkeleton, {}), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3DZ7QYNAcjs.DevCardRowSkeletonList, {}) });
|
|
1694
1697
|
}
|
|
1695
1698
|
if (identity.authTier === "anon" || !_optionalChain([identity, 'access', _60 => _60.user, 'optionalAccess', _61 => _61.email])) {
|
|
1696
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1697
|
-
|
|
1699
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3DZ7QYNAcjs.DevSectionPage, { sectionKey: "tickets", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1700
|
+
_chunk3DZ7QYNAcjs.EmptyState,
|
|
1698
1701
|
{
|
|
1699
1702
|
type: "generic",
|
|
1700
1703
|
title: "Sign in to manage tickets",
|
|
@@ -1817,17 +1820,17 @@ function HelpCenterListAuthed({
|
|
|
1817
1820
|
"Couldn\u2019t load your tickets. ",
|
|
1818
1821
|
error.message
|
|
1819
1822
|
] }),
|
|
1820
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1823
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTU26IZPOcjs.Button, { type: "button", variant: "accent", onClick: () => refetch(), children: "Retry" })
|
|
1821
1824
|
] }),
|
|
1822
|
-
!error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1825
|
+
!error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3DZ7QYNAcjs.DevCardRowSkeletonList, {}) : !hasResults && isFetching ? (
|
|
1823
1826
|
// Bridge state — background refetch in flight and the
|
|
1824
1827
|
// optimistic placeholder was just removed by the mutation
|
|
1825
1828
|
// callback. Without this branch "No tickets yet" would flash
|
|
1826
1829
|
// for ~50ms between `removeOptimistic` and the server
|
|
1827
1830
|
// response landing.
|
|
1828
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1831
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3DZ7QYNAcjs.DevCardRowSkeletonList, { rows: 1 })
|
|
1829
1832
|
) : !hasResults ? hasActiveFilters ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1830
|
-
|
|
1833
|
+
_chunk3DZ7QYNAcjs.EmptyState,
|
|
1831
1834
|
{
|
|
1832
1835
|
type: "search",
|
|
1833
1836
|
title: "No tickets found",
|
|
@@ -1842,7 +1845,7 @@ function HelpCenterListAuthed({
|
|
|
1842
1845
|
}
|
|
1843
1846
|
}
|
|
1844
1847
|
) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1845
|
-
|
|
1848
|
+
_chunk3DZ7QYNAcjs.EmptyState,
|
|
1846
1849
|
{
|
|
1847
1850
|
type: "generic",
|
|
1848
1851
|
title: "No tickets yet",
|
|
@@ -1876,9 +1879,9 @@ function HelpCenterListAuthed({
|
|
|
1876
1879
|
ticket.id
|
|
1877
1880
|
)) })
|
|
1878
1881
|
) }),
|
|
1879
|
-
!error && totalPages > 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1882
|
+
!error && totalPages > 1 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3DZ7QYNAcjs.UnifiedPagination, { currentPage: page, totalPages })
|
|
1880
1883
|
] });
|
|
1881
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
1884
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3DZ7QYNAcjs.DevSectionPage, { sectionKey: "tickets", preControls: form, children: body });
|
|
1882
1885
|
}
|
|
1883
1886
|
|
|
1884
1887
|
|