@vuetify/one 1.0.12 → 1.0.14

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 (2) hide show
  1. package/dist/index.js +1294 -1246
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,61 +1,62 @@
1
- import { reactive as Ze, toRefs as Ke, ref as ee, shallowRef as F, computed as L, defineComponent as V, openBlock as d, createBlock as v, withCtx as i, renderSlot as B, normalizeStyle as Be, createSlots as G, createCommentVNode as $, watch as W, unref as e, createElementVNode as _, toDisplayString as I, createVNode as o, withModifiers as ze, mergeModels as et, useModel as fe, createElementBlock as w, Fragment as N, createTextVNode as j, renderList as se, mergeProps as Q, onBeforeMount as tt, onMounted as Te, resolveComponent as Re, withDirectives as Le, vShow as He, normalizeClass as ot, pushScopeId as st, popScopeId as nt } from "vue";
2
- import { defineStore as te } from "pinia";
3
- import { merge as ke } from "lodash-es";
4
- import { VBadge as Me } from "vuetify/lib/components/VBadge/index.mjs";
1
+ import { reactive as Ke, toRefs as et, ref as te, shallowRef as N, computed as L, watch as z, defineComponent as k, openBlock as d, createBlock as m, unref as e, withCtx as n, renderSlot as H, normalizeStyle as Re, createSlots as G, createCommentVNode as x, createElementVNode as v, toDisplayString as D, createVNode as o, withModifiers as He, mergeModels as tt, useModel as ae, createElementBlock as S, Fragment as F, createTextVNode as O, onBeforeMount as ot, nextTick as _e, renderList as ne, mergeProps as J, resolveComponent as Me, withDirectives as Fe, vShow as Pe, onMounted as st, normalizeClass as nt, pushScopeId as it, popScopeId as at } from "vue";
2
+ import { defineStore as oe } from "pinia";
3
+ import { merge as Ce } from "lodash-es";
4
+ import { VBadge as Ee } from "vuetify/lib/components/VBadge/index.mjs";
5
5
  import { VBtn as Z } from "vuetify/lib/components/VBtn/index.mjs";
6
- import { VProgressCircular as it } from "vuetify/lib/components/VProgressCircular/index.mjs";
7
- import { mdiDiscord as Ie, mdiGithub as Ae, mdiSync as at, mdiSyncOff as rt, mdiLogoutVariant as lt, mdiCheck as oe, mdiHome as ct, mdiTextBox as ut, mdiSpaceInvaders as Pe, mdiWhiteBalanceSunny as dt, mdiWeatherNight as pt, mdiDesktopTowerMonitor as mt, mdiImageFilterHdr as ft, mdiRocketLaunchOutline as vt, mdiContrastCircle as _t, mdiCog as ht, mdiCogOutline as gt, mdiFileDocument as bt, mdiCreditCardSettingsOutline as yt, mdiRocketOutline as Vt, mdiCheckCircleOutline as ae, mdiCreditCard as kt, mdiReload as $t, mdiPlaylistCheck as xt, mdiCreditCardOutline as wt, mdiHandHeart as St, mdiInformationOutline as je, mdiMedal as $e, mdiChartLine as Ct, mdiHandHeartOutline as Lt, mdiEmailOpenOutline as It, mdiEmailVariant as At, mdiOpenInNew as Dt, mdiBell as Ut, mdiInboxOutline as Ft, mdiInboxFullOutline as Nt, mdiBellOutline as jt, mdiViewDashboardOutline as Ot, mdiTrashCan as Bt, mdiBug as zt, mdiCrown as Tt, mdiArrowULeftBottom as Rt, mdiLogin as Ht, mdiShieldStarOutline as Mt, mdiReddit as Pt } from "@mdi/js";
8
- import { VListItem as ve, VList as ne, VListItemTitle as Et } from "vuetify/lib/components/VList/index.mjs";
9
- import { VAvatar as pe } from "vuetify/lib/components/VAvatar/index.mjs";
10
- import { VCard as R, VCardText as X } from "vuetify/lib/components/VCard/index.mjs";
11
- import { VSheet as Ee } from "vuetify/lib/components/VSheet/index.mjs";
12
- import { VSwitch as We } from "vuetify/lib/components/VSwitch/index.mjs";
13
- import { VFadeTransition as De, VExpandTransition as le, VExpandXTransition as Wt } from "vuetify/lib/components/transitions/index.mjs";
14
- import { useDisplay as _e, useTheme as Gt, useDate as he } from "vuetify";
15
- import { VDialog as qt } from "vuetify/lib/components/VDialog/index.mjs";
16
- import { VDivider as H } from "vuetify/lib/components/VDivider/index.mjs";
6
+ import { VProgressCircular as rt } from "vuetify/lib/components/VProgressCircular/index.mjs";
7
+ import { mdiDiscord as Ne, mdiGithub as Oe, mdiSync as lt, mdiSyncOff as ct, mdiLogoutVariant as ut, mdiCheck as se, mdiHome as dt, mdiTextBox as pt, mdiSpaceInvaders as We, mdiWhiteBalanceSunny as mt, mdiWeatherNight as ft, mdiDesktopTowerMonitor as vt, mdiImageFilterHdr as _t, mdiRocketLaunchOutline as ht, mdiContrastCircle as gt, mdiCog as bt, mdiCogOutline as yt, mdiFileDocument as Vt, mdiCreditCardSettingsOutline as kt, mdiRocketOutline as $t, mdiCheckCircleOutline as le, mdiCreditCard as xt, mdiReload as wt, mdiPlaylistCheck as St, mdiCreditCardOutline as Ct, mdiHandHeart as Lt, mdiInformationOutline as ze, mdiMedal as Le, mdiChartLine as It, mdiHandHeartOutline as At, mdiEmailOpenOutline as Dt, mdiEmailVariant as Ut, mdiOpenInNew as Ft, mdiBell as Nt, mdiInboxOutline as Ot, mdiInboxFullOutline as Bt, mdiBellOutline as jt, mdiViewDashboardOutline as zt, mdiTrashCan as Tt, mdiBug as Rt, mdiCrown as Ht, mdiArrowULeftBottom as Mt, mdiLogin as Pt, mdiShieldStarOutline as Et, mdiReddit as Wt } from "@mdi/js";
8
+ import { VListItem as he, VList as ie, VListItemTitle as qt } from "vuetify/lib/components/VList/index.mjs";
9
+ import { VAvatar as fe } from "vuetify/lib/components/VAvatar/index.mjs";
10
+ import { VCard as P, VCardText as X } from "vuetify/lib/components/VCard/index.mjs";
11
+ import { VSheet as qe } from "vuetify/lib/components/VSheet/index.mjs";
12
+ import { VSwitch as Ge } from "vuetify/lib/components/VSwitch/index.mjs";
13
+ import { VFadeTransition as Be, VExpandTransition as ue, VExpandXTransition as Gt } from "vuetify/lib/components/transitions/index.mjs";
14
+ import { useDisplay as ge, useTheme as Yt, useDate as be } from "vuetify";
15
+ import { VDialog as Qt } from "vuetify/lib/components/VDialog/index.mjs";
16
+ import { VDivider as E } from "vuetify/lib/components/VDivider/index.mjs";
17
17
  import { VIcon as U } from "vuetify/lib/components/VIcon/index.mjs";
18
- import { VLabel as Se } from "vuetify/lib/components/VLabel/index.mjs";
19
- import { VChip as q } from "vuetify/lib/components/VChip/index.mjs";
20
- import { VChipGroup as Yt } from "vuetify/lib/components/VChipGroup/index.mjs";
21
- import { VSelect as Jt } from "vuetify/lib/components/VSelect/index.mjs";
22
- import { VRow as ge, VCol as re } from "vuetify/lib/components/VGrid/index.mjs";
23
- import { VHover as Ge } from "vuetify/lib/components/VHover/index.mjs";
24
- import { VImg as Ue } from "vuetify/lib/components/VImg/index.mjs";
25
- import { VItemGroup as qe, VItem as Ce } from "vuetify/lib/components/VItemGroup/index.mjs";
26
- import { VLayout as Fe } from "vuetify/lib/components/VLayout/index.mjs";
27
- import { VMain as Ne } from "vuetify/lib/components/VMain/index.mjs";
28
- import { VDataTableVirtual as Qt } from "vuetify/lib/components/VDataTable/index.mjs";
29
- import { VSkeletonLoader as Oe } from "vuetify/lib/components/VSkeletonLoader/index.mjs";
30
- import { VWindow as Ye, VWindowItem as me } from "vuetify/lib/components/VWindow/index.mjs";
31
- import { VTimeline as Xt, VTimelineItem as xe } from "vuetify/lib/components/VTimeline/index.mjs";
32
- import { VResponsive as Zt } from "vuetify/lib/components/VResponsive/index.mjs";
33
- import { VTooltip as ie } from "vuetify/lib/components/VTooltip/index.mjs";
34
- import { VNavigationDrawer as Kt } from "vuetify/lib/components/VNavigationDrawer/index.mjs";
35
- import { Ripple as eo } from "vuetify/lib/directives/index.mjs";
36
- import { VColorPicker as to } from "vuetify/lib/components/VColorPicker/index.mjs";
37
- import { VMenu as oo } from "vuetify/lib/components/VMenu/index.mjs";
38
- import { VFooter as so } from "vuetify/lib/components/VFooter/index.mjs";
39
- const be = te("http", {
18
+ import { VLabel as De } from "vuetify/lib/components/VLabel/index.mjs";
19
+ import { VChip as Y } from "vuetify/lib/components/VChip/index.mjs";
20
+ import { VChipGroup as Jt } from "vuetify/lib/components/VChipGroup/index.mjs";
21
+ import { VSelect as Xt } from "vuetify/lib/components/VSelect/index.mjs";
22
+ import { useRoute as Zt } from "vue-router";
23
+ import { VRow as ye, VCol as ce } from "vuetify/lib/components/VGrid/index.mjs";
24
+ import { VHover as Ye } from "vuetify/lib/components/VHover/index.mjs";
25
+ import { VImg as je } from "vuetify/lib/components/VImg/index.mjs";
26
+ import { VItemGroup as Qe, VItem as Ue } from "vuetify/lib/components/VItemGroup/index.mjs";
27
+ import { VLayout as Ve } from "vuetify/lib/components/VLayout/index.mjs";
28
+ import { VMain as ke } from "vuetify/lib/components/VMain/index.mjs";
29
+ import { VDataTableVirtual as Kt } from "vuetify/lib/components/VDataTable/index.mjs";
30
+ import { VSkeletonLoader as Te } from "vuetify/lib/components/VSkeletonLoader/index.mjs";
31
+ import { VWindow as Je, VWindowItem as ve } from "vuetify/lib/components/VWindow/index.mjs";
32
+ import { VTimeline as eo, VTimelineItem as Ie } from "vuetify/lib/components/VTimeline/index.mjs";
33
+ import { VResponsive as to } from "vuetify/lib/components/VResponsive/index.mjs";
34
+ import { VTooltip as re } from "vuetify/lib/components/VTooltip/index.mjs";
35
+ import { VNavigationDrawer as oo } from "vuetify/lib/components/VNavigationDrawer/index.mjs";
36
+ import { Ripple as so } from "vuetify/lib/directives/index.mjs";
37
+ import { VColorPicker as no } from "vuetify/lib/components/VColorPicker/index.mjs";
38
+ import { VMenu as io } from "vuetify/lib/components/VMenu/index.mjs";
39
+ import { VFooter as ao } from "vuetify/lib/components/VFooter/index.mjs";
40
+ const $e = oe("http", {
40
41
  state: () => ({
41
42
  url: ""
42
43
  }),
43
44
  actions: {
44
45
  async fetch(u, t = {}) {
45
- const a = await fetch(`${this.url}${u}`, {
46
+ const i = await fetch(`${this.url}${u}`, {
46
47
  credentials: "include",
47
48
  ...t
48
49
  });
49
- return a.status === 204 ? a : a.json();
50
+ return i.status === 204 ? i : i.json();
50
51
  },
51
- async post(u, t, a = {}) {
52
+ async post(u, t, i = {}) {
52
53
  return this.fetch(u, {
53
54
  method: "POST",
54
55
  headers: {
55
56
  "Content-Type": "application/json"
56
57
  },
57
58
  body: JSON.stringify(t),
58
- ...a
59
+ ...i
59
60
  });
60
61
  },
61
62
  async get(u, t = {}) {
@@ -68,7 +69,7 @@ const be = te("http", {
68
69
  });
69
70
  }
70
71
  }
71
- }), we = typeof window < "u", de = {
72
+ }), Ae = typeof window < "u", me = {
72
73
  v: 5,
73
74
  api: "link-only",
74
75
  avatar: "",
@@ -106,72 +107,169 @@ const be = te("http", {
106
107
  jobs: null
107
108
  }
108
109
  }
109
- }, M = te("user", () => {
110
- const u = Ze(ke({}, de));
110
+ }, T = oe("user", () => {
111
+ const u = Ke(Ce({}, me));
111
112
  function t() {
112
- if (!we)
113
+ if (!Ae)
113
114
  return;
114
- const n = localStorage.getItem("vuetify@user"), r = n ? JSON.parse(n) : {};
115
- let c = r.v === u.v;
116
- r.v || (r.pwaRefresh = !0, typeof r.api == "boolean" && (r.api = r.api ? "inline" : "link-only"), typeof r.rtl == "boolean" && (r.direction = r.rtl ? "rtl" : "ltr", delete r.rtl), typeof r.theme == "object" && (r.mixedTheme = r.theme.mixed, r.theme = r.theme.system ? "system" : r.theme.dark ? "dark" : "light"), Array.isArray(r.notifications) && (r.notifications = { read: r.notifications }), typeof r.last == "object" && (r.notifications.last = r.last, delete r.last)), r.v === 1 && (Array.isArray(r.composition) && (r.composition = "composition"), Array.isArray(r.notifications.last.banner) || (r.notifications = r.notifications || {}, r.notifications.last = r.notifications.last || {}, r.notifications.last.banner = [])), r.v === 2 && (r.syncSettings = !0, r.disableAds = !1, r.v = 3), r.v === 3 && (r.quickbar = !1), r.v === 4 && (r.suits = de.suits, r.notifications.banners = de.notifications.banners, c = !0), r.v = u.v, Object.assign(u, ke(u, r)), c && a();
115
+ const l = localStorage.getItem("vuetify@user"), a = l ? JSON.parse(l) : {};
116
+ let r = a.v === u.v;
117
+ a.v || (a.pwaRefresh = !0, typeof a.api == "boolean" && (a.api = a.api ? "inline" : "link-only"), typeof a.rtl == "boolean" && (a.direction = a.rtl ? "rtl" : "ltr", delete a.rtl), typeof a.theme == "object" && (a.mixedTheme = a.theme.mixed, a.theme = a.theme.system ? "system" : a.theme.dark ? "dark" : "light"), Array.isArray(a.notifications) && (a.notifications = { read: a.notifications }), typeof a.last == "object" && (a.notifications.last = a.last, delete a.last)), a.v === 1 && (Array.isArray(a.composition) && (a.composition = "composition"), Array.isArray(a.notifications.last.banner) || (a.notifications = a.notifications || {}, a.notifications.last = a.notifications.last || {}, a.notifications.last.banner = [])), a.v === 2 && (a.syncSettings = !0, a.disableAds = !1, a.v = 3), a.v === 3 && (a.quickbar = !1), a.v === 4 && (a.suits = me.suits, a.notifications.banners = me.notifications.banners, r = !0), a.v = u.v, Object.assign(u, Ce(u, a)), r && i();
117
118
  }
118
- function a() {
119
- we && localStorage.setItem("vuetify@user", JSON.stringify(u, null, 2));
119
+ function i() {
120
+ Ae && localStorage.setItem("vuetify@user", JSON.stringify(u, null, 2));
120
121
  }
121
122
  function s() {
122
- we && (Object.assign(u, ke({}, de)), a());
123
+ Ae && (Object.assign(u, Ce({}, me)), i());
123
124
  }
124
125
  return t(), {
125
- ...Ke(u),
126
+ ...et(u),
126
127
  load: t,
127
- save: a,
128
+ save: i,
128
129
  reset: s
129
130
  };
130
- }), ye = te("notifications", () => {
131
- const u = be(), t = M(), a = ee([]), s = F(!1), n = L(() => a.value.filter((l) => !t.notifications.read.includes(l.slug))), r = L(() => a.value.filter((l) => t.notifications.read.includes(l.slug)));
132
- async function c() {
131
+ }), j = oe("auth", () => {
132
+ const u = te(null), t = $e(), i = T(), s = N(!1), l = L(() => {
133
+ var _, w;
134
+ return !t.url || ((_ = u.value) == null ? void 0 : _.isAdmin) || !!((w = u.value) != null && w.sponsorships.some((b) => b.isActive));
135
+ });
136
+ let a = !1;
137
+ z(u, (_) => {
138
+ if (!(_ != null && _.settings))
139
+ return;
140
+ const w = localStorage.getItem("vuetify@user") || "{}";
141
+ JSON.stringify(_.settings, null, 2) !== w && (a = !0, Object.assign(i, _.settings));
142
+ }), i.$subscribe(() => {
143
+ a || r(), a = !1;
144
+ });
145
+ async function r() {
146
+ try {
147
+ await t.post("/user/settings", { settings: i.$state });
148
+ } catch (_) {
149
+ console.error(_);
150
+ }
151
+ }
152
+ async function c(_ = !1) {
153
+ if (c.promise)
154
+ return c.promise;
155
+ s.value = !0, c.promise = fetch(`${t.url}/auth/verify`, {
156
+ credentials: "include",
157
+ headers: _ ? {
158
+ "Cache-Control": "no-cache"
159
+ } : void 0
160
+ }).then(
161
+ async (w) => {
162
+ w.ok ? u.value = (await w.json()).user : w.status === 401 ? u.value = null : console.error(w.statusText);
163
+ },
164
+ () => {
165
+ }
166
+ ).finally(() => {
167
+ s.value = !1, c.promise = null;
168
+ });
169
+ }
170
+ c.promise = null;
171
+ async function h(_ = "github") {
172
+ s.value = !0;
173
+ const w = `${t.url}/auth/${_}/redirect`, b = 400, y = 600, $ = window.screenX + (window.innerWidth - b) / 2, B = window.screenY + (window.innerHeight - y) / 2, I = window.open(
174
+ "",
175
+ "vuetify:authorize:popup",
176
+ `popup,left=${$},top=${B},width=${b},height=${y},resizable`
177
+ );
178
+ if (!I) {
179
+ console.error("Failed to open popup");
180
+ return;
181
+ }
182
+ I.location.href = w;
183
+ let W = -1, K = -1;
184
+ function A(f) {
185
+ var V;
186
+ f.origin === t.url && ((V = f.data) == null ? void 0 : V.type) === "auth-response" && (f.data.status === "success" ? (u.value || localStorage.setItem("vuetify@lastLoginProvider", _), u.value = f.data.body.user) : console.error(f.data.message), M());
187
+ }
188
+ function M() {
189
+ window.removeEventListener("message", A), window.clearInterval(W), window.clearTimeout(K), I == null || I.close(), s.value = !1;
190
+ }
191
+ window.addEventListener("message", A), W = window.setInterval(() => {
192
+ !I || I.closed ? (console.error("Auth popup closed"), M()) : I.postMessage({ type: "auth-request" }, "*");
193
+ }, 1e3), K = window.setTimeout(() => {
194
+ M(), console.error("Auth timed out");
195
+ }, 120 * 1e3);
196
+ }
197
+ async function p(_) {
198
+ s.value = !0;
199
+ const w = _ ? `/auth/${_}/logout` : "/auth/logout";
200
+ try {
201
+ await t.post(w), await c(!0), u.value = null;
202
+ } catch (b) {
203
+ console.error(b);
204
+ } finally {
205
+ s.value = !1;
206
+ }
207
+ }
208
+ function g(_) {
209
+ var w;
210
+ return (w = u.value) == null ? void 0 : w.identities.find((b) => b.provider === _);
211
+ }
212
+ function C() {
213
+ return localStorage.getItem("vuetify@lastLoginProvider");
214
+ }
215
+ return C() && c(), {
216
+ user: u,
217
+ url: t.url,
218
+ isLoading: s,
219
+ findIdentity: g,
220
+ verify: c,
221
+ login: h,
222
+ logout: p,
223
+ isSubscriber: l,
224
+ lastLoginProvider: C,
225
+ sync: r
226
+ };
227
+ }), xe = oe("notifications", () => {
228
+ const u = $e(), t = T(), i = te([]), s = N(!1), l = L(() => i.value.filter((c) => !t.notifications.read.includes(c.slug))), a = L(() => i.value.filter((c) => t.notifications.read.includes(c.slug)));
229
+ async function r() {
133
230
  try {
134
231
  s.value = !0;
135
- const l = await u.get("/one/notifications");
136
- a.value = l.notifications;
232
+ const c = await u.get("/one/notifications");
233
+ i.value = c.notifications;
137
234
  } catch {
138
235
  } finally {
139
236
  s.value = !1;
140
237
  }
141
- return a.value;
238
+ return i.value;
142
239
  }
143
240
  return {
144
241
  isLoading: s,
145
- all: a,
146
- get: c,
147
- read: r,
148
- unread: n
242
+ all: i,
243
+ get: r,
244
+ read: a,
245
+ unread: l
149
246
  };
150
- }), no = /* @__PURE__ */ V({
247
+ }), ro = /* @__PURE__ */ k({
151
248
  __name: "VoNotificationsTotalBadge",
152
249
  setup(u) {
153
- const t = ye(), a = L(() => t.unread.length);
154
- return (s, n) => (d(), v(Me, {
155
- content: a.value,
156
- "model-value": a.value > 0,
250
+ const t = j(), i = xe(), s = T(), l = L(() => s.notifications.show ? i.unread.length : 0);
251
+ return (a, r) => (d(), m(Ee, {
252
+ content: l.value,
253
+ dot: !!e(t).user,
254
+ "model-value": l.value > 0,
157
255
  color: "error",
158
256
  location: "start top"
159
257
  }, {
160
- default: i(() => [
161
- B(s.$slots, "default")
258
+ default: n(() => [
259
+ H(a.$slots, "default")
162
260
  ]),
163
261
  _: 3
164
- }, 8, ["content", "model-value"]));
262
+ }, 8, ["content", "dot", "model-value"]));
165
263
  }
166
- }), ce = /* @__PURE__ */ V({
264
+ }), de = /* @__PURE__ */ k({
167
265
  __name: "VoBtn",
168
266
  props: {
169
267
  readonly: { type: Boolean }
170
268
  },
171
269
  setup(u) {
172
270
  const t = u;
173
- return (a, s) => (d(), v(Z, {
174
- style: Be({
271
+ return (i, s) => (d(), m(Z, {
272
+ style: Re({
175
273
  pointerEvents: t.readonly ? "none" : void 0
176
274
  }),
177
275
  tabindex: t.readonly ? -1 : void 0,
@@ -180,250 +278,154 @@ const be = te("http", {
180
278
  size: "small",
181
279
  variant: "flat"
182
280
  }, G({
183
- loader: i(() => [
184
- a.$slots.loader ? $("", !0) : (d(), v(it, {
281
+ loader: n(() => [
282
+ i.$slots.loader ? x("", !0) : (d(), m(rt, {
185
283
  key: 0,
186
284
  indeterminate: "disable-shrink",
187
285
  size: "16",
188
286
  width: "2"
189
287
  })),
190
- B(a.$slots, "loader")
288
+ H(i.$slots, "loader")
191
289
  ]),
192
290
  _: 2
193
291
  }, [
194
- a.$slots.default ? {
292
+ i.$slots.default ? {
195
293
  name: "default",
196
- fn: i(() => [
197
- B(a.$slots, "default")
294
+ fn: n(() => [
295
+ H(i.$slots, "default")
198
296
  ]),
199
297
  key: "0"
200
298
  } : void 0
201
299
  ]), 1032, ["style", "tabindex"]));
202
300
  }
203
- }), z = te("auth", () => {
204
- const u = ee(null), t = be(), a = M(), s = F(!1), n = L(() => {
205
- var m, k;
206
- return !t.url || ((m = u.value) == null ? void 0 : m.isAdmin) || !!((k = u.value) != null && k.sponsorships.some((D) => D.isActive));
207
- });
208
- let r = !1;
209
- W(u, (m) => {
210
- if (!(m != null && m.settings))
211
- return;
212
- const k = localStorage.getItem("vuetify@user") || "{}";
213
- JSON.stringify(m.settings, null, 2) !== k && (r = !0, Object.assign(a, m.settings));
214
- }), a.$subscribe(() => {
215
- r || c(), r = !1;
216
- });
217
- async function c() {
218
- try {
219
- await t.post("/user/settings", { settings: a.$state });
220
- } catch (m) {
221
- console.error(m);
222
- }
223
- }
224
- async function l(m = !1) {
225
- if (l.promise)
226
- return l.promise;
227
- s.value = !0, l.promise = fetch(`${t.url}/auth/verify`, {
228
- credentials: "include",
229
- headers: m ? {
230
- "Cache-Control": "no-cache"
231
- } : void 0
232
- }).then(
233
- async (k) => {
234
- k.ok ? u.value = (await k.json()).user : k.status === 401 ? u.value = null : console.error(k.statusText);
235
- },
236
- () => {
237
- }
238
- ).finally(() => {
239
- s.value = !1, l.promise = null;
240
- });
241
- }
242
- l.promise = null;
243
- async function h(m = "github") {
244
- s.value = !0;
245
- const k = `${t.url}/auth/${m}/redirect`, D = 400, b = 600, x = window.screenX + (window.innerWidth - D) / 2, A = window.screenY + (window.innerHeight - b) / 2, O = window.open(
246
- "",
247
- "vuetify:authorize:popup",
248
- `popup,left=${x},top=${A},width=${D},height=${b},resizable`
249
- );
250
- if (!O) {
251
- console.error("Failed to open popup");
252
- return;
253
- }
254
- O.location.href = k;
255
- let S = -1, E = -1;
256
- function P(f) {
257
- var y;
258
- f.origin === t.url && ((y = f.data) == null ? void 0 : y.type) === "auth-response" && (f.data.status === "success" ? (u.value || localStorage.setItem("vuetify@lastLoginProvider", m), u.value = f.data.body.user) : console.error(f.data.message), T());
259
- }
260
- function T() {
261
- window.removeEventListener("message", P), window.clearInterval(S), window.clearTimeout(E), O == null || O.close(), s.value = !1;
262
- }
263
- window.addEventListener("message", P), S = window.setInterval(() => {
264
- !O || O.closed ? (console.error("Auth popup closed"), T()) : O.postMessage({ type: "auth-request" }, "*");
265
- }, 1e3), E = window.setTimeout(() => {
266
- T(), console.error("Auth timed out");
267
- }, 120 * 1e3);
268
- }
269
- async function p(m) {
270
- s.value = !0;
271
- const k = m ? `/auth/${m}/logout` : "/auth/logout";
272
- try {
273
- await t.post(k), await l(!0), u.value = null;
274
- } catch (D) {
275
- console.error(D);
276
- } finally {
277
- s.value = !1;
278
- }
279
- }
280
- function g(m) {
281
- var k;
282
- return (k = u.value) == null ? void 0 : k.identities.find((D) => D.provider === m);
283
- }
284
- function C() {
285
- return localStorage.getItem("vuetify@lastLoginProvider");
286
- }
287
- return C() && l(), {
288
- user: u,
289
- url: t.url,
290
- isLoading: s,
291
- findIdentity: g,
292
- verify: l,
293
- login: h,
294
- logout: p,
295
- isSubscriber: n,
296
- lastLoginProvider: C,
297
- sync: c
298
- };
299
- }), io = { class: "text-body-2" }, ao = /* @__PURE__ */ _("div", { class: "text-caption mt-n1" }, "Last Used", -1), ro = /* @__PURE__ */ V({
301
+ }), lo = { class: "text-body-2" }, co = /* @__PURE__ */ v("div", { class: "text-caption mt-n1" }, "Last Used", -1), uo = /* @__PURE__ */ k({
300
302
  __name: "VoAuthDiscord",
301
303
  setup(u) {
302
- const t = z(), a = L(() => t.user && t.findIdentity("discord")), s = L(() => t.user ? a.value ? "Connected to Discord" : "Connect Discord" : "Log in with Discord");
303
- return (n, r) => (d(), v(ve, {
304
- "prepend-icon": `svg:${e(Ie)}`,
304
+ const t = j(), i = L(() => t.user && t.findIdentity("discord")), s = L(() => t.user ? i.value ? "Connected to Discord" : "Connect Discord" : "Log in with Discord");
305
+ return (l, a) => (d(), m(he, {
306
+ "prepend-icon": `svg:${e(Ne)}`,
305
307
  "base-color": "#5865F2",
306
308
  rounded: "pill",
307
309
  variant: "flat",
308
310
  slim: "",
309
- onClick: r[0] || (r[0] = (c) => e(t).login("discord"))
311
+ onClick: a[0] || (a[0] = (r) => e(t).login("discord"))
310
312
  }, G({
311
- title: i(() => [
312
- _("span", io, I(s.value), 1)
313
+ title: n(() => [
314
+ v("span", lo, D(s.value), 1)
313
315
  ]),
314
316
  _: 2
315
317
  }, [
316
318
  !e(t).user && e(t).lastLoginProvider() === "discord" ? {
317
319
  name: "subtitle",
318
- fn: i(() => [
319
- ao
320
+ fn: n(() => [
321
+ co
320
322
  ]),
321
323
  key: "0"
322
324
  } : void 0
323
325
  ]), 1032, ["prepend-icon"]));
324
326
  }
325
- }), lo = { class: "text-body-2" }, co = /* @__PURE__ */ _("div", { class: "text-caption mt-n1" }, "Last Used", -1), uo = /* @__PURE__ */ V({
327
+ }), po = { class: "text-body-2" }, mo = /* @__PURE__ */ v("div", { class: "text-caption mt-n1" }, "Last Used", -1), fo = /* @__PURE__ */ k({
326
328
  __name: "VoAuthGithub",
327
329
  setup(u) {
328
- const t = z(), a = L(() => t.user && t.findIdentity("github")), s = L(() => t.user ? a.value ? "Connected to GitHub" : "Connect GitHub" : "Log in with GitHub");
329
- return (n, r) => (d(), v(ve, {
330
- "prepend-icon": `svg:${e(Ae)}`,
330
+ const t = j(), i = L(() => t.user && t.findIdentity("github")), s = L(() => t.user ? i.value ? "Connected to GitHub" : "Connect GitHub" : "Log in with GitHub");
331
+ return (l, a) => (d(), m(he, {
332
+ "prepend-icon": `svg:${e(Oe)}`,
331
333
  "base-color": "#2a2a2a",
332
334
  rounded: "pill",
333
335
  variant: "flat",
334
336
  slim: "",
335
- onClick: r[0] || (r[0] = (c) => e(t).login("github"))
337
+ onClick: a[0] || (a[0] = (r) => e(t).login("github"))
336
338
  }, G({
337
- title: i(() => [
338
- _("span", lo, I(s.value), 1)
339
+ title: n(() => [
340
+ v("span", po, D(s.value), 1)
339
341
  ]),
340
342
  _: 2
341
343
  }, [
342
344
  !e(t).user && e(t).lastLoginProvider() === "github" ? {
343
345
  name: "subtitle",
344
- fn: i(() => [
345
- co
346
+ fn: n(() => [
347
+ mo
346
348
  ]),
347
349
  key: "0"
348
350
  } : void 0
349
351
  ]), 1032, ["prepend-icon"]));
350
352
  }
351
- }), po = { class: "pa-4 d-flex flex-column ga-4" }, mo = /* @__PURE__ */ V({
353
+ }), vo = { class: "pa-4 d-flex flex-column ga-4" }, _o = /* @__PURE__ */ k({
352
354
  __name: "VoAuthListItem",
353
355
  setup(u) {
354
- const t = z(), a = M(), s = F(!t.user && !t.isLoading);
355
- W(() => t.user, (r) => {
356
- s.value = !r;
356
+ const t = j(), i = T(), s = N(!t.user && !t.isLoading);
357
+ z(() => t.user, (a) => {
358
+ s.value = !a;
357
359
  });
358
- function n() {
360
+ function l() {
359
361
  t.user && (s.value = !s.value);
360
362
  }
361
- return (r, c) => {
362
- const l = uo, h = ro;
363
- return d(), v(R, {
363
+ return (a, r) => {
364
+ const c = fo, h = uo;
365
+ return d(), m(P, {
364
366
  variant: s.value ? "tonal" : "text",
365
367
  class: "ma-2",
366
368
  rounded: "lg"
367
369
  }, {
368
- default: i(() => [
369
- o(ne, { class: "py-0" }, {
370
- default: i(() => [
371
- o(ve, {
370
+ default: n(() => [
371
+ o(ie, { class: "py-0" }, {
372
+ default: n(() => [
373
+ o(he, {
372
374
  link: !!e(t).user,
373
- "prepend-icon": `svg:${e(t).user && e(a).syncSettings ? e(at) : e(rt)}`,
374
- title: e(t).user && e(a).syncSettings ? "Sync is on" : "Sync is paused",
375
+ "prepend-icon": `svg:${e(t).user && e(i).syncSettings ? e(lt) : e(ct)}`,
376
+ title: e(t).user && e(i).syncSettings ? "Sync is on" : "Sync is paused",
375
377
  class: "mb-0",
376
378
  rounded: "b-0",
377
379
  nav: "",
378
380
  slim: "",
379
- onClick: n
381
+ onClick: l
380
382
  }, {
381
- append: i(() => [
382
- o(De, null, {
383
- default: i(() => [
384
- e(t).user && (s.value || !e(a).syncSettings) ? (d(), v(We, {
383
+ append: n(() => [
384
+ o(Be, null, {
385
+ default: n(() => [
386
+ e(t).user && (s.value || !e(i).syncSettings) ? (d(), m(Ge, {
385
387
  key: 0,
386
- modelValue: e(a).syncSettings,
387
- "onUpdate:modelValue": c[0] || (c[0] = (p) => e(a).syncSettings = p),
388
- color: e(a).syncSettings ? "success" : void 0,
388
+ modelValue: e(i).syncSettings,
389
+ "onUpdate:modelValue": r[0] || (r[0] = (p) => e(i).syncSettings = p),
390
+ color: e(i).syncSettings ? "success" : void 0,
389
391
  density: "compact",
390
392
  "hide-details": "",
391
393
  inset: "",
392
- onClick: c[1] || (c[1] = ze(() => {
394
+ onClick: r[1] || (r[1] = He(() => {
393
395
  }, ["stop"]))
394
396
  }, {
395
- thumb: i(() => [
396
- o(pe, {
397
- color: e(a).syncSettings ? "success" : void 0
397
+ thumb: n(() => [
398
+ o(fe, {
399
+ color: e(i).syncSettings ? "success" : void 0
398
400
  }, null, 8, ["color"])
399
401
  ]),
400
402
  _: 1
401
- }, 8, ["modelValue", "color"])) : $("", !0)
403
+ }, 8, ["modelValue", "color"])) : x("", !0)
402
404
  ]),
403
405
  _: 1
404
406
  })
405
407
  ]),
406
408
  _: 1
407
409
  }, 8, ["link", "prepend-icon", "title"]),
408
- o(le, null, {
409
- default: i(() => [
410
- !e(t).user && !e(t).isLoading || s.value ? (d(), v(Ee, {
410
+ o(ue, null, {
411
+ default: n(() => [
412
+ !e(t).user && !e(t).isLoading || s.value ? (d(), m(qe, {
411
413
  key: 0,
412
414
  border: "t",
413
415
  color: "transparent"
414
416
  }, {
415
- default: i(() => [
416
- _("div", po, [
417
- o(l, {
418
- onClick: c[2] || (c[2] = (p) => s.value = !1)
417
+ default: n(() => [
418
+ v("div", vo, [
419
+ o(c, {
420
+ onClick: r[2] || (r[2] = (p) => s.value = !1)
419
421
  }),
420
422
  o(h, {
421
- onClick: c[3] || (c[3] = (p) => s.value = !1)
423
+ onClick: r[3] || (r[3] = (p) => s.value = !1)
422
424
  })
423
425
  ])
424
426
  ]),
425
427
  _: 1
426
- })) : $("", !0)
428
+ })) : x("", !0)
427
429
  ]),
428
430
  _: 1
429
431
  })
@@ -435,51 +437,51 @@ const be = te("http", {
435
437
  }, 8, ["variant"]);
436
438
  };
437
439
  }
438
- }), Y = /* @__PURE__ */ V({
440
+ }), Q = /* @__PURE__ */ k({
439
441
  __name: "VoListItem",
440
442
  setup(u) {
441
- return (t, a) => (d(), v(ve, { slim: "" }, G({
442
- default: i(() => [
443
- B(t.$slots, "default")
443
+ return (t, i) => (d(), m(he, { slim: "" }, G({
444
+ default: n(() => [
445
+ H(t.$slots, "default")
444
446
  ]),
445
447
  _: 2
446
448
  }, [
447
449
  t.$slots.prepend ? {
448
450
  name: "prepend",
449
- fn: i(() => [
450
- B(t.$slots, "prepend")
451
+ fn: n(() => [
452
+ H(t.$slots, "prepend")
451
453
  ]),
452
454
  key: "0"
453
455
  } : void 0,
454
456
  t.$slots.title ? {
455
457
  name: "title",
456
- fn: i(() => [
457
- B(t.$slots, "title")
458
+ fn: n(() => [
459
+ H(t.$slots, "title")
458
460
  ]),
459
461
  key: "1"
460
462
  } : void 0,
461
463
  t.$slots.append ? {
462
464
  name: "append",
463
- fn: i(() => [
464
- B(t.$slots, "append")
465
+ fn: n(() => [
466
+ H(t.$slots, "append")
465
467
  ]),
466
468
  key: "2"
467
469
  } : void 0
468
470
  ]), 1024));
469
471
  }
470
- }), fo = /* @__PURE__ */ V({
472
+ }), ho = /* @__PURE__ */ k({
471
473
  __name: "VoAuthLogoutListItem",
472
474
  setup(u) {
473
- const t = z(), a = F(!1);
475
+ const t = j(), i = N(!1);
474
476
  async function s() {
475
- a.value = !0, await t.logout(), a.value = !1;
477
+ i.value = !0, await t.logout(), i.value = !1;
476
478
  }
477
- return (n, r) => {
478
- const c = Y;
479
- return d(), v(c, {
480
- disabled: a.value,
481
- loading: a.value,
482
- "prepend-icon": `svg:${e(lt)}`,
479
+ return (l, a) => {
480
+ const r = Q;
481
+ return d(), m(r, {
482
+ disabled: i.value,
483
+ loading: i.value,
484
+ "prepend-icon": `svg:${e(ut)}`,
483
485
  class: "mb-0",
484
486
  title: "Logout",
485
487
  link: "",
@@ -487,9 +489,9 @@ const be = te("http", {
487
489
  }, null, 8, ["disabled", "loading", "prepend-icon"]);
488
490
  };
489
491
  }
490
- }), Ve = /* @__PURE__ */ V({
492
+ }), we = /* @__PURE__ */ k({
491
493
  __name: "VoDialog",
492
- props: /* @__PURE__ */ et({
494
+ props: /* @__PURE__ */ tt({
493
495
  prependIcon: {},
494
496
  title: {}
495
497
  }, {
@@ -498,50 +500,50 @@ const be = te("http", {
498
500
  }),
499
501
  emits: ["update:modelValue"],
500
502
  setup(u) {
501
- const t = fe(u, "modelValue"), a = _e();
502
- return (s, n) => (d(), v(qt, {
503
+ const t = ae(u, "modelValue"), i = ge();
504
+ return (s, l) => (d(), m(Qt, {
503
505
  modelValue: t.value,
504
- "onUpdate:modelValue": n[1] || (n[1] = (r) => t.value = r),
505
- fullscreen: e(a).xs.value,
506
- "max-height": e(a).xs.value ? "100%" : 800,
507
- "max-width": e(a).xs.value ? "100%" : 800,
506
+ "onUpdate:modelValue": l[1] || (l[1] = (a) => t.value = a),
507
+ fullscreen: e(i).xs.value,
508
+ "max-height": e(i).xs.value ? "100%" : 800,
509
+ "max-width": e(i).xs.value ? "100%" : 800,
508
510
  activator: "parent",
509
511
  height: "100%"
510
512
  }, {
511
- default: i(({ isActive: r }) => [
512
- o(R, {
513
+ default: n(({ isActive: a }) => [
514
+ o(P, {
513
515
  "prepend-icon": s.prependIcon,
514
516
  title: s.title,
515
517
  class: "overflow-hidden",
516
518
  height: "inherit"
517
519
  }, G({
518
- append: i(() => [
519
- B(s.$slots, "append"),
520
+ append: n(() => [
521
+ H(s.$slots, "append"),
520
522
  o(Z, {
521
523
  density: "comfortable",
522
524
  icon: "$close",
523
525
  size: "small",
524
526
  variant: "text",
525
- onClick: n[0] || (n[0] = (c) => t.value = !t.value)
527
+ onClick: l[0] || (l[0] = (r) => t.value = !t.value)
526
528
  })
527
529
  ]),
528
- default: i(() => [
529
- o(H, { class: "mt-4" }),
530
- B(s.$slots, "default")
530
+ default: n(() => [
531
+ o(E, { class: "mt-4" }),
532
+ H(s.$slots, "default")
531
533
  ]),
532
534
  _: 2
533
535
  }, [
534
536
  s.$slots.prepend ? {
535
537
  name: "prepend",
536
- fn: i(() => [
537
- B(s.$slots, "prepend")
538
+ fn: n(() => [
539
+ H(s.$slots, "prepend")
538
540
  ]),
539
541
  key: "0"
540
542
  } : void 0,
541
543
  s.$slots.actions ? {
542
544
  name: "actions",
543
- fn: i(() => [
544
- B(s.$slots, "actions", { isActive: r })
545
+ fn: n(() => [
546
+ H(s.$slots, "actions", { isActive: a })
545
547
  ]),
546
548
  key: "1"
547
549
  } : void 0
@@ -550,20 +552,20 @@ const be = te("http", {
550
552
  _: 3
551
553
  }, 8, ["modelValue", "fullscreen", "max-height", "max-width"]));
552
554
  }
553
- }), Je = /* @__PURE__ */ V({
555
+ }), Xe = /* @__PURE__ */ k({
554
556
  __name: "VoSwitch",
555
557
  props: {
556
558
  disabled: { type: Boolean }
557
559
  },
558
560
  setup(u) {
559
- return (t, a) => (d(), v(We, {
561
+ return (t, i) => (d(), m(Ge, {
560
562
  disabled: t.disabled,
561
- "true-icon": `svg:${e(oe)}`,
563
+ "true-icon": `svg:${e(se)}`,
562
564
  color: "primary",
563
565
  density: "compact",
564
566
  inset: ""
565
567
  }, G({
566
- thumb: i(() => [
568
+ thumb: n(() => [
567
569
  o(U, {
568
570
  color: t.disabled ? void 0 : "primary"
569
571
  }, null, 8, ["color"])
@@ -572,40 +574,40 @@ const be = te("http", {
572
574
  }, [
573
575
  t.$slots.label ? {
574
576
  name: "label",
575
- fn: i(() => [
576
- B(t.$slots, "label")
577
+ fn: n(() => [
578
+ H(t.$slots, "label")
577
579
  ]),
578
580
  key: "0"
579
581
  } : void 0
580
582
  ]), 1032, ["disabled", "true-icon"]));
581
583
  }
582
- }), vo = {
584
+ }), go = {
583
585
  key: 1,
584
586
  class: "mb-3 text-caption text-medium-emphasis"
585
- }, ue = /* @__PURE__ */ V({
587
+ }, pe = /* @__PURE__ */ k({
586
588
  __name: "VoDialogSubheader",
587
589
  props: {
588
590
  title: {},
589
591
  text: {}
590
592
  },
591
593
  setup(u) {
592
- return (t, a) => (d(), w(N, null, [
593
- t.title ? (d(), v(Se, {
594
+ return (t, i) => (d(), S(F, null, [
595
+ t.title ? (d(), m(De, {
594
596
  key: 0,
595
597
  class: "font-weight-black"
596
598
  }, {
597
- default: i(() => [
598
- j(I(t.title), 1)
599
+ default: n(() => [
600
+ O(D(t.title), 1)
599
601
  ]),
600
602
  _: 1
601
- })) : $("", !0),
602
- t.text ? (d(), w("div", vo, I(t.text), 1)) : $("", !0)
603
+ })) : x("", !0),
604
+ t.text ? (d(), S("div", go, D(t.text), 1)) : x("", !0)
603
605
  ], 64));
604
606
  }
605
- }), _o = { key: 0 }, ho = /* @__PURE__ */ V({
607
+ }), bo = { key: 0 }, yo = /* @__PURE__ */ k({
606
608
  __name: "VoSettingsPageSuitOption",
607
609
  setup(u) {
608
- const t = M(), a = [
610
+ const t = T(), i = [
609
611
  {
610
612
  title: "Choose a page suit",
611
613
  value: "",
@@ -613,7 +615,7 @@ const be = te("http", {
613
615
  },
614
616
  {
615
617
  title: "Blackguard",
616
- prependIcon: `svg:${Pe}`,
618
+ prependIcon: `svg:${We}`,
617
619
  value: "blackguard"
618
620
  }
619
621
  // {
@@ -627,23 +629,23 @@ const be = te("http", {
627
629
  // value: 'nebula',
628
630
  // },
629
631
  ];
630
- return (s, n) => {
631
- const r = Je, c = ue;
632
- return d(), w(N, null, [
633
- o(r, {
632
+ return (s, l) => {
633
+ const a = Xe, r = pe;
634
+ return d(), S(F, null, [
635
+ o(a, {
634
636
  modelValue: e(t).suits.show,
635
- "onUpdate:modelValue": n[0] || (n[0] = (l) => e(t).suits.show = l),
637
+ "onUpdate:modelValue": l[0] || (l[0] = (c) => e(t).suits.show = c),
636
638
  class: "mb-2",
637
639
  label: "Enable Page suits",
638
640
  messages: "Customize layout elements with a unique background, styled after one of our themed releases."
639
641
  }, null, 8, ["modelValue"]),
640
- o(le, null, {
641
- default: i(() => [
642
- e(t).suits.show ? (d(), w("div", _o, [
643
- o(Jt, {
642
+ o(ue, null, {
643
+ default: n(() => [
644
+ e(t).suits.show ? (d(), S("div", bo, [
645
+ o(Xt, {
644
646
  modelValue: e(t).suits.suit,
645
- "onUpdate:modelValue": n[1] || (n[1] = (l) => e(t).suits.suit = l),
646
- items: a,
647
+ "onUpdate:modelValue": l[1] || (l[1] = (c) => e(t).suits.suit = c),
648
+ items: i,
647
649
  density: "compact",
648
650
  placeholder: "Choose a page suit",
649
651
  style: { "max-width": "300px" },
@@ -652,34 +654,34 @@ const be = te("http", {
652
654
  "item-props": "",
653
655
  "single-line": ""
654
656
  }, {
655
- selection: i(({ item: l }) => [
657
+ selection: n(({ item: c }) => [
656
658
  o(U, {
657
- icon: l.props.prependIcon,
659
+ icon: c.props.prependIcon,
658
660
  size: "x-small",
659
661
  start: ""
660
662
  }, null, 8, ["icon"]),
661
- j(" " + I(l.title), 1)
663
+ O(" " + D(c.title), 1)
662
664
  ]),
663
665
  _: 1
664
666
  }, 8, ["modelValue"]),
665
- o(c, { text: "Select your suit elements to display the background image:" }),
666
- o(Yt, {
667
+ o(r, { text: "Select your suit elements to display the background image:" }),
668
+ o(Jt, {
667
669
  modelValue: e(t).suits.elements,
668
- "onUpdate:modelValue": n[2] || (n[2] = (l) => e(t).suits.elements = l),
670
+ "onUpdate:modelValue": l[2] || (l[2] = (c) => e(t).suits.elements = c),
669
671
  color: "primary",
670
672
  filter: "",
671
673
  multiple: ""
672
674
  }, {
673
- default: i(() => [
674
- o(q, {
675
- "append-icon": `svg:${e(ct)}`,
675
+ default: n(() => [
676
+ o(Y, {
677
+ "append-icon": `svg:${e(dt)}`,
676
678
  "filter-icon": "$success",
677
679
  text: "App Bar",
678
680
  value: "app-bar",
679
681
  variant: "flat"
680
682
  }, {
681
- append: i(() => [
682
- o(H, {
683
+ append: n(() => [
684
+ o(E, {
683
685
  class: "ms-2 border-opacity-50",
684
686
  vertical: ""
685
687
  }),
@@ -687,15 +689,15 @@ const be = te("http", {
687
689
  ]),
688
690
  _: 1
689
691
  }, 8, ["append-icon"]),
690
- o(q, {
691
- "append-icon": `svg:${e(ut)}`,
692
+ o(Y, {
693
+ "append-icon": `svg:${e(pt)}`,
692
694
  "filter-icon": "$success",
693
695
  text: "Navigation Drawer",
694
696
  value: "drawer",
695
697
  variant: "flat"
696
698
  }, {
697
- append: i(() => [
698
- o(H, {
699
+ append: n(() => [
700
+ o(E, {
699
701
  class: "ms-2 border-opacity-50",
700
702
  vertical: ""
701
703
  }),
@@ -703,15 +705,15 @@ const be = te("http", {
703
705
  ]),
704
706
  _: 1
705
707
  }, 8, ["append-icon"]),
706
- o(q, {
708
+ o(Y, {
707
709
  "append-icon": "$info",
708
710
  "filter-icon": "$success",
709
711
  text: "Footer",
710
712
  value: "footer",
711
713
  variant: "flat"
712
714
  }, {
713
- append: i(() => [
714
- o(H, {
715
+ append: n(() => [
716
+ o(E, {
715
717
  class: "ms-2 border-opacity-50",
716
718
  vertical: ""
717
719
  }),
@@ -722,7 +724,7 @@ const be = te("http", {
722
724
  ]),
723
725
  _: 1
724
726
  }, 8, ["modelValue"])
725
- ])) : $("", !0)
727
+ ])) : x("", !0)
726
728
  ]),
727
729
  _: 1
728
730
  })
@@ -730,7 +732,142 @@ const be = te("http", {
730
732
  };
731
733
  }
732
734
  });
733
- function go() {
735
+ function Se() {
736
+ const u = Zt();
737
+ return L(
738
+ () => u.query
739
+ );
740
+ }
741
+ const q = oe("one", () => {
742
+ const t = new URLSearchParams(window.location.search).get("session_id"), i = j(), s = $e(), l = N(!1), a = te(!1), r = te(), c = te([]), h = L(() => {
743
+ var f;
744
+ return (f = r.value) == null ? void 0 : f.items[0].plan.interval;
745
+ }), p = L(() => {
746
+ var f;
747
+ return (f = i.user) == null ? void 0 : f.sponsorships.find((V) => V.platform === "stripe" && V.tierName.startsWith("sub_"));
748
+ }), g = L(() => {
749
+ var f;
750
+ return !!((f = p.value) != null && f.tierName);
751
+ }), C = L(() => {
752
+ var f;
753
+ return (f = p.value) == null ? void 0 : f.isActive;
754
+ }), _ = L(() => {
755
+ var f;
756
+ return (f = i.user) == null ? void 0 : f.sponsorships.find((V) => V.platform === "github");
757
+ }), w = L(() => {
758
+ var f;
759
+ return (f = i.user) == null ? void 0 : f.sponsorships.find((V) => V.platform === "discord");
760
+ }), b = L(() => {
761
+ var f;
762
+ return (f = i.user) == null ? void 0 : f.sponsorships.find((V) => V.platform === "patreon");
763
+ }), y = L(() => {
764
+ var f;
765
+ return (f = i.user) == null ? void 0 : f.sponsorships.reduce((V, R) => {
766
+ if (!R.isActive || R.interval === "once" || R.platform === "stripe")
767
+ return V;
768
+ const ee = R.interval === "month" ? R.amount : R.amount / 12;
769
+ return V + ee / 100;
770
+ }, 0);
771
+ });
772
+ ot(async () => {
773
+ t && await $();
774
+ }), z(C, (f, V) => {
775
+ f === !1 && V !== !0 || A();
776
+ });
777
+ async function $() {
778
+ try {
779
+ l.value = !0;
780
+ const f = await s.post("/one/activate", { sessionId: t });
781
+ i.user = f.user;
782
+ const V = new URL(window.location.href);
783
+ V.searchParams.delete("session_id"), history.pushState(null, "", V.toString()), M();
784
+ } catch {
785
+ } finally {
786
+ l.value = !1;
787
+ }
788
+ }
789
+ async function B() {
790
+ window.open(`${s.url}/one/manage`, "_blank");
791
+ }
792
+ async function I(f) {
793
+ l.value = !0, window.location.href = `${s.url}/one/subscribe?interval=${f}`;
794
+ }
795
+ async function W() {
796
+ var f;
797
+ if (p.value)
798
+ try {
799
+ l.value = !0;
800
+ const V = await s.post(
801
+ `/one/cancel?subscriptionId=${(f = p.value) == null ? void 0 : f.tierName}`
802
+ );
803
+ i.user = V.user;
804
+ } catch {
805
+ } finally {
806
+ l.value = !1;
807
+ }
808
+ }
809
+ async function K(f) {
810
+ if (p.value)
811
+ try {
812
+ l.value = !0;
813
+ const V = await s.post("/one/modify", {
814
+ subscriptionId: p.value.tierName,
815
+ interval: f
816
+ });
817
+ i.user = V.user;
818
+ } catch {
819
+ } finally {
820
+ l.value = !1;
821
+ }
822
+ }
823
+ async function A() {
824
+ var f;
825
+ if (p.value)
826
+ try {
827
+ l.value = !0;
828
+ const V = await s.post(
829
+ `/one/verify?subscriptionId=${(f = p.value) == null ? void 0 : f.tierName}`
830
+ );
831
+ i.user = V.user;
832
+ } catch {
833
+ } finally {
834
+ l.value = !1;
835
+ }
836
+ }
837
+ async function M() {
838
+ try {
839
+ l.value = !0;
840
+ const f = await s.get("/one/info");
841
+ return r.value = f.subscription, c.value = f.invoices, f;
842
+ } catch {
843
+ } finally {
844
+ l.value = !1;
845
+ }
846
+ }
847
+ return {
848
+ info: r,
849
+ interval: h,
850
+ invoices: c,
851
+ sessionId: t,
852
+ subscription: p,
853
+ monthlyTotal: y,
854
+ hasBilling: g,
855
+ isLoading: l,
856
+ isOpen: a,
857
+ isSubscriber: C,
858
+ github: _,
859
+ patreon: b,
860
+ discord: w,
861
+ activate: $,
862
+ cancel: W,
863
+ manage: B,
864
+ modify: K,
865
+ subscribe: I,
866
+ subscriptionInfo: M,
867
+ verify: A
868
+ };
869
+ });
870
+ function Vo() {
734
871
  return {
735
872
  blackguard: {
736
873
  dark: !0,
@@ -846,8 +983,8 @@ function go() {
846
983
  }
847
984
  };
848
985
  }
849
- const Qe = te("settings", () => {
850
- const u = "https://cdn.vuetifyjs.com/docs/images/one/", t = z(), a = M(), s = Gt(), n = go(), r = {
986
+ const Ze = oe("settings", () => {
987
+ const u = "https://cdn.vuetifyjs.com/docs/images/one/", t = j(), i = T(), s = Yt(), l = Vo(), a = {
851
988
  blackguard: {
852
989
  "app-bar": u + "suits/blackguard/blackguard-app-bar.png",
853
990
  drawer: u + "suits/blackguard/blackguard-app-drawer.png",
@@ -863,24 +1000,24 @@ const Qe = te("settings", () => {
863
1000
  // 'drawer': '',
864
1001
  // footer: '',
865
1002
  // },
866
- }, c = L(() => {
867
- if (!a.suits.suit || !a.suits.show || !t.isSubscriber)
1003
+ }, r = L(() => {
1004
+ if (!i.suits.suit || !i.suits.show || !t.isSubscriber)
868
1005
  return {};
869
- const l = r[a.suits.suit.toLowerCase()], h = {};
870
- for (const p of a.suits.elements)
871
- h[p] = l[p];
1006
+ const c = a[i.suits.suit.toLowerCase()], h = {};
1007
+ for (const p of i.suits.elements)
1008
+ h[p] = c[p];
872
1009
  return h;
873
1010
  });
874
1011
  return s.themes.value = {
875
1012
  ...s.themes.value,
876
- ...n
877
- }, W(() => a.theme, (l) => {
878
- l === "system" ? s.global.name.value = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : s.global.name.value = l, a.theme = l;
1013
+ ...l
1014
+ }, z(() => i.theme, (c) => {
1015
+ c === "system" ? s.global.name.value = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : s.global.name.value = c, i.theme = c;
879
1016
  }, { immediate: !0 }), {
880
- suit: c,
1017
+ suit: r,
881
1018
  CDN_URL: u
882
1019
  };
883
- }), bo = /* @__PURE__ */ V({
1020
+ }), ko = /* @__PURE__ */ k({
884
1021
  __name: "VoSettingsDialog",
885
1022
  props: {
886
1023
  modelValue: { type: Boolean },
@@ -888,114 +1025,116 @@ const Qe = te("settings", () => {
888
1025
  },
889
1026
  emits: ["update:modelValue"],
890
1027
  setup(u) {
891
- const t = fe(u, "modelValue"), a = z(), s = Qe(), n = M(), r = [
1028
+ const t = ae(u, "modelValue"), i = j(), s = q(), l = Ze(), a = T(), r = [
892
1029
  {
893
1030
  title: "Light",
894
1031
  subtitle: "A standard light theme.",
895
- image: s.CDN_URL + "themes/light.png",
896
- prependIcon: `svg:${dt}`,
1032
+ image: l.CDN_URL + "themes/light.png",
1033
+ prependIcon: `svg:${mt}`,
897
1034
  value: "light"
898
1035
  },
899
1036
  {
900
1037
  title: "Dark",
901
1038
  subtitle: "A standard dark theme.",
902
- image: s.CDN_URL + "themes/dark.png",
903
- prependIcon: `svg:${pt}`,
1039
+ image: l.CDN_URL + "themes/dark.png",
1040
+ prependIcon: `svg:${ft}`,
904
1041
  value: "dark"
905
1042
  },
906
1043
  {
907
1044
  title: "System",
908
1045
  subtitle: "A theme based on the system preference.",
909
- image: s.CDN_URL + "themes/system.png",
910
- prependIcon: `svg:${mt}`,
1046
+ image: l.CDN_URL + "themes/system.png",
1047
+ prependIcon: `svg:${vt}`,
911
1048
  value: "system"
912
1049
  },
913
1050
  {
914
1051
  title: "Blackguard",
915
1052
  subtitle: "A theme for v3.4 Blackguard.",
916
- image: s.CDN_URL + "themes/blackguard.png",
917
- prependIcon: `svg:${Pe}`,
1053
+ image: l.CDN_URL + "themes/blackguard.png",
1054
+ prependIcon: `svg:${We}`,
918
1055
  value: "blackguard"
919
1056
  },
920
1057
  {
921
1058
  title: "Polaris",
922
1059
  subtitle: "A theme for v3.5 Polaris.",
923
- image: s.CDN_URL + "themes/polaris.png",
924
- prependIcon: `svg:${ft}`,
1060
+ image: l.CDN_URL + "themes/polaris.png",
1061
+ prependIcon: `svg:${_t}`,
925
1062
  value: "polaris",
926
1063
  disabled: !0
927
1064
  },
928
1065
  {
929
1066
  title: "Nebula",
930
1067
  subtitle: "A theme for v3.6 Nebula.",
931
- image: s.CDN_URL + "themes/nebula.png",
932
- prependIcon: `svg:${vt}`,
1068
+ image: l.CDN_URL + "themes/nebula.png",
1069
+ prependIcon: `svg:${ht}`,
933
1070
  value: "nebula",
934
1071
  disabled: !0
935
1072
  },
936
1073
  {
937
1074
  title: "High Contrast",
938
1075
  subtitle: "A theme for high contrast.",
939
- image: s.CDN_URL + "themes/high-contrast.png",
940
- prependIcon: `svg:${_t}`,
1076
+ image: l.CDN_URL + "themes/high-contrast.png",
1077
+ prependIcon: `svg:${gt}`,
941
1078
  value: "highContrast",
942
1079
  disabled: !0
943
1080
  }
944
- ];
945
- return (c, l) => {
946
- const h = ue, p = ho, g = Je, C = Ve;
947
- return d(), v(C, {
1081
+ ], c = Se();
1082
+ return z(c, async () => {
1083
+ c.value.one === "settings" && (s.isOpen = !0, await _e(), t.value = !0);
1084
+ }, { immediate: !0 }), (h, p) => {
1085
+ const g = pe, C = yo, _ = Xe, w = we;
1086
+ return d(), m(w, {
948
1087
  modelValue: t.value,
949
- "onUpdate:modelValue": l[5] || (l[5] = (m) => t.value = m),
950
- "prepend-icon": `svg:${e(ht)}`,
1088
+ "onUpdate:modelValue": p[5] || (p[5] = (b) => t.value = b),
1089
+ "prepend-icon": `svg:${e(bt)}`,
951
1090
  title: "Settings"
952
1091
  }, {
953
- default: i(() => [
954
- o(Fe, null, {
955
- default: i(() => [
956
- o(Ne, { scrollable: "" }, {
957
- default: i(() => [
1092
+ default: n(() => [
1093
+ o(Ve, null, {
1094
+ default: n(() => [
1095
+ o(ke, { scrollable: "" }, {
1096
+ default: n(() => [
958
1097
  o(X, { class: "px-7" }, {
959
- default: i(() => [
960
- o(h, {
1098
+ default: n(() => [
1099
+ o(g, {
961
1100
  text: "Customize your documentation experience with light and dark themes, as well as a combination of both named.",
962
1101
  title: "Theme"
963
1102
  }),
964
- o(qe, {
965
- modelValue: e(n).theme,
966
- "onUpdate:modelValue": l[0] || (l[0] = (m) => e(n).theme = m),
1103
+ o(Qe, {
1104
+ modelValue: e(a).theme,
1105
+ "onUpdate:modelValue": p[0] || (p[0] = (b) => e(a).theme = b),
967
1106
  mandatory: ""
968
1107
  }, {
969
- default: i(() => [
970
- o(ge, { dense: "" }, {
971
- default: i(() => [
972
- (d(), w(N, null, se(r, (m, k) => o(re, {
973
- key: k,
1108
+ default: n(() => [
1109
+ o(ye, { dense: "" }, {
1110
+ default: n(() => [
1111
+ (d(), S(F, null, ne(r, (b, y) => o(ce, {
1112
+ key: y,
974
1113
  cols: "12",
975
1114
  md: "6"
976
1115
  }, {
977
- default: i(() => [
978
- o(Ce, {
979
- value: m.value
1116
+ default: n(() => [
1117
+ o(Ue, {
1118
+ value: b.value
980
1119
  }, {
981
- default: i(({ toggle: D, isSelected: b }) => [
982
- o(Ge, null, {
983
- default: i(({ props: x, isHovering: A }) => [
984
- o(R, Q({
985
- color: b ? "primary" : "surface-variant",
986
- disabled: m.disabled,
987
- image: m.image,
988
- "prepend-icon": m.prependIcon,
989
- ripple: !m.disabled,
990
- subtitle: m.disabled ? "In Development" : m.subtitle,
991
- title: m.title,
1120
+ default: n(({ toggle: $, isSelected: B }) => [
1121
+ o(Ye, null, {
1122
+ default: n(({ props: I, isHovering: W }) => [
1123
+ o(P, J({
1124
+ color: B ? "primary" : "surface-variant",
1125
+ disabled: b.disabled,
1126
+ image: b.image,
1127
+ "prepend-icon": b.prependIcon,
1128
+ ripple: !b.disabled,
1129
+ subtitle: b.disabled ? "In Development" : b.subtitle,
1130
+ title: b.title,
992
1131
  height: "76",
993
1132
  variant: "tonal"
994
- }, x, { onClick: D }), {
995
- image: i(() => [
996
- o(Ue, {
997
- style: Be({
998
- filter: b || A ? "none" : "grayscale(100%)"
1133
+ }, I, { onClick: $ }), {
1134
+ image: n(() => [
1135
+ o(je, {
1136
+ style: Re({
1137
+ filter: B || W ? "none" : "grayscale(100%)"
999
1138
  })
1000
1139
  }, null, 8, ["style"])
1001
1140
  ]),
@@ -1016,65 +1155,65 @@ const Qe = te("settings", () => {
1016
1155
  ]),
1017
1156
  _: 1
1018
1157
  }, 8, ["modelValue"]),
1019
- e(a).isSubscriber ? (d(), w(N, { key: 0 }, [
1020
- o(H, { class: "mt-6 mb-4" }),
1021
- o(p)
1022
- ], 64)) : $("", !0)
1158
+ e(i).isSubscriber ? (d(), S(F, { key: 0 }, [
1159
+ o(E, { class: "mt-6 mb-4" }),
1160
+ o(C)
1161
+ ], 64)) : x("", !0)
1023
1162
  ]),
1024
1163
  _: 1
1025
1164
  }),
1026
- o(H),
1165
+ o(E),
1027
1166
  o(X, { class: "px-7" }, {
1028
- default: i(() => [
1029
- o(h, {
1167
+ default: n(() => [
1168
+ o(g, {
1030
1169
  text: "These options change your browsing experience within Vuetify properties",
1031
1170
  title: "Experience"
1032
1171
  }),
1033
- e(a).isSubscriber ? (d(), v(g, {
1172
+ e(i).isSubscriber ? (d(), m(_, {
1034
1173
  key: 0,
1035
- modelValue: e(n).disableAds,
1036
- "onUpdate:modelValue": l[1] || (l[1] = (m) => e(n).disableAds = m),
1174
+ modelValue: e(a).disableAds,
1175
+ "onUpdate:modelValue": p[1] || (p[1] = (b) => e(a).disableAds = b),
1037
1176
  class: "mb-2",
1038
1177
  label: "Disable Ads",
1039
1178
  messages: "Disable traditional advertisements on all documentation pages."
1040
- }, null, 8, ["modelValue"])) : $("", !0),
1041
- o(g, {
1042
- modelValue: e(n).quickbar,
1043
- "onUpdate:modelValue": l[2] || (l[2] = (m) => e(n).quickbar = m),
1179
+ }, null, 8, ["modelValue"])) : x("", !0),
1180
+ o(_, {
1181
+ modelValue: e(a).quickbar,
1182
+ "onUpdate:modelValue": p[2] || (p[2] = (b) => e(a).quickbar = b),
1044
1183
  label: "Enable Quick Actions",
1045
1184
  messages: "Quick actions are located on the Vuetify One user menu and provide quick access to common tasks."
1046
1185
  }, null, 8, ["modelValue"])
1047
1186
  ]),
1048
1187
  _: 1
1049
1188
  }),
1050
- o(H),
1051
- e(a).isSubscriber ? (d(), v(X, {
1189
+ o(E),
1190
+ e(i).isSubscriber ? (d(), m(X, {
1052
1191
  key: 0,
1053
1192
  class: "px-7"
1054
1193
  }, {
1055
- default: i(() => [
1056
- o(h, {
1194
+ default: n(() => [
1195
+ o(g, {
1057
1196
  text: "Vuetify will communicate with you through banners and notifications. You can disable these features here or reset your local notification cache.",
1058
1197
  title: "Communication"
1059
1198
  }),
1060
- o(g, {
1061
- modelValue: e(n).notifications.show,
1062
- "onUpdate:modelValue": l[3] || (l[3] = (m) => e(n).notifications.show = m),
1199
+ o(_, {
1200
+ modelValue: e(a).notifications.show,
1201
+ "onUpdate:modelValue": p[3] || (p[3] = (b) => e(a).notifications.show = b),
1063
1202
  class: "mb-2",
1064
1203
  label: "Enable Notifications",
1065
1204
  messages: "Notifications are short form messages that provide information about new releases, updates, and other important information."
1066
1205
  }, null, 8, ["modelValue"]),
1067
- e(n).notifications.show ? (d(), v(g, {
1206
+ e(a).notifications.show ? (d(), m(_, {
1068
1207
  key: 0,
1069
- modelValue: e(n).notifications.banners,
1070
- "onUpdate:modelValue": l[4] || (l[4] = (m) => e(n).notifications.banners = m),
1208
+ modelValue: e(a).notifications.banners,
1209
+ "onUpdate:modelValue": p[4] || (p[4] = (b) => e(a).notifications.banners = b),
1071
1210
  class: "mb-2",
1072
1211
  label: "Enable Banners",
1073
1212
  messages: "Banners are located at the top of the screen and provide a callout for important information."
1074
- }, null, 8, ["modelValue"])) : $("", !0)
1213
+ }, null, 8, ["modelValue"])) : x("", !0)
1075
1214
  ]),
1076
1215
  _: 1
1077
- })) : $("", !0)
1216
+ })) : x("", !0)
1078
1217
  ]),
1079
1218
  _: 1
1080
1219
  })
@@ -1086,190 +1225,62 @@ const Qe = te("settings", () => {
1086
1225
  }, 8, ["modelValue", "prepend-icon"]);
1087
1226
  };
1088
1227
  }
1089
- }), yo = /* @__PURE__ */ V({
1228
+ }), $o = /* @__PURE__ */ k({
1090
1229
  __name: "VoSettingsListItem",
1091
1230
  setup(u) {
1092
- const t = F(!1);
1093
- return (a, s) => {
1094
- const n = bo, r = Y;
1095
- return d(), v(r, {
1231
+ const t = N(!1);
1232
+ return (i, s) => {
1233
+ const l = ko, a = Q;
1234
+ return d(), m(a, {
1096
1235
  active: t.value,
1097
- "prepend-icon": `svg:${e(gt)}`,
1236
+ "prepend-icon": `svg:${e(yt)}`,
1098
1237
  title: "Settings",
1099
1238
  link: ""
1100
1239
  }, {
1101
- default: i(() => [
1102
- o(n, {
1240
+ default: n(() => [
1241
+ o(l, {
1103
1242
  modelValue: t.value,
1104
- "onUpdate:modelValue": s[0] || (s[0] = (c) => t.value = c)
1243
+ "onUpdate:modelValue": s[0] || (s[0] = (r) => t.value = r)
1105
1244
  }, null, 8, ["modelValue"])
1106
1245
  ]),
1107
1246
  _: 1
1108
1247
  }, 8, ["active", "prepend-icon"]);
1109
1248
  };
1110
1249
  }
1111
- }), J = te("one", () => {
1112
- const t = new URLSearchParams(window.location.search).get("session_id"), a = z(), s = be(), n = F(!1), r = ee(!1), c = ee(), l = ee([]), h = L(() => {
1113
- var f;
1114
- return (f = c.value) == null ? void 0 : f.items[0].plan.interval;
1115
- }), p = L(() => {
1116
- var f;
1117
- return (f = a.user) == null ? void 0 : f.sponsorships.find((y) => y.platform === "stripe" && y.tierName.startsWith("sub_"));
1118
- }), g = L(() => {
1119
- var f;
1120
- return !!((f = p.value) != null && f.tierName);
1121
- }), C = L(() => {
1122
- var f;
1123
- return (f = p.value) == null ? void 0 : f.isActive;
1124
- }), m = L(() => {
1125
- var f;
1126
- return (f = a.user) == null ? void 0 : f.sponsorships.find((y) => y.platform === "github");
1127
- }), k = L(() => {
1128
- var f;
1129
- return (f = a.user) == null ? void 0 : f.sponsorships.find((y) => y.platform === "discord");
1130
- }), D = L(() => {
1131
- var f;
1132
- return (f = a.user) == null ? void 0 : f.sponsorships.find((y) => y.platform === "patreon");
1133
- }), b = L(() => {
1134
- var f;
1135
- return (f = a.user) == null ? void 0 : f.sponsorships.reduce((y, K) => {
1136
- if (!K.isActive || K.interval === "once" || K.platform === "stripe")
1137
- return y;
1138
- const Xe = K.interval === "month" ? K.amount : K.amount / 12;
1139
- return y + Xe / 100;
1140
- }, 0);
1141
- });
1142
- tt(async () => {
1143
- t && await x();
1144
- }), W(C, (f, y) => {
1145
- f === !1 && y !== !0 || P();
1146
- });
1147
- async function x() {
1148
- try {
1149
- n.value = !0;
1150
- const f = await s.post("/one/activate", { sessionId: t });
1151
- a.user = f.user;
1152
- const y = new URL(window.location.href);
1153
- y.searchParams.delete("session_id"), history.pushState(null, "", y.toString()), T();
1154
- } catch {
1155
- } finally {
1156
- n.value = !1;
1157
- }
1158
- }
1159
- async function A() {
1160
- window.open(`${s.url}/one/manage`, "_blank");
1161
- }
1162
- async function O(f) {
1163
- n.value = !0, window.location.href = `${s.url}/one/subscribe?interval=${f}`;
1164
- }
1165
- async function S() {
1166
- var f;
1167
- if (p.value)
1168
- try {
1169
- n.value = !0;
1170
- const y = await s.post(
1171
- `/one/cancel?subscriptionId=${(f = p.value) == null ? void 0 : f.tierName}`
1172
- );
1173
- a.user = y.user;
1174
- } catch {
1175
- } finally {
1176
- n.value = !1;
1177
- }
1178
- }
1179
- async function E(f) {
1180
- if (p.value)
1181
- try {
1182
- n.value = !0;
1183
- const y = await s.post("/one/modify", {
1184
- subscriptionId: p.value.tierName,
1185
- interval: f
1186
- });
1187
- a.user = y.user;
1188
- } catch {
1189
- } finally {
1190
- n.value = !1;
1191
- }
1192
- }
1193
- async function P() {
1194
- var f;
1195
- if (p.value)
1196
- try {
1197
- n.value = !0;
1198
- const y = await s.post(
1199
- `/one/verify?subscriptionId=${(f = p.value) == null ? void 0 : f.tierName}`
1200
- );
1201
- a.user = y.user;
1202
- } catch {
1203
- } finally {
1204
- n.value = !1;
1205
- }
1206
- }
1207
- async function T() {
1208
- try {
1209
- n.value = !0;
1210
- const f = await s.get("/one/info");
1211
- return c.value = f.subscription, l.value = f.invoices, f;
1212
- } catch {
1213
- } finally {
1214
- n.value = !1;
1215
- }
1216
- }
1217
- return {
1218
- info: c,
1219
- interval: h,
1220
- invoices: l,
1221
- sessionId: t,
1222
- subscription: p,
1223
- monthlyTotal: b,
1224
- hasBilling: g,
1225
- isLoading: n,
1226
- isOpen: r,
1227
- isSubscriber: C,
1228
- github: m,
1229
- patreon: D,
1230
- discord: k,
1231
- activate: x,
1232
- cancel: S,
1233
- manage: A,
1234
- modify: E,
1235
- subscribe: O,
1236
- subscriptionInfo: T,
1237
- verify: P
1238
- };
1239
- }), Vo = { class: "text-caption" }, ko = /* @__PURE__ */ V({
1250
+ }), xo = { class: "text-caption" }, wo = /* @__PURE__ */ k({
1240
1251
  __name: "VoSubscriptionInvoices",
1241
1252
  setup(u) {
1242
- const t = he(), a = J();
1243
- return (s, n) => {
1244
- const r = ue;
1245
- return d(), v(ge, null, {
1246
- default: i(() => [
1247
- o(re, { cols: "12" }, {
1248
- default: i(() => [
1249
- o(r, {
1253
+ const t = be(), i = q();
1254
+ return (s, l) => {
1255
+ const a = pe;
1256
+ return d(), m(ye, null, {
1257
+ default: n(() => [
1258
+ o(ce, { cols: "12" }, {
1259
+ default: n(() => [
1260
+ o(a, {
1250
1261
  text: "View and download your invoice history.",
1251
1262
  title: "Invoice History"
1252
1263
  }),
1253
- o(R, {
1264
+ o(P, {
1254
1265
  height: "450",
1255
1266
  rounded: "lg",
1256
1267
  border: ""
1257
1268
  }, {
1258
- default: i(() => [
1259
- o(Qt, {
1260
- items: e(a).invoices,
1261
- loading: e(a).isLoading,
1269
+ default: n(() => [
1270
+ o(Kt, {
1271
+ items: e(i).invoices,
1272
+ loading: e(i).isLoading,
1262
1273
  sticky: ""
1263
1274
  }, {
1264
- "item.date": i(({ item: c }) => [
1265
- _("div", Vo, I(e(t).format(new Date(c.date * 1e3), "fullDateWithWeekday")), 1)
1275
+ "item.date": n(({ item: r }) => [
1276
+ v("div", xo, D(e(t).format(new Date(r.date * 1e3), "fullDateWithWeekday")), 1)
1266
1277
  ]),
1267
- "item.amount": i(({ item: c }) => [
1268
- j(" $" + I(c.amount / 100), 1)
1278
+ "item.amount": n(({ item: r }) => [
1279
+ O(" $" + D(r.amount / 100), 1)
1269
1280
  ]),
1270
- "item.status": i(({ item: c }) => [
1271
- o(q, {
1272
- text: c.status,
1281
+ "item.status": n(({ item: r }) => [
1282
+ o(Y, {
1283
+ text: r.status,
1273
1284
  border: "success sm",
1274
1285
  class: "text-capitalize",
1275
1286
  color: "success",
@@ -1278,10 +1289,10 @@ const Qe = te("settings", () => {
1278
1289
  label: ""
1279
1290
  }, null, 8, ["text"])
1280
1291
  ]),
1281
- "item.pdf": i(({ item: c }) => [
1292
+ "item.pdf": n(({ item: r }) => [
1282
1293
  o(Z, {
1283
- href: c.pdf,
1284
- icon: `svg:${e(bt)}`,
1294
+ href: r.pdf,
1295
+ icon: `svg:${e(Vt)}`,
1285
1296
  size: "small",
1286
1297
  target: "_blank",
1287
1298
  variant: "text"
@@ -1300,41 +1311,41 @@ const Qe = te("settings", () => {
1300
1311
  });
1301
1312
  };
1302
1313
  }
1303
- }), $o = { class: "d-flex align-center" }, xo = {
1314
+ }), So = { class: "d-flex align-center" }, Co = {
1304
1315
  key: "status",
1305
1316
  class: "text-capitalize hidden-sm-and-down"
1306
- }, wo = /* @__PURE__ */ _("span", { class: "mx-1 hidden-sm-and-down" }, "—", -1), So = { class: "me-1" }, Co = { class: "text-medium-emphasis text-caption" }, Lo = { class: "d-flex align-start justify-space-between text-caption py-2" }, Io = { class: "font-weight-bold" }, Ao = { class: "font-weight-bold" }, Do = /* @__PURE__ */ V({
1317
+ }, Lo = /* @__PURE__ */ v("span", { class: "mx-1 hidden-sm-and-down" }, "—", -1), Io = { class: "me-1" }, Ao = { class: "text-medium-emphasis text-caption" }, Do = { class: "d-flex align-start justify-space-between text-caption py-2" }, Uo = { class: "font-weight-bold" }, Fo = { class: "font-weight-bold" }, No = /* @__PURE__ */ k({
1307
1318
  __name: "VoSubscriptionStatus",
1308
1319
  emits: ["change:subscription"],
1309
1320
  setup(u, { emit: t }) {
1310
- const a = he(), s = J(), n = t, r = L(() => {
1321
+ const i = be(), s = q(), l = t, a = L(() => {
1311
1322
  if (!s.info)
1312
1323
  return;
1313
- const l = new Date(s.info.currentPeriodEnd * 1e3);
1314
- return a.format(l, "keyboardDate");
1324
+ const c = new Date(s.info.currentPeriodEnd * 1e3);
1325
+ return i.format(c, "keyboardDate");
1315
1326
  });
1316
- async function c() {
1327
+ async function r() {
1317
1328
  s.interval && (s.isLoading = !0, s.subscribe(s.interval));
1318
1329
  }
1319
- return (l, h) => {
1320
- const p = ce;
1321
- return d(), v(ge, null, {
1322
- default: i(() => [
1323
- o(re, { cols: "12" }, {
1324
- default: i(() => {
1330
+ return (c, h) => {
1331
+ const p = de;
1332
+ return d(), m(ye, null, {
1333
+ default: n(() => [
1334
+ o(ce, { cols: "12" }, {
1335
+ default: n(() => {
1325
1336
  var g, C;
1326
1337
  return [
1327
- o(R, {
1338
+ o(P, {
1328
1339
  "prepend-icon": "$vuetify",
1329
1340
  rounded: "lg",
1330
1341
  title: "Subscription Status",
1331
1342
  border: "",
1332
1343
  flat: ""
1333
1344
  }, G({
1334
- append: i(() => {
1335
- var m;
1345
+ append: n(() => {
1346
+ var _;
1336
1347
  return [
1337
- e(s).hasBilling && ((m = e(s).info) == null ? void 0 : m.status) === "canceled" ? (d(), v(p, {
1348
+ e(s).hasBilling && ((_ = e(s).info) == null ? void 0 : _.status) === "canceled" ? (d(), m(p, {
1338
1349
  key: 0,
1339
1350
  loading: e(s).isLoading,
1340
1351
  class: "me-2",
@@ -1342,51 +1353,51 @@ const Qe = te("settings", () => {
1342
1353
  "prepend-icon": "$success",
1343
1354
  text: "Activate",
1344
1355
  variant: "outlined",
1345
- onClick: c
1346
- }, null, 8, ["loading"])) : $("", !0),
1347
- e(s).hasBilling ? (d(), v(p, {
1356
+ onClick: r
1357
+ }, null, 8, ["loading"])) : x("", !0),
1358
+ e(s).hasBilling ? (d(), m(p, {
1348
1359
  key: 1,
1349
1360
  loading: e(s).isLoading,
1350
- "prepend-icon": `svg:${e(yt)}`,
1361
+ "prepend-icon": `svg:${e(kt)}`,
1351
1362
  text: "Billing",
1352
1363
  onClick: e(s).manage
1353
- }, null, 8, ["loading", "prepend-icon", "onClick"])) : $("", !0)
1364
+ }, null, 8, ["loading", "prepend-icon", "onClick"])) : x("", !0)
1354
1365
  ];
1355
1366
  }),
1356
1367
  _: 2
1357
1368
  }, [
1358
1369
  e(s).info ? {
1359
1370
  name: "subtitle",
1360
- fn: i(() => [
1361
- _("div", $o, [
1362
- _("span", xo, I(e(s).info.status), 1),
1363
- e(s).info.items.length ? (d(), w(N, { key: 0 }, [
1364
- wo,
1365
- _("span", So, [
1366
- j(" $" + I(e(s).info.items[0].plan.amount / 100), 1),
1367
- _("span", Co, "/" + I(e(s).interval), 1)
1371
+ fn: n(() => [
1372
+ v("div", So, [
1373
+ v("span", Co, D(e(s).info.status), 1),
1374
+ e(s).info.items.length ? (d(), S(F, { key: 0 }, [
1375
+ Lo,
1376
+ v("span", Io, [
1377
+ O(" $" + D(e(s).info.items[0].plan.amount / 100), 1),
1378
+ v("span", Ao, "/" + D(e(s).interval), 1)
1368
1379
  ]),
1369
1380
  o(p, {
1370
1381
  size: "x-small",
1371
1382
  text: "(Change Subscription)",
1372
1383
  variant: "text",
1373
- onClick: h[0] || (h[0] = (m) => n("change:subscription"))
1384
+ onClick: h[0] || (h[0] = (_) => l("change:subscription"))
1374
1385
  })
1375
- ], 64)) : $("", !0)
1386
+ ], 64)) : x("", !0)
1376
1387
  ])
1377
1388
  ]),
1378
1389
  key: "0"
1379
1390
  } : {
1380
1391
  name: "subtitle",
1381
- fn: i(() => [
1382
- _("div", { class: "d-flex align-center" }, [
1383
- o(Oe, {
1392
+ fn: n(() => [
1393
+ v("div", { class: "d-flex align-center" }, [
1394
+ o(Te, {
1384
1395
  height: "16",
1385
1396
  type: "ossein",
1386
1397
  width: "40"
1387
1398
  }),
1388
- _("span", { class: "mx-1" }, "—"),
1389
- o(Oe, {
1399
+ v("span", { class: "mx-1" }, "—"),
1400
+ o(Te, {
1390
1401
  height: "16",
1391
1402
  type: "ossein",
1392
1403
  width: "80"
@@ -1396,16 +1407,16 @@ const Qe = te("settings", () => {
1396
1407
  key: "1"
1397
1408
  }
1398
1409
  ]), 1024),
1399
- _("div", Lo, [
1400
- _("div", null, [
1401
- ((g = e(s).info) == null ? void 0 : g.status) === "active" ? (d(), w(N, { key: 0 }, [
1402
- j(" Your plan renews on "),
1403
- _("span", Io, I(e(a).format(r.value, "fullDateWithWeekday")), 1),
1404
- j(". ")
1405
- ], 64)) : (d(), w(N, { key: 1 }, [
1406
- j(" Your plan ends on "),
1407
- _("span", Ao, I(e(a).format((C = e(s).info) == null ? void 0 : C.currentPeriodEnd, "fullDateWithWeekday")), 1),
1408
- j(". ")
1410
+ v("div", Do, [
1411
+ v("div", null, [
1412
+ ((g = e(s).info) == null ? void 0 : g.status) === "active" ? (d(), S(F, { key: 0 }, [
1413
+ O(" Your plan renews on "),
1414
+ v("span", Uo, D(e(i).format(a.value, "fullDateWithWeekday")), 1),
1415
+ O(". ")
1416
+ ], 64)) : (d(), S(F, { key: 1 }, [
1417
+ O(" Your plan ends on "),
1418
+ v("span", Fo, D(e(i).format((C = e(s).info) == null ? void 0 : C.currentPeriodEnd, "fullDateWithWeekday")), 1),
1419
+ O(". ")
1409
1420
  ], 64))
1410
1421
  ])
1411
1422
  ])
@@ -1418,7 +1429,7 @@ const Qe = te("settings", () => {
1418
1429
  });
1419
1430
  };
1420
1431
  }
1421
- }), Uo = /* @__PURE__ */ _("div", { class: "mb-3 text-caption text-medium-emphasis" }, " The Vuetify One subscription comes with the following perks: ", -1), Fo = ["innerHTML"], No = /* @__PURE__ */ _("br", null, null, -1), jo = /* @__PURE__ */ _("div", { class: "mb-3 text-caption text-medium-emphasis" }, " The following features are in development and coming soon: ", -1), Oo = ["innerHTML"], Bo = /* @__PURE__ */ V({
1432
+ }), Oo = /* @__PURE__ */ v("div", { class: "mb-3 text-caption text-medium-emphasis" }, " The Vuetify One subscription comes with the following perks: ", -1), Bo = ["innerHTML"], jo = /* @__PURE__ */ v("br", null, null, -1), zo = /* @__PURE__ */ v("div", { class: "mb-3 text-caption text-medium-emphasis" }, " The following features are in development and coming soon: ", -1), To = ["innerHTML"], Ro = /* @__PURE__ */ k({
1422
1433
  __name: "VoSubscriptionPerks",
1423
1434
  setup(u) {
1424
1435
  const t = [
@@ -1427,78 +1438,78 @@ const Qe = te("settings", () => {
1427
1438
  'Pinned Navigation Items and Rail drawer in <a href="https://vuetifyjs.com/" target="_blank">Documentation</a>',
1428
1439
  "Customize Navigation components with Page Suits",
1429
1440
  "Custom Vuetify One menu avatar"
1430
- ], a = [
1441
+ ], i = [
1431
1442
  'Special role in the <a href="https://discord.vuetifyjs.com/" target="_blank">Vuetify Discord</a>',
1432
1443
  'Save and share your playgrounds with <a href="https://play.vuetifyjs.com" target="_blank">Vuetify Play</a>',
1433
1444
  "Receive a special label on GitHub created issues and pull requests"
1434
- ], s = F(!1), n = J();
1435
- return W(s, async (r) => {
1436
- r && n.subscriptionInfo();
1437
- }), (r, c) => {
1438
- const l = Y;
1439
- return d(), w(N, null, [
1440
- o(Se, { class: "font-weight-black" }, {
1441
- default: i(() => [
1442
- j("Perks")
1445
+ ], s = N(!1), l = q();
1446
+ return z(s, async (a) => {
1447
+ a && l.subscriptionInfo();
1448
+ }), (a, r) => {
1449
+ const c = Q;
1450
+ return d(), S(F, null, [
1451
+ o(De, { class: "font-weight-black" }, {
1452
+ default: n(() => [
1453
+ O("Perks")
1443
1454
  ]),
1444
1455
  _: 1
1445
1456
  }),
1446
- Uo,
1447
- o(ne, {
1457
+ Oo,
1458
+ o(ie, {
1448
1459
  lines: !1,
1449
1460
  class: "py-0",
1450
1461
  density: "compact",
1451
1462
  nav: ""
1452
1463
  }, {
1453
- default: i(() => [
1454
- (d(), w(N, null, se(t, (h, p) => o(l, {
1464
+ default: n(() => [
1465
+ (d(), S(F, null, ne(t, (h, p) => o(c, {
1455
1466
  key: p,
1456
- "prepend-icon": `svg:${e(oe)}`,
1467
+ "prepend-icon": `svg:${e(se)}`,
1457
1468
  class: "mb-0"
1458
1469
  }, {
1459
- prepend: i(() => [
1470
+ prepend: n(() => [
1460
1471
  o(U, {
1461
1472
  class: "mx-n2",
1462
1473
  color: "success",
1463
1474
  size: "small"
1464
1475
  })
1465
1476
  ]),
1466
- title: i(() => [
1467
- _("div", { innerHTML: h }, null, 8, Fo)
1477
+ title: n(() => [
1478
+ v("div", { innerHTML: h }, null, 8, Bo)
1468
1479
  ]),
1469
1480
  _: 2
1470
1481
  }, 1032, ["prepend-icon"])), 64))
1471
1482
  ]),
1472
1483
  _: 1
1473
1484
  }),
1474
- No,
1475
- o(Se, { class: "font-weight-black" }, {
1476
- default: i(() => [
1477
- j("Up Next")
1485
+ jo,
1486
+ o(De, { class: "font-weight-black" }, {
1487
+ default: n(() => [
1488
+ O("Up Next")
1478
1489
  ]),
1479
1490
  _: 1
1480
1491
  }),
1481
- jo,
1482
- o(ne, {
1492
+ zo,
1493
+ o(ie, {
1483
1494
  lines: !1,
1484
1495
  class: "py-0",
1485
1496
  density: "compact",
1486
1497
  nav: ""
1487
1498
  }, {
1488
- default: i(() => [
1489
- (d(), w(N, null, se(a, (h, p) => o(l, {
1499
+ default: n(() => [
1500
+ (d(), S(F, null, ne(i, (h, p) => o(c, {
1490
1501
  key: p,
1491
- "prepend-icon": `svg:${e(Vt)}`,
1502
+ "prepend-icon": `svg:${e($t)}`,
1492
1503
  class: "mb-0"
1493
1504
  }, {
1494
- prepend: i(() => [
1505
+ prepend: n(() => [
1495
1506
  o(U, {
1496
1507
  class: "mx-n2",
1497
1508
  size: "small"
1498
1509
  })
1499
1510
  ]),
1500
- title: i(() => [
1501
- _("div", { innerHTML: h }, null, 8, Oo)
1511
+ title: n(() => [
1512
+ v("div", { innerHTML: h }, null, 8, To)
1502
1513
  ]),
1503
1514
  _: 2
1504
1515
  }, 1032, ["prepend-icon"])), 64))
@@ -1508,7 +1519,7 @@ const Qe = te("settings", () => {
1508
1519
  ], 64);
1509
1520
  };
1510
1521
  }
1511
- }), zo = /* @__PURE__ */ V({
1522
+ }), Ho = /* @__PURE__ */ k({
1512
1523
  __name: "VoSubscriptionSubscribe",
1513
1524
  props: {
1514
1525
  modelValue: {
@@ -1518,36 +1529,37 @@ const Qe = te("settings", () => {
1518
1529
  },
1519
1530
  emits: ["update:modelValue"],
1520
1531
  setup(u) {
1521
- const t = F(!1), a = fe(u, "modelValue"), s = J();
1522
- return W(t, async (n) => {
1523
- n && s.subscriptionInfo();
1524
- }), W(() => s.interval, (n) => {
1525
- a.value = n;
1526
- }, { immediate: !0 }), (n, r) => (d(), v(qe, {
1527
- modelValue: a.value,
1528
- "onUpdate:modelValue": r[0] || (r[0] = (c) => a.value = c)
1532
+ const t = N(!1), i = ae(u, "modelValue"), s = q();
1533
+ return z(t, async (l) => {
1534
+ l && s.subscriptionInfo();
1535
+ }), z(() => s.interval, (l) => {
1536
+ i.value = l;
1537
+ }, { immediate: !0 }), (l, a) => (d(), m(Qe, {
1538
+ modelValue: i.value,
1539
+ "onUpdate:modelValue": a[0] || (a[0] = (r) => i.value = r),
1540
+ mandatory: ""
1529
1541
  }, {
1530
- default: i(() => [
1531
- o(ge, null, {
1532
- default: i(() => [
1533
- o(re, {
1542
+ default: n(() => [
1543
+ o(ye, null, {
1544
+ default: n(() => [
1545
+ o(ce, {
1534
1546
  cols: "12",
1535
1547
  md: "6"
1536
1548
  }, {
1537
- default: i(() => [
1538
- o(Ce, { value: "month" }, {
1539
- default: i(({ toggle: c, isSelected: l }) => [
1540
- o(R, {
1541
- border: l ? "sm primary opacity-100" : "sm",
1542
- color: l ? "primary" : void 0,
1543
- "prepend-icon": l ? `svg:${e(ae)}` : "$radioOff",
1544
- variant: l ? "tonal" : "text",
1549
+ default: n(() => [
1550
+ o(Ue, { value: "month" }, {
1551
+ default: n(({ toggle: r, isSelected: c }) => [
1552
+ o(P, {
1553
+ border: c ? "sm primary opacity-100" : "sm",
1554
+ color: c ? "primary" : void 0,
1555
+ "prepend-icon": c ? `svg:${e(le)}` : "$radioOff",
1556
+ variant: c ? "tonal" : "text",
1545
1557
  rounded: "lg",
1546
1558
  subtitle: "$2.99/month",
1547
1559
  title: "Monthly",
1548
- onClick: c
1560
+ onClick: r
1549
1561
  }, {
1550
- prepend: i(() => [
1562
+ prepend: n(() => [
1551
1563
  o(U, { class: "mt-n6" })
1552
1564
  ]),
1553
1565
  _: 2
@@ -1558,28 +1570,28 @@ const Qe = te("settings", () => {
1558
1570
  ]),
1559
1571
  _: 1
1560
1572
  }),
1561
- o(re, {
1573
+ o(ce, {
1562
1574
  cols: "12",
1563
1575
  md: "6"
1564
1576
  }, {
1565
- default: i(() => [
1566
- o(Ce, { value: "year" }, {
1567
- default: i(({ toggle: c, isSelected: l }) => [
1568
- o(R, {
1569
- border: l ? "sm primary opacity-100" : "sm",
1570
- color: l ? "primary" : void 0,
1571
- "prepend-icon": l ? `svg:${e(ae)}` : "$radioOff",
1572
- variant: l ? "tonal" : "text",
1577
+ default: n(() => [
1578
+ o(Ue, { value: "year" }, {
1579
+ default: n(({ toggle: r, isSelected: c }) => [
1580
+ o(P, {
1581
+ border: c ? "sm primary opacity-100" : "sm",
1582
+ color: c ? "primary" : void 0,
1583
+ "prepend-icon": c ? `svg:${e(le)}` : "$radioOff",
1584
+ variant: c ? "tonal" : "text",
1573
1585
  rounded: "lg",
1574
1586
  subtitle: "$29.99/year",
1575
1587
  title: "Yearly",
1576
- onClick: c
1588
+ onClick: r
1577
1589
  }, {
1578
- prepend: i(() => [
1590
+ prepend: n(() => [
1579
1591
  o(U, { class: "mt-n6" })
1580
1592
  ]),
1581
- append: i(() => [
1582
- o(q, {
1593
+ append: n(() => [
1594
+ o(Y, {
1583
1595
  class: "mt-n6",
1584
1596
  color: "success",
1585
1597
  size: "small",
@@ -1602,7 +1614,7 @@ const Qe = te("settings", () => {
1602
1614
  _: 1
1603
1615
  }, 8, ["modelValue"]));
1604
1616
  }
1605
- }), To = { class: "px-3 h-screen" }, Ro = /* @__PURE__ */ _("br", null, null, -1), Ho = { class: "flex-grow-1 px-4 pb-3 overflow-hidden" }, Mo = /* @__PURE__ */ V({
1617
+ }), Mo = { class: "px-3" }, Po = /* @__PURE__ */ v("br", null, null, -1), Eo = { class: "flex-grow-1 px-4 pb-3 overflow-hidden" }, Wo = /* @__PURE__ */ k({
1606
1618
  __name: "VoSubscriptionDialog",
1607
1619
  props: {
1608
1620
  modelValue: { type: Boolean },
@@ -1610,99 +1622,109 @@ const Qe = te("settings", () => {
1610
1622
  },
1611
1623
  emits: ["update:modelValue"],
1612
1624
  setup(u) {
1613
- function t(h) {
1614
- return new Promise((p) => setTimeout(p, h));
1625
+ function t(p) {
1626
+ return new Promise((g) => setTimeout(g, p));
1615
1627
  }
1616
- const a = fe(u, "modelValue"), s = J(), n = F(s.interval), r = F(s.hasBilling ? "status" : "subscribe"), c = F(!1);
1617
- W(n, (h) => {
1618
- !s.isSubscriber || !s.interval || (c.value = h !== s.interval);
1619
- }), W(a, async (h) => {
1620
- !h || !s.isSubscriber || s.subscriptionInfo();
1621
- }), Te(() => {
1622
- s.sessionId && (r.value = "status", a.value = !0);
1623
- });
1624
- async function l() {
1625
- await s.modify(n.value), await s.subscriptionInfo(), c.value = null, await t(3e3), r.value = "status", await t(300), c.value = !1;
1628
+ const i = ae(u, "modelValue"), s = q(), l = Se(), a = N(s.interval), r = N(s.hasBilling ? "status" : "subscribe"), c = N(!1);
1629
+ z(a, (p) => {
1630
+ !s.isSubscriber || !s.interval || (c.value = p !== s.interval);
1631
+ }), z(i, async (p) => {
1632
+ !p || !s.isSubscriber || s.subscriptionInfo();
1633
+ }), z(l, async () => {
1634
+ !s.sessionId && !["subscribe", "status"].includes(l.value.one) || (r.value = s.sessionId || l.value.one === "status" ? "status" : "subscribe", s.isOpen = !0, await _e(), i.value = !0);
1635
+ }, { immediate: !0 });
1636
+ async function h() {
1637
+ await s.modify(a.value), await s.subscriptionInfo(), c.value = null, await t(3e3), r.value = "status", await t(300), c.value = !1;
1626
1638
  }
1627
- return (h, p) => {
1628
- const g = ue, C = zo, m = Bo, k = Do, D = ko, b = ce, x = Ve;
1629
- return d(), v(x, {
1630
- modelValue: a.value,
1631
- "onUpdate:modelValue": p[4] || (p[4] = (A) => a.value = A),
1632
- "prepend-icon": `svg:${e(kt)}`,
1639
+ return (p, g) => {
1640
+ const C = pe, _ = Ho, w = Ro, b = No, y = wo, $ = de, B = we;
1641
+ return d(), m(B, {
1642
+ modelValue: i.value,
1643
+ "onUpdate:modelValue": g[4] || (g[4] = (I) => i.value = I),
1644
+ "prepend-icon": `svg:${e(xt)}`,
1633
1645
  title: "Subscriptions"
1634
1646
  }, G({
1635
- default: i(() => [
1636
- _("div", To, [
1637
- o(X, null, {
1638
- default: i(() => [
1639
- o(g, {
1640
- text: "The Vuetify One subscription is a great way to support the Vuetify team and get access to exclusive features and content.",
1641
- title: "Vuetify One"
1642
- }),
1643
- o(Ye, { "model-value": r.value }, {
1644
- default: i(() => [
1645
- o(me, { value: "subscribe" }, {
1646
- default: i(() => [
1647
+ default: n(() => [
1648
+ o(Ve, null, {
1649
+ default: n(() => [
1650
+ o(ke, { scrollable: "" }, {
1651
+ default: n(() => [
1652
+ v("div", Mo, [
1653
+ o(X, null, {
1654
+ default: n(() => [
1647
1655
  o(C, {
1648
- modelValue: n.value,
1649
- "onUpdate:modelValue": p[0] || (p[0] = (A) => n.value = A)
1650
- }, null, 8, ["modelValue"]),
1651
- Ro,
1652
- o(m)
1653
- ]),
1654
- _: 1
1655
- }),
1656
- o(me, { value: "status" }, {
1657
- default: i(() => [
1658
- o(k, {
1659
- "onChange:subscription": p[1] || (p[1] = (A) => r.value = "subscribe")
1656
+ text: "The Vuetify One subscription is a great way to support the Vuetify team and get access to exclusive features and content.",
1657
+ title: "Vuetify One"
1660
1658
  }),
1661
- o(D)
1659
+ o(Je, { "model-value": r.value }, {
1660
+ default: n(() => [
1661
+ o(ve, { value: "subscribe" }, {
1662
+ default: n(() => [
1663
+ o(_, {
1664
+ modelValue: a.value,
1665
+ "onUpdate:modelValue": g[0] || (g[0] = (I) => a.value = I)
1666
+ }, null, 8, ["modelValue"]),
1667
+ Po,
1668
+ o(w)
1669
+ ]),
1670
+ _: 1
1671
+ }),
1672
+ o(ve, { value: "status" }, {
1673
+ default: n(() => [
1674
+ o(b, {
1675
+ "onChange:subscription": g[1] || (g[1] = (I) => r.value = "subscribe")
1676
+ }),
1677
+ o(y)
1678
+ ]),
1679
+ _: 1
1680
+ })
1681
+ ]),
1682
+ _: 1
1683
+ }, 8, ["model-value"])
1662
1684
  ]),
1663
1685
  _: 1
1664
1686
  })
1665
- ]),
1666
- _: 1
1667
- }, 8, ["model-value"])
1668
- ]),
1669
- _: 1
1670
- })
1671
- ])
1687
+ ])
1688
+ ]),
1689
+ _: 1
1690
+ })
1691
+ ]),
1692
+ _: 1
1693
+ })
1672
1694
  ]),
1673
1695
  _: 2
1674
1696
  }, [
1675
1697
  r.value === "subscribe" ? {
1676
1698
  name: "actions",
1677
- fn: i(() => [
1678
- _("div", Ho, [
1679
- c.value !== !1 ? (d(), v(b, {
1699
+ fn: n(() => [
1700
+ v("div", Eo, [
1701
+ c.value !== !1 ? (d(), m($, {
1680
1702
  key: 0,
1681
1703
  loading: e(s).isLoading,
1682
- "prepend-icon": `svg:${c.value !== null ? e($t) : e(ae)}`,
1704
+ "prepend-icon": `svg:${c.value !== null ? e(wt) : e(le)}`,
1683
1705
  readonly: c.value === null,
1684
1706
  text: c.value !== null ? "Modify Subscription" : "Success",
1685
1707
  color: "success",
1686
1708
  size: "default",
1687
1709
  block: "",
1688
- onClick: l
1689
- }, null, 8, ["loading", "prepend-icon", "readonly", "text"])) : e(s).isSubscriber ? (d(), v(b, {
1710
+ onClick: h
1711
+ }, null, 8, ["loading", "prepend-icon", "readonly", "text"])) : e(s).isSubscriber ? (d(), m($, {
1690
1712
  key: 2,
1691
- "prepend-icon": `svg:${e(xt)}`,
1713
+ "prepend-icon": `svg:${e(St)}`,
1692
1714
  size: "default",
1693
1715
  text: "Manage Subscription",
1694
1716
  block: "",
1695
- onClick: p[3] || (p[3] = (A) => r.value = "status")
1696
- }, null, 8, ["prepend-icon"])) : (d(), v(b, {
1717
+ onClick: g[3] || (g[3] = (I) => r.value = "status")
1718
+ }, null, 8, ["prepend-icon"])) : (d(), m($, {
1697
1719
  key: 1,
1698
- color: n.value ? "primary" : "disabled",
1699
- disabled: !n.value,
1720
+ color: a.value ? "primary" : "disabled",
1721
+ disabled: !a.value,
1700
1722
  loading: e(s).isLoading,
1701
1723
  "prepend-icon": "$vuetify",
1702
1724
  size: "default",
1703
1725
  text: "Activate Subscription",
1704
1726
  block: "",
1705
- onClick: p[2] || (p[2] = (A) => e(s).subscribe(n.value))
1727
+ onClick: g[2] || (g[2] = (I) => e(s).subscribe(a.value))
1706
1728
  }, null, 8, ["color", "disabled", "loading"]))
1707
1729
  ])
1708
1730
  ]),
@@ -1711,122 +1733,131 @@ const Qe = te("settings", () => {
1711
1733
  ]), 1032, ["modelValue", "prepend-icon"]);
1712
1734
  };
1713
1735
  }
1714
- }), Po = /* @__PURE__ */ V({
1736
+ }), qo = /* @__PURE__ */ k({
1715
1737
  __name: "VoSubscriptionListItem",
1716
1738
  setup(u) {
1717
- const t = F(!1);
1718
- return (a, s) => {
1719
- const n = Mo, r = Y;
1720
- return d(), v(r, {
1739
+ const t = N(!1);
1740
+ return (i, s) => {
1741
+ const l = Wo, a = Q;
1742
+ return d(), m(a, {
1721
1743
  active: t.value,
1722
- "prepend-icon": `svg:${e(wt)}`,
1744
+ "prepend-icon": `svg:${e(Ct)}`,
1723
1745
  title: "Subscriptions",
1724
1746
  link: ""
1725
1747
  }, {
1726
- default: i(() => [
1727
- o(n, {
1748
+ default: n(() => [
1749
+ o(l, {
1728
1750
  modelValue: t.value,
1729
- "onUpdate:modelValue": s[0] || (s[0] = (c) => t.value = c)
1751
+ "onUpdate:modelValue": s[0] || (s[0] = (r) => t.value = r)
1730
1752
  }, null, 8, ["modelValue"])
1731
1753
  ]),
1732
1754
  _: 1
1733
1755
  }, 8, ["active", "prepend-icon"]);
1734
1756
  };
1735
1757
  }
1736
- }), Eo = { class: "px-3 pb-5 d-flex flex-column" }, Wo = { class: "ps-16" }, Go = { class: "text-caption text-end" }, qo = { class: "font-weight-bold" }, Yo = { class: "ps-16" }, Jo = { class: "text-caption text-end" }, Qo = { class: "font-weight-bold" }, Xo = { class: "ps-16" }, Zo = { class: "text-caption text-end" }, Ko = { class: "font-weight-bold" }, es = { class: "py-4" }, ts = /* @__PURE__ */ _("div", { class: "text-caption text-medium-emphasis" }, [
1737
- /* @__PURE__ */ j(" A total of $2.99 or more unlocks "),
1738
- /* @__PURE__ */ _("span", { class: "font-weight-black" }, "all"),
1739
- /* @__PURE__ */ j(" Vuetify One benefits ")
1740
- ], -1), os = /* @__PURE__ */ V({
1758
+ }), Go = { class: "px-3 pb-5 d-flex flex-column" }, Yo = { class: "ps-16" }, Qo = { class: "text-caption text-end" }, Jo = { class: "font-weight-bold" }, Xo = { class: "ps-16" }, Zo = { class: "text-caption text-end" }, Ko = { class: "font-weight-bold" }, es = { class: "ps-16" }, ts = { class: "text-caption text-end" }, os = { class: "font-weight-bold" }, ss = { class: "py-4" }, ns = /* @__PURE__ */ v("div", { class: "text-caption text-medium-emphasis" }, [
1759
+ /* @__PURE__ */ O(" A total of $2.99 or more unlocks "),
1760
+ /* @__PURE__ */ v("span", { class: "font-weight-black" }, "all"),
1761
+ /* @__PURE__ */ O(" Vuetify One benefits ")
1762
+ ], -1), is = /* @__PURE__ */ k({
1741
1763
  __name: "VoSponsorshipsDialog",
1764
+ props: {
1765
+ modelValue: { type: Boolean },
1766
+ modelModifiers: {}
1767
+ },
1768
+ emits: ["update:modelValue"],
1742
1769
  setup(u) {
1743
- const t = he(), a = _e(), s = z(), n = J(), r = Qe();
1744
- function c(l) {
1745
- return t.format(l, "fullDateWithWeekday");
1770
+ const t = ae(u, "modelValue"), i = be(), s = ge(), l = Se(), a = j(), r = q(), c = Ze();
1771
+ function h(p) {
1772
+ return i.format(p, "fullDateWithWeekday");
1746
1773
  }
1747
- return (l, h) => {
1748
- const p = ue, g = ce, C = Re("v-empty-state"), m = Ve;
1749
- return d(), v(m, {
1750
- "max-height": e(a).xs.value ? void 0 : 820,
1751
- "prepend-icon": `svg:${e(St)}`,
1774
+ return z(l, async () => {
1775
+ l.value.one === "sponsorships" && (r.isOpen = !0, await _e(), t.value = !0);
1776
+ }, { immediate: !0 }), (p, g) => {
1777
+ const C = pe, _ = de, w = Me("v-empty-state"), b = we;
1778
+ return d(), m(b, {
1779
+ modelValue: t.value,
1780
+ "onUpdate:modelValue": g[0] || (g[0] = (y) => t.value = y),
1781
+ "max-height": e(s).xs.value ? void 0 : 820,
1782
+ "prepend-icon": `svg:${e(Lt)}`,
1752
1783
  title: "Sponsorships"
1753
1784
  }, {
1754
- default: i(() => [
1755
- o(Fe, null, {
1756
- default: i(() => [
1757
- o(Ne, { scrollable: "" }, {
1758
- default: i(() => [
1759
- _("div", Eo, [
1785
+ default: n(() => [
1786
+ o(Ve, null, {
1787
+ default: n(() => [
1788
+ o(ke, { scrollable: "" }, {
1789
+ default: n(() => [
1790
+ v("div", Go, [
1760
1791
  o(X, null, {
1761
- default: i(() => [
1762
- o(p, {
1792
+ default: n(() => [
1793
+ o(C, {
1763
1794
  text: "Support Vuetify through GitHub Sponsors, Discord, or Patreon to unlock exclusive benefits and content.",
1764
1795
  title: "Support Vuetify"
1765
1796
  }),
1766
- o(Xt, {
1797
+ o(eo, {
1767
1798
  class: "justify-start ms-n7",
1768
1799
  "line-inset": "12",
1769
1800
  side: "end",
1770
1801
  style: { "grid-template-columns": "auto auto 1fr" },
1771
1802
  "truncate-line": "both"
1772
1803
  }, {
1773
- default: i(() => {
1774
- var k, D, b, x, A, O;
1804
+ default: n(() => {
1805
+ var y, $, B, I, W, K;
1775
1806
  return [
1776
- o(xe, {
1777
- "dot-color": (k = e(n).github) != null && k.isActive ? "success" : "transparent",
1778
- icon: (D = e(n).github) != null && D.isActive ? `svg:${e(oe)}` : void 0,
1807
+ o(Ie, {
1808
+ "dot-color": (y = e(r).github) != null && y.isActive ? "success" : "transparent",
1809
+ icon: ($ = e(r).github) != null && $.isActive ? `svg:${e(se)}` : void 0,
1779
1810
  size: "x-small",
1780
1811
  width: "100%"
1781
1812
  }, {
1782
- default: i(() => [
1783
- o(R, {
1784
- "prepend-avatar": e(r).CDN_URL + "/logos/github.png",
1813
+ default: n(() => [
1814
+ o(P, {
1815
+ "prepend-avatar": e(c).CDN_URL + "/logos/github.png",
1785
1816
  rounded: "lg",
1786
1817
  subtitle: "Support Vuetify through GitHub sponsors.",
1787
1818
  title: "GitHub Sponsors",
1788
1819
  variant: "text",
1789
1820
  border: ""
1790
1821
  }, {
1791
- append: i(() => {
1792
- var S, E, P, T, f, y;
1822
+ append: n(() => {
1823
+ var A, M, f, V, R, ee;
1793
1824
  return [
1794
- _("div", Wo, [
1795
- o(g, {
1796
- color: (S = e(n).github) != null && S.isActive ? "success" : "primary",
1797
- href: (E = e(n).github) != null && E.isActive ? void 0 : "https://github.com/sponsors/johnleider",
1798
- "prepend-icon": `svg:${(P = e(n).github) != null && P.isActive ? e(ae) : e(je)}`,
1799
- readonly: (T = e(n).github) == null ? void 0 : T.isActive,
1800
- target: (f = e(n).github) != null && f.isActive ? void 0 : "_blank",
1801
- text: (y = e(n).github) != null && y.isActive ? "Active" : "Info",
1825
+ v("div", Yo, [
1826
+ o(_, {
1827
+ color: (A = e(r).github) != null && A.isActive ? "success" : "primary",
1828
+ href: (M = e(r).github) != null && M.isActive ? void 0 : "https://github.com/sponsors/johnleider",
1829
+ "prepend-icon": `svg:${(f = e(r).github) != null && f.isActive ? e(le) : e(ze)}`,
1830
+ readonly: (V = e(r).github) == null ? void 0 : V.isActive,
1831
+ target: (R = e(r).github) != null && R.isActive ? void 0 : "_blank",
1832
+ text: (ee = e(r).github) != null && ee.isActive ? "Active" : "Info",
1802
1833
  width: "88"
1803
1834
  }, null, 8, ["color", "href", "prepend-icon", "readonly", "target", "text"])
1804
1835
  ])
1805
1836
  ];
1806
1837
  }),
1807
- default: i(() => {
1808
- var S;
1838
+ default: n(() => {
1839
+ var A;
1809
1840
  return [
1810
- (S = e(n).github) != null && S.isActive ? (d(), w(N, { key: 0 }, [
1811
- o(H),
1841
+ (A = e(r).github) != null && A.isActive ? (d(), S(F, { key: 0 }, [
1842
+ o(E),
1812
1843
  o(X, { class: "d-flex justify-space-between align-center flex-wrap" }, {
1813
- default: i(() => [
1814
- o(q, {
1815
- "prepend-icon": `svg:${e($e)}`,
1816
- text: e(n).github.tierName,
1844
+ default: n(() => [
1845
+ o(Y, {
1846
+ "prepend-icon": `svg:${e(Le)}`,
1847
+ text: e(r).github.tierName,
1817
1848
  color: "surface-variant",
1818
1849
  size: "small",
1819
1850
  variant: "text",
1820
1851
  label: ""
1821
1852
  }, null, 8, ["prepend-icon", "text"]),
1822
- _("div", Go, [
1823
- j(" Sponsor since "),
1824
- _("span", qo, I(c(e(n).github.createdAt)), 1)
1853
+ v("div", Qo, [
1854
+ O(" Sponsor since "),
1855
+ v("span", Jo, D(h(e(r).github.createdAt)), 1)
1825
1856
  ])
1826
1857
  ]),
1827
1858
  _: 1
1828
1859
  })
1829
- ], 64)) : $("", !0)
1860
+ ], 64)) : x("", !0)
1830
1861
  ];
1831
1862
  }),
1832
1863
  _: 1
@@ -1834,60 +1865,60 @@ const Qe = te("settings", () => {
1834
1865
  ]),
1835
1866
  _: 1
1836
1867
  }, 8, ["dot-color", "icon"]),
1837
- o(xe, {
1838
- "dot-color": (b = e(n).discord) != null && b.isActive ? "success" : "transparent",
1839
- icon: (x = e(n).discord) != null && x.isActive ? `svg:${e(oe)}` : void 0,
1868
+ o(Ie, {
1869
+ "dot-color": (B = e(r).discord) != null && B.isActive ? "success" : "transparent",
1870
+ icon: (I = e(r).discord) != null && I.isActive ? `svg:${e(se)}` : void 0,
1840
1871
  size: "x-small",
1841
1872
  width: "100%"
1842
1873
  }, {
1843
- default: i(() => [
1844
- o(R, {
1845
- "prepend-avatar": e(r).CDN_URL + "/logos/discord.png",
1874
+ default: n(() => [
1875
+ o(P, {
1876
+ "prepend-avatar": e(c).CDN_URL + "/logos/discord.png",
1846
1877
  rounded: "lg",
1847
1878
  subtitle: "Support Vuetify through Discord.",
1848
1879
  title: "Discord Subscriber",
1849
1880
  variant: "text",
1850
1881
  border: ""
1851
1882
  }, {
1852
- append: i(() => {
1853
- var S, E, P, T, f, y;
1883
+ append: n(() => {
1884
+ var A, M, f, V, R, ee;
1854
1885
  return [
1855
- _("div", Yo, [
1856
- o(g, {
1857
- color: (S = e(n).discord) != null && S.isActive ? "success" : "primary",
1858
- href: (E = e(n).discord) != null && E.isActive ? void 0 : "https://discord.com/servers/vuetify-340160225338195969",
1859
- "prepend-icon": `svg:${(P = e(n).discord) != null && P.isActive ? e(ae) : e(je)}`,
1860
- readonly: (T = e(n).discord) == null ? void 0 : T.isActive,
1861
- target: (f = e(n).discord) != null && f.isActive ? void 0 : "_blank",
1862
- text: (y = e(n).discord) != null && y.isActive ? "Active" : "Info",
1886
+ v("div", Xo, [
1887
+ o(_, {
1888
+ color: (A = e(r).discord) != null && A.isActive ? "success" : "primary",
1889
+ href: (M = e(r).discord) != null && M.isActive ? void 0 : "https://discord.com/servers/vuetify-340160225338195969",
1890
+ "prepend-icon": `svg:${(f = e(r).discord) != null && f.isActive ? e(le) : e(ze)}`,
1891
+ readonly: (V = e(r).discord) == null ? void 0 : V.isActive,
1892
+ target: (R = e(r).discord) != null && R.isActive ? void 0 : "_blank",
1893
+ text: (ee = e(r).discord) != null && ee.isActive ? "Active" : "Info",
1863
1894
  width: "88"
1864
1895
  }, null, 8, ["color", "href", "prepend-icon", "readonly", "target", "text"])
1865
1896
  ])
1866
1897
  ];
1867
1898
  }),
1868
- default: i(() => {
1869
- var S;
1899
+ default: n(() => {
1900
+ var A;
1870
1901
  return [
1871
- (S = e(n).discord) != null && S.isActive ? (d(), w(N, { key: 0 }, [
1872
- o(H),
1902
+ (A = e(r).discord) != null && A.isActive ? (d(), S(F, { key: 0 }, [
1903
+ o(E),
1873
1904
  o(X, { class: "d-flex justify-space-between align-center flex-wrap" }, {
1874
- default: i(() => [
1875
- o(q, {
1876
- "prepend-icon": `svg:${e($e)}`,
1877
- text: e(n).discord.tierName,
1905
+ default: n(() => [
1906
+ o(Y, {
1907
+ "prepend-icon": `svg:${e(Le)}`,
1908
+ text: e(r).discord.tierName,
1878
1909
  color: "surface-variant",
1879
1910
  size: "small",
1880
1911
  variant: "text",
1881
1912
  label: ""
1882
1913
  }, null, 8, ["prepend-icon", "text"]),
1883
- _("div", Jo, [
1884
- j(" Subscriber since "),
1885
- _("span", Qo, I(c(e(n).discord.createdAt)), 1)
1914
+ v("div", Zo, [
1915
+ O(" Subscriber since "),
1916
+ v("span", Ko, D(h(e(r).discord.createdAt)), 1)
1886
1917
  ])
1887
1918
  ]),
1888
1919
  _: 1
1889
1920
  })
1890
- ], 64)) : $("", !0)
1921
+ ], 64)) : x("", !0)
1891
1922
  ];
1892
1923
  }),
1893
1924
  _: 1
@@ -1895,55 +1926,55 @@ const Qe = te("settings", () => {
1895
1926
  ]),
1896
1927
  _: 1
1897
1928
  }, 8, ["dot-color", "icon"]),
1898
- o(xe, {
1899
- "dot-color": (A = e(n).patreon) != null && A.isActive ? "success" : "transparent",
1900
- icon: (O = e(n).patreon) != null && O.isActive ? `svg:${e(oe)}` : void 0,
1929
+ o(Ie, {
1930
+ "dot-color": (W = e(r).patreon) != null && W.isActive ? "success" : "transparent",
1931
+ icon: (K = e(r).patreon) != null && K.isActive ? `svg:${e(se)}` : void 0,
1901
1932
  size: "x-small",
1902
1933
  width: "100%"
1903
1934
  }, {
1904
- default: i(() => [
1905
- o(R, {
1906
- "prepend-avatar": e(r).CDN_URL + "/logos/patreon.png",
1935
+ default: n(() => [
1936
+ o(P, {
1937
+ "prepend-avatar": e(c).CDN_URL + "/logos/patreon.png",
1907
1938
  rounded: "lg",
1908
1939
  subtitle: "Support Vuetify through Patreon.",
1909
1940
  title: "Patreon Subscriber",
1910
1941
  variant: "text",
1911
1942
  border: ""
1912
1943
  }, {
1913
- append: i(() => {
1914
- var S;
1944
+ append: n(() => {
1945
+ var A;
1915
1946
  return [
1916
- _("div", Xo, [
1917
- o(g, {
1918
- text: (S = e(n).patreon) != null && S.isActive ? "Active" : "Coming Soon",
1947
+ v("div", es, [
1948
+ o(_, {
1949
+ text: (A = e(r).patreon) != null && A.isActive ? "Active" : "Coming Soon",
1919
1950
  color: "surface-variant",
1920
1951
  readonly: ""
1921
1952
  }, null, 8, ["text"])
1922
1953
  ])
1923
1954
  ];
1924
1955
  }),
1925
- default: i(() => {
1926
- var S;
1956
+ default: n(() => {
1957
+ var A;
1927
1958
  return [
1928
- (S = e(n).patreon) != null && S.isActive ? (d(), w(N, { key: 0 }, [
1929
- o(H),
1959
+ (A = e(r).patreon) != null && A.isActive ? (d(), S(F, { key: 0 }, [
1960
+ o(E),
1930
1961
  o(X, { class: "d-flex justify-space-between align-center flex-wrap" }, {
1931
- default: i(() => [
1932
- o(q, {
1933
- "prepend-icon": `svg:${e($e)}`,
1934
- text: e(n).patreon.tierName,
1962
+ default: n(() => [
1963
+ o(Y, {
1964
+ "prepend-icon": `svg:${e(Le)}`,
1965
+ text: e(r).patreon.tierName,
1935
1966
  color: "success",
1936
1967
  variant: "text",
1937
1968
  label: ""
1938
1969
  }, null, 8, ["prepend-icon", "text"]),
1939
- _("div", Zo, [
1940
- j(" Sponsor since "),
1941
- _("span", Ko, I(c(e(n).patreon.createdAt)), 1)
1970
+ v("div", ts, [
1971
+ O(" Sponsor since "),
1972
+ v("span", os, D(h(e(r).patreon.createdAt)), 1)
1942
1973
  ])
1943
1974
  ]),
1944
1975
  _: 1
1945
1976
  })
1946
- ], 64)) : $("", !0)
1977
+ ], 64)) : x("", !0)
1947
1978
  ];
1948
1979
  }),
1949
1980
  _: 1
@@ -1958,27 +1989,27 @@ const Qe = te("settings", () => {
1958
1989
  ]),
1959
1990
  _: 1
1960
1991
  }),
1961
- o(C, {
1962
- icon: `svg:${e(Ct)}`,
1992
+ o(w, {
1993
+ icon: `svg:${e(It)}`,
1963
1994
  class: "mt-auto",
1964
1995
  "min-height": "auto",
1965
1996
  size: "64",
1966
1997
  title: "Your Monthly Contributions"
1967
1998
  }, {
1968
- media: i(() => [
1999
+ media: n(() => [
1969
2000
  o(U, { color: "success" })
1970
2001
  ]),
1971
- headline: i(() => [
1972
- _("div", es, [
1973
- e(s).isSubscriber ? (d(), w(N, { key: 0 }, [
1974
- j(" $" + I(parseFloat(String(e(n).monthlyTotal)).toFixed(2)), 1)
1975
- ], 64)) : (d(), w(N, { key: 1 }, [
1976
- j(" $0.00 ")
2002
+ headline: n(() => [
2003
+ v("div", ss, [
2004
+ e(a).isSubscriber ? (d(), S(F, { key: 0 }, [
2005
+ O(" $" + D(parseFloat(String(e(r).monthlyTotal)).toFixed(2)), 1)
2006
+ ], 64)) : (d(), S(F, { key: 1 }, [
2007
+ O(" $0.00 ")
1977
2008
  ], 64))
1978
2009
  ])
1979
2010
  ]),
1980
- text: i(() => [
1981
- ts
2011
+ text: n(() => [
2012
+ ns
1982
2013
  ]),
1983
2014
  _: 1
1984
2015
  }, 8, ["icon"])
@@ -1991,88 +2022,88 @@ const Qe = te("settings", () => {
1991
2022
  })
1992
2023
  ]),
1993
2024
  _: 1
1994
- }, 8, ["max-height", "prepend-icon"]);
2025
+ }, 8, ["modelValue", "max-height", "prepend-icon"]);
1995
2026
  };
1996
2027
  }
1997
- }), ss = /* @__PURE__ */ V({
2028
+ }), as = /* @__PURE__ */ k({
1998
2029
  __name: "VoSponsorshipsListItem",
1999
2030
  setup(u) {
2000
- const t = F(!1);
2001
- return (a, s) => {
2002
- const n = os, r = Y;
2003
- return d(), v(r, {
2031
+ const t = N(!1);
2032
+ return (i, s) => {
2033
+ const l = is, a = Q;
2034
+ return d(), m(a, {
2004
2035
  active: t.value,
2005
- "prepend-icon": `svg:${e(Lt)}`,
2036
+ "prepend-icon": `svg:${e(At)}`,
2006
2037
  title: "Sponsorships",
2007
2038
  link: ""
2008
2039
  }, {
2009
- default: i(() => [
2010
- o(n, {
2040
+ default: n(() => [
2041
+ o(l, {
2011
2042
  modelValue: t.value,
2012
- "onUpdate:modelValue": s[0] || (s[0] = (c) => t.value = c)
2043
+ "onUpdate:modelValue": s[0] || (s[0] = (r) => t.value = r)
2013
2044
  }, null, 8, ["modelValue"])
2014
2045
  ]),
2015
2046
  _: 1
2016
2047
  }, 8, ["active", "prepend-icon"]);
2017
2048
  };
2018
2049
  }
2019
- }), ns = {
2050
+ }), rs = {
2020
2051
  key: 0,
2021
2052
  class: "pt-16"
2022
- }, is = /* @__PURE__ */ _("div", { class: "text-medium-emphasis" }, " All caught up ", -1), as = { class: "ps-3 text-subtitle-2 pe-2" }, rs = { class: "text-truncate" }, ls = { class: "text-caption font-weight-bold text-medium-emphasis" }, cs = { class: "text-disabled text-caption my-2" }, us = /* @__PURE__ */ V({
2053
+ }, ls = /* @__PURE__ */ v("div", { class: "text-medium-emphasis" }, " All caught up ", -1), cs = { class: "ps-3 text-subtitle-2 pe-2" }, us = { class: "text-truncate" }, ds = { class: "text-caption font-weight-bold text-medium-emphasis" }, ps = { class: "text-disabled text-caption my-2" }, ms = /* @__PURE__ */ k({
2023
2054
  __name: "VoNotificationsList",
2024
2055
  props: {
2025
2056
  items: {}
2026
2057
  },
2027
2058
  setup(u) {
2028
- const t = M(), a = he();
2029
- function s(r) {
2030
- return t.notifications.read.includes(r);
2059
+ const t = T(), i = be();
2060
+ function s(a) {
2061
+ return t.notifications.read.includes(a);
2031
2062
  }
2032
- function n(r) {
2033
- s(r.slug) ? t.notifications.read = t.notifications.read.filter((c) => c !== r.slug) : t.notifications.read.push(r.slug);
2063
+ function l(a) {
2064
+ s(a.slug) ? t.notifications.read = t.notifications.read.filter((r) => r !== a.slug) : t.notifications.read.push(a.slug);
2034
2065
  }
2035
- return (r, c) => {
2036
- const l = Re("v-empty-state"), h = Y;
2037
- return d(), v(ne, {
2066
+ return (a, r) => {
2067
+ const c = Me("v-empty-state"), h = Q;
2068
+ return d(), m(ie, {
2038
2069
  class: "py-0",
2039
2070
  height: "100%",
2040
2071
  lines: "three"
2041
2072
  }, {
2042
- default: i(() => [
2043
- r.items.length ? (d(!0), w(N, { key: 1 }, se(r.items, (p, g) => (d(), v(Ge, {
2073
+ default: n(() => [
2074
+ a.items.length ? (d(!0), S(F, { key: 1 }, ne(a.items, (p, g) => (d(), m(Ye, {
2044
2075
  key: p.slug
2045
2076
  }, {
2046
- default: i(({ isHovering: C, props: m }) => [
2047
- o(h, Q(m, {
2077
+ default: n(({ isHovering: C, props: _ }) => [
2078
+ o(h, J(_, {
2048
2079
  border: g !== 0 && "t",
2049
2080
  class: "py-4 mb-0"
2050
2081
  }), {
2051
- prepend: i(() => [
2052
- _("div", as, I(p.metadata.emoji), 1)
2082
+ prepend: n(() => [
2083
+ v("div", cs, D(p.metadata.emoji), 1)
2053
2084
  ]),
2054
- append: i(() => [
2055
- o(Zt, {
2085
+ append: n(() => [
2086
+ o(to, {
2056
2087
  class: "mt-n3",
2057
2088
  width: "56"
2058
2089
  }, {
2059
- default: i(() => [
2060
- o(ie, {
2090
+ default: n(() => [
2091
+ o(re, {
2061
2092
  text: s(p.slug) ? "Mark as unread" : "Mark as read",
2062
2093
  location: "bottom"
2063
2094
  }, {
2064
- activator: i(({ props: k }) => [
2065
- o(De, { "hide-on-leave": "" }, {
2066
- default: i(() => [
2067
- Le(o(Z, Q(k, {
2068
- icon: `svg:${s(p.slug) ? e(At) : e(It)}`,
2095
+ activator: n(({ props: w }) => [
2096
+ o(Be, { "hide-on-leave": "" }, {
2097
+ default: n(() => [
2098
+ Fe(o(Z, J(w, {
2099
+ icon: `svg:${s(p.slug) ? e(Ut) : e(Dt)}`,
2069
2100
  class: "ms-auto",
2070
2101
  size: "small",
2071
2102
  variant: "text",
2072
2103
  "mdi-email-variant": "",
2073
- onClick: (D) => n(p)
2104
+ onClick: (b) => l(p)
2074
2105
  }), null, 16, ["icon", "onClick"]), [
2075
- [He, C]
2106
+ [Pe, C]
2076
2107
  ])
2077
2108
  ]),
2078
2109
  _: 2
@@ -2084,17 +2115,17 @@ const Qe = te("settings", () => {
2084
2115
  _: 2
2085
2116
  }, 1024)
2086
2117
  ]),
2087
- default: i(() => [
2088
- o(Et, { class: "text-wrap text-h6 mb-1" }, {
2089
- default: i(() => [
2090
- _("div", rs, I(p.title), 1)
2118
+ default: n(() => [
2119
+ o(qt, { class: "text-wrap text-h6 mb-1" }, {
2120
+ default: n(() => [
2121
+ v("div", us, D(p.title), 1)
2091
2122
  ]),
2092
2123
  _: 2
2093
2124
  }, 1024),
2094
- _("div", ls, I(e(a).format(p.created_at, "fullDateWithWeekday")), 1),
2095
- _("div", cs, I(p.metadata.text), 1),
2096
- o(q, {
2097
- "append-icon": `svg:${e(Dt)}`,
2125
+ v("div", ds, D(e(i).format(p.created_at, "fullDateWithWeekday")), 1),
2126
+ v("div", ps, D(p.metadata.text), 1),
2127
+ o(Y, {
2128
+ "append-icon": `svg:${e(Ft)}`,
2098
2129
  href: p.metadata.action,
2099
2130
  text: p.metadata.action_text,
2100
2131
  size: "small",
@@ -2102,9 +2133,9 @@ const Qe = te("settings", () => {
2102
2133
  variant: "text",
2103
2134
  border: "",
2104
2135
  label: "",
2105
- onClick: (k) => n(p)
2136
+ onClick: (w) => l(p)
2106
2137
  }, {
2107
- append: i(() => [
2138
+ append: n(() => [
2108
2139
  o(U, { size: "12" })
2109
2140
  ]),
2110
2141
  _: 2
@@ -2114,16 +2145,16 @@ const Qe = te("settings", () => {
2114
2145
  }, 1040, ["border"])
2115
2146
  ]),
2116
2147
  _: 2
2117
- }, 1024))), 128)) : (d(), w("div", ns, [
2118
- o(l, {
2148
+ }, 1024))), 128)) : (d(), S("div", rs, [
2149
+ o(c, {
2119
2150
  icon: "$vuetify",
2120
2151
  size: "256"
2121
2152
  }, {
2122
- media: i(() => [
2153
+ media: n(() => [
2123
2154
  o(U, { color: "medium-emphasis" })
2124
2155
  ]),
2125
- title: i(() => [
2126
- is
2156
+ title: n(() => [
2157
+ ls
2127
2158
  ]),
2128
2159
  _: 1
2129
2160
  })
@@ -2133,51 +2164,58 @@ const Qe = te("settings", () => {
2133
2164
  });
2134
2165
  };
2135
2166
  }
2136
- }), ds = { class: "text-caption" }, ps = /* @__PURE__ */ V({
2167
+ }), fs = { class: "text-caption" }, vs = /* @__PURE__ */ k({
2137
2168
  __name: "VoNotificationsDialog",
2169
+ props: {
2170
+ modelValue: { type: Boolean },
2171
+ modelModifiers: {}
2172
+ },
2173
+ emits: ["update:modelValue"],
2138
2174
  setup(u) {
2139
- const t = ye(), a = _e(), s = F(["0"]), n = F(!1);
2140
- return (r, c) => {
2141
- const l = Y, h = us, p = Ve;
2142
- return d(), v(p, {
2143
- modelValue: n.value,
2144
- "onUpdate:modelValue": c[2] || (c[2] = (g) => n.value = g),
2145
- "prepend-icon": `svg:${e(Ut)}`,
2175
+ const t = ge(), i = Se(), s = q(), l = xe(), a = N(["0"]), r = ae(u, "modelValue");
2176
+ return z(i, async () => {
2177
+ i.value.one === "notifications" && (s.isOpen = !0, await _e(), r.value = !0);
2178
+ }, { immediate: !0 }), (c, h) => {
2179
+ const p = Q, g = ms, C = we;
2180
+ return d(), m(C, {
2181
+ modelValue: r.value,
2182
+ "onUpdate:modelValue": h[2] || (h[2] = (_) => r.value = _),
2183
+ "prepend-icon": `svg:${e(Nt)}`,
2146
2184
  title: "Notifications"
2147
2185
  }, {
2148
- default: i(() => [
2149
- o(Fe, null, {
2150
- default: i(() => [
2151
- o(Kt, {
2152
- location: e(a).mobile.value ? "top" : "start",
2153
- width: e(a).mobile.value ? 128 : 168,
2186
+ default: n(() => [
2187
+ o(Ve, null, {
2188
+ default: n(() => [
2189
+ o(oo, {
2190
+ location: e(t).mobile.value ? "top" : "start",
2191
+ width: e(t).mobile.value ? 128 : 168,
2154
2192
  permanent: ""
2155
2193
  }, {
2156
- default: i(() => [
2157
- o(ne, {
2158
- selected: s.value,
2159
- "onUpdate:selected": c[0] || (c[0] = (g) => s.value = g),
2194
+ default: n(() => [
2195
+ o(ie, {
2196
+ selected: a.value,
2197
+ "onUpdate:selected": h[0] || (h[0] = (_) => a.value = _),
2160
2198
  class: "px-4 pt-4",
2161
2199
  density: "compact",
2162
2200
  mandatory: "",
2163
2201
  nav: ""
2164
2202
  }, {
2165
- default: i(() => [
2166
- o(l, {
2167
- "prepend-icon": `svg:${e(Ft)}`,
2203
+ default: n(() => [
2204
+ o(p, {
2205
+ "prepend-icon": `svg:${e(Ot)}`,
2168
2206
  title: "Unread",
2169
2207
  value: "0"
2170
2208
  }, G({ _: 2 }, [
2171
- e(t).unread.length > 0 ? {
2209
+ e(l).unread.length > 0 ? {
2172
2210
  name: "append",
2173
- fn: i(() => [
2174
- _("span", ds, I(e(t).unread.length), 1)
2211
+ fn: n(() => [
2212
+ v("span", fs, D(e(l).unread.length), 1)
2175
2213
  ]),
2176
2214
  key: "0"
2177
2215
  } : void 0
2178
2216
  ]), 1032, ["prepend-icon"]),
2179
- o(l, {
2180
- "prepend-icon": `svg:${e(Nt)}`,
2217
+ o(p, {
2218
+ "prepend-icon": `svg:${e(Bt)}`,
2181
2219
  title: "Read",
2182
2220
  value: "1",
2183
2221
  "mdi-archive-outline": ""
@@ -2188,25 +2226,25 @@ const Qe = te("settings", () => {
2188
2226
  ]),
2189
2227
  _: 1
2190
2228
  }, 8, ["location", "width"]),
2191
- o(Ne, { scrollable: "" }, {
2192
- default: i(() => [
2193
- o(Ye, {
2194
- modelValue: s.value,
2195
- "onUpdate:modelValue": c[1] || (c[1] = (g) => s.value = g)
2229
+ o(ke, { scrollable: "" }, {
2230
+ default: n(() => [
2231
+ o(Je, {
2232
+ modelValue: a.value,
2233
+ "onUpdate:modelValue": h[1] || (h[1] = (_) => a.value = _)
2196
2234
  }, {
2197
- default: i(() => [
2198
- o(me, { value: "0" }, {
2199
- default: i(() => [
2200
- o(h, {
2201
- items: e(t).unread
2235
+ default: n(() => [
2236
+ o(ve, { value: "0" }, {
2237
+ default: n(() => [
2238
+ o(g, {
2239
+ items: e(l).unread
2202
2240
  }, null, 8, ["items"])
2203
2241
  ]),
2204
2242
  _: 1
2205
2243
  }),
2206
- o(me, { value: "1" }, {
2207
- default: i(() => [
2208
- o(h, {
2209
- items: e(t).read
2244
+ o(ve, { value: "1" }, {
2245
+ default: n(() => [
2246
+ o(g, {
2247
+ items: e(l).read
2210
2248
  }, null, 8, ["items"])
2211
2249
  ]),
2212
2250
  _: 1
@@ -2225,49 +2263,49 @@ const Qe = te("settings", () => {
2225
2263
  }, 8, ["modelValue", "prepend-icon"]);
2226
2264
  };
2227
2265
  }
2228
- }), ms = /* @__PURE__ */ V({
2266
+ }), _s = /* @__PURE__ */ k({
2229
2267
  __name: "VoNotificationsBadge",
2230
2268
  setup(u) {
2231
- const t = ye();
2232
- return (a, s) => (d(), v(Me, {
2269
+ const t = xe(), i = T();
2270
+ return (s, l) => (d(), m(Ee, {
2233
2271
  content: e(t).unread.length,
2234
- "model-value": e(t).unread.length > 0,
2272
+ "model-value": e(i).notifications.show && e(t).unread.length > 0,
2235
2273
  color: "error"
2236
2274
  }, {
2237
- default: i(() => [
2238
- B(a.$slots, "default")
2275
+ default: n(() => [
2276
+ H(s.$slots, "default")
2239
2277
  ]),
2240
2278
  _: 3
2241
2279
  }, 8, ["content", "model-value"]));
2242
2280
  }
2243
- }), fs = /* @__PURE__ */ V({
2281
+ }), hs = /* @__PURE__ */ k({
2244
2282
  __name: "VoNotificationsListItem",
2245
2283
  setup(u) {
2246
- const t = M(), a = ye(), s = F(!1);
2247
- return Te(async () => {
2248
- await a.get();
2249
- }), (n, r) => {
2250
- const c = ms, l = ps, h = Y;
2251
- return e(t).notifications.show ? (d(), v(h, {
2284
+ const t = T(), i = xe(), s = N(!1);
2285
+ return st(async () => {
2286
+ await i.get();
2287
+ }), (l, a) => {
2288
+ const r = _s, c = vs, h = Q;
2289
+ return e(t).notifications.show ? (d(), m(h, {
2252
2290
  key: 0,
2253
2291
  active: s.value,
2254
2292
  "prepend-icon": `svg:${e(jt)}`,
2255
2293
  title: "Notifications",
2256
2294
  link: ""
2257
2295
  }, G({
2258
- default: i(() => [
2259
- o(l, {
2296
+ default: n(() => [
2297
+ o(c, {
2260
2298
  modelValue: s.value,
2261
- "onUpdate:modelValue": r[0] || (r[0] = (p) => s.value = p)
2299
+ "onUpdate:modelValue": a[0] || (a[0] = (p) => s.value = p)
2262
2300
  }, null, 8, ["modelValue"])
2263
2301
  ]),
2264
2302
  _: 2
2265
2303
  }, [
2266
- e(a).unread.length ? {
2304
+ e(i).unread.length ? {
2267
2305
  name: "prepend",
2268
- fn: i(() => [
2269
- o(c, null, {
2270
- default: i(() => [
2306
+ fn: n(() => [
2307
+ o(r, null, {
2308
+ default: n(() => [
2271
2309
  o(U)
2272
2310
  ]),
2273
2311
  _: 1
@@ -2275,52 +2313,52 @@ const Qe = te("settings", () => {
2275
2313
  ]),
2276
2314
  key: "0"
2277
2315
  } : void 0
2278
- ]), 1032, ["active", "prepend-icon"])) : $("", !0);
2316
+ ]), 1032, ["active", "prepend-icon"])) : x("", !0);
2279
2317
  };
2280
2318
  }
2281
- }), vs = /* @__PURE__ */ V({
2319
+ }), gs = /* @__PURE__ */ k({
2282
2320
  __name: "VoDashboardListItem",
2283
2321
  setup(u) {
2284
- return (t, a) => {
2285
- const s = Y;
2286
- return d(), v(s, {
2287
- "prepend-icon": `svg:${e(Ot)}`,
2322
+ return (t, i) => {
2323
+ const s = Q;
2324
+ return d(), m(s, {
2325
+ "prepend-icon": `svg:${e(zt)}`,
2288
2326
  title: "Dashboard",
2289
2327
  to: "/user/dashboard"
2290
2328
  }, null, 8, ["prepend-icon"]);
2291
2329
  };
2292
2330
  }
2293
- }), _s = /* @__PURE__ */ V({
2331
+ }), bs = /* @__PURE__ */ k({
2294
2332
  __name: "VoUserList",
2295
2333
  setup(u) {
2296
- const t = z();
2297
- return (a, s) => {
2298
- const n = vs, r = fs, c = ss, l = Po, h = yo, p = fo;
2299
- return d(), v(ne, {
2334
+ const t = j();
2335
+ return (i, s) => {
2336
+ const l = gs, a = hs, r = as, c = qo, h = $o, p = ho;
2337
+ return d(), m(ie, {
2300
2338
  density: "compact",
2301
2339
  nav: "",
2302
2340
  slim: ""
2303
2341
  }, {
2304
- default: i(() => [
2305
- o(n),
2342
+ default: n(() => [
2343
+ o(l),
2344
+ o(a),
2306
2345
  o(r),
2307
- o(c),
2308
- e(t).user ? (d(), v(l, { key: 0 })) : $("", !0),
2346
+ e(t).user ? (d(), m(c, { key: 0 })) : x("", !0),
2309
2347
  o(h),
2310
- e(t).user ? (d(), v(p, { key: 1 })) : $("", !0)
2348
+ e(t).user ? (d(), m(p, { key: 1 })) : x("", !0)
2311
2349
  ]),
2312
2350
  _: 1
2313
2351
  });
2314
2352
  };
2315
2353
  }
2316
- }), hs = { key: 0 }, gs = { class: "d-flex align-center justify-center pa-1 ga-2" }, bs = /* @__PURE__ */ V({
2354
+ }), ys = { key: 0 }, Vs = { class: "d-flex align-center justify-center pa-1 ga-2" }, ks = /* @__PURE__ */ k({
2317
2355
  __name: "VoUserQuickActions",
2318
2356
  setup(u) {
2319
- const t = M();
2320
- return (a, s) => (d(), v(le, null, {
2321
- default: i(() => [
2322
- e(t).quickbar ? (d(), w("div", hs, [
2323
- _("div", gs, [
2357
+ const t = T();
2358
+ return (i, s) => (d(), m(ue, null, {
2359
+ default: n(() => [
2360
+ e(t).quickbar ? (d(), S("div", ys, [
2361
+ v("div", Vs, [
2324
2362
  o(Z, {
2325
2363
  color: e(t).colors.one,
2326
2364
  class: "text-caption",
@@ -2331,7 +2369,7 @@ const Qe = te("settings", () => {
2331
2369
  }, null, 8, ["color"]),
2332
2370
  o(Z, {
2333
2371
  color: e(t).colors.one,
2334
- icon: `svg:${e(Bt)}`,
2372
+ icon: `svg:${e(Tt)}`,
2335
2373
  class: "text-caption",
2336
2374
  density: "comfortable",
2337
2375
  href: "https://bin.vuetifyjs.com",
@@ -2339,23 +2377,23 @@ const Qe = te("settings", () => {
2339
2377
  }, null, 8, ["color", "icon"]),
2340
2378
  o(Z, {
2341
2379
  color: e(t).colors.one,
2342
- icon: `svg:${e(zt)}`,
2380
+ icon: `svg:${e(Rt)}`,
2343
2381
  class: "text-caption",
2344
2382
  density: "comfortable",
2345
2383
  href: "https://issues.vuetifyjs.com",
2346
2384
  target: "_blank"
2347
2385
  }, null, 8, ["color", "icon"])
2348
2386
  ])
2349
- ])) : $("", !0)
2387
+ ])) : x("", !0)
2350
2388
  ]),
2351
2389
  _: 1
2352
2390
  }));
2353
2391
  }
2354
- }), ys = { class: "mb-2" }, Vs = { key: 0 }, ks = { class: "d-flex ga-4 flex-wrap justify-center mb-4" }, $s = { class: "text-h6" }, xs = /* @__PURE__ */ V({
2392
+ }), $s = { class: "mb-2" }, xs = { key: 0 }, ws = { class: "d-flex ga-4 flex-wrap justify-center mb-4" }, Ss = { class: "text-h6" }, Cs = /* @__PURE__ */ k({
2355
2393
  __name: "VoUserAvatar",
2356
2394
  setup(u) {
2357
- const t = z(), a = M(), s = F(!1), n = L(() => {
2358
- const l = [
2395
+ const t = j(), i = T(), s = N(!1), l = L(() => {
2396
+ const c = [
2359
2397
  "https://cdn.vuetifyjs.com/docs/images/avatars/one.png",
2360
2398
  "https://cdn.vuetifyjs.com/docs/images/avatars/grass.png",
2361
2399
  "https://cdn.vuetifyjs.com/docs/images/avatars/wood.png",
@@ -2371,19 +2409,19 @@ const Qe = te("settings", () => {
2371
2409
  "https://cdn.vuetifyjs.com/docs/images/avatars/meteor.png",
2372
2410
  "https://cdn.vuetifyjs.com/docs/images/avatars/tada.png"
2373
2411
  ];
2374
- return t.user && l.unshift(t.user.picture), l;
2412
+ return t.user && c.unshift(t.user.picture), c;
2375
2413
  });
2376
- function r(l) {
2377
- a.avatar = l;
2414
+ function a(c) {
2415
+ i.avatar = c;
2378
2416
  }
2379
- function c() {
2417
+ function r() {
2380
2418
  t.isSubscriber && (s.value = !s.value);
2381
2419
  }
2382
- return (l, h) => {
2420
+ return (c, h) => {
2383
2421
  var p;
2384
- return d(), w("div", null, [
2385
- Le((d(), v(pe, {
2386
- class: ot([
2422
+ return d(), S("div", null, [
2423
+ Fe((d(), m(fe, {
2424
+ class: nt([
2387
2425
  "border-md border-opacity-100 border-surface-variant",
2388
2426
  {
2389
2427
  "cursor-pointer": e(t).isSubscriber
@@ -2392,14 +2430,14 @@ const Qe = te("settings", () => {
2392
2430
  color: "surface",
2393
2431
  size: "72",
2394
2432
  text: "Foobar",
2395
- onClick: ze(c, ["prevent", "stop"])
2433
+ onClick: He(r, ["prevent", "stop"])
2396
2434
  }, {
2397
- default: i(() => [
2398
- e(t).user && e(a).avatar ? (d(), v(Ue, {
2435
+ default: n(() => [
2436
+ e(t).user && e(i).avatar ? (d(), m(je, {
2399
2437
  key: 0,
2400
- src: e(a).avatar,
2438
+ src: e(i).avatar,
2401
2439
  alt: "User avatar"
2402
- }, null, 8, ["src"])) : (d(), v(U, {
2440
+ }, null, 8, ["src"])) : (d(), m(U, {
2403
2441
  key: 1,
2404
2442
  class: "mt-1",
2405
2443
  icon: "$vuetify",
@@ -2408,28 +2446,28 @@ const Qe = te("settings", () => {
2408
2446
  ]),
2409
2447
  _: 1
2410
2448
  }, 8, ["class"])), [
2411
- [eo, e(t).isSubscriber]
2449
+ [so, e(t).isSubscriber]
2412
2450
  ]),
2413
- _("div", ys, [
2414
- o(le, null, {
2415
- default: i(() => [
2416
- s.value ? (d(), w("div", Vs, [
2417
- o(R, {
2451
+ v("div", $s, [
2452
+ o(ue, null, {
2453
+ default: n(() => [
2454
+ s.value ? (d(), S("div", xs, [
2455
+ o(P, {
2418
2456
  class: "pt-6 pb-1",
2419
2457
  rounded: "0",
2420
2458
  flat: ""
2421
2459
  }, {
2422
- default: i(() => [
2423
- _("div", ks, [
2424
- (d(!0), w(N, null, se(n.value, (g, C) => (d(), v(Z, {
2460
+ default: n(() => [
2461
+ v("div", ws, [
2462
+ (d(!0), S(F, null, ne(l.value, (g, C) => (d(), m(Z, {
2425
2463
  key: C,
2426
- active: e(a).avatar === g,
2464
+ active: e(i).avatar === g,
2427
2465
  variant: "flat",
2428
2466
  icon: "",
2429
- onClick: (m) => r(g)
2467
+ onClick: (_) => a(g)
2430
2468
  }, {
2431
- default: i(() => [
2432
- o(pe, {
2469
+ default: n(() => [
2470
+ o(fe, {
2433
2471
  image: g,
2434
2472
  eager: ""
2435
2473
  }, null, 8, ["image"])
@@ -2440,141 +2478,151 @@ const Qe = te("settings", () => {
2440
2478
  ]),
2441
2479
  _: 1
2442
2480
  })
2443
- ])) : $("", !0)
2481
+ ])) : x("", !0)
2444
2482
  ]),
2445
2483
  _: 1
2446
2484
  })
2447
2485
  ]),
2448
- _("div", $s, I(((p = e(t).user) == null ? void 0 : p.name) ?? "Guest"), 1)
2486
+ v("div", Ss, D(((p = e(t).user) == null ? void 0 : p.name) ?? "Guest"), 1)
2449
2487
  ]);
2450
2488
  };
2451
2489
  }
2452
- }), ws = { class: "d-flex flex-grow-1 justify-end fill-height align-start" }, Ss = {
2490
+ }), Ls = /* @__PURE__ */ k({
2491
+ __name: "VoUserBadges",
2492
+ setup(u) {
2493
+ const t = j(), i = q(), s = L(() => {
2494
+ var l;
2495
+ return i.github || i.discord || i.isSubscriber || ((l = t.user) == null ? void 0 : l.isAdmin);
2496
+ });
2497
+ return (l, a) => s.value ? (d(), m(qe, {
2498
+ key: 0,
2499
+ class: "align-center position-absolute ms-2 d-flex ga-2 pa-2",
2500
+ color: "rgba(0,0,0,.36)",
2501
+ rounded: "lg",
2502
+ style: { left: "0" }
2503
+ }, {
2504
+ default: n(() => {
2505
+ var r;
2506
+ return [
2507
+ (r = e(t).user) != null && r.isAdmin ? (d(), m(re, {
2508
+ key: 0,
2509
+ location: "bottom",
2510
+ text: "Vuetify Administrator"
2511
+ }, {
2512
+ activator: n(({ props: c }) => [
2513
+ o(U, J({
2514
+ color: "blue",
2515
+ icon: "$vuetify"
2516
+ }, c, { size: "16" }), null, 16)
2517
+ ]),
2518
+ _: 1
2519
+ })) : x("", !0),
2520
+ e(i).isSubscriber ? (d(), m(re, {
2521
+ key: 1,
2522
+ location: "bottom",
2523
+ text: "Vuetify One Subscriber"
2524
+ }, {
2525
+ activator: n(({ props: c }) => [
2526
+ o(U, J({
2527
+ icon: `svg:${e(Ht)}`,
2528
+ color: "amber-darken-2"
2529
+ }, c, { size: "16" }), null, 16, ["icon"])
2530
+ ]),
2531
+ _: 1
2532
+ })) : x("", !0),
2533
+ e(i).github ? (d(), m(re, {
2534
+ key: 2,
2535
+ location: "bottom",
2536
+ text: "GitHub Sponsor"
2537
+ }, {
2538
+ activator: n(({ props: c }) => [
2539
+ o(U, J({
2540
+ icon: `svg:${e(Oe)}`,
2541
+ color: "medium-emphasis"
2542
+ }, c, { size: "16" }), null, 16, ["icon"])
2543
+ ]),
2544
+ _: 1
2545
+ })) : x("", !0),
2546
+ e(i).discord ? (d(), m(re, {
2547
+ key: 3,
2548
+ location: "bottom",
2549
+ text: "Discord Subscriber"
2550
+ }, {
2551
+ activator: n(({ props: c }) => [
2552
+ o(U, J({
2553
+ icon: `svg:${e(Ne)}`,
2554
+ color: "medium-emphasis"
2555
+ }, c, { size: "16" }), null, 16, ["icon"])
2556
+ ]),
2557
+ _: 1
2558
+ })) : x("", !0)
2559
+ ];
2560
+ }),
2561
+ _: 1
2562
+ })) : x("", !0);
2563
+ }
2564
+ }), Is = { class: "d-flex flex-grow-1 justify-end fill-height align-start" }, As = {
2453
2565
  key: "reset",
2454
2566
  class: "align-self-end"
2455
- }, Cs = /* @__PURE__ */ V({
2567
+ }, Ds = /* @__PURE__ */ k({
2456
2568
  __name: "VoUserColors",
2457
2569
  setup(u) {
2458
- const t = z(), a = J(), s = M(), n = F(!1);
2459
- function r() {
2460
- s.colors.one = "surface-light";
2570
+ const t = j(), i = T(), s = N(!1);
2571
+ function l() {
2572
+ i.colors.one = "surface-light";
2461
2573
  }
2462
- return (c, l) => {
2463
- const h = ce;
2464
- return d(), w(N, null, [
2465
- o(Ue, {
2466
- color: e(t).user ? e(s).colors.one : "surface-light",
2574
+ return (a, r) => {
2575
+ const c = Ls, h = de;
2576
+ return d(), S(F, null, [
2577
+ o(je, {
2578
+ color: e(t).user ? e(i).colors.one : "surface-light",
2467
2579
  "content-class": "d-flex align-start justify-end pa-2",
2468
2580
  height: "88",
2469
2581
  rounded: "0",
2470
2582
  cover: "",
2471
2583
  flat: ""
2472
2584
  }, {
2473
- default: i(() => [
2474
- _("div", ws, [
2475
- o(Ee, {
2476
- class: "align-center position-absolute ms-2 d-flex ga-2 pa-2",
2477
- color: "rgba(0,0,0,.36)",
2478
- rounded: "lg",
2479
- style: { left: "0" }
2480
- }, {
2481
- default: i(() => {
2482
- var p;
2483
- return [
2484
- (p = e(t).user) != null && p.isAdmin ? (d(), v(ie, {
2485
- key: 0,
2486
- location: "bottom",
2487
- text: "Vuetify Administrator"
2488
- }, {
2489
- activator: i(({ props: g }) => [
2490
- o(U, Q({
2491
- color: "blue",
2492
- icon: "$vuetify"
2493
- }, g, { size: "16" }), null, 16)
2494
- ]),
2495
- _: 1
2496
- })) : $("", !0),
2497
- e(a).isSubscriber ? (d(), v(ie, {
2498
- key: 1,
2499
- location: "bottom",
2500
- text: "Vuetify One Subscriber"
2501
- }, {
2502
- activator: i(({ props: g }) => [
2503
- o(U, Q({
2504
- icon: `svg:${e(Tt)}`,
2505
- color: "amber-darken-2"
2506
- }, g, { size: "16" }), null, 16, ["icon"])
2507
- ]),
2508
- _: 1
2509
- })) : $("", !0),
2510
- e(a).github ? (d(), v(ie, {
2511
- key: 2,
2512
- location: "bottom",
2513
- text: "GitHub Sponsor"
2514
- }, {
2515
- activator: i(({ props: g }) => [
2516
- o(U, Q({
2517
- icon: `svg:${e(Ae)}`,
2518
- color: "medium-emphasis"
2519
- }, g, { size: "16" }), null, 16, ["icon"])
2520
- ]),
2521
- _: 1
2522
- })) : $("", !0),
2523
- e(a).discord ? (d(), v(ie, {
2524
- key: 3,
2525
- location: "bottom",
2526
- text: "Discord Subscriber"
2527
- }, {
2528
- activator: i(({ props: g }) => [
2529
- o(U, Q({
2530
- icon: `svg:${e(Ie)}`,
2531
- color: "medium-emphasis"
2532
- }, g, { size: "16" }), null, 16, ["icon"])
2533
- ]),
2534
- _: 1
2535
- })) : $("", !0)
2536
- ];
2537
- }),
2538
- _: 1
2539
- }),
2540
- e(t).isSubscriber ? (d(), v(h, {
2585
+ default: n(() => [
2586
+ v("div", Is, [
2587
+ o(c),
2588
+ e(t).isSubscriber ? (d(), m(h, {
2541
2589
  key: 0,
2542
- active: n.value,
2543
- icon: n.value ? `svg:${e(oe)}` : "$edit",
2544
- variant: n.value ? "text" : "plain",
2590
+ active: s.value,
2591
+ icon: s.value ? `svg:${e(se)}` : "$edit",
2592
+ variant: s.value ? "text" : "plain",
2545
2593
  class: "align-self-end",
2546
2594
  color: "inherit",
2547
2595
  density: "comfortable",
2548
2596
  title: "Edit One Header Color",
2549
- onClick: l[0] || (l[0] = (p) => n.value = !n.value)
2597
+ onClick: r[0] || (r[0] = (p) => s.value = !s.value)
2550
2598
  }, {
2551
- default: i(() => [
2552
- o(De, { "leave-absolute": "" }, {
2553
- default: i(() => [
2554
- (d(), v(U, {
2555
- key: String(n.value)
2599
+ default: n(() => [
2600
+ o(Be, { "leave-absolute": "" }, {
2601
+ default: n(() => [
2602
+ (d(), m(U, {
2603
+ key: String(s.value)
2556
2604
  }))
2557
2605
  ]),
2558
2606
  _: 1
2559
2607
  })
2560
2608
  ]),
2561
2609
  _: 1
2562
- }, 8, ["active", "icon", "variant"])) : $("", !0),
2563
- o(Wt, null, {
2564
- default: i(() => [
2565
- Le(_("div", Ss, [
2610
+ }, 8, ["active", "icon", "variant"])) : x("", !0),
2611
+ o(Gt, null, {
2612
+ default: n(() => [
2613
+ Fe(v("div", As, [
2566
2614
  o(h, {
2567
- disabled: e(s).colors.one === "surface-light",
2568
- icon: `svg:${e(Rt)}`,
2615
+ disabled: e(i).colors.one === "surface-light",
2616
+ icon: `svg:${e(Mt)}`,
2569
2617
  class: "ms-2 me-1",
2570
2618
  color: "inherit",
2571
2619
  density: "comfortable",
2572
2620
  title: "Revert to Default",
2573
2621
  variant: "text",
2574
- onClick: r
2622
+ onClick: l
2575
2623
  }, null, 8, ["disabled", "icon"])
2576
2624
  ], 512), [
2577
- [He, n.value]
2625
+ [Pe, s.value]
2578
2626
  ])
2579
2627
  ]),
2580
2628
  _: 1
@@ -2583,11 +2631,11 @@ const Qe = te("settings", () => {
2583
2631
  ]),
2584
2632
  _: 1
2585
2633
  }, 8, ["color"]),
2586
- o(le, null, {
2587
- default: i(() => [
2588
- n.value ? (d(), v(to, {
2634
+ o(ue, null, {
2635
+ default: n(() => [
2636
+ s.value ? (d(), m(no, {
2589
2637
  key: 0,
2590
- "model-value": e(s).colors.one !== "surface-light" ? e(s).colors.one : void 0,
2638
+ "model-value": e(i).colors.one !== "surface-light" ? e(i).colors.one : void 0,
2591
2639
  elevation: "0",
2592
2640
  height: "250",
2593
2641
  rounded: "0",
@@ -2597,21 +2645,21 @@ const Qe = te("settings", () => {
2597
2645
  "hide-inputs": "",
2598
2646
  "hide-sliders": "",
2599
2647
  "show-swatches": "",
2600
- "onUpdate:modelValue": l[1] || (l[1] = (p) => e(s).colors.one = p)
2601
- }, null, 8, ["model-value"])) : $("", !0)
2648
+ "onUpdate:modelValue": r[1] || (r[1] = (p) => e(i).colors.one = p)
2649
+ }, null, 8, ["model-value"])) : x("", !0)
2602
2650
  ]),
2603
2651
  _: 1
2604
2652
  })
2605
2653
  ], 64);
2606
2654
  };
2607
2655
  }
2608
- }), Ls = { class: "text-center mt-n9 mb-4" }, Is = /* @__PURE__ */ V({
2656
+ }), Us = { class: "text-center mt-n9 mb-4" }, Fs = /* @__PURE__ */ k({
2609
2657
  __name: "VoUserMenu",
2610
2658
  setup(u) {
2611
- const t = J();
2612
- return (a, s) => {
2613
- const n = Cs, r = xs, c = bs, l = _s, h = mo;
2614
- return d(), v(oo, {
2659
+ const t = q();
2660
+ return (i, s) => {
2661
+ const l = Ds, a = Cs, r = ks, c = bs, h = _o;
2662
+ return d(), m(io, {
2615
2663
  modelValue: e(t).isOpen,
2616
2664
  "onUpdate:modelValue": s[0] || (s[0] = (p) => e(t).isOpen = p),
2617
2665
  "close-on-click": !1,
@@ -2620,21 +2668,21 @@ const Qe = te("settings", () => {
2620
2668
  location: "bottom end",
2621
2669
  eager: ""
2622
2670
  }, {
2623
- default: i(() => [
2624
- o(R, {
2671
+ default: n(() => [
2672
+ o(P, {
2625
2673
  rounded: "lg",
2626
2674
  width: "280",
2627
2675
  border: ""
2628
2676
  }, {
2629
- default: i(() => [
2630
- o(n),
2631
- _("div", Ls, [
2632
- o(r),
2633
- o(c)
2634
- ]),
2635
- o(H),
2677
+ default: n(() => [
2636
2678
  o(l),
2637
- o(H),
2679
+ v("div", Us, [
2680
+ o(a),
2681
+ o(r)
2682
+ ]),
2683
+ o(E),
2684
+ o(c),
2685
+ o(E),
2638
2686
  o(h)
2639
2687
  ]),
2640
2688
  _: 1
@@ -2644,38 +2692,38 @@ const Qe = te("settings", () => {
2644
2692
  }, 8, ["modelValue"]);
2645
2693
  };
2646
2694
  }
2647
- }), As = { key: 0 }, Ds = /* @__PURE__ */ V({
2695
+ }), Ns = { key: 0 }, Os = /* @__PURE__ */ k({
2648
2696
  __name: "VoAuthBtn",
2649
2697
  props: {
2650
2698
  external: Boolean
2651
2699
  },
2652
2700
  setup(u) {
2653
- const t = z(), a = J(), s = M(), { lgAndUp: n, mdAndDown: r } = _e(), c = L(() => a.isOpen || !t.user ? s.colors.one === "surface-light" ? "primary" : s.colors.one : "surface-light");
2654
- return (l, h) => {
2655
- const p = Is, g = ce, C = no;
2656
- return d(), v(C, {
2701
+ const t = j(), i = q(), s = T(), { lgAndUp: l, mdAndDown: a } = ge(), r = L(() => i.isOpen || !t.user ? s.colors.one === "surface-light" ? "primary" : s.colors.one : "surface-light");
2702
+ return (c, h) => {
2703
+ const p = Fs, g = de, C = ro;
2704
+ return d(), m(C, {
2657
2705
  "offset-y": e(t).user ? 5 : 0
2658
2706
  }, {
2659
- default: i(() => [
2660
- o(g, Q({
2661
- [`${e(n) ? "append-" : ""}icon`]: e(t).user ? void 0 : `svg:${e(Ht)}`
2707
+ default: n(() => [
2708
+ o(g, J({
2709
+ [`${e(l) ? "append-" : ""}icon`]: e(t).user ? void 0 : `svg:${e(Pt)}`
2662
2710
  }, {
2663
- color: c.value,
2711
+ color: r.value,
2664
2712
  icon: e(t).user || e(t).isLoading,
2665
2713
  loading: e(t).isLoading,
2666
- rounded: e(r),
2714
+ rounded: e(a),
2667
2715
  variant: e(t).user ? "outlined" : "flat",
2668
2716
  class: "vo-auth-btn",
2669
2717
  size: "default",
2670
2718
  style: { transition: ".2s ease" },
2671
2719
  active: ""
2672
2720
  }), {
2673
- default: i(() => [
2674
- e(t).user ? $("", !0) : (d(), w("span", As, "Login")),
2675
- e(t).user ? (d(), v(pe, {
2721
+ default: n(() => [
2722
+ e(t).user ? x("", !0) : (d(), S("span", Ns, "Login")),
2723
+ e(t).user ? (d(), m(fe, {
2676
2724
  key: 1,
2677
2725
  image: e(s).avatar || e(t).user.picture || ""
2678
- }, null, 8, ["image"])) : $("", !0),
2726
+ }, null, 8, ["image"])) : x("", !0),
2679
2727
  o(p)
2680
2728
  ]),
2681
2729
  _: 1
@@ -2685,10 +2733,10 @@ const Qe = te("settings", () => {
2685
2733
  }, 8, ["offset-y"]);
2686
2734
  };
2687
2735
  }
2688
- }), Us = (u) => (st("data-v-86d0e524"), u = u(), nt(), u), Fs = ["href", "title"], Ns = {
2736
+ }), Bs = (u) => (it("data-v-86d0e524"), u = u(), at(), u), js = ["href", "title"], zs = {
2689
2737
  class: "text-caption text-disabled",
2690
2738
  style: { position: "absolute", right: "16px" }
2691
- }, js = /* @__PURE__ */ Us(() => /* @__PURE__ */ _("span", { class: "d-none d-sm-inline-block" }, "Vuetify, LLC", -1)), Os = /* @__PURE__ */ V({
2739
+ }, Ts = /* @__PURE__ */ Bs(() => /* @__PURE__ */ v("span", { class: "d-none d-sm-inline-block" }, "Vuetify, LLC", -1)), Rs = /* @__PURE__ */ k({
2692
2740
  __name: "VoFooter",
2693
2741
  setup(u) {
2694
2742
  const t = [
@@ -2699,7 +2747,7 @@ const Qe = te("settings", () => {
2699
2747
  },
2700
2748
  {
2701
2749
  title: "Vuetify Support",
2702
- icon: `svg:${Mt}`,
2750
+ icon: `svg:${Et}`,
2703
2751
  href: "https://support.vuetifyjs.com/"
2704
2752
  },
2705
2753
  {
@@ -2709,154 +2757,154 @@ const Qe = te("settings", () => {
2709
2757
  },
2710
2758
  {
2711
2759
  title: "Vuetify GitHub",
2712
- icon: `svg:${Ae}`,
2760
+ icon: `svg:${Oe}`,
2713
2761
  href: "https://github.com/vuetifyjs/vuetify"
2714
2762
  },
2715
2763
  {
2716
2764
  title: "Vuetify Discord",
2717
- icon: `svg:${Ie}`,
2765
+ icon: `svg:${Ne}`,
2718
2766
  href: "https://community.vuetifyjs.com/"
2719
2767
  },
2720
2768
  {
2721
2769
  title: "Vuetify Reddit",
2722
- icon: `svg:${Pt}`,
2770
+ icon: `svg:${Wt}`,
2723
2771
  href: "https://reddit.com/r/vuetifyjs"
2724
2772
  }
2725
2773
  ];
2726
- return (a, s) => (d(), v(so, {
2774
+ return (i, s) => (d(), m(ao, {
2727
2775
  class: "vo-footer",
2728
2776
  height: "40"
2729
2777
  }, {
2730
- default: i(() => [
2731
- (d(), w(N, null, se(t, (n) => _("a", {
2732
- key: n.title,
2733
- href: n.href,
2734
- title: n.title,
2778
+ default: n(() => [
2779
+ (d(), S(F, null, ne(t, (l) => v("a", {
2780
+ key: l.title,
2781
+ href: l.href,
2782
+ title: l.title,
2735
2783
  class: "d-inline-block mx-2 social-link",
2736
2784
  rel: "noopener noreferrer",
2737
2785
  target: "_blank"
2738
2786
  }, [
2739
2787
  o(U, {
2740
- icon: n.icon,
2741
- size: n.icon === "$vuetify" ? 24 : 16
2788
+ icon: l.icon,
2789
+ size: l.icon === "$vuetify" ? 24 : 16
2742
2790
  }, null, 8, ["icon", "size"])
2743
- ], 8, Fs)), 64)),
2744
- _("div", Ns, [
2745
- j(" © 2016-" + I((/* @__PURE__ */ new Date()).getFullYear()) + " ", 1),
2746
- js
2791
+ ], 8, js)), 64)),
2792
+ v("div", zs, [
2793
+ O(" © 2016-" + D((/* @__PURE__ */ new Date()).getFullYear()) + " ", 1),
2794
+ Ts
2747
2795
  ])
2748
2796
  ]),
2749
2797
  _: 1
2750
2798
  }));
2751
2799
  }
2752
2800
  });
2753
- const Bs = (u, t) => {
2754
- const a = u.__vccOpts || u;
2755
- for (const [s, n] of t)
2756
- a[s] = n;
2757
- return a;
2758
- }, zs = /* @__PURE__ */ Bs(Os, [["__scopeId", "data-v-86d0e524"]]), xn = te("bins", () => {
2759
- const u = z(), t = be(), a = ee([]), s = ee(), n = F(!1), r = F(-1), c = L(() => !u.user || !s.value ? !1 : u.user.id === s.value.owner.id), l = L(() => a.value.filter((b) => b.favorite)), h = L(() => a.value.filter((b) => b.pinned));
2760
- W(s, () => {
2761
- window.clearTimeout(r.value), r.value = window.setTimeout(() => {
2762
- !s.value || !c.value || m(s.value, s.value.id);
2801
+ const Hs = (u, t) => {
2802
+ const i = u.__vccOpts || u;
2803
+ for (const [s, l] of t)
2804
+ i[s] = l;
2805
+ return i;
2806
+ }, Ms = /* @__PURE__ */ Hs(Rs, [["__scopeId", "data-v-86d0e524"]]), In = oe("bins", () => {
2807
+ const u = j(), t = $e(), i = te([]), s = te(), l = N(!1), a = N(-1), r = L(() => !u.user || !s.value ? !1 : u.user.id === s.value.owner.id), c = L(() => i.value.filter((y) => y.favorite)), h = L(() => i.value.filter((y) => y.pinned));
2808
+ z(s, () => {
2809
+ window.clearTimeout(a.value), a.value = window.setTimeout(() => {
2810
+ !s.value || !r.value || _(s.value, s.value.id);
2763
2811
  }, 100);
2764
2812
  }, { deep: !0 });
2765
2813
  async function p() {
2766
2814
  try {
2767
- n.value = !0;
2768
- const b = await t.get("/one/bins");
2769
- a.value = b.bins;
2815
+ l.value = !0;
2816
+ const y = await t.get("/one/bins");
2817
+ i.value = y.bins;
2770
2818
  } catch {
2771
2819
  } finally {
2772
- n.value = !1;
2820
+ l.value = !1;
2773
2821
  }
2774
- return a.value;
2822
+ return i.value;
2775
2823
  }
2776
- async function g(b) {
2824
+ async function g(y) {
2777
2825
  try {
2778
- n.value = !0, await t.delete(`/one/bins/${b}`), a.value = a.value.filter((x) => x.id !== b);
2826
+ l.value = !0, await t.delete(`/one/bins/${y}`), i.value = i.value.filter(($) => $.id !== y);
2779
2827
  } catch {
2780
2828
  } finally {
2781
- n.value = !1;
2829
+ l.value = !1;
2782
2830
  }
2783
2831
  return !0;
2784
2832
  }
2785
- async function C(b) {
2833
+ async function C(y) {
2786
2834
  try {
2787
- n.value = !0;
2788
- const x = await t.post("/one/bins", { bin: b });
2789
- return a.value.push(x.bin), s.value = x.bin, x;
2835
+ l.value = !0;
2836
+ const $ = await t.post("/one/bins", { bin: y });
2837
+ return i.value.push($.bin), s.value = $.bin, $;
2790
2838
  } catch {
2791
2839
  } finally {
2792
- n.value = !1;
2840
+ l.value = !1;
2793
2841
  }
2794
- return { bin: b };
2842
+ return { bin: y };
2795
2843
  }
2796
- async function m(b, x) {
2844
+ async function _(y, $) {
2797
2845
  try {
2798
- n.value = !0;
2799
- const A = await t.post(`/one/bins/${x}`, { bin: b }), O = a.value.findIndex((S) => S.id === x);
2800
- a.value.splice(O, 1, A.bin);
2846
+ l.value = !0;
2847
+ const B = await t.post(`/one/bins/${$}`, { bin: y }), I = i.value.findIndex((W) => W.id === $);
2848
+ i.value.splice(I, 1, B.bin);
2801
2849
  } catch {
2802
2850
  } finally {
2803
- n.value = !1;
2851
+ l.value = !1;
2804
2852
  }
2805
- return { bin: b };
2853
+ return { bin: y };
2806
2854
  }
2807
- async function k(b, x) {
2855
+ async function w(y, $) {
2808
2856
  try {
2809
- n.value = !0;
2810
- const A = x ? await m(b, x) : await C(b);
2811
- s.value = A.bin;
2857
+ l.value = !0;
2858
+ const B = $ ? await _(y, $) : await C(y);
2859
+ s.value = B.bin;
2812
2860
  } catch {
2813
2861
  } finally {
2814
- n.value = !1;
2862
+ l.value = !1;
2815
2863
  }
2816
- return { bin: b };
2864
+ return { bin: y };
2817
2865
  }
2818
- async function D(b) {
2866
+ async function b(y) {
2819
2867
  try {
2820
- n.value = !0;
2821
- const x = await t.get(`/one/bins/${b}`);
2822
- s.value = x.bin;
2868
+ l.value = !0;
2869
+ const $ = await t.get(`/one/bins/${y}`);
2870
+ s.value = $.bin;
2823
2871
  } catch {
2824
2872
  } finally {
2825
- n.value = !1;
2873
+ l.value = !1;
2826
2874
  }
2827
2875
  return { bin: s.value };
2828
2876
  }
2829
2877
  return {
2830
- isLoading: n,
2831
- isOwner: c,
2878
+ isLoading: l,
2879
+ isOwner: r,
2832
2880
  pinned: h,
2833
- favorites: l,
2834
- all: a,
2881
+ favorites: c,
2882
+ all: i,
2835
2883
  create: C,
2836
2884
  delete: g,
2837
2885
  current: s,
2838
- find: D,
2886
+ find: b,
2839
2887
  get: p,
2840
- update: m,
2841
- updateOrCreate: k
2888
+ update: _,
2889
+ updateOrCreate: w
2842
2890
  };
2843
2891
  });
2844
- function wn() {
2892
+ function An() {
2845
2893
  function u(t) {
2846
- t.component("VoAuthBtn", Ds), t.component("VoFooter", zs);
2894
+ t.component("VoAuthBtn", Os), t.component("VoFooter", Ms);
2847
2895
  }
2848
2896
  return { install: u };
2849
2897
  }
2850
- function Sn(u) {
2851
- u.store.url = "http://localhost:8096";
2898
+ function Dn(u) {
2899
+ u.store.url = "https://api.vuetifyjs.com";
2852
2900
  }
2853
2901
  export {
2854
- wn as createOne,
2855
- Sn as one,
2856
- z as useAuthStore,
2857
- xn as useBinsStore,
2858
- be as useHttpStore,
2859
- J as useOneStore,
2860
- Qe as useSettingsStore,
2861
- M as useUserStore
2902
+ An as createOne,
2903
+ Dn as one,
2904
+ j as useAuthStore,
2905
+ In as useBinsStore,
2906
+ $e as useHttpStore,
2907
+ q as useOneStore,
2908
+ Ze as useSettingsStore,
2909
+ T as useUserStore
2862
2910
  };