80 lines
3.4 KiB
JavaScript
80 lines
3.4 KiB
JavaScript
import { h as head, e as ensure_array_like, a as attr, b as stringify, c 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 } = $$props;
|
||
const receipts = data?.receipts ?? [];
|
||
head("16kr07e", $$renderer2, ($$renderer3) => {
|
||
$$renderer3.title(($$renderer4) => {
|
||
$$renderer4.push(`<title>Receipts – 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 flex-col gap-4 sm:flex-row sm:items-center sm:justify-between"><div class="flex items-center gap-3"><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 sm:text-2xl">Receipts</h1></div> <a href="/receipts/new" class="block shrink-0">`);
|
||
Button($$renderer2, {
|
||
class: "w-full sm:w-auto",
|
||
children: ($$renderer3) => {
|
||
$$renderer3.push(`<!---->New receipt`);
|
||
},
|
||
$$slots: { default: true }
|
||
});
|
||
$$renderer2.push(`<!----></a></div> `);
|
||
if (receipts.length === 0) {
|
||
$$renderer2.push("<!--[-->");
|
||
Card($$renderer2, {
|
||
children: ($$renderer3) => {
|
||
Card_content($$renderer3, {
|
||
class: "flex flex-col items-center justify-center gap-4 py-12",
|
||
children: ($$renderer4) => {
|
||
$$renderer4.push(`<p class="text-muted-foreground text-center text-sm">No receipts yet.</p> <p class="text-muted-foreground text-center text-xs">Create a receipt to get started.</p> <a href="/receipts/new">`);
|
||
Button($$renderer4, {
|
||
variant: "outline",
|
||
children: ($$renderer5) => {
|
||
$$renderer5.push(`<!---->New receipt`);
|
||
},
|
||
$$slots: { default: true }
|
||
});
|
||
$$renderer4.push(`<!----></a> <a href="/">`);
|
||
Button($$renderer4, {
|
||
variant: "ghost",
|
||
children: ($$renderer5) => {
|
||
$$renderer5.push(`<!---->Back to home`);
|
||
},
|
||
$$slots: { default: true }
|
||
});
|
||
$$renderer4.push(`<!----></a>`);
|
||
},
|
||
$$slots: { default: true }
|
||
});
|
||
},
|
||
$$slots: { default: true }
|
||
});
|
||
} else {
|
||
$$renderer2.push("<!--[!-->");
|
||
$$renderer2.push(`<div class="flex flex-col gap-2"><!--[-->`);
|
||
const each_array = ensure_array_like(receipts);
|
||
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
||
let receipt = each_array[$$index];
|
||
Card($$renderer2, {
|
||
children: ($$renderer3) => {
|
||
Card_content($$renderer3, {
|
||
class: "p-4",
|
||
children: ($$renderer4) => {
|
||
$$renderer4.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 }
|
||
});
|
||
}
|
||
$$renderer2.push(`<!--]--></div>`);
|
||
}
|
||
$$renderer2.push(`<!--]--></main>`);
|
||
});
|
||
}
|
||
export {
|
||
_page as default
|
||
};
|