@axium/server 0.22.9 → 0.22.11

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 (157) hide show
  1. package/build/client/_app/immutable/chunks/{sfKJ2mhH.js → BMQhMafy.js} +1 -1
  2. package/build/client/_app/immutable/chunks/BMQhMafy.js.br +0 -0
  3. package/build/client/_app/immutable/chunks/BMQhMafy.js.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{BZOe2Jko.js → ButWEHh0.js} +1 -1
  5. package/build/client/_app/immutable/chunks/ButWEHh0.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/ButWEHh0.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/C8C04JmV.js +1 -0
  8. package/build/client/_app/immutable/chunks/C8C04JmV.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/C8C04JmV.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{DGhIdZ_j.js → Cj9PL7OG.js} +1 -1
  11. package/build/client/_app/immutable/chunks/Cj9PL7OG.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/Cj9PL7OG.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{CuRH3mnc.js → DN_VTkOW.js} +1 -1
  14. package/build/client/_app/immutable/chunks/DN_VTkOW.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/DN_VTkOW.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/{CV6aJBRA.js → DwJfO5YS.js} +1 -1
  17. package/build/client/_app/immutable/chunks/DwJfO5YS.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/DwJfO5YS.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/{D3N9NXka.js → lSbGwHqC.js} +8 -8
  20. package/build/client/_app/immutable/chunks/lSbGwHqC.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/lSbGwHqC.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/x4Pz-wH_.js +1 -0
  23. package/build/client/_app/immutable/chunks/x4Pz-wH_.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/x4Pz-wH_.js.gz +0 -0
  25. package/build/client/_app/immutable/entry/{app.D7YMAAqT.js → app.DLzwCGBk.js} +2 -2
  26. package/build/client/_app/immutable/entry/app.DLzwCGBk.js.br +0 -0
  27. package/build/client/_app/immutable/entry/app.DLzwCGBk.js.gz +0 -0
  28. package/build/client/_app/immutable/entry/start.BoB-G5Ls.js +1 -0
  29. package/build/client/_app/immutable/entry/start.BoB-G5Ls.js.br +2 -0
  30. package/build/client/_app/immutable/entry/start.BoB-G5Ls.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/{0.DuvLHQ5N.js → 0.CE0uBbp0.js} +1 -1
  32. package/build/client/_app/immutable/nodes/0.CE0uBbp0.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/0.CE0uBbp0.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/{1.B48R4hTL.js → 1.9GlBYpox.js} +1 -1
  35. package/build/client/_app/immutable/nodes/1.9GlBYpox.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/1.9GlBYpox.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/{2.CiWhhaCq.js → 2.B3qXd01D.js} +1 -1
  38. package/build/client/_app/immutable/nodes/2.B3qXd01D.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/2.B3qXd01D.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/3.DuwUIVtX.js +7 -0
  41. package/build/client/_app/immutable/nodes/3.DuwUIVtX.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/3.DuwUIVtX.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/{4.Chs3ZlQq.js → 4.C0wscA_4.js} +1 -1
  44. package/build/client/_app/immutable/nodes/4.C0wscA_4.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/4.C0wscA_4.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/5.CWS-YJ56.js +1 -0
  47. package/build/client/_app/immutable/nodes/5.CWS-YJ56.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/5.CWS-YJ56.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/{6.2qXwWTTQ.js → 6.TEubHotu.js} +1 -1
  50. package/build/client/_app/immutable/nodes/6.TEubHotu.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/6.TEubHotu.js.gz +0 -0
  52. package/build/client/_app/version.json +1 -1
  53. package/build/client/_app/version.json.br +0 -0
  54. package/build/client/_app/version.json.gz +0 -0
  55. package/build/client/styles.css +24 -4
  56. package/build/client/styles.css.br +0 -0
  57. package/build/client/styles.css.gz +0 -0
  58. package/build/client/theme.css +1 -0
  59. package/build/client/theme.css.br +0 -0
  60. package/build/client/theme.css.gz +0 -0
  61. package/build/server/chunks/{0-B8fDicB8.js → 0-DJKsK7F_.js} +2 -2
  62. package/build/server/chunks/{0-B8fDicB8.js.map → 0-DJKsK7F_.js.map} +1 -1
  63. package/build/server/chunks/1-D4403Evz.js +9 -0
  64. package/build/server/chunks/{1-DgpDfXPt.js.map → 1-D4403Evz.js.map} +1 -1
  65. package/build/server/chunks/{2-CVTt4PZM.js → 2-fj0aW1I0.js} +2 -2
  66. package/build/server/chunks/{2-CVTt4PZM.js.map → 2-fj0aW1I0.js.map} +1 -1
  67. package/build/server/chunks/3-CCrTqwF9.js +13 -0
  68. package/build/server/chunks/{3-6GCmTvSE.js.map → 3-CCrTqwF9.js.map} +1 -1
  69. package/build/server/chunks/4-vjHkix88.js +9 -0
  70. package/build/server/chunks/{4-CTFpM_SP.js.map → 4-vjHkix88.js.map} +1 -1
  71. package/build/server/chunks/5-Dc6xvhmU.js +9 -0
  72. package/build/server/chunks/{5-BpCB8dc9.js.map → 5-Dc6xvhmU.js.map} +1 -1
  73. package/build/server/chunks/6-CvdeNFQU.js +9 -0
  74. package/build/server/chunks/{6-BcoKkoJ_.js.map → 6-CvdeNFQU.js.map} +1 -1
  75. package/build/server/chunks/FormDialog-CUzCwBFr.js +907 -0
  76. package/build/server/chunks/FormDialog-CUzCwBFr.js.map +1 -0
  77. package/build/server/chunks/{Logout-naelGSrR.js → Logout-48MBrG2s.js} +3 -3
  78. package/build/server/chunks/{Logout-naelGSrR.js.map → Logout-48MBrG2s.js.map} +1 -1
  79. package/build/server/chunks/_page.svelte-BHwIILw0.js +11 -0
  80. package/build/server/chunks/{_page.svelte-cU3u-tVN.js.map → _page.svelte-BHwIILw0.js.map} +1 -1
  81. package/build/server/chunks/_page.svelte-CNug2JTC.js +636 -0
  82. package/build/server/chunks/_page.svelte-CNug2JTC.js.map +1 -0
  83. package/build/server/chunks/{_page.svelte-oKnc0uuc.js → _page.svelte-DSnarRUI.js} +4 -4
  84. package/build/server/chunks/{_page.svelte-oKnc0uuc.js.map → _page.svelte-DSnarRUI.js.map} +1 -1
  85. package/build/server/chunks/{_page.svelte-Y6ezsJUw.js → _page.svelte-Yesd_T6C.js} +4 -4
  86. package/build/server/chunks/{_page.svelte-Y6ezsJUw.js.map → _page.svelte-Yesd_T6C.js.map} +1 -1
  87. package/build/server/chunks/{error.svelte-CZg-BdYa.js → error.svelte-DtpUafMU.js} +2 -2
  88. package/build/server/chunks/{error.svelte-CZg-BdYa.js.map → error.svelte-DtpUafMU.js.map} +1 -1
  89. package/build/server/chunks/{hooks.server-CFWOVtwo.js → hooks.server-BJTU7JI4.js} +35 -55
  90. package/build/server/chunks/hooks.server-BJTU7JI4.js.map +1 -0
  91. package/build/server/chunks/{index-CNBqpMEu.js → index-apo9QTc6.js} +10 -2
  92. package/build/server/chunks/index-apo9QTc6.js.map +1 -0
  93. package/build/server/chunks/{schemas-CQyMtwlx.js → index-iqDDeMM6.js} +1171 -1
  94. package/build/server/chunks/index-iqDDeMM6.js.map +1 -0
  95. package/build/server/chunks/{string-SLyGnEy-.js → string-DCbyDSv6.js} +59 -2
  96. package/build/server/chunks/string-DCbyDSv6.js.map +1 -0
  97. package/build/server/index.js +3 -3
  98. package/build/server/index.js.map +1 -1
  99. package/build/server/manifest.js +8 -8
  100. package/build/server/manifest.js.map +1 -1
  101. package/dist/api/users.js +3 -0
  102. package/dist/config.d.ts +6 -6
  103. package/package.json +3 -3
  104. package/routes/account/+page.svelte +6 -1
  105. package/build/client/_app/immutable/chunks/BK1-xGGj.js +0 -1
  106. package/build/client/_app/immutable/chunks/BK1-xGGj.js.br +0 -0
  107. package/build/client/_app/immutable/chunks/BK1-xGGj.js.gz +0 -0
  108. package/build/client/_app/immutable/chunks/BZOe2Jko.js.br +0 -0
  109. package/build/client/_app/immutable/chunks/BZOe2Jko.js.gz +0 -0
  110. package/build/client/_app/immutable/chunks/CV6aJBRA.js.br +0 -0
  111. package/build/client/_app/immutable/chunks/CV6aJBRA.js.gz +0 -0
  112. package/build/client/_app/immutable/chunks/CuRH3mnc.js.br +0 -0
  113. package/build/client/_app/immutable/chunks/CuRH3mnc.js.gz +0 -0
  114. package/build/client/_app/immutable/chunks/D3N9NXka.js.br +0 -0
  115. package/build/client/_app/immutable/chunks/D3N9NXka.js.gz +0 -0
  116. package/build/client/_app/immutable/chunks/DGhIdZ_j.js.br +0 -0
  117. package/build/client/_app/immutable/chunks/DGhIdZ_j.js.gz +0 -0
  118. package/build/client/_app/immutable/chunks/sfKJ2mhH.js.br +0 -0
  119. package/build/client/_app/immutable/chunks/sfKJ2mhH.js.gz +0 -0
  120. package/build/client/_app/immutable/chunks/uU8Mt6Mg.js +0 -1
  121. package/build/client/_app/immutable/chunks/uU8Mt6Mg.js.br +0 -0
  122. package/build/client/_app/immutable/chunks/uU8Mt6Mg.js.gz +0 -0
  123. package/build/client/_app/immutable/entry/app.D7YMAAqT.js.br +0 -0
  124. package/build/client/_app/immutable/entry/app.D7YMAAqT.js.gz +0 -0
  125. package/build/client/_app/immutable/entry/start.CCYA4gbZ.js +0 -1
  126. package/build/client/_app/immutable/entry/start.CCYA4gbZ.js.br +0 -2
  127. package/build/client/_app/immutable/entry/start.CCYA4gbZ.js.gz +0 -0
  128. package/build/client/_app/immutable/nodes/0.DuvLHQ5N.js.br +0 -0
  129. package/build/client/_app/immutable/nodes/0.DuvLHQ5N.js.gz +0 -0
  130. package/build/client/_app/immutable/nodes/1.B48R4hTL.js.br +0 -0
  131. package/build/client/_app/immutable/nodes/1.B48R4hTL.js.gz +0 -0
  132. package/build/client/_app/immutable/nodes/2.CiWhhaCq.js.br +0 -0
  133. package/build/client/_app/immutable/nodes/2.CiWhhaCq.js.gz +0 -0
  134. package/build/client/_app/immutable/nodes/3.jHOFxZjh.js +0 -7
  135. package/build/client/_app/immutable/nodes/3.jHOFxZjh.js.br +0 -0
  136. package/build/client/_app/immutable/nodes/3.jHOFxZjh.js.gz +0 -0
  137. package/build/client/_app/immutable/nodes/4.Chs3ZlQq.js.br +0 -0
  138. package/build/client/_app/immutable/nodes/4.Chs3ZlQq.js.gz +0 -0
  139. package/build/client/_app/immutable/nodes/5.eFtGuF8y.js +0 -1
  140. package/build/client/_app/immutable/nodes/5.eFtGuF8y.js.br +0 -2
  141. package/build/client/_app/immutable/nodes/5.eFtGuF8y.js.gz +0 -0
  142. package/build/client/_app/immutable/nodes/6.2qXwWTTQ.js.br +0 -0
  143. package/build/client/_app/immutable/nodes/6.2qXwWTTQ.js.gz +0 -0
  144. package/build/server/chunks/1-DgpDfXPt.js +0 -9
  145. package/build/server/chunks/3-6GCmTvSE.js +0 -13
  146. package/build/server/chunks/4-CTFpM_SP.js +0 -9
  147. package/build/server/chunks/5-BpCB8dc9.js +0 -9
  148. package/build/server/chunks/6-BcoKkoJ_.js +0 -9
  149. package/build/server/chunks/FormDialog-B3fXC6M4.js +0 -2065
  150. package/build/server/chunks/FormDialog-B3fXC6M4.js.map +0 -1
  151. package/build/server/chunks/_page.svelte-BLt1Vm33.js +0 -314
  152. package/build/server/chunks/_page.svelte-BLt1Vm33.js.map +0 -1
  153. package/build/server/chunks/_page.svelte-cU3u-tVN.js +0 -11
  154. package/build/server/chunks/hooks.server-CFWOVtwo.js.map +0 -1
  155. package/build/server/chunks/index-CNBqpMEu.js.map +0 -1
  156. package/build/server/chunks/schemas-CQyMtwlx.js.map +0 -1
  157. package/build/server/chunks/string-SLyGnEy-.js.map +0 -1
@@ -0,0 +1,636 @@
1
+ import { v as push, F as copy_payload, G as assign_payload, x as pop, J as ensure_array_like, K as head, N as attr, y as escape_html, O as stringify, P as css_props, Q as attr_style, T as spread_attributes, V as props_id, W as bind_props, X as maybe_selected } from './index-apo9QTc6.js';
2
+ import { g as getUserImage, F as FormDialog, p as preferenceSchemas, a as preferenceLabels, z as zIs, b as preferenceDefaults, d as deleteUser, u as updatePasskey, c as deletePasskey, l as logout, e as logoutAll, f as updateUser } from './FormDialog-CUzCwBFr.js';
3
+ import './index-iqDDeMM6.js';
4
+ import { g as getByString, p as pick } from './string-DCbyDSv6.js';
5
+ import { L as Logout } from './Logout-48MBrG2s.js';
6
+
7
+ const $$css$4 = {
8
+ hash: "svelte-1l501sr",
9
+ code: "svg.svelte-1l501sr {width:var(--size, 1em);height:var(--size, 1em);display:inline-block;fill:var(--fill, hsl(var(--hue) 0 var(--fg-light)));}"
10
+ };
11
+ function Icon($$payload, $$props) {
12
+ $$payload.css.add($$css$4);
13
+ push();
14
+ const { i, $$slots, $$events, ...rest } = $$props;
15
+ const [style, id] = i.includes("/") ? i.split("/") : ["solid", i];
16
+ const href = `/icons/${style}.svg#${id}`;
17
+ $$payload.out.push(`<svg${spread_attributes(
18
+ {
19
+ xmlns: "http://www.w3.org/2000/svg",
20
+ viewBox: "0 0 512 512",
21
+ width: "1em",
22
+ height: "1em",
23
+ ...rest
24
+ },
25
+ "svelte-1l501sr",
26
+ void 0,
27
+ void 0,
28
+ 3
29
+ )}><use${attr("href", href)}></use></svg>`);
30
+ pop();
31
+ }
32
+ const $$css$3 = {
33
+ hash: "svelte-g409dh",
34
+ code: "button.svelte-g409dh {position:relative;display:inline-block;width:1em;height:1em;border:none;background:transparent;}span.svelte-g409dh {position:absolute;inset:0;}"
35
+ };
36
+ function ClipboardCopy($$payload, $$props) {
37
+ $$payload.css.add($$css$3);
38
+ push();
39
+ $$payload.out.push(`<button class="svelte-g409dh">`);
40
+ {
41
+ $$payload.out.push("<!--[!-->");
42
+ $$payload.out.push(`<span class="svelte-g409dh">`);
43
+ Icon($$payload, { i: "copy" });
44
+ $$payload.out.push(`<!----></span>`);
45
+ }
46
+ $$payload.out.push(`<!--]--></button>`);
47
+ pop();
48
+ }
49
+ const $$css$2 = {
50
+ hash: "svelte-23hpnn",
51
+ code: "input[type='checkbox'].svelte-23hpnn {display:none;}label.checkbox.svelte-23hpnn {cursor:pointer;width:1.5em;height:1.5em;border:1px solid var(--border-accent);border-radius:0.5em;display:inline-flex;justify-content:center;align-items:center;}"
52
+ };
53
+ function Preference_1($$payload, $$props) {
54
+ $$payload.css.add($$css$2);
55
+ push();
56
+ const id = props_id($$payload);
57
+ let { preferences = void 0, userId, path, schema, optional = false } = $$props;
58
+ let checked = schema.def.type == "boolean" && getByString(preferences, path);
59
+ const initialValue = getByString(preferences, path) ?? getByString(preferenceDefaults, path);
60
+ function dateAttr(date, format) {
61
+ if (!date) return null;
62
+ const pad = (n) => String(n).padStart(2, "0");
63
+ const yyyy = date.getFullYear();
64
+ const mm = pad(date.getMonth() + 1);
65
+ const dd = pad(date.getDate());
66
+ const dateStr = `${yyyy}-${mm}-${dd}`;
67
+ const HH = pad(date.getHours());
68
+ const MM = pad(date.getMinutes());
69
+ const timeStr = `${HH}:${MM}`;
70
+ switch (format) {
71
+ case "date":
72
+ return dateStr;
73
+ case "time":
74
+ return timeStr;
75
+ case "time+sec":
76
+ return `${timeStr}:${pad(date.getSeconds())}`;
77
+ case "datetime":
78
+ default:
79
+ return `${dateStr}T${timeStr}`;
80
+ }
81
+ }
82
+ function _in($$payload2, rest) {
83
+ $$payload2.out.push(`<input${spread_attributes({ id, ...rest, value: initialValue, required: !optional }, "svelte-23hpnn")}/>`);
84
+ }
85
+ let $$settled = true;
86
+ let $$inner_payload;
87
+ function $$render_inner($$payload2) {
88
+ if (zIs(schema, "string")) {
89
+ $$payload2.out.push("<!--[-->");
90
+ _in($$payload2, {
91
+ type: schema.format == "email" ? "email" : "text",
92
+ ...pick(schema, "minLength", "maxLength")
93
+ });
94
+ } else {
95
+ $$payload2.out.push("<!--[!-->");
96
+ if (zIs(schema, "number")) {
97
+ $$payload2.out.push("<!--[-->");
98
+ _in($$payload2, {
99
+ type: "number",
100
+ min: schema.minValue,
101
+ max: schema.maxValue,
102
+ step: schema.format?.includes("int") ? 1 : 0.1
103
+ });
104
+ } else {
105
+ $$payload2.out.push("<!--[!-->");
106
+ if (zIs(schema, "bigint")) {
107
+ $$payload2.out.push("<!--[-->");
108
+ _in($$payload2, {
109
+ type: "number",
110
+ min: Number(schema.minValue),
111
+ max: Number(schema.maxValue),
112
+ step: 1
113
+ });
114
+ } else {
115
+ $$payload2.out.push("<!--[!-->");
116
+ if (zIs(schema, "boolean")) {
117
+ $$payload2.out.push("<!--[-->");
118
+ $$payload2.out.push(`<input${attr("checked", checked, true)}${attr("id", id)} type="checkbox"${attr("required", !optional, true)} class="svelte-23hpnn"/> <label${attr("for", id)} class="checkbox svelte-23hpnn">`);
119
+ if (checked) {
120
+ $$payload2.out.push("<!--[-->");
121
+ css_props($$payload2, true, { "--size": "1.3em" }, () => {
122
+ Icon($$payload2, { i: "check" });
123
+ });
124
+ } else {
125
+ $$payload2.out.push("<!--[!-->");
126
+ }
127
+ $$payload2.out.push(`<!--]--></label>`);
128
+ } else {
129
+ $$payload2.out.push("<!--[!-->");
130
+ if (zIs(schema, "date")) {
131
+ $$payload2.out.push("<!--[-->");
132
+ _in($$payload2, {
133
+ type: "date",
134
+ min: dateAttr(schema.minDate, "date"),
135
+ max: dateAttr(schema.maxDate, "date")
136
+ });
137
+ } else {
138
+ $$payload2.out.push("<!--[!-->");
139
+ if (zIs(schema, "file")) {
140
+ $$payload2.out.push("<!--[-->");
141
+ } else {
142
+ $$payload2.out.push("<!--[!-->");
143
+ if (zIs(schema, "literal")) {
144
+ $$payload2.out.push("<!--[-->");
145
+ const each_array = ensure_array_like(schema.values);
146
+ $$payload2.out.push(`<select${attr("id", id)}${attr("required", !optional, true)}><!--[-->`);
147
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
148
+ let value = each_array[$$index];
149
+ $$payload2.out.push(`<option${attr("value", value)}${maybe_selected($$payload2, value)}${attr("selected", initialValue === value, true)}>${escape_html(value)}</option>`);
150
+ }
151
+ $$payload2.out.push(`<!--]--></select>`);
152
+ } else {
153
+ $$payload2.out.push("<!--[!-->");
154
+ if (zIs(schema, "template_literal")) {
155
+ $$payload2.out.push("<!--[-->");
156
+ } else {
157
+ $$payload2.out.push("<!--[!-->");
158
+ if (zIs(schema, "nullable") || zIs(schema, "optional")) {
159
+ $$payload2.out.push("<!--[-->");
160
+ Preference_1($$payload2, {
161
+ userId,
162
+ path,
163
+ schema: schema.def.innerType,
164
+ optional: true,
165
+ get preferences() {
166
+ return preferences;
167
+ },
168
+ set preferences($$value) {
169
+ preferences = $$value;
170
+ $$settled = false;
171
+ }
172
+ });
173
+ } else {
174
+ $$payload2.out.push("<!--[!-->");
175
+ if (zIs(schema, "array")) {
176
+ $$payload2.out.push("<!--[-->");
177
+ const each_array_1 = ensure_array_like(initialValue);
178
+ $$payload2.out.push(`<div class="pref-sub"><!--[-->`);
179
+ for (let i = 0, $$length = each_array_1.length; i < $$length; i++) {
180
+ $$payload2.out.push(`<div class="pref-record-entry">`);
181
+ Preference_1($$payload2, {
182
+ userId,
183
+ path: `${stringify(path)}.${stringify(i)}`,
184
+ schema: schema.element,
185
+ get preferences() {
186
+ return preferences;
187
+ },
188
+ set preferences($$value) {
189
+ preferences = $$value;
190
+ $$settled = false;
191
+ }
192
+ });
193
+ $$payload2.out.push(`<!----></div>`);
194
+ }
195
+ $$payload2.out.push(`<!--]--></div>`);
196
+ } else {
197
+ $$payload2.out.push("<!--[!-->");
198
+ if (zIs(schema, "record")) {
199
+ $$payload2.out.push("<!--[-->");
200
+ const each_array_2 = ensure_array_like(Object.keys(initialValue));
201
+ $$payload2.out.push(`<div class="pref-sub"><!--[-->`);
202
+ for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {
203
+ let key = each_array_2[$$index_2];
204
+ $$payload2.out.push(`<div class="pref-record-entry"><label${attr("for", id)}>${escape_html(key)}</label> `);
205
+ Preference_1($$payload2, {
206
+ userId,
207
+ path: `${stringify(path)}.${stringify(key)}`,
208
+ schema: schema.valueType,
209
+ get preferences() {
210
+ return preferences;
211
+ },
212
+ set preferences($$value) {
213
+ preferences = $$value;
214
+ $$settled = false;
215
+ }
216
+ });
217
+ $$payload2.out.push(`<!----></div>`);
218
+ }
219
+ $$payload2.out.push(`<!--]--></div>`);
220
+ } else {
221
+ $$payload2.out.push("<!--[!-->");
222
+ if (zIs(schema, "object")) {
223
+ $$payload2.out.push("<!--[-->");
224
+ const each_array_3 = ensure_array_like(Object.entries(schema.shape));
225
+ $$payload2.out.push(`<!--[-->`);
226
+ for (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {
227
+ let [key, value] = each_array_3[$$index_3];
228
+ $$payload2.out.push(`<div class="pref-sub"><label${attr("for", id)}>${escape_html(key)}</label> `);
229
+ Preference_1($$payload2, {
230
+ userId,
231
+ path: `${stringify(path)}.${stringify(key)}`,
232
+ schema: value,
233
+ get preferences() {
234
+ return preferences;
235
+ },
236
+ set preferences($$value) {
237
+ preferences = $$value;
238
+ $$settled = false;
239
+ }
240
+ });
241
+ $$payload2.out.push(`<!----></div>`);
242
+ }
243
+ $$payload2.out.push(`<!--]-->`);
244
+ } else {
245
+ $$payload2.out.push("<!--[!-->");
246
+ if (zIs(schema, "tuple")) {
247
+ $$payload2.out.push("<!--[-->");
248
+ const each_array_4 = ensure_array_like(schema.def.items);
249
+ $$payload2.out.push(`<div class="pref-sub"${attr("data-rest", schema.def.rest)}><!--[-->`);
250
+ for (let i = 0, $$length = each_array_4.length; i < $$length; i++) {
251
+ let item = each_array_4[i];
252
+ Preference_1($$payload2, {
253
+ userId,
254
+ path: `${stringify(path)}.${stringify(i)}`,
255
+ schema: item,
256
+ get preferences() {
257
+ return preferences;
258
+ },
259
+ set preferences($$value) {
260
+ preferences = $$value;
261
+ $$settled = false;
262
+ }
263
+ });
264
+ }
265
+ $$payload2.out.push(`<!--]--></div>`);
266
+ } else {
267
+ $$payload2.out.push("<!--[!-->");
268
+ if (zIs(schema, "enum")) {
269
+ $$payload2.out.push("<!--[-->");
270
+ const each_array_5 = ensure_array_like(Object.entries(schema.enum));
271
+ $$payload2.out.push(`<select${attr("id", id)}${attr("required", !optional, true)}><!--[-->`);
272
+ for (let $$index_5 = 0, $$length = each_array_5.length; $$index_5 < $$length; $$index_5++) {
273
+ let [key, value] = each_array_5[$$index_5];
274
+ $$payload2.out.push(`<option${attr("value", value)}${maybe_selected($$payload2, value)}${attr("selected", initialValue === value, true)}>${escape_html(key)}</option>`);
275
+ }
276
+ $$payload2.out.push(`<!--]--></select>`);
277
+ } else {
278
+ $$payload2.out.push("<!--[!-->");
279
+ $$payload2.out.push(`<i class="error-text">Invalid preference type: ${escape_html(JSON.stringify(schema?.def?.type))}</i>`);
280
+ }
281
+ $$payload2.out.push(`<!--]-->`);
282
+ }
283
+ $$payload2.out.push(`<!--]-->`);
284
+ }
285
+ $$payload2.out.push(`<!--]-->`);
286
+ }
287
+ $$payload2.out.push(`<!--]-->`);
288
+ }
289
+ $$payload2.out.push(`<!--]-->`);
290
+ }
291
+ $$payload2.out.push(`<!--]-->`);
292
+ }
293
+ $$payload2.out.push(`<!--]-->`);
294
+ }
295
+ $$payload2.out.push(`<!--]-->`);
296
+ }
297
+ $$payload2.out.push(`<!--]-->`);
298
+ }
299
+ $$payload2.out.push(`<!--]-->`);
300
+ }
301
+ $$payload2.out.push(`<!--]-->`);
302
+ }
303
+ $$payload2.out.push(`<!--]-->`);
304
+ }
305
+ $$payload2.out.push(`<!--]-->`);
306
+ }
307
+ $$payload2.out.push(`<!--]-->`);
308
+ }
309
+ do {
310
+ $$settled = true;
311
+ $$inner_payload = copy_payload($$payload);
312
+ $$render_inner($$inner_payload);
313
+ } while (!$$settled);
314
+ assign_payload($$payload, $$inner_payload);
315
+ bind_props($$props, { preferences });
316
+ pop();
317
+ }
318
+ const $$css$1 = {
319
+ hash: "svelte-b9ddyh",
320
+ code: ".pref.svelte-b9ddyh {display:grid;grid-template-columns:1fr 1fr;gap:1em;}"
321
+ };
322
+ function Preferences($$payload, $$props) {
323
+ $$payload.css.add($$css$1);
324
+ push();
325
+ const id = props_id($$payload);
326
+ let { preferences = void 0, userId } = $$props;
327
+ let $$settled = true;
328
+ let $$inner_payload;
329
+ function $$render_inner($$payload2) {
330
+ const each_array = ensure_array_like(Object.keys(preferenceSchemas));
331
+ $$payload2.out.push(`<!--[-->`);
332
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
333
+ let path = each_array[$$index];
334
+ $$payload2.out.push(`<div class="pref svelte-b9ddyh"><label${attr("for", id)}>${escape_html(preferenceLabels[path])}</label> `);
335
+ Preference_1($$payload2, {
336
+ userId,
337
+ path,
338
+ schema: preferenceSchemas[path],
339
+ get preferences() {
340
+ return preferences;
341
+ },
342
+ set preferences($$value) {
343
+ preferences = $$value;
344
+ $$settled = false;
345
+ }
346
+ });
347
+ $$payload2.out.push(`<!----></div>`);
348
+ }
349
+ $$payload2.out.push(`<!--]-->`);
350
+ }
351
+ do {
352
+ $$settled = true;
353
+ $$inner_payload = copy_payload($$payload);
354
+ $$render_inner($$inner_payload);
355
+ } while (!$$settled);
356
+ assign_payload($$payload, $$inner_payload);
357
+ bind_props($$props, { preferences });
358
+ pop();
359
+ }
360
+ const $$css = {
361
+ hash: "svelte-c74k6c",
362
+ code: "#pfp-container.svelte-c74k6c {width:100px;height:100px;margin-top:3em;.MenuToggle {float:right;position:relative;top:-24px;}}#pfp.svelte-c74k6c {width:100px;height:100px;border-radius:50%;border:1px solid #8888;}.greeting.svelte-c74k6c {font-size:2em;}.signout.svelte-c74k6c {margin-top:2em;}.section.svelte-c74k6c {width:50%;padding-top:4em;\n\n /* This is causing duplicate separators when removing sessions/passkeys\n > div:has(+ div) {\n border-bottom: 1px solid #8888;\n }\n */}.section.svelte-c74k6c .item:where(.svelte-c74k6c) {display:grid;align-items:center;width:100%;gap:1em;text-wrap:nowrap;border-top:1px solid #8888;padding-bottom:1em;}.info.svelte-c74k6c {grid-template-columns:10em 1fr 2em;> :where(.svelte-c74k6c):first-child {margin-left:1em;}> :where(.svelte-c74k6c):nth-child(2) {text-overflow:ellipsis;overflow:hidden;}}.passkey.svelte-c74k6c {grid-template-columns:1em 1em 1fr 1fr 1em 1em;dfn:where(.svelte-c74k6c):not(.disabled) {cursor:help;}}.session.svelte-c74k6c {grid-template-columns:1fr 1fr 1fr 1em;.current:where(.svelte-c74k6c) {border-radius:2em;padding:0 0.5em;background-color:#337;}.elevated:where(.svelte-c74k6c) {border-radius:2em;padding:0 0.5em;background-color:#733;}}"
363
+ };
364
+ function _page($$payload, $$props) {
365
+ $$payload.css.add($$css);
366
+ push();
367
+ const { data } = $$props;
368
+ const { canVerify } = data;
369
+ const dialogs = {};
370
+ let currentSession = data.currentSession;
371
+ let user = data.user;
372
+ let passkeys = data.passkeys;
373
+ let sessions = data.sessions;
374
+ async function _editUser(data2) {
375
+ const result = await updateUser(user.id, data2);
376
+ user = result;
377
+ }
378
+ function action($$payload2, name, i = "pen") {
379
+ $$payload2.out.push(`<button class="svelte-c74k6c"${attr_style("", { display: "contents" })}>`);
380
+ css_props($$payload2, true, { "--size": "16px" }, () => {
381
+ Icon($$payload2, { i });
382
+ });
383
+ $$payload2.out.push(`</button>`);
384
+ }
385
+ let $$settled = true;
386
+ let $$inner_payload;
387
+ function $$render_inner($$payload2) {
388
+ const each_array = ensure_array_like(passkeys);
389
+ const each_array_1 = ensure_array_like(sessions);
390
+ head($$payload2, ($$payload3) => {
391
+ $$payload3.title = `<title>Account</title>`;
392
+ });
393
+ $$payload2.out.push(`<div class="Account flex-content"><div id="pfp-container" class="svelte-c74k6c"><img id="pfp"${attr("src", getUserImage(user))} alt="User profile" width="100px" height="100px" class="svelte-c74k6c"/></div> <p class="greeting svelte-c74k6c">Welcome, ${escape_html(user.name)}</p> <div class="section main svelte-c74k6c"><h3>Personal Information</h3> <div class="item info svelte-c74k6c"><p class="subtle svelte-c74k6c">Name</p> <p class="svelte-c74k6c">${escape_html(user.name)}</p> `);
394
+ action($$payload2);
395
+ $$payload2.out.push(`<!----></div> `);
396
+ FormDialog($$payload2, {
397
+ submit: _editUser,
398
+ submitText: "Change",
399
+ get dialog() {
400
+ return dialogs.edit_name;
401
+ },
402
+ set dialog($$value) {
403
+ dialogs.edit_name = $$value;
404
+ $$settled = false;
405
+ },
406
+ children: ($$payload3) => {
407
+ $$payload3.out.push(`<div><label for="name">What do you want to be called?</label> <input name="name" type="text"${attr("value", user.name || "")} required/></div>`);
408
+ },
409
+ $$slots: { default: true }
410
+ });
411
+ $$payload2.out.push(`<!----> <div class="item info svelte-c74k6c"><p class="subtle svelte-c74k6c">Email</p> <p class="svelte-c74k6c">${escape_html(user.email)} `);
412
+ if (user.emailVerified) {
413
+ $$payload2.out.push("<!--[-->");
414
+ $$payload2.out.push(`<dfn${attr("title", `Email verified on ${stringify(user.emailVerified.toLocaleDateString())}`)}>`);
415
+ Icon($$payload2, { i: "regular/circle-check" });
416
+ $$payload2.out.push(`<!----></dfn>`);
417
+ } else {
418
+ $$payload2.out.push("<!--[!-->");
419
+ if (canVerify) {
420
+ $$payload2.out.push("<!--[-->");
421
+ $$payload2.out.push(`<button>${escape_html("Verify")}</button>`);
422
+ } else {
423
+ $$payload2.out.push("<!--[!-->");
424
+ }
425
+ $$payload2.out.push(`<!--]-->`);
426
+ }
427
+ $$payload2.out.push(`<!--]--></p> `);
428
+ action($$payload2);
429
+ $$payload2.out.push(`<!----></div> `);
430
+ FormDialog($$payload2, {
431
+ submit: _editUser,
432
+ submitText: "Change",
433
+ get dialog() {
434
+ return dialogs.edit_email;
435
+ },
436
+ set dialog($$value) {
437
+ dialogs.edit_email = $$value;
438
+ $$settled = false;
439
+ },
440
+ children: ($$payload3) => {
441
+ $$payload3.out.push(`<div><label for="email">Email Address</label> <input name="email" type="email"${attr("value", user.email || "")} required/></div>`);
442
+ },
443
+ $$slots: { default: true }
444
+ });
445
+ $$payload2.out.push(`<!----> <div class="item info svelte-c74k6c"><p class="subtle svelte-c74k6c">User ID <dfn title="This is your UUID. It can't be changed.">`);
446
+ Icon($$payload2, { i: "regular/circle-info" });
447
+ $$payload2.out.push(`<!----></dfn></p> <p class="svelte-c74k6c">${escape_html(user.id)}</p> `);
448
+ css_props($$payload2, true, { "--size": "16px" }, () => {
449
+ ClipboardCopy($$payload2, { value: user.id });
450
+ });
451
+ $$payload2.out.push(`</div> <span><button class="signout svelte-c74k6c">Sign Out</button> <button class="danger"${attr_style("", { cursor: "pointer" })}>Delete Account</button> `);
452
+ Logout($$payload2, {
453
+ get dialog() {
454
+ return dialogs.logout;
455
+ },
456
+ set dialog($$value) {
457
+ dialogs.logout = $$value;
458
+ $$settled = false;
459
+ }
460
+ });
461
+ $$payload2.out.push(`<!----> `);
462
+ FormDialog($$payload2, {
463
+ submit: () => deleteUser(user.id).then(() => window.location.href = "/"),
464
+ submitText: "Delete Account",
465
+ submitDanger: true,
466
+ get dialog() {
467
+ return dialogs.delete;
468
+ },
469
+ set dialog($$value) {
470
+ dialogs.delete = $$value;
471
+ $$settled = false;
472
+ },
473
+ children: ($$payload3) => {
474
+ $$payload3.out.push(`<p>Are you sure you want to delete your account?<br/>This action can't be undone.</p>`);
475
+ },
476
+ $$slots: { default: true }
477
+ });
478
+ $$payload2.out.push(`<!----></span></div> <div class="section main svelte-c74k6c"><h3>Passkeys</h3> <!--[-->`);
479
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
480
+ let passkey = each_array[$$index];
481
+ $$payload2.out.push(`<div class="item passkey svelte-c74k6c"><dfn${attr("title", passkey.deviceType == "multiDevice" ? "Multiple devices" : "Single device")} class="svelte-c74k6c">`);
482
+ css_props($$payload2, true, { "--size": "16px" }, () => {
483
+ Icon($$payload2, {
484
+ i: passkey.deviceType == "multiDevice" ? "laptop-mobile" : "mobile"
485
+ });
486
+ });
487
+ $$payload2.out.push(`</dfn> <dfn${attr("title", `This passkey is ${stringify(passkey.backedUp ? "" : "not ")}backed up`)} class="svelte-c74k6c">`);
488
+ css_props($$payload2, true, { "--size": "16px" }, () => {
489
+ Icon($$payload2, { i: passkey.backedUp ? "circle-check" : "circle-xmark" });
490
+ });
491
+ $$payload2.out.push(`</dfn> `);
492
+ if (passkey.name) {
493
+ $$payload2.out.push("<!--[-->");
494
+ $$payload2.out.push(`<p>${escape_html(passkey.name)}</p>`);
495
+ } else {
496
+ $$payload2.out.push("<!--[!-->");
497
+ $$payload2.out.push(`<p class="subtle"><i>Unnamed</i></p>`);
498
+ }
499
+ $$payload2.out.push(`<!--]--> <p>Created ${escape_html(passkey.createdAt.toLocaleString())}</p> `);
500
+ action($$payload2, "edit_passkey#" + passkey.id);
501
+ $$payload2.out.push(`<!----> `);
502
+ if (passkeys.length > 1) {
503
+ $$payload2.out.push("<!--[-->");
504
+ action($$payload2, "delete_passkey#" + passkey.id, "trash");
505
+ } else {
506
+ $$payload2.out.push("<!--[!-->");
507
+ $$payload2.out.push(`<dfn title="You must have at least one passkey" class="disabled svelte-c74k6c">`);
508
+ css_props($$payload2, true, { "--fill": "#888", "--size": "16px" }, () => {
509
+ Icon($$payload2, { i: "trash-slash" });
510
+ });
511
+ $$payload2.out.push(`</dfn>`);
512
+ }
513
+ $$payload2.out.push(`<!--]--></div> `);
514
+ FormDialog($$payload2, {
515
+ submit: (data2) => {
516
+ if (typeof data2.name != "string") throw "Passkey name must be a string";
517
+ passkey.name = data2.name;
518
+ return updatePasskey(passkey.id, data2);
519
+ },
520
+ submitText: "Change",
521
+ get dialog() {
522
+ return dialogs["edit_passkey#" + passkey.id];
523
+ },
524
+ set dialog($$value) {
525
+ dialogs["edit_passkey#" + passkey.id] = $$value;
526
+ $$settled = false;
527
+ },
528
+ children: ($$payload3) => {
529
+ $$payload3.out.push(`<div><label for="name">Passkey Name</label> <input name="name" type="text"${attr("value", passkey.name || "")}/></div>`);
530
+ },
531
+ $$slots: { default: true }
532
+ });
533
+ $$payload2.out.push(`<!----> `);
534
+ FormDialog($$payload2, {
535
+ submit: () => deletePasskey(passkey.id).then(() => passkeys.splice(passkeys.indexOf(passkey), 1)),
536
+ submitText: "Delete",
537
+ submitDanger: true,
538
+ get dialog() {
539
+ return dialogs["delete_passkey#" + passkey.id];
540
+ },
541
+ set dialog($$value) {
542
+ dialogs["delete_passkey#" + passkey.id] = $$value;
543
+ $$settled = false;
544
+ },
545
+ children: ($$payload3) => {
546
+ $$payload3.out.push(`<p>Are you sure you want to delete this passkey?<br/>This action can't be undone.</p>`);
547
+ },
548
+ $$slots: { default: true }
549
+ });
550
+ $$payload2.out.push(`<!---->`);
551
+ }
552
+ $$payload2.out.push(`<!--]--> <span><button class="icon-text">`);
553
+ Icon($$payload2, { i: "plus" });
554
+ $$payload2.out.push(`<!----> Create</button></span></div> <div class="section main svelte-c74k6c"><h3>Sessions</h3> <!--[-->`);
555
+ for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
556
+ let session = each_array_1[$$index_1];
557
+ $$payload2.out.push(`<div class="item session svelte-c74k6c"><p>${escape_html(session.id.slice(0, 4))}...${escape_html(session.id.slice(-4))} `);
558
+ if (session.id == currentSession.id) {
559
+ $$payload2.out.push("<!--[-->");
560
+ $$payload2.out.push(`<span class="current svelte-c74k6c">Current</span>`);
561
+ } else {
562
+ $$payload2.out.push("<!--[!-->");
563
+ }
564
+ $$payload2.out.push(`<!--]--> `);
565
+ if (session.elevated) {
566
+ $$payload2.out.push("<!--[-->");
567
+ $$payload2.out.push(`<span class="elevated svelte-c74k6c">Elevated</span>`);
568
+ } else {
569
+ $$payload2.out.push("<!--[!-->");
570
+ }
571
+ $$payload2.out.push(`<!--]--></p> <p>Created ${escape_html(session.created.toLocaleString())}</p> <p>Expires ${escape_html(session.expires.toLocaleString())}</p> `);
572
+ action($$payload2, "logout#" + session.id, "right-from-bracket");
573
+ $$payload2.out.push(`<!----></div> `);
574
+ FormDialog($$payload2, {
575
+ submit: async () => {
576
+ await logout(user.id, session.id);
577
+ dialogs["logout#" + session.id].remove();
578
+ sessions.splice(sessions.indexOf(session), 1);
579
+ if (session.id == currentSession.id) window.location.href = "/";
580
+ },
581
+ submitText: "Logout",
582
+ get dialog() {
583
+ return dialogs["logout#" + session.id];
584
+ },
585
+ set dialog($$value) {
586
+ dialogs["logout#" + session.id] = $$value;
587
+ $$settled = false;
588
+ },
589
+ children: ($$payload3) => {
590
+ $$payload3.out.push(`<p>Are you sure you want to log out this session?</p>`);
591
+ },
592
+ $$slots: { default: true }
593
+ });
594
+ $$payload2.out.push(`<!---->`);
595
+ }
596
+ $$payload2.out.push(`<!--]--> <span><button class="danger">Logout All</button></span> `);
597
+ FormDialog($$payload2, {
598
+ submit: () => logoutAll(user.id).then(() => window.location.href = "/"),
599
+ submitText: "Logout All Sessions",
600
+ submitDanger: true,
601
+ get dialog() {
602
+ return dialogs["logout_all"];
603
+ },
604
+ set dialog($$value) {
605
+ dialogs["logout_all"] = $$value;
606
+ $$settled = false;
607
+ },
608
+ children: ($$payload3) => {
609
+ $$payload3.out.push(`<p>Are you sure you want to log out all sessions?</p>`);
610
+ },
611
+ $$slots: { default: true }
612
+ });
613
+ $$payload2.out.push(`<!----></div> <div class="section main svelte-c74k6c"><h3>Preferences</h3> `);
614
+ Preferences($$payload2, {
615
+ userId: user.id,
616
+ get preferences() {
617
+ return user.preferences;
618
+ },
619
+ set preferences($$value) {
620
+ user.preferences = $$value;
621
+ $$settled = false;
622
+ }
623
+ });
624
+ $$payload2.out.push(`<!----></div></div>`);
625
+ }
626
+ do {
627
+ $$settled = true;
628
+ $$inner_payload = copy_payload($$payload);
629
+ $$render_inner($$inner_payload);
630
+ } while (!$$settled);
631
+ assign_payload($$payload, $$inner_payload);
632
+ pop();
633
+ }
634
+
635
+ export { _page as default };
636
+ //# sourceMappingURL=_page.svelte-CNug2JTC.js.map