@versini/sassysaint 8.76.0 → 8.77.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.0kKcS_nT.js → AboutChangelog.tVLL6MtY.js} +10 -9
- package/dist/chunks/{AboutEntry.pKgicvGA.js → AboutEntry.D9MonPwL.js} +11 -11
- package/dist/chunks/App.CusyBC2e.js +9011 -0
- package/dist/chunks/{Chart.DD1RkG8X.js → Chart.bKur3H71.js} +2 -2
- package/dist/chunks/{ChatBubbleAssistant.K55U7Bno.js → ChatBubbleAssistant.CEZZn7AD.js} +25 -23
- package/dist/chunks/ChatBubbleUser.BYLIgaHX.js +131 -0
- package/dist/chunks/ChatHistoryTable.D9mUtUwJ.js +237 -0
- package/dist/chunks/HistoryEntry.DarYFRIp.js +316 -0
- package/dist/chunks/{ProfileEntry.Bb-kLfDX.js → ProfileEntry.C_Y--pVY.js} +26 -26
- package/dist/chunks/{SettingsEntry.DrmBVh-w.js → SettingsEntry.DffchAfB.js} +39 -39
- package/dist/chunks/Table.DBfFG7qO.js +359 -0
- package/dist/chunks/{UsageEntry.O3YdUF30.js → UsageEntry.C73mIvmD.js} +19 -19
- package/dist/chunks/{UserMemoriesPanel.Dl5GlyBr.js → UserMemoriesPanel.DXx_9ifJ.js} +184 -210
- package/dist/chunks/index.AVBqcs3f.js +266 -0
- package/dist/chunks/{index.DUl-LwyU.js → index.B4-jvDi6.js} +1 -1
- package/dist/chunks/{index.DEKgWsou.js → index.BVMzTtBw.js} +1 -1
- package/dist/chunks/index.BcYESdDV.js +7894 -0
- package/dist/chunks/{index.DGkW9g6n.js → index.ClJfV5zs.js} +3 -3
- package/dist/chunks/{index.BeIiCAAq.js → index.Hv_qeE7S.js} +2 -2
- package/dist/chunks/{index.B9mUNJfd.js → index.Ly8CrT48.js} +1 -1
- package/dist/chunks/index.bx7cnejn.js +153 -0
- package/dist/chunks/{useMarkdown.Bf7wGKkC.js → useMarkdown.KipSXqDZ.js} +2004 -2130
- 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/App.CtFpHv2O.js +0 -10007
- package/dist/chunks/ChatBubbleUser.DsX56Kxx.js +0 -128
- package/dist/chunks/ChatHistoryTable.BvEUTjiq.js +0 -288
- package/dist/chunks/HistoryEntry.BSOPWYO2.js +0 -333
- package/dist/chunks/Table.BbIvEnBz.js +0 -456
- package/dist/chunks/index.BNusLsEn.js +0 -357
- package/dist/chunks/index.Czv_1MTM.js +0 -7203
- package/dist/chunks/index.icjUE8II.js +0 -249
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
import { jsxs as l, Fragment as re, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { n as M, INFINITE_SCROLL_LIMIT as G, INFINITE_SCROLL_THRESHOLD as ae, useLocalStorage as p, LOCAL_STORAGE_PREFIX as y, LOCAL_STORAGE_SORT_TIMESTAMP as se, LOCAL_STORAGE_SORT_TOKEN_USAGE as oe, LOCAL_STORAGE_SORT as ne, f as R, useUserPreferences as ie, useDeleteChat as ce, useToggleFavoriteChat as le, APP_CLASSNAME as de, TOAST_CHAT_DELETED as he, graphQLRequest as ue, SERVICE_TYPES as me, setNewProvider as Ce, ACTION_SORT as Se, h as fe, TOAST_PROVIDER_CHANGED as pe, useChatsHistory as ye, useUserChatStats as Te, LOCAL_STORAGE_SEARCH as ge, LOCAL_STORAGE_FAVORITES_ONLY as Ae, HISTORY_TITLE as Ee, Card as ve, TextInput as _e, debounce as De, IconSearch as Oe, Button as Re, ACTION_SEARCH as Ie } from "./index.BcYESdDV.js";
|
|
3
|
+
import { HistoryContext as U, ChatContext as B, useAiChat as Le, e as h, ConfirmationPanel as ke, LazyToastContainerWrapper as be, showErrorToast as Ne, CHAT_SET_PROVIDER as we, showSuccessToast as xe, CHAT_SET_STATUS as He, Panel as Fe, Toggle as Pe } from "./App.CusyBC2e.js";
|
|
4
|
+
import { useRef as H, useState as F, useContext as I, useCallback as z, Suspense as Ve, lazy as Ge, useEffect as ze } from "react";
|
|
5
|
+
const Me = Ge(
|
|
6
|
+
() => import(
|
|
7
|
+
/* webpackChunkName: "history-table" */
|
|
8
|
+
"./ChatHistoryTable.D9mUtUwJ.js"
|
|
9
|
+
).then((u) => ({ default: u.ChatHistoryTable }))
|
|
10
|
+
), Ue = ({
|
|
11
|
+
filteredHistory: u,
|
|
12
|
+
dispatch: C,
|
|
13
|
+
onOpenChange: T,
|
|
14
|
+
mutate: S,
|
|
15
|
+
isLoading: L = !1,
|
|
16
|
+
totalHistoryCount: k,
|
|
17
|
+
isFiltered: g = !1
|
|
18
|
+
}) => {
|
|
19
|
+
const { user: i, getAccessToken: a } = M(), f = H(null), n = H({
|
|
20
|
+
id: "",
|
|
21
|
+
timestamp: "",
|
|
22
|
+
message: ""
|
|
23
|
+
}), [A, E] = F(!1), [v, d] = F(
|
|
24
|
+
G + ae
|
|
25
|
+
), { state: c, dispatch: b } = I(U), m = {
|
|
26
|
+
searchString: c.searchString || "",
|
|
27
|
+
sortDirection: c.sortDirection || h.DESC,
|
|
28
|
+
sortedCell: c.sortedCell || R
|
|
29
|
+
}, {
|
|
30
|
+
state: { provider: N },
|
|
31
|
+
setChatId: _,
|
|
32
|
+
setInitialMessages: w
|
|
33
|
+
} = I(B), { setInput: x } = Le(), [D, s] = p({
|
|
34
|
+
key: y + se,
|
|
35
|
+
initialValue: h.DESC
|
|
36
|
+
}), [j, Y] = p({
|
|
37
|
+
key: y + oe,
|
|
38
|
+
initialValue: h.ASC
|
|
39
|
+
}), [, $] = p({
|
|
40
|
+
key: y + ne,
|
|
41
|
+
initialValue: R
|
|
42
|
+
}), { refetch: q } = ie({
|
|
43
|
+
user: i?.username,
|
|
44
|
+
getAccessToken: a
|
|
45
|
+
}), { mutateAsync: K } = ce({ getAccessToken: a }), { mutateAsync: Q } = le({
|
|
46
|
+
getAccessToken: a
|
|
47
|
+
}), W = (e) => {
|
|
48
|
+
const o = c.sortedCell === e;
|
|
49
|
+
let t, O;
|
|
50
|
+
switch (e) {
|
|
51
|
+
case R:
|
|
52
|
+
O = s, t = o ? c.sortDirection : D;
|
|
53
|
+
break;
|
|
54
|
+
case fe:
|
|
55
|
+
O = Y, t = o ? c.sortDirection : j;
|
|
56
|
+
break;
|
|
57
|
+
default:
|
|
58
|
+
O = s, t = o ? c.sortDirection : D;
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
const V = t === h.ASC ? h.DESC : h.ASC;
|
|
62
|
+
O(V), $(e), b({
|
|
63
|
+
type: Se,
|
|
64
|
+
payload: {
|
|
65
|
+
sortedCell: e,
|
|
66
|
+
sortDirection: V
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}, X = async () => {
|
|
70
|
+
const e = n.current;
|
|
71
|
+
try {
|
|
72
|
+
await K({
|
|
73
|
+
userId: i?.username || "",
|
|
74
|
+
id: e.id
|
|
75
|
+
}), S(""), await Ne(he, {
|
|
76
|
+
autoClose: 2e3,
|
|
77
|
+
containerId: "history-table"
|
|
78
|
+
});
|
|
79
|
+
} catch {
|
|
80
|
+
}
|
|
81
|
+
}, J = async (e) => {
|
|
82
|
+
try {
|
|
83
|
+
const o = await a(), t = await ue({
|
|
84
|
+
accessToken: o,
|
|
85
|
+
type: me.GET_CHAT,
|
|
86
|
+
params: {
|
|
87
|
+
id: e.id
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
t.data.provider !== N && (await Ce({
|
|
91
|
+
provider: t.data.provider,
|
|
92
|
+
model: t.data.model,
|
|
93
|
+
accessToken: o,
|
|
94
|
+
username: i?.username || ""
|
|
95
|
+
}), C({
|
|
96
|
+
type: we,
|
|
97
|
+
payload: {
|
|
98
|
+
provider: t.data.provider
|
|
99
|
+
}
|
|
100
|
+
}), q(), await xe(
|
|
101
|
+
`${pe} ${t.data.provider}`,
|
|
102
|
+
{
|
|
103
|
+
containerId: "toggle-provider"
|
|
104
|
+
}
|
|
105
|
+
)), C({
|
|
106
|
+
type: He,
|
|
107
|
+
payload: {
|
|
108
|
+
restoring: !0,
|
|
109
|
+
restoredModel: t.data?.model || "",
|
|
110
|
+
restoredUsage: t.data?.tokenUsage || 0
|
|
111
|
+
}
|
|
112
|
+
}), x(""), _(e.id), w(t.data.messages), T(!1);
|
|
113
|
+
} catch {
|
|
114
|
+
}
|
|
115
|
+
}, Z = (e) => {
|
|
116
|
+
n.current = {
|
|
117
|
+
id: e.id,
|
|
118
|
+
timestamp: e.timestamp,
|
|
119
|
+
message: e.messages.length > 0 ? e.messages[0]?.content : ""
|
|
120
|
+
}, E(!A);
|
|
121
|
+
}, ee = async (e) => {
|
|
122
|
+
try {
|
|
123
|
+
await Q({
|
|
124
|
+
userId: i?.username || "",
|
|
125
|
+
id: e.id
|
|
126
|
+
}), S("");
|
|
127
|
+
} catch {
|
|
128
|
+
}
|
|
129
|
+
}, P = z((e) => {
|
|
130
|
+
e[0].isIntersecting && d((t) => t + G);
|
|
131
|
+
}, []), te = z(
|
|
132
|
+
(e) => {
|
|
133
|
+
if (f.current && f.current.disconnect(), e) {
|
|
134
|
+
const o = {
|
|
135
|
+
rootMargin: "20px"
|
|
136
|
+
}, t = new IntersectionObserver(P, o);
|
|
137
|
+
t.observe(e), f.current = t;
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
[P]
|
|
141
|
+
);
|
|
142
|
+
return /* @__PURE__ */ l(re, { children: [
|
|
143
|
+
/* @__PURE__ */ l(
|
|
144
|
+
ke,
|
|
145
|
+
{
|
|
146
|
+
showConfirmation: A,
|
|
147
|
+
setShowConfirmation: E,
|
|
148
|
+
action: X,
|
|
149
|
+
customStrings: {
|
|
150
|
+
confirmAction: "Delete",
|
|
151
|
+
cancelAction: "Cancel",
|
|
152
|
+
title: "Delete chat"
|
|
153
|
+
},
|
|
154
|
+
children: [
|
|
155
|
+
/* @__PURE__ */ r("p", { className: "m-0", children: "Are you sure you want to delete the following chat:" }),
|
|
156
|
+
/* @__PURE__ */ l("ul", { className: "m-0", children: [
|
|
157
|
+
/* @__PURE__ */ l("li", { children: [
|
|
158
|
+
"Timestamp:",
|
|
159
|
+
" ",
|
|
160
|
+
/* @__PURE__ */ r("span", { className: "text-lg", children: n.current && n.current.timestamp })
|
|
161
|
+
] }),
|
|
162
|
+
/* @__PURE__ */ l("li", { children: [
|
|
163
|
+
"First message:",
|
|
164
|
+
" ",
|
|
165
|
+
/* @__PURE__ */ r("span", { className: "text-lg", children: n.current?.message })
|
|
166
|
+
] })
|
|
167
|
+
] })
|
|
168
|
+
]
|
|
169
|
+
}
|
|
170
|
+
),
|
|
171
|
+
/* @__PURE__ */ r("div", { className: de, children: /* @__PURE__ */ r(be, { containerId: "history-table" }) }),
|
|
172
|
+
/* @__PURE__ */ r(Ve, { fallback: /* @__PURE__ */ r("div", {}), children: /* @__PURE__ */ r(
|
|
173
|
+
Me,
|
|
174
|
+
{
|
|
175
|
+
filteredHistory: u,
|
|
176
|
+
historyState: m,
|
|
177
|
+
lastEntryToLoad: v,
|
|
178
|
+
onClickSort: W,
|
|
179
|
+
onClickRestore: J,
|
|
180
|
+
onClickDelete: Z,
|
|
181
|
+
onClickFavorite: ee,
|
|
182
|
+
infinityScrollMarkerRef: te,
|
|
183
|
+
isLoading: L,
|
|
184
|
+
totalHistoryCount: k,
|
|
185
|
+
isFiltered: g
|
|
186
|
+
}
|
|
187
|
+
) })
|
|
188
|
+
] });
|
|
189
|
+
}, qe = ({
|
|
190
|
+
open: u,
|
|
191
|
+
onOpenChange: C
|
|
192
|
+
}) => {
|
|
193
|
+
const { getAccessToken: T, user: S } = M(), { dispatch: L } = I(B), [k, g] = F([]), i = H(null), { state: a, dispatch: f } = I(U), {
|
|
194
|
+
data: n,
|
|
195
|
+
refetch: A,
|
|
196
|
+
isLoading: E,
|
|
197
|
+
isError: v
|
|
198
|
+
} = ye({
|
|
199
|
+
enabled: u,
|
|
200
|
+
user: S?.username || "",
|
|
201
|
+
searchString: a.searchString || "",
|
|
202
|
+
sortDirection: a.sortDirection || h.DESC,
|
|
203
|
+
sortedCell: a.sortedCell || R,
|
|
204
|
+
getAccessToken: T
|
|
205
|
+
}), { data: d } = Te({
|
|
206
|
+
user: S?.username,
|
|
207
|
+
getAccessToken: T
|
|
208
|
+
}), c = d && d.totalChats ? d.totalChats - d.privateChats - d.deletedChats : 0, [, b] = p({
|
|
209
|
+
key: y + ge,
|
|
210
|
+
initialValue: a.searchString
|
|
211
|
+
}), [m, N] = p({
|
|
212
|
+
key: y + Ae,
|
|
213
|
+
initialValue: !1
|
|
214
|
+
});
|
|
215
|
+
ze(() => {
|
|
216
|
+
n && g(
|
|
217
|
+
m ? n.filter((s) => s.favoriteChat === !0) : n
|
|
218
|
+
);
|
|
219
|
+
}, [n, m]);
|
|
220
|
+
const _ = async (s) => {
|
|
221
|
+
b(s), f({
|
|
222
|
+
type: Ie,
|
|
223
|
+
payload: { searchString: s }
|
|
224
|
+
});
|
|
225
|
+
}, w = De((s) => {
|
|
226
|
+
_(s.target.value.trim());
|
|
227
|
+
}, 500), x = async (s) => {
|
|
228
|
+
s.preventDefault();
|
|
229
|
+
}, D = (s) => {
|
|
230
|
+
N(s);
|
|
231
|
+
};
|
|
232
|
+
return /* @__PURE__ */ l(
|
|
233
|
+
Fe,
|
|
234
|
+
{
|
|
235
|
+
open: u,
|
|
236
|
+
onOpenChange: C,
|
|
237
|
+
title: Ee,
|
|
238
|
+
animation: !0,
|
|
239
|
+
animationType: "fade",
|
|
240
|
+
children: [
|
|
241
|
+
/* @__PURE__ */ r(
|
|
242
|
+
ve,
|
|
243
|
+
{
|
|
244
|
+
header: a.searchString ? "Filters applied" : "Filters",
|
|
245
|
+
className: "prose-dark dark:prose-lighter mb-4",
|
|
246
|
+
noBorder: !0,
|
|
247
|
+
compact: !0,
|
|
248
|
+
children: /* @__PURE__ */ l("form", { autoComplete: "off", onSubmit: x, children: [
|
|
249
|
+
/* @__PURE__ */ r(
|
|
250
|
+
_e,
|
|
251
|
+
{
|
|
252
|
+
placeholder: "Search",
|
|
253
|
+
labelHidden: !0,
|
|
254
|
+
noBorder: !0,
|
|
255
|
+
autoCapitalize: "off",
|
|
256
|
+
autoComplete: "off",
|
|
257
|
+
autoCorrect: "off",
|
|
258
|
+
ref: i,
|
|
259
|
+
defaultValue: a.searchString,
|
|
260
|
+
mode: "alt-system",
|
|
261
|
+
name: "Search",
|
|
262
|
+
label: "Search",
|
|
263
|
+
onChange: w,
|
|
264
|
+
className: "my-2",
|
|
265
|
+
rightElement: /* @__PURE__ */ r("div", { className: "dark:text-copy-dark text-copy-light", children: /* @__PURE__ */ r(Oe, { monotone: !0, size: "size-3" }) })
|
|
266
|
+
}
|
|
267
|
+
),
|
|
268
|
+
/* @__PURE__ */ l("div", { className: "flex flex-col justify-between sm:flex-row gap-2 sm:mb-0 mb-1", children: [
|
|
269
|
+
/* @__PURE__ */ r("div", { className: "order-1 sm:order-0", children: /* @__PURE__ */ r(
|
|
270
|
+
Pe,
|
|
271
|
+
{
|
|
272
|
+
name: "favorites-only",
|
|
273
|
+
checked: m,
|
|
274
|
+
onChange: D,
|
|
275
|
+
label: "Show favorites only",
|
|
276
|
+
narrow: !0,
|
|
277
|
+
noBorder: !0
|
|
278
|
+
}
|
|
279
|
+
) }),
|
|
280
|
+
/* @__PURE__ */ r(
|
|
281
|
+
Re,
|
|
282
|
+
{
|
|
283
|
+
size: "small",
|
|
284
|
+
disabled: a.searchString === "",
|
|
285
|
+
onClick: () => {
|
|
286
|
+
_(""), i.current?.value && (i.current.value = "", i.current.focus());
|
|
287
|
+
},
|
|
288
|
+
children: "Reset Search"
|
|
289
|
+
}
|
|
290
|
+
)
|
|
291
|
+
] })
|
|
292
|
+
] })
|
|
293
|
+
}
|
|
294
|
+
),
|
|
295
|
+
/* @__PURE__ */ l("div", { className: "flex flex-col sm:flex-row max-h-[65vh] sm:max-h-[75vh] min-h-[60vh]", children: [
|
|
296
|
+
v && /* @__PURE__ */ r("p", { className: "m-0 text-red-500", children: "Failed to load history." }),
|
|
297
|
+
!v && /* @__PURE__ */ r(
|
|
298
|
+
Ue,
|
|
299
|
+
{
|
|
300
|
+
mutate: A,
|
|
301
|
+
filteredHistory: k,
|
|
302
|
+
dispatch: L,
|
|
303
|
+
onOpenChange: C,
|
|
304
|
+
isLoading: E,
|
|
305
|
+
totalHistoryCount: c,
|
|
306
|
+
isFiltered: !!(a.searchString || m)
|
|
307
|
+
}
|
|
308
|
+
)
|
|
309
|
+
] })
|
|
310
|
+
]
|
|
311
|
+
}
|
|
312
|
+
);
|
|
313
|
+
};
|
|
314
|
+
export {
|
|
315
|
+
qe as HistoryPanel
|
|
316
|
+
};
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { jsxs as t, Fragment as D, jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { preloadToast as K, showSuccessToast as W, showErrorToast as Y, ConfirmationPanel as
|
|
3
|
-
import { n as q,
|
|
2
|
+
import { preloadToast as K, showSuccessToast as W, showErrorToast as Y, ConfirmationPanel as H, LazyToastContainerWrapper as $, Panel as V } from "./App.CusyBC2e.js";
|
|
3
|
+
import { n as q, useUniqueId as J, useUserPreferences as Q, useServerCapabilities as X, N as Z, setUserPlan as ee, Card as d, renderDataAsList as ae, CARDS as s, L as P, j as c, Button as se, it as ne, isTauri as re, ButtonIcon as te, IconPasskey as L, PROFILE_TITLE as le } from "./index.BcYESdDV.js";
|
|
4
4
|
import ie from "clsx";
|
|
5
|
-
import { useState as m, useMemo as ce, useCallback as
|
|
5
|
+
import { useState as m, useMemo as ce, useCallback as f } from "react";
|
|
6
6
|
const oe = () => {
|
|
7
7
|
const {
|
|
8
8
|
isAuthenticated: h,
|
|
9
9
|
user: n,
|
|
10
|
-
registeringForPasskey:
|
|
10
|
+
registeringForPasskey: b,
|
|
11
11
|
authenticationType: y,
|
|
12
12
|
getAccessToken: u
|
|
13
13
|
} = q(), [v, N] = m(null), [T, F] = m(!1), [x, C] = m(!1), [l, w] = m(null), U = J(), A = n?.username || "", {
|
|
14
14
|
data: p,
|
|
15
15
|
isSuccess: _,
|
|
16
|
-
refetch:
|
|
16
|
+
refetch: I
|
|
17
17
|
} = Q({
|
|
18
18
|
user: n?.username,
|
|
19
19
|
getAccessToken: u
|
|
20
|
-
}), { data:
|
|
20
|
+
}), { data: E, isSuccess: S } = X(), R = ce(() => !S || !E?.plans ? [] : E.plans.map((a) => ({
|
|
21
21
|
id: a.name,
|
|
22
22
|
label: a.label,
|
|
23
23
|
description: a.description,
|
|
@@ -25,16 +25,16 @@ const oe = () => {
|
|
|
25
25
|
models: a.allowedModels.map(
|
|
26
26
|
(r) => Z[r] || r
|
|
27
27
|
)
|
|
28
|
-
})), [
|
|
28
|
+
})), [S, E?.plans]), g = f(() => {
|
|
29
29
|
T || (K(), F(!0));
|
|
30
|
-
}, [T]), z =
|
|
30
|
+
}, [T]), z = f(async () => {
|
|
31
31
|
if (!(!l || !n?.username))
|
|
32
32
|
try {
|
|
33
33
|
N(l.id), await ee({
|
|
34
34
|
plan: l.id,
|
|
35
35
|
accessToken: await u(),
|
|
36
36
|
username: n.username
|
|
37
|
-
}), await
|
|
37
|
+
}), await I(), await W(
|
|
38
38
|
`${s.PLANS.SWITCH_SUCCESS} ${l.label}`,
|
|
39
39
|
{
|
|
40
40
|
containerId: "profile-plan-selection"
|
|
@@ -47,7 +47,7 @@ const oe = () => {
|
|
|
47
47
|
} finally {
|
|
48
48
|
N(null), w(null);
|
|
49
49
|
}
|
|
50
|
-
}, [u, l,
|
|
50
|
+
}, [u, l, I, n?.username]), B = f(
|
|
51
51
|
(a, r) => {
|
|
52
52
|
!n?.username || a === p?.plan || (w({ id: a, label: r }), C(!0));
|
|
53
53
|
},
|
|
@@ -55,7 +55,7 @@ const oe = () => {
|
|
|
55
55
|
);
|
|
56
56
|
return h && A ? /* @__PURE__ */ t(D, { children: [
|
|
57
57
|
/* @__PURE__ */ e(
|
|
58
|
-
|
|
58
|
+
H,
|
|
59
59
|
{
|
|
60
60
|
showConfirmation: x,
|
|
61
61
|
setShowConfirmation: C,
|
|
@@ -72,7 +72,7 @@ const oe = () => {
|
|
|
72
72
|
] })
|
|
73
73
|
}
|
|
74
74
|
),
|
|
75
|
-
/* @__PURE__ */ e("div", { className: "av-sassy", children: /* @__PURE__ */ e(
|
|
75
|
+
/* @__PURE__ */ e("div", { className: "av-sassy", children: /* @__PURE__ */ e($, { containerId: "profile-plan-selection" }) }),
|
|
76
76
|
/* @__PURE__ */ e(
|
|
77
77
|
d,
|
|
78
78
|
{
|
|
@@ -85,7 +85,7 @@ const oe = () => {
|
|
|
85
85
|
})
|
|
86
86
|
}
|
|
87
87
|
),
|
|
88
|
-
_ &&
|
|
88
|
+
_ && S && R.length > 0 && /* @__PURE__ */ t(
|
|
89
89
|
d,
|
|
90
90
|
{
|
|
91
91
|
header: s.PLANS.TITLE,
|
|
@@ -93,9 +93,9 @@ const oe = () => {
|
|
|
93
93
|
noBorder: !0,
|
|
94
94
|
children: [
|
|
95
95
|
/* @__PURE__ */ e("p", { className: "text-sm", children: s.PLANS.DESCRIPTION }),
|
|
96
|
-
/* @__PURE__ */ e(
|
|
97
|
-
const o = p?.plan === a, j = o ? s.PLANS.ACTIVE_BADGE : `Get ${r}`,
|
|
98
|
-
return /* @__PURE__ */ e(c, { span: { fallback: 12, md: 4 }, children: /* @__PURE__ */ e(d, { mode: "darker", className: "prose-lighter h-full", children: /* @__PURE__ */ t(
|
|
96
|
+
/* @__PURE__ */ e(P, { columnGap: 3, rowGap: 3, className: "mt-4", children: R.map(({ id: a, label: r, description: M, features: G, models: O }) => {
|
|
97
|
+
const o = p?.plan === a, j = o ? s.PLANS.ACTIVE_BADGE : `Get ${r}`, k = v === a;
|
|
98
|
+
return /* @__PURE__ */ e(c, { span: { fallback: 12, md: 4 }, children: /* @__PURE__ */ e(d, { mode: "darker", className: "prose-lighter h-full", children: /* @__PURE__ */ t(P, { direction: "column", children: [
|
|
99
99
|
/* @__PURE__ */ t(c, { children: [
|
|
100
100
|
/* @__PURE__ */ e("div", { className: "flex items-start justify-between gap-2", children: /* @__PURE__ */ t("div", { children: [
|
|
101
101
|
/* @__PURE__ */ e(
|
|
@@ -107,7 +107,7 @@ const oe = () => {
|
|
|
107
107
|
children: r
|
|
108
108
|
}
|
|
109
109
|
),
|
|
110
|
-
/* @__PURE__ */ e("p", { className: "mb-0 text-sm opacity-80", children:
|
|
110
|
+
/* @__PURE__ */ e("p", { className: "mb-0 text-sm opacity-80", children: M })
|
|
111
111
|
] }) }),
|
|
112
112
|
/* @__PURE__ */ e("h4", { children: "Features" }),
|
|
113
113
|
/* @__PURE__ */ e("ul", { className: "prose-li:text-sm", children: G.map((i) => /* @__PURE__ */ e("li", { children: i }, i)) }),
|
|
@@ -122,13 +122,13 @@ const oe = () => {
|
|
|
122
122
|
variant: o ? "selected" : "secondary",
|
|
123
123
|
className: "mt-4",
|
|
124
124
|
fullWidth: !0,
|
|
125
|
-
disabled: o ||
|
|
125
|
+
disabled: o || k,
|
|
126
126
|
onClick: () => {
|
|
127
|
-
|
|
127
|
+
B(a, r);
|
|
128
128
|
},
|
|
129
129
|
onMouseEnter: g,
|
|
130
130
|
onFocus: g,
|
|
131
|
-
children:
|
|
131
|
+
children: k ? "Updating..." : j
|
|
132
132
|
}
|
|
133
133
|
) })
|
|
134
134
|
] }) }) }, a);
|
|
@@ -141,8 +141,8 @@ const oe = () => {
|
|
|
141
141
|
{
|
|
142
142
|
className: "prose-dark dark:prose-lighter mt-4",
|
|
143
143
|
noBorder: !0,
|
|
144
|
-
header: /* @__PURE__ */ e("h2", { className: "m-0", children: /* @__PURE__ */ t(
|
|
145
|
-
/* @__PURE__ */ e(c, { children: /* @__PURE__ */ e(
|
|
144
|
+
header: /* @__PURE__ */ e("h2", { className: "m-0", children: /* @__PURE__ */ t(P, { columnGap: 3, alignVertical: "center", children: [
|
|
145
|
+
/* @__PURE__ */ e(c, { children: /* @__PURE__ */ e(L, { size: "size-8" }) }),
|
|
146
146
|
/* @__PURE__ */ e(c, { children: /* @__PURE__ */ e("div", { children: s.PREFERENCES.PASSKEY_TITLE }) })
|
|
147
147
|
] }) }),
|
|
148
148
|
children: [
|
|
@@ -153,16 +153,16 @@ const oe = () => {
|
|
|
153
153
|
variant: "selected",
|
|
154
154
|
size: "small",
|
|
155
155
|
className: "mt-2",
|
|
156
|
-
onClick:
|
|
156
|
+
onClick: b,
|
|
157
157
|
labelLeft: s.PREFERENCES.PASSKEY_BUTTON,
|
|
158
|
-
children: /* @__PURE__ */ e(
|
|
158
|
+
children: /* @__PURE__ */ e(L, { size: "size-5", monotone: !0 })
|
|
159
159
|
}
|
|
160
160
|
)
|
|
161
161
|
]
|
|
162
162
|
}
|
|
163
163
|
)
|
|
164
164
|
] }) : null;
|
|
165
|
-
},
|
|
165
|
+
}, Ee = ({
|
|
166
166
|
open: h,
|
|
167
167
|
onOpenChange: n
|
|
168
168
|
}) => /* @__PURE__ */ e(
|
|
@@ -177,5 +177,5 @@ const oe = () => {
|
|
|
177
177
|
}
|
|
178
178
|
);
|
|
179
179
|
export {
|
|
180
|
-
|
|
180
|
+
Ee as Profile
|
|
181
181
|
};
|