@versini/sassysaint 8.99.2 → 8.100.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{AboutChangelog.u1NxfRZ6.js → AboutChangelog.DA361mHf.js} +3 -3
- package/dist/chunks/AboutEntry.COmeuxq_.js +83 -0
- package/dist/chunks/{App.9OTgQFE5.js → App.BLNMkw5x.js} +331 -329
- package/dist/chunks/{Chart.CTX3yXAp.js → Chart.GBOvQ25I.js} +2 -2
- package/dist/chunks/{ChatBubbleAssistant.DHiBvqvV.js → ChatBubbleAssistant.De5psmEG.js} +7 -7
- package/dist/chunks/{ChatBubbleUser.BdygOc-M.js → ChatBubbleUser.DF9Axp_4.js} +28 -27
- package/dist/chunks/{ChatHistoryTable.XuPzHnDG.js → ChatHistoryTable.rOFYnFKa.js} +3 -3
- package/dist/chunks/{HistoryEntry.CVgA3SYH.js → HistoryEntry.DnG7vXnm.js} +134 -133
- package/dist/chunks/{UserMemoriesPanel.D9cKoAvT.js → MemoriesEntry.rleSeGKZ.js} +212 -209
- package/dist/chunks/{ProfileEntry.wwU14Mrk.js → ProfileEntry.ZVmjBCNA.js} +76 -72
- package/dist/chunks/{SettingsEntry.CFneilrk.js → SettingsEntry.azCvMpSB.js} +116 -108
- package/dist/chunks/{UsageEntry.CgMVSr_T.js → UsageEntry.CK1PBjs3.js} +77 -76
- package/dist/chunks/{index.CbyVRgN9.js → index.Bil3-QBE.js} +1 -1
- package/dist/chunks/{index.DXbW0hgE.js → index.Bz0fwQT2.js} +1 -1
- package/dist/chunks/{index.IgpP31Km.js → index.CY7OKrvt.js} +3 -3
- package/dist/chunks/{index.CSpbJbbj.js → index.CYzDnVAL.js} +1 -1
- package/dist/chunks/{index.BNtgmlzo.js → index.CgmhTYJp.js} +1 -1
- package/dist/chunks/{index.Dy3lHiSY.js → index.DfrHJ6QJ.js} +1 -1
- package/dist/chunks/{index.CI7wfY6h.js → index.DlepPi73.js} +2 -2
- package/dist/chunks/{index.CqZKR4eS.js → index.Dw8chhdS.js} +1 -1
- package/dist/chunks/{index.BgQcUSpD.js → index.iTnfwVri.js} +1 -1
- package/dist/chunks/{useMarkdown.CnnQWkcw.js → useMarkdown.DhNvct2e.js} +8 -7
- package/dist/components/SassySaint/SassySaint.js +1 -1
- package/dist/index.js +4 -4
- package/package.json +3 -3
- package/dist/chunks/AboutEntry.2URxdMvt.js +0 -79
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as Pp } from "react/jsx-runtime";
|
|
2
|
-
import { getDefaultExportFromCjs as dn } from "./App.
|
|
2
|
+
import { getDefaultExportFromCjs as dn } from "./App.BLNMkw5x.js";
|
|
3
3
|
import Op, { useMemo as Lp } from "react";
|
|
4
|
-
import { TRIMESTERS_SHORT as Ep, TRIMESTERS as on, TIME_RANGES as ls, isProbablyMobile as Ip, TIME_RANGE_LABELS as an } from "./index.
|
|
4
|
+
import { TRIMESTERS_SHORT as Ep, TRIMESTERS as on, TIME_RANGES as ls, isProbablyMobile as Ip, TIME_RANGE_LABELS as an } from "./index.CgmhTYJp.js";
|
|
5
5
|
var hs = { exports: {} }, Dp = hs.exports, nn;
|
|
6
6
|
function Bp() {
|
|
7
7
|
return nn || (nn = 1, (function(Ae, pe) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as ss } from "react/jsx-runtime";
|
|
2
|
-
import { ChatContext as is, AppContext as rs, n as as, useUserPreferences as os, convertCamelCaseToReadable as ls, numberFormatter as us, pluralize as cs } from "./index.
|
|
3
|
-
import { BUBBLE_FOOTER_EMPTY as fs } from "./index.
|
|
2
|
+
import { ChatContext as is, AppContext as rs, n as as, useUserPreferences as os, convertCamelCaseToReadable as ls, numberFormatter as us, pluralize as cs } from "./index.CgmhTYJp.js";
|
|
3
|
+
import { BUBBLE_FOOTER_EMPTY as fs } from "./index.Dw8chhdS.js";
|
|
4
4
|
import Xt from "clsx";
|
|
5
5
|
import hs, { useState as Me, useEffect as qt, useContext as vt } from "react";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { useMarkdown as ds } from "./useMarkdown.DhNvct2e.js";
|
|
7
|
+
import { AsyncBubble as ps } from "./App.BLNMkw5x.js";
|
|
8
8
|
function ms(e, t) {
|
|
9
9
|
e.indexOf(t) === -1 && e.push(t);
|
|
10
10
|
}
|
|
@@ -2825,7 +2825,7 @@ const ve = {
|
|
|
2825
2825
|
state: { streaming: a, restoredModel: o, tokenUsage: l }
|
|
2826
2826
|
} = vt(is), {
|
|
2827
2827
|
state: { fullScreen: c }
|
|
2828
|
-
} = vt(rs), u = t?.model || o, f = l, [h, m] =
|
|
2828
|
+
} = vt(rs), u = t?.model || o, f = l, [h, m] = ds(), { user: b, getAccessToken: y } = as(), { data: v } = os({
|
|
2829
2829
|
user: b?.username,
|
|
2830
2830
|
getAccessToken: y
|
|
2831
2831
|
}), T = v?.showDetails || !1, A = Xt("prose-li:ps-3", {
|
|
@@ -2838,10 +2838,10 @@ const ve = {
|
|
|
2838
2838
|
}, f && (i ? V[ve.USAGE] = `${us.format(f)} ${cs("token", f)}` : V[ve.USAGE] = fs)), qt(() => {
|
|
2839
2839
|
r && m(r);
|
|
2840
2840
|
}, [r, m]), /* @__PURE__ */ ss(
|
|
2841
|
-
|
|
2841
|
+
ps,
|
|
2842
2842
|
{
|
|
2843
2843
|
tail: !0,
|
|
2844
|
-
copyToClipboardMode: "
|
|
2844
|
+
copyToClipboardMode: "light",
|
|
2845
2845
|
copyToClipboardFocusMode: "light",
|
|
2846
2846
|
copyToClipboard: a ? "loading..." : e,
|
|
2847
2847
|
footer: V,
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { jsx as i, Fragment as
|
|
2
|
-
import { Button as
|
|
3
|
-
import { useState as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { jsx as i, Fragment as S, jsxs as C } from "react/jsx-runtime";
|
|
2
|
+
import { Button as _ } from "./index.CgmhTYJp.js";
|
|
3
|
+
import { useState as h, useMemo as m, isValidElement as T, useEffect as B } from "react";
|
|
4
|
+
import { useMarkdown as b } from "./useMarkdown.DhNvct2e.js";
|
|
5
|
+
import { AsyncBubble as k } from "./App.BLNMkw5x.js";
|
|
6
6
|
/*!
|
|
7
|
-
@versini/ui-truncate v6.0
|
|
7
|
+
@versini/ui-truncate v6.1.0
|
|
8
8
|
© 2025 gizmette.com
|
|
9
9
|
*/
|
|
10
10
|
try {
|
|
11
11
|
window.__VERSINI_UI_TRUNCATE__ || (window.__VERSINI_UI_TRUNCATE__ = {
|
|
12
|
-
version: "6.0
|
|
13
|
-
buildTime: "12/12/2025
|
|
12
|
+
version: "6.1.0",
|
|
13
|
+
buildTime: "12/12/2025 07:43 PM EST",
|
|
14
14
|
homepage: "https://www.npmjs.com/package/@versini/ui-truncate",
|
|
15
15
|
license: "MIT"
|
|
16
16
|
});
|
|
@@ -32,7 +32,7 @@ const x = 200, M = ({ string: e, idealLength: r = x }) => {
|
|
|
32
32
|
string: e.slice(0, r + s),
|
|
33
33
|
isTruncated: !0
|
|
34
34
|
};
|
|
35
|
-
}, l = (e) => e == null || typeof e == "boolean" ? "" : typeof e == "string" || typeof e == "number" ? String(e) : Array.isArray(e) ? e.map(l).join("") : /* @__PURE__ */ T(e) ? l(e.props.children) : "",
|
|
35
|
+
}, l = (e) => e == null || typeof e == "boolean" ? "" : typeof e == "string" || typeof e == "number" ? String(e) : Array.isArray(e) ? e.map(l).join("") : /* @__PURE__ */ T(e) ? l(e.props.children) : "", H = /* @__PURE__ */ new Set([
|
|
36
36
|
"P",
|
|
37
37
|
"DIV",
|
|
38
38
|
"UL",
|
|
@@ -66,11 +66,11 @@ const x = 200, M = ({ string: e, idealLength: r = x }) => {
|
|
|
66
66
|
return e.some(u);
|
|
67
67
|
if (/* @__PURE__ */ T(e)) {
|
|
68
68
|
const r = e;
|
|
69
|
-
return typeof r.type == "string" &&
|
|
69
|
+
return typeof r.type == "string" && H.has(r.type.toUpperCase()) ? !0 : u(r.props.children);
|
|
70
70
|
}
|
|
71
71
|
return !1;
|
|
72
|
-
},
|
|
73
|
-
const [t,
|
|
72
|
+
}, N = ({ children: e, length: r = 200, mode: n = "system", focusMode: c = "system", enableRichTruncation: s = !1, noBorder: d = !1 }) => {
|
|
73
|
+
const [t, y] = h(!1), g = typeof e != "string" && !s, p = m(() => typeof e == "string" ? e : l(e), [
|
|
74
74
|
e
|
|
75
75
|
]), { string: f, isTruncated: a } = m(() => M({
|
|
76
76
|
string: p,
|
|
@@ -78,17 +78,17 @@ const x = 200, M = ({ string: e, idealLength: r = x }) => {
|
|
|
78
78
|
}), [
|
|
79
79
|
p,
|
|
80
80
|
r
|
|
81
|
-
]),
|
|
82
|
-
|
|
81
|
+
]), E = s && a && !t, w = (I) => {
|
|
82
|
+
I.preventDefault(), y(!t);
|
|
83
83
|
};
|
|
84
|
-
if (
|
|
85
|
-
return /* @__PURE__ */ i(
|
|
84
|
+
if (g)
|
|
85
|
+
return /* @__PURE__ */ i(S, {
|
|
86
86
|
children: e
|
|
87
87
|
});
|
|
88
88
|
let o;
|
|
89
89
|
a ? t ? o = e : o = f : o = e;
|
|
90
90
|
const A = s ? u(e) : !1;
|
|
91
|
-
return /* @__PURE__ */
|
|
91
|
+
return /* @__PURE__ */ C("span", {
|
|
92
92
|
style: {
|
|
93
93
|
wordBreak: "break-word"
|
|
94
94
|
},
|
|
@@ -96,36 +96,37 @@ const x = 200, M = ({ string: e, idealLength: r = x }) => {
|
|
|
96
96
|
"aria-expanded": a ? t : void 0,
|
|
97
97
|
children: [
|
|
98
98
|
o,
|
|
99
|
-
a && /* @__PURE__ */ i(
|
|
99
|
+
a && /* @__PURE__ */ i(_, {
|
|
100
100
|
mode: n,
|
|
101
101
|
focusMode: c,
|
|
102
|
+
noBorder: d,
|
|
102
103
|
className: !(s && t && A) ? "ml-2" : void 0,
|
|
103
104
|
size: "small",
|
|
104
|
-
onClick:
|
|
105
|
+
onClick: w,
|
|
105
106
|
"aria-label": t ? "Show less" : "Show more",
|
|
106
107
|
children: t ? "less..." : "more..."
|
|
107
108
|
})
|
|
108
109
|
]
|
|
109
110
|
});
|
|
110
|
-
},
|
|
111
|
-
const [r, n] =
|
|
112
|
-
return
|
|
111
|
+
}, j = ({ content: e }) => {
|
|
112
|
+
const [r, n] = b();
|
|
113
|
+
return B(() => {
|
|
113
114
|
e && n(e);
|
|
114
115
|
}, [e, n]), /* @__PURE__ */ i(
|
|
115
|
-
|
|
116
|
+
k,
|
|
116
117
|
{
|
|
117
|
-
gradient: "
|
|
118
|
+
gradient: "medium",
|
|
118
119
|
tail: !0,
|
|
119
|
-
copyToClipboardMode: "
|
|
120
|
+
copyToClipboardMode: "light",
|
|
120
121
|
copyToClipboardFocusMode: "light",
|
|
121
122
|
copyToClipboard: e,
|
|
122
123
|
kind: "right",
|
|
123
124
|
className: "mt-3",
|
|
124
125
|
contentClassName: "prose prose-lighter prose-p:only:my-0",
|
|
125
|
-
children: /* @__PURE__ */ i(
|
|
126
|
+
children: /* @__PURE__ */ i(N, { mode: "dark", focusMode: "light", noBorder: !0, enableRichTruncation: !0, children: r })
|
|
126
127
|
}
|
|
127
128
|
);
|
|
128
129
|
};
|
|
129
130
|
export {
|
|
130
|
-
|
|
131
|
+
j as default
|
|
131
132
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsxs as c, jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { IconCloseLight as P, y as S, v as M, INFINITE_SCROLL_THRESHOLD as U, CARDS as D, pluralize as k, ButtonIcon as C, IconRestore as z, IconStarInCircle as B, IconStarInCircleLight as $, IconDelete as Y, numberFormatter as j, isProbablyMobile as G } from "./index.
|
|
2
|
+
import { IconCloseLight as P, y as S, v as M, INFINITE_SCROLL_THRESHOLD as U, CARDS as D, pluralize as k, ButtonIcon as C, IconRestore as z, IconStarInCircle as B, IconStarInCircleLight as $, IconDelete as Y, numberFormatter as j, isProbablyMobile as G } from "./index.CgmhTYJp.js";
|
|
3
3
|
import { useState as K, Fragment as V } from "react";
|
|
4
4
|
import i from "clsx";
|
|
5
|
-
import { j as W, D as F, F as N, G as H, L as o, Y as A } from "./index.
|
|
6
|
-
import { ResponsiveTooltip as w } from "./App.
|
|
5
|
+
import { j as W, D as F, F as N, G as H, L as o, Y as A } from "./index.Bil3-QBE.js";
|
|
6
|
+
import { ResponsiveTooltip as w } from "./App.BLNMkw5x.js";
|
|
7
7
|
/*!
|
|
8
8
|
@versini/ui-pill v5.2.3
|
|
9
9
|
© 2025 gizmette.com
|
|
@@ -1,79 +1,79 @@
|
|
|
1
1
|
import { jsxs as i, Fragment as ae, jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { n as
|
|
3
|
-
import { useAiChat as Ie, ConfirmationPanel as xe, LazyToastContainerWrapper as we, showErrorToast as He, v4 as Ne, CHAT_RESET as Fe, CHAT_SET_ATTACHMENTS as Me, CHAT_SET_STATUS as Ge, Panel as Ve, Toggle as
|
|
2
|
+
import { n as K, INFINITE_SCROLL_LIMIT as U, INFINITE_SCROLL_THRESHOLD as re, HistoryContext as Y, ChatContext as se, useLocalStorage as m, LOCAL_STORAGE_PREFIX as C, LOCAL_STORAGE_SORT_TIMESTAMP as oe, e$1 as u, LOCAL_STORAGE_SORT_TOKEN_USAGE as ne, LOCAL_STORAGE_SORT as ie, y as I, LOCAL_STORAGE_CHAT_ID as ce, useDeleteChat as le, useToggleFavoriteChat as de, APP_CLASSNAME as he, TOAST_CHAT_DELETED as ue, graphQLRequest as me, SERVICE_TYPES as Ce, ACTION_SORT as Se, v as fe, LOCAL_STORAGE_SEARCH as ye, LOCAL_STORAGE_FAVORITES_ONLY as Te, LOCAL_STORAGE_KEYWORD_MATCH_ALL as pe, useChatsHistory as ge, useUserChatStats as Ae, HISTORY_TITLE as Ee, Card as _e, TextInput as Le, debounce as De, IconSearch as Oe, Button as ke, L as ve, j as Re, ACTION_SEARCH as be } from "./index.CgmhTYJp.js";
|
|
3
|
+
import { useAiChat as Ie, ConfirmationPanel as xe, LazyToastContainerWrapper as we, showErrorToast as He, v4 as Ne, CHAT_RESET as Fe, CHAT_SET_ATTACHMENTS as Me, CHAT_SET_STATUS as Ge, Panel as Ve, Toggle as B, CancelButton as ze } from "./App.BLNMkw5x.js";
|
|
4
4
|
import Pe from "clsx";
|
|
5
|
-
import { useRef as
|
|
5
|
+
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
6
|
const Ke = Be(
|
|
7
7
|
() => import(
|
|
8
8
|
/* webpackChunkName: "history-table" */
|
|
9
|
-
"./ChatHistoryTable.
|
|
10
|
-
).then((
|
|
9
|
+
"./ChatHistoryTable.rOFYnFKa.js"
|
|
10
|
+
).then((S) => ({ default: S.ChatHistoryTable }))
|
|
11
11
|
), Ye = ({
|
|
12
|
-
filteredHistory:
|
|
13
|
-
onOpenChange:
|
|
14
|
-
mutate:
|
|
12
|
+
filteredHistory: S,
|
|
13
|
+
onOpenChange: f,
|
|
14
|
+
mutate: y,
|
|
15
15
|
isLoading: E = !1,
|
|
16
|
-
totalHistoryCount:
|
|
17
|
-
isFiltered:
|
|
18
|
-
isSearchActive:
|
|
16
|
+
totalHistoryCount: _,
|
|
17
|
+
isFiltered: w = !1,
|
|
18
|
+
isSearchActive: L = !1
|
|
19
19
|
}) => {
|
|
20
|
-
const { user:
|
|
20
|
+
const { user: l, getAccessToken: a } = K(), T = x(null), d = x({
|
|
21
21
|
id: "",
|
|
22
22
|
timestamp: "",
|
|
23
23
|
message: ""
|
|
24
|
-
}), [
|
|
25
|
-
|
|
26
|
-
), { state:
|
|
27
|
-
searchString:
|
|
28
|
-
sortDirection:
|
|
29
|
-
sortedCell:
|
|
24
|
+
}), [h, D] = G(!1), [O, H] = G(
|
|
25
|
+
U + re
|
|
26
|
+
), { state: o, dispatch: N } = V(Y), k = {
|
|
27
|
+
searchString: o.searchString || "",
|
|
28
|
+
sortDirection: o.sortDirection || u.DESC,
|
|
29
|
+
sortedCell: o.sortedCell || I
|
|
30
30
|
}, {
|
|
31
|
-
setChatId:
|
|
32
|
-
setInitialMessages:
|
|
33
|
-
dispatch:
|
|
34
|
-
} =
|
|
35
|
-
key:
|
|
36
|
-
initialValue:
|
|
37
|
-
}), [
|
|
38
|
-
key:
|
|
39
|
-
initialValue:
|
|
40
|
-
}), [,
|
|
41
|
-
key:
|
|
42
|
-
initialValue:
|
|
43
|
-
}), [W] =
|
|
44
|
-
key:
|
|
31
|
+
setChatId: p,
|
|
32
|
+
setInitialMessages: c,
|
|
33
|
+
dispatch: g
|
|
34
|
+
} = V(se), { setInput: A } = Ie(), [v, R] = m({
|
|
35
|
+
key: C + oe,
|
|
36
|
+
initialValue: u.DESC
|
|
37
|
+
}), [F, M] = m({
|
|
38
|
+
key: C + ne,
|
|
39
|
+
initialValue: u.ASC
|
|
40
|
+
}), [, r] = m({
|
|
41
|
+
key: C + ie,
|
|
42
|
+
initialValue: I
|
|
43
|
+
}), [W] = m({
|
|
44
|
+
key: C + ce,
|
|
45
45
|
initialValue: ""
|
|
46
|
-
}), { mutateAsync: q } = le({ getAccessToken:
|
|
47
|
-
getAccessToken:
|
|
46
|
+
}), { mutateAsync: q } = le({ getAccessToken: a }), { mutateAsync: Q } = de({
|
|
47
|
+
getAccessToken: a
|
|
48
48
|
}), X = (e) => {
|
|
49
|
-
const
|
|
50
|
-
let s,
|
|
49
|
+
const n = o.sortedCell === e;
|
|
50
|
+
let s, b;
|
|
51
51
|
switch (e) {
|
|
52
|
-
case
|
|
53
|
-
|
|
52
|
+
case I:
|
|
53
|
+
b = R, s = n ? o.sortDirection : v;
|
|
54
54
|
break;
|
|
55
55
|
case fe:
|
|
56
|
-
|
|
56
|
+
b = M, s = n ? o.sortDirection : F;
|
|
57
57
|
break;
|
|
58
58
|
default:
|
|
59
|
-
|
|
59
|
+
b = R, s = n ? o.sortDirection : v;
|
|
60
60
|
break;
|
|
61
61
|
}
|
|
62
|
-
const
|
|
63
|
-
|
|
62
|
+
const P = s === u.ASC ? u.DESC : u.ASC;
|
|
63
|
+
b(P), r(e), N({
|
|
64
64
|
type: Se,
|
|
65
65
|
payload: {
|
|
66
66
|
sortedCell: e,
|
|
67
|
-
sortDirection:
|
|
67
|
+
sortDirection: P
|
|
68
68
|
}
|
|
69
69
|
});
|
|
70
70
|
}, $ = async () => {
|
|
71
|
-
const e =
|
|
71
|
+
const e = d.current;
|
|
72
72
|
try {
|
|
73
73
|
await q({
|
|
74
|
-
userId:
|
|
74
|
+
userId: l?.username || "",
|
|
75
75
|
id: e.id
|
|
76
|
-
}),
|
|
76
|
+
}), y(""), await He(ue, {
|
|
77
77
|
autoClose: 2e3,
|
|
78
78
|
containerId: "history-table"
|
|
79
79
|
});
|
|
@@ -81,14 +81,14 @@ const Ke = Be(
|
|
|
81
81
|
}
|
|
82
82
|
}, J = async (e) => {
|
|
83
83
|
try {
|
|
84
|
-
const
|
|
85
|
-
accessToken:
|
|
84
|
+
const n = await a(), s = await me({
|
|
85
|
+
accessToken: n,
|
|
86
86
|
type: Ce.GET_CHAT,
|
|
87
87
|
params: {
|
|
88
88
|
id: e.id
|
|
89
89
|
}
|
|
90
90
|
});
|
|
91
|
-
|
|
91
|
+
g({
|
|
92
92
|
type: Ge,
|
|
93
93
|
payload: {
|
|
94
94
|
streaming: !1,
|
|
@@ -97,21 +97,21 @@ const Ke = Be(
|
|
|
97
97
|
restoredModel: s.data?.model || "",
|
|
98
98
|
restoredUsage: s.data?.tokenUsage || 0
|
|
99
99
|
}
|
|
100
|
-
}),
|
|
100
|
+
}), A(""), p(e.id), c(s.data.messages), f(!1);
|
|
101
101
|
} catch {
|
|
102
102
|
}
|
|
103
103
|
}, Z = (e) => {
|
|
104
|
-
|
|
104
|
+
d.current = {
|
|
105
105
|
id: e.id,
|
|
106
106
|
timestamp: e.timestamp,
|
|
107
107
|
message: e.summary
|
|
108
|
-
},
|
|
108
|
+
}, D(!h), W === e.id && (p(Ne()), c([]), A(""), g({
|
|
109
109
|
type: Fe,
|
|
110
110
|
payload: {
|
|
111
111
|
privateChat: !1,
|
|
112
112
|
reasoning: !1
|
|
113
113
|
}
|
|
114
|
-
}),
|
|
114
|
+
}), g({
|
|
115
115
|
type: Me,
|
|
116
116
|
payload: {
|
|
117
117
|
attachments: 0
|
|
@@ -120,30 +120,30 @@ const Ke = Be(
|
|
|
120
120
|
}, ee = async (e) => {
|
|
121
121
|
try {
|
|
122
122
|
await Q({
|
|
123
|
-
userId:
|
|
123
|
+
userId: l?.username || "",
|
|
124
124
|
id: e.id
|
|
125
|
-
}),
|
|
125
|
+
}), y("");
|
|
126
126
|
} catch {
|
|
127
127
|
}
|
|
128
|
-
},
|
|
129
|
-
e[0].isIntersecting &&
|
|
130
|
-
}, []), te =
|
|
128
|
+
}, z = j((e) => {
|
|
129
|
+
e[0].isIntersecting && H((s) => s + U);
|
|
130
|
+
}, []), te = j(
|
|
131
131
|
(e) => {
|
|
132
|
-
if (
|
|
133
|
-
const
|
|
132
|
+
if (T.current && T.current.disconnect(), e) {
|
|
133
|
+
const n = {
|
|
134
134
|
rootMargin: "20px"
|
|
135
|
-
}, s = new IntersectionObserver(
|
|
136
|
-
s.observe(e),
|
|
135
|
+
}, s = new IntersectionObserver(z, n);
|
|
136
|
+
s.observe(e), T.current = s;
|
|
137
137
|
}
|
|
138
138
|
},
|
|
139
|
-
[
|
|
139
|
+
[z]
|
|
140
140
|
);
|
|
141
141
|
return /* @__PURE__ */ i(ae, { children: [
|
|
142
142
|
/* @__PURE__ */ i(
|
|
143
143
|
xe,
|
|
144
144
|
{
|
|
145
|
-
showConfirmation:
|
|
146
|
-
setShowConfirmation:
|
|
145
|
+
showConfirmation: h,
|
|
146
|
+
setShowConfirmation: D,
|
|
147
147
|
action: $,
|
|
148
148
|
customStrings: {
|
|
149
149
|
confirmAction: "Delete",
|
|
@@ -156,12 +156,12 @@ const Ke = Be(
|
|
|
156
156
|
/* @__PURE__ */ i("li", { children: [
|
|
157
157
|
"Timestamp:",
|
|
158
158
|
" ",
|
|
159
|
-
/* @__PURE__ */ t("span", { className: "text-lg", children:
|
|
159
|
+
/* @__PURE__ */ t("span", { className: "text-lg", children: d.current && d.current.timestamp })
|
|
160
160
|
] }),
|
|
161
161
|
/* @__PURE__ */ i("li", { children: [
|
|
162
162
|
"First message:",
|
|
163
163
|
" ",
|
|
164
|
-
/* @__PURE__ */ t("span", { className: "text-lg", children:
|
|
164
|
+
/* @__PURE__ */ t("span", { className: "text-lg", children: d.current?.message })
|
|
165
165
|
] })
|
|
166
166
|
] })
|
|
167
167
|
]
|
|
@@ -171,93 +171,94 @@ const Ke = Be(
|
|
|
171
171
|
/* @__PURE__ */ t(Ue, { fallback: /* @__PURE__ */ t("div", {}), children: /* @__PURE__ */ t(
|
|
172
172
|
Ke,
|
|
173
173
|
{
|
|
174
|
-
filteredHistory:
|
|
175
|
-
historyState:
|
|
176
|
-
lastEntryToLoad:
|
|
174
|
+
filteredHistory: S,
|
|
175
|
+
historyState: k,
|
|
176
|
+
lastEntryToLoad: O,
|
|
177
177
|
onClickSort: X,
|
|
178
178
|
onClickRestore: J,
|
|
179
179
|
onClickDelete: Z,
|
|
180
180
|
onClickFavorite: ee,
|
|
181
181
|
infinityScrollMarkerRef: te,
|
|
182
182
|
isLoading: E,
|
|
183
|
-
totalHistoryCount:
|
|
184
|
-
isFiltered:
|
|
185
|
-
isSearchActive:
|
|
183
|
+
totalHistoryCount: _,
|
|
184
|
+
isFiltered: w,
|
|
185
|
+
isSearchActive: L
|
|
186
186
|
}
|
|
187
187
|
) })
|
|
188
188
|
] });
|
|
189
189
|
}, Je = ({
|
|
190
|
-
open:
|
|
191
|
-
onOpenChange:
|
|
190
|
+
open: S,
|
|
191
|
+
onOpenChange: f
|
|
192
192
|
}) => {
|
|
193
|
-
const { getAccessToken:
|
|
194
|
-
key:
|
|
195
|
-
initialValue:
|
|
196
|
-
}), [
|
|
197
|
-
key:
|
|
193
|
+
const y = x(null), { getAccessToken: E, user: _ } = K(), [w, L] = G([]), l = x(null), { state: a, dispatch: T } = V(Y), [, d] = m({
|
|
194
|
+
key: C + ye,
|
|
195
|
+
initialValue: a.searchString
|
|
196
|
+
}), [h, D] = m({
|
|
197
|
+
key: C + Te,
|
|
198
198
|
initialValue: !1
|
|
199
|
-
}), [
|
|
200
|
-
key:
|
|
199
|
+
}), [O, H] = m({
|
|
200
|
+
key: C + pe,
|
|
201
201
|
initialValue: !0
|
|
202
202
|
}), {
|
|
203
|
-
data:
|
|
204
|
-
refetch:
|
|
205
|
-
isLoading:
|
|
206
|
-
isError:
|
|
203
|
+
data: o,
|
|
204
|
+
refetch: N,
|
|
205
|
+
isLoading: k,
|
|
206
|
+
isError: p
|
|
207
207
|
} = ge({
|
|
208
|
-
enabled:
|
|
209
|
-
user:
|
|
210
|
-
searchString:
|
|
211
|
-
sortDirection:
|
|
212
|
-
sortedCell:
|
|
213
|
-
getAccessToken:
|
|
214
|
-
keywordMatchAll:
|
|
215
|
-
}), { data:
|
|
216
|
-
user:
|
|
217
|
-
getAccessToken:
|
|
218
|
-
}),
|
|
208
|
+
enabled: S,
|
|
209
|
+
user: _?.username || "",
|
|
210
|
+
searchString: a.searchString || "",
|
|
211
|
+
sortDirection: a.sortDirection || u.DESC,
|
|
212
|
+
sortedCell: a.sortedCell || I,
|
|
213
|
+
getAccessToken: E,
|
|
214
|
+
keywordMatchAll: O
|
|
215
|
+
}), { data: c } = Ae({
|
|
216
|
+
user: _?.username,
|
|
217
|
+
getAccessToken: E
|
|
218
|
+
}), g = c && c.totalChats ? c.totalChats - c.privateChats - c.deletedChats : 0;
|
|
219
219
|
je(() => {
|
|
220
|
-
|
|
221
|
-
|
|
220
|
+
o && L(
|
|
221
|
+
h ? o.filter((r) => r.favoriteChat === !0) : o
|
|
222
222
|
);
|
|
223
|
-
}, [
|
|
224
|
-
const
|
|
225
|
-
|
|
223
|
+
}, [o, h]);
|
|
224
|
+
const A = async (r) => {
|
|
225
|
+
d(r), T({
|
|
226
226
|
type: be,
|
|
227
|
-
payload: { searchString:
|
|
227
|
+
payload: { searchString: r }
|
|
228
228
|
});
|
|
229
|
-
}, v = De((
|
|
230
|
-
|
|
231
|
-
}, 800), R = async (
|
|
232
|
-
|
|
233
|
-
},
|
|
234
|
-
|
|
235
|
-
},
|
|
236
|
-
H(
|
|
229
|
+
}, v = De((r) => {
|
|
230
|
+
A(r.target.value.trim());
|
|
231
|
+
}, 800), R = async (r) => {
|
|
232
|
+
r.preventDefault();
|
|
233
|
+
}, F = (r) => {
|
|
234
|
+
D(r);
|
|
235
|
+
}, M = (r) => {
|
|
236
|
+
H(r);
|
|
237
237
|
};
|
|
238
238
|
return /* @__PURE__ */ i(
|
|
239
239
|
Ve,
|
|
240
240
|
{
|
|
241
|
-
open:
|
|
242
|
-
onOpenChange:
|
|
241
|
+
open: S,
|
|
242
|
+
onOpenChange: f,
|
|
243
243
|
title: Ee,
|
|
244
244
|
animation: !0,
|
|
245
245
|
animationType: "fade",
|
|
246
246
|
blurEffect: "large",
|
|
247
|
+
initialFocus: y,
|
|
247
248
|
footer: /* @__PURE__ */ t(
|
|
248
249
|
ve,
|
|
249
250
|
{
|
|
250
251
|
columnGap: 2,
|
|
251
252
|
alignHorizontal: "flex-end",
|
|
252
253
|
className: "pb-8 sm:pb-0",
|
|
253
|
-
children: /* @__PURE__ */ t(Re, { children: /* @__PURE__ */ t(ze, { onOpenChange: y }) })
|
|
254
|
+
children: /* @__PURE__ */ t(Re, { children: /* @__PURE__ */ t(ze, { onOpenChange: f, ref: y }) })
|
|
254
255
|
}
|
|
255
256
|
),
|
|
256
257
|
children: [
|
|
257
258
|
/* @__PURE__ */ t(
|
|
258
259
|
_e,
|
|
259
260
|
{
|
|
260
|
-
header:
|
|
261
|
+
header: k && a.searchString ? "Loading..." : a.searchString ? "Filters applied" : "Filters",
|
|
261
262
|
className: "prose-dark dark:prose-lighter mb-4",
|
|
262
263
|
noBorder: !0,
|
|
263
264
|
compact: !0,
|
|
@@ -271,8 +272,8 @@ const Ke = Be(
|
|
|
271
272
|
autoCapitalize: "off",
|
|
272
273
|
autoComplete: "off",
|
|
273
274
|
autoCorrect: "off",
|
|
274
|
-
ref:
|
|
275
|
-
defaultValue:
|
|
275
|
+
ref: l,
|
|
276
|
+
defaultValue: a.searchString,
|
|
276
277
|
mode: "alt-system",
|
|
277
278
|
name: "Search",
|
|
278
279
|
label: "Search",
|
|
@@ -284,22 +285,22 @@ const Ke = Be(
|
|
|
284
285
|
/* @__PURE__ */ i("div", { className: "flex flex-col justify-between sm:flex-row gap-2 sm:mb-0 mb-1", children: [
|
|
285
286
|
/* @__PURE__ */ i("div", { className: "flex flex-col sm:flex-row gap-2 order-1 sm:order-0", children: [
|
|
286
287
|
/* @__PURE__ */ t(
|
|
287
|
-
|
|
288
|
+
B,
|
|
288
289
|
{
|
|
289
290
|
name: "favorites-only",
|
|
290
|
-
checked:
|
|
291
|
-
onChange:
|
|
291
|
+
checked: h,
|
|
292
|
+
onChange: F,
|
|
292
293
|
label: "Show favorites only",
|
|
293
294
|
narrow: !0,
|
|
294
295
|
noBorder: !0
|
|
295
296
|
}
|
|
296
297
|
),
|
|
297
298
|
/* @__PURE__ */ t(
|
|
298
|
-
|
|
299
|
+
B,
|
|
299
300
|
{
|
|
300
301
|
name: "keyword-match-all",
|
|
301
|
-
checked:
|
|
302
|
-
onChange:
|
|
302
|
+
checked: O,
|
|
303
|
+
onChange: M,
|
|
303
304
|
label: "Match all keywords",
|
|
304
305
|
narrow: !0,
|
|
305
306
|
noBorder: !0
|
|
@@ -311,9 +312,9 @@ const Ke = Be(
|
|
|
311
312
|
{
|
|
312
313
|
mode: "light",
|
|
313
314
|
size: "small",
|
|
314
|
-
disabled:
|
|
315
|
+
disabled: a.searchString === "",
|
|
315
316
|
onClick: () => {
|
|
316
|
-
|
|
317
|
+
A(""), l.current?.value && (l.current.value = "", l.current.focus());
|
|
317
318
|
},
|
|
318
319
|
children: "Reset Search"
|
|
319
320
|
}
|
|
@@ -332,17 +333,17 @@ const Ke = Be(
|
|
|
332
333
|
"min-h-[60vh]"
|
|
333
334
|
),
|
|
334
335
|
children: [
|
|
335
|
-
|
|
336
|
-
!
|
|
336
|
+
p && /* @__PURE__ */ t("p", { className: "m-0 text-red-500", children: "Failed to load history." }),
|
|
337
|
+
!p && /* @__PURE__ */ t(
|
|
337
338
|
Ye,
|
|
338
339
|
{
|
|
339
|
-
mutate:
|
|
340
|
+
mutate: N,
|
|
340
341
|
filteredHistory: w,
|
|
341
|
-
onOpenChange:
|
|
342
|
-
isLoading:
|
|
343
|
-
totalHistoryCount:
|
|
344
|
-
isFiltered: !!(
|
|
345
|
-
isSearchActive: !!
|
|
342
|
+
onOpenChange: f,
|
|
343
|
+
isLoading: k,
|
|
344
|
+
totalHistoryCount: g,
|
|
345
|
+
isFiltered: !!(a.searchString || h),
|
|
346
|
+
isSearchActive: !!a.searchString
|
|
346
347
|
}
|
|
347
348
|
)
|
|
348
349
|
]
|