@versini/sassysaint 8.78.0 → 8.79.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.
Files changed (26) hide show
  1. package/dist/chunks/{AboutChangelog.Oqc6JIA-.js → AboutChangelog.pTdBpzz1.js} +6 -6
  2. package/dist/chunks/{AboutEntry.SvwVjpEz.js → AboutEntry.CACoMTsm.js} +5 -5
  3. package/dist/chunks/{App.DXGdoHmW.js → App.C8tSD8FW.js} +3079 -2926
  4. package/dist/chunks/{Chart.BTyaVE_V.js → Chart.8NIsGioQ.js} +2 -2
  5. package/dist/chunks/{ChatBubbleAssistant.lqDPohS8.js → ChatBubbleAssistant.CjBF2Ksl.js} +4 -4
  6. package/dist/chunks/{ChatBubbleUser.DVCYqFLp.js → ChatBubbleUser.DTBZStED.js} +3 -3
  7. package/dist/chunks/{ChatHistoryTable.CCUGl-Jy.js → ChatHistoryTable.DZ2gKrYL.js} +15 -15
  8. package/dist/chunks/{HistoryEntry.Ct2lOREI.js → HistoryEntry.CKgJVGbQ.js} +3 -3
  9. package/dist/chunks/{ProfileEntry.wLJ4_8-_.js → ProfileEntry.D0Xm05KG.js} +2 -2
  10. package/dist/chunks/{SettingsEntry.DoWBoOUU.js → SettingsEntry.kC-cp_ND.js} +147 -131
  11. package/dist/chunks/{Table.CcIpdr5t.js → Table.YyEKxT0f.js} +2 -2
  12. package/dist/chunks/{UsageEntry.CQv5nedN.js → UsageEntry.CZn0rwIl.js} +3 -3
  13. package/dist/chunks/{UserMemoriesPanel.4oKdwzjk.js → UserMemoriesPanel.DZQPobyQ.js} +4 -4
  14. package/dist/chunks/{index.RtpWGHE1.js → index.BeqCEf_0.js} +1401 -1318
  15. package/dist/chunks/{index.BkbSbOap.js → index.Bzo-4jgY.js} +1 -1
  16. package/dist/chunks/{index.DCl9t_FZ.js → index.CQHTKxYG.js} +1 -1
  17. package/dist/chunks/{index.C8_q0yRq.js → index.D4yabS-I.js} +1 -1
  18. package/dist/chunks/{index.BqQTG3xS.js → index.DTJKaQEV.js} +2 -2
  19. package/dist/chunks/{index.GHQv1Sm2.js → index.DjO2lloh.js} +1 -1
  20. package/dist/chunks/{index.CEhhP2GE.js → index.DoS8Ajmg.js} +1 -1
  21. package/dist/chunks/{index.ineuZm_t.js → index.DqUdd9Yb.js} +3 -3
  22. package/dist/chunks/{useMarkdown.a9gbIvtd.js → useMarkdown.pxMF8M9l.js} +6 -6
  23. package/dist/components/SassySaint/SassySaint.js +1 -1
  24. package/dist/index.js +4 -4
  25. package/dist/style.css +1 -1
  26. package/package.json +3 -3
@@ -1,54 +1,56 @@
1
- import { jsxs as s, jsx as t, Fragment as A } from "react/jsx-runtime";
2
- import { n as Pe, useEntitlements as Be, useUserPreferences as Ue, C as ce, useLocalStorage as ie, LOCAL_STORAGE_OLED_MODE as Ge, LOCAL_STORAGE_FULL_SCREEN as Fe, canEvaluateModels as Ve, H as We, getCacheInfo as $e, isServiceWorkerEnabled as ze, SETTINGS_TITLE as He, Card as p, CARDS as r, b as je, Button as x, PROMPTS_DESCRIPTION as Ye, L as qe, j as de, applyOledMode as me, getCurrentGeoLocation as Ke, graphQLRequest as ue, handleServiceWorkerToggle as Qe, SERVICE_TYPES as he } from "./index.RtpWGHE1.js";
3
- import { AppContext as Je, useCapability as pe, Panel as Xe, Toggle as l, APP_SET_OLED_MODE as Ee, APP_SET_FULL_SCREEN as Se } from "./App.DXGdoHmW.js";
4
- import { TextArea as Ne } from "./index.BkbSbOap.js";
5
- import { useContext as Ze, useState as n, useMemo as et, useCallback as tt, useEffect as ge } from "react";
6
- const lt = ({
7
- open: fe,
1
+ import { jsxs as a, jsx as t, Fragment as A } from "react/jsx-runtime";
2
+ import { n as Fe, useEntitlements as We, useUserPreferences as $e, V as de, useLocalStorage as me, LOCAL_STORAGE_OLED_MODE as ze, LOCAL_STORAGE_FULL_SCREEN as He, k as ue, canEvaluateModels as Ye, Y as je, getCacheInfo as qe, isServiceWorkerEnabled as Ke, SETTINGS_TITLE as Qe, Card as p, CARDS as r, b as Je, Button as x, PROMPTS_DESCRIPTION as Xe, e_ as he, L as Ze, j as pe, applyOledMode as Ee, getCurrentGeoLocation as et, graphQLRequest as Se, handleServiceWorkerToggle as tt, SERVICE_TYPES as Ne } from "./index.BeqCEf_0.js";
3
+ import { AppContext as ot, useCapability as ge, Panel as at, Toggle as l, APP_SET_OLED_MODE as Te, APP_SET_FULL_SCREEN as fe } from "./App.C8tSD8FW.js";
4
+ import { TextArea as Ce } from "./index.Bzo-4jgY.js";
5
+ import { useContext as st, useState as s, useMemo as nt, useCallback as rt, useEffect as Ie } from "react";
6
+ const ut = ({
7
+ open: be,
8
8
  onOpenChange: R
9
9
  }) => {
10
- const { getAccessToken: y, user: P } = Pe(), { allowedModels: k, status: B } = Be(), { dispatch: g } = Ze(Je), {
10
+ const { getAccessToken: k, user: P } = Fe(), { allowedModels: y, status: B } = We(), { dispatch: g } = st(ot), {
11
11
  data: o,
12
- isSuccess: Te,
13
- refetch: U
14
- } = Ue({
12
+ isSuccess: ke,
13
+ refetch: G
14
+ } = $e({
15
15
  user: P?.username,
16
- getAccessToken: y
17
- }), [G, f] = n({
16
+ getAccessToken: k
17
+ }), [U, T] = s({
18
18
  loadingLocation: !1
19
- }), [w, F] = n({
19
+ }), [M, V] = s({
20
20
  prompts: []
21
- }), [V, W] = n(""), [$, T] = n(""), [z, H] = n(!1), [j, Y] = n(!1), [C, q] = n(!1), [I, K] = n(!1), [Q, J] = n(!1), [L, X] = n(!1), [E, Z] = n(null), [ee, te] = n(!1), [oe, se] = n(!1), ae = pe(ce.TOOL.MEMORIES), ne = pe(ce.ADDON.REASONING), [i, Ce] = ie({
22
- key: Ge,
21
+ }), [F, W] = s(""), [$, f] = s(""), [z, H] = s(!1), [Y, j] = s(!1), [C, q] = s(!1), [I, K] = s(!1), [Q, J] = s(!1), [D, X] = s(!1), [E, Z] = s(null), [ee, te] = s(!1), [oe, ae] = s(!1), se = ge(de.TOOL.MEMORIES), ne = ge(de.ADDON.REASONING), [i, ye] = me({
22
+ key: ze,
23
23
  initialValue: !1
24
- }), [m, Ie] = ie({
25
- key: Fe,
24
+ }), [m, Me] = me({
25
+ key: He,
26
26
  initialValue: !1
27
- }), [u, D] = n(!1), [S, _] = n(!1), be = et(() => Ve(k, B) ? We(k) : !1, [k, B]), ye = (e) => {
28
- se(e);
29
- }, ke = (e) => {
30
- H(e);
27
+ }), [u, _] = s(!1), [S, w] = s(!1), [re, le] = s(ue), De = nt(() => Ye(y, B) ? je(y) : !1, [y, B]), _e = (e) => {
28
+ ae(e);
31
29
  }, we = (e) => {
32
- ae && Y(e);
30
+ H(e);
33
31
  }, Le = (e) => {
32
+ se && j(e);
33
+ }, Oe = (e) => {
34
34
  K(e);
35
- }, De = (e) => {
35
+ }, ve = (e) => {
36
36
  ne && J(e);
37
- }, _e = (e) => {
37
+ }, Ae = (e) => {
38
38
  X(e);
39
- }, Me = (e) => {
40
- D(e);
41
- }, Oe = (e) => {
39
+ }, xe = (e) => {
42
40
  _(e);
43
- }, ve = async (e) => {
41
+ }, Re = (e) => {
42
+ w(e);
43
+ }, Pe = (e) => {
44
+ le(e ? he : ue);
45
+ }, Be = async (e) => {
44
46
  e.preventDefault();
45
47
  try {
46
- await ue({
47
- accessToken: await y(),
48
- type: he.SET_USER_PREFERENCES,
48
+ await Se({
49
+ accessToken: await k(),
50
+ type: Ne.SET_USER_PREFERENCES,
49
51
  params: {
50
52
  user: P?.username,
51
- instructions: V,
53
+ instructions: F,
52
54
  location: $,
53
55
  provider: o?.provider,
54
56
  /**
@@ -56,67 +58,68 @@ const lt = ({
56
58
  * model preference so the user relies solely on provider defaults.
57
59
  * Empty string signals to backend to use provider's default model.
58
60
  */
59
- model: L && o?.model || "",
60
- tags: w.prompts,
61
+ model: D && o?.model || "",
62
+ tags: M.prompts,
61
63
  sendOnEnter: z,
62
- useMemory: j,
64
+ useMemory: Y,
63
65
  showDetails: oe,
64
66
  showReasoningButton: Q,
65
- useNestedModelSelection: L
67
+ useNestedModelSelection: D,
68
+ themeMode: re
66
69
  }
67
- }), I !== C && (await Qe(I), q(I)), u !== i && (Ce(u), me(u), g({
68
- type: Ee,
70
+ }), I !== C && (await tt(I), q(I)), u !== i && (ye(u), Ee(u), g({
71
+ type: Te,
69
72
  payload: { oledMode: u }
70
- })), S !== m && (Ie(S), g({
71
- type: Se,
73
+ })), S !== m && (Me(S), g({
74
+ type: fe,
72
75
  payload: { fullScreen: S }
73
- })), U(), f({
76
+ })), G(), T({
74
77
  loadingLocation: !1
75
78
  });
76
79
  } catch {
77
80
  }
78
- }, Ae = async () => {
79
- f({
81
+ }, Ge = async () => {
82
+ T({
80
83
  loadingLocation: !0
81
- }), T("...");
84
+ }), f("...");
82
85
  try {
83
- const e = Date.now(), a = await Ke(), b = await ue({
84
- accessToken: await y(),
85
- type: he.GET_LOCATION,
86
+ const e = Date.now(), n = await et(), b = await Se({
87
+ accessToken: await k(),
88
+ type: Ne.GET_LOCATION,
86
89
  params: {
87
- latitude: a.latitude,
88
- longitude: a.longitude
90
+ latitude: n.latitude,
91
+ longitude: n.longitude
89
92
  }
90
93
  }), h = Date.now() - e;
91
- h < 2e3 && await new Promise((Re) => setTimeout(Re, 2e3 - h));
92
- const { city: d, state: c, country: N, displayName: v } = b.data, xe = d && c && N ? `${d}, ${c}, ${N}` : v;
93
- f({
94
+ h < 2e3 && await new Promise((Ve) => setTimeout(Ve, 2e3 - h));
95
+ const { city: d, state: c, country: N, displayName: v } = b.data, Ue = d && c && N ? `${d}, ${c}, ${N}` : v;
96
+ T({
94
97
  loadingLocation: !1
95
- }), T(xe);
98
+ }), f(Ue);
96
99
  } catch {
97
- f({
100
+ T({
98
101
  loadingLocation: !1
99
102
  });
100
103
  }
101
- }, re = () => {
102
- u !== i && (D(i), me(i), g({
103
- type: Ee,
104
+ }, ce = () => {
105
+ u !== i && (_(i), Ee(i), g({
106
+ type: Te,
104
107
  payload: { oledMode: i }
105
- })), S !== m && (_(m), g({
106
- type: Se,
108
+ })), S !== m && (w(m), g({
109
+ type: fe,
107
110
  payload: { fullScreen: m }
108
- })), U(), R(!1);
109
- }, M = ({
111
+ })), G(), R(!1);
112
+ }, L = ({
110
113
  enabled: e = !1,
111
- privateChat: a = !1,
114
+ privateChat: n = !1,
112
115
  clipboardAccess: b = !1,
113
116
  ...O
114
117
  }) => {
115
- F((h) => {
118
+ V((h) => {
116
119
  const d = h.prompts, c = {
117
120
  ...O,
118
121
  enabled: e,
119
- privateChat: a,
122
+ privateChat: n,
120
123
  clipboardAccess: b
121
124
  };
122
125
  b ? c.content = c.content.replace(/{{clipboard}}/g, "") + " {{clipboard}}" : c.content = c.content.replace(/{{clipboard}}/g, "");
@@ -129,57 +132,57 @@ const lt = ({
129
132
  prompts: [...d]
130
133
  });
131
134
  });
132
- }, le = tt(async () => {
135
+ }, ie = rt(async () => {
133
136
  try {
134
137
  te(!0);
135
- const e = await $e();
138
+ const e = await qe();
136
139
  Z(e);
137
140
  } catch {
138
141
  } finally {
139
142
  te(!1);
140
143
  }
141
144
  }, []);
142
- return ge(() => {
145
+ return Ie(() => {
143
146
  if (!o)
144
147
  return;
145
- o.instructions && W(o.instructions), o.location && T(o.location), o.tags && F({ prompts: o.tags }), o.sendOnEnter !== void 0 && H(o.sendOnEnter), o.useMemory !== void 0 && Y(o.useMemory), o.showDetails !== void 0 && se(o.showDetails), o.showReasoningButton !== void 0 && J(o.showReasoningButton), o.useNestedModelSelection !== void 0 && X(o.useNestedModelSelection);
146
- const e = ze();
147
- q(e), K(e), D(i), _(m);
148
- }, [o, i, m]), ge(() => {
149
- C ? le() : Z(null);
150
- }, [C, le]), Te ? /* @__PURE__ */ s(
151
- Xe,
148
+ o.instructions && W(o.instructions), o.location && f(o.location), o.tags && V({ prompts: o.tags }), o.sendOnEnter !== void 0 && H(o.sendOnEnter), o.useMemory !== void 0 && j(o.useMemory), o.showDetails !== void 0 && ae(o.showDetails), o.showReasoningButton !== void 0 && J(o.showReasoningButton), o.useNestedModelSelection !== void 0 && X(o.useNestedModelSelection), o.themeMode !== void 0 && le(o.themeMode);
149
+ const e = Ke();
150
+ q(e), K(e), _(i), w(m);
151
+ }, [o, i, m]), Ie(() => {
152
+ C ? ie() : Z(null);
153
+ }, [C, ie]), ke ? /* @__PURE__ */ a(
154
+ at,
152
155
  {
153
- open: fe,
154
- onOpenChange: re,
155
- title: He,
156
+ open: be,
157
+ onOpenChange: ce,
158
+ title: Qe,
156
159
  animation: !0,
157
160
  animationType: "fade",
158
- footer: /* @__PURE__ */ s(
159
- qe,
161
+ footer: /* @__PURE__ */ a(
162
+ Ze,
160
163
  {
161
164
  columnGap: 2,
162
165
  alignHorizontal: "flex-end",
163
166
  className: "pb-8 sm:pb-0",
164
167
  children: [
165
- /* @__PURE__ */ t(de, { children: /* @__PURE__ */ t(
168
+ /* @__PURE__ */ t(pe, { children: /* @__PURE__ */ t(
166
169
  x,
167
170
  {
168
171
  mode: "dark",
169
172
  variant: "secondary",
170
173
  focusMode: "light",
171
174
  noBorder: !0,
172
- onClick: re,
175
+ onClick: ce,
173
176
  children: "Cancel"
174
177
  }
175
178
  ) }),
176
- /* @__PURE__ */ t(de, { children: /* @__PURE__ */ t(
179
+ /* @__PURE__ */ t(pe, { children: /* @__PURE__ */ t(
177
180
  x,
178
181
  {
179
182
  mode: "dark",
180
183
  focusMode: "light",
181
184
  onClick: async (e) => {
182
- R(!1), await ve(e);
185
+ R(!1), await Be(e);
183
186
  },
184
187
  children: "Save"
185
188
  }
@@ -188,7 +191,7 @@ const lt = ({
188
191
  }
189
192
  ),
190
193
  children: [
191
- /* @__PURE__ */ s(
194
+ /* @__PURE__ */ a(
192
195
  p,
193
196
  {
194
197
  header: r.SETTINGS_DETAILS.TITLE,
@@ -204,7 +207,7 @@ const lt = ({
204
207
  className: "mt-2",
205
208
  label: "Show Message Statistics",
206
209
  name: "show-message-statistics",
207
- onChange: ye,
210
+ onChange: _e,
208
211
  checked: oe
209
212
  }
210
213
  ),
@@ -217,11 +220,11 @@ const lt = ({
217
220
  className: "mt-2",
218
221
  label: "Send Message on Enter",
219
222
  name: "send-message-on-enter",
220
- onChange: ke,
223
+ onChange: we,
221
224
  checked: z
222
225
  }
223
226
  ),
224
- ae && /* @__PURE__ */ s(A, { children: [
227
+ se && /* @__PURE__ */ a(A, { children: [
225
228
  /* @__PURE__ */ t("p", { className: "text-sm mt-5", children: r.SETTINGS_DETAILS.USE_MEMORY }),
226
229
  /* @__PURE__ */ t(
227
230
  l,
@@ -231,28 +234,28 @@ const lt = ({
231
234
  className: "mt-2",
232
235
  label: "Use Memory",
233
236
  name: "use-memory",
234
- onChange: we,
235
- checked: j
237
+ onChange: Le,
238
+ checked: Y
236
239
  }
237
240
  )
238
241
  ] })
239
242
  ]
240
243
  }
241
244
  ),
242
- /* @__PURE__ */ s(
245
+ /* @__PURE__ */ a(
243
246
  p,
244
247
  {
245
248
  header: "Custom Instructions",
246
249
  className: "prose-dark dark:prose-lighter mt-4",
247
250
  noBorder: !0,
248
251
  children: [
249
- /* @__PURE__ */ s("p", { className: "text-sm", children: [
252
+ /* @__PURE__ */ a("p", { className: "text-sm", children: [
250
253
  "What would you like ",
251
- /* @__PURE__ */ t("em", { children: je }),
254
+ /* @__PURE__ */ t("em", { children: Je }),
252
255
  " to know about you to provide better responses?"
253
256
  ] }),
254
257
  /* @__PURE__ */ t(
255
- Ne,
258
+ Ce,
256
259
  {
257
260
  mode: "alt-system",
258
261
  autoCapitalize: "off",
@@ -260,7 +263,7 @@ const lt = ({
260
263
  autoCorrect: "off",
261
264
  name: "customInstructions",
262
265
  label: "Custom Instructions",
263
- value: V,
266
+ value: F,
264
267
  onChange: (e) => {
265
268
  W(e.target.value);
266
269
  },
@@ -270,7 +273,7 @@ const lt = ({
270
273
  ]
271
274
  }
272
275
  ),
273
- /* @__PURE__ */ s(
276
+ /* @__PURE__ */ a(
274
277
  p,
275
278
  {
276
279
  header: "Location",
@@ -279,14 +282,14 @@ const lt = ({
279
282
  children: [
280
283
  /* @__PURE__ */ t("p", { className: "text-sm", children: "You can share your location to receive customized responses based on your area." }),
281
284
  /* @__PURE__ */ t(
282
- Ne,
285
+ Ce,
283
286
  {
284
287
  mode: "alt-system",
285
288
  name: "location",
286
289
  label: "Location",
287
290
  value: $,
288
291
  onChange: (e) => {
289
- T(e.target.value);
292
+ f(e.target.value);
290
293
  },
291
294
  helperText: "Enter your location or press auto-detect."
292
295
  }
@@ -298,23 +301,23 @@ const lt = ({
298
301
  size: "small",
299
302
  noBorder: !0,
300
303
  variant: "secondary",
301
- disabled: G.loadingLocation,
302
- onClick: Ae,
303
- children: G.loadingLocation ? "Detecting..." : "Auto-detect"
304
+ disabled: U.loadingLocation,
305
+ onClick: Ge,
306
+ children: U.loadingLocation ? "Detecting..." : "Auto-detect"
304
307
  }
305
308
  )
306
309
  ]
307
310
  }
308
311
  ),
309
- /* @__PURE__ */ s(
312
+ /* @__PURE__ */ a(
310
313
  p,
311
314
  {
312
315
  header: r.SETTINGS_PROMPTS.TITLE,
313
316
  className: "prose-dark dark:prose-lighter mt-4",
314
317
  noBorder: !0,
315
318
  children: [
316
- /* @__PURE__ */ t("p", { className: "text-sm", children: Ye }),
317
- w.prompts && w.prompts.slice(0, 3).map((e) => /* @__PURE__ */ s(
319
+ /* @__PURE__ */ t("p", { className: "text-sm", children: Xe }),
320
+ M.prompts && M.prompts.slice(0, 3).map((e) => /* @__PURE__ */ a(
318
321
  p,
319
322
  {
320
323
  mode: "dark",
@@ -333,10 +336,10 @@ const lt = ({
333
336
  className: "mt-2",
334
337
  label: "Enabled",
335
338
  name: e.slot.toString(),
336
- onChange: (a) => {
337
- M({
339
+ onChange: (n) => {
340
+ L({
338
341
  ...e,
339
- enabled: a
342
+ enabled: n
340
343
  });
341
344
  },
342
345
  checked: e.enabled
@@ -352,10 +355,10 @@ const lt = ({
352
355
  className: "mt-2",
353
356
  label: "Private Chat",
354
357
  name: `private-${e.slot.toString()}`,
355
- onChange: (a) => {
356
- M({
358
+ onChange: (n) => {
359
+ L({
357
360
  ...e,
358
- privateChat: a
361
+ privateChat: n
359
362
  });
360
363
  },
361
364
  checked: e.privateChat
@@ -371,10 +374,10 @@ const lt = ({
371
374
  className: "mt-2",
372
375
  label: "Use Clipboard",
373
376
  name: `clipboard-${e.slot.toString()}`,
374
- onChange: (a) => {
375
- M({
377
+ onChange: (n) => {
378
+ L({
376
379
  ...e,
377
- clipboardAccess: a
380
+ clipboardAccess: n
378
381
  });
379
382
  },
380
383
  checked: e.clipboardAccess
@@ -387,14 +390,14 @@ const lt = ({
387
390
  ]
388
391
  }
389
392
  ),
390
- /* @__PURE__ */ s(
393
+ /* @__PURE__ */ a(
391
394
  p,
392
395
  {
393
396
  header: r.SETTINGS_ADVANCED.TITLE,
394
397
  className: "prose-dark dark:prose-lighter mt-4 ",
395
398
  noBorder: !0,
396
399
  children: [
397
- ne && /* @__PURE__ */ s(A, { children: [
400
+ ne && /* @__PURE__ */ a(A, { children: [
398
401
  /* @__PURE__ */ t("p", { className: "text-sm", children: r.SETTINGS_ADVANCED.REASONING_BUTTON_DESCRIPTION }),
399
402
  /* @__PURE__ */ t(
400
403
  l,
@@ -404,12 +407,12 @@ const lt = ({
404
407
  className: "mt-2",
405
408
  label: "Show Reasoning Button",
406
409
  name: "show-reasoning-button",
407
- onChange: De,
410
+ onChange: ve,
408
411
  checked: Q
409
412
  }
410
413
  )
411
414
  ] }),
412
- be && /* @__PURE__ */ s(A, { children: [
415
+ De && /* @__PURE__ */ a(A, { children: [
413
416
  /* @__PURE__ */ t("p", { className: "text-sm mt-5", children: r.SETTINGS_ADVANCED.NESTED_MODEL_SELECTION_DESCRIPTION }),
414
417
  /* @__PURE__ */ t(
415
418
  l,
@@ -419,8 +422,8 @@ const lt = ({
419
422
  className: "mt-2",
420
423
  label: "Enable Model Selection",
421
424
  name: "use-nested-model-selection",
422
- onChange: _e,
423
- checked: L
425
+ onChange: Ae,
426
+ checked: D
424
427
  }
425
428
  )
426
429
  ] }),
@@ -433,10 +436,23 @@ const lt = ({
433
436
  className: "mt-2",
434
437
  label: "Enable OLED Mode",
435
438
  name: "enable-oled-mode",
436
- onChange: Me,
439
+ onChange: xe,
437
440
  checked: u
438
441
  }
439
442
  ),
443
+ /* @__PURE__ */ t("p", { className: "text-sm mt-5", children: r.SETTINGS_ADVANCED.THEME_MODE_DESCRIPTION }),
444
+ /* @__PURE__ */ t(
445
+ l,
446
+ {
447
+ noBorder: !0,
448
+ narrow: !0,
449
+ className: "mt-2",
450
+ label: "Enable Alternative Theme",
451
+ name: "enable-alternative-theme",
452
+ onChange: Pe,
453
+ checked: re === he
454
+ }
455
+ ),
440
456
  /* @__PURE__ */ t("p", { className: "text-sm mt-5", children: r.SETTINGS_ADVANCED.FULL_SCREEN_DESCRIPTION }),
441
457
  /* @__PURE__ */ t(
442
458
  l,
@@ -446,7 +462,7 @@ const lt = ({
446
462
  className: "mt-2",
447
463
  label: "Enable Full Screen",
448
464
  name: "enable-full-screen",
449
- onChange: Oe,
465
+ onChange: Re,
450
466
  checked: S
451
467
  }
452
468
  ),
@@ -459,29 +475,29 @@ const lt = ({
459
475
  className: "mt-2",
460
476
  label: "Enable Assets Caching",
461
477
  name: "enable-service-worker",
462
- onChange: Le,
478
+ onChange: Oe,
463
479
  checked: I
464
480
  }
465
481
  ),
466
- C && /* @__PURE__ */ s("div", { className: "mt-4 p-3 border border-dashed border-neutral-700 dark:border-neutral-400 rounded @container/optimizations", children: [
482
+ C && /* @__PURE__ */ a("div", { className: "mt-4 p-3 border border-dashed border-neutral-700 dark:border-neutral-400 rounded @container/optimizations", children: [
467
483
  /* @__PURE__ */ t("h3", { className: "m-0 mb-2 text-xs uppercase opacity-70", children: "Cache Info" }),
468
- E ? /* @__PURE__ */ s("div", { className: "text-xs space-y-2", children: [
469
- /* @__PURE__ */ s("p", { className: "m-0", children: [
484
+ E ? /* @__PURE__ */ a("div", { className: "text-xs space-y-2", children: [
485
+ /* @__PURE__ */ a("p", { className: "m-0", children: [
470
486
  "Version: ",
471
487
  /* @__PURE__ */ t("strong", { children: E.version })
472
488
  ] }),
473
- /* @__PURE__ */ s("p", { className: "m-0", children: [
489
+ /* @__PURE__ */ a("p", { className: "m-0", children: [
474
490
  "Total Items: ",
475
491
  /* @__PURE__ */ t("strong", { children: E.totalItems })
476
492
  ] }),
477
- E.caches.map((e) => /* @__PURE__ */ t("div", { children: /* @__PURE__ */ t("ul", { className: "not-prose font-mono mt-2 list-none w-[95cqw]", children: e.urls.map((a) => /* @__PURE__ */ t(
493
+ E.caches.map((e) => /* @__PURE__ */ t("div", { children: /* @__PURE__ */ t("ul", { className: "not-prose font-mono mt-2 list-none w-[95cqw]", children: e.urls.map((n) => /* @__PURE__ */ t(
478
494
  "li",
479
495
  {
480
496
  className: "truncate text-xs text-copy-dark dark:text-copy-light overflow-hidden text-ellipsis",
481
- title: a,
482
- children: new URL(a).pathname
497
+ title: n,
498
+ children: new URL(n).pathname
483
499
  },
484
- a
500
+ n
485
501
  )) }) }, e.name)),
486
502
  E.totalItems === 0 && !ee && /* @__PURE__ */ t("p", { className: "italic m-0 opacity-70", children: "No cached assets yet." })
487
503
  ] }) : /* @__PURE__ */ t("p", { className: "text-xs opacity-70 m-0", children: ee ? "Loading cache info..." : "No cache info available." })
@@ -494,5 +510,5 @@ const lt = ({
494
510
  ) : null;
495
511
  };
496
512
  export {
497
- lt as SettingsPanel
513
+ ut as SettingsPanel
498
514
  };
@@ -1,8 +1,8 @@
1
1
  import { jsx as l, jsxs as y } from "react/jsx-runtime";
2
- import { ButtonSort_private as f } from "./index.RtpWGHE1.js";
2
+ import { ButtonSort_private as f } from "./index.BeqCEf_0.js";
3
3
  import o from "clsx";
4
4
  import v, { useContext as b } from "react";
5
- import { e as k } from "./App.DXGdoHmW.js";
5
+ import { e as k } from "./App.C8tSD8FW.js";
6
6
  /*!
7
7
  @versini/ui-icons v4.15.1
8
8
  © 2025 gizmette.com
@@ -1,13 +1,13 @@
1
1
  import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
- import { n as f, useUniqueId as v, useUserChatStats as _, useChatsUsage as z, USAGE_TITLE as B, Card as g, renderDataAsList as P, CARDS as a, L as p, j as A, Button as i, pluralize as m } from "./index.RtpWGHE1.js";
3
- import { Panel as H } from "./App.DXGdoHmW.js";
2
+ import { n as f, useUniqueId as v, useUserChatStats as _, useChatsUsage as z, USAGE_TITLE as B, Card as g, renderDataAsList as P, CARDS as a, L as p, j as A, Button as i, pluralize as m } from "./index.BeqCEf_0.js";
3
+ import { Panel as H } from "./App.C8tSD8FW.js";
4
4
  import { useState as C, Suspense as K, lazy as j } from "react";
5
5
  const s = [0, 3, 6, 9], n = {
6
6
  TOKEN: "token",
7
7
  MODEL: "model"
8
8
  }, w = j(() => import(
9
9
  /* webpackChunkName: "LazyChart" */
10
- "./Chart.BTyaVE_V.js"
10
+ "./Chart.8NIsGioQ.js"
11
11
  )), R = ({
12
12
  open: k,
13
13
  onOpenChange: E
@@ -1,10 +1,10 @@
1
1
  import { jsx as e, jsxs as r, Fragment as b } from "react/jsx-runtime";
2
- import { L as R, j as A, Button as M, n as Ne, useLocalStorage as K, LOCAL_STORAGE_PREFIX as Q, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as we, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ke, useUserMemories as Se, useExpiredMemories as Te, useDeleteMemory as ve, useDeleteAllActiveMemories as De, useDeleteAllExpiredMemories as Me, useUpdateMemory as Ee, useRestoreMemory as be, ButtonIcon as O, IconEdit as Re, IconDelete as Z, IconRestore as Ie } from "./index.RtpWGHE1.js";
3
- import { Panel as le, Toggle as _, e as l, ConfirmationPanel as ee, Tooltip as z } from "./App.DXGdoHmW.js";
2
+ import { L as R, j as A, Button as M, n as Ne, useLocalStorage as K, LOCAL_STORAGE_PREFIX as Q, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as we, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ke, useUserMemories as Se, useExpiredMemories as Te, useDeleteMemory as ve, useDeleteAllActiveMemories as De, useDeleteAllExpiredMemories as Me, useUpdateMemory as Ee, useRestoreMemory as be, ButtonIcon as O, IconEdit as Re, IconDelete as Z, IconRestore as Ie } from "./index.BeqCEf_0.js";
3
+ import { Panel as le, Toggle as _, e as l, ConfirmationPanel as ee, Tooltip as z } from "./App.C8tSD8FW.js";
4
4
  import y from "clsx";
5
5
  import { useState as C, useEffect as Le, useRef as te } from "react";
6
- import { TextArea as Oe } from "./index.BkbSbOap.js";
7
- import { W as re, j as ie, G as D, M as s, F as B, H as ne, D as oe } from "./Table.CcIpdr5t.js";
6
+ import { TextArea as Oe } from "./index.Bzo-4jgY.js";
7
+ import { W as re, j as ie, G as D, M as s, F as B, H as ne, D as oe } from "./Table.YyEKxT0f.js";
8
8
  const _e = ({
9
9
  open: N,
10
10
  onOpenChange: E,