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
+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
};
@@ -0,0 +1,23 @@
import { json } from "@sveltejs/kit";
const POST = async ({ request, locals }) => {
if (!locals.user) {
return json({ error: "Unauthorized" }, { status: 401 });
}
let body;
try {
body = await request.json();
} catch {
return json({ error: "Invalid JSON" }, { status: 400 });
}
const darkmode = !!body.darkmode;
try {
await locals.pb.collection("users").update(locals.user.id, { darkmode });
await locals.pb.collection("users").authRefresh();
} catch (e) {
return json({ error: "Update failed" }, { status: 500 });
}
return json({ darkmode });
};
export {
POST
};
@@ -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";
@@ -0,0 +1,45 @@
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";
function isPublicRoute(pathname) {
return pathname === LOGIN_PATH || pathname.startsWith(LOGIN_PATH + "/") || pathname === LOGOUT_PATH;
}
const handle = async ({ event, resolve }) => {
event.locals.pb = new PocketBase(POCKETBASE_URL);
event.locals.pb.authStore.loadFromCookie(event.request.headers.get("cookie") ?? "");
try {
if (event.locals.pb.authStore.isValid) {
await event.locals.pb.collection("users").authRefresh();
}
} catch {
event.locals.pb.authStore.clear();
}
const record = event.locals.pb.authStore.record;
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;
throw redirect(303, loginUrl);
}
const response = await resolve(event);
response.headers.append(
"set-cookie",
event.locals.pb.authStore.exportToCookie({ httpOnly: false, sameSite: "Lax" })
);
return response;
};
export {
handle
};
@@ -0,0 +1,8 @@
const load = async ({ locals }) => {
return {
user: locals.user
};
};
export {
load
};
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,33 @@
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) {
$$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
};
@@ -0,0 +1,38 @@
import { redirect } from "@sveltejs/kit";
const load = async ({ url, locals }) => {
if (locals.user) {
throw redirect(303, url.searchParams.get("redirectTo") ?? "/");
}
return {
redirectTo: url.searchParams.get("redirectTo") ?? "",
error: null
};
};
const actions = {
default: async ({ request, locals, url }) => {
const formData = await request.formData();
const email = String(formData.get("email") ?? "").trim();
const password = String(formData.get("password") ?? "");
const redirectTo = String(formData.get("redirectTo") ?? "").trim() || "/";
if (!email || !password) {
return {
redirectTo,
error: "Email and password are required."
};
}
try {
await locals.pb.collection("users").authWithPassword(email, password);
} catch (err) {
const message = err && typeof err === "object" && "message" in err ? String(err.message) : "Invalid email or password.";
return {
redirectTo,
error: message
};
}
throw redirect(303, redirectTo);
}
};
export {
actions,
load
};
@@ -0,0 +1,157 @@
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";
import "@sveltejs/kit/internal/server";
import "../../../chunks/root.js";
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) => {
let {
ref = null,
value = void 0,
type,
files = void 0,
class: className,
"data-slot": dataSlot = "input",
$$slots,
$$events,
...restProps
} = $$props;
if (type === "file") {
$$renderer2.push("<!--[-->");
$$renderer2.push(`<input${attributes(
{
"data-slot": dataSlot,
class: clsx(cn("selection:bg-primary dark:bg-input/30 selection:text-primary-foreground border-input ring-offset-background placeholder:text-muted-foreground flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 pt-1.5 text-sm font-medium shadow-xs transition-[color,box-shadow] outline-none disabled:cursor-not-allowed disabled:opacity-50", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", className)),
type: "file",
...restProps
},
void 0,
void 0,
void 0,
4
)}/>`);
} else {
$$renderer2.push("<!--[!-->");
$$renderer2.push(`<input${attributes(
{
"data-slot": dataSlot,
class: clsx(cn("border-input bg-background selection:bg-primary dark:bg-input/30 selection:text-primary-foreground ring-offset-background placeholder:text-muted-foreground flex h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", className)),
type,
value,
...restProps
},
void 0,
void 0,
void 0,
4
)}/>`);
}
$$renderer2.push(`<!--]-->`);
bind_props($$props, { ref, value, files });
});
}
function _page($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let { data, formAction } = $$props;
const redirectTo = data.form?.redirectTo ?? data.redirectTo ?? "";
const error = data.form?.error;
$$renderer2.push(`<div class="app-shell max-w-sm mx-auto w-full">`);
$$renderer2.push("<!---->");
Card?.($$renderer2, {
children: ($$renderer3) => {
$$renderer3.push("<!---->");
Card_header?.($$renderer3, {
children: ($$renderer4) => {
$$renderer4.push("<!---->");
Card_title?.($$renderer4, {
children: ($$renderer5) => {
$$renderer5.push(`<!---->Sign in`);
},
$$slots: { default: true }
});
$$renderer4.push(`<!----> `);
$$renderer4.push("<!---->");
Card_description?.($$renderer4, {
children: ($$renderer5) => {
$$renderer5.push(`<!---->Enter your email and password.`);
},
$$slots: { default: true }
});
$$renderer4.push(`<!---->`);
},
$$slots: { default: true }
});
$$renderer3.push(`<!----> `);
$$renderer3.push("<!---->");
Card_content?.($$renderer3, {
children: ($$renderer4) => {
$$renderer4.push(`<form method="POST"${attr("action", formAction)} class="flex flex-col gap-4"><input type="hidden" name="redirectTo"${attr("value", redirectTo)}/> <div class="grid gap-2">`);
Label($$renderer4, {
for: "email",
children: ($$renderer5) => {
$$renderer5.push(`<!---->Email`);
},
$$slots: { default: true }
});
$$renderer4.push(`<!----> `);
Input($$renderer4, {
id: "email",
name: "email",
type: "email",
placeholder: "you@example.com",
required: true,
autocomplete: "email"
});
$$renderer4.push(`<!----></div> <div class="grid gap-2">`);
Label($$renderer4, {
for: "password",
children: ($$renderer5) => {
$$renderer5.push(`<!---->Password`);
},
$$slots: { default: true }
});
$$renderer4.push(`<!----> `);
Input($$renderer4, {
id: "password",
name: "password",
type: "password",
required: true,
autocomplete: "current-password"
});
$$renderer4.push(`<!----></div> `);
if (error) {
$$renderer4.push("<!--[-->");
$$renderer4.push(`<p class="text-sm text-destructive">${escape_html(error)}</p>`);
} else {
$$renderer4.push("<!--[!-->");
}
$$renderer4.push(`<!--]--> `);
Button($$renderer4, {
type: "submit",
class: "w-full",
children: ($$renderer5) => {
$$renderer5.push(`<!---->Sign in`);
},
$$slots: { default: true }
});
$$renderer4.push(`<!----></form>`);
},
$$slots: { default: true }
});
$$renderer3.push(`<!---->`);
},
$$slots: { default: true }
});
$$renderer2.push(`<!----></div>`);
});
}
export {
_page as default
};
@@ -0,0 +1,10 @@
import { redirect } from "@sveltejs/kit";
const actions = {
default: async ({ locals }) => {
locals.pb.authStore.clear();
throw redirect(303, "/login");
}
};
export {
actions
};
@@ -0,0 +1,23 @@
import { k as attr } from "../../../chunks/index2.js";
import "@sveltejs/kit/internal";
import "../../../chunks/exports.js";
import "../../../chunks/utils.js";
import "@sveltejs/kit/internal/server";
import "../../../chunks/root.js";
import "../../../chunks/state.svelte.js";
import { B as Button } from "../../../chunks/button.js";
function _page($$renderer, $$props) {
let { formAction } = $$props;
$$renderer.push(`<div class="app-shell flex items-center justify-center min-h-[200px]"><form method="POST"${attr("action", formAction)}>`);
Button($$renderer, {
type: "submit",
children: ($$renderer2) => {
$$renderer2.push(`<!---->Log out`);
},
$$slots: { default: true }
});
$$renderer.push(`<!----></form></div>`);
}
export {
_page as default
};
@@ -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
}
],
+87
View File
@@ -0,0 +1,87 @@
export const manifest = (() => {
function __memo(fn) {
let value;
return () => value ??= (value = fn());
}
return {
appDir: "_app",
appPath: "_app",
assets: new Set([]),
mimeTypes: {},
_: {
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/5.js')),
__memo(() => import('./nodes/6.js')),
__memo(() => import('./nodes/7.js')),
__memo(() => import('./nodes/8.js'))
],
remotes: {
},
routes: [
{
id: "/",
pattern: /^\/$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 3 },
endpoint: null
},
{
id: "/api/darkmode",
pattern: /^\/api\/darkmode\/?$/,
params: [],
page: null,
endpoint: __memo(() => import('./entries/endpoints/api/darkmode/_server.ts.js'))
},
{
id: "/login",
pattern: /^\/login\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 8 },
endpoint: null
},
{
id: "/logout",
pattern: /^\/logout\/?$/,
params: [],
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
}
],
prerendered_routes: new Set([]),
matchers: async () => {
return { };
},
server_assets: {}
}
}
})();
+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 = [];