225 lines
128 KiB
JavaScript
225 lines
128 KiB
JavaScript
/*
|
||
* ATTENTION: An "eval-source-map" devtool has been used.
|
||
* This devtool is neither made for production nor for readable output files.
|
||
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
||
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
||
* or disable the default devtool with "devtool: false".
|
||
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
||
*/
|
||
(() => {
|
||
var exports = {};
|
||
exports.id = "app/dashboard/page";
|
||
exports.ids = ["app/dashboard/page"];
|
||
exports.modules = {
|
||
|
||
/***/ "../../client/components/action-async-storage.external":
|
||
/*!*******************************************************************************!*\
|
||
!*** external "next/dist/client/components/action-async-storage.external.js" ***!
|
||
\*******************************************************************************/
|
||
/***/ ((module) => {
|
||
|
||
"use strict";
|
||
module.exports = require("next/dist/client/components/action-async-storage.external.js");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "../../client/components/request-async-storage.external":
|
||
/*!********************************************************************************!*\
|
||
!*** external "next/dist/client/components/request-async-storage.external.js" ***!
|
||
\********************************************************************************/
|
||
/***/ ((module) => {
|
||
|
||
"use strict";
|
||
module.exports = require("next/dist/client/components/request-async-storage.external.js");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "../../client/components/static-generation-async-storage.external":
|
||
/*!******************************************************************************************!*\
|
||
!*** external "next/dist/client/components/static-generation-async-storage.external.js" ***!
|
||
\******************************************************************************************/
|
||
/***/ ((module) => {
|
||
|
||
"use strict";
|
||
module.exports = require("next/dist/client/components/static-generation-async-storage.external.js");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js":
|
||
/*!*************************************************************************!*\
|
||
!*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***!
|
||
\*************************************************************************/
|
||
/***/ ((module) => {
|
||
|
||
"use strict";
|
||
module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fdashboard%2Fpage&page=%2Fdashboard%2Fpage&appPaths=%2Fdashboard%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Fpage.js&appDir=D%3A%5Chaomi%5Ccodex_projects%5CcontractApproval%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=D%3A%5Chaomi%5Ccodex_projects%5CcontractApproval&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!":
|
||
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fdashboard%2Fpage&page=%2Fdashboard%2Fpage&appPaths=%2Fdashboard%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Fpage.js&appDir=D%3A%5Chaomi%5Ccodex_projects%5CcontractApproval%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=D%3A%5Chaomi%5Ccodex_projects%5CcontractApproval&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D! ***!
|
||
\***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ originalPathname: () => (/* binding */ originalPathname),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9100\");\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"(rsc)/./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"originalPathname\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\"TURBOPACK { transition: next-ssr }\";\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: [\n 'dashboard',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/dashboard/page.js */ \"(rsc)/./src/app/dashboard/page.js\")), \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\"],\n \n }]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/dashboard/layout.js */ \"(rsc)/./src/app/dashboard/layout.js\")), \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\"],\n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.js */ \"(rsc)/./src/app/layout.js\")), \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\layout.js\"],\n'not-found': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23)), \"next/dist/client/components/not-found-error\"],\n \n }\n ]\n }.children;\nconst pages = [\"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/dashboard/page\";\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/dashboard/page\",\n pathname: \"/dashboard\",\n // The following aren't used in production.\n bundlePath: \"\",\n filename: \"\",\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIuanM/bmFtZT1hcHAlMkZkYXNoYm9hcmQlMkZwYWdlJnBhZ2U9JTJGZGFzaGJvYXJkJTJGcGFnZSZhcHBQYXRocz0lMkZkYXNoYm9hcmQlMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGZGFzaGJvYXJkJTJGcGFnZS5qcyZhcHBEaXI9RCUzQSU1Q2hhb21pJTVDY29kZXhfcHJvamVjdHMlNUNjb250cmFjdEFwcHJvdmFsJTVDc3JjJTVDYXBwJnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMmcm9vdERpcj1EJTNBJTVDaGFvbWklNUNjb2RleF9wcm9qZWN0cyU1Q2NvbnRyYWN0QXBwcm92YWwmaXNEZXY9dHJ1ZSZ0c2NvbmZpZ1BhdGg9dHNjb25maWcuanNvbiZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JnByZWZlcnJlZFJlZ2lvbj0mbWlkZGxld2FyZUNvbmZpZz1lMzAlM0QhIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxhQUFhLHNCQUFzQjtBQUNpRTtBQUNyQztBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakMsdUJBQXVCLGtLQUE4RztBQUNySTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQSx5QkFBeUIsc0tBQWdIO0FBQ3pJO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLHlCQUF5QixrSkFBcUc7QUFDOUgsb0JBQW9CLDBOQUFnRjtBQUNwRztBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDdUI7QUFDNkQ7QUFDcEYsNkJBQTZCLG1CQUFtQjtBQUNoRDtBQUNPO0FBQ0E7QUFDUDtBQUNBO0FBQ0E7QUFDdUQ7QUFDdkQ7QUFDTyx3QkFBd0IsOEdBQWtCO0FBQ2pEO0FBQ0EsY0FBYyx5RUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCIsInNvdXJjZXMiOlsid2VicGFjazovL2NvbnRyYWN0LWFwcHJvdmFsLXN5c3RlbS8/M2I4MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcIlRVUkJPUEFDSyB7IHRyYW5zaXRpb246IG5leHQtc3NyIH1cIjtcbmltcG9ydCB7IEFwcFBhZ2VSb3V0ZU1vZHVsZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL21vZHVsZS5jb21waWxlZFwiO1xuaW1wb3J0IHsgUm91dGVLaW5kIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLWtpbmRcIjtcbi8vIFdlIGluamVjdCB0aGUgdHJlZSBhbmQgcGFnZXMgaGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSBpbiB0aGUgcm91dGVcbi8vIG1vZHVsZS5cbmNvbnN0IHRyZWUgPSB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICcnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdkYXNoYm9hcmQnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbJ19fUEFHRV9fJywge30sIHtcbiAgICAgICAgICBwYWdlOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJEOlxcXFxoYW9taVxcXFxjb2RleF9wcm9qZWN0c1xcXFxjb250cmFjdEFwcHJvdmFsXFxcXHNyY1xcXFxhcHBcXFxcZGFzaGJvYXJkXFxcXHBhZ2UuanNcIiksIFwiRDpcXFxcaGFvbWlcXFxcY29kZXhfcHJvamVjdHNcXFxcY29udHJhY3RBcHByb3ZhbFxcXFxzcmNcXFxcYXBwXFxcXGRhc2hib2FyZFxcXFxwYWdlLmpzXCJdLFxuICAgICAgICAgIFxuICAgICAgICB9XVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAnbGF5b3V0JzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRDpcXFxcaGFvbWlcXFxcY29kZXhfcHJvamVjdHNcXFxcY29udHJhY3RBcHByb3ZhbFxcXFxzcmNcXFxcYXBwXFxcXGRhc2hib2FyZFxcXFxsYXlvdXQuanNcIiksIFwiRDpcXFxcaGFvbWlcXFxcY29kZXhfcHJvamVjdHNcXFxcY29udHJhY3RBcHByb3ZhbFxcXFxzcmNcXFxcYXBwXFxcXGRhc2hib2FyZFxcXFxsYXlvdXQuanNcIl0sXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAnbGF5b3V0JzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRDpcXFxcaGFvbWlcXFxcY29kZXhfcHJvamVjdHNcXFxcY29udHJhY3RBcHByb3ZhbFxcXFxzcmNcXFxcYXBwXFxcXGxheW91dC5qc1wiKSwgXCJEOlxcXFxoYW9taVxcXFxjb2RleF9wcm9qZWN0c1xcXFxjb250cmFjdEFwcHJvdmFsXFxcXHNyY1xcXFxhcHBcXFxcbGF5b3V0LmpzXCJdLFxuJ25vdC1mb3VuZCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIiksIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiXSxcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LmNoaWxkcmVuO1xuY29uc3QgcGFnZXMgPSBbXCJEOlxcXFxoYW9taVxcXFxjb2RleF9wcm9qZWN0c1xcXFxjb250cmFjdEFwcHJvdmFsXFxcXHNyY1xcXFxhcHBcXFxcZGFzaGJvYXJkXFxcXHBhZ2UuanNcIl07XG5leHBvcnQgeyB0cmVlLCBwYWdlcyB9O1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBHbG9iYWxFcnJvciB9IGZyb20gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnlcIjtcbmNvbnN0IF9fbmV4dF9hcHBfcmVxdWlyZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfX1xuY29uc3QgX19uZXh0X2FwcF9sb2FkX2NodW5rX18gPSAoKSA9PiBQcm9taXNlLnJlc29sdmUoKVxuZXhwb3J0IGNvbnN0IG9yaWdpbmFsUGF0aG5hbWUgPSBcIi9kYXNoYm9hcmQvcGFnZVwiO1xuZXhwb3J0IGNvbnN0IF9fbmV4dF9hcHBfXyA9IHtcbiAgICByZXF1aXJlOiBfX25leHRfYXBwX3JlcXVpcmVfXyxcbiAgICBsb2FkQ2h1bms6IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fXG59O1xuZXhwb3J0ICogZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9lbnRyeS1iYXNlXCI7XG4vLyBDcmVhdGUgYW5kIGV4cG9ydCB0aGUgcm91dGUgbW9kdWxlIHRoYXQgd2lsbCBiZSBjb25zdW1lZC5cbmV4cG9ydCBjb25zdCByb3V0ZU1vZHVsZSA9IG5ldyBBcHBQYWdlUm91dGVNb2R1bGUoe1xuICAgIGRlZmluaXRpb246IHtcbiAgICAgICAga2luZDogUm91dGVLaW5kLkFQUF9QQUdFLFxuICAgICAgICBwYWdlOiBcIi9kYXNoYm9hcmQvcGFnZVwiLFxuICAgICAgICBwYXRobmFtZTogXCIvZGFzaGJvYXJkXCIsXG4gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlbid0IHVzZWQgaW4gcHJvZHVjdGlvbi5cbiAgICAgICAgYnVuZGxlUGF0aDogXCJcIixcbiAgICAgICAgZmlsZW5hbWU6IFwiXCIsXG4gICAgICAgIGFwcFBhdGhzOiBbXVxuICAgIH0sXG4gICAgdXNlcmxhbmQ6IHtcbiAgICAgICAgbG9hZGVyVHJlZTogdHJlZVxuICAgIH1cbn0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcGFnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fdashboard%2Fpage&page=%2Fdashboard%2Fpage&appPaths=%2Fdashboard%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Fpage.js&appDir=D%3A%5Chaomi%5Ccodex_projects%5CcontractApproval%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=D%3A%5Chaomi%5Ccodex_projects%5CcontractApproval&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!\n");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Capp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
|
||
/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Capp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
|
||
\****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/app-router.js */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/not-found-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkQlM0ElNUMlNUNoYW9taSU1QyU1Q2NvZGV4X3Byb2plY3RzJTVDJTVDY29udHJhY3RBcHByb3ZhbCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2FwcC1yb3V0ZXIuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRCUzQSU1QyU1Q2hhb21pJTVDJTVDY29kZXhfcHJvamVjdHMlNUMlNUNjb250cmFjdEFwcHJvdmFsJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDY2xpZW50LXBhZ2UuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRCUzQSU1QyU1Q2hhb21pJTVDJTVDY29kZXhfcHJvamVjdHMlNUMlNUNjb250cmFjdEFwcHJvdmFsJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRCUzQSU1QyU1Q2hhb21pJTVDJTVDY29kZXhfcHJvamVjdHMlNUMlNUNjb250cmFjdEFwcHJvdmFsJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDbGF5b3V0LXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJEJTNBJTVDJTVDaGFvbWklNUMlNUNjb2RleF9wcm9qZWN0cyU1QyU1Q2NvbnRyYWN0QXBwcm92YWwlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNub3QtZm91bmQtYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyRCUzQSU1QyU1Q2hhb21pJTVDJTVDY29kZXhfcHJvamVjdHMlNUMlNUNjb250cmFjdEFwcHJvdmFsJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQTZJO0FBQzdJO0FBQ0Esb09BQThJO0FBQzlJO0FBQ0EsME9BQWlKO0FBQ2pKO0FBQ0Esd09BQWdKO0FBQ2hKO0FBQ0Esa1BBQXFKO0FBQ3JKO0FBQ0Esc1FBQStKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vY29udHJhY3QtYXBwcm92YWwtc3lzdGVtLz8xZmNkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRDpcXFxcaGFvbWlcXFxcY29kZXhfcHJvamVjdHNcXFxcY29udHJhY3RBcHByb3ZhbFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXGFwcC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkQ6XFxcXGhhb21pXFxcXGNvZGV4X3Byb2plY3RzXFxcXGNvbnRyYWN0QXBwcm92YWxcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRDpcXFxcaGFvbWlcXFxcY29kZXhfcHJvamVjdHNcXFxcY29udHJhY3RBcHByb3ZhbFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXGVycm9yLWJvdW5kYXJ5LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJEOlxcXFxoYW9taVxcXFxjb2RleF9wcm9qZWN0c1xcXFxjb250cmFjdEFwcHJvdmFsXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxcbGF5b3V0LXJvdXRlci5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRDpcXFxcaGFvbWlcXFxcY29kZXhfcHJvamVjdHNcXFxcY29udHJhY3RBcHByb3ZhbFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXG5vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRDpcXFxcaGFvbWlcXFxcY29kZXhfcHJvamVjdHNcXFxcY29udHJhY3RBcHByb3ZhbFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXHJlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Capp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cerror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Clayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Cnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Cnode_modules%5C%5Cnext%5C%5Cdist%5C%5Cclient%5C%5Ccomponents%5C%5Crender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Clayout.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
|
||
/*!*************************************************************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Clayout.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
|
||
\*************************************************************************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/dashboard/layout.js */ \"(ssr)/./src/app/dashboard/layout.js\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkQlM0ElNUMlNUNoYW9taSU1QyU1Q2NvZGV4X3Byb2plY3RzJTVDJTVDY29udHJhY3RBcHByb3ZhbCU1QyU1Q3NyYyU1QyU1Q2FwcCU1QyU1Q2Rhc2hib2FyZCU1QyU1Q2xheW91dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsc0tBQWdIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vY29udHJhY3QtYXBwcm92YWwtc3lzdGVtLz9hMjYzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiRDpcXFxcaGFvbWlcXFxcY29kZXhfcHJvamVjdHNcXFxcY29udHJhY3RBcHByb3ZhbFxcXFxzcmNcXFxcYXBwXFxcXGRhc2hib2FyZFxcXFxsYXlvdXQuanNcIik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Clayout.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Cpage.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
|
||
/*!***********************************************************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Cpage.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
|
||
\***********************************************************************************************************************************************************************************************************************************************************************/
|
||
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/dashboard/page.js */ \"(ssr)/./src/app/dashboard/page.js\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkQlM0ElNUMlNUNoYW9taSU1QyU1Q2NvZGV4X3Byb2plY3RzJTVDJTVDY29udHJhY3RBcHByb3ZhbCU1QyU1Q3NyYyU1QyU1Q2FwcCU1QyU1Q2Rhc2hib2FyZCU1QyU1Q3BhZ2UuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLGtLQUE4RyIsInNvdXJjZXMiOlsid2VicGFjazovL2NvbnRyYWN0LWFwcHJvdmFsLXN5c3RlbS8/ZWM3NSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkQ6XFxcXGhhb21pXFxcXGNvZGV4X3Byb2plY3RzXFxcXGNvbnRyYWN0QXBwcm92YWxcXFxcc3JjXFxcXGFwcFxcXFxkYXNoYm9hcmRcXFxccGFnZS5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Csrc%5C%5Capp%5C%5Cdashboard%5C%5Cpage.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
|
||
/*!************************************************************************************************************************************************************************************************************************************************************!*\
|
||
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22D%3A%5C%5Chaomi%5C%5Ccodex_projects%5C%5CcontractApproval%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
|
||
\************************************************************************************************************************************************************************************************************************************************************/
|
||
/***/ (() => {
|
||
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(ssr)/./src/app/dashboard/layout.js":
|
||
/*!*************************************!*\
|
||
!*** ./src/app/dashboard/layout.js ***!
|
||
\*************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ DashboardLayout),\n/* harmony export */ useUser: () => (/* binding */ useUser)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _lib_auth_client__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/auth-client */ \"(ssr)/./src/lib/auth-client.js\");\n/* harmony import */ var _dashboard_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dashboard.css */ \"(ssr)/./src/app/dashboard/dashboard.css\");\n/* __next_internal_client_entry_do_not_use__ useUser,default auto */ \n\n\n\n\nconst UserContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(null);\nconst useUser = ()=>(0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(UserContext);\nconst ALL_MENUS = [\n {\n key: \"dashboard\",\n label: \"工作台\",\n icon: \"\\uD83D\\uDCCA\",\n path: \"/dashboard\"\n },\n {\n key: \"contracts\",\n label: \"合同流转\",\n icon: \"\\uD83D\\uDCCB\",\n path: \"/dashboard/contracts\"\n },\n {\n key: \"partners\",\n label: \"合作单位\",\n icon: \"\\uD83C\\uDFE2\",\n path: \"/dashboard/partners\"\n },\n {\n key: \"users\",\n label: \"用户管理\",\n icon: \"\\uD83D\\uDC65\",\n path: \"/dashboard/users\"\n },\n {\n key: \"departments\",\n label: \"部门管理\",\n icon: \"\\uD83C\\uDFDB️\",\n path: \"/dashboard/departments\"\n },\n {\n key: \"settings\",\n label: \"系统配置\",\n icon: \"⚙️\",\n path: \"/dashboard/settings\"\n },\n {\n key: \"permissions\",\n label: \"权限配置\",\n icon: \"\\uD83D\\uDD10\",\n path: \"/dashboard/permissions\"\n }\n];\nfunction DashboardLayout({ children }) {\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)();\n const pathname = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.usePathname)();\n const [user, setUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [permissions, setPermissions] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [collapsed, setCollapsed] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const token = (0,_lib_auth_client__WEBPACK_IMPORTED_MODULE_3__.getToken)();\n if (!token) {\n router.replace(\"/login\");\n return;\n }\n (0,_lib_auth_client__WEBPACK_IMPORTED_MODULE_3__.authFetch)(\"/api/auth/me\").then((r)=>r.json()).then((data)=>{\n if (data.error) {\n (0,_lib_auth_client__WEBPACK_IMPORTED_MODULE_3__.clearToken)();\n router.replace(\"/login\");\n return;\n }\n setUser(data.user);\n setPermissions(data.permissions || []);\n setLoading(false);\n }).catch(()=>{\n (0,_lib_auth_client__WEBPACK_IMPORTED_MODULE_3__.clearToken)();\n router.replace(\"/login\");\n });\n }, [\n router\n ]);\n const handleLogout = ()=>{\n (0,_lib_auth_client__WEBPACK_IMPORTED_MODULE_3__.clearToken)();\n router.replace(\"/login\");\n };\n const visibleMenus = ALL_MENUS.filter((menu)=>{\n if (!user) return false;\n if (user.role === \"admin\") return true;\n const perm = permissions.find((p)=>p.menu_key === menu.key);\n return perm ? perm.visible === 1 : false;\n });\n if (loading) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n minHeight: \"100vh\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"loading-spinner\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 67,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 66,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(UserContext.Provider, {\n value: user,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"dashboard-layout\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"aside\", {\n className: `sidebar ${collapsed ? \"collapsed\" : \"\"}`,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"sidebar-header\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"sidebar-logo\",\n children: \"\\uD83D\\uDCC4\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 77,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"sidebar-brand\",\n children: \"合同审批系统\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 78,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 76,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"sidebar-nav\",\n children: visibleMenus.map((menu)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: menu.path,\n className: `nav-item ${pathname === menu.path || menu.key !== \"dashboard\" && pathname.startsWith(menu.path) ? \"active\" : \"\"}`,\n onClick: (e)=>{\n e.preventDefault();\n router.push(menu.path);\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"nav-item-icon\",\n children: menu.icon\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 88,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"nav-item-text\",\n children: menu.label\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 89,\n columnNumber: 17\n }, this)\n ]\n }, menu.key, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 82,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 80,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"sidebar-footer\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: \"sidebar-toggle\",\n onClick: ()=>setCollapsed(!collapsed),\n children: collapsed ? \"→\" : \"← 收起菜单\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 94,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 93,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 75,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `main-content ${collapsed ? \"collapsed\" : \"\"}`,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"top-header\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"header-left\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"header-title\",\n children: visibleMenus.find((m)=>pathname === m.path || m.key !== \"dashboard\" && pathname.startsWith(m.path))?.label || \"工作台\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 103,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 102,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"header-right\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"user-info\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"user-avatar\",\n children: user?.real_name?.[0]\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 109,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"user-name\",\n children: user?.real_name\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 111,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"user-role\",\n children: _lib_auth_client__WEBPACK_IMPORTED_MODULE_3__.ROLE_NAMES[user?.role] || user?.role\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 112,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 110,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 108,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: \"logout-btn\",\n onClick: handleLogout,\n children: \"退出登录\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 115,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 107,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 101,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"page-content\",\n children: children\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 118,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 100,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 74,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\layout.js\",\n lineNumber: 73,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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MEIsQ0FBQUEsSUFBS2pELGFBQWFpRCxFQUFFckQsSUFBSSxJQUFLcUQsRUFBRXhELEdBQUcsS0FBSyxlQUFlTyxTQUFTMEMsVUFBVSxDQUFDTyxFQUFFckQsSUFBSSxJQUFLRixTQUFTOzs7Ozs7Ozs7Ozs4Q0FHckgsOERBQUNpQztvQ0FBSU0sV0FBVTs7c0RBQ2IsOERBQUNOOzRDQUFJTSxXQUFVOzs4REFDYiw4REFBQ047b0RBQUlNLFdBQVU7OERBQWVoQyxNQUFNaUQsV0FBVyxDQUFDLEVBQUU7Ozs7Ozs4REFDbEQsOERBQUN2Qjs7c0VBQ0MsOERBQUNBOzREQUFJTSxXQUFVO3NFQUFhaEMsTUFBTWlEOzs7Ozs7c0VBQ2xDLDhEQUFDYjs0REFBS0osV0FBVTtzRUFBYTVDLHdEQUFVLENBQUNZLE1BQU1vQixLQUFLLElBQUlwQixNQUFNb0I7Ozs7Ozs7Ozs7Ozs7Ozs7OztzREFHakUsOERBQUMwQjs0Q0FBT2QsV0FBVTs0Q0FBYVUsU0FBUzFCO3NEQUFjOzs7Ozs7Ozs7Ozs7Ozs7Ozs7c0NBRzFELDhEQUFDa0M7NEJBQUtsQixXQUFVO3NDQUNibkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTWIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9jb250cmFjdC1hcHByb3ZhbC1zeXN0ZW0vLi9zcmMvYXBwL2Rhc2hib2FyZC9sYXlvdXQuanM/ZjcxOSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XHJcbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIGNyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IHVzZVJvdXRlciwgdXNlUGF0aG5hbWUgfSBmcm9tICduZXh0L25hdmlnYXRpb24nO1xyXG5pbXBvcnQgeyBnZXRUb2tlbiwgY2xlYXJUb2tlbiwgZ2V0VXNlciwgYXV0aEZldGNoLCBST0xFX05BTUVTIH0gZnJvbSAnQC9saWIvYXV0aC1jbGllbnQnO1xyXG5pbXBvcnQgJy4vZGFzaGJvYXJkLmNzcyc7XHJcblxyXG5jb25zdCBVc2VyQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQobnVsbCk7XHJcbmV4cG9ydCBjb25zdCB1c2VVc2VyID0gKCkgPT4gdXNlQ29udGV4dChVc2VyQ29udGV4dCk7XHJcblxyXG5jb25zdCBBTExfTUVOVVMgPSBbXHJcbiAgeyBrZXk6ICdkYXNoYm9hcmQnLCBsYWJlbDogJ+W3peS9nOWPsCcsIGljb246ICfwn5OKJywgcGF0aDogJy9kYXNoYm9hcmQnIH0sXHJcbiAgeyBrZXk6ICdjb250cmFjdHMnLCBsYWJlbDogJ+WQiOWQjOa1gei9rCcsIGljb246ICfwn5OLJywgcGF0aDogJy9kYXNoYm9hcmQvY29udHJhY3RzJyB9LFxyXG4gIHsga2V5OiAncGFydG5lcnMnLCBsYWJlbDogJ+WQiOS9nOWNleS9jScsIGljb246ICfwn4+iJywgcGF0aDogJy9kYXNoYm9hcmQvcGFydG5lcnMnIH0sXHJcbiAgeyBrZXk6ICd1c2VycycsIGxhYmVsOiAn55So5oi3566h55CGJywgaWNvbjogJ/CfkaUnLCBwYXRoOiAnL2Rhc2hib2FyZC91c2VycycgfSxcclxuICB7IGtleTogJ2RlcGFydG1lbnRzJywgbGFiZWw6ICfpg6jpl6jnrqHnkIYnLCBpY29uOiAn8J+Pm++4jycsIHBhdGg6ICcvZGFzaGJvYXJkL2RlcGFydG1lbnRzJyB9LFxyXG4gIHsga2V5OiAnc2V0dGluZ3MnLCBsYWJlbDogJ+ezu+e7n+mFjee9ricsIGljb246ICfimpnvuI8nLCBwYXRoOiAnL2Rhc2hib2FyZC9zZXR0aW5ncycgfSxcclxuICB7IGtleTogJ3Blcm1pc3Npb25zJywgbGFiZWw6ICfmnYPpmZDphY3nva4nLCBpY29uOiAn8J+UkCcsIHBhdGg6ICcvZGFzaGJvYXJkL3Blcm1pc3Npb25zJyB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRGFzaGJvYXJkTGF5b3V0KHsgY2hpbGRyZW4gfSkge1xyXG4gIGNvbnN0IHJvdXRlciA9IHVzZVJvdXRlcigpO1xyXG4gIGNvbnN0IHBhdGhuYW1lID0gdXNlUGF0aG5hbWUoKTtcclxuICBjb25zdCBbdXNlciwgc2V0VXNlcl0gPSB1c2VTdGF0ZShudWxsKTtcclxuICBjb25zdCBbcGVybWlzc2lvbnMsIHNldFBlcm1pc3Npb25zXSA9IHVzZVN0YXRlKFtdKTtcclxuICBjb25zdCBbY29sbGFwc2VkLCBzZXRDb2xsYXBzZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpO1xyXG5cclxuICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgY29uc3QgdG9rZW4gPSBnZXRUb2tlbigpO1xyXG4gICAgaWYgKCF0b2tlbikge1xyXG4gICAgICByb3V0ZXIucmVwbGFjZSgnL2xvZ2luJyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGF1dGhGZXRjaCgnL2FwaS9hdXRoL21lJylcclxuICAgICAgLnRoZW4ociA9PiByLmpzb24oKSlcclxuICAgICAgLnRoZW4oZGF0YSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEuZXJyb3IpIHtcclxuICAgICAgICAgIGNsZWFyVG9rZW4oKTtcclxuICAgICAgICAgIHJvdXRlci5yZXBsYWNlKCcvbG9naW4nKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0VXNlcihkYXRhLnVzZXIpO1xyXG4gICAgICAgIHNldFBlcm1pc3Npb25zKGRhdGEucGVybWlzc2lvbnMgfHwgW10pO1xyXG4gICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goKCkgPT4ge1xyXG4gICAgICAgIGNsZWFyVG9rZW4oKTtcclxuICAgICAgICByb3V0ZXIucmVwbGFjZSgnL2xvZ2luJyk7XHJcbiAgICAgIH0pO1xyXG4gIH0sIFtyb3V0ZXJdKTtcclxuXHJcbiAgY29uc3QgaGFuZGxlTG9nb3V0ID0gKCkgPT4ge1xyXG4gICAgY2xlYXJUb2tlbigpO1xyXG4gICAgcm91dGVyLnJlcGxhY2UoJy9sb2dpbicpO1xyXG4gIH07XHJcblxyXG4gIGNvbnN0IHZpc2libGVNZW51cyA9IEFMTF9NRU5VUy5maWx0ZXIobWVudSA9PiB7XHJcbiAgICBpZiAoIXVzZXIpIHJldHVybiBmYWxzZTtcclxuICAgIGlmICh1c2VyLnJvbGUgPT09ICdhZG1pbicpIHJldHVybiB0cnVlO1xyXG4gICAgY29uc3QgcGVybSA9IHBlcm1pc3Npb25zLmZpbmQocCA9PiBwLm1lbnVfa2V5ID09PSBtZW51LmtleSk7XHJcbiAgICByZXR1cm4gcGVybSA/IHBlcm0udmlzaWJsZSA9PT0gMSA6IGZhbHNlO1xyXG4gIH0pO1xyXG5cclxuICBpZiAobG9hZGluZykge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsIG1pbkhlaWdodDogJzEwMHZoJyB9fT5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxvYWRpbmctc3Bpbm5lclwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPFVzZXJDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt1c2VyfT5cclxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJkYXNoYm9hcmQtbGF5b3V0XCI+XHJcbiAgICAgICAgPGFzaWRlIGNsYXNzTmFtZT17YHNpZGViYXIgJHtjb2xsYXBzZWQgPyAnY29sbGFwc2VkJyA6ICcnfWB9PlxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzaWRlYmFyLWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNpZGViYXItbG9nb1wiPvCfk4Q8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic2lkZWJhci1icmFuZFwiPuWQiOWQjOWuoeaJueezu+e7nzwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPG5hdiBjbGFzc05hbWU9XCJzaWRlYmFyLW5hdlwiPlxyXG4gICAgICAgICAgICB7dmlzaWJsZU1lbnVzLm1hcChtZW51ID0+IChcclxuICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAga2V5PXttZW51LmtleX1cclxuICAgICAgICAgICAgICAgIGhyZWY9e21lbnUucGF0aH1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YG5hdi1pdGVtICR7cGF0aG5hbWUgPT09IG1lbnUucGF0aCB8fCAobWVudS5rZXkgIT09ICdkYXNoYm9hcmQnICYmIHBhdGhuYW1lLnN0YXJ0c1dpdGgobWVudS5wYXRoKSkgPyAnYWN0aXZlJyA6ICcnfWB9XHJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4geyBlLnByZXZlbnREZWZhdWx0KCk7IHJvdXRlci5wdXNoKG1lbnUucGF0aCk7IH19XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibmF2LWl0ZW0taWNvblwiPnttZW51Lmljb259PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibmF2LWl0ZW0tdGV4dFwiPnttZW51LmxhYmVsfTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgPC9uYXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNpZGViYXItZm9vdGVyXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3NOYW1lPVwic2lkZWJhci10b2dnbGVcIiBvbkNsaWNrPXsoKSA9PiBzZXRDb2xsYXBzZWQoIWNvbGxhcHNlZCl9PlxyXG4gICAgICAgICAgICAgIHtjb2xsYXBzZWQgPyAn4oaSJyA6ICfihpAg5pS26LW36I+c5Y2VJ31cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2FzaWRlPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YG1haW4tY29udGVudCAke2NvbGxhcHNlZCA/ICdjb2xsYXBzZWQnIDogJyd9YH0+XHJcbiAgICAgICAgICA8aGVhZGVyIGNsYXNzTmFtZT1cInRvcC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoZWFkZXItbGVmdFwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImhlYWRlci10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAge3Zpc2libGVNZW51cy5maW5kKG0gPT4gcGF0aG5hbWUgPT09IG0ucGF0aCB8fCAobS5rZXkgIT09ICdkYXNoYm9hcmQnICYmIHBhdGhuYW1lLnN0YXJ0c1dpdGgobS5wYXRoKSkpPy5sYWJlbCB8fCAn5bel5L2c5Y+wJ31cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImhlYWRlci1yaWdodFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidXNlci1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVzZXItYXZhdGFyXCI+e3VzZXI/LnJlYWxfbmFtZT8uWzBdfTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1c2VyLW5hbWVcIj57dXNlcj8ucmVhbF9uYW1lfTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ1c2VyLXJvbGVcIj57Uk9MRV9OQU1FU1t1c2VyPy5yb2xlXSB8fCB1c2VyPy5yb2xlfTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3NOYW1lPVwibG9nb3V0LWJ0blwiIG9uQ2xpY2s9e2hhbmRsZUxvZ291dH0+6YCA5Ye655m75b2VPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9oZWFkZXI+XHJcbiAgICAgICAgICA8bWFpbiBjbGFzc05hbWU9XCJwYWdlLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgICAgPC9tYWluPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvVXNlckNvbnRleHQuUHJvdmlkZXI+XHJcbiAgKTtcclxufVxyXG4iXSwibmFtZXMiOlsidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJjcmVhdGVDb250ZXh0IiwidXNlQ29udGV4dCIsInVzZVJvdXRlciIsInVzZVBhdGhuYW1lIiwiZ2V0VG9rZW4iLCJjbGVhclRva2VuIiwiZ2V0VXNlciIsImF1dGhGZXRjaCIsIlJPTEVfTkFNRVMiLCJVc2VyQ29udGV4dCIsInVzZVVzZXIiLCJBTExfTUVOVVMiLCJrZXkiLCJsYWJlbCIsImljb24iLCJwYXRoIiwiRGFzaGJvYXJkTGF5b3V0IiwiY2hpbGRyZW4iLCJyb3V0ZXIiLCJwYXRobmFtZSIsInVzZXIiLCJzZXRVc2VyIiwicGVybWlzc2lvbnMiLCJzZXRQZXJtaXNzaW9ucyIsImNvbGxhcHNlZCIsInNldENvbGxhcHNlZCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwidG9rZW4iLCJyZXBsYWNlIiwidGhlbiIsInIiLCJqc29uIiwiZGF0YSIsImVycm9yIiwiY2F0Y2giLCJoYW5kbGVMb2dvdXQiLCJ2aXNpYmxlTWVudXMiLCJmaWx0ZXIiLCJtZW51Iiwicm9sZSIsInBlcm0iLCJmaW5kIiwicCIsIm1lbnVfa2V5IiwidmlzaWJsZSIsImRpdiIsInN0eWxlIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsIm1pbkhlaWdodCIsImNsYXNzTmFtZSIsIlByb3ZpZGVyIiwidmFsdWUiLCJhc2lkZSIsInNwYW4iLCJuYXYiLCJtYXAiLCJhIiwiaHJlZiIsInN0YXJ0c1dpdGgiLCJvbkNsaWNrIiwiZSIsInByZXZlbnREZWZhdWx0IiwicHVzaCIsImJ1dHRvbiIsImhlYWRlciIsIm0iLCJyZWFsX25hbWUiLCJtYWluIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/app/dashboard/layout.js\n");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(ssr)/./src/app/dashboard/page.js":
|
||
/*!***********************************!*\
|
||
!*** ./src/app/dashboard/page.js ***!
|
||
\***********************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ DashboardPage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _layout__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./layout */ \"(ssr)/./src/app/dashboard/layout.js\");\n/* harmony import */ var _lib_auth_client__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/auth-client */ \"(ssr)/./src/lib/auth-client.js\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n// 数字递增动画 Hook\nfunction useCountUp(target, duration = 500) {\n const [value, setValue] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n const rafRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (target === 0) {\n setValue(0);\n return;\n }\n const startTime = performance.now();\n const animate = (now)=>{\n const elapsed = now - startTime;\n const progress = Math.min(elapsed / duration, 1);\n // easeOutQuart\n const eased = 1 - Math.pow(1 - progress, 4);\n setValue(Math.round(eased * target));\n if (progress < 1) {\n rafRef.current = requestAnimationFrame(animate);\n }\n };\n rafRef.current = requestAnimationFrame(animate);\n return ()=>{\n if (rafRef.current) cancelAnimationFrame(rafRef.current);\n };\n }, [\n target,\n duration\n ]);\n return value;\n}\nfunction StatCard({ icon, label, value, colorClass }) {\n const animatedValue = useCountUp(value, 600);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"stat-card\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `stat-icon ${colorClass}`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: icon\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 36,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 35,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"stat-value\",\n children: animatedValue\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 39,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"stat-label\",\n children: label\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 40,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 38,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 34,\n columnNumber: 5\n }, this);\n}\nfunction DashboardPage() {\n const user = (0,_layout__WEBPACK_IMPORTED_MODULE_2__.useUser)();\n const [contracts, setContracts] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [stats, setStats] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({\n total: 0,\n pending: 0,\n approved: 0,\n rejected: 0\n });\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n loadContracts();\n }, []);\n const loadContracts = async ()=>{\n try {\n const res = await (0,_lib_auth_client__WEBPACK_IMPORTED_MODULE_3__.authFetch)(\"/api/contracts?page_size=500\");\n const data = await res.json();\n const list = data.contracts || [];\n setContracts(list);\n // 计算统计数据\n const total = list.length;\n const pending = list.filter((c)=>[\n \"pending_supervisor\",\n \"pending_finance\",\n \"pending_secretary\"\n ].includes(c.status)).length;\n const approved = list.filter((c)=>c.status === \"approved\").length;\n const rejected = list.filter((c)=>c.status === \"rejected\").length;\n setStats({\n total,\n pending,\n approved,\n rejected\n });\n } catch (err) {\n console.error(\"加载合同数据失败:\", err);\n } finally{\n setLoading(false);\n }\n };\n const formatDate = (dateStr)=>{\n if (!dateStr) return \"-\";\n return new Date(dateStr).toLocaleDateString(\"zh-CN\");\n };\n const formatMoney = (val)=>{\n if (val == null) return \"-\";\n return new Intl.NumberFormat(\"zh-CN\", {\n style: \"currency\",\n currency: \"CNY\"\n }).format(val);\n };\n // 最近5条合同\n const recentContracts = contracts.slice(0, 5);\n if (loading) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"loading-overlay\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"loading-spinner\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 94,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 93,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"animate-fadeIn\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"page-header\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"page-title\",\n children: [\n getGreeting(),\n \",\",\n user?.real_name || \"用户\",\n \" \\uD83D\\uDC4B\"\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 104,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"page-subtitle\",\n children: \"欢迎回到合同流转审批系统,以下是您的工作概况\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 107,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 103,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 102,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"stats-grid\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(StatCard, {\n icon: \"\\uD83D\\uDCCB\",\n label: \"合同总数\",\n value: stats.total,\n colorClass: \"blue\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 113,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(StatCard, {\n icon: \"⏳\",\n label: \"待审批\",\n value: stats.pending,\n colorClass: \"orange\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 114,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(StatCard, {\n icon: \"✅\",\n label: \"已通过\",\n value: stats.approved,\n colorClass: \"green\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 115,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(StatCard, {\n icon: \"❌\",\n label: \"已驳回\",\n value: stats.rejected,\n colorClass: \"red\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 116,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 112,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card-header\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"card-title\",\n children: \"\\uD83D\\uDCC4 最近合同\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 122,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"/dashboard/contracts\",\n className: \"btn btn-outline btn-sm\",\n children: \"查看全部 →\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 123,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 121,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"card-body\",\n style: {\n padding: 0\n },\n children: recentContracts.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"empty-state\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"empty-state-icon\",\n children: \"\\uD83D\\uDCED\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 130,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"empty-state-text\",\n children: \"暂无合同数据\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 131,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 129,\n columnNumber: 13\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"table-container\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"table\", {\n className: \"data-table\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"thead\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n children: \"项目名称\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 138,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n children: \"合作单位\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 139,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n children: \"合同金额\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 140,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n children: \"经办日期\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 141,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n children: \"状态\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 142,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 137,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 136,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tbody\", {\n children: recentContracts.map((c)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: `/dashboard/contracts/${c.id}`,\n style: {\n fontWeight: 500\n },\n children: c.project_name || \"-\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 149,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 148,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n children: c.partner_name || \"-\"\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 153,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n style: {\n fontWeight: 600,\n color: \"var(--primary-dark)\"\n },\n children: formatMoney(c.contract_amount)\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 154,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n children: formatDate(c.created_at)\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 157,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: `status-badge status-${c.status}`,\n children: _lib_auth_client__WEBPACK_IMPORTED_MODULE_3__.STATUS_NAMES[c.status] || c.status\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 159,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 158,\n columnNumber: 23\n }, this)\n ]\n }, c.id, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 147,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 145,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 135,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 134,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 127,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 120,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\dashboard\\\\page.js\",\n lineNumber: 100,\n columnNumber: 5\n }, this);\n}\nfunction getGreeting() {\n const hour = new Date().getHours();\n if (hour < 6) return \"夜深了\";\n if (hour < 9) return \"早上好\";\n if (hour < 12) return \"上午好\";\n if (hour < 14) return \"中午好\";\n if (hour < 18) return \"下午好\";\n return \"晚上好\";\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LFlBQVksSUFBSTs7Ozs7O2tFQUN2Qiw4REFBQ0o7d0RBQUduQixPQUFPOzREQUFFcUIsWUFBWTs0REFBS0csT0FBTzt3REFBc0I7a0VBQ3hENUIsWUFBWVYsRUFBRXVDLGVBQWU7Ozs7OztrRUFFaEMsOERBQUNOO2tFQUFJM0IsV0FBV04sRUFBRXdDLFVBQVU7Ozs7OztrRUFDNUIsOERBQUNQO2tFQUNDLDRFQUFDckQ7NERBQUtELFdBQVcsQ0FBQyxvQkFBb0IsRUFBRXFCLEVBQUVFLE1BQU0sQ0FBQyxDQUFDO3NFQUMvQ2xELDBEQUFZLENBQUNnRCxFQUFFRSxNQUFNLENBQUMsSUFBSUYsRUFBRUUsTUFBTTs7Ozs7Ozs7Ozs7OytDQWJoQ0YsRUFBRWtDLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMEJqQztBQUVBLFNBQVNkO0lBQ1AsTUFBTXFCLE9BQU8sSUFBSWpDLE9BQU9rQyxRQUFRO0lBQ2hDLElBQUlELE9BQU8sR0FBRyxPQUFPO0lBQ3JCLElBQUlBLE9BQU8sR0FBRyxPQUFPO0lBQ3JCLElBQUlBLE9BQU8sSUFBSSxPQUFPO0lBQ3RCLElBQUlBLE9BQU8sSUFBSSxPQUFPO0lBQ3RCLElBQUlBLE9BQU8sSUFBSSxPQUFPO0lBQ3RCLE9BQU87QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL2NvbnRyYWN0LWFwcHJvdmFsLXN5c3RlbS8uL3NyYy9hcHAvZGFzaGJvYXJkL3BhZ2UuanM/ZDJiOCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XHJcbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4vbGF5b3V0JztcclxuaW1wb3J0IHsgYXV0aEZldGNoLCBTVEFUVVNfTkFNRVMgfSBmcm9tICdAL2xpYi9hdXRoLWNsaWVudCc7XHJcblxyXG4vLyDmlbDlrZfpgJLlop7liqjnlLsgSG9va1xyXG5mdW5jdGlvbiB1c2VDb3VudFVwKHRhcmdldCwgZHVyYXRpb24gPSA1MDApIHtcclxuICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IHVzZVN0YXRlKDApO1xyXG4gIGNvbnN0IHJhZlJlZiA9IHVzZVJlZihudWxsKTtcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGlmICh0YXJnZXQgPT09IDApIHsgc2V0VmFsdWUoMCk7IHJldHVybjsgfVxyXG4gICAgY29uc3Qgc3RhcnRUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7XHJcbiAgICBjb25zdCBhbmltYXRlID0gKG5vdykgPT4ge1xyXG4gICAgICBjb25zdCBlbGFwc2VkID0gbm93IC0gc3RhcnRUaW1lO1xyXG4gICAgICBjb25zdCBwcm9ncmVzcyA9IE1hdGgubWluKGVsYXBzZWQgLyBkdXJhdGlvbiwgMSk7XHJcbiAgICAgIC8vIGVhc2VPdXRRdWFydFxyXG4gICAgICBjb25zdCBlYXNlZCA9IDEgLSBNYXRoLnBvdygxIC0gcHJvZ3Jlc3MsIDQpO1xyXG4gICAgICBzZXRWYWx1ZShNYXRoLnJvdW5kKGVhc2VkICogdGFyZ2V0KSk7XHJcbiAgICAgIGlmIChwcm9ncmVzcyA8IDEpIHtcclxuICAgICAgICByYWZSZWYuY3VycmVudCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShhbmltYXRlKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJhZlJlZi5jdXJyZW50ID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGFuaW1hdGUpO1xyXG4gICAgcmV0dXJuICgpID0+IHsgaWYgKHJhZlJlZi5jdXJyZW50KSBjYW5jZWxBbmltYXRpb25GcmFtZShyYWZSZWYuY3VycmVudCk7IH07XHJcbiAgfSwgW3RhcmdldCwgZHVyYXRpb25dKTtcclxuXHJcbiAgcmV0dXJuIHZhbHVlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBTdGF0Q2FyZCh7IGljb24sIGxhYmVsLCB2YWx1ZSwgY29sb3JDbGFzcyB9KSB7XHJcbiAgY29uc3QgYW5pbWF0ZWRWYWx1ZSA9IHVzZUNvdW50VXAodmFsdWUsIDYwMCk7XHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhdC1jYXJkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgc3RhdC1pY29uICR7Y29sb3JDbGFzc31gfT5cclxuICAgICAgICA8c3Bhbj57aWNvbn08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhdC12YWx1ZVwiPnthbmltYXRlZFZhbHVlfTwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3RhdC1sYWJlbFwiPntsYWJlbH08L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICApO1xyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBEYXNoYm9hcmRQYWdlKCkge1xyXG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKCk7XHJcbiAgY29uc3QgW2NvbnRyYWN0cywgc2V0Q29udHJhY3RzXSA9IHVzZVN0YXRlKFtdKTtcclxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKTtcclxuICBjb25zdCBbc3RhdHMsIHNldFN0YXRzXSA9IHVzZVN0YXRlKHsgdG90YWw6IDAsIHBlbmRpbmc6IDAsIGFwcHJvdmVkOiAwLCByZWplY3RlZDogMCB9KTtcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGxvYWRDb250cmFjdHMoKTtcclxuICB9LCBbXSk7XHJcblxyXG4gIGNvbnN0IGxvYWRDb250cmFjdHMgPSBhc3luYyAoKSA9PiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBhdXRoRmV0Y2goJy9hcGkvY29udHJhY3RzP3BhZ2Vfc2l6ZT01MDAnKTtcclxuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlcy5qc29uKCk7XHJcbiAgICAgIGNvbnN0IGxpc3QgPSBkYXRhLmNvbnRyYWN0cyB8fCBbXTtcclxuICAgICAgc2V0Q29udHJhY3RzKGxpc3QpO1xyXG5cclxuICAgICAgLy8g6K6h566X57uf6K6h5pWw5o2uXHJcbiAgICAgIGNvbnN0IHRvdGFsID0gbGlzdC5sZW5ndGg7XHJcbiAgICAgIGNvbnN0IHBlbmRpbmcgPSBsaXN0LmZpbHRlcihjID0+XHJcbiAgICAgICAgWydwZW5kaW5nX3N1cGVydmlzb3InLCAncGVuZGluZ19maW5hbmNlJywgJ3BlbmRpbmdfc2VjcmV0YXJ5J10uaW5jbHVkZXMoYy5zdGF0dXMpXHJcbiAgICAgICkubGVuZ3RoO1xyXG4gICAgICBjb25zdCBhcHByb3ZlZCA9IGxpc3QuZmlsdGVyKGMgPT4gYy5zdGF0dXMgPT09ICdhcHByb3ZlZCcpLmxlbmd0aDtcclxuICAgICAgY29uc3QgcmVqZWN0ZWQgPSBsaXN0LmZpbHRlcihjID0+IGMuc3RhdHVzID09PSAncmVqZWN0ZWQnKS5sZW5ndGg7XHJcbiAgICAgIHNldFN0YXRzKHsgdG90YWwsIHBlbmRpbmcsIGFwcHJvdmVkLCByZWplY3RlZCB9KTtcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCfliqDovb3lkIjlkIzmlbDmja7lpLHotKU6JywgZXJyKTtcclxuICAgIH0gZmluYWxseSB7XHJcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGNvbnN0IGZvcm1hdERhdGUgPSAoZGF0ZVN0cikgPT4ge1xyXG4gICAgaWYgKCFkYXRlU3RyKSByZXR1cm4gJy0nO1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKGRhdGVTdHIpLnRvTG9jYWxlRGF0ZVN0cmluZygnemgtQ04nKTtcclxuICB9O1xyXG5cclxuICBjb25zdCBmb3JtYXRNb25leSA9ICh2YWwpID0+IHtcclxuICAgIGlmICh2YWwgPT0gbnVsbCkgcmV0dXJuICctJztcclxuICAgIHJldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ3poLUNOJywgeyBzdHlsZTogJ2N1cnJlbmN5JywgY3VycmVuY3k6ICdDTlknIH0pLmZvcm1hdCh2YWwpO1xyXG4gIH07XHJcblxyXG4gIC8vIOacgOi/kTXmnaHlkIjlkIxcclxuICBjb25zdCByZWNlbnRDb250cmFjdHMgPSBjb250cmFjdHMuc2xpY2UoMCwgNSk7XHJcblxyXG4gIGlmIChsb2FkaW5nKSB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImxvYWRpbmctb3ZlcmxheVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibG9hZGluZy1zcGlubmVyXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImFuaW1hdGUtZmFkZUluXCI+XHJcbiAgICAgIHsvKiDmrKLov47or60gKi99XHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicGFnZS1oZWFkZXJcIj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInBhZ2UtdGl0bGVcIj5cclxuICAgICAgICAgICAge2dldEdyZWV0aW5nKCl977yMe3VzZXI/LnJlYWxfbmFtZSB8fCAn55So5oi3J30g8J+Ri1xyXG4gICAgICAgICAgPC9oMT5cclxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInBhZ2Utc3VidGl0bGVcIj7mrKLov47lm57liLDlkIjlkIzmtYHovazlrqHmibnns7vnu5/vvIzku6XkuIvmmK/mgqjnmoTlt6XkvZzmpoLlhrU8L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgey8qIOe7n+iuoeWNoeeJhyAqL31cclxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGF0cy1ncmlkXCI+XHJcbiAgICAgICAgPFN0YXRDYXJkIGljb249XCLwn5OLXCIgbGFiZWw9XCLlkIjlkIzmgLvmlbBcIiB2YWx1ZT17c3RhdHMudG90YWx9IGNvbG9yQ2xhc3M9XCJibHVlXCIgLz5cclxuICAgICAgICA8U3RhdENhcmQgaWNvbj1cIuKPs1wiIGxhYmVsPVwi5b6F5a6h5om5XCIgdmFsdWU9e3N0YXRzLnBlbmRpbmd9IGNvbG9yQ2xhc3M9XCJvcmFuZ2VcIiAvPlxyXG4gICAgICAgIDxTdGF0Q2FyZCBpY29uPVwi4pyFXCIgbGFiZWw9XCLlt7LpgJrov4dcIiB2YWx1ZT17c3RhdHMuYXBwcm92ZWR9IGNvbG9yQ2xhc3M9XCJncmVlblwiIC8+XHJcbiAgICAgICAgPFN0YXRDYXJkIGljb249XCLinYxcIiBsYWJlbD1cIuW3sumps+WbnlwiIHZhbHVlPXtzdGF0cy5yZWplY3RlZH0gY29sb3JDbGFzcz1cInJlZFwiIC8+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgey8qIOacgOi/keWQiOWQjCAqL31cclxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkLWhlYWRlclwiPlxyXG4gICAgICAgICAgPGgyIGNsYXNzTmFtZT1cImNhcmQtdGl0bGVcIj7wn5OEIOacgOi/keWQiOWQjDwvaDI+XHJcbiAgICAgICAgICA8YSBocmVmPVwiL2Rhc2hib2FyZC9jb250cmFjdHNcIiBjbGFzc05hbWU9XCJidG4gYnRuLW91dGxpbmUgYnRuLXNtXCI+XHJcbiAgICAgICAgICAgIOafpeeci+WFqOmDqCDihpJcclxuICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQtYm9keVwiIHN0eWxlPXt7IHBhZGRpbmc6IDAgfX0+XHJcbiAgICAgICAgICB7cmVjZW50Q29udHJhY3RzLmxlbmd0aCA9PT0gMCA/IChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJlbXB0eS1zdGF0ZVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZW1wdHktc3RhdGUtaWNvblwiPvCfk608L2Rpdj5cclxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJlbXB0eS1zdGF0ZS10ZXh0XCI+5pqC5peg5ZCI5ZCM5pWw5o2uPC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGFibGUtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzTmFtZT1cImRhdGEtdGFibGVcIj5cclxuICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD7pobnnm67lkI3np7A8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD7lkIjkvZzljZXkvY08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD7lkIjlkIzph5Hpop08L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD7nu4/lip7ml6XmnJ88L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aD7nirbmgIE8L3RoPlxyXG4gICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAge3JlY2VudENvbnRyYWN0cy5tYXAoKGMpID0+IChcclxuICAgICAgICAgICAgICAgICAgICA8dHIga2V5PXtjLmlkfT5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj17YC9kYXNoYm9hcmQvY29udHJhY3RzLyR7Yy5pZH1gfSBzdHlsZT17eyBmb250V2VpZ2h0OiA1MDAgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge2MucHJvamVjdF9uYW1lIHx8ICctJ31cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0ZD57Yy5wYXJ0bmVyX25hbWUgfHwgJy0nfTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9e3sgZm9udFdlaWdodDogNjAwLCBjb2xvcjogJ3ZhcigtLXByaW1hcnktZGFyayknIH19PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7Zm9ybWF0TW9uZXkoYy5jb250cmFjdF9hbW91bnQpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0ZD57Zm9ybWF0RGF0ZShjLmNyZWF0ZWRfYXQpfTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17YHN0YXR1cy1iYWRnZSBzdGF0dXMtJHtjLnN0YXR1c31gfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB7U1RBVFVTX05BTUVTW2Muc3RhdHVzXSB8fCBjLnN0YXR1c31cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICApKX1cclxuICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldEdyZWV0aW5nKCkge1xyXG4gIGNvbnN0IGhvdXIgPSBuZXcgRGF0ZSgpLmdldEhvdXJzKCk7XHJcbiAgaWYgKGhvdXIgPCA2KSByZXR1cm4gJ+WknOa3seS6hic7XHJcbiAgaWYgKGhvdXIgPCA5KSByZXR1cm4gJ+aXqeS4iuWlvSc7XHJcbiAgaWYgKGhvdXIgPCAxMikgcmV0dXJuICfkuIrljYjlpb0nO1xyXG4gIGlmIChob3VyIDwgMTQpIHJldHVybiAn5Lit5Y2I5aW9JztcclxuICBpZiAoaG91ciA8IDE4KSByZXR1cm4gJ+S4i+WNiOWlvSc7XHJcbiAgcmV0dXJuICfmmZrkuIrlpb0nO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVVzZXIiLCJhdXRoRmV0Y2giLCJTVEFUVVNfTkFNRVMiLCJ1c2VDb3VudFVwIiwidGFyZ2V0IiwiZHVyYXRpb24iLCJ2YWx1ZSIsInNldFZhbHVlIiwicmFmUmVmIiwic3RhcnRUaW1lIiwicGVyZm9ybWFuY2UiLCJub3ciLCJhbmltYXRlIiwiZWxhcHNlZCIsInByb2dyZXNzIiwiTWF0aCIsIm1pbiIsImVhc2VkIiwicG93Iiwicm91bmQiLCJjdXJyZW50IiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJTdGF0Q2FyZCIsImljb24iLCJsYWJlbCIsImNvbG9yQ2xhc3MiLCJhbmltYXRlZFZhbHVlIiwiZGl2IiwiY2xhc3NOYW1lIiwic3BhbiIsIkRhc2hib2FyZFBhZ2UiLCJ1c2VyIiwiY29udHJhY3RzIiwic2V0Q29udHJhY3RzIiwibG9hZGluZyIsInNldExvYWRpbmciLCJzdGF0cyIsInNldFN0YXRzIiwidG90YWwiLCJwZW5kaW5nIiwiYXBwcm92ZWQiLCJyZWplY3RlZCIsImxvYWRDb250cmFjdHMiLCJyZXMiLCJkYXRhIiwianNvbiIsImxpc3QiLCJsZW5ndGgiLCJmaWx0ZXIiLCJjIiwiaW5jbHVkZXMiLCJzdGF0dXMiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiLCJmb3JtYXREYXRlIiwiZGF0ZVN0ciIsIkRhdGUiLCJ0b0xvY2FsZURhdGVTdHJpbmciLCJmb3JtYXRNb25leSIsInZhbCIsIkludGwiLCJOdW1iZXJGb3JtYXQiLCJzdHlsZSIsImN1cnJlbmN5IiwiZm9ybWF0IiwicmVjZW50Q29udHJhY3RzIiwic2xpY2UiLCJoMSIsImdldEdyZWV0aW5nIiwicmVhbF9uYW1lIiwicCIsImgyIiwiYSIsImhyZWYiLCJwYWRkaW5nIiwidGFibGUiLCJ0aGVhZCIsInRyIiwidGgiLCJ0Ym9keSIsIm1hcCIsInRkIiwiaWQiLCJmb250V2VpZ2h0IiwicHJvamVjdF9uYW1lIiwicGFydG5lcl9uYW1lIiwiY29sb3IiLCJjb250cmFjdF9hbW91bnQiLCJjcmVhdGVkX2F0IiwiaG91ciIsImdldEhvdXJzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/app/dashboard/page.js\n");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(ssr)/./src/lib/auth-client.js":
|
||
/*!********************************!*\
|
||
!*** ./src/lib/auth-client.js ***!
|
||
\********************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ROLE_NAMES: () => (/* binding */ ROLE_NAMES),\n/* harmony export */ STATUS_COLORS: () => (/* binding */ STATUS_COLORS),\n/* harmony export */ STATUS_NAMES: () => (/* binding */ STATUS_NAMES),\n/* harmony export */ authFetch: () => (/* binding */ authFetch),\n/* harmony export */ clearToken: () => (/* binding */ clearToken),\n/* harmony export */ getToken: () => (/* binding */ getToken),\n/* harmony export */ getUser: () => (/* binding */ getUser),\n/* harmony export */ setToken: () => (/* binding */ setToken),\n/* harmony export */ setUser: () => (/* binding */ setUser)\n/* harmony export */ });\n// 客户端认证工具函数\n// 获取存储的 Token\nfunction getToken() {\n if (true) return null;\n return localStorage.getItem(\"token\");\n}\n// 设置 Token\nfunction setToken(token) {\n localStorage.setItem(\"token\", token);\n}\n// 清除 Token\nfunction clearToken() {\n localStorage.removeItem(\"token\");\n localStorage.removeItem(\"user\");\n}\n// 获取存储的用户信息\nfunction getUser() {\n if (true) return null;\n const user = localStorage.getItem(\"user\");\n return user ? JSON.parse(user) : null;\n}\n// 设置用户信息\nfunction setUser(user) {\n localStorage.setItem(\"user\", JSON.stringify(user));\n}\n// 带认证的 fetch 请求\nasync function authFetch(url, options = {}) {\n const token = getToken();\n const headers = {\n ...options.headers\n };\n if (token) {\n headers[\"Authorization\"] = `Bearer ${token}`;\n }\n // 如果不是 FormData,设置 Content-Type\n if (!(options.body instanceof FormData)) {\n headers[\"Content-Type\"] = \"application/json\";\n }\n const response = await fetch(url, {\n ...options,\n headers\n });\n // 401 未授权,跳转登录\n if (response.status === 401) {\n clearToken();\n if (false) {}\n throw new Error(\"未登录或登录已过期\");\n }\n return response;\n}\n// 角色中文名称映射\nconst ROLE_NAMES = {\n admin: \"系统管理员\",\n employee: \"员工\",\n supervisor: \"部门主管\",\n finance: \"财务部\",\n secretary: \"秘书长\"\n};\n// 状态中文名称映射\nconst STATUS_NAMES = {\n draft: \"草稿\",\n pending_supervisor: \"待初审\",\n pending_finance: \"待财务审核\",\n pending_secretary: \"待终审\",\n approved: \"已通过\",\n rejected: \"已驳回\"\n};\n// 状态颜色映射\nconst STATUS_COLORS = {\n draft: \"#6b7280\",\n pending_supervisor: \"#3b82f6\",\n pending_finance: \"#f59e0b\",\n pending_secretary: \"#8b5cf6\",\n approved: \"#10b981\",\n rejected: \"#ef4444\"\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL2F1dGgtY2xpZW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLFlBQVk7QUFFWixjQUFjO0FBQ1AsU0FBU0E7SUFDZCxJQUFJLElBQWtCLEVBQWEsT0FBTztJQUMxQyxPQUFPQyxhQUFhQyxPQUFPLENBQUM7QUFDOUI7QUFFQSxXQUFXO0FBQ0osU0FBU0MsU0FBU0MsS0FBSztJQUM1QkgsYUFBYUksT0FBTyxDQUFDLFNBQVNEO0FBQ2hDO0FBRUEsV0FBVztBQUNKLFNBQVNFO0lBQ2RMLGFBQWFNLFVBQVUsQ0FBQztJQUN4Qk4sYUFBYU0sVUFBVSxDQUFDO0FBQzFCO0FBRUEsWUFBWTtBQUNMLFNBQVNDO0lBQ2QsSUFBSSxJQUFrQixFQUFhLE9BQU87SUFDMUMsTUFBTUMsT0FBT1IsYUFBYUMsT0FBTyxDQUFDO0lBQ2xDLE9BQU9PLE9BQU9DLEtBQUtDLEtBQUssQ0FBQ0YsUUFBUTtBQUNuQztBQUVBLFNBQVM7QUFDRixTQUFTRyxRQUFRSCxJQUFJO0lBQzFCUixhQUFhSSxPQUFPLENBQUMsUUFBUUssS0FBS0csU0FBUyxDQUFDSjtBQUM5QztBQUVBLGdCQUFnQjtBQUNULGVBQWVLLFVBQVVDLEdBQUcsRUFBRUMsVUFBVSxDQUFDLENBQUM7SUFDL0MsTUFBTVosUUFBUUo7SUFDZCxNQUFNaUIsVUFBVTtRQUNkLEdBQUdELFFBQVFDLE9BQU87SUFDcEI7SUFFQSxJQUFJYixPQUFPO1FBQ1RhLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLE9BQU8sRUFBRWIsTUFBTSxDQUFDO0lBQzlDO0lBRUEsZ0NBQWdDO0lBQ2hDLElBQUksQ0FBRVksQ0FBQUEsUUFBUUUsSUFBSSxZQUFZQyxRQUFPLEdBQUk7UUFDdkNGLE9BQU8sQ0FBQyxlQUFlLEdBQUc7SUFDNUI7SUFFQSxNQUFNRyxXQUFXLE1BQU1DLE1BQU1OLEtBQUs7UUFDaEMsR0FBR0MsT0FBTztRQUNWQztJQUNGO0lBRUEsZUFBZTtJQUNmLElBQUlHLFNBQVNFLE1BQU0sS0FBSyxLQUFLO1FBQzNCaEI7UUFDQSxJQUFJLEtBQWtCLEVBQWEsRUFFbEM7UUFDRCxNQUFNLElBQUlvQixNQUFNO0lBQ2xCO0lBRUEsT0FBT047QUFDVDtBQUVBLFdBQVc7QUFDSixNQUFNTyxhQUFhO0lBQ3hCQyxPQUFPO0lBQ1BDLFVBQVU7SUFDVkMsWUFBWTtJQUNaQyxTQUFTO0lBQ1RDLFdBQVc7QUFDYixFQUFFO0FBRUYsV0FBVztBQUNKLE1BQU1DLGVBQWU7SUFDMUJDLE9BQU87SUFDUEMsb0JBQW9CO0lBQ3BCQyxpQkFBaUI7SUFDakJDLG1CQUFtQjtJQUNuQkMsVUFBVTtJQUNWQyxVQUFVO0FBQ1osRUFBRTtBQUVGLFNBQVM7QUFDRixNQUFNQyxnQkFBZ0I7SUFDM0JOLE9BQU87SUFDUEMsb0JBQW9CO0lBQ3BCQyxpQkFBaUI7SUFDakJDLG1CQUFtQjtJQUNuQkMsVUFBVTtJQUNWQyxVQUFVO0FBQ1osRUFBRSIsInNvdXJjZXMiOlsid2VicGFjazovL2NvbnRyYWN0LWFwcHJvdmFsLXN5c3RlbS8uL3NyYy9saWIvYXV0aC1jbGllbnQuanM/N2VjZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyDlrqLmiLfnq6/orqTor4Hlt6Xlhbflh73mlbBcclxuXHJcbi8vIOiOt+WPluWtmOWCqOeahCBUb2tlblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0VG9rZW4oKSB7XHJcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gbnVsbDtcclxuICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3Rva2VuJyk7XHJcbn1cclxuXHJcbi8vIOiuvue9riBUb2tlblxyXG5leHBvcnQgZnVuY3Rpb24gc2V0VG9rZW4odG9rZW4pIHtcclxuICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCB0b2tlbik7XHJcbn1cclxuXHJcbi8vIOa4hemZpCBUb2tlblxyXG5leHBvcnQgZnVuY3Rpb24gY2xlYXJUb2tlbigpIHtcclxuICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgndG9rZW4nKTtcclxuICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgndXNlcicpO1xyXG59XHJcblxyXG4vLyDojrflj5blrZjlgqjnmoTnlKjmiLfkv6Hmga9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFVzZXIoKSB7XHJcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gbnVsbDtcclxuICBjb25zdCB1c2VyID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXInKTtcclxuICByZXR1cm4gdXNlciA/IEpTT04ucGFyc2UodXNlcikgOiBudWxsO1xyXG59XHJcblxyXG4vLyDorr7nva7nlKjmiLfkv6Hmga9cclxuZXhwb3J0IGZ1bmN0aW9uIHNldFVzZXIodXNlcikge1xyXG4gIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd1c2VyJywgSlNPTi5zdHJpbmdpZnkodXNlcikpO1xyXG59XHJcblxyXG4vLyDluKborqTor4HnmoQgZmV0Y2gg6K+35rGCXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhdXRoRmV0Y2godXJsLCBvcHRpb25zID0ge30pIHtcclxuICBjb25zdCB0b2tlbiA9IGdldFRva2VuKCk7XHJcbiAgY29uc3QgaGVhZGVycyA9IHtcclxuICAgIC4uLm9wdGlvbnMuaGVhZGVycyxcclxuICB9O1xyXG4gIFxyXG4gIGlmICh0b2tlbikge1xyXG4gICAgaGVhZGVyc1snQXV0aG9yaXphdGlvbiddID0gYEJlYXJlciAke3Rva2VufWA7XHJcbiAgfVxyXG4gIFxyXG4gIC8vIOWmguaenOS4jeaYryBGb3JtRGF0Ye+8jOiuvue9riBDb250ZW50LVR5cGVcclxuICBpZiAoIShvcHRpb25zLmJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YSkpIHtcclxuICAgIGhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddID0gJ2FwcGxpY2F0aW9uL2pzb24nO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwsIHtcclxuICAgIC4uLm9wdGlvbnMsXHJcbiAgICBoZWFkZXJzLFxyXG4gIH0pO1xyXG5cclxuICAvLyA0MDEg5pyq5o6I5p2D77yM6Lez6L2s55m75b2VXHJcbiAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDAxKSB7XHJcbiAgICBjbGVhclRva2VuKCk7XHJcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnL2xvZ2luJztcclxuICAgIH1cclxuICAgIHRocm93IG5ldyBFcnJvcign5pyq55m75b2V5oiW55m75b2V5bey6L+H5pyfJyk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcmVzcG9uc2U7XHJcbn1cclxuXHJcbi8vIOinkuiJsuS4reaWh+WQjeensOaYoOWwhFxyXG5leHBvcnQgY29uc3QgUk9MRV9OQU1FUyA9IHtcclxuICBhZG1pbjogJ+ezu+e7n+euoeeQhuWRmCcsXHJcbiAgZW1wbG95ZWU6ICflkZjlt6UnLFxyXG4gIHN1cGVydmlzb3I6ICfpg6jpl6jkuLvnrqEnLFxyXG4gIGZpbmFuY2U6ICfotKLliqHpg6gnLFxyXG4gIHNlY3JldGFyeTogJ+enmOS5pumVvycsXHJcbn07XHJcblxyXG4vLyDnirbmgIHkuK3mloflkI3np7DmmKDlsIRcclxuZXhwb3J0IGNvbnN0IFNUQVRVU19OQU1FUyA9IHtcclxuICBkcmFmdDogJ+iNieeovycsXHJcbiAgcGVuZGluZ19zdXBlcnZpc29yOiAn5b6F5Yid5a6hJyxcclxuICBwZW5kaW5nX2ZpbmFuY2U6ICflvoXotKLliqHlrqHmoLgnLFxyXG4gIHBlbmRpbmdfc2VjcmV0YXJ5OiAn5b6F57uI5a6hJyxcclxuICBhcHByb3ZlZDogJ+W3sumAmui/hycsXHJcbiAgcmVqZWN0ZWQ6ICflt7LpqbPlm54nLFxyXG59O1xyXG5cclxuLy8g54q25oCB6aKc6Imy5pig5bCEXHJcbmV4cG9ydCBjb25zdCBTVEFUVVNfQ09MT1JTID0ge1xyXG4gIGRyYWZ0OiAnIzZiNzI4MCcsXHJcbiAgcGVuZGluZ19zdXBlcnZpc29yOiAnIzNiODJmNicsXHJcbiAgcGVuZGluZ19maW5hbmNlOiAnI2Y1OWUwYicsXHJcbiAgcGVuZGluZ19zZWNyZXRhcnk6ICcjOGI1Y2Y2JyxcclxuICBhcHByb3ZlZDogJyMxMGI5ODEnLFxyXG4gIHJlamVjdGVkOiAnI2VmNDQ0NCcsXHJcbn07XHJcbiJdLCJuYW1lcyI6WyJnZXRUb2tlbiIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJzZXRUb2tlbiIsInRva2VuIiwic2V0SXRlbSIsImNsZWFyVG9rZW4iLCJyZW1vdmVJdGVtIiwiZ2V0VXNlciIsInVzZXIiLCJKU09OIiwicGFyc2UiLCJzZXRVc2VyIiwic3RyaW5naWZ5IiwiYXV0aEZldGNoIiwidXJsIiwib3B0aW9ucyIsImhlYWRlcnMiLCJib2R5IiwiRm9ybURhdGEiLCJyZXNwb25zZSIsImZldGNoIiwic3RhdHVzIiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwiRXJyb3IiLCJST0xFX05BTUVTIiwiYWRtaW4iLCJlbXBsb3llZSIsInN1cGVydmlzb3IiLCJmaW5hbmNlIiwic2VjcmV0YXJ5IiwiU1RBVFVTX05BTUVTIiwiZHJhZnQiLCJwZW5kaW5nX3N1cGVydmlzb3IiLCJwZW5kaW5nX2ZpbmFuY2UiLCJwZW5kaW5nX3NlY3JldGFyeSIsImFwcHJvdmVkIiwicmVqZWN0ZWQiLCJTVEFUVVNfQ09MT1JTIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/auth-client.js\n");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(ssr)/./src/app/dashboard/dashboard.css":
|
||
/*!*****************************************!*\
|
||
!*** ./src/app/dashboard/dashboard.css ***!
|
||
\*****************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"2e317685c32a\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvYXBwL2Rhc2hib2FyZC9kYXNoYm9hcmQuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vY29udHJhY3QtYXBwcm92YWwtc3lzdGVtLy4vc3JjL2FwcC9kYXNoYm9hcmQvZGFzaGJvYXJkLmNzcz84N2FhIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiMmUzMTc2ODVjMzJhXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/app/dashboard/dashboard.css\n");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(rsc)/./src/app/globals.css":
|
||
/*!*****************************!*\
|
||
!*** ./src/app/globals.css ***!
|
||
\*****************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"15383be0ec3b\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vY29udHJhY3QtYXBwcm92YWwtc3lzdGVtLy4vc3JjL2FwcC9nbG9iYWxzLmNzcz9mNzhiIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiMTUzODNiZTBlYzNiXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(rsc)/./src/app/dashboard/layout.js":
|
||
/*!*************************************!*\
|
||
!*** ./src/app/dashboard/layout.js ***!
|
||
\*************************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
|
||
/* harmony export */ useUser: () => (/* binding */ e0)
|
||
/* harmony export */ });
|
||
/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js");
|
||
|
||
|
||
const e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`D:\haomi\codex_projects\contractApproval\src\app\dashboard\layout.js#useUser`);
|
||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`D:\haomi\codex_projects\contractApproval\src\app\dashboard\layout.js#default`));
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(rsc)/./src/app/dashboard/page.js":
|
||
/*!***********************************!*\
|
||
!*** ./src/app/dashboard/page.js ***!
|
||
\***********************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
||
/* harmony export */ });
|
||
/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js");
|
||
|
||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`D:\haomi\codex_projects\contractApproval\src\app\dashboard\page.js#default`));
|
||
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(rsc)/./src/app/layout.js":
|
||
/*!***************************!*\
|
||
!*** ./src/app/layout.js ***!
|
||
\***************************/
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n\n\nconst metadata = {\n title: \"合同流转审批系统\",\n description: \"企业合同流转审批管理平台\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"zh-CN\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n children: children\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\layout.js\",\n lineNumber: 11,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\haomi\\\\codex_projects\\\\contractApproval\\\\src\\\\app\\\\layout.js\",\n lineNumber: 10,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBdUI7QUFFaEIsTUFBTUEsV0FBVztJQUN0QkMsT0FBTztJQUNQQyxhQUFhO0FBQ2YsRUFBRTtBQUVhLFNBQVNDLFdBQVcsRUFBRUMsUUFBUSxFQUFFO0lBQzdDLHFCQUNFLDhEQUFDQztRQUFLQyxNQUFLO2tCQUNULDRFQUFDQztzQkFBTUg7Ozs7Ozs7Ozs7O0FBR2IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9jb250cmFjdC1hcHByb3ZhbC1zeXN0ZW0vLi9zcmMvYXBwL2xheW91dC5qcz81YjE5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnLi9nbG9iYWxzLmNzcyc7XHJcblxyXG5leHBvcnQgY29uc3QgbWV0YWRhdGEgPSB7XHJcbiAgdGl0bGU6ICflkIjlkIzmtYHovazlrqHmibnns7vnu58nLFxyXG4gIGRlc2NyaXB0aW9uOiAn5LyB5Lia5ZCI5ZCM5rWB6L2s5a6h5om5566h55CG5bmz5Y+wJyxcclxufTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFJvb3RMYXlvdXQoeyBjaGlsZHJlbiB9KSB7XHJcbiAgcmV0dXJuIChcclxuICAgIDxodG1sIGxhbmc9XCJ6aC1DTlwiPlxyXG4gICAgICA8Ym9keT57Y2hpbGRyZW59PC9ib2R5PlxyXG4gICAgPC9odG1sPlxyXG4gICk7XHJcbn1cclxuIl0sIm5hbWVzIjpbIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwiYm9keSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.js\n");
|
||
|
||
/***/ })
|
||
|
||
};
|
||
;
|
||
|
||
// load runtime
|
||
var __webpack_require__ = require("../../webpack-runtime.js");
|
||
__webpack_require__.C(exports);
|
||
var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
|
||
var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@swc"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fdashboard%2Fpage&page=%2Fdashboard%2Fpage&appPaths=%2Fdashboard%2Fpage&pagePath=private-next-app-dir%2Fdashboard%2Fpage.js&appDir=D%3A%5Chaomi%5Ccodex_projects%5CcontractApproval%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=D%3A%5Chaomi%5Ccodex_projects%5CcontractApproval&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!")));
|
||
module.exports = __webpack_exports__;
|
||
|
||
})(); |