PWA
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m24s

This commit is contained in:
eewing
2026-02-19 07:41:49 -06:00
parent 5776a1fdb1
commit c0fae761da
10919 changed files with 874329 additions and 13511 deletions
+94 -4
View File
@@ -18,6 +18,14 @@
"_utils2.js"
]
},
"_card-title.js": {
"file": "chunks/card-title.js",
"name": "card-title",
"imports": [
"_index2.js",
"_utils2.js"
]
},
"_environment.js": {
"file": "chunks/environment.js",
"name": "environment"
@@ -76,6 +84,10 @@
"_utils.js"
]
},
"_sites.js": {
"file": "chunks/sites.js",
"name": "sites"
},
"_state.svelte.js": {
"file": "chunks/state.svelte.js",
"name": "state.svelte",
@@ -85,6 +97,10 @@
"_root.js"
]
},
"_user-from-record.js": {
"file": "chunks/user-from-record.js",
"name": "user-from-record"
},
"_utils.js": {
"file": "chunks/utils.js",
"name": "utils"
@@ -138,7 +154,10 @@
"name": "entries/hooks.server",
"src": "src/hooks.server.ts",
"isEntry": true,
"isDynamicEntry": true
"isDynamicEntry": true,
"imports": [
"_user-from-record.js"
]
},
"src/routes/+layout.server.ts": {
"file": "entries/pages/_layout.server.ts.js",
@@ -155,13 +174,15 @@
"_index2.js",
"_exports.js",
"_utils.js",
"_index.js",
"_root.js",
"_state.svelte.js",
"_utils2.js",
"_label.js"
"_label.js",
"_sites.js"
],
"css": [
"_app/immutable/assets/_layout.Dc5DVfXz.css"
"_app/immutable/assets/_layout.DrtJTkyF.css"
]
},
"src/routes/+page.svelte": {
@@ -170,6 +191,33 @@
"src": "src/routes/+page.svelte",
"isEntry": true,
"imports": [
"_index2.js",
"_button.js",
"_sites.js"
]
},
"src/routes/[site]/+layout.svelte": {
"file": "entries/pages/_site_/_layout.svelte.js",
"name": "entries/pages/_site_/_layout.svelte",
"src": "src/routes/[site]/+layout.svelte",
"isEntry": true
},
"src/routes/[site]/+page.server.ts": {
"file": "entries/pages/_site_/_page.server.ts.js",
"name": "entries/pages/_site_/_page.server.ts",
"src": "src/routes/[site]/+page.server.ts",
"isEntry": true,
"imports": [
"_sites.js"
]
},
"src/routes/[site]/+page.svelte": {
"file": "entries/pages/_site_/_page.svelte.js",
"name": "entries/pages/_site_/_page.svelte",
"src": "src/routes/[site]/+page.svelte",
"isEntry": true,
"imports": [
"_index2.js",
"_button.js"
]
},
@@ -198,7 +246,8 @@
"_state.svelte.js",
"_button.js",
"_utils2.js",
"_label.js"
"_label.js",
"_card-title.js"
]
},
"src/routes/logout/+page.server.ts": {
@@ -220,5 +269,46 @@
"_state.svelte.js",
"_button.js"
]
},
"src/routes/users/+page.server.ts": {
"file": "entries/pages/users/_page.server.ts.js",
"name": "entries/pages/users/_page.server.ts",
"src": "src/routes/users/+page.server.ts",
"isEntry": true,
"imports": [
"_user-from-record.js"
]
},
"src/routes/users/+page.svelte": {
"file": "entries/pages/users/_page.svelte.js",
"name": "entries/pages/users/_page.svelte",
"src": "src/routes/users/+page.svelte",
"isEntry": true,
"imports": [
"_index2.js",
"_card-title.js",
"_utils2.js",
"_button.js"
]
},
"src/routes/users/[id]/+page.server.ts": {
"file": "entries/pages/users/_id_/_page.server.ts.js",
"name": "entries/pages/users/_id_/_page.server.ts",
"src": "src/routes/users/[id]/+page.server.ts",
"isEntry": true,
"imports": [
"_user-from-record.js"
]
},
"src/routes/users/[id]/+page.svelte": {
"file": "entries/pages/users/_id_/_page.svelte.js",
"name": "entries/pages/users/_id_/_page.svelte",
"src": "src/routes/users/[id]/+page.svelte",
"isEntry": true,
"imports": [
"_index2.js",
"_card-title.js",
"_button.js"
]
}
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,4 +1,4 @@
import { b as attributes, j as clsx, c as bind_props } from "./index2.js";
import { b as attributes, o as clsx, c as bind_props } from "./index2.js";
import { c as cn } from "./utils2.js";
import { tv } from "tailwind-variants";
const buttonVariants = tv({
@@ -0,0 +1,109 @@
import { b as attributes, o as clsx, c as bind_props } from "./index2.js";
import { c as cn } from "./utils2.js";
function Card($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
ref = null,
class: className,
children,
$$slots,
$$events,
...restProps
} = $$props;
$$renderer2.push(`<div${attributes({
"data-slot": "card",
class: clsx(cn("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm", className)),
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></div>`);
bind_props($$props, { ref });
});
}
function Card_content($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
ref = null,
class: className,
children,
$$slots,
$$events,
...restProps
} = $$props;
$$renderer2.push(`<div${attributes({
"data-slot": "card-content",
class: clsx(cn("px-6", className)),
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></div>`);
bind_props($$props, { ref });
});
}
function Card_description($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
ref = null,
class: className,
children,
$$slots,
$$events,
...restProps
} = $$props;
$$renderer2.push(`<p${attributes({
"data-slot": "card-description",
class: clsx(cn("text-muted-foreground text-sm", className)),
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></p>`);
bind_props($$props, { ref });
});
}
function Card_header($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
ref = null,
class: className,
children,
$$slots,
$$events,
...restProps
} = $$props;
$$renderer2.push(`<div${attributes({
"data-slot": "card-header",
class: clsx(cn("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6", className)),
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></div>`);
bind_props($$props, { ref });
});
}
function Card_title($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
ref = null,
class: className,
children,
$$slots,
$$events,
...restProps
} = $$props;
$$renderer2.push(`<div${attributes({
"data-slot": "card-title",
class: clsx(cn("leading-none font-semibold", className)),
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></div>`);
bind_props($$props, { ref });
});
}
export {
Card as C,
Card_header as a,
Card_title as b,
Card_description as c,
Card_content as d
};
+21 -1
View File
@@ -1,6 +1,20 @@
import { n as noop } from "./index2.js";
import { s as safe_not_equal } from "./root.js";
import { u as untrack, s as safe_not_equal } from "./root.js";
import "clsx";
function subscribe_to_store(store, run, invalidate) {
if (store == null) {
run(void 0);
return noop;
}
const unsub = untrack(
() => store.subscribe(
run,
// @ts-expect-error
invalidate
)
);
return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;
}
const subscriber_queue = [];
function readable(value, start) {
return {
@@ -54,7 +68,13 @@ function writable(value, start = noop) {
}
return { set, update, subscribe };
}
function get(store) {
let value;
subscribe_to_store(store, (_) => value = _)();
return value;
}
export {
get as g,
readable as r,
writable as w
};
+72 -52
View File
@@ -271,6 +271,7 @@ function to_style(value, styles) {
}
const BLOCK_OPEN = `<!--${HYDRATION_START}-->`;
const BLOCK_CLOSE = `<!--${HYDRATION_END}-->`;
const EMPTY_COMMENT = `<!---->`;
let controller = null;
function abort() {
controller?.abort(STALE_REACTION);
@@ -444,10 +445,10 @@ class Renderer {
* @param {(renderer: Renderer) => void} fn
*/
head(fn) {
const head = new Renderer(this.global, this);
head.type = "head";
this.#out.push(head);
head.child(fn);
const head2 = new Renderer(this.global, this);
head2.type = "head";
this.#out.push(head2);
head2.child(fn);
}
/**
* @param {Array<Promise<void>>} blockers
@@ -581,7 +582,7 @@ class Renderer {
*/
option(attrs, body, css_hash, classes, styles, flags, is_rich) {
this.#out.push(`<option${attributes(attrs, css_hash, classes, styles, flags)}`);
const close = (renderer, value, { head, body: body2 }) => {
const close = (renderer, value, { head: head2, body: body2 }) => {
if (has_own_property.call(attrs, "value")) {
value = attrs.value;
}
@@ -589,8 +590,8 @@ class Renderer {
renderer.#out.push(' selected=""');
}
renderer.#out.push(`>${body2}${is_rich ? "<!>" : ""}</option>`);
if (head) {
renderer.head((child) => child.push(head));
if (head2) {
renderer.head((child) => child.push(head2));
}
};
if (typeof body === "function") {
@@ -615,8 +616,8 @@ class Renderer {
*/
title(fn) {
const path = this.get_path();
const close = (head) => {
this.global.set_title(head, path);
const close = (head2) => {
this.global.set_title(head2, path);
};
this.child((renderer) => {
const r = new Renderer(renderer.global, renderer);
@@ -901,13 +902,13 @@ class Renderer {
for (const cleanup of renderer.#collect_on_destroy()) {
cleanup();
}
let head = content.head + renderer.global.get_title();
let head2 = content.head + renderer.global.get_title();
let body = content.body;
for (const { hash, code } of renderer.global.css) {
head += `<style id="${hash}">${code}</style>`;
head2 += `<style id="${hash}">${code}</style>`;
}
return {
head,
head: head2,
body,
hashes: {
script: renderer.global.csp.script_hashes
@@ -1011,6 +1012,13 @@ function render(component, options = {}) {
options
);
}
function head(hash, renderer, fn) {
renderer.head((renderer2) => {
renderer2.push(`<!--${hash}-->`);
renderer2.child(fn);
renderer2.push(EMPTY_COMMENT);
});
}
function attributes(attrs, css_hash, classes, styles, flags = 0) {
if (styles) {
attrs.style = to_style(attrs.style, styles);
@@ -1062,6 +1070,9 @@ function spread_props(props) {
}
return merged_props;
}
function stringify(value) {
return typeof value === "string" ? value : value == null ? "" : value + "";
}
function bind_props(props_parent, props_now) {
for (const key of Object.keys(props_now)) {
const initial_value = props_parent[key];
@@ -1071,6 +1082,12 @@ function bind_props(props_parent, props_now) {
}
}
}
function ensure_array_like(array_like_or_iterator) {
if (array_like_or_iterator) {
return array_like_or_iterator.length !== void 0 ? array_like_or_iterator : Array.from(array_like_or_iterator);
}
return [];
}
function once(get_value) {
let value = (
/** @type {V} */
@@ -1100,67 +1117,70 @@ function derived(fn) {
};
}
export {
is_array as $,
array_prototype as $,
ATTACHMENT_KEY as A,
BOUNDARY_EFFECT as B,
COMMENT_NODE as C,
DIRTY as D,
ERROR_VALUE as E,
ROOT_EFFECT as F,
RENDER_EFFECT as G,
BLOCK_EFFECT as F,
deferred as G,
HYDRATION_ERROR as H,
INERT as I,
MANAGED_EFFECT as J,
HEAD_EFFECT as K,
DESTROYED as L,
BRANCH_EFFECT as J,
ROOT_EFFECT as K,
RENDER_EFFECT as L,
MAYBE_DIRTY as M,
ASYNC as N,
includes as O,
EFFECT_TRANSPARENT as P,
EFFECT_PRESERVED as Q,
MANAGED_EFFECT as N,
HEAD_EFFECT as O,
DESTROYED as P,
ASYNC as Q,
REACTION_RAN as R,
STALE_REACTION as S,
EAGER_EFFECT as T,
includes as S,
EFFECT_TRANSPARENT as T,
UNINITIALIZED as U,
STATE_SYMBOL as V,
EFFECT_PRESERVED as V,
WAS_MARKED as W,
object_prototype as X,
array_prototype as Y,
get_descriptor as Z,
get_prototype_of as _,
STALE_REACTION as X,
EAGER_EFFECT as Y,
STATE_SYMBOL as Z,
object_prototype as _,
getAllContexts as a,
is_extensible as a0,
USER_EFFECT as a1,
REACTION_IS_UPDATING as a2,
index_of as a3,
define_property as a4,
array_from as a5,
is_passive_event as a6,
LEGACY_PROPS as a7,
render as a8,
get_descriptor as a0,
get_prototype_of as a1,
is_array as a2,
is_extensible as a3,
USER_EFFECT as a4,
REACTION_IS_UPDATING as a5,
index_of as a6,
define_property as a7,
array_from as a8,
is_passive_event as a9,
LEGACY_PROPS as aa,
render as ab,
attributes as b,
bind_props as c,
derived as d,
spread_props as e,
escape_html as f,
head as f,
getContext as g,
hasContext as h,
attr as i,
clsx as j,
HYDRATION_END as k,
escape_html as i,
ensure_array_like as j,
attr as k,
lifecycle_function_unavailable as l,
HYDRATION_START as m,
stringify as m,
noop as n,
HYDRATION_START_ELSE as o,
clsx as o,
props_id as p,
run_all as q,
HYDRATION_END as q,
run as r,
setContext as s,
EFFECT as t,
CONNECTED as u,
CLEAN as v,
DERIVED as w,
BLOCK_EFFECT as x,
deferred as y,
BRANCH_EFFECT as z
HYDRATION_START as t,
HYDRATION_START_ELSE as u,
run_all as v,
EFFECT as w,
CONNECTED as x,
CLEAN as y,
DERIVED as z
};
+3 -3
View File
@@ -27,9 +27,9 @@ const options = {
preload_strategy: "modulepreload",
root,
service_worker: false,
service_worker_options: void 0,
service_worker_options: null,
templates: {
app: ({ head, body, assets, nonce, env }) => '<!DOCTYPE html>\n<html lang="en">\n <head>\n <meta charset="utf-8" />\n <link rel="icon" href="' + assets + '/favicon.png" />\n <meta name="viewport" content="width=device-width, initial-scale=1" />\n ' + head + '\n </head>\n <body data-sveltekit-preload-data="hover">\n <div style="display: contents">' + body + "</div>\n </body>\n</html>\n",
app: ({ head, body, assets, nonce, env }) => '<!DOCTYPE html>\n<html lang="en">\n <head>\n <meta charset="utf-8" />\n <link rel="icon" href="' + assets + '/favicon.png" />\n <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=5, viewport-fit=cover" />\n ' + head + '\n </head>\n <body data-sveltekit-preload-data="hover">\n <div style="display: contents">' + body + "</div>\n </body>\n</html>\n",
error: ({ status, message }) => '<!doctype html>\n<html lang="en">\n <head>\n <meta charset="utf-8" />\n <title>' + message + `</title>
<style>
@@ -101,7 +101,7 @@ const options = {
<div class="error">
<span class="status">` + status + '</span>\n <div class="message">\n <h1>' + message + "</h1>\n </div>\n </div>\n </body>\n</html>\n"
},
version_hash: "tyxfvh"
version_hash: "x0o6jd"
};
async function get_hooks() {
let handle;
+30 -7
View File
@@ -1,4 +1,4 @@
import { H as HYDRATION_ERROR, C as COMMENT_NODE, k as HYDRATION_END, m as HYDRATION_START, o as HYDRATION_START_ELSE, q as run_all, B as BOUNDARY_EFFECT, R as REACTION_RAN, E as ERROR_VALUE, t as EFFECT, u as CONNECTED, v as CLEAN, M as MAYBE_DIRTY, D as DIRTY, w as DERIVED, W as WAS_MARKED, I as INERT, x as BLOCK_EFFECT, U as UNINITIALIZED, y as deferred, z as BRANCH_EFFECT, F as ROOT_EFFECT, G as RENDER_EFFECT, J as MANAGED_EFFECT, K as HEAD_EFFECT, L as DESTROYED, N as ASYNC, O as includes, P as EFFECT_TRANSPARENT, Q as EFFECT_PRESERVED, S as STALE_REACTION, n as noop, T as EAGER_EFFECT, V as STATE_SYMBOL, X as object_prototype, Y as array_prototype, Z as get_descriptor, _ as get_prototype_of, $ as is_array, a0 as is_extensible, a1 as USER_EFFECT, a2 as REACTION_IS_UPDATING, a3 as index_of, a4 as define_property, a5 as array_from, a6 as is_passive_event, a7 as LEGACY_PROPS, a8 as render, s as setContext } from "./index2.js";
import { H as HYDRATION_ERROR, C as COMMENT_NODE, q as HYDRATION_END, t as HYDRATION_START, u as HYDRATION_START_ELSE, v as run_all, B as BOUNDARY_EFFECT, R as REACTION_RAN, E as ERROR_VALUE, w as EFFECT, x as CONNECTED, y as CLEAN, M as MAYBE_DIRTY, D as DIRTY, z as DERIVED, W as WAS_MARKED, I as INERT, F as BLOCK_EFFECT, U as UNINITIALIZED, G as deferred, J as BRANCH_EFFECT, K as ROOT_EFFECT, L as RENDER_EFFECT, N as MANAGED_EFFECT, O as HEAD_EFFECT, P as DESTROYED, Q as ASYNC, S as includes, T as EFFECT_TRANSPARENT, V as EFFECT_PRESERVED, X as STALE_REACTION, n as noop, Y as EAGER_EFFECT, Z as STATE_SYMBOL, _ as object_prototype, $ as array_prototype, a0 as get_descriptor, a1 as get_prototype_of, a2 as is_array, a3 as is_extensible, a4 as USER_EFFECT, a5 as REACTION_IS_UPDATING, a6 as index_of, a7 as define_property, a8 as array_from, a9 as is_passive_event, aa as LEGACY_PROPS, ab as render, s as setContext } from "./index2.js";
import { b as browser } from "./false.js";
import "clsx";
function equals(value) {
@@ -2597,7 +2597,8 @@ function Root($$renderer, $$props) {
components = [],
form,
data_0 = null,
data_1 = null
data_1 = null,
data_2 = null
} = $$props;
{
setContext("__svelte__", stores);
@@ -2605,7 +2606,7 @@ function Root($$renderer, $$props) {
{
stores.page.set(page);
}
const Pyramid_1 = constructors[1];
const Pyramid_2 = constructors[2];
if (constructors[1]) {
$$renderer2.push("<!--[-->");
const Pyramid_0 = constructors[0];
@@ -2615,9 +2616,30 @@ function Root($$renderer, $$props) {
form,
params: page.params,
children: ($$renderer3) => {
$$renderer3.push("<!---->");
Pyramid_1?.($$renderer3, { data: data_1, form, params: page.params });
$$renderer3.push(`<!---->`);
if (constructors[2]) {
$$renderer3.push("<!--[-->");
const Pyramid_1 = constructors[1];
$$renderer3.push("<!---->");
Pyramid_1?.($$renderer3, {
data: data_1,
form,
params: page.params,
children: ($$renderer4) => {
$$renderer4.push("<!---->");
Pyramid_2?.($$renderer4, { data: data_2, form, params: page.params });
$$renderer4.push(`<!---->`);
},
$$slots: { default: true }
});
$$renderer3.push(`<!---->`);
} else {
$$renderer3.push("<!--[!-->");
const Pyramid_1 = constructors[1];
$$renderer3.push("<!---->");
Pyramid_1?.($$renderer3, { data: data_1, form, params: page.params });
$$renderer3.push(`<!---->`);
}
$$renderer3.push(`<!--]-->`);
},
$$slots: { default: true }
});
@@ -2640,5 +2662,6 @@ const root = asClassComponent(Root);
export {
on as o,
root as r,
safe_not_equal as s
safe_not_equal as s,
untrack as u
};
+23
View File
@@ -0,0 +1,23 @@
const sites = {
prism: {
url: "https://prism.ccllc.pro",
title: "Prism"
},
tasgrid: {
url: "https://tasgrid.ccllc.pro",
title: "TasGrid"
},
stackq: {
url: "https://stackq.ccllc.pro",
title: "Stackq"
},
hrm: {
url: "https://hrm.ccllc.pro",
title: "HRM"
}
};
const siteSlugs = Object.keys(sites);
export {
sites as a,
siteSlugs as s
};
@@ -0,0 +1,23 @@
function bool(r, ...keys) {
for (const k of keys) {
const v = r[k];
if (v === true || v === "true") return true;
}
return false;
}
function mapUserRecord(r) {
return {
id: r.id,
email: r.email,
name: r.name,
avatar: r.avatar,
darkmode: bool(r, "darkmode"),
prism: bool(r, "PRISM", "prism", "Prism"),
tasgrid: bool(r, "TasGrid", "tasgrid"),
stackq: bool(r, "Stackq", "stackq"),
hrm: bool(r, "HRM", "hrm", "Hrm")
};
}
export {
mapUserRecord as m
};
@@ -1,4 +1,4 @@
import { g as getContext, f as escape_html } from "../../chunks/index2.js";
import { g as getContext, i as escape_html } from "../../chunks/index2.js";
import "clsx";
import "../../chunks/state.svelte.js";
import "@sveltejs/kit/internal";
@@ -1,5 +1,6 @@
import { redirect } from "@sveltejs/kit";
import PocketBase from "pocketbase";
import { m as mapUserRecord } from "../chunks/user-from-record.js";
const POCKETBASE_URL = process.env.VITE_POCKETBASE_URL ?? "https://pocketbase.ccllc.pro";
const LOGIN_PATH = "/login";
const LOGOUT_PATH = "/logout";
@@ -17,13 +18,16 @@ const handle = async ({ event, resolve }) => {
event.locals.pb.authStore.clear();
}
const record = event.locals.pb.authStore.record;
event.locals.user = record ? {
id: record.id,
email: record.email,
name: record.name,
avatar: record.avatar,
darkmode: !!record.darkmode
} : null;
if (!record) {
event.locals.user = null;
} else {
try {
const full = await event.locals.pb.collection("users").getOne(record.id);
event.locals.user = mapUserRecord(full);
} catch {
event.locals.user = mapUserRecord(record);
}
}
if (!event.locals.user && !isPublicRoute(event.url.pathname)) {
const redirectTo = event.url.pathname + event.url.search;
const loginUrl = redirectTo && redirectTo !== "/" ? `${LOGIN_PATH}?redirectTo=${encodeURIComponent(redirectTo)}` : LOGIN_PATH;
@@ -1,15 +1,22 @@
import { l as lifecycle_function_unavailable, h as hasContext, g as getContext, s as setContext, d as derived, a as getAllContexts, p as props_id, b as attributes, c as bind_props, e as spread_props, f as escape_html } from "../../chunks/index2.js";
import "clsx";
import { l as lifecycle_function_unavailable, g as getContext, h as hasContext, s as setContext, d as derived, a as getAllContexts, p as props_id, b as attributes, c as bind_props, e as spread_props, f as head, i as escape_html } from "../../chunks/index2.js";
import "@sveltejs/kit/internal";
import "../../chunks/exports.js";
import "../../chunks/utils.js";
import { g as get$2 } from "../../chunks/index.js";
import "@sveltejs/kit/internal/server";
import { o as on } from "../../chunks/root.js";
import "../../chunks/state.svelte.js";
import "clsx";
import { c as cn } from "../../chunks/utils2.js";
import { i as isWritableSymbol, B as BoxSymbol, b as boxFrom, a as boxWith, c as boxFlatten, t as toReadonlyBox, d as isBox, e as isWritableBox, s as styleToString, f as isObject, g as executeCallbacks, h as attachRef, j as createBitsAttrs, k as getDataOpenClosed, l as boolToEmptyStrOrUndef, m as boolToStr, n as simpleBox, o as composeHandlers, p as createId, q as mergeProps, r as cssToStyleObj, u as getDataChecked, v as getAriaChecked, w as boolToTrueOrUndef, L as Label } from "../../chunks/label.js";
import { isTabbable, tabbable, isFocusable, focusable } from "tabbable";
import { computePosition, offset, shift, limitShift, flip, size, arrow, hide } from "@floating-ui/dom";
import { s as siteSlugs } from "../../chunks/sites.js";
function html(value) {
var html2 = String(value);
var open = "<!---->";
return open + html2 + "<!---->";
}
function mount() {
lifecycle_function_unavailable("mount");
}
@@ -18,6 +25,27 @@ function unmount() {
}
async function tick() {
}
const getStores = () => {
const stores$1 = getContext("__svelte__");
return {
/** @type {typeof page} */
page: {
subscribe: stores$1.page.subscribe
},
/** @type {typeof navigating} */
navigating: {
subscribe: stores$1.navigating.subscribe
},
/** @type {typeof updated} */
updated: stores$1.updated
};
};
const page = {
subscribe(fn) {
const store = getStores().page;
return store.subscribe(fn);
}
};
function box(initialValue) {
let current = initialValue;
return {
@@ -2219,6 +2247,50 @@ class AvatarRootState {
return this.#props($$value);
}
}
class AvatarImageState {
static create(opts) {
return new AvatarImageState(opts, AvatarRootContext.get());
}
opts;
root;
attachment;
constructor(opts, root) {
this.opts = opts;
this.root = root;
this.attachment = attachRef(this.opts.ref);
watch.pre(
[
() => this.opts.src.current,
() => this.opts.crossOrigin.current
],
([src, crossOrigin]) => {
if (!src) {
this.root.opts.loadingStatus.current = "error";
return;
}
this.root.loadImage(src, crossOrigin, this.opts.referrerPolicy.current);
}
);
}
#props = derived(() => ({
id: this.opts.id.current,
style: {
display: this.root.opts.loadingStatus.current === "loaded" ? "block" : "none"
},
"data-status": this.root.opts.loadingStatus.current,
[avatarAttrs.image]: "",
src: this.opts.src.current,
crossorigin: this.opts.crossOrigin.current,
referrerpolicy: this.opts.referrerPolicy.current,
...this.attachment
}));
get props() {
return this.#props();
}
set props($$value) {
return this.#props($$value);
}
}
class AvatarFallbackState {
static create(opts) {
return new AvatarFallbackState(opts, AvatarRootContext.get());
@@ -2292,6 +2364,40 @@ function Avatar$1($$renderer, $$props) {
bind_props($$props, { loadingStatus, ref });
});
}
function Avatar_image$1($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
const uid = props_id($$renderer2);
let {
src,
child,
id = createId(uid),
ref = null,
crossorigin = void 0,
referrerpolicy = void 0,
$$slots,
$$events,
...restProps
} = $$props;
const imageState = AvatarImageState.create({
src: boxWith(() => src),
id: boxWith(() => id),
ref: boxWith(() => ref, (v) => ref = v),
crossOrigin: boxWith(() => crossorigin),
referrerPolicy: boxWith(() => referrerpolicy)
});
const mergedProps = mergeProps(restProps, imageState.props);
if (child) {
$$renderer2.push("<!--[-->");
child($$renderer2, { props: mergedProps });
$$renderer2.push(`<!---->`);
} else {
$$renderer2.push("<!--[!-->");
$$renderer2.push(`<img${attributes({ ...mergedProps, src })} onload="this.__e=event" onerror="this.__e=event"/>`);
}
$$renderer2.push(`<!--]-->`);
bind_props($$props, { ref });
});
}
function Avatar_fallback$1($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
const uid = props_id($$renderer2);
@@ -3644,6 +3750,46 @@ function Avatar($$renderer, $$props) {
bind_props($$props, { ref, loadingStatus });
});
}
function Avatar_image($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
ref = null,
class: className,
$$slots,
$$events,
...restProps
} = $$props;
let $$settled = true;
let $$inner_renderer;
function $$render_inner($$renderer3) {
$$renderer3.push("<!---->");
Avatar_image$1?.($$renderer3, spread_props([
{
"data-slot": "avatar-image",
class: cn("aspect-square size-full", className)
},
restProps,
{
get ref() {
return ref;
},
set ref($$value) {
ref = $$value;
$$settled = false;
}
}
]));
$$renderer3.push(`<!---->`);
}
do {
$$settled = true;
$$inner_renderer = $$renderer2.copy();
$$render_inner($$inner_renderer);
} while (!$$settled);
$$renderer2.subsume($$inner_renderer);
bind_props($$props, { ref });
});
}
function Avatar_fallback($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
@@ -3899,31 +4045,44 @@ function Switch($$renderer, $$props) {
bind_props($$props, { ref, checked });
});
}
const pwaInfo = { "webManifest": { "linkTag": '<link rel="manifest" href="/manifest.webmanifest">' } };
function _layout($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let { data, children } = $$props;
let pathname = get$2(page).url.pathname;
const isSiteRoute = siteSlugs.includes(pathname.slice(1).split("/")[0] ?? "");
let darkmode = false;
let onDarkmodeChange = () => {
};
head("12qhfyh", $$renderer2, ($$renderer3) => {
{
$$renderer3.push("<!--[-->");
$$renderer3.push(`${html(pwaInfo.webManifest.linkTag)}`);
}
$$renderer3.push(`<!--]-->`);
});
$$renderer2.push(`<div class="app-shell">`);
if (data.user) {
if (data.user && !isSiteRoute) {
$$renderer2.push("<!--[-->");
$$renderer2.push(`<header class="flex items-center justify-between w-full"><h1 class="text-lg font-semibold">Base</h1> `);
$$renderer2.push(`<header class="fixed right-0 top-0 z-50 flex items-center gap-2 p-2 pr-[max(0.5rem,env(safe-area-inset-right))] pt-[max(0.5rem,env(safe-area-inset-top))]" aria-label="User menu">`);
$$renderer2.push("<!---->");
Dropdown_menu?.($$renderer2, {
children: ($$renderer3) => {
$$renderer3.push("<!---->");
Dropdown_menu_trigger?.($$renderer3, {
class: "rounded-full border border-input bg-background hover:bg-accent",
class: "border-0 bg-transparent hover:bg-muted inline-flex size-10 shrink-0 items-center justify-center rounded-full focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",
onclick: (e) => e.preventDefault(),
children: ($$renderer4) => {
$$renderer4.push("<!---->");
Avatar?.($$renderer4, {
class: "h-8 w-8",
class: "size-10 rounded-full",
children: ($$renderer5) => {
$$renderer5.push("<!---->");
Avatar_image?.($$renderer5, { src: data.user.avatar, alt: "" });
$$renderer5.push(`<!----> `);
$$renderer5.push("<!---->");
Avatar_fallback?.($$renderer5, {
class: "text-xs",
class: "bg-muted text-muted-foreground flex size-10 items-center justify-center rounded-full text-sm font-medium",
children: ($$renderer6) => {
$$renderer6.push(`<!---->${escape_html(data.user.name ? String(data.user.name).slice(0, 2).toUpperCase() : data.user.email ? String(data.user.email).slice(0, 2).toUpperCase() : "?")}`);
},
@@ -3941,7 +4100,7 @@ function _layout($$renderer, $$props) {
$$renderer3.push("<!---->");
Dropdown_menu_content?.($$renderer3, {
align: "end",
class: "w-48",
class: "w-56",
children: ($$renderer4) => {
$$renderer4.push(`<div class="relative flex cursor-default items-center gap-2 rounded-sm py-1.5 px-2 text-sm outline-none select-none" role="button" tabindex="0">`);
Label($$renderer4, {
@@ -3973,9 +4132,9 @@ function _layout($$renderer, $$props) {
} else {
$$renderer2.push("<!--[!-->");
}
$$renderer2.push(`<!--]--> <main class="flex-1 flex flex-col gap-4 min-h-0">`);
$$renderer2.push(`<!--]--> <div class="page-view">`);
children?.($$renderer2);
$$renderer2.push(`<!----></main></div>`);
$$renderer2.push(`<!----></div></div>`);
});
}
export {
@@ -1,47 +1,32 @@
import "clsx";
import { j as ensure_array_like, k as attr, i as escape_html, m as stringify } from "../../chunks/index2.js";
import { B as Button } from "../../chunks/button.js";
import { s as siteSlugs, a as sites } from "../../chunks/sites.js";
function _page($$renderer, $$props) {
let { data } = $$props;
{
$$renderer.push("<!--[!-->");
$$renderer.push(`<main class="flex min-h-0 flex-1 flex-col items-center justify-center gap-6 p-6"><h1 class="text-2xl font-semibold">Base</h1> <div class="flex w-full max-w-xs flex-col gap-3"><a href="https://prism.ccllc.pro" class="block" target="_blank" rel="noopener noreferrer">`);
Button($$renderer, {
class: "h-12 w-full min-h-12",
children: ($$renderer2) => {
$$renderer2.push(`<!---->Prism`);
},
$$slots: { default: true }
});
$$renderer.push(`<!----></a> <a href="https://tasgrid.ccllc.pro" class="block" target="_blank" rel="noopener noreferrer">`);
Button($$renderer, {
class: "h-12 min-h-12 w-full",
variant: "outline",
children: ($$renderer2) => {
$$renderer2.push(`<!---->TasGrid`);
},
$$slots: { default: true }
});
$$renderer.push(`<!----></a> <a href="https://stackq.ccllc.pro" class="block" target="_blank" rel="noopener noreferrer">`);
Button($$renderer, {
class: "h-12 min-h-12 w-full",
variant: "outline",
children: ($$renderer2) => {
$$renderer2.push(`<!---->Stackq`);
},
$$slots: { default: true }
});
$$renderer.push(`<!----></a> <a href="https://hrm.ccllc.pro" class="block" target="_blank" rel="noopener noreferrer">`);
Button($$renderer, {
class: "h-12 min-h-12 w-full",
variant: "outline",
children: ($$renderer2) => {
$$renderer2.push(`<!---->HRM`);
},
$$slots: { default: true }
});
$$renderer.push(`<!----></a></div></main>`);
}
$$renderer.push(`<!--]-->`);
$$renderer.component(($$renderer2) => {
let { data } = $$props;
const visibleSlugs = data.user ? siteSlugs.filter((slug) => data.user && data.user[slug] === true) : [];
{
$$renderer2.push("<!--[!-->");
$$renderer2.push(`<main class="flex min-h-0 flex-1 flex-col items-center justify-center gap-4 p-4 sm:gap-6 sm:p-6"><h1 class="text-2xl font-semibold">Base</h1> <div class="flex w-full max-w-xs flex-col gap-3"><!--[-->`);
const each_array = ensure_array_like(visibleSlugs);
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
let slug = each_array[$$index];
const site = sites[slug];
$$renderer2.push(`<a${attr("href", `/${stringify(slug)}`)} class="block">`);
Button($$renderer2, {
class: "h-16 w-full min-h-16",
variant: "outline",
children: ($$renderer3) => {
$$renderer3.push(`<!---->${escape_html(site.title)}`);
},
$$slots: { default: true }
});
$$renderer2.push(`<!----></a>`);
}
$$renderer2.push(`<!--]--></div></main>`);
}
$$renderer2.push(`<!--]-->`);
});
}
export {
_page as default
@@ -0,0 +1,10 @@
import "clsx";
function _layout($$renderer, $$props) {
let { children } = $$props;
$$renderer.push(`<div class="site-fullscreen">`);
children?.($$renderer);
$$renderer.push(`<!----></div>`);
}
export {
_layout as default
};
@@ -0,0 +1,17 @@
import { a as sites } from "../../../chunks/sites.js";
import { error } from "@sveltejs/kit";
function load({ params }) {
const slug = params.site?.toLowerCase();
const site = slug && slug in sites ? sites[slug] : null;
if (!site) {
throw error(404, `Unknown site: ${params.site}`);
}
return {
slug,
url: site.url,
title: site.title
};
}
export {
load
};
@@ -0,0 +1,26 @@
import { f as head, k as attr, i as escape_html } from "../../../chunks/index2.js";
import { B as Button } from "../../../chunks/button.js";
function _page($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let { data } = $$props;
head("mbpe06", $$renderer2, ($$renderer3) => {
$$renderer3.title(($$renderer4) => {
$$renderer4.push(`<title>${escape_html(data.title)} — Base</title>`);
});
});
$$renderer2.push(`<main class="relative flex-1 min-h-0 min-w-0 flex flex-col"><iframe id="app-iframe"${attr("title", data.title)}${attr("src", data.url)} class="absolute inset-0 w-full h-full border-0 rounded-none"></iframe> <div class="absolute top-2 left-1/2 -translate-x-1/2 z-10 flex items-center justify-center pointer-events-none pt-[env(safe-area-inset-top)]" aria-hidden="true"><div class="pointer-events-auto"><a href="/">`);
Button($$renderer2, {
type: "button",
variant: "secondary",
class: "shadow-md",
children: ($$renderer3) => {
$$renderer3.push(`<!---->Base`);
},
$$slots: { default: true }
});
$$renderer2.push(`<!----></a></div></div></main>`);
});
}
export {
_page as default
};
@@ -1,4 +1,4 @@
import { b as attributes, j as clsx, c as bind_props, i as attr, f as escape_html } from "../../../chunks/index2.js";
import { b as attributes, o as clsx, c as bind_props, k as attr, i as escape_html } from "../../../chunks/index2.js";
import "@sveltejs/kit/internal";
import "../../../chunks/exports.js";
import "../../../chunks/utils.js";
@@ -8,6 +8,7 @@ import "../../../chunks/state.svelte.js";
import { B as Button } from "../../../chunks/button.js";
import { c as cn } from "../../../chunks/utils2.js";
import { L as Label } from "../../../chunks/label.js";
import { C as Card, a as Card_header, b as Card_title, c as Card_description, d as Card_content } from "../../../chunks/card-title.js";
import "clsx";
function Input($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
@@ -56,106 +57,6 @@ function Input($$renderer, $$props) {
bind_props($$props, { ref, value, files });
});
}
function Card($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
ref = null,
class: className,
children,
$$slots,
$$events,
...restProps
} = $$props;
$$renderer2.push(`<div${attributes({
"data-slot": "card",
class: clsx(cn("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm", className)),
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></div>`);
bind_props($$props, { ref });
});
}
function Card_content($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
ref = null,
class: className,
children,
$$slots,
$$events,
...restProps
} = $$props;
$$renderer2.push(`<div${attributes({
"data-slot": "card-content",
class: clsx(cn("px-6", className)),
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></div>`);
bind_props($$props, { ref });
});
}
function Card_description($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
ref = null,
class: className,
children,
$$slots,
$$events,
...restProps
} = $$props;
$$renderer2.push(`<p${attributes({
"data-slot": "card-description",
class: clsx(cn("text-muted-foreground text-sm", className)),
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></p>`);
bind_props($$props, { ref });
});
}
function Card_header($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
ref = null,
class: className,
children,
$$slots,
$$events,
...restProps
} = $$props;
$$renderer2.push(`<div${attributes({
"data-slot": "card-header",
class: clsx(cn("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6", className)),
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></div>`);
bind_props($$props, { ref });
});
}
function Card_title($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
ref = null,
class: className,
children,
$$slots,
$$events,
...restProps
} = $$props;
$$renderer2.push(`<div${attributes({
"data-slot": "card-title",
class: clsx(cn("leading-none font-semibold", className)),
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></div>`);
bind_props($$props, { ref });
});
}
function _page($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let { data, formAction } = $$props;
@@ -1,4 +1,4 @@
import { i as attr } from "../../../chunks/index2.js";
import { k as attr } from "../../../chunks/index2.js";
import "@sveltejs/kit/internal";
import "../../../chunks/exports.js";
import "../../../chunks/utils.js";
@@ -0,0 +1,15 @@
import { error } from "@sveltejs/kit";
import { m as mapUserRecord } from "../../../../chunks/user-from-record.js";
const load = async ({ params, locals }) => {
const id = params.id;
if (!id) throw error(404, "User not found");
try {
const record = await locals.pb.collection("users").getOne(id);
return { user: mapUserRecord(record) };
} catch {
throw error(404, "User not found");
}
};
export {
load
};
@@ -0,0 +1,74 @@
import { f as head, i as escape_html } from "../../../../chunks/index2.js";
import { C as Card, a as Card_header, b as Card_title, c as Card_description, d as Card_content } from "../../../../chunks/card-title.js";
import "clsx";
import { B as Button } from "../../../../chunks/button.js";
function _page($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let { data } = $$props;
const user = data.user;
head("xnw5yb", $$renderer2, ($$renderer3) => {
$$renderer3.title(($$renderer4) => {
$$renderer4.push(`<title>${escape_html(user.name ?? user.email ?? "User")} — Base</title>`);
});
});
$$renderer2.push(`<main class="flex min-h-0 flex-1 flex-col gap-4 p-4 sm:gap-6 sm:p-6"><a href="/users" class="self-start">`);
Button($$renderer2, {
variant: "ghost",
size: "sm",
children: ($$renderer3) => {
$$renderer3.push(`<!---->← Users`);
},
$$slots: { default: true }
});
$$renderer2.push(`<!----></a> `);
$$renderer2.push("<!---->");
Card?.($$renderer2, {
class: "max-w-md",
children: ($$renderer3) => {
$$renderer3.push("<!---->");
Card_header?.($$renderer3, {
children: ($$renderer4) => {
$$renderer4.push("<!---->");
Card_title?.($$renderer4, {
children: ($$renderer5) => {
$$renderer5.push(`<!---->${escape_html(user.name ?? user.email ?? user.id)}`);
},
$$slots: { default: true }
});
$$renderer4.push(`<!----> `);
if (user.email) {
$$renderer4.push("<!--[-->");
$$renderer4.push("<!---->");
Card_description?.($$renderer4, {
children: ($$renderer5) => {
$$renderer5.push(`<!---->${escape_html(user.email)}`);
},
$$slots: { default: true }
});
$$renderer4.push(`<!---->`);
} else {
$$renderer4.push("<!--[!-->");
}
$$renderer4.push(`<!--]-->`);
},
$$slots: { default: true }
});
$$renderer3.push(`<!----> `);
$$renderer3.push("<!---->");
Card_content?.($$renderer3, {
class: "flex flex-col gap-2",
children: ($$renderer4) => {
$$renderer4.push(`<p class="text-muted-foreground text-sm"><span class="font-medium text-foreground">Access:</span><br/> Prism ${escape_html(user.prism ? "✓" : "—")} · TasGrid ${escape_html(user.tasgrid ? "✓" : "—")} · Stackq ${escape_html(user.stackq ? "✓" : "—")} · HRM ${escape_html(user.hrm ? "✓" : "—")}</p> <p class="text-muted-foreground text-sm"><span class="font-medium text-foreground">Dark mode:</span> ${escape_html(user.darkmode ? "On" : "Off")}</p>`);
},
$$slots: { default: true }
});
$$renderer3.push(`<!---->`);
},
$$slots: { default: true }
});
$$renderer2.push(`<!----></main>`);
});
}
export {
_page as default
};
@@ -0,0 +1,9 @@
import { m as mapUserRecord } from "../../../chunks/user-from-record.js";
const load = async ({ locals }) => {
const list = await locals.pb.collection("users").getFullList();
const users = list.map((r) => mapUserRecord(r));
return { users };
};
export {
load
};
@@ -0,0 +1,111 @@
import { b as attributes, o as clsx, c as bind_props, f as head, j as ensure_array_like, i as escape_html, k as attr, m as stringify } from "../../../chunks/index2.js";
import { C as Card, a as Card_header, b as Card_title, c as Card_description, d as Card_content } from "../../../chunks/card-title.js";
import { c as cn } from "../../../chunks/utils2.js";
import "clsx";
import { B as Button } from "../../../chunks/button.js";
function Card_footer($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
ref = null,
class: className,
children,
$$slots,
$$events,
...restProps
} = $$props;
$$renderer2.push(`<div${attributes({
"data-slot": "card-footer",
class: clsx(cn("flex items-center px-6 [.border-t]:pt-6", className)),
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></div>`);
bind_props($$props, { ref });
});
}
function _page($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let { data } = $$props;
head("9fk07v", $$renderer2, ($$renderer3) => {
$$renderer3.title(($$renderer4) => {
$$renderer4.push(`<title>Users — Base</title>`);
});
});
$$renderer2.push(`<main class="flex min-h-0 flex-1 flex-col gap-4 p-4 sm:gap-6 sm:p-6"><h1 class="text-2xl font-semibold">Users</h1> <div class="grid gap-4 sm:grid-cols-2 lg:grid-cols-3"><!--[-->`);
const each_array = ensure_array_like(data.users);
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
let user = each_array[$$index];
$$renderer2.push("<!---->");
Card?.($$renderer2, {
class: "flex flex-col",
children: ($$renderer3) => {
$$renderer3.push("<!---->");
Card_header?.($$renderer3, {
class: "flex flex-row items-center gap-3",
children: ($$renderer4) => {
$$renderer4.push(`<div class="flex size-10 shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground text-sm font-medium">${escape_html(user.name ? String(user.name).slice(0, 2).toUpperCase() : user.email ? String(user.email).slice(0, 2).toUpperCase() : "?")}</div> <div class="min-w-0 flex-1">`);
$$renderer4.push("<!---->");
Card_title?.($$renderer4, {
class: "truncate",
children: ($$renderer5) => {
$$renderer5.push(`<!---->${escape_html(user.name ?? user.email ?? user.id)}`);
},
$$slots: { default: true }
});
$$renderer4.push(`<!----> `);
if (user.email && user.name) {
$$renderer4.push("<!--[-->");
$$renderer4.push("<!---->");
Card_description?.($$renderer4, {
class: "truncate text-xs",
children: ($$renderer5) => {
$$renderer5.push(`<!---->${escape_html(user.email)}`);
},
$$slots: { default: true }
});
$$renderer4.push(`<!---->`);
} else {
$$renderer4.push("<!--[!-->");
}
$$renderer4.push(`<!--]--></div>`);
},
$$slots: { default: true }
});
$$renderer3.push(`<!----> `);
$$renderer3.push("<!---->");
Card_content?.($$renderer3, {
class: "flex-1",
children: ($$renderer4) => {
$$renderer4.push(`<p class="text-muted-foreground text-sm">Prism ${escape_html(user.prism ? "✓" : "—")} · TasGrid ${escape_html(user.tasgrid ? "✓" : "—")} · Stackq ${escape_html(user.stackq ? "✓" : "—")} · HRM ${escape_html(user.hrm ? "✓" : "—")}</p>`);
},
$$slots: { default: true }
});
$$renderer3.push(`<!----> `);
$$renderer3.push("<!---->");
Card_footer?.($$renderer3, {
children: ($$renderer4) => {
$$renderer4.push(`<a${attr("href", `/users/${stringify(user.id)}`)} class="block">`);
Button($$renderer4, {
variant: "outline",
class: "w-full",
children: ($$renderer5) => {
$$renderer5.push(`<!---->View`);
},
$$slots: { default: true }
});
$$renderer4.push(`<!----></a>`);
},
$$slots: { default: true }
});
$$renderer3.push(`<!---->`);
},
$$slots: { default: true }
});
$$renderer2.push(`<!---->`);
}
$$renderer2.push(`<!--]--></div></main>`);
});
}
export {
_page as default
};
+30 -5
View File
@@ -10,13 +10,17 @@ return {
assets: new Set([]),
mimeTypes: {},
_: {
client: {start:"_app/immutable/entry/start.DoE5rVjp.js",app:"_app/immutable/entry/app.D90yBOXx.js",imports:["_app/immutable/entry/start.DoE5rVjp.js","_app/immutable/chunks/BX9MO-1l.js","_app/immutable/chunks/CPmvlhtF.js","_app/immutable/chunks/nEbfNkJh.js","_app/immutable/entry/app.D90yBOXx.js","_app/immutable/chunks/D4nn9Y_6.js","_app/immutable/chunks/nEbfNkJh.js","_app/immutable/chunks/CPmvlhtF.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/zcqfpVBB.js","_app/immutable/chunks/BpNSSBPP.js","_app/immutable/chunks/DTd9pe6t.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
client: {start:"_app/immutable/entry/start.AEgxPUqz.js",app:"_app/immutable/entry/app.DbqfQuH9.js",imports:["_app/immutable/entry/start.AEgxPUqz.js","_app/immutable/chunks/CW15Ts-p.js","_app/immutable/chunks/DTyTeadx.js","_app/immutable/chunks/BfGs3WDN.js","_app/immutable/chunks/Dc4kZMuG.js","_app/immutable/chunks/BlBMKpZ6.js","_app/immutable/entry/app.DbqfQuH9.js","_app/immutable/chunks/D4nn9Y_6.js","_app/immutable/chunks/BfGs3WDN.js","_app/immutable/chunks/Dc4kZMuG.js","_app/immutable/chunks/BlBMKpZ6.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DTyTeadx.js","_app/immutable/chunks/CQe9XmLJ.js","_app/immutable/chunks/C2sKwo1m.js","_app/immutable/chunks/BIDFgmbM.js","_app/immutable/chunks/BSLeMsiy.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
nodes: [
__memo(() => import('./nodes/0.js')),
__memo(() => import('./nodes/1.js')),
__memo(() => import('./nodes/2.js')),
__memo(() => import('./nodes/3.js')),
__memo(() => import('./nodes/4.js'))
__memo(() => import('./nodes/4.js')),
__memo(() => import('./nodes/5.js')),
__memo(() => import('./nodes/6.js')),
__memo(() => import('./nodes/7.js')),
__memo(() => import('./nodes/8.js'))
],
remotes: {
@@ -26,7 +30,7 @@ return {
id: "/",
pattern: /^\/$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 2 },
page: { layouts: [0,], errors: [1,], leaf: 3 },
endpoint: null
},
{
@@ -40,14 +44,35 @@ return {
id: "/login",
pattern: /^\/login\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 4 },
page: { layouts: [0,], errors: [1,], leaf: 8 },
endpoint: null
},
{
id: "/logout",
pattern: /^\/logout\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 3 },
page: { layouts: [0,], errors: [1,], leaf: 4 },
endpoint: null
},
{
id: "/users",
pattern: /^\/users\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 5 },
endpoint: null
},
{
id: "/users/[id]",
pattern: /^\/users\/([^/]+?)\/?$/,
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
page: { layouts: [0,], errors: [1,], leaf: 6 },
endpoint: null
},
{
id: "/[site]",
pattern: /^\/([^/]+?)\/?$/,
params: [{"name":"site","optional":false,"rest":false,"chained":false}],
page: { layouts: [0,2,], errors: [1,,], leaf: 7 },
endpoint: null
}
],
+30 -5
View File
@@ -10,13 +10,17 @@ return {
assets: new Set([]),
mimeTypes: {},
_: {
client: {start:"_app/immutable/entry/start.DoE5rVjp.js",app:"_app/immutable/entry/app.D90yBOXx.js",imports:["_app/immutable/entry/start.DoE5rVjp.js","_app/immutable/chunks/BX9MO-1l.js","_app/immutable/chunks/CPmvlhtF.js","_app/immutable/chunks/nEbfNkJh.js","_app/immutable/entry/app.D90yBOXx.js","_app/immutable/chunks/D4nn9Y_6.js","_app/immutable/chunks/nEbfNkJh.js","_app/immutable/chunks/CPmvlhtF.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/zcqfpVBB.js","_app/immutable/chunks/BpNSSBPP.js","_app/immutable/chunks/DTd9pe6t.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
client: {start:"_app/immutable/entry/start.AEgxPUqz.js",app:"_app/immutable/entry/app.DbqfQuH9.js",imports:["_app/immutable/entry/start.AEgxPUqz.js","_app/immutable/chunks/CW15Ts-p.js","_app/immutable/chunks/DTyTeadx.js","_app/immutable/chunks/BfGs3WDN.js","_app/immutable/chunks/Dc4kZMuG.js","_app/immutable/chunks/BlBMKpZ6.js","_app/immutable/entry/app.DbqfQuH9.js","_app/immutable/chunks/D4nn9Y_6.js","_app/immutable/chunks/BfGs3WDN.js","_app/immutable/chunks/Dc4kZMuG.js","_app/immutable/chunks/BlBMKpZ6.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DTyTeadx.js","_app/immutable/chunks/CQe9XmLJ.js","_app/immutable/chunks/C2sKwo1m.js","_app/immutable/chunks/BIDFgmbM.js","_app/immutable/chunks/BSLeMsiy.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
nodes: [
__memo(() => import('./nodes/0.js')),
__memo(() => import('./nodes/1.js')),
__memo(() => import('./nodes/2.js')),
__memo(() => import('./nodes/3.js')),
__memo(() => import('./nodes/4.js'))
__memo(() => import('./nodes/4.js')),
__memo(() => import('./nodes/5.js')),
__memo(() => import('./nodes/6.js')),
__memo(() => import('./nodes/7.js')),
__memo(() => import('./nodes/8.js'))
],
remotes: {
@@ -26,7 +30,7 @@ return {
id: "/",
pattern: /^\/$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 2 },
page: { layouts: [0,], errors: [1,], leaf: 3 },
endpoint: null
},
{
@@ -40,14 +44,35 @@ return {
id: "/login",
pattern: /^\/login\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 4 },
page: { layouts: [0,], errors: [1,], leaf: 8 },
endpoint: null
},
{
id: "/logout",
pattern: /^\/logout\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 3 },
page: { layouts: [0,], errors: [1,], leaf: 4 },
endpoint: null
},
{
id: "/users",
pattern: /^\/users\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 5 },
endpoint: null
},
{
id: "/users/[id]",
pattern: /^\/users\/([^/]+?)\/?$/,
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
page: { layouts: [0,], errors: [1,], leaf: 6 },
endpoint: null
},
{
id: "/[site]",
pattern: /^\/([^/]+?)\/?$/,
params: [{"name":"site","optional":false,"rest":false,"chained":false}],
page: { layouts: [0,2,], errors: [1,,], leaf: 7 },
endpoint: null
}
],
+2 -2
View File
@@ -5,6 +5,6 @@ let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;
export { server };
export const server_id = "src/routes/+layout.server.ts";
export const imports = ["_app/immutable/nodes/0.DsCqkoz9.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/CPmvlhtF.js","_app/immutable/chunks/nEbfNkJh.js","_app/immutable/chunks/zcqfpVBB.js","_app/immutable/chunks/Xjya7ye4.js","_app/immutable/chunks/BpNSSBPP.js","_app/immutable/chunks/CoAkxMBS.js","_app/immutable/chunks/BX9MO-1l.js","_app/immutable/chunks/CvA4ASMA.js","_app/immutable/chunks/ggIfGDPQ.js"];
export const stylesheets = ["_app/immutable/assets/0.Ci1WSy1v.css"];
export const imports = ["_app/immutable/nodes/0.gS3vEFmL.js","_app/immutable/chunks/D4nn9Y_6.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DTyTeadx.js","_app/immutable/chunks/BfGs3WDN.js","_app/immutable/chunks/Dc4kZMuG.js","_app/immutable/chunks/BlBMKpZ6.js","_app/immutable/chunks/CQe9XmLJ.js","_app/immutable/chunks/C2sKwo1m.js","_app/immutable/chunks/By9q4dnk.js","_app/immutable/chunks/BIDFgmbM.js","_app/immutable/chunks/B52PvkJe.js","_app/immutable/chunks/_58MWSf2.js","_app/immutable/chunks/CW15Ts-p.js","_app/immutable/chunks/D7710T35.js","_app/immutable/chunks/BcNtEwNR.js","_app/immutable/chunks/CDS-2UO6.js","_app/immutable/chunks/8KX3cYnK.js"];
export const stylesheets = ["_app/immutable/assets/0.CY2MjnKQ.css"];
export const fonts = [];
+1 -1
View File
@@ -3,6 +3,6 @@
export const index = 1;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js')).default;
export const imports = ["_app/immutable/nodes/1.CwhQAky3.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/ggIfGDPQ.js","_app/immutable/chunks/nEbfNkJh.js","_app/immutable/chunks/CPmvlhtF.js","_app/immutable/chunks/BX9MO-1l.js"];
export const imports = ["_app/immutable/nodes/1.BXG5ltEU.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/CDS-2UO6.js","_app/immutable/chunks/BfGs3WDN.js","_app/immutable/chunks/Dc4kZMuG.js","_app/immutable/chunks/BlBMKpZ6.js","_app/immutable/chunks/CW15Ts-p.js","_app/immutable/chunks/DTyTeadx.js"];
export const stylesheets = [];
export const fonts = [];
+2 -2
View File
@@ -2,7 +2,7 @@
export const index = 2;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js')).default;
export const imports = ["_app/immutable/nodes/2.B4w5AQ-r.js","_app/immutable/chunks/D4nn9Y_6.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/nEbfNkJh.js","_app/immutable/chunks/zcqfpVBB.js","_app/immutable/chunks/BpNSSBPP.js","_app/immutable/chunks/uf3Is7Es.js","_app/immutable/chunks/Xjya7ye4.js","_app/immutable/chunks/DTd9pe6t.js"];
export const component = async () => component_cache ??= (await import('../entries/pages/_site_/_layout.svelte.js')).default;
export const imports = ["_app/immutable/nodes/2.Cn3ypPuH.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/BfGs3WDN.js","_app/immutable/chunks/By9q4dnk.js","_app/immutable/chunks/C2sKwo1m.js"];
export const stylesheets = [];
export const fonts = [];
+3 -5
View File
@@ -1,10 +1,8 @@
import * as server from '../entries/pages/logout/_page.server.ts.js';
export const index = 3;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/logout/_page.svelte.js')).default;
export { server };
export const server_id = "src/routes/logout/+page.server.ts";
export const imports = ["_app/immutable/nodes/3.sctq0uPd.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/nEbfNkJh.js","_app/immutable/chunks/CoAkxMBS.js","_app/immutable/chunks/BX9MO-1l.js","_app/immutable/chunks/CPmvlhtF.js","_app/immutable/chunks/Xjya7ye4.js","_app/immutable/chunks/zcqfpVBB.js","_app/immutable/chunks/uf3Is7Es.js","_app/immutable/chunks/DTd9pe6t.js"];
export const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js')).default;
export const imports = ["_app/immutable/nodes/3.Dvp2-Ekr.js","_app/immutable/chunks/D4nn9Y_6.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/BfGs3WDN.js","_app/immutable/chunks/C2sKwo1m.js","_app/immutable/chunks/CQe9XmLJ.js","_app/immutable/chunks/BIDFgmbM.js","_app/immutable/chunks/DecArsLH.js","_app/immutable/chunks/D7710T35.js","_app/immutable/chunks/BlBMKpZ6.js","_app/immutable/chunks/By9q4dnk.js","_app/immutable/chunks/BSLeMsiy.js"];
export const stylesheets = [];
export const fonts = [];
+4 -4
View File
@@ -1,10 +1,10 @@
import * as server from '../entries/pages/login/_page.server.ts.js';
import * as server from '../entries/pages/logout/_page.server.ts.js';
export const index = 4;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/login/_page.svelte.js')).default;
export const component = async () => component_cache ??= (await import('../entries/pages/logout/_page.svelte.js')).default;
export { server };
export const server_id = "src/routes/login/+page.server.ts";
export const imports = ["_app/immutable/nodes/4.BG9kRLiv.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/nEbfNkJh.js","_app/immutable/chunks/CPmvlhtF.js","_app/immutable/chunks/zcqfpVBB.js","_app/immutable/chunks/BpNSSBPP.js","_app/immutable/chunks/CoAkxMBS.js","_app/immutable/chunks/BX9MO-1l.js","_app/immutable/chunks/Xjya7ye4.js","_app/immutable/chunks/uf3Is7Es.js","_app/immutable/chunks/DTd9pe6t.js","_app/immutable/chunks/CvA4ASMA.js"];
export const server_id = "src/routes/logout/+page.server.ts";
export const imports = ["_app/immutable/nodes/4.Dk1RIVGS.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/BfGs3WDN.js","_app/immutable/chunks/_58MWSf2.js","_app/immutable/chunks/CW15Ts-p.js","_app/immutable/chunks/DTyTeadx.js","_app/immutable/chunks/Dc4kZMuG.js","_app/immutable/chunks/BlBMKpZ6.js","_app/immutable/chunks/D7710T35.js","_app/immutable/chunks/DecArsLH.js","_app/immutable/chunks/By9q4dnk.js","_app/immutable/chunks/C2sKwo1m.js","_app/immutable/chunks/CQe9XmLJ.js","_app/immutable/chunks/BSLeMsiy.js"];
export const stylesheets = [];
export const fonts = [];
+10
View File
@@ -0,0 +1,10 @@
import * as server from '../entries/pages/users/_page.server.ts.js';
export const index = 5;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/users/_page.svelte.js')).default;
export { server };
export const server_id = "src/routes/users/+page.server.ts";
export const imports = ["_app/immutable/nodes/5.DNte91Oq.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/BfGs3WDN.js","_app/immutable/chunks/Dc4kZMuG.js","_app/immutable/chunks/BlBMKpZ6.js","_app/immutable/chunks/CQe9XmLJ.js","_app/immutable/chunks/C2sKwo1m.js","_app/immutable/chunks/BVBXfAos.js","_app/immutable/chunks/BIDFgmbM.js","_app/immutable/chunks/B52PvkJe.js","_app/immutable/chunks/D7710T35.js","_app/immutable/chunks/C3gUTv4t.js","_app/immutable/chunks/By9q4dnk.js","_app/immutable/chunks/BSLeMsiy.js","_app/immutable/chunks/DecArsLH.js"];
export const stylesheets = [];
export const fonts = [];
+10
View File
@@ -0,0 +1,10 @@
import * as server from '../entries/pages/users/_id_/_page.server.ts.js';
export const index = 6;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/users/_id_/_page.svelte.js')).default;
export { server };
export const server_id = "src/routes/users/[id]/+page.server.ts";
export const imports = ["_app/immutable/nodes/6.Vre0jbUi.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/BfGs3WDN.js","_app/immutable/chunks/Dc4kZMuG.js","_app/immutable/chunks/BlBMKpZ6.js","_app/immutable/chunks/CQe9XmLJ.js","_app/immutable/chunks/C2sKwo1m.js","_app/immutable/chunks/BIDFgmbM.js","_app/immutable/chunks/B52PvkJe.js","_app/immutable/chunks/C3gUTv4t.js","_app/immutable/chunks/By9q4dnk.js","_app/immutable/chunks/D7710T35.js","_app/immutable/chunks/BSLeMsiy.js","_app/immutable/chunks/DecArsLH.js"];
export const stylesheets = [];
export const fonts = [];
+10
View File
@@ -0,0 +1,10 @@
import * as server from '../entries/pages/_site_/_page.server.ts.js';
export const index = 7;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/_site_/_page.svelte.js')).default;
export { server };
export const server_id = "src/routes/[site]/+page.server.ts";
export const imports = ["_app/immutable/nodes/7.3uaraxa_.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/BfGs3WDN.js","_app/immutable/chunks/B52PvkJe.js","_app/immutable/chunks/D7710T35.js","_app/immutable/chunks/BlBMKpZ6.js","_app/immutable/chunks/DecArsLH.js","_app/immutable/chunks/By9q4dnk.js","_app/immutable/chunks/C2sKwo1m.js","_app/immutable/chunks/CQe9XmLJ.js","_app/immutable/chunks/BSLeMsiy.js"];
export const stylesheets = [];
export const fonts = [];
+10
View File
@@ -0,0 +1,10 @@
import * as server from '../entries/pages/login/_page.server.ts.js';
export const index = 8;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/login/_page.svelte.js')).default;
export { server };
export const server_id = "src/routes/login/+page.server.ts";
export const imports = ["_app/immutable/nodes/8.CQbjEMpm.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/BfGs3WDN.js","_app/immutable/chunks/Dc4kZMuG.js","_app/immutable/chunks/BlBMKpZ6.js","_app/immutable/chunks/CQe9XmLJ.js","_app/immutable/chunks/C2sKwo1m.js","_app/immutable/chunks/BIDFgmbM.js","_app/immutable/chunks/_58MWSf2.js","_app/immutable/chunks/CW15Ts-p.js","_app/immutable/chunks/DTyTeadx.js","_app/immutable/chunks/D7710T35.js","_app/immutable/chunks/DecArsLH.js","_app/immutable/chunks/By9q4dnk.js","_app/immutable/chunks/BSLeMsiy.js","_app/immutable/chunks/BcNtEwNR.js","_app/immutable/chunks/C3gUTv4t.js"];
export const stylesheets = [];
export const fonts = [];