1268 lines
92 KiB
JavaScript
1268 lines
92 KiB
JavaScript
(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push([typeof document === "object" ? document.currentScript : undefined,
|
|
"[project]/app/sales/[id]/page.tsx [app-client] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"default",
|
|
()=>SalesDocDetailPage
|
|
]);
|
|
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$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$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$left$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__ArrowLeft$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/arrow-left.mjs [app-client] (ecmascript) <export default as ArrowLeft>");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$pen$2d$tool$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__PenTool$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/pen-tool.mjs [app-client] (ecmascript) <export default as PenTool>");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$send$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__Send$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/send.mjs [app-client] (ecmascript) <export default as Send>");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$check$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__Check$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/check.mjs [app-client] (ecmascript) <export default as Check>");
|
|
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$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$printer$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__Printer$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/printer.mjs [app-client] (ecmascript) <export default as Printer>");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$app$2f$components$2f$ToastProvider$2e$tsx__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/app/components/ToastProvider.tsx [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'
|
|
};
|
|
const statusLabels = {
|
|
DRAFT: 'Entwurf',
|
|
SENT: 'Gesendet',
|
|
ACCEPTED: 'Angenommen',
|
|
REJECTED: 'Abgelehnt',
|
|
DELIVERED: 'Geliefert',
|
|
PAID: 'Bezahlt',
|
|
CANCELLED: 'Storniert'
|
|
};
|
|
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'
|
|
};
|
|
function SalesDocDetailPage() {
|
|
_s();
|
|
const params = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useParams"])();
|
|
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 { toast, confirm } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$app$2f$components$2f$ToastProvider$2e$tsx__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useToast"])();
|
|
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 canManage = perms.includes('SALES_MANAGE');
|
|
const [doc, setDoc] = (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"])(null);
|
|
const [loading, setLoading] = (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"])(true);
|
|
const [showSignature, setShowSignature] = (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"])(false);
|
|
const canvasRef = (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);
|
|
const isDrawing = (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"])(false);
|
|
(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"])({
|
|
"SalesDocDetailPage.useEffect": ()=>{
|
|
fetchDoc();
|
|
}
|
|
}["SalesDocDetailPage.useEffect"], [
|
|
params.id
|
|
]);
|
|
const fetchDoc = async ()=>{
|
|
const res = await fetch(`/api/sales/${params.id}`);
|
|
if (res.ok) setDoc(await res.json());
|
|
setLoading(false);
|
|
};
|
|
const updateStatus = async (status)=>{
|
|
const res = await fetch(`/api/sales/${params.id}`, {
|
|
method: 'PUT',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify({
|
|
status
|
|
})
|
|
});
|
|
if (res.ok) {
|
|
toast(`Status: ${statusLabels[status]}`, 'success');
|
|
fetchDoc();
|
|
}
|
|
};
|
|
// Signature Canvas
|
|
const startDraw = (e)=>{
|
|
isDrawing.current = true;
|
|
const canvas = canvasRef.current;
|
|
if (!canvas) return;
|
|
const ctx = canvas.getContext('2d');
|
|
if (!ctx) return;
|
|
const rect = canvas.getBoundingClientRect();
|
|
const x = 'touches' in e ? e.touches[0].clientX - rect.left : e.clientX - rect.left;
|
|
const y = 'touches' in e ? e.touches[0].clientY - rect.top : e.clientY - rect.top;
|
|
ctx.beginPath();
|
|
ctx.moveTo(x, y);
|
|
};
|
|
const draw = (e)=>{
|
|
if (!isDrawing.current) return;
|
|
const canvas = canvasRef.current;
|
|
if (!canvas) return;
|
|
const ctx = canvas.getContext('2d');
|
|
if (!ctx) return;
|
|
const rect = canvas.getBoundingClientRect();
|
|
const x = 'touches' in e ? e.touches[0].clientX - rect.left : e.clientX - rect.left;
|
|
const y = 'touches' in e ? e.touches[0].clientY - rect.top : e.clientY - rect.top;
|
|
ctx.lineWidth = 2;
|
|
ctx.lineCap = 'round';
|
|
ctx.strokeStyle = '#1e293b';
|
|
ctx.lineTo(x, y);
|
|
ctx.stroke();
|
|
};
|
|
const endDraw = ()=>{
|
|
isDrawing.current = false;
|
|
};
|
|
const clearSignature = ()=>{
|
|
const canvas = canvasRef.current;
|
|
if (!canvas) return;
|
|
const ctx = canvas.getContext('2d');
|
|
ctx?.clearRect(0, 0, canvas.width, canvas.height);
|
|
};
|
|
const saveSignature = async ()=>{
|
|
const canvas = canvasRef.current;
|
|
if (!canvas) return;
|
|
const dataUrl = canvas.toDataURL('image/png');
|
|
const res = await fetch(`/api/sales/${params.id}`, {
|
|
method: 'PUT',
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify({
|
|
signatureData: dataUrl
|
|
})
|
|
});
|
|
if (res.ok) {
|
|
toast('Unterschrift gespeichert', 'success');
|
|
setShowSignature(false);
|
|
fetchDoc();
|
|
}
|
|
};
|
|
if (loading) 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: "p-8 text-slate-500 font-medium",
|
|
children: "Lade..."
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 102,
|
|
columnNumber: 23
|
|
}, this);
|
|
if (!doc) 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: "p-8 text-red-600 font-medium",
|
|
children: "Beleg nicht gefunden."
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 103,
|
|
columnNumber: 20
|
|
}, this);
|
|
const nextActions = {
|
|
DRAFT: [
|
|
{
|
|
label: 'Als gesendet markieren',
|
|
status: 'SENT',
|
|
icon: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$send$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__Send$3e$__["Send"]
|
|
}
|
|
],
|
|
SENT: [
|
|
{
|
|
label: 'Angenommen',
|
|
status: 'ACCEPTED',
|
|
icon: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$check$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__Check$3e$__["Check"]
|
|
},
|
|
{
|
|
label: 'Abgelehnt',
|
|
status: 'REJECTED',
|
|
icon: __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"]
|
|
}
|
|
],
|
|
ACCEPTED: doc.type === 'DELIVERY_NOTE' ? [
|
|
{
|
|
label: 'Geliefert',
|
|
status: 'DELIVERED',
|
|
icon: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$check$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__Check$3e$__["Check"]
|
|
}
|
|
] : doc.type === 'INVOICE' ? [
|
|
{
|
|
label: 'Bezahlt',
|
|
status: 'PAID',
|
|
icon: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$check$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__Check$3e$__["Check"]
|
|
}
|
|
] : []
|
|
};
|
|
const actions = nextActions[doc.status] || [];
|
|
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-5xl mx-auto space-y-6 pb-12 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", {
|
|
className: "flex items-center gap-4",
|
|
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"])("button", {
|
|
onClick: ()=>router.push('/sales'),
|
|
className: "p-2 hover:bg-slate-200 rounded-lg text-slate-600 transition",
|
|
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$arrow$2d$left$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__ArrowLeft$3e$__["ArrowLeft"], {
|
|
className: "w-5 h-5"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 118,
|
|
columnNumber: 13
|
|
}, this)
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 117,
|
|
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"])("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",
|
|
children: [
|
|
typeLabels[doc.type],
|
|
" ",
|
|
doc.number
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 121,
|
|
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"])("div", {
|
|
className: "flex items-center gap-2 mt-1",
|
|
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[doc.status]}`,
|
|
children: statusLabels[doc.status]
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/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"])("span", {
|
|
className: "text-sm text-slate-500",
|
|
children: new Date(doc.createdAt).toLocaleDateString('de-DE')
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 124,
|
|
columnNumber: 15
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 122,
|
|
columnNumber: 13
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 120,
|
|
columnNumber: 11
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 116,
|
|
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-2",
|
|
children: [
|
|
canManage && !doc.signatureData && doc.status !== 'CANCELLED' && /*#__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: ()=>setShowSignature(true),
|
|
className: "bg-amber-500 text-white px-4 py-2 rounded-lg hover:bg-amber-600 transition flex items-center gap-2 text-sm font-medium",
|
|
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$pen$2d$tool$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__PenTool$3e$__["PenTool"], {
|
|
className: "w-4 h-4"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 131,
|
|
columnNumber: 15
|
|
}, this),
|
|
" Unterschreiben"
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 130,
|
|
columnNumber: 13
|
|
}, this),
|
|
canManage && actions.map((a)=>/*#__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: ()=>updateStatus(a.status),
|
|
className: "bg-indigo-600 text-white px-4 py-2 rounded-lg hover:bg-indigo-700 transition flex items-center gap-2 text-sm font-medium",
|
|
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"])(a.icon, {
|
|
className: "w-4 h-4"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 136,
|
|
columnNumber: 15
|
|
}, this),
|
|
" ",
|
|
a.label
|
|
]
|
|
}, a.status, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 135,
|
|
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"])("button", {
|
|
onClick: ()=>window.print(),
|
|
className: "bg-slate-100 text-slate-700 px-4 py-2 rounded-lg hover:bg-slate-200 transition flex items-center gap-2 text-sm font-medium",
|
|
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$printer$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__$3c$export__default__as__Printer$3e$__["Printer"], {
|
|
className: "w-4 h-4"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 140,
|
|
columnNumber: 13
|
|
}, this),
|
|
" Drucken"
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 139,
|
|
columnNumber: 11
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 128,
|
|
columnNumber: 9
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 115,
|
|
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: "grid grid-cols-1 lg:grid-cols-3 gap-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"])("div", {
|
|
className: "lg:col-span-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"])("div", {
|
|
className: "bg-white p-8 rounded-2xl shadow-lg shadow-slate-200/50 border border-slate-100 print:shadow-none print:border-none",
|
|
id: "print-area",
|
|
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 justify-between items-start mb-8",
|
|
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"])("h2", {
|
|
className: "text-xl font-bold text-slate-900",
|
|
children: typeLabels[doc.type]
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 151,
|
|
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"])("p", {
|
|
className: "text-sm text-slate-500 mt-1",
|
|
children: [
|
|
"Nr. ",
|
|
doc.number
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 152,
|
|
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"])("p", {
|
|
className: "text-sm text-slate-500",
|
|
children: [
|
|
"Datum: ",
|
|
new Date(doc.createdAt).toLocaleDateString('de-DE')
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 153,
|
|
columnNumber: 17
|
|
}, this),
|
|
doc.validUntil && /*#__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-sm text-slate-500",
|
|
children: [
|
|
"Gültig bis: ",
|
|
new Date(doc.validUntil).toLocaleDateString('de-DE')
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 154,
|
|
columnNumber: 36
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 150,
|
|
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"])("div", {
|
|
className: "text-right text-sm 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"])("p", {
|
|
className: "font-semibold",
|
|
children: doc.customer?.companyName
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 157,
|
|
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"])("p", {
|
|
children: [
|
|
doc.customer?.firstName,
|
|
" ",
|
|
doc.customer?.lastName
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 158,
|
|
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"])("p", {
|
|
children: doc.customer?.address
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 159,
|
|
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"])("p", {
|
|
children: [
|
|
doc.customer?.zipCode,
|
|
" ",
|
|
doc.customer?.city
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 160,
|
|
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"])("p", {
|
|
children: doc.customer?.email
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 161,
|
|
columnNumber: 17
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 156,
|
|
columnNumber: 15
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 149,
|
|
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"])("table", {
|
|
className: "w-full text-sm mb-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"])("thead", {
|
|
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", {
|
|
className: "border-b-2 border-slate-200 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"])("th", {
|
|
className: "text-left py-3 font-medium",
|
|
children: "Pos."
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 168,
|
|
columnNumber: 19
|
|
}, 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: "text-left py-3 font-medium",
|
|
children: "Beschreibung"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 169,
|
|
columnNumber: 19
|
|
}, 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: "text-right py-3 font-medium",
|
|
children: "Menge"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 170,
|
|
columnNumber: 19
|
|
}, 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: "text-right py-3 font-medium",
|
|
children: "Einzelpreis"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 171,
|
|
columnNumber: 19
|
|
}, 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: "text-right py-3 font-medium",
|
|
children: "Gesamt"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 172,
|
|
columnNumber: 19
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 167,
|
|
columnNumber: 17
|
|
}, this)
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 166,
|
|
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"])("tbody", {
|
|
className: "divide-y divide-slate-100",
|
|
children: doc.items?.map((item, idx)=>/*#__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", {
|
|
className: "py-3 text-slate-400",
|
|
children: idx + 1
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 178,
|
|
columnNumber: 21
|
|
}, 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-3 font-medium text-slate-800",
|
|
children: item.description
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 179,
|
|
columnNumber: 21
|
|
}, 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-3 text-right text-slate-600",
|
|
children: item.quantity
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 180,
|
|
columnNumber: 21
|
|
}, 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-3 text-right text-slate-600",
|
|
children: [
|
|
item.unitPrice.toFixed(2),
|
|
" €"
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 181,
|
|
columnNumber: 21
|
|
}, 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-3 text-right font-semibold text-slate-800",
|
|
children: [
|
|
item.total.toFixed(2),
|
|
" €"
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 182,
|
|
columnNumber: 21
|
|
}, this)
|
|
]
|
|
}, item.id, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 177,
|
|
columnNumber: 19
|
|
}, this))
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 175,
|
|
columnNumber: 15
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 165,
|
|
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"])("div", {
|
|
className: "flex justify-end",
|
|
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: "w-64 space-y-2 text-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"])("div", {
|
|
className: "flex justify-between 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"])("span", {
|
|
children: "Netto"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 190,
|
|
columnNumber: 70
|
|
}, 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"])("span", {
|
|
children: [
|
|
doc.subtotal.toFixed(2),
|
|
" €"
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 190,
|
|
columnNumber: 88
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 190,
|
|
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"])("div", {
|
|
className: "flex justify-between 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"])("span", {
|
|
children: "MwSt (19%)"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 191,
|
|
columnNumber: 70
|
|
}, 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"])("span", {
|
|
children: [
|
|
doc.taxAmount.toFixed(2),
|
|
" €"
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 191,
|
|
columnNumber: 93
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 191,
|
|
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"])("div", {
|
|
className: "flex justify-between text-lg font-bold text-slate-900 pt-2 border-t-2 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"])("span", {
|
|
children: "Gesamt"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 192,
|
|
columnNumber: 121
|
|
}, 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"])("span", {
|
|
children: [
|
|
doc.total.toFixed(2),
|
|
" €"
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 192,
|
|
columnNumber: 140
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 192,
|
|
columnNumber: 17
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 189,
|
|
columnNumber: 15
|
|
}, this)
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 188,
|
|
columnNumber: 13
|
|
}, this),
|
|
doc.notes && /*#__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: "mt-6 p-4 bg-slate-50 rounded-xl border border-slate-100",
|
|
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"])("p", {
|
|
className: "text-xs font-semibold text-slate-500 mb-1",
|
|
children: "Notizen"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 198,
|
|
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"])("p", {
|
|
className: "text-sm text-slate-700 whitespace-pre-wrap",
|
|
children: doc.notes
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 199,
|
|
columnNumber: 17
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 197,
|
|
columnNumber: 15
|
|
}, this),
|
|
doc.signatureData && /*#__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: "mt-6 pt-4 border-t 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"])("p", {
|
|
className: "text-xs text-slate-500 mb-2",
|
|
children: [
|
|
"Digitale Unterschrift (",
|
|
new Date(doc.signedAt).toLocaleDateString('de-DE'),
|
|
")"
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 205,
|
|
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"])("img", {
|
|
src: doc.signatureData,
|
|
alt: "Unterschrift",
|
|
className: "h-16 border border-slate-200 rounded-lg bg-white"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 206,
|
|
columnNumber: 17
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 204,
|
|
columnNumber: 15
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 148,
|
|
columnNumber: 11
|
|
}, this)
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 146,
|
|
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: "space-y-4",
|
|
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: "bg-white p-5 rounded-2xl shadow-lg shadow-slate-200/50 border border-slate-100",
|
|
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"])("h3", {
|
|
className: "text-sm font-semibold text-slate-700 mb-3",
|
|
children: "Details"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 215,
|
|
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"])("div", {
|
|
className: "space-y-2 text-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"])("div", {
|
|
className: "flex 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"])("span", {
|
|
className: "text-slate-500",
|
|
children: "Erstellt von"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 217,
|
|
columnNumber: 53
|
|
}, 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"])("span", {
|
|
className: "font-medium",
|
|
children: [
|
|
doc.createdBy?.firstName,
|
|
" ",
|
|
doc.createdBy?.lastName
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 217,
|
|
columnNumber: 105
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 217,
|
|
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"])("div", {
|
|
className: "flex 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"])("span", {
|
|
className: "text-slate-500",
|
|
children: "Typ"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 218,
|
|
columnNumber: 53
|
|
}, 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"])("span", {
|
|
className: "font-medium",
|
|
children: typeLabels[doc.type]
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 218,
|
|
columnNumber: 96
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 218,
|
|
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"])("div", {
|
|
className: "flex 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"])("span", {
|
|
className: "text-slate-500",
|
|
children: "Positionen"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 219,
|
|
columnNumber: 53
|
|
}, 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"])("span", {
|
|
className: "font-medium",
|
|
children: doc.items?.length
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 219,
|
|
columnNumber: 103
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 219,
|
|
columnNumber: 15
|
|
}, this),
|
|
doc.signedAt && /*#__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 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"])("span", {
|
|
className: "text-slate-500",
|
|
children: "Unterschrieben"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 220,
|
|
columnNumber: 70
|
|
}, 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"])("span", {
|
|
className: "font-medium text-emerald-600",
|
|
children: "✓"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 220,
|
|
columnNumber: 124
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 220,
|
|
columnNumber: 32
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 216,
|
|
columnNumber: 13
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 214,
|
|
columnNumber: 11
|
|
}, this),
|
|
canManage && doc.status !== 'CANCELLED' && doc.status !== 'PAID' && /*#__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: async ()=>{
|
|
const ok = await confirm({
|
|
title: 'Stornieren',
|
|
message: 'Beleg wirklich stornieren?',
|
|
danger: true
|
|
});
|
|
if (ok) updateStatus('CANCELLED');
|
|
},
|
|
className: "w-full bg-red-50 text-red-600 py-2.5 rounded-xl font-medium hover:bg-red-100 transition text-sm",
|
|
children: "Beleg stornieren"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 224,
|
|
columnNumber: 13
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 213,
|
|
columnNumber: 9
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 145,
|
|
columnNumber: 7
|
|
}, this),
|
|
showSignature && /*#__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: "fixed inset-0 bg-slate-900/60 flex items-center justify-center z-50 backdrop-blur-sm p-4",
|
|
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: "bg-white p-6 rounded-3xl shadow-2xl max-w-lg w-full",
|
|
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"])("h2", {
|
|
className: "text-lg font-bold text-slate-900 mb-4",
|
|
children: "Digitale Unterschrift"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 238,
|
|
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"])("p", {
|
|
className: "text-sm text-slate-500 mb-4",
|
|
children: "Bitte unterschreiben Sie im Feld unten."
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 239,
|
|
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"])("canvas", {
|
|
ref: canvasRef,
|
|
width: 460,
|
|
height: 200,
|
|
className: "w-full border-2 border-slate-300 rounded-xl cursor-crosshair bg-white touch-none",
|
|
onMouseDown: startDraw,
|
|
onMouseMove: draw,
|
|
onMouseUp: endDraw,
|
|
onMouseLeave: endDraw,
|
|
onTouchStart: startDraw,
|
|
onTouchMove: draw,
|
|
onTouchEnd: endDraw
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 240,
|
|
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"])("div", {
|
|
className: "flex justify-between mt-4",
|
|
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"])("button", {
|
|
onClick: clearSignature,
|
|
className: "text-sm text-slate-500 hover:text-slate-700 font-medium",
|
|
children: "Löschen"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 246,
|
|
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"])("div", {
|
|
className: "flex 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"])("button", {
|
|
onClick: ()=>setShowSignature(false),
|
|
className: "px-4 py-2 text-slate-600 font-medium hover:bg-slate-100 rounded-xl transition",
|
|
children: "Abbrechen"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 248,
|
|
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"])("button", {
|
|
onClick: saveSignature,
|
|
className: "bg-indigo-600 text-white px-6 py-2 rounded-xl font-medium hover:bg-indigo-700 transition",
|
|
children: "Unterschreiben"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 249,
|
|
columnNumber: 17
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 247,
|
|
columnNumber: 15
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 245,
|
|
columnNumber: 13
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 237,
|
|
columnNumber: 11
|
|
}, this)
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 236,
|
|
columnNumber: 9
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/sales/[id]/page.tsx",
|
|
lineNumber: 114,
|
|
columnNumber: 5
|
|
}, this);
|
|
}
|
|
_s(SalesDocDetailPage, "O/JTW3HbJ9L0LMawJHv9u7TVYu4=", 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$__["useParams"],
|
|
__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$app$2f$components$2f$ToastProvider$2e$tsx__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useToast"],
|
|
__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 = SalesDocDetailPage;
|
|
var _c;
|
|
__turbopack_context__.k.register(_c, "SalesDocDetailPage");
|
|
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/arrow-left.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"__iconNode",
|
|
()=>__iconNode,
|
|
"default",
|
|
()=>ArrowLeft
|
|
]);
|
|
/**
|
|
* @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: "m12 19-7-7 7-7",
|
|
key: "1l729n"
|
|
}
|
|
],
|
|
[
|
|
"path",
|
|
{
|
|
d: "M19 12H5",
|
|
key: "x3x0zl"
|
|
}
|
|
]
|
|
];
|
|
const ArrowLeft = (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"])("arrow-left", __iconNode);
|
|
;
|
|
}),
|
|
"[project]/node_modules/lucide-react/dist/esm/icons/arrow-left.mjs [app-client] (ecmascript) <export default as ArrowLeft>", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"ArrowLeft",
|
|
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$left$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$arrow$2d$left$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/arrow-left.mjs [app-client] (ecmascript)");
|
|
}),
|
|
"[project]/node_modules/lucide-react/dist/esm/icons/pen-tool.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"__iconNode",
|
|
()=>__iconNode,
|
|
"default",
|
|
()=>PenTool
|
|
]);
|
|
/**
|
|
* @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: "M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z",
|
|
key: "nt11vn"
|
|
}
|
|
],
|
|
[
|
|
"path",
|
|
{
|
|
d: "m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18",
|
|
key: "15qc1e"
|
|
}
|
|
],
|
|
[
|
|
"path",
|
|
{
|
|
d: "m2.3 2.3 7.286 7.286",
|
|
key: "1wuzzi"
|
|
}
|
|
],
|
|
[
|
|
"circle",
|
|
{
|
|
cx: "11",
|
|
cy: "11",
|
|
r: "2",
|
|
key: "xmgehs"
|
|
}
|
|
]
|
|
];
|
|
const PenTool = (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"])("pen-tool", __iconNode);
|
|
;
|
|
}),
|
|
"[project]/node_modules/lucide-react/dist/esm/icons/pen-tool.mjs [app-client] (ecmascript) <export default as PenTool>", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"PenTool",
|
|
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$pen$2d$tool$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$pen$2d$tool$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/pen-tool.mjs [app-client] (ecmascript)");
|
|
}),
|
|
"[project]/node_modules/lucide-react/dist/esm/icons/send.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"__iconNode",
|
|
()=>__iconNode,
|
|
"default",
|
|
()=>Send
|
|
]);
|
|
/**
|
|
* @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: "M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",
|
|
key: "1ffxy3"
|
|
}
|
|
],
|
|
[
|
|
"path",
|
|
{
|
|
d: "m21.854 2.147-10.94 10.939",
|
|
key: "12cjpa"
|
|
}
|
|
]
|
|
];
|
|
const Send = (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"])("send", __iconNode);
|
|
;
|
|
}),
|
|
"[project]/node_modules/lucide-react/dist/esm/icons/send.mjs [app-client] (ecmascript) <export default as Send>", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"Send",
|
|
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$send$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$send$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/send.mjs [app-client] (ecmascript)");
|
|
}),
|
|
"[project]/node_modules/lucide-react/dist/esm/icons/check.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"__iconNode",
|
|
()=>__iconNode,
|
|
"default",
|
|
()=>Check
|
|
]);
|
|
/**
|
|
* @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: "M20 6 9 17l-5-5",
|
|
key: "1gmf2c"
|
|
}
|
|
]
|
|
];
|
|
const Check = (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"])("check", __iconNode);
|
|
;
|
|
}),
|
|
"[project]/node_modules/lucide-react/dist/esm/icons/check.mjs [app-client] (ecmascript) <export default as Check>", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"Check",
|
|
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$check$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$check$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/check.mjs [app-client] (ecmascript)");
|
|
}),
|
|
"[project]/node_modules/lucide-react/dist/esm/icons/printer.mjs [app-client] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"__iconNode",
|
|
()=>__iconNode,
|
|
"default",
|
|
()=>Printer
|
|
]);
|
|
/**
|
|
* @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: "M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2",
|
|
key: "143wyd"
|
|
}
|
|
],
|
|
[
|
|
"path",
|
|
{
|
|
d: "M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6",
|
|
key: "1itne7"
|
|
}
|
|
],
|
|
[
|
|
"rect",
|
|
{
|
|
x: "6",
|
|
y: "14",
|
|
width: "12",
|
|
height: "8",
|
|
rx: "1",
|
|
key: "1ue0tg"
|
|
}
|
|
]
|
|
];
|
|
const Printer = (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"])("printer", __iconNode);
|
|
;
|
|
}),
|
|
"[project]/node_modules/lucide-react/dist/esm/icons/printer.mjs [app-client] (ecmascript) <export default as Printer>", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
__turbopack_context__.s([
|
|
"Printer",
|
|
()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$printer$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$printer$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/printer.mjs [app-client] (ecmascript)");
|
|
}),
|
|
]);
|
|
|
|
//# sourceMappingURL=_0.r9.68._.js.map
|