@versini/sassysaint 4.0.5 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,1278 +0,0 @@
1
- import { jsxs as c, jsx as e, Fragment as k } from "react/jsx-runtime";
2
- import { O as D, i$1 as le, N as de, p as De, o as _e, g as A, N$1 as _, CARDS as g, renderDataAsList as $, pluralize as Z, ABOUT_TITLE as ze, MODEL_GPT4 as Be, numberFormatter as Ve, durationFormatter as Ce, NA as Pe, ROLE_ASSISTANT as Fe, extractAverage as Ge, GPT4_MAX_TOKENS as $e, zr as Y, STATS as Ne, b as F, j as E, x as ee, LOCAL_STORAGE_PREFIX as te, LOCAL_STORAGE_SORT as Ue, ACTION_RESET as je, ACTION_RESTORE as Ye, truncate as Ke, ACTION_SORT as re, LOCAL_STORAGE_SEARCH as We, Y as Xe, ACTION_SEARCH as Je, HISTORY_TITLE as qe, LOCAL_STORAGE_CHAT_DETAILS as Qe, LOCAL_STORAGE_LOCATION as Ze, v as et, ACTION_LOCATION as me, getCurrentGeoLocation as tt, convertLatitudeToDMS as at, convertLongitudeToDMS as nt, PROFILE_TITLE as st, LOG_OUT as ue } from "./index.KrqE7k6j.js";
3
- import * as ce from "react";
4
- import rt, { forwardRef as Te, useState as y, useRef as U, useContext as R, useEffect as L, Suspense as ot, lazy as ct, useId as it, useMemo as lt } from "react";
5
- import { g as dt, AppContext as K, serviceCall as ne, SERVICE_TYPES as se, HistoryContext as ye, E as ae, k as I, et as mt, at as ut, lt as oe, J as M, ct as ht, st as pt, rt as ft } from "./useLocalStorage.cIA35Dub.js";
6
- import v from "clsx";
7
- import { useFloatingTree as be, useFloatingNodeId as gt, useListItem as Se, useFloating as Ct, offset as Nt, flip as Tt, shift as yt, autoUpdate as bt, useClick as St, useRole as wt, useDismiss as kt, useListNavigation as xt, useTypeahead as Et, useInteractions as vt, useMergeRefs as we, FloatingNode as It, FloatingList as At, FloatingPortal as Ht, FloatingFocusManager as Mt, FloatingTree as Rt } from "@floating-ui/react";
8
- const ie = ce.createContext({
9
- getItemProps: () => ({}),
10
- activeIndex: null,
11
- /* v8 ignore next 2 */
12
- setActiveIndex: () => {
13
- },
14
- setHasFocusInside: () => {
15
- },
16
- isOpen: !1
17
- }), he = (t) => {
18
- if (typeof t == "string")
19
- return t;
20
- if (typeof t == "function")
21
- return t.displayName || t.name || "Component";
22
- if (typeof t == "object" && t !== null && "type" in t) {
23
- const a = t.type;
24
- if (typeof a == "function" || typeof a == "object")
25
- return a.displayName || a.name || "Component";
26
- }
27
- return "Element";
28
- }, ke = Te(
29
- ({
30
- trigger: t,
31
- children: a,
32
- label: n = "Open menu",
33
- defaultPlacement: s = "bottom-start",
34
- onOpenChange: r,
35
- spacing: o,
36
- mode: i = "system",
37
- focusMode: u = "system",
38
- ...p
39
- }, d) => {
40
- const [l, C] = y(!1), [b, w] = y(!1), [h, x] = y(null), f = U([]), m = U([]), N = R(ie), T = be(), S = gt(), z = Se(), { floatingStyles: B, refs: J, context: H } = Ct({
41
- nodeId: S,
42
- open: l,
43
- onOpenChange: (P) => {
44
- C(P), r == null || r(P);
45
- },
46
- placement: s,
47
- strategy: "fixed",
48
- middleware: [Nt({ mainAxis: 10 }), Tt(), yt()],
49
- whileElementsMounted: bt
50
- }), q = St(H, {
51
- event: "mousedown",
52
- toggle: !0,
53
- ignoreMouse: !1
54
- }), V = wt(H, { role: "menu" }), ve = kt(H, { bubbles: !0 }), Ie = xt(H, {
55
- listRef: f,
56
- activeIndex: h,
57
- nested: !1,
58
- onNavigate: x,
59
- loop: !0
60
- }), Ae = Et(H, {
61
- listRef: m,
62
- onMatch: l ? x : void 0,
63
- activeIndex: h
64
- }), { getReferenceProps: He, getFloatingProps: Me, getItemProps: Re } = vt([q, V, ve, Ie, Ae]), Le = he(t) === "Button" || he(t) === "ButtonIcon", Oe = rt.cloneElement(t, {
65
- mode: i,
66
- focusMode: u,
67
- spacing: o,
68
- noInternalClick: Le,
69
- "aria-label": n,
70
- "data-open": l ? "" : void 0,
71
- "data-focus-inside": b ? "" : void 0,
72
- ref: we([J.setReference, z.ref, d]),
73
- ...He(
74
- N.getItemProps({
75
- ...p
76
- })
77
- )
78
- });
79
- return L(() => {
80
- if (!T)
81
- return;
82
- function P() {
83
- C(!1), r == null || r(!1);
84
- }
85
- return T.events.on("click", P), () => {
86
- T.events.off("click", P);
87
- };
88
- }, [T, r]), L(() => {
89
- l && T && T.events.emit("menuopen", { nodeId: S });
90
- }, [T, l, S]), /* @__PURE__ */ c(It, { id: S, children: [
91
- Oe,
92
- /* @__PURE__ */ e(
93
- ie.Provider,
94
- {
95
- value: {
96
- activeIndex: h,
97
- setActiveIndex: x,
98
- getItemProps: Re,
99
- setHasFocusInside: w,
100
- isOpen: l
101
- },
102
- children: /* @__PURE__ */ e(At, { elementsRef: f, labelsRef: m, children: l && /* @__PURE__ */ e(Ht, { children: /* @__PURE__ */ e(
103
- Mt,
104
- {
105
- context: H,
106
- modal: !1,
107
- initialFocus: 0,
108
- returnFocus: !0,
109
- children: /* @__PURE__ */ e(
110
- "div",
111
- {
112
- ref: J.setFloating,
113
- className: "rounded-md bg-surface-light p-4 shadow-sm shadow-border-dark outline-none sm:p-2",
114
- style: B,
115
- ...Me(),
116
- children: a
117
- }
118
- )
119
- }
120
- ) }) })
121
- }
122
- )
123
- ] });
124
- }
125
- ), xe = Te((t, a) => /* @__PURE__ */ e(Rt, { children: /* @__PURE__ */ e(ke, { ...t, ref: a }) }));
126
- xe.displayName = "Menu";
127
- ke.displayName = "MenuComponent";
128
- const O = ce.forwardRef(({ label: t, disabled: a, icon: n, ...s }, r) => {
129
- const o = ce.useContext(ie), i = Se({ label: a ? null : t }), u = be();
130
- return /* @__PURE__ */ c(
131
- "button",
132
- {
133
- ...s,
134
- ref: we([i.ref, r]),
135
- role: "menuitem",
136
- className: "m-0 flex w-full rounded-md border border-transparent bg-none px-3 py-2 text-left text-base outline-none focus:border focus:border-border-medium focus:bg-surface-lighter focus:underline disabled:cursor-not-allowed disabled:text-copy-medium sm:py-1",
137
- tabIndex: 0,
138
- disabled: a,
139
- ...o.getItemProps({
140
- onClick(p) {
141
- var d;
142
- (d = s.onClick) == null || d.call(s, p), u == null || u.events.emit("click");
143
- },
144
- onFocus(p) {
145
- var d;
146
- (d = s.onFocus) == null || d.call(s, p), o.setHasFocusInside(!0);
147
- }
148
- }),
149
- children: [
150
- n,
151
- t && /* @__PURE__ */ e("span", { className: "pl-2", children: t })
152
- ]
153
- }
154
- );
155
- });
156
- O.displayName = "MenuItem";
157
- const Lt = ({ className: t, ...a }) => {
158
- const n = v(t, "my-1 border-t border-border-medium");
159
- return /* @__PURE__ */ e("div", { className: n, ...a });
160
- }, Ot = ({
161
- className: t,
162
- viewBox: a,
163
- spacing: n,
164
- title: s,
165
- monotone: r,
166
- ...o
167
- }) => /* @__PURE__ */ e(
168
- dt,
169
- {
170
- defaultViewBox: "0 0 384 512",
171
- defaultClassName: "size-5",
172
- viewBox: a,
173
- className: t,
174
- spacing: n,
175
- title: s || "Close",
176
- ...o,
177
- children: /* @__PURE__ */ e("path", { d: "M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3l105.4 105.3c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256l105.3-105.4z" })
178
- }
179
- ), G = "panel", Q = "messagebox", Dt = ({
180
- className: t,
181
- kind: a,
182
- borderMode: n
183
- }) => ({
184
- main: v("prose prose-lighter flex flex-col bg-surface-medium", {
185
- [`${le} h-full min-h-[95%] sm:h-auto sm:min-h-[10rem] sm:rounded-lg sm:border-2`]: a === G,
186
- [`${le} w-full sm:w-[95%] md:max-w-2xl`]: a === G && !t,
187
- [`${de} rounded-lg border-2`]: a === Q,
188
- [`${de} w-[95%] sm:w-[50%] md:max-w-2xl`]: a === Q && !t,
189
- [`${t}`]: !!t,
190
- "sm:border-border-dark": n === "dark" && a === G,
191
- "sm:border-border-accent": n === "light" && a === G,
192
- "border-border-dark": n === "dark" && a === Q,
193
- "border-border-accent": n === "light" && a === Q
194
- }),
195
- content: "flex flex-grow flex-col py-2 sm:py-4 px-4",
196
- footer: "flex flex-grow flex-col p-4",
197
- header: "p-4 mb-0",
198
- close: "p-4"
199
- }), W = (t) => ct(
200
- () => import("./index.7JJYsiGN.fOXCGsQA.js").then((a) => ({
201
- default: a[t]
202
- }))
203
- ), _t = W("Modal"), zt = W("ModalClose"), Bt = W("ModalContent"), Vt = W("ModalDescription"), Pt = W("ModalHeading"), X = ({
204
- open: t,
205
- onOpenChange: a,
206
- title: n,
207
- children: s,
208
- footer: r,
209
- borderMode: o = "light",
210
- kind: i = G,
211
- className: u
212
- }) => {
213
- const p = U(""), d = Dt({ className: u, kind: i, borderMode: o });
214
- return L(() => (t && (p.current = document.title, document.title = `${n} | ${p.current}`), () => {
215
- t && (document.title = p.current);
216
- }), [n, t]), /* @__PURE__ */ e(ot, { fallback: /* @__PURE__ */ e("div", {}), children: t && /* @__PURE__ */ e(_t, { open: t, onOpenChange: a, children: /* @__PURE__ */ c(Bt, { className: d.main, children: [
217
- /* @__PURE__ */ c("div", { className: "flex flex-row-reverse items-center justify-between", children: [
218
- /* @__PURE__ */ e(
219
- zt,
220
- {
221
- className: d.close,
222
- trigger: /* @__PURE__ */ e(
223
- D,
224
- {
225
- mode: "dark",
226
- focusMode: "light",
227
- noBorder: !0,
228
- label: "Close",
229
- children: /* @__PURE__ */ e(Ot, {})
230
- }
231
- )
232
- }
233
- ),
234
- /* @__PURE__ */ e(Pt, { className: d.header, children: n })
235
- ] }),
236
- /* @__PURE__ */ e(Vt, { className: d.content, children: s }),
237
- r && /* @__PURE__ */ e("div", { className: d.footer, children: r })
238
- ] }) }) });
239
- }, Ft = () => v("peer", "h-6", "w-11", "rounded-full"), Gt = ({
240
- focusMode: t
241
- }) => v(
242
- "peer-focus:outline",
243
- "peer-focus:outline-2",
244
- "peer-focus:outline-offset-2",
245
- {
246
- "peer-focus:outline-focus-dark": t === "dark",
247
- "peer-focus:outline-focus-light": t === "light",
248
- "peer-focus:outline-focus-light dark:peer-focus:outline-focus-dark": t === "alt-system",
249
- "peer-focus:outline-focus-dark dark:peer-focus:outline-focus-light": t === "system"
250
- }
251
- ), $t = () => v(
252
- "peer-checked:after:translate-x-full",
253
- // background color when checked
254
- "peer-checked:bg-violet-500",
255
- // knob circle and border color when checked
256
- "peer-checked:after:bg-white",
257
- "peer-checked:after:border-white"
258
- ), Ut = () => v(
259
- "after:left-[2px]",
260
- "after:top-[2px]",
261
- "after:border",
262
- "after:border-surface-light dark:after:border-surface-medium",
263
- "after:bg-surface-light dark:after:bg-surface-medium",
264
- "after:absolute",
265
- "after:h-5",
266
- "after:w-5",
267
- "after:rounded-full",
268
- "after:transition-all",
269
- "after:content-['']"
270
- ), jt = ({
271
- mode: t,
272
- noBorder: a
273
- }) => v({
274
- border: !a,
275
- "border-border-dark bg-surface-medium": t === "light",
276
- "border-border-light bg-surface-darker": t === "dark",
277
- "border-border-light bg-surface-darker dark:border-border-dark dark:bg-surface-medium": t === "alt-system",
278
- "border-border-dark bg-surface-medium dark:border-border-light dark:bg-surface-darker": t === "system"
279
- }), Yt = ({
280
- mode: t,
281
- labelHidden: a
282
- }) => a ? "sr-only" : v("ml-2 text-sm", {
283
- "text-copy-dark": t === "light",
284
- "text-copy-lighter": t === "dark",
285
- "text-copy-lighter dark:text-copy-dark": t === "alt-system",
286
- "text-copy-dark dark:text-copy-lighter": t === "system"
287
- }), Kt = ({ spacing: t }) => v(
288
- De,
289
- "relative flex cursor-pointer items-center",
290
- _e(t)
291
- ), Wt = ({
292
- mode: t,
293
- focusMode: a,
294
- labelHidden: n,
295
- spacing: s,
296
- noBorder: r
297
- }) => ({
298
- toggle: v(
299
- Ft(),
300
- jt({ mode: t, noBorder: r }),
301
- Gt({ focusMode: a }),
302
- Ut(),
303
- $t()
304
- ),
305
- label: Yt({ mode: t, labelHidden: n }),
306
- input: "peer sr-only",
307
- wrapper: Kt({ spacing: s })
308
- }), Xt = ({
309
- checked: t = !1,
310
- onChange: a,
311
- label: n,
312
- labelHidden: s = !1,
313
- name: r,
314
- mode: o = "system",
315
- focusMode: i = "system",
316
- spacing: u,
317
- noBorder: p = !1
318
- }) => {
319
- const d = Wt({
320
- mode: o,
321
- focusMode: i,
322
- labelHidden: s,
323
- spacing: u,
324
- noBorder: p
325
- }), l = (C) => {
326
- a == null || a(C.target.checked);
327
- };
328
- return /* @__PURE__ */ c("label", { className: d.wrapper, children: [
329
- /* @__PURE__ */ e(
330
- "input",
331
- {
332
- name: r,
333
- checked: t,
334
- type: "checkbox",
335
- className: d.input,
336
- onChange: l
337
- }
338
- ),
339
- /* @__PURE__ */ e("div", { className: d.toggle }),
340
- /* @__PURE__ */ e("span", { className: d.label, children: n })
341
- ] });
342
- }, Jt = ({
343
- className: t,
344
- viewBox: a,
345
- spacing: n,
346
- title: s,
347
- monotone: r,
348
- ...o
349
- }) => /* @__PURE__ */ c(
350
- A,
351
- {
352
- defaultViewBox: "0 0 512 512",
353
- defaultClassName: "size-5",
354
- viewBox: a,
355
- className: t,
356
- spacing: n,
357
- title: s || "Back",
358
- ...o,
359
- children: [
360
- /* @__PURE__ */ e(
361
- "path",
362
- {
363
- opacity: r ? "1" : "0.4",
364
- d: "M288.4 93.4c2.9-17.4 19.4-29.2 36.9-26.3C431.3 84.9 512 177 512 288c0 123.7-100.3 224-224 224C177 512 84.9 431.3 67.1 325.3c-2.9-17.4 8.8-33.9 26.3-36.9s33.9 8.8 36.9 26.3C142.9 390.4 208.8 448 288 448c88.4 0 160-71.6 160-160c0-79.2-57.6-145.1-133.3-157.8c-17.4-2.9-29.2-19.4-26.3-36.9z"
365
- }
366
- ),
367
- /* @__PURE__ */ e("path", { d: "M32 0H192c17.7 0 32 14.3 32 32s-14.3 32-32 32H109.3L342.6 297.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L64 109.3V192c0 17.7-14.3 32-32 32s-32-14.3-32-32V32C0 14.3 14.3 0 32 0z" })
368
- ]
369
- }
370
- ), qt = ({
371
- className: t,
372
- viewBox: a,
373
- spacing: n,
374
- title: s,
375
- monotone: r,
376
- ...o
377
- }) => /* @__PURE__ */ c(
378
- A,
379
- {
380
- defaultViewBox: "0 0 448 512",
381
- defaultClassName: "size-5",
382
- viewBox: a,
383
- className: t,
384
- spacing: n,
385
- title: s || "Chart",
386
- ...o,
387
- children: [
388
- /* @__PURE__ */ e(
389
- "path",
390
- {
391
- opacity: r ? "1" : "0.4",
392
- d: "M160 80c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V80z"
393
- }
394
- ),
395
- /* @__PURE__ */ e("path", { d: "M368 96c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H368zM48 224c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48H80c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48H48z" })
396
- ]
397
- }
398
- ), Qt = ({
399
- className: t,
400
- viewBox: a,
401
- spacing: n,
402
- title: s,
403
- monotone: r,
404
- ...o
405
- }) => /* @__PURE__ */ c(
406
- A,
407
- {
408
- defaultViewBox: "0 0 448 512",
409
- defaultClassName: "size-5",
410
- viewBox: a,
411
- className: t,
412
- spacing: n,
413
- title: s || "Delete",
414
- ...o,
415
- children: [
416
- /* @__PURE__ */ e(
417
- "path",
418
- {
419
- opacity: r ? "1" : "0.4",
420
- d: "M416 96H32V448c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V96zM144 176V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16z"
421
- }
422
- ),
423
- /* @__PURE__ */ e("path", { d: "M163.8 0c-12.1 0-23.2 6.8-28.6 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8z" })
424
- ]
425
- }
426
- ), Zt = ({
427
- className: t,
428
- viewBox: a,
429
- spacing: n,
430
- title: s,
431
- monotone: r,
432
- ...o
433
- }) => /* @__PURE__ */ c(
434
- A,
435
- {
436
- defaultViewBox: "0 0 512 512",
437
- defaultClassName: "size-5",
438
- viewBox: a,
439
- className: t,
440
- spacing: n,
441
- title: s || "History",
442
- ...o,
443
- children: [
444
- /* @__PURE__ */ e(
445
- "path",
446
- {
447
- opacity: r ? "1" : "0.4",
448
- d: "M120.2 120.2C155 85.5 203 64 256 64c106 0 192 86 192 192s-86 192-192 192c-40.8 0-78.6-12.7-109.7-34.4c-14.5-10.1-34.4-6.6-44.6 7.9s-6.6 34.4 7.9 44.6C151.2 495 201.7 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C185.3 0 121.3 28.7 75 75L41 41C25.9 25.9 0 36.6 0 57.9V168c0 13.3 10.7 24 24 24H134.1c21.4 0 32.1-25.9 17-41l-30.8-30.8z"
449
- }
450
- ),
451
- /* @__PURE__ */ e("path", { d: "M256 128c13.3 0 24 10.7 24 24v94.1l65 65c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-72-72c-4.5-4.5-7-10.6-7-17V152c0-13.3 10.7-24 24-24z" })
452
- ]
453
- }
454
- ), ea = ({
455
- className: t,
456
- viewBox: a,
457
- spacing: n,
458
- title: s,
459
- monotone: r,
460
- ...o
461
- }) => /* @__PURE__ */ c(
462
- A,
463
- {
464
- defaultViewBox: "0 0 512 512",
465
- defaultClassName: "size-5",
466
- viewBox: a,
467
- className: t,
468
- spacing: n,
469
- title: s || "Info",
470
- ...o,
471
- children: [
472
- /* @__PURE__ */ e(
473
- "path",
474
- {
475
- opacity: "0.4",
476
- d: "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"
477
- }
478
- ),
479
- /* @__PURE__ */ e("path", { d: "M256 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM192 248c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h24V272H216c-13.3 0-24-10.7-24-24z" })
480
- ]
481
- }
482
- ), ta = ({
483
- className: t,
484
- viewBox: a,
485
- spacing: n,
486
- title: s,
487
- monotone: r,
488
- ...o
489
- }) => /* @__PURE__ */ c(
490
- A,
491
- {
492
- defaultViewBox: "0 0 576 512",
493
- defaultClassName: "size-5",
494
- viewBox: a,
495
- className: t,
496
- spacing: n,
497
- title: s || "Profile",
498
- ...o,
499
- children: [
500
- /* @__PURE__ */ e(
501
- "path",
502
- {
503
- opacity: "0.4",
504
- d: "M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm80 256h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm256-32H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16z"
505
- }
506
- ),
507
- /* @__PURE__ */ e("path", { d: "M176 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H272c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H144z" })
508
- ]
509
- }
510
- ), pe = ({
511
- className: t,
512
- viewBox: a,
513
- spacing: n,
514
- title: s,
515
- monotone: r,
516
- ...o
517
- }) => /* @__PURE__ */ c(
518
- A,
519
- {
520
- defaultViewBox: "0 0 512 512",
521
- defaultClassName: "size-5",
522
- viewBox: a,
523
- className: t,
524
- spacing: n,
525
- title: s || "Refresh",
526
- ...o,
527
- children: [
528
- /* @__PURE__ */ e(
529
- "path",
530
- {
531
- className: "fa-secondary",
532
- opacity: r ? "1" : "0.4",
533
- d: "M80 396.9V448c0 17.7-14.3 32-32 32s-32-14.3-32-32V320c0-17.7 14.3-32 32-32H176c17.7 0 32 14.3 32 32s-14.3 32-32 32H125.6l17.2 17.1c62.5 62.5 163.8 62.5 226.3 0c17.5-17.5 30.1-38 37.8-59.8c5.9-16.7 24.2-25.4 40.8-19.5s25.4 24.2 19.5 40.8c-10.8 30.6-28.4 59.3-52.9 83.8c-87.5 87.5-229.3 87.5-316.7 0L80 396.9z"
534
- }
535
- ),
536
- /* @__PURE__ */ e(
537
- "path",
538
- {
539
- className: "fa-primary",
540
- d: "M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0L386.3 160H336c-17.7 0-32 14.3-32 32s14.3 32 32 32H463.5c0 0 0 0 0 0h.4c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5z"
541
- }
542
- )
543
- ]
544
- }
545
- ), aa = ({
546
- className: t,
547
- viewBox: a,
548
- spacing: n,
549
- title: s,
550
- monotone: r,
551
- ...o
552
- }) => /* @__PURE__ */ c(
553
- A,
554
- {
555
- defaultViewBox: "0 0 512 512",
556
- defaultClassName: "size-5",
557
- viewBox: a,
558
- className: t,
559
- spacing: n,
560
- title: s || "Restore",
561
- ...o,
562
- children: [
563
- /* @__PURE__ */ e(
564
- "path",
565
- {
566
- opacity: r ? "1" : "0.4",
567
- d: "M208 64H432c8.8 0 16 7.2 16 16V304c0 8.8-7.2 16-16 16H416v64h16c44.2 0 80-35.8 80-80V80c0-44.2-35.8-80-80-80H208c-44.2 0-80 35.8-80 80V96h64V80c0-8.8 7.2-16 16-16z"
568
- }
569
- ),
570
- /* @__PURE__ */ e("path", { d: "M64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H64zm32 64H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32s14.3-32 32-32z" })
571
- ]
572
- }
573
- ), na = ({
574
- className: t,
575
- viewBox: a,
576
- spacing: n,
577
- title: s,
578
- monotone: r,
579
- ...o
580
- }) => /* @__PURE__ */ e(
581
- A,
582
- {
583
- defaultViewBox: "0 0 448 512",
584
- defaultClassName: "size-5",
585
- viewBox: a,
586
- className: t,
587
- spacing: n,
588
- title: s || "Settings",
589
- ...o,
590
- children: /* @__PURE__ */ e("path", { d: "M8 256a56 56 0 1 1 112 0A56 56 0 1 1 8 256zm160 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm216-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z" })
591
- }
592
- );
593
- function j(t) {
594
- return it();
595
- }
596
- const sa = ({ stats: t }) => {
597
- const a = (t == null ? void 0 : t.plugins) || [], n = (t == null ? void 0 : t.version) || "", s = (t == null ? void 0 : t.models) || [], r = j(), o = j();
598
- return /* @__PURE__ */ c(k, { children: [
599
- /* @__PURE__ */ e("div", { className: "mb-4", children: /* @__PURE__ */ e(
600
- _,
601
- {
602
- header: g.ABOUT.TITLE_CLIENT,
603
- className: "prose-dark dark:prose-lighter",
604
- children: $(r, {
605
- [g.ABOUT.VERSION]: "4.0.5",
606
- [g.ABOUT.BUILD_TIMESTAMP]: "08/31/2024 06:21 PM EDT"
607
- })
608
- }
609
- ) }),
610
- /* @__PURE__ */ e(
611
- _,
612
- {
613
- header: g.ABOUT.TITLE_SERVER,
614
- className: "prose-dark dark:prose-lighter",
615
- children: $(o, {
616
- [g.ABOUT.VERSION]: n,
617
- [Z(g.ABOUT.ENGINE, s.length)]: /* @__PURE__ */ e(k, { children: s.map((i) => /* @__PURE__ */ e("div", { className: "text-right", children: i }, i)) }),
618
- [Z(g.ABOUT.PLUGIN, a.length)]: /* @__PURE__ */ e(k, { children: a.map((i) => /* @__PURE__ */ e("div", { className: "text-right", children: i }, i)) })
619
- })
620
- }
621
- )
622
- ] });
623
- }, ra = ({
624
- open: t,
625
- onOpenChange: a
626
- }) => {
627
- const { serverStats: n } = R(K);
628
- return /* @__PURE__ */ e(X, { open: t, onOpenChange: a, title: ze, children: /* @__PURE__ */ e(sa, { stats: n }) });
629
- }, oa = (t) => Ce(t), ca = (t) => {
630
- if (!t || t.length === 0)
631
- return Pe;
632
- const a = t.filter(
633
- (n) => {
634
- var s, r;
635
- return ((s = n == null ? void 0 : n.message) == null ? void 0 : s.role) === Fe && typeof ((r = n == null ? void 0 : n.message) == null ? void 0 : r.processingTime) == "number";
636
- }
637
- ).map((n) => n.message.processingTime);
638
- return Ge({
639
- data: a,
640
- formatter: oa
641
- });
642
- }, ia = ({
643
- isAuthenticated: t,
644
- stats: a
645
- }) => {
646
- const { state: n } = R(K), s = $e - Number(n == null ? void 0 : n.usage), r = j(), o = j();
647
- return t ? /* @__PURE__ */ c(k, { children: [
648
- n && n.messages.length > 0 && /* @__PURE__ */ e("div", { className: "mb-4", children: /* @__PURE__ */ e(
649
- _,
650
- {
651
- header: g.CURRENT_STATISTICS.TITLE,
652
- className: "prose-dark dark:prose-lighter",
653
- children: $(r, {
654
- [g.CURRENT_STATISTICS.MODEL_NAME]: (n == null ? void 0 : n.model) || Be,
655
- [g.CURRENT_STATISTICS.TOKENS_USED]: n == null ? void 0 : n.usage,
656
- [g.CURRENT_STATISTICS.REMAINING_TOKENS]: Ve.format(s),
657
- [g.CURRENT_STATISTICS.PROCESSING_TIME]: ca(n == null ? void 0 : n.messages)
658
- })
659
- }
660
- ) }),
661
- /* @__PURE__ */ e(
662
- _,
663
- {
664
- header: g.MAIN_STATISTICS.TITLE,
665
- className: "prose-dark dark:prose-lighter",
666
- children: $(o, {
667
- [Z(g.MAIN_STATISTICS.TOTAL, a.totalChats)]: a.totalChats,
668
- [g.MAIN_STATISTICS.PROCESSING_TIME]: Ce(
669
- a.averageProcessingTimes
670
- )
671
- })
672
- }
673
- )
674
- ] }) : null;
675
- }, la = ({
676
- open: t,
677
- onOpenChange: a
678
- }) => {
679
- const [n, s] = y({
680
- averageProcessingTimes: 0,
681
- totalChats: 0
682
- }), { isAuthenticated: r, getAccessToken: o, user: i } = Y();
683
- return L(() => {
684
- !t || !i || (async () => {
685
- try {
686
- const u = await ne({
687
- accessToken: await o(),
688
- type: se.GET_CHATS_STATS,
689
- params: {
690
- userId: i.username
691
- }
692
- });
693
- u.status === 200 && s(u.data);
694
- } catch {
695
- }
696
- })();
697
- }, [t, o, i]), /* @__PURE__ */ e(X, { open: t, onOpenChange: a, title: Ne, children: /* @__PURE__ */ e(ia, { isAuthenticated: r, stats: n }) });
698
- }, Ee = ({
699
- showConfirmation: t,
700
- setShowConfirmation: a,
701
- action: n,
702
- children: s,
703
- customStrings: r
704
- }) => /* @__PURE__ */ e(
705
- X,
706
- {
707
- kind: "messagebox",
708
- open: t,
709
- onOpenChange: a,
710
- title: r.title,
711
- footer: /* @__PURE__ */ c(F, { columnGap: 2, alignHorizontal: "flex-end", children: [
712
- /* @__PURE__ */ e(E, { children: /* @__PURE__ */ e(
713
- ee,
714
- {
715
- mode: "dark",
716
- variant: "secondary",
717
- focusMode: "light",
718
- onClick: () => {
719
- a(!1);
720
- },
721
- children: r.cancelAction
722
- }
723
- ) }),
724
- /* @__PURE__ */ e(E, { children: /* @__PURE__ */ e(
725
- ee,
726
- {
727
- mode: "dark",
728
- variant: "danger",
729
- focusMode: "light",
730
- onClick: () => {
731
- a(!1), n();
732
- },
733
- children: r.confirmAction
734
- }
735
- ) })
736
- ] }),
737
- children: s
738
- }
739
- );
740
- var da = typeof window < "u", ma = function(t, a) {
741
- return da ? window.matchMedia(t).matches : (process.env.NODE_ENV !== "production" && console.warn("`useMedia` When server side rendering, defaultState should be defined to prevent a hydration mismatches."), !1);
742
- }, ua = function(t, a) {
743
- var n = y(ma(t)), s = n[0], r = n[1];
744
- return L(function() {
745
- var o = !0, i = window.matchMedia(t), u = function() {
746
- o && r(!!i.matches);
747
- };
748
- return i.addEventListener("change", u), r(i.matches), function() {
749
- o = !1, i.removeEventListener("change", u);
750
- };
751
- }, [t]), s;
752
- };
753
- const ha = async (t, a, n, s) => {
754
- try {
755
- const r = await ne({
756
- accessToken: s,
757
- type: se.GET_CHAT,
758
- params: {
759
- id: t.id
760
- }
761
- });
762
- r.status === 200 && (a({
763
- type: je
764
- }), a({
765
- type: Ye,
766
- payload: {
767
- id: t.id,
768
- model: r.data.model,
769
- usage: r.data.usage,
770
- messages: r.data.messages
771
- }
772
- }), n(!1));
773
- } catch {
774
- }
775
- }, fe = (t) => {
776
- const a = t[0];
777
- return Ke(a == null ? void 0 : a.content, 100);
778
- }, pa = ({
779
- filteredHistory: t,
780
- setFilteredHistory: a,
781
- dispatch: n,
782
- onOpenChange: s
783
- }) => {
784
- var f;
785
- const { user: r, getAccessToken: o } = Y(), i = U({
786
- id: 0,
787
- timestamp: "",
788
- message: ""
789
- }), [u, p] = y(!1), d = ua("(min-width: 480px)"), { state: l, dispatch: C } = R(ye), [, b] = ae({
790
- key: te + Ue,
791
- initialValue: l.sortDirection
792
- }), w = t.data.sort(
793
- (m, N) => {
794
- switch (l.sortedCell) {
795
- case "timestamp":
796
- if (l.sortDirection === I.ASC)
797
- return new Date(m[l.sortedCell]).getTime() - new Date(N[l.sortedCell]).getTime();
798
- if (l.sortDirection === I.DESC)
799
- return new Date(N[l.sortedCell]).getTime() - new Date(m[l.sortedCell]).getTime();
800
- break;
801
- default:
802
- return 0;
803
- }
804
- return 0;
805
- }
806
- ), h = (m) => {
807
- switch (l.sortDirection) {
808
- case !1:
809
- b(I.ASC), C({
810
- type: re,
811
- payload: {
812
- sortedCell: m,
813
- sortDirection: I.ASC
814
- }
815
- });
816
- break;
817
- case I.ASC:
818
- b(I.DESC), C({
819
- type: re,
820
- payload: {
821
- sortedCell: m,
822
- sortDirection: I.DESC
823
- }
824
- });
825
- break;
826
- default:
827
- b(I.ASC), C({
828
- type: re,
829
- payload: {
830
- sortedCell: m,
831
- sortDirection: I.ASC
832
- }
833
- });
834
- break;
835
- }
836
- };
837
- return /* @__PURE__ */ c(k, { children: [
838
- /* @__PURE__ */ c(
839
- Ee,
840
- {
841
- showConfirmation: u,
842
- setShowConfirmation: p,
843
- action: async () => {
844
- const m = i.current;
845
- try {
846
- const N = await ne({
847
- accessToken: await o(),
848
- type: se.DELETE_CHAT,
849
- params: {
850
- userId: (r == null ? void 0 : r.username) || "",
851
- id: m.id
852
- }
853
- });
854
- N.status === 200 && a({ data: N.data });
855
- } catch {
856
- }
857
- },
858
- customStrings: {
859
- confirmAction: "Delete",
860
- cancelAction: "Cancel",
861
- title: "Delete chat"
862
- },
863
- children: [
864
- /* @__PURE__ */ e("p", { className: "m-0", children: "Are you sure you want to delete the following chat:" }),
865
- /* @__PURE__ */ c("ul", { className: "m-0", children: [
866
- /* @__PURE__ */ c("li", { children: [
867
- "Timestamp:",
868
- " ",
869
- /* @__PURE__ */ e("span", { className: "text-lg", children: i.current && i.current.timestamp })
870
- ] }),
871
- /* @__PURE__ */ c("li", { children: [
872
- "First message:",
873
- " ",
874
- /* @__PURE__ */ e("span", { className: "text-lg", children: (f = i.current) == null ? void 0 : f.message })
875
- ] })
876
- ] })
877
- ]
878
- }
879
- ),
880
- /* @__PURE__ */ c(mt, { stickyHeader: !0, stickyFooter: !0, wrapperClassName: "max-h-[60vh]", children: [
881
- /* @__PURE__ */ e(ut, { children: /* @__PURE__ */ c(oe, { children: [
882
- d && /* @__PURE__ */ e(M, { className: "sr-only", children: "Row" }),
883
- /* @__PURE__ */ e(
884
- ht,
885
- {
886
- cellId: "timestamp",
887
- align: "left",
888
- sortDirection: l.sortDirection,
889
- sortedCell: l.sortedCell,
890
- onClick: () => {
891
- h("timestamp");
892
- },
893
- children: "Date"
894
- }
895
- ),
896
- /* @__PURE__ */ e(M, { children: "First message" }),
897
- /* @__PURE__ */ e(M, { className: "text-right", children: "Actions" })
898
- ] }) }),
899
- /* @__PURE__ */ e(pt, { children: w.map((m, N) => {
900
- var T;
901
- return ((T = m == null ? void 0 : m.messages) == null ? void 0 : T.length) > 0 ? /* @__PURE__ */ c(oe, { children: [
902
- d && /* @__PURE__ */ e(M, { children: N + 1 }),
903
- /* @__PURE__ */ e(
904
- M,
905
- {
906
- component: "th",
907
- scope: "row",
908
- className: "font-medium text-gray-400 sm:whitespace-nowrap",
909
- children: m.timestamp
910
- }
911
- ),
912
- /* @__PURE__ */ e(M, { className: "max-w-[100px] text-white sm:max-w-full", children: fe(m.messages) }),
913
- /* @__PURE__ */ e(M, { children: /* @__PURE__ */ c("div", { className: "flex justify-end gap-2", children: [
914
- /* @__PURE__ */ e(
915
- D,
916
- {
917
- focusMode: "alt-system",
918
- noBorder: !0,
919
- label: "Restore chat",
920
- onClick: async () => {
921
- const S = await o();
922
- ha(
923
- m,
924
- n,
925
- s,
926
- S
927
- );
928
- },
929
- children: /* @__PURE__ */ e(aa, { className: "h-3 w-3", monotone: !0 })
930
- }
931
- ),
932
- /* @__PURE__ */ e(
933
- D,
934
- {
935
- focusMode: "alt-system",
936
- noBorder: !0,
937
- label: "Delete chat",
938
- onClick: () => {
939
- i.current = {
940
- id: m.id,
941
- timestamp: m.timestamp,
942
- message: fe(m.messages)
943
- }, p(!u);
944
- },
945
- children: /* @__PURE__ */ e("div", { className: "text-red-400", children: /* @__PURE__ */ e(Qt, { className: "h-3 w-3", monotone: !0 }) })
946
- }
947
- )
948
- ] }) })
949
- ] }, `${g.HISTORY.TITLE}-${m.id}-${N}`) : null;
950
- }) }),
951
- /* @__PURE__ */ e(ft, { children: /* @__PURE__ */ e(oe, { children: /* @__PURE__ */ e(M, { colSpan: 4, children: /* @__PURE__ */ e("div", { children: Z(
952
- `${t.data.length} chat`,
953
- t.data.length
954
- ) }) }) }) })
955
- ] })
956
- ] });
957
- };
958
- function ge(t, a) {
959
- return a ? t.filter(
960
- (n) => n.messages.some(
961
- (s) => s.content !== null && s.content.toLowerCase().includes(a.toLowerCase())
962
- )
963
- ) : t;
964
- }
965
- const fa = ({
966
- onOpenChange: t,
967
- historyData: a
968
- }) => {
969
- const { isAuthenticated: n } = Y(), s = U(null), { dispatch: r } = R(K), { state: o, dispatch: i } = R(ye), [, u] = ae({
970
- key: te + We,
971
- initialValue: o.searchString
972
- }), p = lt(() => a, [a]), [d, l] = y({
973
- data: p
974
- }), C = (h) => {
975
- const x = ge(p, h);
976
- l({
977
- data: x
978
- }), u(h), i({
979
- type: Je,
980
- payload: { searchString: h }
981
- });
982
- }, b = (h) => {
983
- C(h.target.value);
984
- }, w = async (h) => {
985
- h.preventDefault();
986
- };
987
- return L(() => {
988
- const h = ge(
989
- a,
990
- o.searchString
991
- );
992
- l({
993
- data: h
994
- });
995
- }, [a, o.searchString]), n ? d && d.data && /* @__PURE__ */ c(k, { children: [
996
- /* @__PURE__ */ e("form", { autoComplete: "off", onSubmit: w, children: /* @__PURE__ */ e(
997
- Xe,
998
- {
999
- ref: s,
1000
- defaultValue: o.searchString,
1001
- focusMode: "light",
1002
- name: "Search",
1003
- label: "Search",
1004
- onChange: b,
1005
- spacing: { t: 2, b: 2 },
1006
- ...o.searchString && {
1007
- rightElement: /* @__PURE__ */ e(
1008
- ee,
1009
- {
1010
- disabled: !o.searchString,
1011
- mode: "dark",
1012
- noBorder: !0,
1013
- size: "small",
1014
- onClick: () => {
1015
- var h;
1016
- C(""), (h = s.current) != null && h.value && (s.current.value = "", s.current.focus());
1017
- },
1018
- children: "Reset"
1019
- }
1020
- )
1021
- }
1022
- }
1023
- ) }),
1024
- /* @__PURE__ */ e("div", { className: "flex flex-col gap-2 sm:flex-row", children: /* @__PURE__ */ e(
1025
- pa,
1026
- {
1027
- filteredHistory: d,
1028
- setFilteredHistory: l,
1029
- dispatch: r,
1030
- onOpenChange: t
1031
- }
1032
- ) })
1033
- ] }) : null;
1034
- }, ga = ({
1035
- open: t,
1036
- onOpenChange: a,
1037
- historyData: n
1038
- }) => /* @__PURE__ */ e(X, { open: t, onOpenChange: a, title: qe, children: /* @__PURE__ */ e(fa, { onOpenChange: a, historyData: n }) }), Ca = () => {
1039
- const { isAuthenticated: t, user: a, registeringForPasskey: n } = Y(), [s, r] = ae({
1040
- key: te + Qe,
1041
- initialValue: !1
1042
- }), [, o, i] = ae({
1043
- key: te + Ze,
1044
- initialValue: { latitude: 0, longitude: 0, accuracy: 0 }
1045
- }), [u, p] = y(!0), d = j(), { state: l, dispatch: C } = R(K), b = (a == null ? void 0 : a.username) || "", w = (f) => {
1046
- r(f);
1047
- }, h = async () => {
1048
- p(!1), i(), C({
1049
- type: me,
1050
- payload: {
1051
- location: {
1052
- latitude: 0,
1053
- longitude: 0,
1054
- accuracy: 0
1055
- }
1056
- }
1057
- });
1058
- const f = await tt();
1059
- o(f), C({
1060
- type: me,
1061
- payload: {
1062
- location: f
1063
- }
1064
- });
1065
- };
1066
- L(() => {
1067
- let f;
1068
- return u || (f = window.setTimeout(() => {
1069
- p(!0);
1070
- }, 3e3)), () => {
1071
- clearTimeout(f);
1072
- };
1073
- }, [u]);
1074
- const x = (f) => {
1075
- const { city: m, state: N, country: T, displayName: S } = f || {};
1076
- if (m && T && N || S)
1077
- return /* @__PURE__ */ e(k, { children: /* @__PURE__ */ c(F, { alignVertical: "center", columnGap: 4, children: [
1078
- /* @__PURE__ */ e(E, { children: m && N && T ? /* @__PURE__ */ c("div", { className: "mt-2", children: [
1079
- /* @__PURE__ */ c("div", { className: "text-right", children: [
1080
- m,
1081
- ", ",
1082
- N
1083
- ] }),
1084
- /* @__PURE__ */ e("div", { className: "text-right", children: T })
1085
- ] }) : S ? /* @__PURE__ */ e("div", { className: "mt-2 text-right", children: S }) : null }),
1086
- /* @__PURE__ */ e(E, { children: /* @__PURE__ */ e(
1087
- D,
1088
- {
1089
- disabled: !u,
1090
- size: "small",
1091
- className: "mt-2",
1092
- onClick: h,
1093
- children: /* @__PURE__ */ e(pe, { className: "size-3", monotone: !0 })
1094
- }
1095
- ) })
1096
- ] }) });
1097
- const z = at(f == null ? void 0 : f.latitude), B = nt(f == null ? void 0 : f.longitude);
1098
- return /* @__PURE__ */ e(k, { children: /* @__PURE__ */ c(F, { alignVertical: "center", columnGap: 4, children: [
1099
- /* @__PURE__ */ c(E, { children: [
1100
- /* @__PURE__ */ e("div", { children: z }),
1101
- /* @__PURE__ */ e("div", { children: B })
1102
- ] }),
1103
- /* @__PURE__ */ e(E, { children: /* @__PURE__ */ e(D, { size: "small", onClick: h, children: /* @__PURE__ */ e(pe, { className: "size-3", monotone: !0 }) }) })
1104
- ] }) });
1105
- };
1106
- return t && b ? /* @__PURE__ */ c(k, { children: [
1107
- /* @__PURE__ */ e(
1108
- _,
1109
- {
1110
- header: g.PREFERENCES.TITLE,
1111
- className: "prose-dark dark:prose-lighter",
1112
- children: $(d, {
1113
- [g.PREFERENCES.NAME]: b,
1114
- [g.PREFERENCES.ENGINE_DETAILS]: /* @__PURE__ */ e(
1115
- Xt,
1116
- {
1117
- noBorder: !0,
1118
- labelHidden: !0,
1119
- label: g.PREFERENCES.ENGINE_DETAILS,
1120
- name: g.PREFERENCES.ENGINE_DETAILS,
1121
- onChange: w,
1122
- checked: s
1123
- }
1124
- ),
1125
- [g.PREFERENCES.LOCATION]: x(l == null ? void 0 : l.location)
1126
- })
1127
- }
1128
- ),
1129
- /* @__PURE__ */ e(
1130
- _,
1131
- {
1132
- spacing: { t: 4 },
1133
- className: "prose-dark dark:prose-lighter",
1134
- header: /* @__PURE__ */ e("h2", { className: "m-0", children: /* @__PURE__ */ c(F, { columnGap: 3, alignVertical: "center", children: [
1135
- /* @__PURE__ */ e(E, { children: /* @__PURE__ */ e(et, { className: "size-8 text-center" }) }),
1136
- /* @__PURE__ */ e(E, { children: /* @__PURE__ */ e("div", { children: "Passkey" }) })
1137
- ] }) }),
1138
- children: /* @__PURE__ */ c(F, { columnGap: 3, alignVertical: "center", children: [
1139
- /* @__PURE__ */ e(E, { children: "Sign in without a password using a passkey (face or fingerprint sign-in)." }),
1140
- /* @__PURE__ */ e(E, { children: /* @__PURE__ */ e(ee, { spacing: { t: 2 }, onClick: n, children: "Create a Passkey" }) })
1141
- ] })
1142
- }
1143
- )
1144
- ] }) : null;
1145
- }, Na = ({
1146
- open: t,
1147
- onOpenChange: a
1148
- }) => /* @__PURE__ */ e(X, { open: t, onOpenChange: a, title: st, children: /* @__PURE__ */ e(Ca, {}) }), xa = () => {
1149
- const { state: t } = R(K), [a, n] = y(!1), [s, r] = y(!1), [o, i] = y(!1), [u, p] = y(!1), [d, l] = y([]), [C, b] = y(!1), [w, h] = y({
1150
- done: !1,
1151
- progress: !1,
1152
- timestamp: Date.now()
1153
- }), { logout: x, getAccessToken: f, user: m } = Y(), N = () => {
1154
- n(!a);
1155
- }, T = () => {
1156
- r(!s);
1157
- }, S = () => {
1158
- i(!o);
1159
- }, z = () => {
1160
- p(!u);
1161
- }, B = async (H) => {
1162
- const q = Date.now();
1163
- if (H && !(!m || !t || w.progress || w.done === !0 && q - w.timestamp < 5e3)) {
1164
- h({
1165
- done: !0,
1166
- progress: !0,
1167
- timestamp: q
1168
- });
1169
- try {
1170
- const V = await ne({
1171
- accessToken: await f(),
1172
- type: se.GET_CHATS,
1173
- params: {
1174
- userId: m.username
1175
- }
1176
- });
1177
- V.status === 200 && (l(V.data), h({
1178
- done: !0,
1179
- progress: !1,
1180
- timestamp: Date.now()
1181
- }));
1182
- } catch {
1183
- h({
1184
- done: !0,
1185
- progress: !1,
1186
- timestamp: Date.now()
1187
- });
1188
- }
1189
- }
1190
- }, J = () => {
1191
- b(!C);
1192
- };
1193
- return /* @__PURE__ */ c(k, { children: [
1194
- /* @__PURE__ */ e(
1195
- Ee,
1196
- {
1197
- showConfirmation: C,
1198
- setShowConfirmation: b,
1199
- action: x,
1200
- customStrings: {
1201
- confirmAction: ue,
1202
- cancelAction: "Cancel",
1203
- title: ue
1204
- },
1205
- children: /* @__PURE__ */ e("p", { children: "Are you sure you want to log out?" })
1206
- }
1207
- ),
1208
- /* @__PURE__ */ e(Na, { open: a, onOpenChange: n }),
1209
- /* @__PURE__ */ e(la, { open: s, onOpenChange: r }),
1210
- /* @__PURE__ */ e(
1211
- ga,
1212
- {
1213
- open: o,
1214
- onOpenChange: i,
1215
- historyData: d
1216
- }
1217
- ),
1218
- /* @__PURE__ */ e(ra, { open: u, onOpenChange: p }),
1219
- /* @__PURE__ */ e("div", { className: "relative", children: /* @__PURE__ */ e("div", { className: "absolute bottom-[-28px] right-[-7px]", children: /* @__PURE__ */ c(
1220
- xe,
1221
- {
1222
- mode: "dark",
1223
- focusMode: "light",
1224
- trigger: /* @__PURE__ */ e(D, { children: /* @__PURE__ */ e(na, {}) }),
1225
- defaultPlacement: "bottom-end",
1226
- onOpenChange: B,
1227
- children: [
1228
- /* @__PURE__ */ e(
1229
- O,
1230
- {
1231
- label: "Profile",
1232
- onClick: N,
1233
- icon: /* @__PURE__ */ e(ta, {})
1234
- }
1235
- ),
1236
- /* @__PURE__ */ e(
1237
- O,
1238
- {
1239
- label: Ne,
1240
- onClick: T,
1241
- icon: /* @__PURE__ */ e(qt, {})
1242
- }
1243
- ),
1244
- /* @__PURE__ */ e(
1245
- O,
1246
- {
1247
- label: "History",
1248
- onClick: S,
1249
- icon: /* @__PURE__ */ e(Zt, {})
1250
- }
1251
- ),
1252
- /* @__PURE__ */ e(
1253
- O,
1254
- {
1255
- label: "About",
1256
- onClick: z,
1257
- icon: /* @__PURE__ */ e(ea, {})
1258
- }
1259
- ),
1260
- t && t.id && !t.isComponent && /* @__PURE__ */ c(k, { children: [
1261
- /* @__PURE__ */ e(Lt, {}),
1262
- /* @__PURE__ */ e(
1263
- O,
1264
- {
1265
- label: "Log out",
1266
- onClick: J,
1267
- icon: /* @__PURE__ */ e("div", { className: "text-red-700", children: /* @__PURE__ */ e(Jt, { monotone: !0 }) })
1268
- }
1269
- )
1270
- ] })
1271
- ]
1272
- }
1273
- ) }) })
1274
- ] });
1275
- };
1276
- export {
1277
- xa as default
1278
- };