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
+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
};