@versini/sassysaint 8.101.1 → 8.101.3
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/chunks/AboutChangelog.CcYsUxi2.js +33 -0
- package/dist/chunks/AboutEntry.G2xR3M1d.js +85 -0
- package/dist/chunks/{App.RV-mmua0.js → App.CsKyZBsw.js} +3787 -3393
- package/dist/chunks/{Chart.D_A0uZlT.js → Chart.DD4UW65P.js} +3 -2
- package/dist/chunks/{ChatBubbleAssistant.DFHmwXZw.js → ChatBubbleAssistant.Bn6cQle5.js} +12 -11
- package/dist/chunks/{ChatBubbleUser.G4d3d6Mb.js → ChatBubbleUser.KoKX8L_1.js} +6 -6
- package/dist/chunks/{ChatHistoryTable.DZub8IvT.js → ChatHistoryTable.DQGQveG4.js} +14 -13
- package/dist/chunks/{HistoryEntry.80oOvElL.js → HistoryEntry.DBUTE8sL.js} +66 -63
- package/dist/chunks/LoginEntry.CWuSahi8.js +118 -0
- package/dist/chunks/LogoEntry.4w_7jmXf.js +1714 -0
- package/dist/chunks/{MemoriesEntry.BiYxLEvt.js → MemoriesEntry.sfRZ45or.js} +13 -12
- package/dist/chunks/{ProfileEntry.CPW8ArvZ.js → ProfileEntry.CZ402BZi.js} +34 -32
- package/dist/chunks/{SettingsEntry.Cg8S7183.js → SettingsEntry.B_ICuqSF.js} +45 -43
- package/dist/chunks/{Table.4xIKM_Pq.js → Table.B9YP3reg.js} +4 -4
- package/dist/chunks/{UsageEntry.ffEEL78E.js → UsageEntry.CZZW0tyk.js} +35 -33
- package/dist/chunks/index.BAdB50GZ.js +103 -0
- package/dist/chunks/index.BXS3OJ0_.js +305 -0
- package/dist/chunks/{index.CE9kDkU7.js → index.CBNs-jI0.js} +1 -1
- package/dist/chunks/{index.Hrh30p0t.js → index.CbXUGbFw.js} +1 -1
- package/dist/chunks/index.CmUCbVjm.js +5549 -0
- package/dist/chunks/{index.pOiqDmOT.js → index.CrlZTdPz.js} +3 -3
- package/dist/chunks/{index.CAjI1A8f.js → index.DI2SbvoE.js} +1 -1
- package/dist/chunks/{index.DACnc3cK.js → index.DLcXm1j2.js} +4 -4
- package/dist/chunks/{index.B_ICfOQl.js → index.TlkuA7XF.js} +2 -2
- package/dist/chunks/index.ZHr9WWXR.js +99 -0
- package/dist/chunks/index.jbtO2S3e.js +292 -0
- package/dist/chunks/{useMarkdown.Wp7doGVP.js → useMarkdown.z5IyHhkN.js} +19 -18
- package/dist/components/SassySaint/SassySaint.js +1 -1
- package/dist/index.js +4 -4
- package/dist/style.css +2 -2
- package/package.json +5 -5
- package/dist/chunks/AboutChangelog.C5rvGqn_.js +0 -34
- package/dist/chunks/AboutEntry.DO5Ui-w0.js +0 -83
- package/dist/chunks/index.CaIG7RGp.js +0 -8092
- package/dist/chunks/index.Cu1_r5cX.js +0 -266
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as Pp } from "react/jsx-runtime";
|
|
2
|
-
import { getDefaultExportFromCjs as dn } from "./App.
|
|
2
|
+
import { getDefaultExportFromCjs as dn } from "./App.CsKyZBsw.js";
|
|
3
3
|
import Op, { useMemo as Lp } from "react";
|
|
4
|
-
import { TRIMESTERS_SHORT as Ep, TRIMESTERS as on, TIME_RANGES as ls,
|
|
4
|
+
import { TRIMESTERS_SHORT as Ep, TRIMESTERS as on, TIME_RANGES as ls, TIME_RANGE_LABELS as an } from "./LogoEntry.4w_7jmXf.js";
|
|
5
|
+
import { isProbablyMobile as Ip } from "./index.CmUCbVjm.js";
|
|
5
6
|
var hs = { exports: {} }, Dp = hs.exports, nn;
|
|
6
7
|
function Bp() {
|
|
7
8
|
return nn || (nn = 1, (function(Ae, pe) {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { jsx as ss } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { BUBBLE_FOOTER_EMPTY as
|
|
2
|
+
import { n as is, useUserPreferences as rs, convertCamelCaseToReadable as as, numberFormatter as os, pluralize as ls } from "./index.CmUCbVjm.js";
|
|
3
|
+
import { BUBBLE_FOOTER_EMPTY as us } from "./index.DLcXm1j2.js";
|
|
4
4
|
import Xt from "clsx";
|
|
5
|
-
import
|
|
6
|
-
import { useMarkdown as
|
|
7
|
-
import {
|
|
5
|
+
import cs, { useState as Me, useEffect as qt, useContext as vt } from "react";
|
|
6
|
+
import { useMarkdown as fs } from "./useMarkdown.z5IyHhkN.js";
|
|
7
|
+
import { ChatContext as hs, AppContext as ds } from "./LogoEntry.4w_7jmXf.js";
|
|
8
|
+
import { AsyncBubble as ps } from "./App.CsKyZBsw.js";
|
|
8
9
|
function ms(e, t) {
|
|
9
10
|
e.indexOf(t) === -1 && e.push(t);
|
|
10
11
|
}
|
|
@@ -2813,7 +2814,7 @@ const ve = {
|
|
|
2813
2814
|
MODEL: "Model",
|
|
2814
2815
|
PLUGIN: "Plugin",
|
|
2815
2816
|
USAGE: "Session usage"
|
|
2816
|
-
}, xa = Xt("max-w-[99cqw]", "mt-3"),
|
|
2817
|
+
}, xa = Xt("max-w-[99cqw]", "mt-3"), ka = cs.memo(
|
|
2817
2818
|
({
|
|
2818
2819
|
content: e,
|
|
2819
2820
|
annotations: t,
|
|
@@ -2823,9 +2824,9 @@ const ve = {
|
|
|
2823
2824
|
}) => {
|
|
2824
2825
|
const r = wa(e, s), {
|
|
2825
2826
|
state: { streaming: a, restoredModel: o, tokenUsage: l }
|
|
2826
|
-
} = vt(
|
|
2827
|
+
} = vt(hs), {
|
|
2827
2828
|
state: { fullScreen: c }
|
|
2828
|
-
} = vt(
|
|
2829
|
+
} = vt(ds), u = t?.model || o, f = l, [h, m] = fs(), { user: b, getAccessToken: y } = is(), { data: v } = rs({
|
|
2829
2830
|
user: b?.username,
|
|
2830
2831
|
getAccessToken: y
|
|
2831
2832
|
}), T = v?.showDetails || !1, A = Xt("prose-li:ps-3", {
|
|
@@ -2834,8 +2835,8 @@ const ve = {
|
|
|
2834
2835
|
let V;
|
|
2835
2836
|
return T && (V = {
|
|
2836
2837
|
[ve.MODEL]: u || null,
|
|
2837
|
-
[ve.PLUGIN]: n ?
|
|
2838
|
-
}, f && (i ? V[ve.USAGE] = `${
|
|
2838
|
+
[ve.PLUGIN]: n ? as(n) : null
|
|
2839
|
+
}, f && (i ? V[ve.USAGE] = `${os.format(f)} ${ls("token", f)}` : V[ve.USAGE] = us)), qt(() => {
|
|
2839
2840
|
r && m(r);
|
|
2840
2841
|
}, [r, m]), /* @__PURE__ */ ss(
|
|
2841
2842
|
ps,
|
|
@@ -2854,5 +2855,5 @@ const ve = {
|
|
|
2854
2855
|
}
|
|
2855
2856
|
);
|
|
2856
2857
|
export {
|
|
2857
|
-
|
|
2858
|
+
ka as default
|
|
2858
2859
|
};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { jsx as i, Fragment as S, jsxs as C } from "react/jsx-runtime";
|
|
2
|
-
import { Button as _ } from "./
|
|
2
|
+
import { Button as _ } from "./LogoEntry.4w_7jmXf.js";
|
|
3
3
|
import { useState as h, useMemo as m, isValidElement as T, useEffect as B } from "react";
|
|
4
|
-
import { useMarkdown as b } from "./useMarkdown.
|
|
5
|
-
import { AsyncBubble as k } from "./App.
|
|
4
|
+
import { useMarkdown as b } from "./useMarkdown.z5IyHhkN.js";
|
|
5
|
+
import { AsyncBubble as k } from "./App.CsKyZBsw.js";
|
|
6
6
|
/*!
|
|
7
|
-
@versini/ui-truncate v6.1.
|
|
7
|
+
@versini/ui-truncate v6.1.8
|
|
8
8
|
© 2025 gizmette.com
|
|
9
9
|
*/
|
|
10
10
|
try {
|
|
11
11
|
window.__VERSINI_UI_TRUNCATE__ || (window.__VERSINI_UI_TRUNCATE__ = {
|
|
12
|
-
version: "6.1.
|
|
13
|
-
buildTime: "12/16/2025
|
|
12
|
+
version: "6.1.8",
|
|
13
|
+
buildTime: "12/16/2025 06:23 PM EST",
|
|
14
14
|
homepage: "https://www.npmjs.com/package/@versini/ui-truncate",
|
|
15
15
|
license: "MIT"
|
|
16
16
|
});
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsxs as c, jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { y as S, v as M, INFINITE_SCROLL_THRESHOLD as L, pluralize as k, numberFormatter as U, isProbablyMobile as D } from "./index.CmUCbVjm.js";
|
|
3
|
+
import { IconCloseLight as z, CARDS as B, ButtonIcon as C, IconRestore as $, IconStarInCircle as Y, IconStarInCircleLight as W, IconDelete as j } from "./LogoEntry.4w_7jmXf.js";
|
|
3
4
|
import { useState as G, Fragment as K } from "react";
|
|
4
5
|
import i from "clsx";
|
|
5
|
-
import { j as V, D as F, F as N, G as H, W as o, Y as I } from "./Table.
|
|
6
|
-
import { ResponsiveTooltip as w } from "./App.
|
|
6
|
+
import { j as V, D as F, F as N, G as H, W as o, Y as I } from "./Table.B9YP3reg.js";
|
|
7
|
+
import { ResponsiveTooltip as w } from "./App.CsKyZBsw.js";
|
|
7
8
|
/*!
|
|
8
9
|
@versini/ui-pill v5.2.4
|
|
9
10
|
© 2025 gizmette.com
|
|
@@ -70,7 +71,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
|
|
|
70
71
|
onClick: g,
|
|
71
72
|
className: u.button,
|
|
72
73
|
"aria-label": "Close",
|
|
73
|
-
children: /* @__PURE__ */ e(
|
|
74
|
+
children: /* @__PURE__ */ e(z, {
|
|
74
75
|
size: "size-3"
|
|
75
76
|
})
|
|
76
77
|
})
|
|
@@ -93,7 +94,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
|
|
|
93
94
|
n.TIMESTAMP,
|
|
94
95
|
n.TOKEN_USAGE,
|
|
95
96
|
n.ACTIONS
|
|
96
|
-
],
|
|
97
|
+
], me = ({
|
|
97
98
|
filteredHistory: t,
|
|
98
99
|
historyState: a,
|
|
99
100
|
lastEntryToLoad: l,
|
|
@@ -107,7 +108,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
|
|
|
107
108
|
isFiltered: O = !1,
|
|
108
109
|
isSearchActive: T = !1
|
|
109
110
|
}) => {
|
|
110
|
-
const y =
|
|
111
|
+
const y = D() ? Z : ee, E = (r) => {
|
|
111
112
|
switch (r) {
|
|
112
113
|
case n.ROW:
|
|
113
114
|
return /* @__PURE__ */ e(o, { className: "sr-only", children: "Row" }, r);
|
|
@@ -205,7 +206,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
|
|
|
205
206
|
{
|
|
206
207
|
className: i("dark:text-gray-400", "text-xs sm:text-sm"),
|
|
207
208
|
align: "right",
|
|
208
|
-
children: s.tokenUsage ?
|
|
209
|
+
children: s.tokenUsage ? U.format(s.tokenUsage) : "0"
|
|
209
210
|
},
|
|
210
211
|
r
|
|
211
212
|
);
|
|
@@ -230,7 +231,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
|
|
|
230
231
|
onClick: async () => {
|
|
231
232
|
await d(s);
|
|
232
233
|
},
|
|
233
|
-
children: /* @__PURE__ */ e(
|
|
234
|
+
children: /* @__PURE__ */ e($, { size: "size-3", monotone: !0 })
|
|
234
235
|
}
|
|
235
236
|
)
|
|
236
237
|
}
|
|
@@ -249,7 +250,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
|
|
|
249
250
|
onClick: async () => {
|
|
250
251
|
await p(s);
|
|
251
252
|
},
|
|
252
|
-
children: s.favoriteChat ? /* @__PURE__ */ e(
|
|
253
|
+
children: s.favoriteChat ? /* @__PURE__ */ e(Y, { size: "size-4", monotone: !0 }) : /* @__PURE__ */ e(W, { size: "size-4", monotone: !0 })
|
|
253
254
|
}
|
|
254
255
|
)
|
|
255
256
|
}
|
|
@@ -269,7 +270,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
|
|
|
269
270
|
onClick: () => {
|
|
270
271
|
h(s);
|
|
271
272
|
},
|
|
272
|
-
children: /* @__PURE__ */ e(
|
|
273
|
+
children: /* @__PURE__ */ e(j, { size: "size-3", monotone: !0 })
|
|
273
274
|
}
|
|
274
275
|
)
|
|
275
276
|
}
|
|
@@ -296,15 +297,15 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
|
|
|
296
297
|
children: [
|
|
297
298
|
/* @__PURE__ */ e(F, { children: /* @__PURE__ */ e(N, { children: y.map((r) => E(r)) }) }),
|
|
298
299
|
/* @__PURE__ */ e(H, { children: u && t.length === 0 ? /* @__PURE__ */ e(N, { children: /* @__PURE__ */ e(o, { colSpan: 1e3, children: /* @__PURE__ */ e("div", { children: "Loading..." }) }) }) : t.slice(0, l).map((r, s) => r?.summary ? /* @__PURE__ */ c(K, { children: [
|
|
299
|
-
s === l -
|
|
300
|
+
s === l - L && /* @__PURE__ */ e("tr", { ref: g }),
|
|
300
301
|
/* @__PURE__ */ e(N, { children: y.map(
|
|
301
302
|
(b) => _(b, r, s)
|
|
302
303
|
) })
|
|
303
|
-
] }, `${
|
|
304
|
+
] }, `${B.HISTORY.TITLE}-${r.id}-${s}`) : null) })
|
|
304
305
|
]
|
|
305
306
|
}
|
|
306
307
|
);
|
|
307
308
|
};
|
|
308
309
|
export {
|
|
309
|
-
|
|
310
|
+
me as ChatHistoryTable
|
|
310
311
|
};
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { jsxs as i, Fragment as ae, jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { n as K, INFINITE_SCROLL_LIMIT as U, INFINITE_SCROLL_THRESHOLD as re,
|
|
3
|
-
import {
|
|
2
|
+
import { n as K, INFINITE_SCROLL_LIMIT as U, INFINITE_SCROLL_THRESHOLD as re, LOCAL_STORAGE_PREFIX as u, LOCAL_STORAGE_SORT_TIMESTAMP as se, LOCAL_STORAGE_SORT_TOKEN_USAGE as oe, LOCAL_STORAGE_SORT as ne, y as I, LOCAL_STORAGE_CHAT_ID as ie, useDeleteChat as ce, useToggleFavoriteChat as le, graphQLRequest as de, SERVICE_TYPES as he, ACTION_SORT as me, v as ue, LOCAL_STORAGE_SEARCH as Ce, LOCAL_STORAGE_FAVORITES_ONLY as Se, LOCAL_STORAGE_KEYWORD_MATCH_ALL as fe, useChatsHistory as ye, useUserChatStats as pe, debounce as Te, ACTION_SEARCH as ge } from "./index.CmUCbVjm.js";
|
|
3
|
+
import { HistoryContext as Y, ChatContext as Ae, e as m, APP_CLASSNAME as Ee, TOAST_CHAT_DELETED as _e, HISTORY_TITLE as Le, IconSearch as De, Button as Oe, L as ke, j as ve } from "./LogoEntry.4w_7jmXf.js";
|
|
4
|
+
import { Card as Re } from "./index.ZHr9WWXR.js";
|
|
5
|
+
import { useAiChat as be, useLocalStorage as C, ConfirmationPanel as Ie, LazyToastContainerWrapper as xe, showErrorToast as we, v4 as He, CHAT_RESET as Ne, CHAT_SET_ATTACHMENTS as Fe, CHAT_SET_STATUS as Me, Panel as Ge, Toggle as B, CancelButton as Ve } from "./App.CsKyZBsw.js";
|
|
6
|
+
import { TextInput as ze } from "./index.jbtO2S3e.js";
|
|
4
7
|
import Pe from "clsx";
|
|
5
8
|
import { useRef as x, useState as G, useContext as V, useCallback as j, Suspense as Ue, lazy as Be, useEffect as je } from "react";
|
|
6
9
|
const Ke = Be(
|
|
7
10
|
() => import(
|
|
8
11
|
/* webpackChunkName: "history-table" */
|
|
9
|
-
"./ChatHistoryTable.
|
|
12
|
+
"./ChatHistoryTable.DQGQveG4.js"
|
|
10
13
|
).then((S) => ({ default: S.ChatHistoryTable }))
|
|
11
14
|
), Ye = ({
|
|
12
15
|
filteredHistory: S,
|
|
@@ -17,7 +20,7 @@ const Ke = Be(
|
|
|
17
20
|
isFiltered: w = !1,
|
|
18
21
|
isSearchActive: L = !1
|
|
19
22
|
}) => {
|
|
20
|
-
const { user: l, getAccessToken: a } = K(),
|
|
23
|
+
const { user: l, getAccessToken: a } = K(), p = x(null), d = x({
|
|
21
24
|
id: "",
|
|
22
25
|
timestamp: "",
|
|
23
26
|
message: ""
|
|
@@ -25,25 +28,25 @@ const Ke = Be(
|
|
|
25
28
|
U + re
|
|
26
29
|
), { state: o, dispatch: N } = V(Y), k = {
|
|
27
30
|
searchString: o.searchString || "",
|
|
28
|
-
sortDirection: o.sortDirection ||
|
|
31
|
+
sortDirection: o.sortDirection || m.DESC,
|
|
29
32
|
sortedCell: o.sortedCell || I
|
|
30
33
|
}, {
|
|
31
|
-
setChatId:
|
|
34
|
+
setChatId: T,
|
|
32
35
|
setInitialMessages: c,
|
|
33
36
|
dispatch: g
|
|
34
|
-
} = V(
|
|
35
|
-
key:
|
|
36
|
-
initialValue:
|
|
37
|
-
}), [F, M] =
|
|
38
|
-
key:
|
|
39
|
-
initialValue:
|
|
40
|
-
}), [, r] =
|
|
41
|
-
key:
|
|
37
|
+
} = V(Ae), { setInput: A } = be(), [v, R] = C({
|
|
38
|
+
key: u + se,
|
|
39
|
+
initialValue: m.DESC
|
|
40
|
+
}), [F, M] = C({
|
|
41
|
+
key: u + oe,
|
|
42
|
+
initialValue: m.ASC
|
|
43
|
+
}), [, r] = C({
|
|
44
|
+
key: u + ne,
|
|
42
45
|
initialValue: I
|
|
43
|
-
}), [W] =
|
|
44
|
-
key:
|
|
46
|
+
}), [W] = C({
|
|
47
|
+
key: u + ie,
|
|
45
48
|
initialValue: ""
|
|
46
|
-
}), { mutateAsync: q } =
|
|
49
|
+
}), { mutateAsync: q } = ce({ getAccessToken: a }), { mutateAsync: Q } = le({
|
|
47
50
|
getAccessToken: a
|
|
48
51
|
}), X = (e) => {
|
|
49
52
|
const n = o.sortedCell === e;
|
|
@@ -52,44 +55,44 @@ const Ke = Be(
|
|
|
52
55
|
case I:
|
|
53
56
|
b = R, s = n ? o.sortDirection : v;
|
|
54
57
|
break;
|
|
55
|
-
case
|
|
58
|
+
case ue:
|
|
56
59
|
b = M, s = n ? o.sortDirection : F;
|
|
57
60
|
break;
|
|
58
61
|
default:
|
|
59
62
|
b = R, s = n ? o.sortDirection : v;
|
|
60
63
|
break;
|
|
61
64
|
}
|
|
62
|
-
const P = s ===
|
|
65
|
+
const P = s === m.ASC ? m.DESC : m.ASC;
|
|
63
66
|
b(P), r(e), N({
|
|
64
|
-
type:
|
|
67
|
+
type: me,
|
|
65
68
|
payload: {
|
|
66
69
|
sortedCell: e,
|
|
67
70
|
sortDirection: P
|
|
68
71
|
}
|
|
69
72
|
});
|
|
70
|
-
},
|
|
73
|
+
}, J = async () => {
|
|
71
74
|
const e = d.current;
|
|
72
75
|
try {
|
|
73
76
|
await q({
|
|
74
77
|
userId: l?.username || "",
|
|
75
78
|
id: e.id
|
|
76
|
-
}), y(""), await
|
|
79
|
+
}), y(""), await we(_e, {
|
|
77
80
|
autoClose: 2e3,
|
|
78
81
|
containerId: "history-table"
|
|
79
82
|
});
|
|
80
83
|
} catch {
|
|
81
84
|
}
|
|
82
|
-
},
|
|
85
|
+
}, Z = async (e) => {
|
|
83
86
|
try {
|
|
84
|
-
const n = await a(), s = await
|
|
87
|
+
const n = await a(), s = await de({
|
|
85
88
|
accessToken: n,
|
|
86
|
-
type:
|
|
89
|
+
type: he.GET_CHAT,
|
|
87
90
|
params: {
|
|
88
91
|
id: e.id
|
|
89
92
|
}
|
|
90
93
|
});
|
|
91
94
|
g({
|
|
92
|
-
type:
|
|
95
|
+
type: Me,
|
|
93
96
|
payload: {
|
|
94
97
|
streaming: !1,
|
|
95
98
|
loading: !1,
|
|
@@ -97,22 +100,22 @@ const Ke = Be(
|
|
|
97
100
|
restoredModel: s.data?.model || "",
|
|
98
101
|
restoredUsage: s.data?.tokenUsage || 0
|
|
99
102
|
}
|
|
100
|
-
}), A(""),
|
|
103
|
+
}), A(""), T(e.id), c(s.data.messages), f(!1);
|
|
101
104
|
} catch {
|
|
102
105
|
}
|
|
103
|
-
},
|
|
106
|
+
}, $ = (e) => {
|
|
104
107
|
d.current = {
|
|
105
108
|
id: e.id,
|
|
106
109
|
timestamp: e.timestamp,
|
|
107
110
|
message: e.summary
|
|
108
|
-
}, D(!h), W === e.id && (
|
|
109
|
-
type:
|
|
111
|
+
}, D(!h), W === e.id && (T(He()), c([]), A(""), g({
|
|
112
|
+
type: Ne,
|
|
110
113
|
payload: {
|
|
111
114
|
privateChat: !1,
|
|
112
115
|
reasoning: !1
|
|
113
116
|
}
|
|
114
117
|
}), g({
|
|
115
|
-
type:
|
|
118
|
+
type: Fe,
|
|
116
119
|
payload: {
|
|
117
120
|
attachments: 0
|
|
118
121
|
}
|
|
@@ -129,22 +132,22 @@ const Ke = Be(
|
|
|
129
132
|
e[0].isIntersecting && H((s) => s + U);
|
|
130
133
|
}, []), te = j(
|
|
131
134
|
(e) => {
|
|
132
|
-
if (
|
|
135
|
+
if (p.current && p.current.disconnect(), e) {
|
|
133
136
|
const n = {
|
|
134
137
|
rootMargin: "20px"
|
|
135
138
|
}, s = new IntersectionObserver(z, n);
|
|
136
|
-
s.observe(e),
|
|
139
|
+
s.observe(e), p.current = s;
|
|
137
140
|
}
|
|
138
141
|
},
|
|
139
142
|
[z]
|
|
140
143
|
);
|
|
141
144
|
return /* @__PURE__ */ i(ae, { children: [
|
|
142
145
|
/* @__PURE__ */ i(
|
|
143
|
-
|
|
146
|
+
Ie,
|
|
144
147
|
{
|
|
145
148
|
showConfirmation: h,
|
|
146
149
|
setShowConfirmation: D,
|
|
147
|
-
action:
|
|
150
|
+
action: J,
|
|
148
151
|
customStrings: {
|
|
149
152
|
confirmAction: "Delete",
|
|
150
153
|
cancelAction: "Cancel",
|
|
@@ -167,7 +170,7 @@ const Ke = Be(
|
|
|
167
170
|
]
|
|
168
171
|
}
|
|
169
172
|
),
|
|
170
|
-
/* @__PURE__ */ t("div", { className:
|
|
173
|
+
/* @__PURE__ */ t("div", { className: Ee, children: /* @__PURE__ */ t(xe, { containerId: "history-table" }) }),
|
|
171
174
|
/* @__PURE__ */ t(Ue, { fallback: /* @__PURE__ */ t("div", {}), children: /* @__PURE__ */ t(
|
|
172
175
|
Ke,
|
|
173
176
|
{
|
|
@@ -175,8 +178,8 @@ const Ke = Be(
|
|
|
175
178
|
historyState: k,
|
|
176
179
|
lastEntryToLoad: O,
|
|
177
180
|
onClickSort: X,
|
|
178
|
-
onClickRestore:
|
|
179
|
-
onClickDelete:
|
|
181
|
+
onClickRestore: Z,
|
|
182
|
+
onClickDelete: $,
|
|
180
183
|
onClickFavorite: ee,
|
|
181
184
|
infinityScrollMarkerRef: te,
|
|
182
185
|
isLoading: E,
|
|
@@ -186,33 +189,33 @@ const Ke = Be(
|
|
|
186
189
|
}
|
|
187
190
|
) })
|
|
188
191
|
] });
|
|
189
|
-
},
|
|
192
|
+
}, tt = ({
|
|
190
193
|
open: S,
|
|
191
194
|
onOpenChange: f
|
|
192
195
|
}) => {
|
|
193
|
-
const y = x(null), { getAccessToken: E, user: _ } = K(), [w, L] = G([]), l = x(null), { state: a, dispatch:
|
|
194
|
-
key:
|
|
196
|
+
const y = x(null), { getAccessToken: E, user: _ } = K(), [w, L] = G([]), l = x(null), { state: a, dispatch: p } = V(Y), [, d] = C({
|
|
197
|
+
key: u + Ce,
|
|
195
198
|
initialValue: a.searchString
|
|
196
|
-
}), [h, D] =
|
|
197
|
-
key:
|
|
199
|
+
}), [h, D] = C({
|
|
200
|
+
key: u + Se,
|
|
198
201
|
initialValue: !1
|
|
199
|
-
}), [O, H] =
|
|
200
|
-
key:
|
|
202
|
+
}), [O, H] = C({
|
|
203
|
+
key: u + fe,
|
|
201
204
|
initialValue: !0
|
|
202
205
|
}), {
|
|
203
206
|
data: o,
|
|
204
207
|
refetch: N,
|
|
205
208
|
isLoading: k,
|
|
206
|
-
isError:
|
|
207
|
-
} =
|
|
209
|
+
isError: T
|
|
210
|
+
} = ye({
|
|
208
211
|
enabled: S,
|
|
209
212
|
user: _?.username || "",
|
|
210
213
|
searchString: a.searchString || "",
|
|
211
|
-
sortDirection: a.sortDirection ||
|
|
214
|
+
sortDirection: a.sortDirection || m.DESC,
|
|
212
215
|
sortedCell: a.sortedCell || I,
|
|
213
216
|
getAccessToken: E,
|
|
214
217
|
keywordMatchAll: O
|
|
215
|
-
}), { data: c } =
|
|
218
|
+
}), { data: c } = pe({
|
|
216
219
|
user: _?.username,
|
|
217
220
|
getAccessToken: E
|
|
218
221
|
}), g = c && c.totalChats ? c.totalChats - c.privateChats - c.deletedChats : 0;
|
|
@@ -222,11 +225,11 @@ const Ke = Be(
|
|
|
222
225
|
);
|
|
223
226
|
}, [o, h]);
|
|
224
227
|
const A = async (r) => {
|
|
225
|
-
d(r),
|
|
226
|
-
type:
|
|
228
|
+
d(r), p({
|
|
229
|
+
type: ge,
|
|
227
230
|
payload: { searchString: r }
|
|
228
231
|
});
|
|
229
|
-
}, v =
|
|
232
|
+
}, v = Te((r) => {
|
|
230
233
|
A(r.target.value.trim());
|
|
231
234
|
}, 800), R = async (r) => {
|
|
232
235
|
r.preventDefault();
|
|
@@ -236,27 +239,27 @@ const Ke = Be(
|
|
|
236
239
|
H(r);
|
|
237
240
|
};
|
|
238
241
|
return /* @__PURE__ */ i(
|
|
239
|
-
|
|
242
|
+
Ge,
|
|
240
243
|
{
|
|
241
244
|
open: S,
|
|
242
245
|
onOpenChange: f,
|
|
243
|
-
title:
|
|
246
|
+
title: Le,
|
|
244
247
|
animation: !0,
|
|
245
248
|
animationType: "fade",
|
|
246
249
|
blurEffect: "large",
|
|
247
250
|
initialFocus: y,
|
|
248
251
|
footer: /* @__PURE__ */ t(
|
|
249
|
-
|
|
252
|
+
ke,
|
|
250
253
|
{
|
|
251
254
|
columnGap: 2,
|
|
252
255
|
alignHorizontal: "flex-end",
|
|
253
256
|
className: "pb-8 sm:pb-0",
|
|
254
|
-
children: /* @__PURE__ */ t(
|
|
257
|
+
children: /* @__PURE__ */ t(ve, { children: /* @__PURE__ */ t(Ve, { onOpenChange: f, ref: y }) })
|
|
255
258
|
}
|
|
256
259
|
),
|
|
257
260
|
children: [
|
|
258
261
|
/* @__PURE__ */ t(
|
|
259
|
-
|
|
262
|
+
Re,
|
|
260
263
|
{
|
|
261
264
|
header: k && a.searchString ? "Loading..." : a.searchString ? "Filters applied" : "Filters",
|
|
262
265
|
className: "prose-dark dark:prose-lighter mb-4",
|
|
@@ -264,7 +267,7 @@ const Ke = Be(
|
|
|
264
267
|
compact: !0,
|
|
265
268
|
children: /* @__PURE__ */ i("form", { autoComplete: "off", onSubmit: R, children: [
|
|
266
269
|
/* @__PURE__ */ t(
|
|
267
|
-
|
|
270
|
+
ze,
|
|
268
271
|
{
|
|
269
272
|
placeholder: "Search",
|
|
270
273
|
labelHidden: !0,
|
|
@@ -279,7 +282,7 @@ const Ke = Be(
|
|
|
279
282
|
label: "Search",
|
|
280
283
|
onChange: v,
|
|
281
284
|
className: "my-2",
|
|
282
|
-
rightElement: /* @__PURE__ */ t("div", { className: "dark:text-copy-dark text-copy-light", children: /* @__PURE__ */ t(
|
|
285
|
+
rightElement: /* @__PURE__ */ t("div", { className: "dark:text-copy-dark text-copy-light", children: /* @__PURE__ */ t(De, { monotone: !0, size: "size-3" }) })
|
|
283
286
|
}
|
|
284
287
|
),
|
|
285
288
|
/* @__PURE__ */ i("div", { className: "flex flex-col justify-between sm:flex-row gap-2 sm:mb-0 mb-1", children: [
|
|
@@ -308,7 +311,7 @@ const Ke = Be(
|
|
|
308
311
|
)
|
|
309
312
|
] }),
|
|
310
313
|
/* @__PURE__ */ t(
|
|
311
|
-
|
|
314
|
+
Oe,
|
|
312
315
|
{
|
|
313
316
|
mode: "light",
|
|
314
317
|
size: "small",
|
|
@@ -333,8 +336,8 @@ const Ke = Be(
|
|
|
333
336
|
"min-h-[60vh]"
|
|
334
337
|
),
|
|
335
338
|
children: [
|
|
336
|
-
|
|
337
|
-
!
|
|
339
|
+
T && /* @__PURE__ */ t("p", { className: "m-0 text-red-500", children: "Failed to load history." }),
|
|
340
|
+
!T && /* @__PURE__ */ t(
|
|
338
341
|
Ye,
|
|
339
342
|
{
|
|
340
343
|
mutate: N,
|
|
@@ -354,5 +357,5 @@ const Ke = Be(
|
|
|
354
357
|
);
|
|
355
358
|
};
|
|
356
359
|
export {
|
|
357
|
-
|
|
360
|
+
tt as HistoryPanel
|
|
358
361
|
};
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { jsxs as i, jsx as e, Fragment as x } from "react/jsx-runtime";
|
|
2
|
+
import { n as L, getLayoutPaddingClass as M, getMessageContaintWrapperClass as b, isTauri as I } from "./index.CmUCbVjm.js";
|
|
3
|
+
import { Logo as N, L as E, j as t, PASSWORD_PLACEHOLDER as y, ButtonIcon as p, IconShow as S, IconHide as v, Button as w, LOG_IN as P, LOG_IN_PASSKEY as z, IconPasskey as B } from "./LogoEntry.4w_7jmXf.js";
|
|
4
|
+
import { Card as O } from "./index.ZHr9WWXR.js";
|
|
5
|
+
import { TextInput as T, TextInputMask as W } from "./index.jbtO2S3e.js";
|
|
6
|
+
import { useState as s, useEffect as h } from "react";
|
|
7
|
+
const q = () => {
|
|
8
|
+
const { login: g, logoutReason: o, loginWithPasskey: f } = L(), [n, l] = s(""), [d, m] = s(""), [c, C] = s(!0), [r, u] = s({
|
|
9
|
+
username: "",
|
|
10
|
+
password: ""
|
|
11
|
+
}), k = async (a) => {
|
|
12
|
+
a.preventDefault(), await g(r.username, r.password) || (m(""), l("Invalid username or password"));
|
|
13
|
+
};
|
|
14
|
+
return h(() => {
|
|
15
|
+
document.getElementById("logo")?.classList.add("fadeOut"), setTimeout(() => {
|
|
16
|
+
document.getElementById("root")?.classList.replace("app-hidden", "fadeIn");
|
|
17
|
+
}, 500);
|
|
18
|
+
}), h(() => {
|
|
19
|
+
o && m(o);
|
|
20
|
+
}, [o]), /* @__PURE__ */ i("main", { className: M({ extraClass: "mt-5" }), children: [
|
|
21
|
+
/* @__PURE__ */ e(
|
|
22
|
+
"div",
|
|
23
|
+
{
|
|
24
|
+
className: b({
|
|
25
|
+
extraClass: "rounded-md pb-10"
|
|
26
|
+
}),
|
|
27
|
+
children: /* @__PURE__ */ e(N, {})
|
|
28
|
+
}
|
|
29
|
+
),
|
|
30
|
+
/* @__PURE__ */ e("form", { className: "mt-5", onSubmit: k, children: /* @__PURE__ */ e(E, { alignHorizontal: "center", children: /* @__PURE__ */ e(t, { span: 6, children: /* @__PURE__ */ i(O, { mode: "dark", children: [
|
|
31
|
+
/* @__PURE__ */ e(t, { span: 12, className: "mt-7", children: d && /* @__PURE__ */ e("div", { className: "p-2 text-sm text-center text-copy-error-light bg-surface-darker", children: d }) }),
|
|
32
|
+
/* @__PURE__ */ e(t, { span: 12, children: /* @__PURE__ */ e(
|
|
33
|
+
T,
|
|
34
|
+
{
|
|
35
|
+
className: "mt-7",
|
|
36
|
+
required: !0,
|
|
37
|
+
autoCapitalize: "off",
|
|
38
|
+
autoComplete: "off",
|
|
39
|
+
autoCorrect: "off",
|
|
40
|
+
mode: "dark",
|
|
41
|
+
focusMode: "light",
|
|
42
|
+
name: "username",
|
|
43
|
+
label: "Username",
|
|
44
|
+
onChange: (a) => {
|
|
45
|
+
u({
|
|
46
|
+
...r,
|
|
47
|
+
username: a.target.value
|
|
48
|
+
}), l("");
|
|
49
|
+
},
|
|
50
|
+
error: n !== ""
|
|
51
|
+
}
|
|
52
|
+
) }),
|
|
53
|
+
/* @__PURE__ */ e(t, { span: 12, children: /* @__PURE__ */ e(
|
|
54
|
+
W,
|
|
55
|
+
{
|
|
56
|
+
className: "mt-7",
|
|
57
|
+
required: !0,
|
|
58
|
+
autoCapitalize: "off",
|
|
59
|
+
autoComplete: "off",
|
|
60
|
+
autoCorrect: "off",
|
|
61
|
+
mode: "dark",
|
|
62
|
+
focusMode: "light",
|
|
63
|
+
name: "password",
|
|
64
|
+
label: y,
|
|
65
|
+
rightElement: /* @__PURE__ */ e(
|
|
66
|
+
p,
|
|
67
|
+
{
|
|
68
|
+
focusMode: "light",
|
|
69
|
+
mode: "dark",
|
|
70
|
+
label: c ? "Show" : "Hide",
|
|
71
|
+
children: c ? /* @__PURE__ */ e(S, {}) : /* @__PURE__ */ e(v, {})
|
|
72
|
+
}
|
|
73
|
+
),
|
|
74
|
+
onMaskChange: C,
|
|
75
|
+
onChange: (a) => {
|
|
76
|
+
u({
|
|
77
|
+
...r,
|
|
78
|
+
password: a.target.value
|
|
79
|
+
}), l("");
|
|
80
|
+
},
|
|
81
|
+
error: n !== "",
|
|
82
|
+
helperText: n
|
|
83
|
+
}
|
|
84
|
+
) }),
|
|
85
|
+
/* @__PURE__ */ e(t, { span: 12, children: /* @__PURE__ */ e(
|
|
86
|
+
w,
|
|
87
|
+
{
|
|
88
|
+
mode: "dark",
|
|
89
|
+
focusMode: "light",
|
|
90
|
+
fullWidth: !0,
|
|
91
|
+
noBorder: !0,
|
|
92
|
+
type: "submit",
|
|
93
|
+
className: "mt-7",
|
|
94
|
+
children: P
|
|
95
|
+
}
|
|
96
|
+
) }),
|
|
97
|
+
!I() && /* @__PURE__ */ i(x, { children: [
|
|
98
|
+
/* @__PURE__ */ e(t, { span: 12, children: /* @__PURE__ */ e("div", { className: "text-center text-copy-light mt-2 mb-2", children: "or" }) }),
|
|
99
|
+
/* @__PURE__ */ e(t, { span: 12, children: /* @__PURE__ */ e(
|
|
100
|
+
p,
|
|
101
|
+
{
|
|
102
|
+
variant: "selected",
|
|
103
|
+
mode: "dark",
|
|
104
|
+
focusMode: "light",
|
|
105
|
+
fullWidth: !0,
|
|
106
|
+
className: "mb-4",
|
|
107
|
+
labelRight: z,
|
|
108
|
+
onClick: f,
|
|
109
|
+
children: /* @__PURE__ */ e(B, { size: "size-7" })
|
|
110
|
+
}
|
|
111
|
+
) })
|
|
112
|
+
] })
|
|
113
|
+
] }) }) }) })
|
|
114
|
+
] });
|
|
115
|
+
};
|
|
116
|
+
export {
|
|
117
|
+
q as default
|
|
118
|
+
};
|