571 lines
43 KiB
JavaScript
571 lines
43 KiB
JavaScript
module.exports = [
|
|
"[externals]/next/dist/shared/lib/no-fallback-error.external.js [external] (next/dist/shared/lib/no-fallback-error.external.js, cjs)", ((__turbopack_context__, module, exports) => {
|
|
|
|
const mod = __turbopack_context__.x("next/dist/shared/lib/no-fallback-error.external.js", () => require("next/dist/shared/lib/no-fallback-error.external.js"));
|
|
|
|
module.exports = mod;
|
|
}),
|
|
"[externals]/url [external] (url, cjs)", ((__turbopack_context__, module, exports) => {
|
|
|
|
const mod = __turbopack_context__.x("url", () => require("url"));
|
|
|
|
module.exports = mod;
|
|
}),
|
|
"[externals]/http [external] (http, cjs)", ((__turbopack_context__, module, exports) => {
|
|
|
|
const mod = __turbopack_context__.x("http", () => require("http"));
|
|
|
|
module.exports = mod;
|
|
}),
|
|
"[externals]/crypto [external] (crypto, cjs)", ((__turbopack_context__, module, exports) => {
|
|
|
|
const mod = __turbopack_context__.x("crypto", () => require("crypto"));
|
|
|
|
module.exports = mod;
|
|
}),
|
|
"[externals]/assert [external] (assert, cjs)", ((__turbopack_context__, module, exports) => {
|
|
|
|
const mod = __turbopack_context__.x("assert", () => require("assert"));
|
|
|
|
module.exports = mod;
|
|
}),
|
|
"[externals]/querystring [external] (querystring, cjs)", ((__turbopack_context__, module, exports) => {
|
|
|
|
const mod = __turbopack_context__.x("querystring", () => require("querystring"));
|
|
|
|
module.exports = mod;
|
|
}),
|
|
"[externals]/buffer [external] (buffer, cjs)", ((__turbopack_context__, module, exports) => {
|
|
|
|
const mod = __turbopack_context__.x("buffer", () => require("buffer"));
|
|
|
|
module.exports = mod;
|
|
}),
|
|
"[externals]/zlib [external] (zlib, cjs)", ((__turbopack_context__, module, exports) => {
|
|
|
|
const mod = __turbopack_context__.x("zlib", () => require("zlib"));
|
|
|
|
module.exports = mod;
|
|
}),
|
|
"[externals]/https [external] (https, cjs)", ((__turbopack_context__, module, exports) => {
|
|
|
|
const mod = __turbopack_context__.x("https", () => require("https"));
|
|
|
|
module.exports = mod;
|
|
}),
|
|
"[externals]/events [external] (events, cjs)", ((__turbopack_context__, module, exports) => {
|
|
|
|
const mod = __turbopack_context__.x("events", () => require("events"));
|
|
|
|
module.exports = mod;
|
|
}),
|
|
"[project]/lib/prisma.ts [app-rsc] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
return __turbopack_context__.a(async (__turbopack_handle_async_dependencies__, __turbopack_async_result__) => { try {
|
|
|
|
__turbopack_context__.s([
|
|
"default",
|
|
()=>__TURBOPACK__default__export__,
|
|
"prisma",
|
|
()=>prisma
|
|
]);
|
|
// /opt/erp-system/lib/prisma.ts
|
|
var __TURBOPACK__imported__module__$5b$externals$5d2f40$prisma$2f$client__$5b$external$5d$__$2840$prisma$2f$client$2c$__cjs$2c$__$5b$project$5d2f$node_modules$2f40$prisma$2f$client$29$__ = __turbopack_context__.i("[externals]/@prisma/client [external] (@prisma/client, cjs, [project]/node_modules/@prisma/client)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$prisma$2f$adapter$2d$pg$2f$dist$2f$index$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/@prisma/adapter-pg/dist/index.mjs [app-rsc] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$externals$5d2f$pg__$5b$external$5d$__$28$pg$2c$__esm_import$2c$__$5b$project$5d2f$node_modules$2f$pg$29$__ = __turbopack_context__.i("[externals]/pg [external] (pg, esm_import, [project]/node_modules/pg)");
|
|
var __turbopack_async_dependencies__ = __turbopack_handle_async_dependencies__([
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$prisma$2f$adapter$2d$pg$2f$dist$2f$index$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__,
|
|
__TURBOPACK__imported__module__$5b$externals$5d2f$pg__$5b$external$5d$__$28$pg$2c$__esm_import$2c$__$5b$project$5d2f$node_modules$2f$pg$29$__
|
|
]);
|
|
[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$prisma$2f$adapter$2d$pg$2f$dist$2f$index$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__, __TURBOPACK__imported__module__$5b$externals$5d2f$pg__$5b$external$5d$__$28$pg$2c$__esm_import$2c$__$5b$project$5d2f$node_modules$2f$pg$29$__] = __turbopack_async_dependencies__.then ? (await __turbopack_async_dependencies__)() : __turbopack_async_dependencies__;
|
|
;
|
|
;
|
|
;
|
|
// Verhindert zu viele offene Verbindungen beim Hot-Reloading in Next.js
|
|
const globalForPrisma = /*TURBOPACK member replacement*/ __turbopack_context__.g;
|
|
const pool = new __TURBOPACK__imported__module__$5b$externals$5d2f$pg__$5b$external$5d$__$28$pg$2c$__esm_import$2c$__$5b$project$5d2f$node_modules$2f$pg$29$__["Pool"]({
|
|
connectionString: process.env.DATABASE_URL
|
|
});
|
|
const adapter = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f40$prisma$2f$adapter$2d$pg$2f$dist$2f$index$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["PrismaPg"](pool);
|
|
const prisma = globalForPrisma.prisma || new __TURBOPACK__imported__module__$5b$externals$5d2f40$prisma$2f$client__$5b$external$5d$__$2840$prisma$2f$client$2c$__cjs$2c$__$5b$project$5d2f$node_modules$2f40$prisma$2f$client$29$__["PrismaClient"]({
|
|
adapter
|
|
});
|
|
if ("TURBOPACK compile-time truthy", 1) globalForPrisma.prisma = prisma;
|
|
const __TURBOPACK__default__export__ = prisma;
|
|
__turbopack_async_result__();
|
|
} catch(e) { __turbopack_async_result__(e); } }, false);}),
|
|
"[project]/app/api/auth/[...nextauth]/route.ts [app-rsc] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
return __turbopack_context__.a(async (__turbopack_handle_async_dependencies__, __turbopack_async_result__) => { try {
|
|
|
|
__turbopack_context__.s([
|
|
"GET",
|
|
()=>handler,
|
|
"POST",
|
|
()=>handler,
|
|
"authOptions",
|
|
()=>authOptions
|
|
]);
|
|
// /opt/erp-system/app/api/auth/[...nextauth]/route.ts
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$auth$2f$index$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next-auth/index.js [app-rsc] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$auth$2f$providers$2f$credentials$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next-auth/providers/credentials.js [app-rsc] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$lib$2f$prisma$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/lib/prisma.ts [app-rsc] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$bcryptjs$2f$index$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/bcryptjs/index.js [app-rsc] (ecmascript)");
|
|
var __turbopack_async_dependencies__ = __turbopack_handle_async_dependencies__([
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$lib$2f$prisma$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__
|
|
]);
|
|
[__TURBOPACK__imported__module__$5b$project$5d2f$lib$2f$prisma$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__] = __turbopack_async_dependencies__.then ? (await __turbopack_async_dependencies__)() : __turbopack_async_dependencies__;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
const authOptions = {
|
|
providers: [
|
|
(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$auth$2f$providers$2f$credentials$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["default"])({
|
|
name: "Credentials",
|
|
credentials: {
|
|
email: {
|
|
label: "Email",
|
|
type: "email"
|
|
},
|
|
password: {
|
|
label: "Passwort",
|
|
type: "password"
|
|
}
|
|
},
|
|
async authorize (credentials) {
|
|
if (!credentials?.email || !credentials?.password) return null;
|
|
// Hole Nutzer INKLUSIVE seiner zugewiesenen Rolle und Permissions
|
|
const user = await __TURBOPACK__imported__module__$5b$project$5d2f$lib$2f$prisma$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["default"].user.findUnique({
|
|
where: {
|
|
email: credentials.email
|
|
},
|
|
include: {
|
|
role: true
|
|
}
|
|
});
|
|
if (!user) return null;
|
|
const passwordMatch = await __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$bcryptjs$2f$index$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["default"].compare(credentials.password, user.passwordHash);
|
|
if (!passwordMatch) return null;
|
|
return {
|
|
id: user.id.toString(),
|
|
email: user.email,
|
|
firstName: user.firstName,
|
|
lastName: user.lastName,
|
|
roleName: user.role?.name || 'Keine Rolle',
|
|
permissions: user.role?.permissions || []
|
|
};
|
|
}
|
|
})
|
|
],
|
|
callbacks: {
|
|
async jwt ({ token, user }) {
|
|
if (user) {
|
|
token.id = user.id;
|
|
token.firstName = user.firstName;
|
|
token.lastName = user.lastName;
|
|
token.roleName = user.roleName;
|
|
token.permissions = user.permissions;
|
|
}
|
|
return token;
|
|
},
|
|
async session ({ session, token }) {
|
|
if (token) {
|
|
session.user.id = token.id;
|
|
session.user.firstName = token.firstName;
|
|
session.user.lastName = token.lastName;
|
|
session.user.roleName = token.roleName;
|
|
session.user.permissions = token.permissions || [];
|
|
}
|
|
return session;
|
|
}
|
|
},
|
|
pages: {
|
|
signIn: "/login"
|
|
},
|
|
secret: process.env.NEXTAUTH_SECRET || "supersecret"
|
|
};
|
|
const handler = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$auth$2f$index$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["default"])(authOptions);
|
|
;
|
|
__turbopack_async_result__();
|
|
} catch(e) { __turbopack_async_result__(e); } }, false);}),
|
|
"[project]/app/page.tsx [app-rsc] (ecmascript)", ((__turbopack_context__) => {
|
|
"use strict";
|
|
|
|
return __turbopack_context__.a(async (__turbopack_handle_async_dependencies__, __turbopack_async_result__) => { try {
|
|
|
|
__turbopack_context__.s([
|
|
"default",
|
|
()=>DashboardPage
|
|
]);
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js [app-rsc] (ecmascript)");
|
|
// /opt/erp-system/app/page.tsx
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$auth$2f$next$2f$index$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next-auth/next/index.js [app-rsc] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$app$2f$api$2f$auth$2f5b2e2e2e$nextauth$5d2f$route$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/app/api/auth/[...nextauth]/route.ts [app-rsc] (ecmascript)");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$ticket$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__Ticket$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/ticket.mjs [app-rsc] (ecmascript) <export default as Ticket>");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$users$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__Users$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/users.mjs [app-rsc] (ecmascript) <export default as Users>");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$clock$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__Clock$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/clock.mjs [app-rsc] (ecmascript) <export default as Clock>");
|
|
var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$up$2d$right$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__ArrowUpRight$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/arrow-up-right.mjs [app-rsc] (ecmascript) <export default as ArrowUpRight>");
|
|
var __turbopack_async_dependencies__ = __turbopack_handle_async_dependencies__([
|
|
__TURBOPACK__imported__module__$5b$project$5d2f$app$2f$api$2f$auth$2f5b2e2e2e$nextauth$5d2f$route$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__
|
|
]);
|
|
[__TURBOPACK__imported__module__$5b$project$5d2f$app$2f$api$2f$auth$2f5b2e2e2e$nextauth$5d2f$route$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__] = __turbopack_async_dependencies__.then ? (await __turbopack_async_dependencies__)() : __turbopack_async_dependencies__;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
async function DashboardPage() {
|
|
const session = await (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2d$auth$2f$next$2f$index$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getServerSession"])(__TURBOPACK__imported__module__$5b$project$5d2f$app$2f$api$2f$auth$2f5b2e2e2e$nextauth$5d2f$route$2e$ts__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["authOptions"]);
|
|
return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "max-w-7xl mx-auto space-y-8",
|
|
children: [
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$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$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
children: [
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("h1", {
|
|
className: "text-2xl font-bold text-slate-900",
|
|
children: [
|
|
"Willkommen zurück, ",
|
|
session?.user?.name || "Benutzer"
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 15,
|
|
columnNumber: 11
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("p", {
|
|
className: "text-slate-500 mt-1",
|
|
children: "Dein aktueller Systemüberblick."
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 18,
|
|
columnNumber: 11
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 14,
|
|
columnNumber: 9
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "flex items-center gap-2 bg-white px-4 py-2 rounded-lg border border-slate-200 shadow-sm",
|
|
children: [
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "w-2 h-2 bg-emerald-500 rounded-full animate-pulse"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 21,
|
|
columnNumber: 11
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
|
className: "text-sm font-medium text-slate-600",
|
|
children: "System Online"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 22,
|
|
columnNumber: 11
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 20,
|
|
columnNumber: 9
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 13,
|
|
columnNumber: 7
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "grid grid-cols-1 md:grid-cols-3 gap-6",
|
|
children: [
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "bg-white rounded-xl border border-slate-200 p-6 shadow-sm hover:shadow-md transition-shadow relative overflow-hidden group",
|
|
children: [
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "absolute right-0 top-0 w-24 h-24 bg-indigo-50 rounded-bl-full -mr-4 -mt-4 transition-transform group-hover:scale-110"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 31,
|
|
columnNumber: 11
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "relative z-10 flex justify-between items-start",
|
|
children: [
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
children: [
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("p", {
|
|
className: "text-sm font-medium text-slate-500 mb-1",
|
|
children: "Offene Tickets"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 34,
|
|
columnNumber: 15
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("h3", {
|
|
className: "text-3xl font-bold text-slate-900",
|
|
children: "0"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 35,
|
|
columnNumber: 15
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 33,
|
|
columnNumber: 13
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "p-3 bg-indigo-50 text-indigo-600 rounded-lg",
|
|
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$ticket$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__Ticket$3e$__["Ticket"], {
|
|
className: "w-6 h-6"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 38,
|
|
columnNumber: 15
|
|
}, this)
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 37,
|
|
columnNumber: 13
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 32,
|
|
columnNumber: 11
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "relative z-10 mt-4 flex items-center text-sm",
|
|
children: [
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
|
className: "text-emerald-600 flex items-center font-medium",
|
|
children: [
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$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$up$2d$right$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__ArrowUpRight$3e$__["ArrowUpRight"], {
|
|
className: "w-4 h-4 mr-1"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 43,
|
|
columnNumber: 15
|
|
}, this),
|
|
" 0%"
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 42,
|
|
columnNumber: 13
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
|
className: "text-slate-400 ml-2",
|
|
children: "seit gestern"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 45,
|
|
columnNumber: 13
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 41,
|
|
columnNumber: 11
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 30,
|
|
columnNumber: 9
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "bg-white rounded-xl border border-slate-200 p-6 shadow-sm hover:shadow-md transition-shadow relative overflow-hidden group",
|
|
children: [
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "absolute right-0 top-0 w-24 h-24 bg-emerald-50 rounded-bl-full -mr-4 -mt-4 transition-transform group-hover:scale-110"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 51,
|
|
columnNumber: 11
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "relative z-10 flex justify-between items-start",
|
|
children: [
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
children: [
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("p", {
|
|
className: "text-sm font-medium text-slate-500 mb-1",
|
|
children: "Aktive Kunden"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 54,
|
|
columnNumber: 15
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("h3", {
|
|
className: "text-3xl font-bold text-slate-900",
|
|
children: "0"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 55,
|
|
columnNumber: 15
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 53,
|
|
columnNumber: 13
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "p-3 bg-emerald-50 text-emerald-600 rounded-lg",
|
|
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$users$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__Users$3e$__["Users"], {
|
|
className: "w-6 h-6"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 58,
|
|
columnNumber: 15
|
|
}, this)
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 57,
|
|
columnNumber: 13
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 52,
|
|
columnNumber: 11
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "relative z-10 mt-4 flex items-center text-sm",
|
|
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
|
className: "text-slate-400",
|
|
children: "Gesamtbestand im System"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 62,
|
|
columnNumber: 13
|
|
}, this)
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 61,
|
|
columnNumber: 11
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 50,
|
|
columnNumber: 9
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "bg-white rounded-xl border border-slate-200 p-6 shadow-sm hover:shadow-md transition-shadow relative overflow-hidden group",
|
|
children: [
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "absolute right-0 top-0 w-24 h-24 bg-amber-50 rounded-bl-full -mr-4 -mt-4 transition-transform group-hover:scale-110"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 68,
|
|
columnNumber: 11
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "relative z-10 flex justify-between items-start",
|
|
children: [
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
children: [
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("p", {
|
|
className: "text-sm font-medium text-slate-500 mb-1",
|
|
children: "Abrechenbare Zeit"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 71,
|
|
columnNumber: 15
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("h3", {
|
|
className: "text-3xl font-bold text-slate-900",
|
|
children: "0 h"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 72,
|
|
columnNumber: 15
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 70,
|
|
columnNumber: 13
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "p-3 bg-amber-50 text-amber-600 rounded-lg",
|
|
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$clock$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$export__default__as__Clock$3e$__["Clock"], {
|
|
className: "w-6 h-6"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 75,
|
|
columnNumber: 15
|
|
}, this)
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 74,
|
|
columnNumber: 13
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 69,
|
|
columnNumber: 11
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
|
className: "relative z-10 mt-4 flex items-center text-sm",
|
|
children: [
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
|
className: "text-amber-600 font-medium",
|
|
children: "0 Einträge"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 79,
|
|
columnNumber: 13
|
|
}, this),
|
|
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
|
className: "text-slate-400 ml-2",
|
|
children: "offen zur Abrechnung"
|
|
}, void 0, false, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 80,
|
|
columnNumber: 13
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 78,
|
|
columnNumber: 11
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 67,
|
|
columnNumber: 9
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 27,
|
|
columnNumber: 7
|
|
}, this)
|
|
]
|
|
}, void 0, true, {
|
|
fileName: "[project]/app/page.tsx",
|
|
lineNumber: 10,
|
|
columnNumber: 5
|
|
}, this);
|
|
}
|
|
__turbopack_async_result__();
|
|
} catch(e) { __turbopack_async_result__(e); } }, false);}),
|
|
"[project]/app/page.tsx [app-rsc] (ecmascript, Next.js Server Component)", ((__turbopack_context__) => {
|
|
|
|
__turbopack_context__.n(__turbopack_context__.i("[project]/app/page.tsx [app-rsc] (ecmascript)"));
|
|
}),
|
|
];
|
|
|
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0bgwvr6._.js.map
|