Compare commits

...

34 Commits

Author SHA1 Message Date
eewing fcd2c0342f Enhance receipt display by adding conditional rendering for descriptions and editing capabilities. Introduce a derived state for edit permissions and update UI components to reflect these changes, improving user interaction and information visibility.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m38s
2026-02-26 14:30:22 -06:00
eewing c89329dada Add receipt status management functionality, allowing users to update receipt statuses through a new server action. Introduce STATUS_OPTIONS for consistent status handling across components. Enhance UI to support status selection and display, improving overall user experience in receipt management.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m18s
2026-02-26 14:26:15 -06:00
eewing e3d96b8818 Enhance receipt management by adding a Description field to receipts, improving user input validation and error handling in the server actions. Update UI components to support the new Description field, ensuring a more comprehensive receipt creation and editing experience.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m49s
2026-02-26 11:10:58 -06:00
eewing b72df41ec7 Enhance image upload handling by integrating HEIC to JPEG conversion in receipts routes. Update ReceiptForm and related components to improve user feedback during image processing, ensuring compatibility with HEIC files. Refactor image handling logic for better maintainability and user experience.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m35s
2026-02-26 10:48:33 -06:00
eewing 694a5295cc Add receipt dialog functionality to +page.svelte for improved user experience
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m29s
2026-02-26 10:25:18 -06:00
eewing 39bea5e7a9 Refactor routing and component structure by removing transactions-related routes and components, consolidating login functionality across multiple nodes. Update type definitions and server load functions to reflect these changes, enhancing code maintainability and streamlining user navigation. Adjust UI components to focus on receipts, improving user experience.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m52s
2026-02-26 10:13:28 -06:00
eewing f8b8ecd88c Update server internal options to reflect a new version hash and refactor cookie handling in hooks.server.ts for improved PocketBase authentication management, enhancing response integrity and avoiding server errors.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m43s
2026-02-26 10:05:18 -06:00
eewing eb64dc8022 Remove navigateFallback option from Workbox configuration in vite.config.ts to streamline service worker setup.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m36s
2026-02-26 09:57:06 -06:00
eewing 455b762eef Refactor image upload handling across items and receipts routes to include validation for uploaded images, enhancing error handling and user feedback. Consolidate parsing functions by importing from a shared module, improving code maintainability. Update server hooks to ensure consistent cookie handling and error logging.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m33s
2026-02-26 09:45:37 -06:00
eewing 47625259ba Update UI components in +page.svelte and HomeWithDialog.svelte to disable certain buttons with a "Coming soon" label, enhancing user experience by indicating future functionality. Adjust server internal options to reflect a new version hash.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m28s
2026-02-26 09:20:43 -06:00
eewing 8b977b5e86 Refactor image conversion logic in convert-image-to-webp.ts to handle HEIC files and improve compatibility with Safari. Update ReceiptForm and +page components to streamline image upload process, removing camera functionality and enhancing user feedback during image processing. Adjust styles for better accessibility and clarity in image handling.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m50s
2026-02-19 15:07:32 -06:00
eewing 132e376b9f Implement camera functionality in ReceiptForm and +page components for capturing photos directly. Refactor image upload handling to support both camera and gallery options, enhancing user experience. Update styles for improved accessibility and feedback during image processing.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m29s
2026-02-19 11:52:23 -06:00
eewing c06daf4f7c Update package.json to allow Vite dev server to listen on all interfaces. Refactor dialog components in HomeWithDialog and receipts pages for improved layout and responsiveness. Enhance ReceiptForm styles for better user experience and accessibility, including adjustments to flex properties and overflow handling.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m38s
2026-02-19 11:44:00 -06:00
eewing d06e585bb5 Enhance image upload experience in ReceiptForm and +page components by integrating a loading state with a spinner icon during image processing. Update styles for better accessibility and user feedback, ensuring a smoother interaction when converting images to WebP format.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m33s
2026-02-19 11:33:57 -06:00
eewing 8af1ee8bd4 Refactor image upload handling in ReceiptForm and +page components by removing direct input element clicks and replacing them with accessible labels. Update styles for improved user experience and maintainability.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m42s
2026-02-19 11:27:56 -06:00
eewing 6e6ad0de05 Refactor receipt handling by removing status options from the server-side logic and simplifying the default status to "New". Update the receipt form to eliminate the status selection, enhancing user experience by focusing on essential fields. Improve image upload handling with WebP conversion support in both receipt creation and editing components.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m25s
2026-02-19 11:19:35 -06:00
eewing f51f9c9f81 Enhance receipt management by adding support for image uploads and improving data handling in receipt forms. Update route parameters and type definitions for better data structure. Refactor UI components for improved user experience and responsiveness, including collapsible sections for receipt images and dynamic line item management.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m42s
2026-02-19 10:57:15 -06:00
eewing 115eecc6f3 Refactor ItemsCrud.svelte to initialize searchQuery with an empty string and update it based on URL parameters using a reactive effect. Update receipt image handling in +page.svelte to define the image URL as a constant for improved readability.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m37s
2026-02-19 10:02:49 -06:00
eewing 567d7e3e13 Implement receipt management features including creation, loading, and display of receipts. Refactor related components and enhance UI with dialogs for adding new receipts. Update type definitions and improve error handling for better user experience.
CI / build (push) Has been skipped
CI / deploy (push) Failing after 1m15s
2026-02-19 09:55:26 -06:00
eewing c6b30100bd feat(sso): accept base-issued iframe login
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m44s
Handle Base SSO tokens on initial requests so Stackq can bootstrap PocketBase auth and redirect into the app without a separate login.
2026-02-19 09:36:08 -06:00
eewing e3ec0219b7 Update .DS_Store to reflect recent project changes.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m51s
2026-02-19 09:26:04 -06:00
eewing 73fcd791ba Update .DS_Store to reflect changes in project files. 2026-02-19 09:25:53 -06:00
eewing a3d6b2b083 Update environment type definitions and improve safe redirect logic in login proxy page. Refactor SvelteKit generated files for better performance and maintainability, including updates to version hashes and removal of unused dependencies.
CI / build (push) Has been skipped
CI / deploy (push) Has been cancelled
2026-02-19 09:25:37 -06:00
eewing 07836ce6bb Refactor layout.css and ItemsCrud.svelte for improved responsiveness and readability. Adjust font sizes for mobile and desktop views, and enhance layout constraints for better scaling on larger screens.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m35s
2026-02-18 14:32:48 -06:00
eewing cfff9de0e6 Enhance SvelteKit project by adding new API routes for dark mode toggling, updating existing route parameters, and improving type definitions. Refactor component imports and optimize asset handling for better performance and maintainability.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m29s
2026-02-18 14:16:38 -06:00
eewing a3db68e8fc Update layout.css to improve safe area handling for notched devices, ensuring a minimum padding for iOS status bar compatibility.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m36s
2026-02-18 13:59:53 -06:00
eewing b36851f964 Add search functionality to accounts, receipts, and transactions pages with dynamic filtering. Update UI elements for better responsiveness and user experience.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m28s
2026-02-18 13:41:12 -06:00
eewing e4be0aac35 Enhance routing in SvelteKit project by adding new routes for accounts and transactions, updating existing route parameters, and improving type definitions. Refactor component imports and optimize asset handling for better performance and maintainability.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m53s
2026-02-18 12:30:11 -06:00
eewing f6d0c065a4 PWA
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m31s
2026-02-18 11:45:07 -06:00
eewing 6167c760a1 Wrap slot in a div for improved layout structure and adjust CSS for better responsiveness, including font size and app shell constraints for small screens.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m36s
2026-02-18 11:18:16 -06:00
eewing 809c784209 Enhance routing in SvelteKit project by adding new receipt-related routes, updating existing route parameters, and improving layout handling. Refactor components to streamline UI interactions and remove unused imports for better performance.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m19s
2026-02-18 10:51:09 -06:00
eewing a82c89674a Enhance routing and layout in SvelteKit project by adding new routes for accounts and transactions, updating existing routes, and improving layout parameters. Refactor item handling and integrate barcode scanning functionality for better user experience.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m49s
2026-02-18 10:39:29 -06:00
eewing 27f297f9ec Refactor PocketBase client initialization, update HTML template for favicon handling, and remove redundant text in main components for improved clarity and performance in SvelteKit project.
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m39s
2026-02-17 15:30:31 -06:00
eewing 7269444163 Update environment variable declarations and modify HTML template for improved asset handling in SvelteKit project. 2026-02-17 15:30:20 -06:00
11231 changed files with 903606 additions and 143116 deletions
+15
View File
@@ -0,0 +1,15 @@
.DS_Store
Thumbs.db
node_modules
/.svelte-kit
/build
/.output
.env
.env.*
!.env.example
!.env.test
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
+217 -19
View File
@@ -10,17 +10,29 @@
"_internal.js"
]
},
"_button.js": {
"file": "chunks/button.js",
"name": "button",
"imports": [
"_index2.js",
"_utils.js"
]
},
"_card-content.js": {
"file": "chunks/card-content.js",
"name": "card-content",
"imports": [
"_index2.js",
"_utils.js"
]
},
"_environment.js": {
"file": "chunks/environment.js",
"name": "environment"
},
"_exports.js": {
"file": "chunks/exports.js",
"name": "exports",
"imports": [
"_index.js",
"_root.js"
]
"name": "exports"
},
"_false.js": {
"file": "chunks/false.js",
@@ -28,7 +40,25 @@
},
"_index.js": {
"file": "chunks/index.js",
"name": "index"
"name": "index",
"imports": [
"_index2.js"
]
},
"_index2.js": {
"file": "chunks/index2.js",
"name": "index",
"imports": [
"_false.js"
]
},
"_input.js": {
"file": "chunks/input.js",
"name": "input",
"imports": [
"_index2.js",
"_utils.js"
]
},
"_internal.js": {
"file": "chunks/internal.js",
@@ -45,15 +75,23 @@
"file": "chunks/root.js",
"name": "root",
"imports": [
"_index.js",
"_false.js"
"_index2.js"
]
},
"_shared.js": {
"file": "chunks/shared.js",
"name": "shared",
"imports": [
"_utils.js"
"_utils2.js"
]
},
"_state.svelte.js": {
"file": "chunks/state.svelte.js",
"name": "state.svelte",
"imports": [
"_index2.js",
"_exports.js",
"_root.js"
]
},
"_utils.js": {
@@ -81,10 +119,12 @@
"src": "node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte",
"isEntry": true,
"imports": [
"_index.js",
"_index2.js",
"_state.svelte.js",
"_exports.js",
"_root.js",
"_utils.js"
"_utils2.js",
"_index.js",
"_root.js"
]
},
"node_modules/@sveltejs/kit/src/runtime/server/index.js": {
@@ -97,7 +137,8 @@
"_environment.js",
"_shared.js",
"_exports.js",
"_utils.js",
"_utils2.js",
"_index.js",
"_internal.js"
]
},
@@ -108,16 +149,27 @@
"isEntry": true,
"isDynamicEntry": true
},
"src/routes/+layout.server.ts": {
"file": "entries/pages/_layout.server.ts.js",
"name": "entries/pages/_layout.server.ts",
"src": "src/routes/+layout.server.ts",
"isEntry": true
},
"src/routes/+layout.svelte": {
"file": "entries/pages/_layout.svelte.js",
"name": "entries/pages/_layout.svelte",
"src": "src/routes/+layout.svelte",
"isEntry": true,
"imports": [
"_index.js"
"_index2.js",
"_exports.js",
"_utils2.js",
"_root.js",
"_state.svelte.js",
"_utils.js"
],
"css": [
"_app/immutable/assets/_layout.xzg7NZgL.css"
"_app/immutable/assets/_layout.Qarrb9L6.css"
]
},
"src/routes/+layout.ts": {
@@ -138,8 +190,47 @@
"src": "src/routes/+page.svelte",
"isEntry": true,
"imports": [
"_index.js",
"_utils2.js"
"_button.js"
]
},
"src/routes/accounts/+page.server.ts": {
"file": "entries/pages/accounts/_page.server.ts.js",
"name": "entries/pages/accounts/_page.server.ts",
"src": "src/routes/accounts/+page.server.ts",
"isEntry": true
},
"src/routes/accounts/+page.svelte": {
"file": "entries/pages/accounts/_page.svelte.js",
"name": "entries/pages/accounts/_page.svelte",
"src": "src/routes/accounts/+page.svelte",
"isEntry": true,
"imports": [
"_index2.js",
"_button.js",
"_card-content.js",
"_input.js"
]
},
"src/routes/accounts/[id]/+page.svelte": {
"file": "entries/pages/accounts/_id_/_page.svelte.js",
"name": "entries/pages/accounts/_id_/_page.svelte",
"src": "src/routes/accounts/[id]/+page.svelte",
"isEntry": true,
"imports": [
"_index2.js",
"_button.js",
"_card-content.js"
]
},
"src/routes/accounts/new/+page.svelte": {
"file": "entries/pages/accounts/new/_page.svelte.js",
"name": "entries/pages/accounts/new/_page.svelte",
"src": "src/routes/accounts/new/+page.svelte",
"isEntry": true,
"imports": [
"_index2.js",
"_button.js",
"_card-content.js"
]
},
"src/routes/items/+page.server.ts": {
@@ -154,8 +245,35 @@
"src": "src/routes/items/+page.svelte",
"isEntry": true,
"imports": [
"_index.js",
"_utils2.js"
"_index2.js",
"_exports.js",
"_utils2.js",
"_root.js",
"_state.svelte.js",
"_utils.js",
"_card-content.js"
]
},
"src/routes/items/[id]/+page.server.ts": {
"file": "entries/pages/items/_id_/_page.server.ts.js",
"name": "entries/pages/items/_id_/_page.server.ts",
"src": "src/routes/items/[id]/+page.server.ts",
"isEntry": true
},
"src/routes/items/[id]/+page.svelte": {
"file": "entries/pages/items/_id_/_page.svelte.js",
"name": "entries/pages/items/_id_/_page.svelte",
"src": "src/routes/items/[id]/+page.svelte",
"isEntry": true,
"imports": [
"_index2.js",
"_button.js",
"_card-content.js",
"_utils.js",
"_exports.js",
"_utils2.js",
"_root.js",
"_state.svelte.js"
]
},
"src/routes/login/+page.server.ts": {
@@ -175,5 +293,85 @@
"name": "entries/pages/logout/_page.server.ts",
"src": "src/routes/logout/+page.server.ts",
"isEntry": true
},
"src/routes/receipts/+page.server.ts": {
"file": "entries/pages/receipts/_page.server.ts.js",
"name": "entries/pages/receipts/_page.server.ts",
"src": "src/routes/receipts/+page.server.ts",
"isEntry": true
},
"src/routes/receipts/+page.svelte": {
"file": "entries/pages/receipts/_page.svelte.js",
"name": "entries/pages/receipts/_page.svelte",
"src": "src/routes/receipts/+page.svelte",
"isEntry": true,
"imports": [
"_index2.js",
"_button.js",
"_card-content.js",
"_input.js"
]
},
"src/routes/receipts/[id]/+page.svelte": {
"file": "entries/pages/receipts/_id_/_page.svelte.js",
"name": "entries/pages/receipts/_id_/_page.svelte",
"src": "src/routes/receipts/[id]/+page.svelte",
"isEntry": true,
"imports": [
"_index2.js",
"_button.js",
"_card-content.js"
]
},
"src/routes/receipts/new/+page.svelte": {
"file": "entries/pages/receipts/new/_page.svelte.js",
"name": "entries/pages/receipts/new/_page.svelte",
"src": "src/routes/receipts/new/+page.svelte",
"isEntry": true,
"imports": [
"_index2.js",
"_button.js",
"_card-content.js"
]
},
"src/routes/transactions/+page.server.ts": {
"file": "entries/pages/transactions/_page.server.ts.js",
"name": "entries/pages/transactions/_page.server.ts",
"src": "src/routes/transactions/+page.server.ts",
"isEntry": true
},
"src/routes/transactions/+page.svelte": {
"file": "entries/pages/transactions/_page.svelte.js",
"name": "entries/pages/transactions/_page.svelte",
"src": "src/routes/transactions/+page.svelte",
"isEntry": true,
"imports": [
"_index2.js",
"_button.js",
"_card-content.js",
"_input.js"
]
},
"src/routes/transactions/[id]/+page.svelte": {
"file": "entries/pages/transactions/_id_/_page.svelte.js",
"name": "entries/pages/transactions/_id_/_page.svelte",
"src": "src/routes/transactions/[id]/+page.svelte",
"isEntry": true,
"imports": [
"_index2.js",
"_button.js",
"_card-content.js"
]
},
"src/routes/transactions/new/+page.svelte": {
"file": "entries/pages/transactions/new/_page.svelte.js",
"name": "entries/pages/transactions/new/_page.svelte",
"src": "src/routes/transactions/new/+page.svelte",
"isEntry": true,
"imports": [
"_index2.js",
"_button.js",
"_card-content.js"
]
}
}
File diff suppressed because one or more lines are too long
+72
View File
@@ -0,0 +1,72 @@
import { d as attributes, f as clsx, g as bind_props } from "./index2.js";
import { c as cn } from "./utils.js";
import { tv } from "tailwind-variants";
const buttonVariants = tv({
base: "focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
variants: {
variant: {
default: "bg-primary text-primary-foreground hover:bg-primary/90 shadow-xs",
destructive: "bg-destructive hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60 text-white shadow-xs",
outline: "bg-background hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 border shadow-xs",
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 shadow-xs",
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
link: "text-primary underline-offset-4 hover:underline"
},
size: {
default: "h-9 px-4 py-2 has-[>svg]:px-3",
sm: "h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
icon: "size-9",
"icon-sm": "size-8",
"icon-lg": "size-10"
}
},
defaultVariants: { variant: "default", size: "default" }
});
function Button($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
class: className,
variant = "default",
size = "default",
ref = null,
href = void 0,
type = "button",
disabled,
children,
$$slots,
$$events,
...restProps
} = $$props;
if (href) {
$$renderer2.push("<!--[-->");
$$renderer2.push(`<a${attributes({
"data-slot": "button",
class: clsx(cn(buttonVariants({ variant, size }), className)),
href: disabled ? void 0 : href,
"aria-disabled": disabled,
role: disabled ? "link" : void 0,
tabindex: disabled ? -1 : void 0,
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></a>`);
} else {
$$renderer2.push("<!--[!-->");
$$renderer2.push(`<button${attributes({
"data-slot": "button",
class: clsx(cn(buttonVariants({ variant, size }), className)),
type,
disabled,
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></button>`);
}
$$renderer2.push(`<!--]-->`);
bind_props($$props, { ref });
});
}
export {
Button as B
};
@@ -0,0 +1,46 @@
import { d as attributes, f as clsx, g as bind_props } from "./index2.js";
import { c as cn } from "./utils.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 });
});
}
export {
Card as C,
Card_content as a
};
+4 -62
View File
@@ -1,6 +1,3 @@
import { n as noop } from "./index.js";
import { s as safe_not_equal } from "./root.js";
import "clsx";
const SCHEME = /^[a-z][a-z\d+\-.]+:/i;
const internal = new URL("sveltekit-internal://");
function resolve(base, path) {
@@ -98,59 +95,6 @@ function allow_nodejs_console_log(url) {
};
}
}
const subscriber_queue = [];
function readable(value, start) {
return {
subscribe: writable(value, start).subscribe
};
}
function writable(value, start = noop) {
let stop = null;
const subscribers = /* @__PURE__ */ new Set();
function set(new_value) {
if (safe_not_equal(value, new_value)) {
value = new_value;
if (stop) {
const run_queue = !subscriber_queue.length;
for (const subscriber of subscribers) {
subscriber[1]();
subscriber_queue.push(subscriber, value);
}
if (run_queue) {
for (let i = 0; i < subscriber_queue.length; i += 2) {
subscriber_queue[i][0](subscriber_queue[i + 1]);
}
subscriber_queue.length = 0;
}
}
}
}
function update(fn) {
set(fn(
/** @type {T} */
value
));
}
function subscribe(run, invalidate = noop) {
const subscriber = [run, invalidate];
subscribers.add(subscriber);
if (subscribers.size === 1) {
stop = start(set, update) || noop;
}
run(
/** @type {T} */
value
);
return () => {
subscribers.delete(subscriber);
if (subscribers.size === 0 && stop) {
stop();
stop = null;
}
};
}
return { set, update, subscribe };
}
function validator(expected) {
function validate(module, file) {
if (!module) return;
@@ -221,12 +165,10 @@ export {
validate_page_server_exports as c,
disable_search as d,
validate_page_exports as e,
resolve as f,
decode_pathname as g,
validate_server_exports as h,
decode_pathname as f,
validate_server_exports as g,
make_trackable as m,
normalize_path as n,
readable as r,
validate_layout_server_exports as v,
writable as w
resolve as r,
validate_layout_server_exports as v
};
+2 -2
View File
@@ -1,4 +1,4 @@
const DEV = false;
const browser = false;
export {
DEV as D
browser as b
};
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+52
View File
@@ -0,0 +1,52 @@
import { d as attributes, f as clsx, g as bind_props } from "./index2.js";
import { c as cn } from "./utils.js";
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 });
});
}
export {
Input as I
};
+14 -2
View File
@@ -29,7 +29,19 @@ const options = {
service_worker: false,
service_worker_options: void 0,
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>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><rect width='32' height='32' rx='4' fill='%231e293b'/><text x='16' y='22' font-size='18' font-family='system-ui' fill='%2394a3b8' text-anchor='middle'>S</text></svg>" />
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=5, viewport-fit=cover" />
<meta name="theme-color" content="#0f172a" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="Stackq" />
<link rel="apple-touch-icon" href="/icon.svg" />
<link rel="manifest" href="/manifest.webmanifest" />
` + 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 +113,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: "1cw4viz"
version_hash: "9vwupj"
};
async function get_hooks() {
let handle;
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -2,7 +2,7 @@ import { json, text } from "@sveltejs/kit";
import { SvelteKitError, HttpError } from "@sveltejs/kit/internal";
import { with_request_store } from "@sveltejs/kit/internal/server";
import * as devalue from "devalue";
import { t as text_decoder, b as base64_encode, a as base64_decode } from "./utils.js";
import { t as text_decoder, b as base64_encode, a as base64_decode } from "./utils2.js";
const SVELTE_KIT_ASSETS = "/_svelte_kit_assets";
const ENDPOINT_METHODS = ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "HEAD"];
const PAGE_METHODS = ["GET", "POST", "HEAD"];
@@ -0,0 +1,18 @@
import "clsx";
import { n as noop } from "./index2.js";
import "./exports.js";
import "@sveltejs/kit/internal/server";
import "./root.js";
const is_legacy = noop.toString().includes("$$") || /function \w+\(\) \{\}/.test(noop.toString());
if (is_legacy) {
({
data: {},
form: null,
error: null,
params: {},
route: { id: null },
state: {},
status: -1,
url: new URL("https://example.com")
});
}
+5 -40
View File
@@ -1,43 +1,8 @@
const text_encoder = new TextEncoder();
const text_decoder = new TextDecoder();
function get_relative_path(from, to) {
const from_parts = from.split(/[/\\]/);
const to_parts = to.split(/[/\\]/);
from_parts.pop();
while (from_parts[0] === to_parts[0]) {
from_parts.shift();
to_parts.shift();
}
let i = from_parts.length;
while (i--) from_parts[i] = "..";
return from_parts.concat(to_parts).join("/");
}
function base64_encode(bytes) {
if (globalThis.Buffer) {
return globalThis.Buffer.from(bytes).toString("base64");
}
let binary = "";
for (let i = 0; i < bytes.length; i++) {
binary += String.fromCharCode(bytes[i]);
}
return btoa(binary);
}
function base64_decode(encoded) {
if (globalThis.Buffer) {
const buffer = globalThis.Buffer.from(encoded, "base64");
return new Uint8Array(buffer);
}
const binary = atob(encoded);
const bytes = new Uint8Array(binary.length);
for (let i = 0; i < binary.length; i++) {
bytes[i] = binary.charCodeAt(i);
}
return bytes;
import { clsx } from "clsx";
import { twMerge } from "tailwind-merge";
function cn(...inputs) {
return twMerge(clsx(inputs));
}
export {
base64_decode as a,
base64_encode as b,
text_encoder as c,
get_relative_path as g,
text_decoder as t
cn as c
};
+40 -5
View File
@@ -1,8 +1,43 @@
import { clsx } from "clsx";
import { twMerge } from "tailwind-merge";
function cn(...inputs) {
return twMerge(clsx(inputs));
const text_encoder = new TextEncoder();
const text_decoder = new TextDecoder();
function get_relative_path(from, to) {
const from_parts = from.split(/[/\\]/);
const to_parts = to.split(/[/\\]/);
from_parts.pop();
while (from_parts[0] === to_parts[0]) {
from_parts.shift();
to_parts.shift();
}
let i = from_parts.length;
while (i--) from_parts[i] = "..";
return from_parts.concat(to_parts).join("/");
}
function base64_encode(bytes) {
if (globalThis.Buffer) {
return globalThis.Buffer.from(bytes).toString("base64");
}
let binary = "";
for (let i = 0; i < bytes.length; i++) {
binary += String.fromCharCode(bytes[i]);
}
return btoa(binary);
}
function base64_decode(encoded) {
if (globalThis.Buffer) {
const buffer = globalThis.Buffer.from(encoded, "base64");
return new Uint8Array(buffer);
}
const binary = atob(encoded);
const bytes = new Uint8Array(binary.length);
for (let i = 0; i < binary.length; i++) {
bytes[i] = binary.charCodeAt(i);
}
return bytes;
}
export {
cn as c
base64_decode as a,
base64_encode as b,
text_encoder as c,
get_relative_path as g,
text_decoder as t
};
@@ -1,10 +1,12 @@
import { n as noop, g as getContext, e as escape_html } from "../../chunks/index.js";
import { i as getContext, e as escape_html } from "../../chunks/index2.js";
import "clsx";
import { w as writable } from "../../chunks/exports.js";
import "../../chunks/state.svelte.js";
import "@sveltejs/kit/internal";
import "../../chunks/exports.js";
import "../../chunks/utils2.js";
import { w as writable } from "../../chunks/index.js";
import "@sveltejs/kit/internal/server";
import "../../chunks/root.js";
import "@sveltejs/kit/internal";
import "../../chunks/utils.js";
function create_updated_store() {
const { set, subscribe } = writable(false);
{
@@ -15,19 +17,6 @@ function create_updated_store() {
};
}
}
const is_legacy = noop.toString().includes("$$") || /function \w+\(\) \{\}/.test(noop.toString());
if (is_legacy) {
({
data: {},
form: null,
error: null,
params: {},
route: { id: null },
state: {},
status: -1,
url: new URL("https://example.com")
});
}
const stores = {
updated: /* @__PURE__ */ create_updated_store()
};
@@ -0,0 +1,15 @@
const load = async ({ locals }) => {
const user = locals.user;
return {
user: user ? {
id: user.id,
email: user.email,
name: user.name,
avatar: user.avatar,
darkmode: !!user.darkmode
} : null
};
};
export {
load
};
File diff suppressed because it is too large Load Diff
@@ -2,8 +2,24 @@ const COLLECTION = "Stackq_Items";
const load = async ({ locals }) => {
const list = await locals.pb.collection(COLLECTION).getFullList({ sort: "-created", expand: "Parent" }).catch(() => []);
const itemsForParent = list.map((i) => ({ id: i.id, Item: i.Item, SKU: i.SKU }));
return { itemsForParent };
return { items: list, itemsForParent };
};
const actions = {
setDarkmode: async ({ request, locals }) => {
const user = locals.user;
if (!user) return { success: false };
const formData = await request.formData();
const darkmode = formData.get("darkmode") === "true";
try {
const record = await locals.pb.collection("users").update(user.id, { darkmode });
locals.pb.authStore.save(locals.pb.authStore.token, record);
return { success: true, darkmode };
} catch {
return { success: false };
}
}
};
export {
actions,
load
};
@@ -1,99 +1,59 @@
import "clsx";
import { a as attributes, c as clsx, b as bind_props } from "../../chunks/index.js";
import { c as cn } from "../../chunks/utils2.js";
import { tv } from "tailwind-variants";
const buttonVariants = tv({
base: "focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
variants: {
variant: {
default: "bg-primary text-primary-foreground hover:bg-primary/90 shadow-xs",
destructive: "bg-destructive hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60 text-white shadow-xs",
outline: "bg-background hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 border shadow-xs",
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 shadow-xs",
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
link: "text-primary underline-offset-4 hover:underline"
},
size: {
default: "h-9 px-4 py-2 has-[>svg]:px-3",
sm: "h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
icon: "size-9",
"icon-sm": "size-8",
"icon-lg": "size-10"
}
},
defaultVariants: { variant: "default", size: "default" }
});
function Button($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
class: className,
variant = "default",
size = "default",
ref = null,
href = void 0,
type = "button",
disabled,
children,
$$slots,
$$events,
...restProps
} = $$props;
if (href) {
$$renderer2.push("<!--[-->");
$$renderer2.push(`<a${attributes({
"data-slot": "button",
class: clsx(cn(buttonVariants({ variant, size }), className)),
href: disabled ? void 0 : href,
"aria-disabled": disabled,
role: disabled ? "link" : void 0,
tabindex: disabled ? -1 : void 0,
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></a>`);
} else {
$$renderer2.push("<!--[!-->");
$$renderer2.push(`<button${attributes({
"data-slot": "button",
class: clsx(cn(buttonVariants({ variant, size }), className)),
type,
disabled,
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></button>`);
}
$$renderer2.push(`<!--]-->`);
bind_props($$props, { ref });
});
}
function _page($$renderer) {
import { B as Button } from "../../chunks/button.js";
function _page($$renderer, $$props) {
let { data } = $$props;
{
$$renderer.push("<!--[!-->");
$$renderer.push(`<main class="flex min-h-screen flex-col items-center justify-center gap-6 p-8"><h1 class="text-2xl font-semibold">Stackq</h1> <p class="text-muted-foreground">Svelte 5 + shadcn-svelte + PocketBase</p> <div class="flex w-full max-w-xs flex-col gap-2"><a href="/items" class="block">`);
$$renderer.push(`<main class="flex min-h-screen flex-col items-center justify-center gap-6 p-6 sm:p-8"><h1 class="text-2xl font-semibold">Stackq</h1> <div class="flex w-full max-w-xs flex-col gap-3"><a href="/items" class="block">`);
Button($$renderer, {
class: "w-full",
class: "h-12 w-full min-h-12",
children: ($$renderer2) => {
$$renderer2.push(`<!---->Items table`);
$$renderer2.push(`<!---->Scan`);
},
$$slots: { default: true }
});
$$renderer.push(`<!----></a> <a href="/transactions" class="block">`);
Button($$renderer, {
class: "h-12 min-h-12 w-full",
variant: "outline",
children: ($$renderer2) => {
$$renderer2.push(`<!---->New Transaction`);
},
$$slots: { default: true }
});
$$renderer.push(`<!----></a> <a href="/items" class="block">`);
Button($$renderer, {
class: "w-full",
class: "h-12 min-h-12 w-full",
variant: "outline",
children: ($$renderer2) => {
$$renderer2.push(`<!---->New item`);
$$renderer2.push(`<!---->New Item`);
},
$$slots: { default: true }
});
$$renderer.push(`<!----></a> <a href="/logout" class="block">`);
$$renderer.push(`<!----></a></div> <div class="text-muted-foreground w-full max-w-xs border-t pt-4 text-center text-sm">Go to</div> <div class="flex w-full max-w-xs flex-col gap-2"><a href="/items" class="block">`);
Button($$renderer, {
class: "w-full",
class: "h-12 min-h-12 w-full",
variant: "outline",
children: ($$renderer2) => {
$$renderer2.push(`<!---->Log out`);
$$renderer2.push(`<!---->Items`);
},
$$slots: { default: true }
});
$$renderer.push(`<!----></a> <a href="/transactions" class="block">`);
Button($$renderer, {
class: "h-12 min-h-12 w-full",
variant: "outline",
children: ($$renderer2) => {
$$renderer2.push(`<!---->Transactions`);
},
$$slots: { default: true }
});
$$renderer.push(`<!----></a> <a href="/accounts" class="block">`);
Button($$renderer, {
class: "h-12 min-h-12 w-full",
variant: "outline",
children: ($$renderer2) => {
$$renderer2.push(`<!---->Accounts`);
},
$$slots: { default: true }
});
@@ -0,0 +1,39 @@
import { h as head, e as escape_html } from "../../../../chunks/index2.js";
import { B as Button } from "../../../../chunks/button.js";
import { C as Card, a as Card_content } from "../../../../chunks/card-content.js";
import "clsx";
function _page($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let { params } = $$props;
head("xw1yjl", $$renderer2, ($$renderer3) => {
$$renderer3.title(($$renderer4) => {
$$renderer4.push(`<title>Account Stackq</title>`);
});
});
$$renderer2.push(`<main class="container mx-auto flex flex-col gap-6 px-4 py-6 sm:px-6 sm:py-8"><div class="flex items-center gap-3"><a href="/accounts" class="text-muted-foreground hover:text-foreground shrink-0 text-sm" title="Back to accounts">Back</a> <h1 class="text-xl font-semibold sm:text-2xl">Account</h1></div> `);
Card($$renderer2, {
children: ($$renderer3) => {
Card_content($$renderer3, {
class: "flex flex-col gap-4 py-8",
children: ($$renderer4) => {
$$renderer4.push(`<p class="text-muted-foreground text-sm">Account ${escape_html(params.id)}</p> <a href="/accounts">`);
Button($$renderer4, {
variant: "outline",
children: ($$renderer5) => {
$$renderer5.push(`<!---->Back to accounts`);
},
$$slots: { default: true }
});
$$renderer4.push(`<!----></a>`);
},
$$slots: { default: true }
});
},
$$slots: { default: true }
});
$$renderer2.push(`<!----></main>`);
});
}
export {
_page as default
};
@@ -0,0 +1,6 @@
const load = async () => {
return { accounts: [] };
};
export {
load
};
@@ -0,0 +1,109 @@
import { h as head, e as escape_html, a as ensure_array_like, b as attr, c as stringify } from "../../../chunks/index2.js";
import { B as Button } from "../../../chunks/button.js";
import { C as Card, a as Card_content } from "../../../chunks/card-content.js";
import "clsx";
import { I as Input } from "../../../chunks/input.js";
function _page($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let { data } = $$props;
let searchQuery = "";
const accounts = data?.accounts ?? [];
const filteredAccounts = (() => {
const q = searchQuery.trim().toLowerCase();
if (!q) return accounts;
return accounts.filter((a) => a.id.toLowerCase().includes(q));
})();
let $$settled = true;
let $$inner_renderer;
function $$render_inner($$renderer3) {
head("11yx1mx", $$renderer3, ($$renderer4) => {
$$renderer4.title(($$renderer5) => {
$$renderer5.push(`<title>Accounts Stackq</title>`);
});
});
$$renderer3.push(`<main class="container mx-auto flex flex-col gap-6 px-4 py-6 sm:px-6 sm:py-8"><div class="flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between"><div class="flex items-center gap-3 min-w-0"><a href="/" class="text-muted-foreground hover:text-foreground shrink-0 text-sm" title="Back to main">Back</a> <h1 class="text-xl font-semibold truncate sm:text-2xl">Accounts</h1></div> <div class="flex flex-col gap-3 sm:flex-row sm:flex-wrap sm:items-center sm:gap-2"><div class="w-full sm:w-64 sm:min-w-0">`);
Input($$renderer3, {
type: "search",
placeholder: "Search accounts…",
class: "h-11 w-full sm:h-9",
get value() {
return searchQuery;
},
set value($$value) {
searchQuery = $$value;
$$settled = false;
}
});
$$renderer3.push(`<!----></div> <span class="text-muted-foreground text-sm shrink-0">${escape_html(filteredAccounts.length)}${escape_html(filteredAccounts.length !== accounts.length ? ` of ${accounts.length}` : "")} accounts</span> <a href="/accounts/new" class="block shrink-0">`);
Button($$renderer3, {
class: "w-full sm:w-auto min-h-11",
children: ($$renderer4) => {
$$renderer4.push(`<!---->New account`);
},
$$slots: { default: true }
});
$$renderer3.push(`<!----></a></div></div> `);
if (filteredAccounts.length === 0) {
$$renderer3.push("<!--[-->");
Card($$renderer3, {
children: ($$renderer4) => {
Card_content($$renderer4, {
class: "flex flex-col items-center justify-center gap-4 py-12",
children: ($$renderer5) => {
$$renderer5.push(`<p class="text-muted-foreground text-center text-sm">${escape_html(accounts.length === 0 ? "No accounts yet." : "No accounts match your search.")}</p> <p class="text-muted-foreground text-center text-xs">${escape_html(accounts.length === 0 ? "Create an account to get started." : "Try a different search.")}</p> <a href="/accounts/new">`);
Button($$renderer5, {
variant: "outline",
children: ($$renderer6) => {
$$renderer6.push(`<!---->New account`);
},
$$slots: { default: true }
});
$$renderer5.push(`<!----></a> <a href="/">`);
Button($$renderer5, {
variant: "ghost",
children: ($$renderer6) => {
$$renderer6.push(`<!---->Back to home`);
},
$$slots: { default: true }
});
$$renderer5.push(`<!----></a>`);
},
$$slots: { default: true }
});
},
$$slots: { default: true }
});
} else {
$$renderer3.push("<!--[!-->");
$$renderer3.push(`<div class="flex flex-col gap-2"><!--[-->`);
const each_array = ensure_array_like(filteredAccounts);
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
let account = each_array[$$index];
Card($$renderer3, {
children: ($$renderer4) => {
Card_content($$renderer4, {
class: "p-4",
children: ($$renderer5) => {
$$renderer5.push(`<a${attr("href", `/accounts/${stringify(account.id)}`)} class="font-medium hover:underline">Account ${escape_html(account.id)}</a>`);
},
$$slots: { default: true }
});
},
$$slots: { default: true }
});
}
$$renderer3.push(`<!--]--></div>`);
}
$$renderer3.push(`<!--]--></main>`);
}
do {
$$settled = true;
$$inner_renderer = $$renderer2.copy();
$$render_inner($$inner_renderer);
} while (!$$settled);
$$renderer2.subsume($$inner_renderer);
});
}
export {
_page as default
};
@@ -0,0 +1,44 @@
import { h as head } from "../../../../chunks/index2.js";
import { B as Button } from "../../../../chunks/button.js";
import { C as Card, a as Card_content } from "../../../../chunks/card-content.js";
import "clsx";
function _page($$renderer) {
head("phafx2", $$renderer, ($$renderer2) => {
$$renderer2.title(($$renderer3) => {
$$renderer3.push(`<title>New account Stackq</title>`);
});
});
$$renderer.push(`<main class="container mx-auto flex flex-col gap-6 px-4 py-6 sm:px-6 sm:py-8"><div class="flex items-center gap-3"><a href="/accounts" class="text-muted-foreground hover:text-foreground shrink-0 text-sm" title="Back to accounts">Back</a> <h1 class="text-xl font-semibold sm:text-2xl">New account</h1></div> `);
Card($$renderer, {
children: ($$renderer2) => {
Card_content($$renderer2, {
class: "flex flex-col gap-4 py-8",
children: ($$renderer3) => {
$$renderer3.push(`<p class="text-muted-foreground text-center text-sm">Account creation will be available here.</p> <div class="flex justify-center gap-2"><a href="/accounts">`);
Button($$renderer3, {
variant: "outline",
children: ($$renderer4) => {
$$renderer4.push(`<!---->Back to accounts`);
},
$$slots: { default: true }
});
$$renderer3.push(`<!----></a> <a href="/">`);
Button($$renderer3, {
variant: "ghost",
children: ($$renderer4) => {
$$renderer4.push(`<!---->Home`);
},
$$slots: { default: true }
});
$$renderer3.push(`<!----></a></div>`);
},
$$slots: { default: true }
});
},
$$slots: { default: true }
});
$$renderer.push(`<!----></main>`);
}
export {
_page as default
};
@@ -0,0 +1,79 @@
import { fail, redirect, error } from "@sveltejs/kit";
const COLLECTION = "Stackq_Items";
function parseNum(val) {
if (val === "" || val === null || val === void 0) return void 0;
const n = Number(val);
return Number.isFinite(n) ? n : void 0;
}
function parseBool(val) {
return val === "on" || val === "true" || val === true;
}
const load = async ({ params, locals }) => {
const id = params.id;
if (!id) throw error(404, "Item not found");
try {
const item = await locals.pb.collection(COLLECTION).getOne(id, { expand: "Parent" });
const list = await locals.pb.collection(COLLECTION).getFullList({ sort: "-created", expand: "Parent" }).catch(() => []);
const itemsForParent = list.map((i) => ({ id: i.id, Item: i.Item, SKU: i.SKU }));
return { item, itemsForParent };
} catch {
throw error(404, "Item not found");
}
};
const actions = {
update: async ({ request, locals, params }) => {
const id = params.id;
if (!id) return fail(400, { error: "Missing id", form: "update" });
const form = await request.formData();
const Item = form.get("Item")?.trim() ?? "";
const SKU = form.get("SKU")?.trim() ?? "";
const Description = form.get("Description")?.trim() ?? "";
const UOM = form.get("UOM")?.trim() ?? "";
const Cost = parseNum(form.get("Cost"));
const Vendor = form.get("Vendor")?.trim() ?? "";
const Catagory = form.get("Catagory")?.trim() ?? "";
const Sub_Catagory = form.get("Sub_Catagory")?.trim() ?? "";
const Has_Parent = parseBool(form.get("Has_Parent"));
const Parent = form.get("Parent")?.trim() ?? "";
const Stock = parseBool(form.get("Stock"));
const Image = form.get("Image");
const imageFile = Image && Image.size > 0 ? Image : void 0;
if (!Item) return fail(400, { error: "Item name is required", form: "update" });
try {
const body = {
Item,
SKU,
Description,
UOM: UOM || void 0,
Cost: Cost ?? 0,
Vendor,
Catagory: Catagory || void 0,
Sub_Catagory: Sub_Catagory || void 0,
Has_Parent: !!Has_Parent,
Parent: Parent || null,
Stock: !!Stock
};
if (imageFile) body.Image = imageFile;
await locals.pb.collection(COLLECTION).update(id, body);
} catch (e) {
const message = e && typeof e === "object" && "message" in e ? String(e.message) : "Update failed";
return fail(500, { error: message, form: "update" });
}
return { success: true };
},
delete: async ({ locals, params }) => {
const id = params.id;
if (!id) return fail(400, { error: "Missing id", form: "delete" });
try {
await locals.pb.collection(COLLECTION).delete(id);
} catch (e) {
const message = e && typeof e === "object" && "message" in e ? String(e.message) : "Delete failed";
return fail(500, { error: message, form: "delete" });
}
throw redirect(303, "/items");
}
};
export {
actions,
load
};
@@ -0,0 +1,168 @@
import { d as attributes, f as clsx, g as bind_props, h as head, e as escape_html, b as attr, a as ensure_array_like, c as stringify } from "../../../../chunks/index2.js";
import "../../../../chunks/button.js";
import { C as Card, a as Card_content } from "../../../../chunks/card-content.js";
import "clsx";
import { c as cn } from "../../../../chunks/utils.js";
import "@sveltejs/kit/internal";
import "../../../../chunks/exports.js";
import "../../../../chunks/utils2.js";
import "@sveltejs/kit/internal/server";
import "../../../../chunks/root.js";
import "../../../../chunks/state.svelte.js";
import PocketBase from "pocketbase";
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 });
});
}
const POCKETBASE_URL = "https://pocketbase.ccllc.pro";
const POCKETBASE_BASE_URL = POCKETBASE_URL;
let _pb = null;
function getPb() {
if (typeof window === "undefined") {
throw new Error("PocketBase client is only available in the browser. Use load/actions for server data.");
}
if (!_pb) _pb = new PocketBase(POCKETBASE_URL);
return _pb;
}
new Proxy({}, {
get(_, prop) {
if (prop === "baseUrl") return POCKETBASE_BASE_URL;
return getPb()[prop];
}
});
function _page($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let { data } = $$props;
const item = data?.item;
data?.itemsForParent ?? [];
const PB_BASE = "https://pocketbase.ccllc.pro";
const COLLECTION = "Stackq_Items";
function imageUrl(i) {
if (!i?.Image) return null;
return `${PB_BASE}/api/files/${COLLECTION}/${i.id}/${i.Image}`;
}
function asList(val) {
if (val == null) return [];
return Array.isArray(val) ? val : [val];
}
function formatDate(iso) {
if (!iso) return "—";
try {
return new Date(iso).toLocaleDateString(void 0, { dateStyle: "short", timeStyle: "short" });
} catch {
return iso;
}
}
data?.form === "update" ? data?.error ?? null : null;
let $$settled = true;
let $$inner_renderer;
function $$render_inner($$renderer3) {
head("1r2vy7b", $$renderer3, ($$renderer4) => {
$$renderer4.title(($$renderer5) => {
$$renderer5.push(`<title>${escape_html(item?.Item ?? "Item")} Stackq</title>`);
});
});
if (item) {
$$renderer3.push("<!--[-->");
$$renderer3.push(`<main class="container mx-auto flex flex-col gap-4 px-4 py-6 sm:gap-6 sm:px-6 sm:py-8"><div class="flex flex-wrap items-center gap-2 sm:gap-4 min-w-0"><a href="/" class="text-muted-foreground hover:text-foreground shrink-0 text-sm" title="Back to main">Home</a> <a href="/items" class="text-muted-foreground hover:text-foreground shrink-0 text-sm" title="Back to items">Back to items</a> <h1 class="text-xl font-semibold truncate min-w-0 flex-1 sm:text-2xl">${escape_html(item.Item ?? "—")}</h1> `);
{
$$renderer3.push("<!--[!-->");
}
$$renderer3.push(`<!--]--></div> <div class="grid gap-6 md:grid-cols-2">`);
Card($$renderer3, {
children: ($$renderer4) => {
Card_header($$renderer4, {
children: ($$renderer5) => {
$$renderer5.push(`<h2 class="text-lg font-medium">Details</h2>`);
},
$$slots: { default: true }
});
$$renderer4.push(`<!----> `);
Card_content($$renderer4, {
class: "space-y-4",
children: ($$renderer5) => {
if (imageUrl(item)) {
$$renderer5.push("<!--[-->");
$$renderer5.push(`<div><a${attr("href", imageUrl(item))} target="_blank" rel="noopener noreferrer" class="block overflow-hidden rounded-lg border"><img${attr("src", imageUrl(item))} alt="" class="max-h-64 w-full object-contain"/></a></div>`);
} else {
$$renderer5.push("<!--[!-->");
}
$$renderer5.push(`<!--]--> <dl class="grid gap-2 text-sm"><div class="flex gap-2"><dt class="text-muted-foreground w-24 shrink-0">SKU</dt> <dd class="font-mono">${escape_html(item.SKU ?? "—")}</dd></div> <div class="flex gap-2"><dt class="text-muted-foreground w-24 shrink-0">Description</dt> <dd>${escape_html(item.Description ?? "—")}</dd></div> <div class="flex gap-2"><dt class="text-muted-foreground w-24 shrink-0">UOM</dt> <dd>${escape_html(item.UOM ?? "—")}</dd></div> <div class="flex gap-2"><dt class="text-muted-foreground w-24 shrink-0">Cost</dt> <dd>${escape_html(item.Cost != null ? Number(item.Cost).toLocaleString() : "—")}</dd></div> <div class="flex gap-2"><dt class="text-muted-foreground w-24 shrink-0">Vendor</dt> <dd>${escape_html(item.Vendor ?? "—")}</dd></div> <div class="flex gap-2"><dt class="text-muted-foreground w-24 shrink-0">Category</dt> <dd><!--[-->`);
const each_array = ensure_array_like(asList(item.Catagory));
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
let cat = each_array[$$index];
$$renderer5.push(`<span class="mr-1 rounded bg-muted px-1.5 py-0.5 text-xs">${escape_html(cat)}</span>`);
}
$$renderer5.push(`<!--]--> `);
if (asList(item.Catagory).length === 0) {
$$renderer5.push("<!--[-->");
$$renderer5.push(``);
} else {
$$renderer5.push("<!--[!-->");
}
$$renderer5.push(`<!--]--></dd></div> <div class="flex gap-2"><dt class="text-muted-foreground w-24 shrink-0">Sub-category</dt> <dd><!--[-->`);
const each_array_1 = ensure_array_like(asList(item.Sub_Catagory));
for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
let sub = each_array_1[$$index_1];
$$renderer5.push(`<span class="mr-1 rounded border px-1.5 py-0.5 text-xs">${escape_html(sub)}</span>`);
}
$$renderer5.push(`<!--]--> `);
if (asList(item.Sub_Catagory).length === 0) {
$$renderer5.push("<!--[-->");
$$renderer5.push(``);
} else {
$$renderer5.push("<!--[!-->");
}
$$renderer5.push(`<!--]--></dd></div> <div class="flex gap-2"><dt class="text-muted-foreground w-24 shrink-0">Has Parent</dt> <dd>${escape_html(item.Has_Parent ? "Yes" : "No")}</dd></div> `);
if (item.Has_Parent && item.expand?.Parent) {
$$renderer5.push("<!--[-->");
$$renderer5.push(`<div class="flex gap-2"><dt class="text-muted-foreground w-24 shrink-0">Parent</dt> <dd><a${attr("href", `/items/${stringify(item.Parent)}`)} class="text-primary hover:underline">${escape_html(item.expand.Parent.Item ?? item.expand.Parent.SKU ?? item.Parent)}</a></dd></div>`);
} else {
$$renderer5.push("<!--[!-->");
}
$$renderer5.push(`<!--]--> <div class="flex gap-2"><dt class="text-muted-foreground w-24 shrink-0">Stock</dt> <dd>${escape_html(item.Stock ? "Yes" : "No")}</dd></div> <div class="flex gap-2"><dt class="text-muted-foreground w-24 shrink-0">Created</dt> <dd>${escape_html(formatDate(item.created))}</dd></div> <div class="flex gap-2"><dt class="text-muted-foreground w-24 shrink-0">Updated</dt> <dd>${escape_html(formatDate(item.updated))}</dd></div></dl>`);
},
$$slots: { default: true }
});
$$renderer4.push(`<!---->`);
},
$$slots: { default: true }
});
$$renderer3.push(`<!----></div></main> `);
{
$$renderer3.push("<!--[!-->");
}
$$renderer3.push(`<!--]-->`);
} else {
$$renderer3.push("<!--[!-->");
$$renderer3.push(`<main class="container mx-auto py-8"><p class="text-muted-foreground">Item not found.</p></main>`);
}
$$renderer3.push(`<!--]-->`);
}
do {
$$settled = true;
$$inner_renderer = $$renderer2.copy();
$$render_inner($$inner_renderer);
} while (!$$settled);
$$renderer2.subsume($$inner_renderer);
});
}
export {
_page as default
};
@@ -1,127 +1,35 @@
import { a as attributes, c as clsx, b as bind_props, d as element, h as head, e as escape_html, f as ensure_array_like, i as attr } from "../../../chunks/index.js";
import { c as cn } from "../../../chunks/utils2.js";
import { i as getContext, j as element, g as bind_props, d as attributes, f as clsx, k as store_get, h as head, e as escape_html, a as ensure_array_like, b as attr, c as stringify, u as unsubscribe_stores } from "../../../chunks/index2.js";
import "clsx";
import "@sveltejs/kit/internal";
import "../../../chunks/exports.js";
import "../../../chunks/utils2.js";
import "@sveltejs/kit/internal/server";
import "../../../chunks/root.js";
import "../../../chunks/state.svelte.js";
import { c as cn } from "../../../chunks/utils.js";
import { tv } from "tailwind-variants";
function Table($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
ref = null,
class: className,
children,
$$slots,
$$events,
...restProps
} = $$props;
$$renderer2.push(`<div data-slot="table-container" class="relative w-full overflow-x-auto"><table${attributes({
"data-slot": "table",
class: clsx(cn("w-full caption-bottom text-sm", className)),
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></table></div>`);
bind_props($$props, { ref });
});
}
function Table_body($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
ref = null,
class: className,
children,
$$slots,
$$events,
...restProps
} = $$props;
$$renderer2.push(`<tbody${attributes({
"data-slot": "table-body",
class: clsx(cn("[&_tr:last-child]:border-0", className)),
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></tbody>`);
bind_props($$props, { ref });
});
}
function Table_cell($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
ref = null,
class: className,
children,
$$slots,
$$events,
...restProps
} = $$props;
$$renderer2.push(`<td${attributes({
"data-slot": "table-cell",
class: clsx(cn("bg-clip-padding p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0", className)),
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></td>`);
bind_props($$props, { ref });
});
}
function Table_head($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
ref = null,
class: className,
children,
$$slots,
$$events,
...restProps
} = $$props;
$$renderer2.push(`<th${attributes({
"data-slot": "table-head",
class: clsx(cn("text-foreground h-10 bg-clip-padding px-2 text-start align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pe-0", className)),
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></th>`);
bind_props($$props, { ref });
});
}
function Table_header($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
ref = null,
class: className,
children,
$$slots,
$$events,
...restProps
} = $$props;
$$renderer2.push(`<thead${attributes({
"data-slot": "table-header",
class: clsx(cn("[&_tr]:border-b", className)),
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></thead>`);
bind_props($$props, { ref });
});
}
function Table_row($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let {
ref = null,
class: className,
children,
$$slots,
$$events,
...restProps
} = $$props;
$$renderer2.push(`<tr${attributes({
"data-slot": "table-row",
class: clsx(cn("hover:[&,&>svelte-css-wrapper]:[&>th,td]:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors", className)),
...restProps
})}>`);
children?.($$renderer2);
$$renderer2.push(`<!----></tr>`);
bind_props($$props, { ref });
});
}
import { C as Card, a as Card_content } from "../../../chunks/card-content.js";
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);
}
};
const badgeVariants = tv({
base: "focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] [&>svg]:pointer-events-none [&>svg]:size-3",
variants: {
@@ -165,61 +73,11 @@ function Badge($$renderer, $$props) {
bind_props($$props, { ref });
});
}
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 _page($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
var $$store_subs;
let { data } = $$props;
function asList(val) {
if (val == null) return [];
return Array.isArray(val) ? val : [val];
}
function formatDate(iso) {
if (!iso) return "—";
try {
return new Date(iso).toLocaleDateString(void 0, { dateStyle: "short", timeStyle: "short" });
} catch {
return iso;
}
}
store_get($$store_subs ??= {}, "$page", page).url.searchParams.get("q") ?? "";
const items = data?.items ?? [];
const PB_BASE = "https://pocketbase.ccllc.pro";
const COLLECTION = "Stackq_Items";
@@ -234,411 +92,84 @@ function _page($$renderer, $$props) {
});
{
$$renderer2.push("<!--[!-->");
$$renderer2.push(`<main class="container mx-auto flex flex-col gap-6 py-8"><div class="flex items-center justify-between"><h1 class="text-2xl font-semibold">Stackq Items</h1> <span class="text-muted-foreground text-sm">${escape_html(items.length)} items</span></div> `);
Card($$renderer2, {
children: ($$renderer3) => {
Card_content($$renderer3, {
class: "p-0",
children: ($$renderer4) => {
$$renderer4.push("<!---->");
Table?.($$renderer4, {
children: ($$renderer5) => {
$$renderer5.push("<!---->");
Table_header?.($$renderer5, {
children: ($$renderer6) => {
$$renderer6.push("<!---->");
Table_row?.($$renderer6, {
children: ($$renderer7) => {
$$renderer7.push("<!---->");
Table_head?.($$renderer7, {
children: ($$renderer8) => {
$$renderer8.push(`<!---->Image`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_head?.($$renderer7, {
children: ($$renderer8) => {
$$renderer8.push(`<!---->Item`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_head?.($$renderer7, {
children: ($$renderer8) => {
$$renderer8.push(`<!---->SKU`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_head?.($$renderer7, {
class: "max-w-[200px]",
children: ($$renderer8) => {
$$renderer8.push(`<!---->Description`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_head?.($$renderer7, {
children: ($$renderer8) => {
$$renderer8.push(`<!---->UOM`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_head?.($$renderer7, {
class: "text-right",
children: ($$renderer8) => {
$$renderer8.push(`<!---->Cost`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_head?.($$renderer7, {
children: ($$renderer8) => {
$$renderer8.push(`<!---->Vendor`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_head?.($$renderer7, {
children: ($$renderer8) => {
$$renderer8.push(`<!---->Catagory`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_head?.($$renderer7, {
children: ($$renderer8) => {
$$renderer8.push(`<!---->Sub_Catagory`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_head?.($$renderer7, {
children: ($$renderer8) => {
$$renderer8.push(`<!---->Has Parent`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_head?.($$renderer7, {
children: ($$renderer8) => {
$$renderer8.push(`<!---->Parent`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_head?.($$renderer7, {
children: ($$renderer8) => {
$$renderer8.push(`<!---->Stock`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_head?.($$renderer7, {
class: "text-muted-foreground",
children: ($$renderer8) => {
$$renderer8.push(`<!---->created`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_head?.($$renderer7, {
class: "text-muted-foreground",
children: ($$renderer8) => {
$$renderer8.push(`<!---->updated`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!---->`);
},
$$slots: { default: true }
});
$$renderer6.push(`<!---->`);
$$renderer2.push(`<main class="container mx-auto flex flex-col gap-6 px-4 py-8"><div class="flex items-center justify-between"><h1 class="text-2xl font-semibold">Stackq Items</h1> <span class="text-muted-foreground text-sm">${escape_html(items.length)} items</span></div> `);
if (items.length === 0) {
$$renderer2.push("<!--[-->");
Card($$renderer2, {
children: ($$renderer3) => {
Card_content($$renderer3, {
class: "flex h-32 items-center justify-center",
children: ($$renderer4) => {
$$renderer4.push(`<p class="text-muted-foreground text-sm">No items.</p>`);
},
$$slots: { default: true }
});
},
$$slots: { default: true }
});
} else {
$$renderer2.push("<!--[!-->");
$$renderer2.push(`<div class="flex flex-col gap-2"><!--[-->`);
const each_array = ensure_array_like(items);
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
let item = each_array[$$index];
Card($$renderer2, {
class: "overflow-hidden",
children: ($$renderer3) => {
Card_content($$renderer3, {
class: "flex flex-row items-center gap-3 p-3",
children: ($$renderer4) => {
$$renderer4.push(`<div class="size-12 shrink-0 overflow-hidden rounded border">`);
if (imageUrl(item)) {
$$renderer4.push("<!--[-->");
$$renderer4.push(`<img${attr("src", imageUrl(item))} alt="" class="size-full object-cover" loading="lazy"/>`);
} else {
$$renderer4.push("<!--[!-->");
$$renderer4.push(`<span class="text-muted-foreground flex size-full items-center justify-center text-xs">—</span>`);
}
$$renderer4.push(`<!--]--></div> <div class="min-w-0 flex-1"><a${attr("href", `/items/${stringify(item.id)}`)} class="font-medium hover:underline">${escape_html(item.Item ?? "—")}</a> <span class="text-muted-foreground font-mono text-xs">· ${escape_html(item.SKU ?? "—")}</span> `);
if (item.Description) {
$$renderer4.push("<!--[-->");
$$renderer4.push(`<span class="text-muted-foreground ml-1 truncate text-xs">· ${escape_html(item.Description)}</span>`);
} else {
$$renderer4.push("<!--[!-->");
}
$$renderer4.push(`<!--]--></div> <div class="flex shrink-0 items-center gap-2 text-xs">`);
Badge($$renderer4, {
variant: "outline",
children: ($$renderer5) => {
$$renderer5.push(`<!---->${escape_html(item.UOM ?? "—")}`);
},
$$slots: { default: true }
});
$$renderer5.push(`<!----> `);
$$renderer5.push("<!---->");
Table_body?.($$renderer5, {
children: ($$renderer6) => {
if (items.length === 0) {
$$renderer6.push("<!--[-->");
$$renderer6.push("<!---->");
Table_row?.($$renderer6, {
children: ($$renderer7) => {
$$renderer7.push("<!---->");
Table_cell?.($$renderer7, {
colspan: "14",
class: "h-24 text-center text-muted-foreground",
children: ($$renderer8) => {
$$renderer8.push(`<!---->No items.`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!---->`);
},
$$slots: { default: true }
});
$$renderer6.push(`<!---->`);
} else {
$$renderer6.push("<!--[!-->");
$$renderer6.push(`<!--[-->`);
const each_array = ensure_array_like(items);
for (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {
let item = each_array[$$index_2];
$$renderer6.push("<!---->");
Table_row?.($$renderer6, {
children: ($$renderer7) => {
$$renderer7.push("<!---->");
Table_cell?.($$renderer7, {
class: "w-16",
children: ($$renderer8) => {
if (imageUrl(item)) {
$$renderer8.push("<!--[-->");
$$renderer8.push(`<img${attr("src", imageUrl(item))} alt="" class="size-14 rounded border object-cover" loading="lazy"/>`);
} else {
$$renderer8.push("<!--[!-->");
$$renderer8.push(`<span class="text-muted-foreground text-xs">—</span>`);
}
$$renderer8.push(`<!--]-->`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_cell?.($$renderer7, {
class: "font-medium",
children: ($$renderer8) => {
$$renderer8.push(`<!---->${escape_html(item.Item ?? "—")}`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_cell?.($$renderer7, {
class: "font-mono text-xs",
children: ($$renderer8) => {
$$renderer8.push(`<!---->${escape_html(item.SKU ?? "—")}`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_cell?.($$renderer7, {
class: "max-w-[200px] truncate",
title: item.Description ?? "",
children: ($$renderer8) => {
$$renderer8.push(`<!---->${escape_html(item.Description ?? "—")}`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_cell?.($$renderer7, {
children: ($$renderer8) => {
Badge($$renderer8, {
variant: "outline",
children: ($$renderer9) => {
$$renderer9.push(`<!---->${escape_html(item.UOM ?? "—")}`);
},
$$slots: { default: true }
});
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_cell?.($$renderer7, {
class: "text-right tabular-nums",
children: ($$renderer8) => {
$$renderer8.push(`<!---->${escape_html(item.Cost != null ? Number(item.Cost).toLocaleString() : "—")}`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_cell?.($$renderer7, {
class: "text-muted-foreground",
children: ($$renderer8) => {
$$renderer8.push(`<!---->${escape_html(item.Vendor ?? "—")}`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_cell?.($$renderer7, {
children: ($$renderer8) => {
$$renderer8.push(`<!--[-->`);
const each_array_1 = ensure_array_like(asList(item.Catagory));
for (let $$index = 0, $$length2 = each_array_1.length; $$index < $$length2; $$index++) {
let cat = each_array_1[$$index];
Badge($$renderer8, {
variant: "secondary",
class: "mr-1 text-xs",
children: ($$renderer9) => {
$$renderer9.push(`<!---->${escape_html(cat)}`);
},
$$slots: { default: true }
});
}
$$renderer8.push(`<!--]--> `);
if (asList(item.Catagory).length === 0) {
$$renderer8.push("<!--[-->");
$$renderer8.push(`<span class="text-muted-foreground">—</span>`);
} else {
$$renderer8.push("<!--[!-->");
}
$$renderer8.push(`<!--]-->`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_cell?.($$renderer7, {
children: ($$renderer8) => {
$$renderer8.push(`<!--[-->`);
const each_array_2 = ensure_array_like(asList(item.Sub_Catagory));
for (let $$index_1 = 0, $$length2 = each_array_2.length; $$index_1 < $$length2; $$index_1++) {
let sub = each_array_2[$$index_1];
Badge($$renderer8, {
variant: "outline",
class: "mr-1 text-xs",
children: ($$renderer9) => {
$$renderer9.push(`<!---->${escape_html(sub)}`);
},
$$slots: { default: true }
});
}
$$renderer8.push(`<!--]--> `);
if (asList(item.Sub_Catagory).length === 0) {
$$renderer8.push("<!--[-->");
$$renderer8.push(`<span class="text-muted-foreground">—</span>`);
} else {
$$renderer8.push("<!--[!-->");
}
$$renderer8.push(`<!--]-->`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_cell?.($$renderer7, {
children: ($$renderer8) => {
if (item.Has_Parent) {
$$renderer8.push("<!--[-->");
Badge($$renderer8, {
children: ($$renderer9) => {
$$renderer9.push(`<!---->Yes`);
},
$$slots: { default: true }
});
} else {
$$renderer8.push("<!--[!-->");
$$renderer8.push(`<span class="text-muted-foreground">No</span>`);
}
$$renderer8.push(`<!--]-->`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_cell?.($$renderer7, {
class: "text-muted-foreground",
children: ($$renderer8) => {
if (item.expand?.Parent) {
$$renderer8.push("<!--[-->");
$$renderer8.push(`${escape_html(item.expand.Parent.Item ?? item.expand.Parent.SKU ?? item.Parent)}`);
} else if (item.Parent) {
$$renderer8.push("<!--[1-->");
$$renderer8.push(`<span class="font-mono text-xs">${escape_html(item.Parent)}</span>`);
} else {
$$renderer8.push("<!--[!-->");
$$renderer8.push(``);
}
$$renderer8.push(`<!--]-->`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_cell?.($$renderer7, {
children: ($$renderer8) => {
if (item.Stock) {
$$renderer8.push("<!--[-->");
Badge($$renderer8, {
variant: "default",
children: ($$renderer9) => {
$$renderer9.push(`<!---->Stock`);
},
$$slots: { default: true }
});
} else {
$$renderer8.push("<!--[!-->");
$$renderer8.push(`<span class="text-muted-foreground">—</span>`);
}
$$renderer8.push(`<!--]-->`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_cell?.($$renderer7, {
class: "text-muted-foreground text-xs",
children: ($$renderer8) => {
$$renderer8.push(`<!---->${escape_html(formatDate(item.created))}`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!----> `);
$$renderer7.push("<!---->");
Table_cell?.($$renderer7, {
class: "text-muted-foreground text-xs",
children: ($$renderer8) => {
$$renderer8.push(`<!---->${escape_html(formatDate(item.updated))}`);
},
$$slots: { default: true }
});
$$renderer7.push(`<!---->`);
},
$$slots: { default: true }
});
$$renderer6.push(`<!---->`);
}
$$renderer6.push(`<!--]-->`);
}
$$renderer6.push(`<!--]-->`);
},
$$slots: { default: true }
});
$$renderer5.push(`<!---->`);
$$renderer4.push(`<!----> <span class="tabular-nums">${escape_html(item.Cost != null ? Number(item.Cost).toLocaleString() : "—")}</span> `);
if (item.Stock) {
$$renderer4.push("<!--[-->");
Badge($$renderer4, {
variant: "default",
class: "text-xs",
children: ($$renderer5) => {
$$renderer5.push(`<!---->Stock`);
},
$$slots: { default: true }
});
} else {
$$renderer4.push("<!--[!-->");
}
$$renderer4.push(`<!--]--></div>`);
},
$$slots: { default: true }
});
$$renderer4.push(`<!---->`);
},
$$slots: { default: true }
});
},
$$slots: { default: true }
});
$$renderer2.push(`<!----></main>`);
}
$$renderer2.push(`<!--]--></div>`);
}
$$renderer2.push(`<!--]--></main>`);
}
$$renderer2.push(`<!--]-->`);
if ($$store_subs) unsubscribe_stores($$store_subs);
});
}
export {
@@ -0,0 +1,39 @@
import { h as head, e as escape_html } from "../../../../chunks/index2.js";
import { B as Button } from "../../../../chunks/button.js";
import { C as Card, a as Card_content } from "../../../../chunks/card-content.js";
import "clsx";
function _page($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let { data, params } = $$props;
head("8mhk6q", $$renderer2, ($$renderer3) => {
$$renderer3.title(($$renderer4) => {
$$renderer4.push(`<title>Receipt Stackq</title>`);
});
});
$$renderer2.push(`<main class="container mx-auto flex flex-col gap-6 px-4 py-6 sm:px-6 sm:py-8"><div class="flex items-center gap-3"><a href="/receipts" class="text-muted-foreground hover:text-foreground shrink-0 text-sm" title="Back to receipts">Back</a> <h1 class="text-xl font-semibold sm:text-2xl">Receipt</h1></div> `);
Card($$renderer2, {
children: ($$renderer3) => {
Card_content($$renderer3, {
class: "flex flex-col gap-4 py-8",
children: ($$renderer4) => {
$$renderer4.push(`<p class="text-muted-foreground text-sm">Receipt ${escape_html(params.id)}</p> <a href="/receipts">`);
Button($$renderer4, {
variant: "outline",
children: ($$renderer5) => {
$$renderer5.push(`<!---->Back to receipts`);
},
$$slots: { default: true }
});
$$renderer4.push(`<!----></a>`);
},
$$slots: { default: true }
});
},
$$slots: { default: true }
});
$$renderer2.push(`<!----></main>`);
});
}
export {
_page as default
};
@@ -0,0 +1,6 @@
const load = async () => {
return { receipts: [] };
};
export {
load
};
@@ -0,0 +1,109 @@
import { h as head, e as escape_html, a as ensure_array_like, b as attr, c as stringify } from "../../../chunks/index2.js";
import { B as Button } from "../../../chunks/button.js";
import { C as Card, a as Card_content } from "../../../chunks/card-content.js";
import "clsx";
import { I as Input } from "../../../chunks/input.js";
function _page($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let { data } = $$props;
let searchQuery = "";
const receipts = data?.receipts ?? [];
const filteredReceipts = (() => {
const q = searchQuery.trim().toLowerCase();
if (!q) return receipts;
return receipts.filter((r) => r.id.toLowerCase().includes(q));
})();
let $$settled = true;
let $$inner_renderer;
function $$render_inner($$renderer3) {
head("16kr07e", $$renderer3, ($$renderer4) => {
$$renderer4.title(($$renderer5) => {
$$renderer5.push(`<title>Receipts Stackq</title>`);
});
});
$$renderer3.push(`<main class="container mx-auto flex flex-col gap-6 px-4 py-6 sm:px-6 sm:py-8"><div class="flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between"><div class="flex items-center gap-3 min-w-0"><a href="/" class="text-muted-foreground hover:text-foreground shrink-0 text-sm" title="Back to main">Back</a> <h1 class="text-xl font-semibold truncate sm:text-2xl">Receipts</h1></div> <div class="flex flex-col gap-3 sm:flex-row sm:flex-wrap sm:items-center sm:gap-2"><div class="w-full sm:w-64 sm:min-w-0">`);
Input($$renderer3, {
type: "search",
placeholder: "Search receipts…",
class: "h-11 w-full sm:h-9",
get value() {
return searchQuery;
},
set value($$value) {
searchQuery = $$value;
$$settled = false;
}
});
$$renderer3.push(`<!----></div> <span class="text-muted-foreground text-sm shrink-0">${escape_html(filteredReceipts.length)}${escape_html(filteredReceipts.length !== receipts.length ? ` of ${receipts.length}` : "")} receipts</span> <a href="/receipts/new" class="block shrink-0">`);
Button($$renderer3, {
class: "w-full sm:w-auto min-h-11",
children: ($$renderer4) => {
$$renderer4.push(`<!---->New receipt`);
},
$$slots: { default: true }
});
$$renderer3.push(`<!----></a></div></div> `);
if (filteredReceipts.length === 0) {
$$renderer3.push("<!--[-->");
Card($$renderer3, {
children: ($$renderer4) => {
Card_content($$renderer4, {
class: "flex flex-col items-center justify-center gap-4 py-12",
children: ($$renderer5) => {
$$renderer5.push(`<p class="text-muted-foreground text-center text-sm">${escape_html(receipts.length === 0 ? "No receipts yet." : "No receipts match your search.")}</p> <p class="text-muted-foreground text-center text-xs">${escape_html(receipts.length === 0 ? "Create a receipt to get started." : "Try a different search.")}</p> <a href="/receipts/new">`);
Button($$renderer5, {
variant: "outline",
children: ($$renderer6) => {
$$renderer6.push(`<!---->New receipt`);
},
$$slots: { default: true }
});
$$renderer5.push(`<!----></a> <a href="/">`);
Button($$renderer5, {
variant: "ghost",
children: ($$renderer6) => {
$$renderer6.push(`<!---->Back to home`);
},
$$slots: { default: true }
});
$$renderer5.push(`<!----></a>`);
},
$$slots: { default: true }
});
},
$$slots: { default: true }
});
} else {
$$renderer3.push("<!--[!-->");
$$renderer3.push(`<div class="flex flex-col gap-2"><!--[-->`);
const each_array = ensure_array_like(filteredReceipts);
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
let receipt = each_array[$$index];
Card($$renderer3, {
children: ($$renderer4) => {
Card_content($$renderer4, {
class: "p-4",
children: ($$renderer5) => {
$$renderer5.push(`<a${attr("href", `/receipts/${stringify(receipt.id)}`)} class="font-medium hover:underline">Receipt ${escape_html(receipt.id)}</a>`);
},
$$slots: { default: true }
});
},
$$slots: { default: true }
});
}
$$renderer3.push(`<!--]--></div>`);
}
$$renderer3.push(`<!--]--></main>`);
}
do {
$$settled = true;
$$inner_renderer = $$renderer2.copy();
$$render_inner($$inner_renderer);
} while (!$$settled);
$$renderer2.subsume($$inner_renderer);
});
}
export {
_page as default
};
@@ -0,0 +1,44 @@
import { h as head } from "../../../../chunks/index2.js";
import { B as Button } from "../../../../chunks/button.js";
import { C as Card, a as Card_content } from "../../../../chunks/card-content.js";
import "clsx";
function _page($$renderer) {
head("1mqc1bt", $$renderer, ($$renderer2) => {
$$renderer2.title(($$renderer3) => {
$$renderer3.push(`<title>New receipt Stackq</title>`);
});
});
$$renderer.push(`<main class="container mx-auto flex flex-col gap-6 px-4 py-6 sm:px-6 sm:py-8"><div class="flex items-center gap-3"><a href="/receipts" class="text-muted-foreground hover:text-foreground shrink-0 text-sm" title="Back to receipts">Back</a> <h1 class="text-xl font-semibold sm:text-2xl">New receipt</h1></div> `);
Card($$renderer, {
children: ($$renderer2) => {
Card_content($$renderer2, {
class: "flex flex-col gap-4 py-8",
children: ($$renderer3) => {
$$renderer3.push(`<p class="text-muted-foreground text-center text-sm">Receipt creation will be available here.</p> <div class="flex justify-center gap-2"><a href="/receipts">`);
Button($$renderer3, {
variant: "outline",
children: ($$renderer4) => {
$$renderer4.push(`<!---->Back to receipts`);
},
$$slots: { default: true }
});
$$renderer3.push(`<!----></a> <a href="/">`);
Button($$renderer3, {
variant: "ghost",
children: ($$renderer4) => {
$$renderer4.push(`<!---->Home`);
},
$$slots: { default: true }
});
$$renderer3.push(`<!----></a></div>`);
},
$$slots: { default: true }
});
},
$$slots: { default: true }
});
$$renderer.push(`<!----></main>`);
}
export {
_page as default
};
@@ -0,0 +1,39 @@
import { h as head, e as escape_html } from "../../../../chunks/index2.js";
import { B as Button } from "../../../../chunks/button.js";
import { C as Card, a as Card_content } from "../../../../chunks/card-content.js";
import "clsx";
function _page($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let { params } = $$props;
head("kuo18u", $$renderer2, ($$renderer3) => {
$$renderer3.title(($$renderer4) => {
$$renderer4.push(`<title>Transaction Stackq</title>`);
});
});
$$renderer2.push(`<main class="container mx-auto flex flex-col gap-6 px-4 py-6 sm:px-6 sm:py-8"><div class="flex items-center gap-3"><a href="/transactions" class="text-muted-foreground hover:text-foreground shrink-0 text-sm" title="Back to transactions">Back</a> <h1 class="text-xl font-semibold sm:text-2xl">Transaction</h1></div> `);
Card($$renderer2, {
children: ($$renderer3) => {
Card_content($$renderer3, {
class: "flex flex-col gap-4 py-8",
children: ($$renderer4) => {
$$renderer4.push(`<p class="text-muted-foreground text-sm">Transaction ${escape_html(params.id)}</p> <a href="/transactions">`);
Button($$renderer4, {
variant: "outline",
children: ($$renderer5) => {
$$renderer5.push(`<!---->Back to transactions`);
},
$$slots: { default: true }
});
$$renderer4.push(`<!----></a>`);
},
$$slots: { default: true }
});
},
$$slots: { default: true }
});
$$renderer2.push(`<!----></main>`);
});
}
export {
_page as default
};
@@ -0,0 +1,6 @@
const load = async () => {
return { transactions: [] };
};
export {
load
};
@@ -0,0 +1,109 @@
import { h as head, e as escape_html, a as ensure_array_like, b as attr, c as stringify } from "../../../chunks/index2.js";
import { B as Button } from "../../../chunks/button.js";
import { C as Card, a as Card_content } from "../../../chunks/card-content.js";
import "clsx";
import { I as Input } from "../../../chunks/input.js";
function _page($$renderer, $$props) {
$$renderer.component(($$renderer2) => {
let { data } = $$props;
let searchQuery = "";
const transactions = data?.transactions ?? [];
const filteredTransactions = (() => {
const q = searchQuery.trim().toLowerCase();
if (!q) return transactions;
return transactions.filter((t) => t.id.toLowerCase().includes(q));
})();
let $$settled = true;
let $$inner_renderer;
function $$render_inner($$renderer3) {
head("1q0dtg6", $$renderer3, ($$renderer4) => {
$$renderer4.title(($$renderer5) => {
$$renderer5.push(`<title>Transactions Stackq</title>`);
});
});
$$renderer3.push(`<main class="container mx-auto flex flex-col gap-6 px-4 py-6 sm:px-6 sm:py-8"><div class="flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between"><div class="flex items-center gap-3 min-w-0"><a href="/" class="text-muted-foreground hover:text-foreground shrink-0 text-sm" title="Back to main">Back</a> <h1 class="text-xl font-semibold truncate sm:text-2xl">Transactions</h1></div> <div class="flex flex-col gap-3 sm:flex-row sm:flex-wrap sm:items-center sm:gap-2"><div class="w-full sm:w-64 sm:min-w-0">`);
Input($$renderer3, {
type: "search",
placeholder: "Search transactions…",
class: "h-11 w-full sm:h-9",
get value() {
return searchQuery;
},
set value($$value) {
searchQuery = $$value;
$$settled = false;
}
});
$$renderer3.push(`<!----></div> <span class="text-muted-foreground text-sm shrink-0">${escape_html(filteredTransactions.length)}${escape_html(filteredTransactions.length !== transactions.length ? ` of ${transactions.length}` : "")} transactions</span> <a href="/transactions/new" class="block shrink-0">`);
Button($$renderer3, {
class: "w-full sm:w-auto min-h-11",
children: ($$renderer4) => {
$$renderer4.push(`<!---->New transaction`);
},
$$slots: { default: true }
});
$$renderer3.push(`<!----></a></div></div> `);
if (filteredTransactions.length === 0) {
$$renderer3.push("<!--[-->");
Card($$renderer3, {
children: ($$renderer4) => {
Card_content($$renderer4, {
class: "flex flex-col items-center justify-center gap-4 py-12",
children: ($$renderer5) => {
$$renderer5.push(`<p class="text-muted-foreground text-center text-sm">${escape_html(transactions.length === 0 ? "No transactions yet." : "No transactions match your search.")}</p> <p class="text-muted-foreground text-center text-xs">${escape_html(transactions.length === 0 ? "Create a transaction to get started." : "Try a different search.")}</p> <a href="/transactions/new">`);
Button($$renderer5, {
variant: "outline",
children: ($$renderer6) => {
$$renderer6.push(`<!---->New transaction`);
},
$$slots: { default: true }
});
$$renderer5.push(`<!----></a> <a href="/">`);
Button($$renderer5, {
variant: "ghost",
children: ($$renderer6) => {
$$renderer6.push(`<!---->Back to home`);
},
$$slots: { default: true }
});
$$renderer5.push(`<!----></a>`);
},
$$slots: { default: true }
});
},
$$slots: { default: true }
});
} else {
$$renderer3.push("<!--[!-->");
$$renderer3.push(`<div class="flex flex-col gap-2"><!--[-->`);
const each_array = ensure_array_like(filteredTransactions);
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
let tx = each_array[$$index];
Card($$renderer3, {
children: ($$renderer4) => {
Card_content($$renderer4, {
class: "p-4",
children: ($$renderer5) => {
$$renderer5.push(`<a${attr("href", `/transactions/${stringify(tx.id)}`)} class="font-medium hover:underline">Transaction ${escape_html(tx.id)}</a>`);
},
$$slots: { default: true }
});
},
$$slots: { default: true }
});
}
$$renderer3.push(`<!--]--></div>`);
}
$$renderer3.push(`<!--]--></main>`);
}
do {
$$settled = true;
$$inner_renderer = $$renderer2.copy();
$$render_inner($$inner_renderer);
} while (!$$settled);
$$renderer2.subsume($$inner_renderer);
});
}
export {
_page as default
};
@@ -0,0 +1,44 @@
import { h as head } from "../../../../chunks/index2.js";
import { B as Button } from "../../../../chunks/button.js";
import { C as Card, a as Card_content } from "../../../../chunks/card-content.js";
import "clsx";
function _page($$renderer) {
head("a9qngp", $$renderer, ($$renderer2) => {
$$renderer2.title(($$renderer3) => {
$$renderer3.push(`<title>New transaction Stackq</title>`);
});
});
$$renderer.push(`<main class="container mx-auto flex flex-col gap-6 px-4 py-6 sm:px-6 sm:py-8"><div class="flex items-center gap-3"><a href="/transactions" class="text-muted-foreground hover:text-foreground shrink-0 text-sm" title="Back to transactions">Back</a> <h1 class="text-xl font-semibold sm:text-2xl">New transaction</h1></div> `);
Card($$renderer, {
children: ($$renderer2) => {
Card_content($$renderer2, {
class: "flex flex-col gap-4 py-8",
children: ($$renderer3) => {
$$renderer3.push(`<p class="text-muted-foreground text-center text-sm">Transaction creation will be available here.</p> <div class="flex justify-center gap-2"><a href="/transactions">`);
Button($$renderer3, {
variant: "outline",
children: ($$renderer4) => {
$$renderer4.push(`<!---->Back to transactions`);
},
$$slots: { default: true }
});
$$renderer3.push(`<!----></a> <a href="/">`);
Button($$renderer3, {
variant: "ghost",
children: ($$renderer4) => {
$$renderer4.push(`<!---->Home`);
},
$$slots: { default: true }
});
$$renderer3.push(`<!----></a></div>`);
},
$$slots: { default: true }
});
},
$$slots: { default: true }
});
$$renderer.push(`<!----></main>`);
}
export {
_page as default
};
+11 -10
View File
@@ -1,12 +1,13 @@
import { D as DEV } from "./chunks/false.js";
import { b as browser } from "./chunks/false.js";
import { json, text, error } from "@sveltejs/kit";
import { Redirect, SvelteKitError, ActionFailure, HttpError } from "@sveltejs/kit/internal";
import { with_request_store, merge_tracing, try_get_request_store } from "@sveltejs/kit/internal/server";
import { e as assets, c as base, d as app_dir, r as relative, o as override, f as reset } from "./chunks/environment.js";
import { E as ENDPOINT_METHODS, P as PAGE_METHODS, g as negotiate, m as method_not_allowed, h as handle_error_and_jsonify, i as get_status, j as is_form_content_type, k as normalize_error, l as get_global_name, o as serialize_uses, p as clarify_devalue_error, q as get_node_type, r as escape_html, S as SVELTE_KIT_ASSETS, e as create_remote_key, t as static_error_page, u as redirect_response, v as parse_remote_arg, b as stringify, w as deserialize_binary_form, x as has_prerendered_path, T as TRAILING_SLASH_PARAM, I as INVALIDATED_PARAM, y as handle_fatal_error, z as format_server_error } from "./chunks/shared.js";
import * as devalue from "devalue";
import { m as make_trackable, d as disable_search, a as decode_params, S as SCHEME, w as writable, r as readable, v as validate_layout_server_exports, b as validate_layout_exports, c as validate_page_server_exports, e as validate_page_exports, n as normalize_path, f as resolve, g as decode_pathname, h as validate_server_exports } from "./chunks/exports.js";
import { b as base64_encode, t as text_decoder, c as text_encoder, g as get_relative_path } from "./chunks/utils.js";
import { m as make_trackable, d as disable_search, a as decode_params, S as SCHEME, v as validate_layout_server_exports, b as validate_layout_exports, c as validate_page_server_exports, e as validate_page_exports, n as normalize_path, r as resolve, f as decode_pathname, g as validate_server_exports } from "./chunks/exports.js";
import { b as base64_encode, t as text_decoder, c as text_encoder, g as get_relative_path } from "./chunks/utils2.js";
import { w as writable, r as readable } from "./chunks/index.js";
import { p as public_env, r as read_implementation, o as options, s as set_private_env, a as set_public_env, g as get_hooks, b as set_read_implementation } from "./chunks/internal.js";
import { parse, serialize } from "cookie";
import * as set_cookie_parser from "set-cookie-parser";
@@ -207,7 +208,7 @@ async function handle_action_json_request(event, event_state, options2, server)
check_named_default_separate(actions);
try {
const data = await call_action(event, event_state, actions);
if (DEV) ;
if (browser) ;
if (data instanceof ActionFailure) {
return action_json({
type: "failure",
@@ -292,7 +293,7 @@ async function handle_action_request(event, event_state, server) {
check_named_default_separate(actions);
try {
const data = await call_action(event, event_state, actions);
if (DEV) ;
if (browser) ;
if (data instanceof ActionFailure) {
return {
type: "failure",
@@ -1592,7 +1593,7 @@ async function render_response({
};
const fetch2 = globalThis.fetch;
try {
if (DEV) ;
if (browser) ;
rendered = await with_request_store({ event, state: event_state }, async () => {
if (relative) override({ base: base$1, assets: assets$1 });
const maybe_promise = options2.root.render(props, render_opts);
@@ -2458,7 +2459,7 @@ async function render_page(event, event_state, page, options2, manifest, state,
const ssr = nodes.ssr();
const csr = nodes.csr();
if (ssr === false && !(state.prerendering && should_prerender_data)) {
if (DEV && action_result && !event.request.headers.has("x-sveltekit-action")) ;
if (browser && action_result && !event.request.headers.has("x-sveltekit-action")) ;
return await render_response({
branch: [],
fetched,
@@ -3312,12 +3313,12 @@ async function internal_respond(request, options2, manifest, state) {
if (url.pathname === base || url.pathname === base + "/") {
trailing_slash = "always";
} else if (page_nodes) {
if (DEV) ;
if (browser) ;
trailing_slash = page_nodes.trailing_slash();
} else if (route.endpoint) {
const node = await route.endpoint();
trailing_slash = node.trailingSlash ?? "never";
if (DEV) ;
if (browser) ;
}
if (!is_data_request) {
const normalized = normalize_path(url.pathname, trailing_slash);
@@ -3577,7 +3578,7 @@ async function internal_respond(request, options2, manifest, state) {
});
}
if (state.depth === 0) {
if (DEV && event2.url.pathname === "/.well-known/appspecific/com.chrome.devtools.json") ;
if (browser && event2.url.pathname === "/.well-known/appspecific/com.chrome.devtools.json") ;
return await respond_with_error({
event: event2,
event_state,
+86 -6
View File
@@ -7,17 +7,27 @@ function __memo(fn) {
return {
appDir: "_app",
appPath: "_app",
assets: new Set([]),
mimeTypes: {},
assets: new Set(["icon.svg"]),
mimeTypes: {".svg":"image/svg+xml"},
_: {
client: {start:"_app/immutable/entry/start.BXvCRdku.js",app:"_app/immutable/entry/app.c69iw9ai.js",imports:["_app/immutable/entry/start.BXvCRdku.js","_app/immutable/chunks/BapE3c1q.js","_app/immutable/chunks/DZmckTjd.js","_app/immutable/chunks/Dexp9pM5.js","_app/immutable/chunks/agKGoZF1.js","_app/immutable/entry/app.c69iw9ai.js","_app/immutable/chunks/CRDN6Mh7.js","_app/immutable/chunks/Dexp9pM5.js","_app/immutable/chunks/DZmckTjd.js","_app/immutable/chunks/agKGoZF1.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/25AjRaeI.js","_app/immutable/chunks/jOLfEXYH.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
client: {start:"_app/immutable/entry/start.BpNZlEyP.js",app:"_app/immutable/entry/app.C5eu7fVU.js",imports:["_app/immutable/entry/start.BpNZlEyP.js","_app/immutable/chunks/BuAKAdPx.js","_app/immutable/chunks/DzJWa70M.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/B7h8GtFa.js","_app/immutable/chunks/BfWekp-4.js","_app/immutable/entry/app.C5eu7fVU.js","_app/immutable/chunks/B5gxx3nr.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/BlbL38UD.js","_app/immutable/chunks/B7h8GtFa.js","_app/immutable/chunks/BfWekp-4.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DzJWa70M.js","_app/immutable/chunks/DkOFPg3x.js","_app/immutable/chunks/DoRZqEmo.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/5.js')),
__memo(() => import('./nodes/6.js')),
__memo(() => import('./nodes/7.js')),
__memo(() => import('./nodes/8.js')),
__memo(() => import('./nodes/9.js')),
__memo(() => import('./nodes/10.js')),
__memo(() => import('./nodes/11.js')),
__memo(() => import('./nodes/12.js')),
__memo(() => import('./nodes/13.js')),
__memo(() => import('./nodes/14.js')),
__memo(() => import('./nodes/15.js'))
],
remotes: {
@@ -30,26 +40,96 @@ return {
page: { layouts: [0,], errors: [1,], leaf: 2 },
endpoint: null
},
{
id: "/accounts",
pattern: /^\/accounts\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 10 },
endpoint: null
},
{
id: "/accounts/new",
pattern: /^\/accounts\/new\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 11 },
endpoint: null
},
{
id: "/accounts/[id]",
pattern: /^\/accounts\/([^/]+?)\/?$/,
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
page: { layouts: [0,], errors: [1,], leaf: 12 },
endpoint: null
},
{
id: "/items",
pattern: /^\/items\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 4 },
page: { layouts: [0,], errors: [1,], leaf: 13 },
endpoint: null
},
{
id: "/items/[id]",
pattern: /^\/items\/([^/]+?)\/?$/,
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
page: { layouts: [0,], errors: [1,], leaf: 14 },
endpoint: null
},
{
id: "/login",
pattern: /^\/login\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 5 },
page: { layouts: [0,], errors: [1,], leaf: 15 },
endpoint: null
},
{
id: "/logout",
pattern: /^\/logout\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 6 },
endpoint: null
},
{
id: "/receipts",
pattern: /^\/receipts\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 3 },
endpoint: null
},
{
id: "/receipts/new",
pattern: /^\/receipts\/new\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 4 },
endpoint: null
},
{
id: "/receipts/[id]",
pattern: /^\/receipts\/([^/]+?)\/?$/,
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
page: { layouts: [0,], errors: [1,], leaf: 5 },
endpoint: null
},
{
id: "/transactions",
pattern: /^\/transactions\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 7 },
endpoint: null
},
{
id: "/transactions/new",
pattern: /^\/transactions\/new\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 8 },
endpoint: null
},
{
id: "/transactions/[id]",
pattern: /^\/transactions\/([^/]+?)\/?$/,
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
page: { layouts: [0,], errors: [1,], leaf: 9 },
endpoint: null
}
],
prerendered_routes: new Set([]),
+86 -6
View File
@@ -7,17 +7,27 @@ function __memo(fn) {
return {
appDir: "_app",
appPath: "_app",
assets: new Set([]),
mimeTypes: {},
assets: new Set(["icon.svg"]),
mimeTypes: {".svg":"image/svg+xml"},
_: {
client: {start:"_app/immutable/entry/start.BXvCRdku.js",app:"_app/immutable/entry/app.c69iw9ai.js",imports:["_app/immutable/entry/start.BXvCRdku.js","_app/immutable/chunks/BapE3c1q.js","_app/immutable/chunks/DZmckTjd.js","_app/immutable/chunks/Dexp9pM5.js","_app/immutable/chunks/agKGoZF1.js","_app/immutable/entry/app.c69iw9ai.js","_app/immutable/chunks/CRDN6Mh7.js","_app/immutable/chunks/Dexp9pM5.js","_app/immutable/chunks/DZmckTjd.js","_app/immutable/chunks/agKGoZF1.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/25AjRaeI.js","_app/immutable/chunks/jOLfEXYH.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
client: {start:"_app/immutable/entry/start.BpNZlEyP.js",app:"_app/immutable/entry/app.C5eu7fVU.js",imports:["_app/immutable/entry/start.BpNZlEyP.js","_app/immutable/chunks/BuAKAdPx.js","_app/immutable/chunks/DzJWa70M.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/B7h8GtFa.js","_app/immutable/chunks/BfWekp-4.js","_app/immutable/entry/app.C5eu7fVU.js","_app/immutable/chunks/B5gxx3nr.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/BlbL38UD.js","_app/immutable/chunks/B7h8GtFa.js","_app/immutable/chunks/BfWekp-4.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DzJWa70M.js","_app/immutable/chunks/DkOFPg3x.js","_app/immutable/chunks/DoRZqEmo.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/5.js')),
__memo(() => import('./nodes/6.js')),
__memo(() => import('./nodes/7.js')),
__memo(() => import('./nodes/8.js')),
__memo(() => import('./nodes/9.js')),
__memo(() => import('./nodes/10.js')),
__memo(() => import('./nodes/11.js')),
__memo(() => import('./nodes/12.js')),
__memo(() => import('./nodes/13.js')),
__memo(() => import('./nodes/14.js')),
__memo(() => import('./nodes/15.js'))
],
remotes: {
@@ -30,26 +40,96 @@ return {
page: { layouts: [0,], errors: [1,], leaf: 2 },
endpoint: null
},
{
id: "/accounts",
pattern: /^\/accounts\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 10 },
endpoint: null
},
{
id: "/accounts/new",
pattern: /^\/accounts\/new\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 11 },
endpoint: null
},
{
id: "/accounts/[id]",
pattern: /^\/accounts\/([^/]+?)\/?$/,
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
page: { layouts: [0,], errors: [1,], leaf: 12 },
endpoint: null
},
{
id: "/items",
pattern: /^\/items\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 4 },
page: { layouts: [0,], errors: [1,], leaf: 13 },
endpoint: null
},
{
id: "/items/[id]",
pattern: /^\/items\/([^/]+?)\/?$/,
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
page: { layouts: [0,], errors: [1,], leaf: 14 },
endpoint: null
},
{
id: "/login",
pattern: /^\/login\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 5 },
page: { layouts: [0,], errors: [1,], leaf: 15 },
endpoint: null
},
{
id: "/logout",
pattern: /^\/logout\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 6 },
endpoint: null
},
{
id: "/receipts",
pattern: /^\/receipts\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 3 },
endpoint: null
},
{
id: "/receipts/new",
pattern: /^\/receipts\/new\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 4 },
endpoint: null
},
{
id: "/receipts/[id]",
pattern: /^\/receipts\/([^/]+?)\/?$/,
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
page: { layouts: [0,], errors: [1,], leaf: 5 },
endpoint: null
},
{
id: "/transactions",
pattern: /^\/transactions\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 7 },
endpoint: null
},
{
id: "/transactions/new",
pattern: /^\/transactions\/new\/?$/,
params: [],
page: { layouts: [0,], errors: [1,], leaf: 8 },
endpoint: null
},
{
id: "/transactions/[id]",
pattern: /^\/transactions\/([^/]+?)\/?$/,
params: [{"name":"id","optional":false,"rest":false,"chained":false}],
page: { layouts: [0,], errors: [1,], leaf: 9 },
endpoint: null
}
],
prerendered_routes: new Set([]),
+5 -2
View File
@@ -1,10 +1,13 @@
import * as universal from '../entries/pages/_layout.ts.js';
import * as server from '../entries/pages/_layout.server.ts.js';
export const index = 0;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;
export { universal };
export const universal_id = "src/routes/+layout.ts";
export const imports = ["_app/immutable/nodes/0.BXv9ZfXj.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/hqfhVoHF.js","_app/immutable/chunks/Dexp9pM5.js"];
export const stylesheets = ["_app/immutable/assets/0.DbRKE6YE.css"];
export { server };
export const server_id = "src/routes/+layout.server.ts";
export const imports = ["_app/immutable/nodes/0.CnK4IQDA.js","_app/immutable/chunks/B5gxx3nr.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/BlbL38UD.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DzJWa70M.js","_app/immutable/chunks/B7h8GtFa.js","_app/immutable/chunks/BfWekp-4.js","_app/immutable/chunks/BPc-JNDc.js","_app/immutable/chunks/B3aNbgJc.js","_app/immutable/chunks/BuAKAdPx.js","_app/immutable/chunks/DoRZqEmo.js","_app/immutable/chunks/CaCQx3BS.js","_app/immutable/chunks/DAapakUx.js","_app/immutable/chunks/DjaSJnz7.js","_app/immutable/chunks/DTbYdmbV.js","_app/immutable/chunks/CFHX6GDu.js"];
export const stylesheets = ["_app/immutable/assets/0.CXvyW7eD.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.BT8sl3NL.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/hqfhVoHF.js","_app/immutable/chunks/Dexp9pM5.js","_app/immutable/chunks/DZmckTjd.js","_app/immutable/chunks/agKGoZF1.js","_app/immutable/chunks/BapE3c1q.js"];
export const imports = ["_app/immutable/nodes/1.CYwXj6SJ.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DAapakUx.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/B7h8GtFa.js","_app/immutable/chunks/BfWekp-4.js","_app/immutable/chunks/DjaSJnz7.js","_app/immutable/chunks/BuAKAdPx.js","_app/immutable/chunks/DzJWa70M.js"];
export const stylesheets = [];
export const fonts = [];
+10
View File
@@ -0,0 +1,10 @@
import * as server from '../entries/pages/accounts/_page.server.ts.js';
export const index = 10;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/accounts/_page.svelte.js')).default;
export { server };
export const server_id = "src/routes/accounts/+page.server.ts";
export const imports = ["_app/immutable/nodes/10.Vd6sWzh2.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/B7h8GtFa.js","_app/immutable/chunks/BfWekp-4.js","_app/immutable/chunks/BlbL38UD.js","_app/immutable/chunks/BhGBB4Qh.js","_app/immutable/chunks/ChlQth4G.js","_app/immutable/chunks/BPc-JNDc.js","_app/immutable/chunks/CcEFwafz.js","_app/immutable/chunks/BNQ00IGn.js","_app/immutable/chunks/DkOFPg3x.js","_app/immutable/chunks/DoRZqEmo.js","_app/immutable/chunks/Y4l2nr7b.js","_app/immutable/chunks/CB0VnWqK.js","_app/immutable/chunks/DTbYdmbV.js"];
export const stylesheets = [];
export const fonts = [];
+8
View File
@@ -0,0 +1,8 @@
export const index = 11;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/accounts/new/_page.svelte.js')).default;
export const imports = ["_app/immutable/nodes/11.D5k1Bnhv.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DAapakUx.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/ChlQth4G.js","_app/immutable/chunks/CcEFwafz.js","_app/immutable/chunks/BPc-JNDc.js","_app/immutable/chunks/BlbL38UD.js","_app/immutable/chunks/BfWekp-4.js","_app/immutable/chunks/BNQ00IGn.js","_app/immutable/chunks/DkOFPg3x.js","_app/immutable/chunks/DoRZqEmo.js","_app/immutable/chunks/Y4l2nr7b.js"];
export const stylesheets = [];
export const fonts = [];
+8
View File
@@ -0,0 +1,8 @@
export const index = 12;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/accounts/_id_/_page.svelte.js')).default;
export const imports = ["_app/immutable/nodes/12.CBQbcati.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/B7h8GtFa.js","_app/immutable/chunks/BfWekp-4.js","_app/immutable/chunks/ChlQth4G.js","_app/immutable/chunks/CcEFwafz.js","_app/immutable/chunks/BPc-JNDc.js","_app/immutable/chunks/BlbL38UD.js","_app/immutable/chunks/BNQ00IGn.js","_app/immutable/chunks/DkOFPg3x.js","_app/immutable/chunks/DoRZqEmo.js","_app/immutable/chunks/Y4l2nr7b.js"];
export const stylesheets = [];
export const fonts = [];
+10
View File
@@ -0,0 +1,10 @@
import * as server from '../entries/pages/items/_page.server.ts.js';
export const index = 13;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/items/_page.svelte.js')).default;
export { server };
export const server_id = "src/routes/items/+page.server.ts";
export const imports = ["_app/immutable/nodes/13.D3zuOlaF.js","_app/immutable/chunks/Cel1DXuQ.js","_app/immutable/chunks/B5gxx3nr.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/BlbL38UD.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/Cua5CQwk.js","_app/immutable/chunks/ChlQth4G.js","_app/immutable/chunks/DoRZqEmo.js","_app/immutable/chunks/BfWekp-4.js","_app/immutable/chunks/BuAKAdPx.js","_app/immutable/chunks/DzJWa70M.js","_app/immutable/chunks/B7h8GtFa.js","_app/immutable/chunks/BNQ00IGn.js","_app/immutable/chunks/BPc-JNDc.js","_app/immutable/chunks/fb4NW7RP.js","_app/immutable/chunks/DkOFPg3x.js"];
export const stylesheets = [];
export const fonts = [];
+10
View File
@@ -0,0 +1,10 @@
import * as server from '../entries/pages/items/_id_/_page.server.ts.js';
export const index = 14;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/items/_id_/_page.svelte.js')).default;
export { server };
export const server_id = "src/routes/items/[id]/+page.server.ts";
export const imports = ["_app/immutable/nodes/14.B93ZZMys.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/B7h8GtFa.js","_app/immutable/chunks/BfWekp-4.js","_app/immutable/chunks/BlbL38UD.js","_app/immutable/chunks/BhGBB4Qh.js","_app/immutable/chunks/B5gxx3nr.js","_app/immutable/chunks/ChlQth4G.js","_app/immutable/chunks/B3aNbgJc.js","_app/immutable/chunks/BuAKAdPx.js","_app/immutable/chunks/DzJWa70M.js","_app/immutable/chunks/DoRZqEmo.js","_app/immutable/chunks/BPc-JNDc.js","_app/immutable/chunks/CcEFwafz.js","_app/immutable/chunks/BNQ00IGn.js","_app/immutable/chunks/DkOFPg3x.js","_app/immutable/chunks/Y4l2nr7b.js","_app/immutable/chunks/AlWcxmGf.js","_app/immutable/chunks/Do7CCxfs.js","_app/immutable/chunks/CaCQx3BS.js","_app/immutable/chunks/fb4NW7RP.js","_app/immutable/chunks/CB0VnWqK.js","_app/immutable/chunks/DTbYdmbV.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 = 15;
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/15.ChrpyJ03.js","_app/immutable/chunks/B5gxx3nr.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/BlbL38UD.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/Cua5CQwk.js"];
export const stylesheets = [];
export const fonts = [];
+1 -1
View File
@@ -5,6 +5,6 @@ let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js')).default;
export { server };
export const server_id = "src/routes/+page.server.ts";
export const imports = ["_app/immutable/nodes/2.OkkHA0lV.js","_app/immutable/chunks/CRDN6Mh7.js","_app/immutable/chunks/Dexp9pM5.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/hqfhVoHF.js","_app/immutable/chunks/DcVg5zjO.js","_app/immutable/chunks/B12dZE2q.js","_app/immutable/chunks/BKSreT2u.js","_app/immutable/chunks/agKGoZF1.js","_app/immutable/chunks/jOLfEXYH.js"];
export const imports = ["_app/immutable/nodes/2.Ds5Yb8tM.js","_app/immutable/chunks/B5gxx3nr.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/BlbL38UD.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/Cua5CQwk.js","_app/immutable/chunks/CcEFwafz.js","_app/immutable/chunks/BPc-JNDc.js","_app/immutable/chunks/BfWekp-4.js","_app/immutable/chunks/BNQ00IGn.js","_app/immutable/chunks/DkOFPg3x.js","_app/immutable/chunks/DoRZqEmo.js"];
export const stylesheets = [];
export const fonts = [];
+5 -3
View File
@@ -1,8 +1,10 @@
import * as server from '../entries/pages/logout/_page.server.ts.js';
import * as server from '../entries/pages/receipts/_page.server.ts.js';
export const index = 3;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/receipts/_page.svelte.js')).default;
export { server };
export const server_id = "src/routes/logout/+page.server.ts";
export const imports = [];
export const server_id = "src/routes/receipts/+page.server.ts";
export const imports = ["_app/immutable/nodes/3.D4HOGM92.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/B7h8GtFa.js","_app/immutable/chunks/BfWekp-4.js","_app/immutable/chunks/BlbL38UD.js","_app/immutable/chunks/BhGBB4Qh.js","_app/immutable/chunks/ChlQth4G.js","_app/immutable/chunks/BPc-JNDc.js","_app/immutable/chunks/CcEFwafz.js","_app/immutable/chunks/BNQ00IGn.js","_app/immutable/chunks/DkOFPg3x.js","_app/immutable/chunks/DoRZqEmo.js","_app/immutable/chunks/Y4l2nr7b.js","_app/immutable/chunks/CB0VnWqK.js","_app/immutable/chunks/DTbYdmbV.js"];
export const stylesheets = [];
export const fonts = [];
+3 -5
View File
@@ -1,10 +1,8 @@
import * as server from '../entries/pages/items/_page.server.ts.js';
export const index = 4;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/items/_page.svelte.js')).default;
export { server };
export const server_id = "src/routes/items/+page.server.ts";
export const imports = ["_app/immutable/nodes/4.Bn1qLW0B.js","_app/immutable/chunks/BxPgF2w2.js","_app/immutable/chunks/CRDN6Mh7.js","_app/immutable/chunks/Dexp9pM5.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DcVg5zjO.js","_app/immutable/chunks/25AjRaeI.js","_app/immutable/chunks/BKSreT2u.js","_app/immutable/chunks/agKGoZF1.js","_app/immutable/chunks/BC20z61P.js","_app/immutable/chunks/jOLfEXYH.js"];
export const component = async () => component_cache ??= (await import('../entries/pages/receipts/new/_page.svelte.js')).default;
export const imports = ["_app/immutable/nodes/4.Csb2MtEV.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DAapakUx.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/ChlQth4G.js","_app/immutable/chunks/CcEFwafz.js","_app/immutable/chunks/BPc-JNDc.js","_app/immutable/chunks/BlbL38UD.js","_app/immutable/chunks/BfWekp-4.js","_app/immutable/chunks/BNQ00IGn.js","_app/immutable/chunks/DkOFPg3x.js","_app/immutable/chunks/DoRZqEmo.js","_app/immutable/chunks/Y4l2nr7b.js"];
export const stylesheets = [];
export const fonts = [];
+3 -5
View File
@@ -1,10 +1,8 @@
import * as server from '../entries/pages/login/_page.server.ts.js';
export const index = 5;
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/5.u4tkKrg-.js","_app/immutable/chunks/CRDN6Mh7.js","_app/immutable/chunks/Dexp9pM5.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DcVg5zjO.js","_app/immutable/chunks/25AjRaeI.js"];
export const component = async () => component_cache ??= (await import('../entries/pages/receipts/_id_/_page.svelte.js')).default;
export const imports = ["_app/immutable/nodes/5.BQAFw-7p.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/B7h8GtFa.js","_app/immutable/chunks/BfWekp-4.js","_app/immutable/chunks/ChlQth4G.js","_app/immutable/chunks/CcEFwafz.js","_app/immutable/chunks/BPc-JNDc.js","_app/immutable/chunks/BlbL38UD.js","_app/immutable/chunks/BNQ00IGn.js","_app/immutable/chunks/DkOFPg3x.js","_app/immutable/chunks/DoRZqEmo.js","_app/immutable/chunks/Y4l2nr7b.js"];
export const stylesheets = [];
export const fonts = [];
+8
View File
@@ -0,0 +1,8 @@
import * as server from '../entries/pages/logout/_page.server.ts.js';
export const index = 6;
export { server };
export const server_id = "src/routes/logout/+page.server.ts";
export const imports = [];
export const stylesheets = [];
export const fonts = [];
+10
View File
@@ -0,0 +1,10 @@
import * as server from '../entries/pages/transactions/_page.server.ts.js';
export const index = 7;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/transactions/_page.svelte.js')).default;
export { server };
export const server_id = "src/routes/transactions/+page.server.ts";
export const imports = ["_app/immutable/nodes/7.4OT7_ZJx.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/B7h8GtFa.js","_app/immutable/chunks/BfWekp-4.js","_app/immutable/chunks/BlbL38UD.js","_app/immutable/chunks/BhGBB4Qh.js","_app/immutable/chunks/ChlQth4G.js","_app/immutable/chunks/BPc-JNDc.js","_app/immutable/chunks/CcEFwafz.js","_app/immutable/chunks/BNQ00IGn.js","_app/immutable/chunks/DkOFPg3x.js","_app/immutable/chunks/DoRZqEmo.js","_app/immutable/chunks/Y4l2nr7b.js","_app/immutable/chunks/CB0VnWqK.js","_app/immutable/chunks/DTbYdmbV.js"];
export const stylesheets = [];
export const fonts = [];
+8
View File
@@ -0,0 +1,8 @@
export const index = 8;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/transactions/new/_page.svelte.js')).default;
export const imports = ["_app/immutable/nodes/8.C_l9PVkm.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DAapakUx.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/ChlQth4G.js","_app/immutable/chunks/CcEFwafz.js","_app/immutable/chunks/BPc-JNDc.js","_app/immutable/chunks/BlbL38UD.js","_app/immutable/chunks/BfWekp-4.js","_app/immutable/chunks/BNQ00IGn.js","_app/immutable/chunks/DkOFPg3x.js","_app/immutable/chunks/DoRZqEmo.js","_app/immutable/chunks/Y4l2nr7b.js"];
export const stylesheets = [];
export const fonts = [];
+8
View File
@@ -0,0 +1,8 @@
export const index = 9;
let component_cache;
export const component = async () => component_cache ??= (await import('../entries/pages/transactions/_id_/_page.svelte.js')).default;
export const imports = ["_app/immutable/nodes/9.CPAD1Rkc.js","_app/immutable/chunks/Bzak7iHL.js","_app/immutable/chunks/DScGFiBY.js","_app/immutable/chunks/B7h8GtFa.js","_app/immutable/chunks/BfWekp-4.js","_app/immutable/chunks/ChlQth4G.js","_app/immutable/chunks/CcEFwafz.js","_app/immutable/chunks/BPc-JNDc.js","_app/immutable/chunks/BlbL38UD.js","_app/immutable/chunks/BNQ00IGn.js","_app/immutable/chunks/DkOFPg3x.js","_app/immutable/chunks/DoRZqEmo.js","_app/immutable/chunks/Y4l2nr7b.js"];
export const stylesheets = [];
export const fonts = [];
+2 -2
View File
@@ -3,7 +3,7 @@ import { parse } from "devalue";
import { error, json } from "@sveltejs/kit";
import { s as stringify_remote_arg, f as flatten_issues, c as create_field_proxy, n as normalize_issue, a as set_nested_value, d as deep_set, b as stringify, e as create_remote_key, h as handle_error_and_jsonify } from "./chunks/shared.js";
import { ValidationError, HttpError, SvelteKitError } from "@sveltejs/kit/internal";
import { D as DEV } from "./chunks/false.js";
import { b as browser } from "./chunks/false.js";
import { c as base, d as app_dir, p as prerendering } from "./chunks/environment.js";
function create_validator(validate_or_fn, maybe_fn) {
if (!maybe_fn) {
@@ -336,7 +336,7 @@ function prerender(validate_or_fn, fn_or_options, maybe_options) {
const payload = stringify_remote_arg(arg, state.transport);
const id = __.id;
const url = `${base}/${app_dir}/remote/${id}${payload ? `/${payload}` : ""}`;
if (!state.prerendering && !DEV && !event.isRemoteRequest) {
if (!state.prerendering && !browser && !event.isRemoteRequest) {
try {
return await get_response(__, arg, state, async () => {
const key = stringify_remote_arg(arg, state.transport);
+30 -34
View File
@@ -26,56 +26,54 @@
* ```
*/
declare module '$env/static/private' {
export const _ZO_DOCTOR: string;
export const VSCODE_CRASH_REPORTER_PROCESS_TYPE: string;
export const VSCODE_GIT_IPC_AUTH_TOKEN: string;
export const TERM_PROGRAM: string;
export const NODE: string;
export const TERM: string;
export const SHELL: string;
export const VSCODE_PROCESS_TITLE: string;
export const TMPDIR: string;
export const HOMEBREW_REPOSITORY: string;
export const MallocNanoZone: string;
export const TMPDIR: string;
export const TERM_PROGRAM_VERSION: string;
export const ZDOTDIR: string;
export const CURSOR_TRACE_ID: string;
export const NO_COLOR: string;
export const MallocNanoZone: string;
export const npm_config_local_prefix: string;
export const USER: string;
export const COMMAND_MODE: string;
export const SSH_AUTH_SOCK: string;
export const VSCODE_PROFILE_INITIALIZED: string;
export const __CF_USER_TEXT_ENCODING: string;
export const npm_execpath: string;
export const PATH: string;
export const npm_package_json: string;
export const _: string;
export const USER_ZDOTDIR: string;
export const __CFBundleIdentifier: string;
export const npm_command: string;
export const PWD: string;
export const VSCODE_HANDLES_UNCAUGHT_ERRORS: string;
export const npm_lifecycle_event: string;
export const VSCODE_ESM_ENTRYPOINT: string;
export const npm_package_name: string;
export const CURSOR_AGENT: string;
export const LANG: string;
export const VSCODE_GIT_ASKPASS_EXTRA_ARGS: string;
export const XPC_FLAGS: string;
export const FORCE_COLOR: string;
export const npm_package_version: string;
export const XPC_SERVICE_NAME: string;
export const VSCODE_INJECTION: string;
export const SHLVL: string;
export const HOME: string;
export const VSCODE_NLS_CONFIG: string;
export const CI: string;
export const VSCODE_GIT_ASKPASS_MAIN: string;
export const HOMEBREW_PREFIX: string;
export const LOGNAME: string;
export const npm_lifecycle_script: string;
export const VSCODE_IPC_HOOK: string;
export const VSCODE_CODE_CACHE_PATH: string;
export const VSCODE_GIT_IPC_HANDLE: string;
export const npm_config_user_agent: string;
export const VSCODE_PID: string;
export const VSCODE_GIT_ASKPASS_NODE: string;
export const GIT_ASKPASS: string;
export const INFOPATH: string;
export const HOMEBREW_CELLAR: string;
export const OSLogRateLimit: string;
export const VSCODE_L10N_BUNDLE_LOCATION: string;
export const VSCODE_CWD: string;
export const npm_node_execpath: string;
export const COLORTERM: string;
export const NODE_ENV: string;
}
@@ -106,56 +104,54 @@ declare module '$env/static/public' {
*/
declare module '$env/dynamic/private' {
export const env: {
_ZO_DOCTOR: string;
VSCODE_CRASH_REPORTER_PROCESS_TYPE: string;
VSCODE_GIT_IPC_AUTH_TOKEN: string;
TERM_PROGRAM: string;
NODE: string;
TERM: string;
SHELL: string;
VSCODE_PROCESS_TITLE: string;
TMPDIR: string;
HOMEBREW_REPOSITORY: string;
MallocNanoZone: string;
TMPDIR: string;
TERM_PROGRAM_VERSION: string;
ZDOTDIR: string;
CURSOR_TRACE_ID: string;
NO_COLOR: string;
MallocNanoZone: string;
npm_config_local_prefix: string;
USER: string;
COMMAND_MODE: string;
SSH_AUTH_SOCK: string;
VSCODE_PROFILE_INITIALIZED: string;
__CF_USER_TEXT_ENCODING: string;
npm_execpath: string;
PATH: string;
npm_package_json: string;
_: string;
USER_ZDOTDIR: string;
__CFBundleIdentifier: string;
npm_command: string;
PWD: string;
VSCODE_HANDLES_UNCAUGHT_ERRORS: string;
npm_lifecycle_event: string;
VSCODE_ESM_ENTRYPOINT: string;
npm_package_name: string;
CURSOR_AGENT: string;
LANG: string;
VSCODE_GIT_ASKPASS_EXTRA_ARGS: string;
XPC_FLAGS: string;
FORCE_COLOR: string;
npm_package_version: string;
XPC_SERVICE_NAME: string;
VSCODE_INJECTION: string;
SHLVL: string;
HOME: string;
VSCODE_NLS_CONFIG: string;
CI: string;
VSCODE_GIT_ASKPASS_MAIN: string;
HOMEBREW_PREFIX: string;
LOGNAME: string;
npm_lifecycle_script: string;
VSCODE_IPC_HOOK: string;
VSCODE_CODE_CACHE_PATH: string;
VSCODE_GIT_IPC_HANDLE: string;
npm_config_user_agent: string;
VSCODE_PID: string;
VSCODE_GIT_ASKPASS_NODE: string;
GIT_ASKPASS: string;
INFOPATH: string;
HOMEBREW_CELLAR: string;
OSLogRateLimit: string;
VSCODE_L10N_BUNDLE_LOCATION: string;
VSCODE_CWD: string;
npm_node_execpath: string;
COLORTERM: string;
NODE_ENV: string;
[key: `PUBLIC_${string}`]: undefined;
[key: `${string}`]: string | undefined;
+25 -5
View File
@@ -6,16 +6,36 @@ export const nodes = [
() => import('./nodes/2'),
() => import('./nodes/3'),
() => import('./nodes/4'),
() => import('./nodes/5')
() => import('./nodes/5'),
() => import('./nodes/6'),
() => import('./nodes/7'),
() => import('./nodes/8'),
() => import('./nodes/9'),
() => import('./nodes/10'),
() => import('./nodes/11'),
() => import('./nodes/12'),
() => import('./nodes/13'),
() => import('./nodes/14'),
() => import('./nodes/15')
];
export const server_loads = [];
export const server_loads = [0];
export const dictionary = {
"/": [~2],
"/items": [~4],
"/login": [~5],
"/logout": [~3]
"/accounts": [~10],
"/accounts/new": [11],
"/accounts/[id]": [12],
"/items": [~13],
"/items/[id]": [~14],
"/login": [~15],
"/logout": [~6],
"/receipts": [~3],
"/receipts/new": [4],
"/receipts/[id]": [5],
"/transactions": [~7],
"/transactions/new": [8],
"/transactions/[id]": [9]
};
export const hooks = {
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/accounts/+page.svelte";
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/accounts/new/+page.svelte";
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/accounts/[id]/+page.svelte";
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/items/+page.svelte";
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/items/[id]/+page.svelte";
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/login/+page.svelte";
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/receipts/+page.svelte";
@@ -1 +1 @@
export { default as component } from "../../../../src/routes/items/+page.svelte";
export { default as component } from "../../../../src/routes/receipts/new/+page.svelte";
@@ -1 +1 @@
export { default as component } from "../../../../src/routes/login/+page.svelte";
export { default as component } from "../../../../src/routes/receipts/[id]/+page.svelte";
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/transactions/+page.svelte";
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/transactions/new/+page.svelte";
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/transactions/[id]/+page.svelte";
+9 -5
View File
@@ -6,16 +6,20 @@ export const nodes = [
() => import('./nodes/2'),
() => import('./nodes/3'),
() => import('./nodes/4'),
() => import('./nodes/5')
() => import('./nodes/5'),
() => import('./nodes/6'),
() => import('./nodes/7')
];
export const server_loads = [];
export const server_loads = [0];
export const dictionary = {
"/": [~2],
"/items": [~4],
"/login": [~5],
"/logout": [~3]
"/login": [~7],
"/logout": [~6],
"/receipts": [~3],
"/receipts/new": [4],
"/receipts/[id]": [~5]
};
export const hooks = {
+1
View File
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/login/+page.svelte";
+1
View File
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/login/+page.svelte";
+1
View File
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/login/+page.svelte";
+1
View File
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/login/+page.svelte";
+1
View File
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/login/+page.svelte";
+1
View File
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/login/+page.svelte";
+1
View File
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/receipts/+page.svelte";
+1 -1
View File
@@ -1 +1 @@
export { default as component } from "../../../../src/routes/items/+page.svelte";
export { default as component } from "../../../../src/routes/receipts/new/+page.svelte";
+1 -1
View File
@@ -1 +1 @@
export { default as component } from "../../../../src/routes/login/+page.svelte";
export { default as component } from "../../../../src/routes/receipts/[id]/+page.svelte";
+1
View File
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/login/+page.svelte";
+1
View File
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/login/+page.svelte";
+1
View File
@@ -0,0 +1 @@
export { default as component } from "../../../../src/routes/login/+page.svelte";
+2 -2
View File
@@ -21,10 +21,10 @@ export const options = {
service_worker: false,
service_worker_options: undefined,
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=\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><rect width='32' height='32' rx='4' fill='%231e293b'/><text x='16' y='22' font-size='18' font-family='system-ui' fill='%2394a3b8' text-anchor='middle'>S</text></svg>\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=5, viewport-fit=cover\" />\n <meta name=\"theme-color\" content=\"#0f172a\" />\n <meta name=\"mobile-web-app-capable\" content=\"yes\" />\n <meta name=\"apple-mobile-web-app-capable\" content=\"yes\" />\n <meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\" />\n <meta name=\"apple-mobile-web-app-title\" content=\"Stackq\" />\n <link rel=\"apple-touch-icon\" href=\"/icon.svg\" />\n <link rel=\"manifest\" href=\"/manifest.webmanifest\" />\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\t<head>\n\t\t<meta charset=\"utf-8\" />\n\t\t<title>" + message + "</title>\n\n\t\t<style>\n\t\t\tbody {\n\t\t\t\t--bg: white;\n\t\t\t\t--fg: #222;\n\t\t\t\t--divider: #ccc;\n\t\t\t\tbackground: var(--bg);\n\t\t\t\tcolor: var(--fg);\n\t\t\t\tfont-family:\n\t\t\t\t\tsystem-ui,\n\t\t\t\t\t-apple-system,\n\t\t\t\t\tBlinkMacSystemFont,\n\t\t\t\t\t'Segoe UI',\n\t\t\t\t\tRoboto,\n\t\t\t\t\tOxygen,\n\t\t\t\t\tUbuntu,\n\t\t\t\t\tCantarell,\n\t\t\t\t\t'Open Sans',\n\t\t\t\t\t'Helvetica Neue',\n\t\t\t\t\tsans-serif;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t.error {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tmax-width: 32rem;\n\t\t\t\tmargin: 0 1rem;\n\t\t\t}\n\n\t\t\t.status {\n\t\t\t\tfont-weight: 200;\n\t\t\t\tfont-size: 3rem;\n\t\t\t\tline-height: 1;\n\t\t\t\tposition: relative;\n\t\t\t\ttop: -0.05rem;\n\t\t\t}\n\n\t\t\t.message {\n\t\t\t\tborder-left: 1px solid var(--divider);\n\t\t\t\tpadding: 0 0 0 1rem;\n\t\t\t\tmargin: 0 0 0 1rem;\n\t\t\t\tmin-height: 2.5rem;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t}\n\n\t\t\t.message h1 {\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 1em;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t@media (prefers-color-scheme: dark) {\n\t\t\t\tbody {\n\t\t\t\t\t--bg: #222;\n\t\t\t\t\t--fg: #ddd;\n\t\t\t\t\t--divider: #666;\n\t\t\t\t}\n\t\t\t}\n\t\t</style>\n\t</head>\n\t<body>\n\t\t<div class=\"error\">\n\t\t\t<span class=\"status\">" + status + "</span>\n\t\t\t<div class=\"message\">\n\t\t\t\t<h1>" + message + "</h1>\n\t\t\t</div>\n\t\t</div>\n\t</body>\n</html>\n"
},
version_hash: "1cw4viz"
version_hash: "49o61d"
};
export async function get_hooks() {
+25 -7
View File
@@ -27,19 +27,37 @@ export {};
declare module "$app/types" {
export interface AppTypes {
RouteId(): "/" | "/access-denied" | "/items" | "/login" | "/logout";
RouteId(): "/" | "/access-denied" | "/accounts" | "/accounts/new" | "/accounts/[id]" | "/api" | "/api/files" | "/api/files/[...path]" | "/api/toggle-darkmode" | "/items" | "/items/[id]" | "/login" | "/logout" | "/receipts" | "/receipts/new" | "/receipts/[id]" | "/transactions" | "/transactions/new" | "/transactions/[id]";
RouteParams(): {
"/accounts/[id]": { id: string };
"/api/files/[...path]": { path: string };
"/items/[id]": { id: string };
"/receipts/[id]": { id: string };
"/transactions/[id]": { id: string }
};
LayoutParams(): {
"/": Record<string, never>;
"/": { id?: string; path?: string };
"/access-denied": Record<string, never>;
"/items": Record<string, never>;
"/accounts": { id?: string };
"/accounts/new": Record<string, never>;
"/accounts/[id]": { id: string };
"/api": { path?: string };
"/api/files": { path?: string };
"/api/files/[...path]": { path: string };
"/api/toggle-darkmode": Record<string, never>;
"/items": { id?: string };
"/items/[id]": { id: string };
"/login": Record<string, never>;
"/logout": Record<string, never>
"/logout": Record<string, never>;
"/receipts": { id?: string };
"/receipts/new": Record<string, never>;
"/receipts/[id]": { id: string };
"/transactions": { id?: string };
"/transactions/new": Record<string, never>;
"/transactions/[id]": { id: string }
};
Pathname(): "/" | "/items" | "/login" | "/logout";
Pathname(): "/" | `/api/files/${string}` & {} | "/login" | "/logout" | "/receipts" | "/receipts/new" | `/receipts/${string}` & {};
ResolvedPathname(): `${"" | `/${string}`}${ReturnType<AppTypes['Pathname']>}`;
Asset(): string & {};
Asset(): "/icon.svg" | "/manifest.webmanifest" | string & {};
}
}
+559 -198
View File
@@ -1,265 +1,610 @@
{
"../../../../@vite-plugin-pwa/virtual:pwa-register": {
"file": "_app/immutable/chunks/CocY7LrI.js",
"name": "virtual_pwa-register",
"src": "../../../../@vite-plugin-pwa/virtual:pwa-register",
"isDynamicEntry": true,
"imports": [
"_B5gxx3nr.js"
],
"dynamicImports": [
"node_modules/workbox-window/build/workbox-window.prod.es5.mjs"
]
},
".svelte-kit/generated/client-optimized/app.js": {
"file": "_app/immutable/entry/app.c69iw9ai.js",
"file": "_app/immutable/entry/app.C5eu7fVU.js",
"name": "entry/app",
"src": ".svelte-kit/generated/client-optimized/app.js",
"isEntry": true,
"imports": [
"_CRDN6Mh7.js",
"_Dexp9pM5.js",
"_DZmckTjd.js",
"_B5gxx3nr.js",
"_DScGFiBY.js",
"_B7h8GtFa.js",
"_Bzak7iHL.js",
"_25AjRaeI.js",
"_jOLfEXYH.js"
"_DzJWa70M.js",
"_BlbL38UD.js",
"_DkOFPg3x.js",
"_DoRZqEmo.js"
],
"dynamicImports": [
".svelte-kit/generated/client-optimized/nodes/0.js",
".svelte-kit/generated/client-optimized/nodes/1.js",
".svelte-kit/generated/client-optimized/nodes/2.js",
"_25AjRaeI.js",
".svelte-kit/generated/client-optimized/nodes/3.js",
".svelte-kit/generated/client-optimized/nodes/4.js",
".svelte-kit/generated/client-optimized/nodes/5.js"
".svelte-kit/generated/client-optimized/nodes/5.js",
"_DkOFPg3x.js",
".svelte-kit/generated/client-optimized/nodes/7.js",
".svelte-kit/generated/client-optimized/nodes/8.js",
".svelte-kit/generated/client-optimized/nodes/9.js",
".svelte-kit/generated/client-optimized/nodes/10.js",
".svelte-kit/generated/client-optimized/nodes/11.js",
".svelte-kit/generated/client-optimized/nodes/12.js",
".svelte-kit/generated/client-optimized/nodes/13.js",
".svelte-kit/generated/client-optimized/nodes/14.js",
".svelte-kit/generated/client-optimized/nodes/15.js"
]
},
".svelte-kit/generated/client-optimized/nodes/0.js": {
"file": "_app/immutable/nodes/0.BXv9ZfXj.js",
"file": "_app/immutable/nodes/0.CnK4IQDA.js",
"name": "nodes/0",
"src": ".svelte-kit/generated/client-optimized/nodes/0.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_B5gxx3nr.js",
"_Bzak7iHL.js",
"_hqfhVoHF.js",
"_Dexp9pM5.js"
"_DzJWa70M.js",
"_DScGFiBY.js",
"_B7h8GtFa.js",
"_BlbL38UD.js",
"_BPc-JNDc.js",
"_B3aNbgJc.js",
"_BuAKAdPx.js",
"_DoRZqEmo.js",
"_CaCQx3BS.js",
"_BfWekp-4.js",
"_DAapakUx.js",
"_DjaSJnz7.js",
"_DTbYdmbV.js",
"_CFHX6GDu.js"
],
"dynamicImports": [
"../../../../@vite-plugin-pwa/virtual:pwa-register"
],
"css": [
"_app/immutable/assets/0.DbRKE6YE.css"
"_app/immutable/assets/0.CXvyW7eD.css"
]
},
".svelte-kit/generated/client-optimized/nodes/1.js": {
"file": "_app/immutable/nodes/1.BT8sl3NL.js",
"file": "_app/immutable/nodes/1.CYwXj6SJ.js",
"name": "nodes/1",
"src": ".svelte-kit/generated/client-optimized/nodes/1.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_Bzak7iHL.js",
"_hqfhVoHF.js",
"_Dexp9pM5.js",
"_DZmckTjd.js",
"_BapE3c1q.js"
"_DAapakUx.js",
"_DScGFiBY.js",
"_B7h8GtFa.js",
"_DjaSJnz7.js",
"_BuAKAdPx.js"
]
},
".svelte-kit/generated/client-optimized/nodes/2.js": {
"file": "_app/immutable/nodes/2.OkkHA0lV.js",
"name": "nodes/2",
"src": ".svelte-kit/generated/client-optimized/nodes/2.js",
".svelte-kit/generated/client-optimized/nodes/10.js": {
"file": "_app/immutable/nodes/10.Vd6sWzh2.js",
"name": "nodes/10",
"src": ".svelte-kit/generated/client-optimized/nodes/10.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_CRDN6Mh7.js",
"_Bzak7iHL.js",
"_hqfhVoHF.js",
"_Dexp9pM5.js",
"_DcVg5zjO.js",
"_B12dZE2q.js"
],
"dynamicImports": [
"src/routes/HomeWithDialog.svelte"
"_DScGFiBY.js",
"_B7h8GtFa.js",
"_BlbL38UD.js",
"_BhGBB4Qh.js",
"_ChlQth4G.js",
"_BPc-JNDc.js",
"_CcEFwafz.js",
"_Y4l2nr7b.js",
"_CB0VnWqK.js"
]
},
".svelte-kit/generated/client-optimized/nodes/4.js": {
"file": "_app/immutable/nodes/4.Bn1qLW0B.js",
"name": "nodes/4",
"src": ".svelte-kit/generated/client-optimized/nodes/4.js",
"isEntry": true,
"imports": [
"_BxPgF2w2.js"
]
},
".svelte-kit/generated/client-optimized/nodes/5.js": {
"file": "_app/immutable/nodes/5.u4tkKrg-.js",
"name": "nodes/5",
"src": ".svelte-kit/generated/client-optimized/nodes/5.js",
".svelte-kit/generated/client-optimized/nodes/11.js": {
"file": "_app/immutable/nodes/11.D5k1Bnhv.js",
"name": "nodes/11",
"src": ".svelte-kit/generated/client-optimized/nodes/11.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_CRDN6Mh7.js",
"_Bzak7iHL.js",
"_Dexp9pM5.js",
"_DcVg5zjO.js",
"_25AjRaeI.js"
"_DAapakUx.js",
"_DScGFiBY.js",
"_ChlQth4G.js",
"_CcEFwafz.js",
"_Y4l2nr7b.js"
]
},
".svelte-kit/generated/client-optimized/nodes/12.js": {
"file": "_app/immutable/nodes/12.CBQbcati.js",
"name": "nodes/12",
"src": ".svelte-kit/generated/client-optimized/nodes/12.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_Bzak7iHL.js",
"_DScGFiBY.js",
"_B7h8GtFa.js",
"_ChlQth4G.js",
"_CcEFwafz.js",
"_Y4l2nr7b.js"
]
},
".svelte-kit/generated/client-optimized/nodes/13.js": {
"file": "_app/immutable/nodes/13.D3zuOlaF.js",
"name": "nodes/13",
"src": ".svelte-kit/generated/client-optimized/nodes/13.js",
"isEntry": true,
"imports": [
"_Cel1DXuQ.js"
]
},
".svelte-kit/generated/client-optimized/nodes/14.js": {
"file": "_app/immutable/nodes/14.B93ZZMys.js",
"name": "nodes/14",
"src": ".svelte-kit/generated/client-optimized/nodes/14.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_Bzak7iHL.js",
"_DScGFiBY.js",
"_B7h8GtFa.js",
"_BlbL38UD.js",
"_BhGBB4Qh.js",
"_B5gxx3nr.js",
"_ChlQth4G.js",
"_B3aNbgJc.js",
"_BPc-JNDc.js",
"_CcEFwafz.js",
"_Y4l2nr7b.js",
"_AlWcxmGf.js",
"_Do7CCxfs.js"
]
},
".svelte-kit/generated/client-optimized/nodes/15.js": {
"file": "_app/immutable/nodes/15.ChrpyJ03.js",
"name": "nodes/15",
"src": ".svelte-kit/generated/client-optimized/nodes/15.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_B5gxx3nr.js",
"_Bzak7iHL.js",
"_DScGFiBY.js",
"_Cua5CQwk.js",
"_BlbL38UD.js"
],
"dynamicImports": [
"src/routes/login/LoginForm.svelte"
]
},
"_25AjRaeI.js": {
"file": "_app/immutable/chunks/25AjRaeI.js",
"name": "3",
".svelte-kit/generated/client-optimized/nodes/2.js": {
"file": "_app/immutable/nodes/2.Ds5Yb8tM.js",
"name": "nodes/2",
"src": ".svelte-kit/generated/client-optimized/nodes/2.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_Dexp9pM5.js",
"_CRDN6Mh7.js"
]
},
"_61AlszRR.js": {
"file": "_app/immutable/chunks/61AlszRR.js",
"name": "forms",
"imports": [
"_Dexp9pM5.js",
"_B5gxx3nr.js",
"_Bzak7iHL.js",
"_CRDN6Mh7.js",
"_BKSreT2u.js",
"_jOLfEXYH.js",
"_25AjRaeI.js",
"_BapE3c1q.js"
]
},
"_B12dZE2q.js": {
"file": "_app/immutable/chunks/B12dZE2q.js",
"name": "button",
"imports": [
"_Bzak7iHL.js",
"_BKSreT2u.js",
"_Dexp9pM5.js",
"_CRDN6Mh7.js",
"_jOLfEXYH.js"
]
},
"_BC20z61P.js": {
"file": "_app/immutable/chunks/BC20z61P.js",
"name": "svelte-element",
"imports": [
"_Dexp9pM5.js",
"_agKGoZF1.js",
"_CRDN6Mh7.js"
]
},
"_BKSreT2u.js": {
"file": "_app/immutable/chunks/BKSreT2u.js",
"name": "index",
"imports": [
"_Dexp9pM5.js",
"_CRDN6Mh7.js",
"_agKGoZF1.js"
]
},
"_BapE3c1q.js": {
"file": "_app/immutable/chunks/BapE3c1q.js",
"name": "entry",
"imports": [
"_DZmckTjd.js",
"_Dexp9pM5.js"
]
},
"_BxPgF2w2.js": {
"file": "_app/immutable/chunks/BxPgF2w2.js",
"name": "4",
"isDynamicEntry": true,
"imports": [
"_CRDN6Mh7.js",
"_Bzak7iHL.js",
"_Dexp9pM5.js",
"_DcVg5zjO.js",
"_25AjRaeI.js",
"_BKSreT2u.js",
"_BC20z61P.js",
"_jOLfEXYH.js"
"_DScGFiBY.js",
"_Cua5CQwk.js",
"_BlbL38UD.js",
"_CcEFwafz.js"
],
"dynamicImports": [
"src/routes/items/ItemsCrud.svelte"
"src/routes/HomeWithDialog.svelte"
]
},
".svelte-kit/generated/client-optimized/nodes/3.js": {
"file": "_app/immutable/nodes/3.D4HOGM92.js",
"name": "nodes/3",
"src": ".svelte-kit/generated/client-optimized/nodes/3.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_Bzak7iHL.js",
"_DScGFiBY.js",
"_B7h8GtFa.js",
"_BlbL38UD.js",
"_BhGBB4Qh.js",
"_ChlQth4G.js",
"_BPc-JNDc.js",
"_CcEFwafz.js",
"_Y4l2nr7b.js",
"_CB0VnWqK.js"
]
},
".svelte-kit/generated/client-optimized/nodes/4.js": {
"file": "_app/immutable/nodes/4.Csb2MtEV.js",
"name": "nodes/4",
"src": ".svelte-kit/generated/client-optimized/nodes/4.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_Bzak7iHL.js",
"_DAapakUx.js",
"_DScGFiBY.js",
"_ChlQth4G.js",
"_CcEFwafz.js",
"_Y4l2nr7b.js"
]
},
".svelte-kit/generated/client-optimized/nodes/5.js": {
"file": "_app/immutable/nodes/5.BQAFw-7p.js",
"name": "nodes/5",
"src": ".svelte-kit/generated/client-optimized/nodes/5.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_Bzak7iHL.js",
"_DScGFiBY.js",
"_B7h8GtFa.js",
"_ChlQth4G.js",
"_CcEFwafz.js",
"_Y4l2nr7b.js"
]
},
".svelte-kit/generated/client-optimized/nodes/7.js": {
"file": "_app/immutable/nodes/7.4OT7_ZJx.js",
"name": "nodes/7",
"src": ".svelte-kit/generated/client-optimized/nodes/7.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_Bzak7iHL.js",
"_DScGFiBY.js",
"_B7h8GtFa.js",
"_BlbL38UD.js",
"_BhGBB4Qh.js",
"_ChlQth4G.js",
"_BPc-JNDc.js",
"_CcEFwafz.js",
"_Y4l2nr7b.js",
"_CB0VnWqK.js"
]
},
".svelte-kit/generated/client-optimized/nodes/8.js": {
"file": "_app/immutable/nodes/8.C_l9PVkm.js",
"name": "nodes/8",
"src": ".svelte-kit/generated/client-optimized/nodes/8.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_Bzak7iHL.js",
"_DAapakUx.js",
"_DScGFiBY.js",
"_ChlQth4G.js",
"_CcEFwafz.js",
"_Y4l2nr7b.js"
]
},
".svelte-kit/generated/client-optimized/nodes/9.js": {
"file": "_app/immutable/nodes/9.CPAD1Rkc.js",
"name": "nodes/9",
"src": ".svelte-kit/generated/client-optimized/nodes/9.js",
"isEntry": true,
"isDynamicEntry": true,
"imports": [
"_Bzak7iHL.js",
"_DScGFiBY.js",
"_B7h8GtFa.js",
"_ChlQth4G.js",
"_CcEFwafz.js",
"_Y4l2nr7b.js"
]
},
"_AlWcxmGf.js": {
"file": "_app/immutable/chunks/AlWcxmGf.js",
"name": "card-header",
"imports": [
"_Bzak7iHL.js",
"_DScGFiBY.js",
"_BPc-JNDc.js",
"_DkOFPg3x.js",
"_DoRZqEmo.js"
]
},
"_B3aNbgJc.js": {
"file": "_app/immutable/chunks/B3aNbgJc.js",
"name": "label",
"imports": [
"_DScGFiBY.js",
"_BuAKAdPx.js",
"_Bzak7iHL.js",
"_B5gxx3nr.js",
"_DoRZqEmo.js",
"_BPc-JNDc.js",
"_BlbL38UD.js"
]
},
"_B5gxx3nr.js": {
"file": "_app/immutable/chunks/B5gxx3nr.js",
"name": "preload-helper",
"imports": [
"_DScGFiBY.js",
"_BlbL38UD.js"
]
},
"_B7h8GtFa.js": {
"file": "_app/immutable/chunks/B7h8GtFa.js",
"name": "render",
"imports": [
"_DScGFiBY.js",
"_BfWekp-4.js"
]
},
"_BNQ00IGn.js": {
"file": "_app/immutable/chunks/BNQ00IGn.js",
"name": "index",
"imports": [
"_BPc-JNDc.js"
]
},
"_BPc-JNDc.js": {
"file": "_app/immutable/chunks/BPc-JNDc.js",
"name": "utils",
"imports": [
"_DScGFiBY.js",
"_BlbL38UD.js",
"_BfWekp-4.js"
]
},
"_BfWekp-4.js": {
"file": "_app/immutable/chunks/BfWekp-4.js",
"name": "index",
"imports": [
"_DScGFiBY.js"
]
},
"_BhGBB4Qh.js": {
"file": "_app/immutable/chunks/BhGBB4Qh.js",
"name": "each",
"imports": [
"_DScGFiBY.js"
]
},
"_BlbL38UD.js": {
"file": "_app/immutable/chunks/BlbL38UD.js",
"name": "if",
"imports": [
"_DScGFiBY.js"
]
},
"_BuAKAdPx.js": {
"file": "_app/immutable/chunks/BuAKAdPx.js",
"name": "entry",
"imports": [
"_DzJWa70M.js",
"_BfWekp-4.js",
"_DScGFiBY.js"
]
},
"_Bzak7iHL.js": {
"file": "_app/immutable/chunks/Bzak7iHL.js",
"name": "disclose-version"
},
"_CRDN6Mh7.js": {
"file": "_app/immutable/chunks/CRDN6Mh7.js",
"name": "preload-helper",
"imports": [
"_Dexp9pM5.js"
]
},
"_CsnJU1X_.js": {
"file": "_app/immutable/chunks/CsnJU1X_.js",
"name": "card-content",
"_CB0VnWqK.js": {
"file": "_app/immutable/chunks/CB0VnWqK.js",
"name": "input",
"imports": [
"_Bzak7iHL.js",
"_Dexp9pM5.js",
"_BKSreT2u.js",
"_jOLfEXYH.js"
"_DScGFiBY.js",
"_BlbL38UD.js",
"_BPc-JNDc.js",
"_DTbYdmbV.js",
"_DkOFPg3x.js",
"_DoRZqEmo.js"
]
},
"_DZmckTjd.js": {
"file": "_app/immutable/chunks/DZmckTjd.js",
"name": "index-client",
"_CFHX6GDu.js": {
"file": "_app/immutable/chunks/CFHX6GDu.js",
"name": "dropdown-menu-trigger",
"imports": [
"_Dexp9pM5.js",
"_agKGoZF1.js"
"_Bzak7iHL.js",
"_DScGFiBY.js",
"_B5gxx3nr.js",
"_DoRZqEmo.js",
"_BPc-JNDc.js",
"_CaCQx3BS.js",
"_B3aNbgJc.js",
"_BlbL38UD.js",
"_DzJWa70M.js",
"_B7h8GtFa.js"
]
},
"_DcVg5zjO.js": {
"file": "_app/immutable/chunks/DcVg5zjO.js",
"_CaCQx3BS.js": {
"file": "_app/immutable/chunks/CaCQx3BS.js",
"name": "scroll-lock",
"imports": [
"_Bzak7iHL.js",
"_DScGFiBY.js",
"_B7h8GtFa.js",
"_BPc-JNDc.js",
"_BlbL38UD.js",
"_B3aNbgJc.js",
"_DoRZqEmo.js",
"_BfWekp-4.js"
]
},
"_CcEFwafz.js": {
"file": "_app/immutable/chunks/CcEFwafz.js",
"name": "button",
"imports": [
"_Bzak7iHL.js",
"_BPc-JNDc.js",
"_BNQ00IGn.js",
"_DScGFiBY.js",
"_BlbL38UD.js",
"_DkOFPg3x.js",
"_DoRZqEmo.js"
]
},
"_Cel1DXuQ.js": {
"file": "_app/immutable/chunks/Cel1DXuQ.js",
"name": "13",
"isDynamicEntry": true,
"imports": [
"_B5gxx3nr.js",
"_Bzak7iHL.js",
"_DScGFiBY.js",
"_Cua5CQwk.js",
"_BlbL38UD.js",
"_ChlQth4G.js",
"_DoRZqEmo.js",
"_BuAKAdPx.js",
"_BNQ00IGn.js",
"_BPc-JNDc.js",
"_fb4NW7RP.js",
"_DkOFPg3x.js"
],
"dynamicImports": [
"src/routes/items/ItemsCrud.svelte"
]
},
"_ChlQth4G.js": {
"file": "_app/immutable/chunks/ChlQth4G.js",
"name": "svelte-head",
"imports": [
"_DScGFiBY.js"
]
},
"_Cua5CQwk.js": {
"file": "_app/immutable/chunks/Cua5CQwk.js",
"name": "await",
"imports": [
"_Dexp9pM5.js",
"_CRDN6Mh7.js"
"_DScGFiBY.js",
"_BlbL38UD.js"
]
},
"_Dexp9pM5.js": {
"file": "_app/immutable/chunks/Dexp9pM5.js",
"name": "template"
},
"_agKGoZF1.js": {
"file": "_app/immutable/chunks/agKGoZF1.js",
"name": "events",
"imports": [
"_Dexp9pM5.js"
]
},
"_hqfhVoHF.js": {
"file": "_app/immutable/chunks/hqfhVoHF.js",
"_DAapakUx.js": {
"file": "_app/immutable/chunks/DAapakUx.js",
"name": "legacy",
"imports": [
"_Dexp9pM5.js"
"_DScGFiBY.js"
]
},
"_iABcLwh6.js": {
"file": "_app/immutable/chunks/iABcLwh6.js",
"name": "ItemForm",
"_DScGFiBY.js": {
"file": "_app/immutable/chunks/DScGFiBY.js",
"name": "template"
},
"_DTML-ACl.js": {
"file": "_app/immutable/chunks/DTML-ACl.js",
"name": "BarcodeScanDialog",
"imports": [
"_B5gxx3nr.js",
"_Bzak7iHL.js",
"_Dexp9pM5.js",
"_25AjRaeI.js",
"_jOLfEXYH.js",
"_BKSreT2u.js",
"_61AlszRR.js",
"_CRDN6Mh7.js",
"_DZmckTjd.js",
"_agKGoZF1.js",
"_B12dZE2q.js",
"_BC20z61P.js"
"_DScGFiBY.js",
"_B7h8GtFa.js",
"_BlbL38UD.js",
"_DkOFPg3x.js",
"_DoRZqEmo.js",
"_CcEFwafz.js",
"_CB0VnWqK.js",
"_Do7CCxfs.js"
],
"dynamicImports": [
"node_modules/barcode-detector-api-polyfill/esm/index.js"
]
},
"_jOLfEXYH.js": {
"file": "_app/immutable/chunks/jOLfEXYH.js",
"_DTbYdmbV.js": {
"file": "_app/immutable/chunks/DTbYdmbV.js",
"name": "input",
"imports": [
"_DScGFiBY.js"
]
},
"_DjaSJnz7.js": {
"file": "_app/immutable/chunks/DjaSJnz7.js",
"name": "lifecycle",
"imports": [
"_DScGFiBY.js"
]
},
"_DkOFPg3x.js": {
"file": "_app/immutable/chunks/DkOFPg3x.js",
"name": "6",
"isDynamicEntry": true,
"imports": [
"_DScGFiBY.js"
]
},
"_Do7CCxfs.js": {
"file": "_app/immutable/chunks/Do7CCxfs.js",
"name": "ItemForm",
"imports": [
"_Bzak7iHL.js",
"_DScGFiBY.js",
"_B5gxx3nr.js",
"_DoRZqEmo.js",
"_BPc-JNDc.js",
"_CaCQx3BS.js",
"_B3aNbgJc.js",
"_BlbL38UD.js",
"_DkOFPg3x.js",
"_BhGBB4Qh.js",
"_fb4NW7RP.js",
"_B7h8GtFa.js",
"_CcEFwafz.js",
"_CB0VnWqK.js"
],
"dynamicImports": [
"node_modules/barcode-detector-api-polyfill/esm/index.js"
]
},
"_DoRZqEmo.js": {
"file": "_app/immutable/chunks/DoRZqEmo.js",
"name": "props",
"imports": [
"_Dexp9pM5.js"
"_DScGFiBY.js",
"_BfWekp-4.js"
]
},
"_DzJWa70M.js": {
"file": "_app/immutable/chunks/DzJWa70M.js",
"name": "index-client",
"imports": [
"_DScGFiBY.js",
"_B7h8GtFa.js"
]
},
"_Y4l2nr7b.js": {
"file": "_app/immutable/chunks/Y4l2nr7b.js",
"name": "card-content",
"imports": [
"_Bzak7iHL.js",
"_DScGFiBY.js",
"_BPc-JNDc.js",
"_DkOFPg3x.js",
"_DoRZqEmo.js"
]
},
"_fb4NW7RP.js": {
"file": "_app/immutable/chunks/fb4NW7RP.js",
"name": "svelte-element",
"imports": [
"_DScGFiBY.js",
"_BfWekp-4.js",
"_BlbL38UD.js"
]
},
"node_modules/@sveltejs/kit/src/runtime/client/entry.js": {
"file": "_app/immutable/entry/start.BXvCRdku.js",
"file": "_app/immutable/entry/start.BpNZlEyP.js",
"name": "entry/start",
"src": "node_modules/@sveltejs/kit/src/runtime/client/entry.js",
"isEntry": true,
"imports": [
"_BapE3c1q.js"
"_BuAKAdPx.js"
]
},
"node_modules/barcode-detector-api-polyfill/esm/index.js": {
@@ -268,56 +613,72 @@
"src": "node_modules/barcode-detector-api-polyfill/esm/index.js",
"isDynamicEntry": true
},
"node_modules/workbox-window/build/workbox-window.prod.es5.mjs": {
"file": "_app/immutable/chunks/BIl4cyR9.js",
"name": "workbox-window.prod.es5",
"src": "node_modules/workbox-window/build/workbox-window.prod.es5.mjs",
"isDynamicEntry": true
},
"src/routes/HomeWithDialog.svelte": {
"file": "_app/immutable/chunks/DXZbZvqb.js",
"file": "_app/immutable/chunks/GmCZ4RHf.js",
"name": "HomeWithDialog",
"src": "src/routes/HomeWithDialog.svelte",
"isDynamicEntry": true,
"imports": [
"_Bzak7iHL.js",
"_Dexp9pM5.js",
"_25AjRaeI.js",
"_B12dZE2q.js",
"_iABcLwh6.js",
"_BapE3c1q.js"
"_DScGFiBY.js",
"_B5gxx3nr.js",
"_CcEFwafz.js",
"_Do7CCxfs.js",
"_DTML-ACl.js",
"_BuAKAdPx.js"
]
},
"src/routes/items/ItemsCrud.svelte": {
"file": "_app/immutable/chunks/DRlIEfz1.js",
"file": "_app/immutable/chunks/CwVwm8Ay.js",
"name": "ItemsCrud",
"src": "src/routes/items/ItemsCrud.svelte",
"isDynamicEntry": true,
"imports": [
"_Bzak7iHL.js",
"_Dexp9pM5.js",
"_DZmckTjd.js",
"_CRDN6Mh7.js",
"_iABcLwh6.js",
"_25AjRaeI.js",
"_BxPgF2w2.js",
"_61AlszRR.js",
"_BKSreT2u.js",
"_jOLfEXYH.js",
"_B12dZE2q.js",
"_CsnJU1X_.js"
"_DScGFiBY.js",
"_B7h8GtFa.js",
"_BlbL38UD.js",
"_BhGBB4Qh.js",
"_B5gxx3nr.js",
"_ChlQth4G.js",
"_B3aNbgJc.js",
"_BPc-JNDc.js",
"_DoRZqEmo.js",
"_Cel1DXuQ.js",
"_CcEFwafz.js",
"_Y4l2nr7b.js",
"_Do7CCxfs.js",
"_CFHX6GDu.js",
"_CB0VnWqK.js",
"_BuAKAdPx.js",
"_DTML-ACl.js"
]
},
"src/routes/login/LoginForm.svelte": {
"file": "_app/immutable/chunks/BDMwQRor.js",
"file": "_app/immutable/chunks/CMpaAzNm.js",
"name": "LoginForm",
"src": "src/routes/login/LoginForm.svelte",
"isDynamicEntry": true,
"imports": [
"_Bzak7iHL.js",
"_Dexp9pM5.js",
"_DZmckTjd.js",
"_CRDN6Mh7.js",
"_25AjRaeI.js",
"_61AlszRR.js",
"_CsnJU1X_.js",
"_BKSreT2u.js",
"_jOLfEXYH.js",
"_B12dZE2q.js"
"_DScGFiBY.js",
"_B7h8GtFa.js",
"_BlbL38UD.js",
"_B5gxx3nr.js",
"_B3aNbgJc.js",
"_Y4l2nr7b.js",
"_BPc-JNDc.js",
"_DkOFPg3x.js",
"_DoRZqEmo.js",
"_AlWcxmGf.js",
"_CcEFwafz.js",
"_CB0VnWqK.js"
]
}
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
import{i as c,j as s,l,L as i}from"./Dexp9pM5.js";import{B as _}from"./CRDN6Mh7.js";function f(n,o,r){c&&s();var a=new _(n);l(()=>{var e=o()??null;a.ensure(e,e&&(t=>r(t,e)))},i)}const u=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));export{u as _,f as c};
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import"./Bzak7iHL.js";import{p as i,o as c,as as l,v as n,j as p,m,l as f}from"./DScGFiBY.js";import{b as h,c as u,d as v}from"./BPc-JNDc.js";import{b}from"./DkOFPg3x.js";import{p as _,r as g}from"./DoRZqEmo.js";var w=f("<div><!></div>");function k(o,a){i(a,!0);let t=_(a,"ref",15,null),e=g(a,["$$slots","$$events","$$legacy","ref","class","children"]);var r=w();h(r,s=>({"data-slot":"card-header",class:s,...e}),[()=>u("@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",a.class)]);var d=c(r);v(d,()=>a.children??l),n(r),b(r,s=>t(s),()=>t()),p(o,r),m()}export{k as C};
@@ -1 +0,0 @@
import"./Bzak7iHL.js";import{t as j,a as b,s as f,c as g}from"./BKSreT2u.js";import{A,c as G,f as P,a as d,G as T,h,r as m,b as k,T as x}from"./Dexp9pM5.js";import{i as q}from"./CRDN6Mh7.js";import{p as r,b as p,r as C}from"./jOLfEXYH.js";const y=j({base:"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90 shadow-xs",destructive:"bg-destructive hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60 text-white shadow-xs",outline:"bg-background hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 border shadow-xs",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 shadow-xs",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});var D=k("<a><!></a>"),E=k("<button><!></button>");function L(_,e){A(e,!0);let o=r(e,"variant",3,"default"),l=r(e,"size",3,"default"),s=r(e,"ref",15,null),c=r(e,"href",3,void 0),z=r(e,"type",3,"button"),v=C(e,["$$slots","$$events","$$legacy","class","variant","size","ref","href","type","disabled","children"]);var u=G(),w=P(u);{var B=i=>{var a=D();b(a,t=>({"data-slot":"button",class:t,href:e.disabled?void 0:c(),"aria-disabled":e.disabled,role:e.disabled?"link":void 0,tabindex:e.disabled?-1:void 0,...v}),[()=>g(y({variant:o(),size:l()}),e.class)]);var n=h(a);f(n,()=>e.children??x),m(a),p(a,t=>s(t),()=>s()),d(i,a)},V=i=>{var a=E();b(a,t=>({"data-slot":"button",class:t,type:z(),disabled:e.disabled,...v}),[()=>g(y({variant:o(),size:l()}),e.class)]);var n=h(a);f(n,()=>e.children??x),m(a),p(a,t=>s(t),()=>s()),d(i,a)};q(w,i=>{c()?i(B):i(V,!1)})}d(_,u),T()}export{L as B};
@@ -0,0 +1,5 @@
var ot=Object.defineProperty;var G=t=>{throw TypeError(t)};var it=(t,e,n)=>e in t?ot(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var x=(t,e,n)=>it(t,typeof e!="symbol"?e+"":e,n),X=(t,e,n)=>e.has(t)||G("Cannot "+n);var E=(t,e,n)=>(X(t,e,"read from private field"),n?n.call(t):e.get(t)),k=(t,e,n)=>e.has(t)?G("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),I=(t,e,n,r)=>(X(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n);import{bj as st,n as at,b as M,aC as ct,e as ut,be as lt,g as v,k as R,y as ft,a6 as dt,q as J,br as pt,p as Z,h as N,i as C,j as O,m as Q,o as mt,as as ht,v as bt,l as yt}from"./DScGFiBY.js";import{a as gt,b as Et,c as wt,d as vt}from"./BuAKAdPx.js";import"./Bzak7iHL.js";import{c as At}from"./B5gxx3nr.js";import{p as F,r as tt,b as Tt}from"./DoRZqEmo.js";import{h as L,d as Y,b as St,c as xt}from"./BPc-JNDc.js";import{i as kt}from"./BlbL38UD.js";function _t(){return Symbol(st)}function Te(t,e,n){at(()=>{var r=M(()=>e(t,n==null?void 0:n())||{});if(n&&(r!=null&&r.update)){var o=!1,s={};ct(()=>{var i=n();ut(i),o&&lt(s,i)&&(s=i,r.update(i))}),o=!0}if(r!=null&&r.destroy)return()=>r.destroy()})}function Ot(t){const e=JSON.parse(t);return e.data&&(e.data=wt(e.data,vt.decoders)),e}function P(t){return HTMLElement.prototype.cloneNode.call(t)}function Se(t,e=()=>{}){const n=async({action:o,result:s,reset:i=!0,invalidateAll:u=!0})=>{s.type==="success"&&(i&&HTMLFormElement.prototype.reset.call(t),u&&await gt()),(location.origin+location.pathname===o.origin+o.pathname||s.type==="redirect"||s.type==="error")&&await Et(s)};async function r(o){var c,a,b;if(((c=o.submitter)!=null&&c.hasAttribute("formmethod")?o.submitter.formMethod:P(t).method)!=="post")return;o.preventDefault();const i=new URL((a=o.submitter)!=null&&a.hasAttribute("formaction")?o.submitter.formAction:P(t).action),u=(b=o.submitter)!=null&&b.hasAttribute("formenctype")?o.submitter.formEnctype:P(t).enctype,f=new FormData(t,o.submitter),d=new AbortController;let p=!1;const m=await e({action:i,cancel:()=>p=!0,controller:d,formData:f,formElement:t,submitter:o.submitter})??n;if(p)return;let l;try{const h=new Headers({accept:"application/json","x-sveltekit-action":"true"});u!=="multipart/form-data"&&h.set("Content-Type",/^(:?application\/x-www-form-urlencoded|text\/plain)$/.test(u)?u:"application/x-www-form-urlencoded");const rt=u==="multipart/form-data"?f:new URLSearchParams(f),D=await fetch(i,{method:"POST",headers:h,cache:"no-store",body:rt,signal:d.signal});l=Ot(await D.text()),l.type==="error"&&(l.status=D.status)}catch(h){if((h==null?void 0:h.name)==="AbortError")return;l={type:"error",error:h}}await m({action:i,formData:f,formElement:t,update:h=>n({action:i,result:l,reset:h==null?void 0:h.reset,invalidateAll:h==null?void 0:h.invalidateAll}),result:l})}return HTMLFormElement.prototype.addEventListener.call(t,"submit",r),{destroy(){HTMLFormElement.prototype.removeEventListener.call(t,"submit",r)}}}function Rt(t){return typeof t=="function"}function jt(t){return t!==null&&typeof t=="object"}const It=["string","number","bigint","boolean"];function H(t){return t==null||It.includes(typeof t)?!0:Array.isArray(t)?t.every(e=>H(e)):typeof t=="object"?Object.getPrototypeOf(t)===Object.prototype:!1}const A=Symbol("box"),U=Symbol("is-writable");function W(t,e){const n=R(t);return e?{[A]:!0,[U]:!0,get current(){return v(n)},set current(r){e(r)}}:{[A]:!0,get current(){return t()}}}function j(t){return jt(t)&&A in t}function et(t){return j(t)&&U in t}function xe(t){return j(t)?t:Rt(t)?W(t):Lt(t)}function ke(t){return Object.entries(t).reduce((e,[n,r])=>j(r)?(et(r)?Object.defineProperty(e,n,{get(){return r.current},set(o){r.current=o}}):Object.defineProperty(e,n,{get(){return r.current}}),e):Object.assign(e,{[n]:r}),{})}function _e(t){return et(t)?{[A]:!0,get current(){return t.current}}:t}function Lt(t){let e=ft(dt(t));return{[A]:!0,[U]:!0,get current(){return v(e)},set current(n){J(e,n,!0)}}}function Pt(...t){return function(e){var n;for(const r of t)if(r){if(e.defaultPrevented)return;typeof r=="function"?r.call(this,e):(n=r.current)==null||n.call(this,e)}}}var $=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,Mt=/\n/g,Nt=/^\s*/,Ct=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,Ft=/^:\s*/,Ht=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,Wt=/^[;\s]*/,Bt=/^\s+|\s+$/g,Ut=`
`,z="/",K="*",g="",Vt="comment",Dt="declaration";function Gt(t,e){if(typeof t!="string")throw new TypeError("First argument must be a string");if(!t)return[];e=e||{};var n=1,r=1;function o(c){var a=c.match(Mt);a&&(n+=a.length);var b=c.lastIndexOf(Ut);r=~b?c.length-b:r+c.length}function s(){var c={line:n,column:r};return function(a){return a.position=new i(c),d(),a}}function i(c){this.start=c,this.end={line:n,column:r},this.source=e.source}i.prototype.content=t;function u(c){var a=new Error(e.source+":"+n+":"+r+": "+c);if(a.reason=c,a.filename=e.source,a.line=n,a.column=r,a.source=t,!e.silent)throw a}function f(c){var a=c.exec(t);if(a){var b=a[0];return o(b),t=t.slice(b.length),a}}function d(){f(Nt)}function p(c){var a;for(c=c||[];a=y();)a!==!1&&c.push(a);return c}function y(){var c=s();if(!(z!=t.charAt(0)||K!=t.charAt(1))){for(var a=2;g!=t.charAt(a)&&(K!=t.charAt(a)||z!=t.charAt(a+1));)++a;if(a+=2,g===t.charAt(a-1))return u("End of comment missing");var b=t.slice(2,a-2);return r+=2,o(b),t=t.slice(a),r+=2,c({type:Vt,comment:b})}}function m(){var c=s(),a=f(Ct);if(a){if(y(),!f(Ft))return u("property missing ':'");var b=f(Ht),h=c({type:Dt,property:q(a[0].replace($,g)),value:b?q(b[0].replace($,g)):g});return f(Wt),h}}function l(){var c=[];p(c);for(var a;a=m();)a!==!1&&(c.push(a),p(c));return c}return d(),l()}function q(t){return t?t.replace(Bt,g):g}function Xt(t,e){let n=null;if(!t||typeof t!="string")return n;const r=Gt(t),o=typeof e=="function";return r.forEach(s=>{if(s.type!=="declaration")return;const{property:i,value:u}=s;o?e(i,u,s):u&&(n=n||{},n[i]=u)}),n}const Yt=/\d/,$t=["-","_","/","."];function zt(t=""){if(!Yt.test(t))return t!==t.toLowerCase()}function Kt(t){const e=[];let n="",r,o;for(const s of t){const i=$t.includes(s);if(i===!0){e.push(n),n="",r=void 0;continue}const u=zt(s);if(o===!1){if(r===!1&&u===!0){e.push(n),n=s,r=u;continue}if(r===!0&&u===!1&&n.length>1){const f=n.at(-1);e.push(n.slice(0,Math.max(0,n.length-1))),n=f+s,r=u;continue}}n+=s,r=u,o=i}return e.push(n),e}function nt(t){return t?Kt(t).map(e=>Jt(e)).join(""):""}function qt(t){return Zt(nt(t||""))}function Jt(t){return t?t[0].toUpperCase()+t.slice(1):""}function Zt(t){return t?t[0].toLowerCase()+t.slice(1):""}function _(t){if(!t)return{};const e={};function n(r,o){if(r.startsWith("-moz-")||r.startsWith("-webkit-")||r.startsWith("-ms-")||r.startsWith("-o-")){e[nt(r)]=o;return}if(r.startsWith("--")){e[r]=o;return}e[qt(r)]=o}return Xt(t,n),e}function Qt(...t){return(...e)=>{for(const n of t)typeof n=="function"&&n(...e)}}function te(t,e){const n=RegExp(t,"g");return r=>{if(typeof r!="string")throw new TypeError(`expected an argument of type string, but got ${typeof r}`);return r.match(n)?r.replace(n,e):r}}const ee=te(/[A-Z]/,t=>`-${t.toLowerCase()}`);function ne(t){if(!t||typeof t!="object"||Array.isArray(t))throw new TypeError(`expected an argument of type object, but got ${typeof t}`);return Object.keys(t).map(e=>`${ee(e)}: ${t[e]};`).join(`
`)}function re(t={}){return ne(t).replace(`
`," ")}const oe=["onabort","onanimationcancel","onanimationend","onanimationiteration","onanimationstart","onauxclick","onbeforeinput","onbeforetoggle","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncompositionend","oncompositionstart","oncompositionupdate","oncontextlost","oncontextmenu","oncontextrestored","oncopy","oncuechange","oncut","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","onfocusin","onfocusout","onformdata","ongotpointercapture","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onlostpointercapture","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onpaste","onpause","onplay","onplaying","onpointercancel","onpointerdown","onpointerenter","onpointerleave","onpointermove","onpointerout","onpointerover","onpointerup","onprogress","onratechange","onreset","onresize","onscroll","onscrollend","onsecuritypolicyviolation","onseeked","onseeking","onselect","onselectionchange","onselectstart","onslotchange","onstalled","onsubmit","onsuspend","ontimeupdate","ontoggle","ontouchcancel","ontouchend","ontouchmove","ontouchstart","ontransitioncancel","ontransitionend","ontransitionrun","ontransitionstart","onvolumechange","onwaiting","onwebkitanimationend","onwebkitanimationiteration","onwebkitanimationstart","onwebkittransitionend","onwheel"],ie=new Set(oe);function se(t){return ie.has(t)}function ae(...t){const e={...t[0]};for(let n=1;n<t.length;n++){const r=t[n];if(r){for(const o of Object.keys(r)){const s=e[o],i=r[o],u=typeof s=="function",f=typeof i=="function";if(u&&se(o)){const d=s,p=i;e[o]=Pt(d,p)}else if(u&&f)e[o]=Qt(s,i);else if(o==="class"){const d=H(s),p=H(i);d&&p?e[o]=L(s,i):d?e[o]=L(s):p&&(e[o]=L(i))}else if(o==="style"){const d=typeof s=="object",p=typeof i=="object",y=typeof s=="string",m=typeof i=="string";if(d&&p)e[o]={...s,...i};else if(d&&m){const l=_(i);e[o]={...s,...l}}else if(y&&p){const l=_(s);e[o]={...l,...i}}else if(y&&m){const l=_(s),c=_(i);e[o]={...l,...c}}else d?e[o]=s:p?e[o]=i:y?e[o]=s:m&&(e[o]=i)}else e[o]=i!==void 0?i:s}for(const o of Object.getOwnPropertySymbols(r)){const s=e[o],i=r[o];e[o]=i!==void 0?i:s}}}return typeof e.style=="object"&&(e.style=re(e.style).replaceAll(`
`," ")),e.hidden===!1&&(e.hidden=void 0,delete e.hidden),e.disabled===!1&&(e.disabled=void 0,delete e.disabled),e}function ce(t,e){return{[_t()]:n=>j(t)?(t.current=n,M(()=>e==null?void 0:e(n)),()=>{"isConnected"in n&&n.isConnected||(t.current=null,e==null||e(null))}):(t(n),M(()=>e==null?void 0:e(n)),()=>{"isConnected"in n&&n.isConnected||(t(null),e==null||e(null))})}}function Oe(t){return t?"true":"false"}function Re(t){return t?"":void 0}function je(t){return t?!0:void 0}function Ie(t){return t?"open":"closed"}function Le(t){return t?"checked":"unchecked"}function Pe(t,e){return t?"true":"false"}var w,T;class ue{constructor(e){k(this,w);k(this,T);x(this,"attrs");I(this,w,e.getVariant?e.getVariant():null),I(this,T,E(this,w)?`data-${E(this,w)}-`:`data-${e.component}-`),this.getAttr=this.getAttr.bind(this),this.selector=this.selector.bind(this),this.attrs=Object.fromEntries(e.parts.map(n=>[n,this.getAttr(n)]))}getAttr(e,n){return n?`data-${n}-${e}`:`${E(this,T)}${e}`}selector(e,n){return`[${this.getAttr(e,n)}]`}}w=new WeakMap,T=new WeakMap;function le(t){const e=new ue(t);return{...e.attrs,selector:e.selector,getAttr:e.getAttr}}function fe(t,e){return`bits-${t}`}const de=le({component:"label",parts:["root"]});var S;const V=class V{constructor(e){x(this,"opts");x(this,"attachment");k(this,S,R(()=>({id:this.opts.id.current,[de.root]:"",onmousedown:this.onmousedown,...this.attachment})));this.opts=e,this.attachment=ce(this.opts.ref),this.onmousedown=this.onmousedown.bind(this)}static create(e){return new V(e)}onmousedown(e){e.detail>1&&e.preventDefault()}get props(){return v(E(this,S))}set props(e){J(E(this,S),e)}};S=new WeakMap;let B=V;var pe=yt("<label><!></label>");function me(t,e){const n=pt();Z(e,!0);let r=F(e,"id",19,()=>fe(n)),o=F(e,"ref",15,null),s=tt(e,["$$slots","$$events","$$legacy","children","child","id","ref","for"]);const i=B.create({id:W(()=>r()),ref:W(()=>o(),m=>o(m))}),u=R(()=>ae(s,i.props,{for:e.for}));var f=N(),d=C(f);{var p=m=>{var l=N(),c=C(l);Y(c,()=>e.child,()=>({props:v(u)})),O(m,l)},y=m=>{var l=pe();St(l,()=>({...v(u),for:e.for}));var c=mt(l);Y(c,()=>e.children??ht),bt(l),O(m,l)};kt(d,m=>{e.child?m(p):m(y,!1)})}O(t,f),Q()}function Me(t,e){Z(e,!0);let n=F(e,"ref",15,null),r=tt(e,["$$slots","$$events","$$legacy","ref","class"]);var o=N(),s=C(o);{let i=R(()=>xt("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e.class));At(s,()=>me,(u,f)=>{f(u,Tt({"data-slot":"label",get class(){return v(i)}},()=>r,{get ref(){return n()},set ref(d){n(d)}}))})}O(t,o),Q()}export{A as B,Me as L,Te as a,ce as b,le as c,fe as d,Se as e,W as f,Re as g,Le as h,Oe as i,Pe as j,je as k,Ie as l,ae as m,Lt as n,xe as o,_ as p,U as q,ke as r,re as s,_e as t,j as u,et as v,jt as w,Qt as x,Pt as y};
@@ -0,0 +1 @@
import{D as y,L as g,C as p,a0 as P}from"./DScGFiBY.js";import{B as k}from"./BlbL38UD.js";function L(f,i,a){y&&g();var d=new k(f);p(()=>{var o=i()??null;d.ensure(o,o&&(m=>a(m,o)))},P)}const w="modulepreload",S=function(f,i){return new URL(f,i).href},v={},R=function(i,a,d){let o=Promise.resolve();if(a&&a.length>0){let s=function(e){return Promise.all(e.map(r=>Promise.resolve(r).then(c=>({status:"fulfilled",value:c}),c=>({status:"rejected",reason:c}))))};const t=document.getElementsByTagName("link"),l=document.querySelector("meta[property=csp-nonce]"),E=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));o=s(a.map(e=>{if(e=S(e,d),e in v)return;v[e]=!0;const r=e.endsWith(".css"),c=r?'[rel="stylesheet"]':"";if(d)for(let u=t.length-1;u>=0;u--){const h=t[u];if(h.href===e&&(!r||h.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${e}"]${c}`))return;const n=document.createElement("link");if(n.rel=r?"stylesheet":w,r||(n.as="script"),n.crossOrigin="",n.href=e,E&&n.setAttribute("nonce",E),document.head.appendChild(n),r)return new Promise((u,h)=>{n.addEventListener("load",u),n.addEventListener("error",()=>h(Error(`Unable to preload CSS for ${e}`)))})}))}function m(s){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=s,window.dispatchEvent(t),!t.defaultPrevented)throw s}return o.then(s=>{for(const t of s||[])t.status==="rejected"&&m(t.reason);return i().catch(m)})};export{R as _,L as c};
@@ -0,0 +1,2 @@
var we=Object.defineProperty;var re=i=>{throw TypeError(i)};var De=(i,e,s)=>e in i?we(i,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):i[e]=s;var z=(i,e,s)=>De(i,typeof e!="symbol"?e+"":e,s),G=(i,e,s)=>e.has(i)||re("Cannot "+s);var t=(i,e,s)=>(G(i,e,"read from private field"),s?s.call(i):e.get(i)),h=(i,e,s)=>e.has(i)?re("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(i):e.set(i,s),n=(i,e,s,r)=>(G(i,e,"write to private field"),r?r.call(i,s):e.set(i,s),s),b=(i,e,s)=>(G(i,e,"access private method"),s);import{aT as Fe,g as pe,aC as Ne,W as ge,b as Ae,aU as ne,Q as P,J as F,D as N,a4 as I,aV as ae,C as Se,L as Oe,O as Ye,aa as O,B as ve,S as J,am as K,aE as Ce,aW as ke,aX as he,aY as fe,aZ as oe,a_ as Ie,a$ as Me,c as be,b0 as de,b1 as Be,b2 as _e,b3 as xe,R as He,ar as Q,I as W,w as Le,P as Pe,b4 as le,b5 as Ve,a0 as We,b6 as qe,b7 as $e,b8 as X,K as Ue,E as ye,aF as je,F as ze,b9 as Z,G as H,ba as Ge,aq as Je,bb as Ke,af as Qe,p as Xe,a3 as Ze,a8 as et,bc as tt,m as st}from"./DScGFiBY.js";import{a as it,r as ce,h as ue,b as rt}from"./BfWekp-4.js";function nt(i){let e=0,s=ge(0),r;return()=>{Fe()&&(pe(s),Ne(()=>(e===0&&(r=Ae(()=>i(()=>ne(s)))),e+=1,()=>{P(()=>{e-=1,e===0&&(r==null||r(),r=void 0,ne(s))})})))}}var at=We|qe;function ht(i,e,s){new ft(i,e,s)}var l,M,T,A,y,m,d,E,R,S,D,Y,C,k,w,q,f,me,Ee,ee,V,te;class ft{constructor(e,s,r){h(this,f);z(this,"parent");z(this,"is_pending",!1);h(this,l);h(this,M,N?F:null);h(this,T);h(this,A);h(this,y);h(this,m,null);h(this,d,null);h(this,E,null);h(this,R,null);h(this,S,0);h(this,D,0);h(this,Y,!1);h(this,C,new Set);h(this,k,new Set);h(this,w,null);h(this,q,nt(()=>(n(this,w,ge(t(this,S))),()=>{n(this,w,null)})));n(this,l,e),n(this,T,s),n(this,A,o=>{var a=I;a.b=this,a.f|=ae,r(o)}),this.parent=I.b,n(this,y,Se(()=>{if(N){const o=t(this,M);Oe(),o.data===Ye?b(this,f,Ee).call(this):b(this,f,me).call(this)}else b(this,f,ee).call(this)},at)),N&&n(this,l,F)}defer_effect(e){ke(e,t(this,C),t(this,k))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!t(this,T).pending}update_pending_count(e){b(this,f,te).call(this,e),n(this,S,t(this,S)+e),!(!t(this,w)||t(this,Y))&&(n(this,Y,!0),P(()=>{n(this,Y,!1),t(this,w)&&He(t(this,w),t(this,S))}))}get_effect_pending(){return t(this,q).call(this),pe(t(this,w))}error(e){var s=t(this,T).onerror;let r=t(this,T).failed;if(!s&&!r)throw e;t(this,m)&&(Q(t(this,m)),n(this,m,null)),t(this,d)&&(Q(t(this,d)),n(this,d,null)),t(this,E)&&(Q(t(this,E)),n(this,E,null)),N&&(W(t(this,M)),Le(),W(Pe()));var o=!1,a=!1;const c=()=>{if(o){$e();return}o=!0,a&&Ve(),t(this,E)!==null&&K(t(this,E),()=>{n(this,E,null)}),b(this,f,V).call(this,()=>{J.ensure(),b(this,f,ee).call(this)})};P(()=>{try{a=!0,s==null||s(e,c),a=!1}catch(_){le(_,t(this,y)&&t(this,y).parent)}r&&n(this,E,b(this,f,V).call(this,()=>{J.ensure();try{return O(()=>{var _=I;_.b=this,_.f|=ae,r(t(this,l),()=>e,()=>c)})}catch(_){return le(_,t(this,y).parent),null}}))})}}l=new WeakMap,M=new WeakMap,T=new WeakMap,A=new WeakMap,y=new WeakMap,m=new WeakMap,d=new WeakMap,E=new WeakMap,R=new WeakMap,S=new WeakMap,D=new WeakMap,Y=new WeakMap,C=new WeakMap,k=new WeakMap,w=new WeakMap,q=new WeakMap,f=new WeakSet,me=function(){try{n(this,m,O(()=>t(this,A).call(this,t(this,l))))}catch(e){this.error(e)}},Ee=function(){const e=t(this,T).pending;e&&(this.is_pending=!0,n(this,d,O(()=>e(t(this,l)))),P(()=>{var s=n(this,R,document.createDocumentFragment()),r=ve();s.append(r),n(this,m,b(this,f,V).call(this,()=>(J.ensure(),O(()=>t(this,A).call(this,r))))),t(this,D)===0&&(t(this,l).before(s),n(this,R,null),K(t(this,d),()=>{n(this,d,null)}),this.is_pending=!1)}))},ee=function(){try{if(this.is_pending=this.has_pending_snippet(),n(this,D,0),n(this,S,0),n(this,m,O(()=>{t(this,A).call(this,t(this,l))})),t(this,D)>0){var e=n(this,R,document.createDocumentFragment());Ce(t(this,m),e);const s=t(this,T).pending;n(this,d,O(()=>s(t(this,l))))}else this.is_pending=!1}catch(s){this.error(s)}},V=function(e){var s=I,r=Me,o=be;he(t(this,y)),fe(t(this,y)),oe(t(this,y).ctx);try{return e()}catch(a){return Ie(a),null}finally{he(s),fe(r),oe(o)}},te=function(e){var s;if(!this.has_pending_snippet()){this.parent&&b(s=this.parent,f,te).call(s,e);return}if(n(this,D,t(this,D)+e),t(this,D)===0){this.is_pending=!1;for(const r of t(this,C))de(r,Be),_e(r);for(const r of t(this,k))de(r,xe),_e(r);t(this,C).clear(),t(this,k).clear(),t(this,d)&&K(t(this,d),()=>{n(this,d,null)}),t(this,R)&&(t(this,l).before(t(this,R)),n(this,R,null))}};function ct(i,e){var s=e==null?"":typeof e=="object"?e+"":e;s!==(i.__t??(i.__t=i.nodeValue))&&(i.__t=s,i.nodeValue=s+"")}function ot(i,e){return Te(i,e)}function ut(i,e){X(),e.intro=e.intro??!1;const s=e.target,r=N,o=F;try{for(var a=Ue(s);a&&(a.nodeType!==ye||a.data!==je);)a=ze(a);if(!a)throw Z;H(!0),W(a);const c=Te(i,{...e,anchor:a});return H(!1),c}catch(c){if(c instanceof Error&&c.message.split(`
`).some(_=>_.startsWith("https://svelte.dev/e/")))throw c;return c!==Z&&console.warn("Failed to hydrate: ",c),e.recover===!1&&Ge(),X(),Je(s),H(!1),ot(i,e)}finally{H(r),W(o)}}const L=new Map;function Te(i,{target:e,anchor:s,props:r={},events:o,context:a,intro:c=!0}){X();var _=void 0,Re=Ke(()=>{var B=s??e.appendChild(ve());ht(B,{pending:()=>{}},u=>{Xe({});var p=be;if(a&&(p.c=a),o&&(r.$$events=o),N&&Ze(u,null),_=i(u,r)||{},N&&(I.nodes.end=F,F===null||F.nodeType!==ye||F.data!==et))throw tt(),Z;st()});var $=new Set,U=u=>{for(var p=0;p<u.length;p++){var g=u[p];if(!$.has(g)){$.add(g);var x=rt(g);for(const j of[e,document]){var v=L.get(j);v===void 0&&(v=new Map,L.set(j,v));var ie=v.get(g);ie===void 0?(j.addEventListener(g,ue,{passive:x}),v.set(g,1)):v.set(g,ie+1)}}}};return U(Qe(it)),ce.add(U),()=>{var x;for(var u of $)for(const v of[e,document]){var p=L.get(v),g=p.get(u);--g==0?(v.removeEventListener(u,ue),p.delete(u),p.size===0&&L.delete(v)):p.set(u,g)}ce.delete(U),B!==s&&((x=B.parentNode)==null||x.removeChild(B))}});return se.set(_,Re),_}let se=new WeakMap;function pt(i,e){const s=se.get(i);return s?(se.delete(i),s(e)):Promise.resolve()}export{nt as c,ut as h,ot as m,ct as s,pt as u};
@@ -1 +0,0 @@
import{i as a,j as d,J as s,K as E,l as v,L as y,M as h,N,O as x,P as T,Q as w,o as _,s as r,R as A,S as C}from"./Dexp9pM5.js";import{i as M}from"./agKGoZF1.js";import{B as S}from"./CRDN6Mh7.js";function L(m,u,c,i,b,P){let p=a;a&&d();var e=null;a&&s.nodeType===E&&(e=s,d());var l=a?s:m,f=new S(l,!1);v(()=>{const t=u()||null;var g=c||t==="svg"?N:void 0;if(t===null){f.ensure(null,null);return}return f.ensure(t,o=>{if(t){if(e=a?e:h(t,g),x(e,e),i){a&&M(t)&&e.append(document.createComment(""));var n=a?T(e):e.appendChild(w());a&&(n===null?_(!1):r(n)),i(e,n)}A.nodes.end=e,o.before(e)}a&&r(o)}),()=>{}},y),C(()=>{}),p&&(_(!0),r(l))}export{L as e};
@@ -1 +0,0 @@
import"./Bzak7iHL.js";import{A as C,h as i,T,r as n,a as o,G as L,b as h,c as U,f as I,D as $,E as y,C as p,g as V,u as W,az as X}from"./Dexp9pM5.js";import{s as Y}from"./DZmckTjd.js";import{i as Z}from"./CRDN6Mh7.js";import{c as b}from"./25AjRaeI.js";import{L as J,I as K,a as ee,e as re}from"./61AlszRR.js";import{C as ae,a as te}from"./CsnJU1X_.js";import{a as j,c as k,s as z}from"./BKSreT2u.js";import{p as A,b as D,r as G}from"./jOLfEXYH.js";import{B as se}from"./B12dZE2q.js";var oe=h("<p><!></p>");function de(c,e){C(e,!0);let d=A(e,"ref",15,null),u=G(e,["$$slots","$$events","$$legacy","ref","class","children"]);var r=oe();j(r,s=>({"data-slot":"card-description",class:s,...u}),[()=>k("text-muted-foreground text-sm",e.class)]);var v=i(r);z(v,()=>e.children??T),n(r),D(r,s=>d(s),()=>d()),o(c,r),L()}var le=h("<div><!></div>");function ie(c,e){C(e,!0);let d=A(e,"ref",15,null),u=G(e,["$$slots","$$events","$$legacy","ref","class","children"]);var r=le();j(r,s=>({"data-slot":"card-header",class:s,...u}),[()=>k("@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",e.class)]);var v=i(r);z(v,()=>e.children??T),n(r),D(r,s=>d(s),()=>d()),o(c,r),L()}var ne=h("<div><!></div>");function ce(c,e){C(e,!0);let d=A(e,"ref",15,null),u=G(e,["$$slots","$$events","$$legacy","ref","class","children"]);var r=ne();j(r,s=>({"data-slot":"card-title",class:s,...u}),[()=>k("leading-none font-semibold",e.class)]);var v=i(r);z(v,()=>e.children??T),n(r),D(r,s=>d(s),()=>d()),o(c,r),L()}var ue=h("<!> <!>",1),ve=h('<p class="text-destructive text-sm"> </p>'),fe=h('<form method="POST" action="?/login" class="space-y-4"><div class="space-y-2"><!> <!></div> <div class="space-y-2"><div class="flex items-center justify-between"><!> <a href="/forgot-password" class="text-muted-foreground text-sm underline hover:text-foreground">Forgot your password?</a></div> <!></div> <!> <!></form>'),me=h("<!> <!>",1);function Le(c,e){C(e,!0);var d=U(),u=I(d);b(u,()=>te,(r,v)=>{v(r,{class:"w-full max-w-sm",children:(s,_e)=>{var O=me(),S=I(O);b(S,()=>ie,(E,q)=>{q(E,{children:(B,N)=>{var f=ue(),g=I(f);b(g,()=>ce,(x,m)=>{m(x,{children:(_,F)=>{$();var w=y("Login");o(_,w)},$$slots:{default:!0}})});var P=p(g,2);b(P,()=>de,(x,m)=>{m(x,{children:(_,F)=>{$();var w=y("Enter your email and password to sign in.");o(_,w)},$$slots:{default:!0}})}),o(B,f)},$$slots:{default:!0}})});var M=p(S,2);b(M,()=>ae,(E,q)=>{q(E,{children:(B,N)=>{var f=fe(),g=i(f),P=i(g);J(P,{for:"email",children:(a,t)=>{$();var l=y("Email");o(a,l)},$$slots:{default:!0}});var x=p(P,2);{let a=W(()=>{var t;return((t=e.data)==null?void 0:t.email)??""});K(x,{id:"email",name:"email",type:"email",placeholder:"you@example.com",autocomplete:"email",get value(){return V(a)},required:!0})}n(g);var m=p(g,2),_=i(m),F=i(_);J(F,{for:"password",children:(a,t)=>{$();var l=y("Password");o(a,l)},$$slots:{default:!0}}),$(2),n(_);var w=p(_,2);K(w,{id:"password",name:"password",type:"password",autocomplete:"current-password",required:!0}),n(m);var H=p(m,2);{var Q=a=>{var t=ve(),l=i(t,!0);n(t),X(()=>Y(l,e.data.error)),o(a,t)};Z(H,a=>{var t;(t=e.data)!=null&&t.error&&a(Q)})}var R=p(H,2);se(R,{type:"submit",class:"w-full",children:(a,t)=>{$();var l=y("Login");o(a,l)},$$slots:{default:!0}}),n(f),ee(f,(a,t)=>{var l;return(l=re)==null?void 0:l(a,t)},()=>()=>async({update:a})=>{await a()}),o(B,f)},$$slots:{default:!0}})}),o(s,O)},$$slots:{default:!0}})}),o(c,d),L()}export{Le as default};

Some files were not shown because too many files have changed in this diff Show More