Files
erp-system/.next/dev/static/chunks/_090w0dr._.js
T
2026-05-20 18:58:23 +00:00

513 lines
38 KiB
JavaScript

(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push([typeof document === "object" ? document.currentScript : undefined,
"[project]/app/sales/page.tsx [app-client] (ecmascript)", ((__turbopack_context__) => {
"use strict";
__turbopack_context__.s([
"default",
()=>SalesPage
]);
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/jsx-dev-runtime.js [app-client] (ecmascript)");
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$file$2d$text$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__FileText$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/file-text.mjs [app-client] (ecmascript) <export default as FileText>");
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$plus$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__Plus$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/plus.mjs [app-client] (ecmascript) <export default as Plus>");
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$search$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__Search$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/search.mjs [app-client] (ecmascript) <export default as Search>");
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$x$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__X$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/x.mjs [app-client] (ecmascript) <export default as X>");
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/navigation.js [app-client] (ecmascript)");
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$auth$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next-auth/react/index.js [app-client] (ecmascript)");
;
var _s = __turbopack_context__.k.signature();
'use client';
;
;
;
;
const typeLabels = {
QUOTE: 'Angebot',
ORDER_CONFIRMATION: 'Auftragsbestätigung',
DELIVERY_NOTE: 'Lieferschein',
INVOICE: 'Rechnung',
CREDIT_NOTE: 'Rechnungskorrektur'
};
const typeColors = {
QUOTE: 'bg-blue-50 text-blue-700 border-blue-200',
ORDER_CONFIRMATION: 'bg-indigo-50 text-indigo-700 border-indigo-200',
DELIVERY_NOTE: 'bg-amber-50 text-amber-700 border-amber-200',
INVOICE: 'bg-emerald-50 text-emerald-700 border-emerald-200',
CREDIT_NOTE: 'bg-red-50 text-red-700 border-red-200'
};
const statusLabels = {
DRAFT: 'Entwurf',
SENT: 'Gesendet',
ACCEPTED: 'Angenommen',
REJECTED: 'Abgelehnt',
DELIVERED: 'Geliefert',
PAID: 'Bezahlt',
CANCELLED: 'Storniert',
ARCHIVED: 'Archiviert'
};
const statusColors = {
DRAFT: 'bg-slate-100 text-slate-600',
SENT: 'bg-blue-100 text-blue-700',
ACCEPTED: 'bg-emerald-100 text-emerald-700',
REJECTED: 'bg-red-100 text-red-700',
DELIVERED: 'bg-amber-100 text-amber-700',
PAID: 'bg-emerald-100 text-emerald-700',
CANCELLED: 'bg-slate-200 text-slate-500',
ARCHIVED: 'bg-slate-100 text-slate-400'
};
function SalesPage() {
_s();
const [docs, setDocs] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"])([]);
const [filter, setFilter] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"])('ACTIVE');
const [search, setSearch] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"])('');
const router = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRouter"])();
const { data: session } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$auth$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useSession"])();
const perms = session?.user?.permissions || [];
const canCreate = perms.includes('SALES_MANAGE');
const debounceRef = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRef"])(null);
(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"])({
"SalesPage.useEffect": ()=>{
fetchDocs();
}
}["SalesPage.useEffect"], []);
const fetchDocs = async ()=>{
const res = await fetch('/api/sales');
if (res.ok) setDocs(await res.json());
};
// Filter + Search logic
const filtered = docs.filter((d)=>{
// Type filter
if (filter === 'ACTIVE' && (d.status === 'ARCHIVED' || d.status === 'CANCELLED')) return false;
if (filter === 'ARCHIVED' && d.status !== 'ARCHIVED') return false;
if (filter !== 'ALL' && filter !== 'ACTIVE' && filter !== 'ARCHIVED' && d.type !== filter) return false;
// Search
if (search.trim()) {
const q = search.toLowerCase();
const customerName = d.customer?.companyName || `${d.customer?.firstName} ${d.customer?.lastName}`;
return d.number.toLowerCase().includes(q) || customerName.toLowerCase().includes(q) || (typeLabels[d.type] || '').toLowerCase().includes(q) || (statusLabels[d.status] || '').toLowerCase().includes(q);
}
return true;
});
return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
className: "max-w-7xl mx-auto space-y-6 animate-fade-in-up",
children: [
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
className: "flex items-center justify-between",
children: [
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
children: [
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("h1", {
className: "text-2xl font-bold text-slate-900 flex items-center gap-2",
children: [
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$file$2d$text$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__FileText$3e$__["FileText"], {
className: "w-6 h-6 text-indigo-600"
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 74,
columnNumber: 13
}, this),
" Verkauf"
]
}, void 0, true, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 73,
columnNumber: 11
}, this),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("p", {
className: "text-slate-500 mt-1",
children: "Angebote, Auftragsbestätigungen, Lieferscheine & Rechnungen."
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 76,
columnNumber: 11
}, this)
]
}, void 0, true, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 72,
columnNumber: 9
}, this),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
className: "flex items-center gap-3",
children: [
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
className: "relative",
children: [
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$search$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__Search$3e$__["Search"], {
className: "w-4 h-4 absolute left-3 top-1/2 -translate-y-1/2 text-slate-400"
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 81,
columnNumber: 13
}, this),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("input", {
type: "text",
placeholder: "Nr., Kunde, Typ suchen...",
value: search,
onChange: (e)=>setSearch(e.target.value),
className: "pl-9 pr-8 py-2 border border-slate-300 rounded-xl text-sm outline-none focus-ring w-64"
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 82,
columnNumber: 13
}, this),
search && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("button", {
onClick: ()=>setSearch(''),
className: "absolute right-2 top-1/2 -translate-y-1/2 text-slate-400 hover:text-slate-600",
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$x$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__X$3e$__["X"], {
className: "w-4 h-4"
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 87,
columnNumber: 17
}, this)
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 86,
columnNumber: 15
}, this)
]
}, void 0, true, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 80,
columnNumber: 11
}, this),
canCreate && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("button", {
onClick: ()=>router.push('/sales/new'),
className: "bg-indigo-600 text-white px-4 py-2 rounded-lg hover:bg-indigo-700 transition flex items-center gap-2 font-medium shadow-sm",
children: [
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$plus$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__Plus$3e$__["Plus"], {
className: "w-4 h-4"
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 93,
columnNumber: 15
}, this),
" Neuer Beleg"
]
}, void 0, true, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 92,
columnNumber: 13
}, this)
]
}, void 0, true, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 78,
columnNumber: 9
}, this)
]
}, void 0, true, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 71,
columnNumber: 7
}, this),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
className: "flex gap-2 flex-wrap",
children: [
{
key: 'ACTIVE',
label: 'Aktiv'
},
{
key: 'ALL',
label: 'Alle'
},
{
key: 'QUOTE',
label: 'Angebote'
},
{
key: 'ORDER_CONFIRMATION',
label: 'ABs'
},
{
key: 'DELIVERY_NOTE',
label: 'Lieferscheine'
},
{
key: 'INVOICE',
label: 'Rechnungen'
},
{
key: 'CREDIT_NOTE',
label: 'Korrekturen'
},
{
key: 'ARCHIVED',
label: 'Archiv'
}
].map((f)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("button", {
onClick: ()=>setFilter(f.key),
className: `px-3 py-1.5 rounded-lg text-sm font-medium transition ${filter === f.key ? 'bg-indigo-600 text-white' : 'bg-white text-slate-600 border border-slate-200 hover:bg-slate-50'}`,
children: f.label
}, f.key, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 110,
columnNumber: 11
}, this))
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 99,
columnNumber: 7
}, this),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
className: "bg-white rounded-2xl shadow-lg shadow-slate-200/50 border border-slate-100 overflow-hidden",
children: [
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("table", {
className: "w-full text-sm text-left",
children: [
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("thead", {
className: "bg-slate-50 text-slate-600 font-medium border-b border-slate-200",
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("tr", {
children: [
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("th", {
className: "py-4 px-6",
children: "Nummer"
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 121,
columnNumber: 15
}, this),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("th", {
className: "py-4 px-6",
children: "Typ"
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 122,
columnNumber: 15
}, this),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("th", {
className: "py-4 px-6",
children: "Kunde"
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 123,
columnNumber: 15
}, this),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("th", {
className: "py-4 px-6",
children: "Status"
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 124,
columnNumber: 15
}, this),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("th", {
className: "py-4 px-6 text-right",
children: "Betrag"
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 125,
columnNumber: 15
}, this),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("th", {
className: "py-4 px-6",
children: "Datum"
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 126,
columnNumber: 15
}, this)
]
}, void 0, true, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 120,
columnNumber: 13
}, this)
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 119,
columnNumber: 11
}, this),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("tbody", {
className: "divide-y divide-slate-100",
children: [
filtered.map((d)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("tr", {
onClick: ()=>router.push(`/sales/${d.id}`),
className: `hover:bg-indigo-50/40 transition-colors cursor-pointer ${d.status === 'ARCHIVED' ? 'opacity-60' : ''}`,
children: [
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("td", {
className: "py-4 px-6 font-mono font-semibold text-slate-900",
children: d.number
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 133,
columnNumber: 17
}, this),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("td", {
className: "py-4 px-6",
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
className: `px-2.5 py-1 rounded-md text-xs font-semibold border ${typeColors[d.type]}`,
children: typeLabels[d.type]
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 135,
columnNumber: 19
}, this)
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 134,
columnNumber: 17
}, this),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("td", {
className: "py-4 px-6 text-slate-700",
children: d.customer?.companyName || `${d.customer?.firstName} ${d.customer?.lastName}`
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 137,
columnNumber: 17
}, this),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("td", {
className: "py-4 px-6",
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
className: `px-2.5 py-1 rounded-full text-xs font-bold ${statusColors[d.status]}`,
children: statusLabels[d.status]
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 139,
columnNumber: 19
}, this)
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 138,
columnNumber: 17
}, this),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("td", {
className: "py-4 px-6 text-right font-semibold text-slate-900",
children: [
d.total.toFixed(2),
" €"
]
}, void 0, true, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 141,
columnNumber: 17
}, this),
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("td", {
className: "py-4 px-6 text-slate-500",
children: new Date(d.createdAt).toLocaleDateString('de-DE')
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 142,
columnNumber: 17
}, this)
]
}, d.id, true, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 131,
columnNumber: 15
}, this)),
filtered.length === 0 && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("tr", {
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("td", {
colSpan: 6,
className: "py-8 text-center text-slate-500",
children: search ? `Keine Ergebnisse für "${search}"` : 'Keine Belege vorhanden.'
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 146,
columnNumber: 19
}, this)
}, void 0, false, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 146,
columnNumber: 15
}, this)
]
}, void 0, true, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 129,
columnNumber: 11
}, this)
]
}, void 0, true, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 118,
columnNumber: 9
}, this),
filtered.length > 0 && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
className: "px-6 py-3 bg-slate-50 border-t border-slate-100 text-xs text-slate-500",
children: [
filtered.length,
" Beleg",
filtered.length !== 1 ? 'e' : '',
" angezeigt"
]
}, void 0, true, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 153,
columnNumber: 11
}, this)
]
}, void 0, true, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 117,
columnNumber: 7
}, this)
]
}, void 0, true, {
fileName: "[project]/app/sales/page.tsx",
lineNumber: 70,
columnNumber: 5
}, this);
}
_s(SalesPage, "5OLNfMA0j1dQXgpQjEUf1nbESEY=", false, function() {
return [
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useRouter"],
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$auth$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useSession"]
];
});
_c = SalesPage;
var _c;
__turbopack_context__.k.register(_c, "SalesPage");
if (typeof globalThis.$RefreshHelpers$ === 'object' && globalThis.$RefreshHelpers !== null) {
__turbopack_context__.k.registerExports(__turbopack_context__.m, globalThis.$RefreshHelpers$);
}
}),
"[project]/node_modules/lucide-react/dist/esm/icons/plus.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
"use strict";
__turbopack_context__.s([
"__iconNode",
()=>__iconNode,
"default",
()=>Plus
]);
/**
* @license lucide-react v1.14.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.mjs [app-client] (ecmascript)");
;
const __iconNode = [
[
"path",
{
d: "M5 12h14",
key: "1ays0h"
}
],
[
"path",
{
d: "M12 5v14",
key: "s699le"
}
]
];
const Plus = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("plus", __iconNode);
;
}),
"[project]/node_modules/lucide-react/dist/esm/icons/plus.mjs [app-client] (ecmascript) <export default as Plus>", ((__turbopack_context__) => {
"use strict";
__turbopack_context__.s([
"Plus",
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$plus$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"]
]);
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$plus$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/plus.mjs [app-client] (ecmascript)");
}),
]);
//# sourceMappingURL=_090w0dr._.js.map