diff --git a/app/frontend/.next/app-build-manifest.json b/app/frontend/.next/app-build-manifest.json new file mode 100644 index 0000000..fa7c514 --- /dev/null +++ b/app/frontend/.next/app-build-manifest.json @@ -0,0 +1,75 @@ +{ + "pages": { + "/page": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/chunks/app/page.js" + ], + "/layout": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/css/app/layout.css", + "static/chunks/app/layout.js" + ], + "/auth/page": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/chunks/app/auth/page.js" + ], + "/admin/page": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/chunks/app/admin/page.js" + ], + "/admin/layout": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/chunks/app/admin/layout.js" + ], + "/admin/documents/page": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/chunks/app/admin/documents/page.js" + ], + "/admin/knowledge/page": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/chunks/app/admin/knowledge/page.js" + ], + "/admin/curriculum/page": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/chunks/app/admin/curriculum/page.js" + ], + "/app/page": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/chunks/app/app/page.js" + ], + "/app/layout": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/chunks/app/app/layout.js" + ], + "/app/session/page": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/chunks/app/app/session/page.js" + ], + "/app/library/page": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/chunks/app/app/library/page.js" + ], + "/app/profile/page": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/chunks/app/app/profile/page.js" + ], + "/_not-found/page": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js", + "static/chunks/app/_not-found/page.js" + ] + } +} \ No newline at end of file diff --git a/app/frontend/.next/build-manifest.json b/app/frontend/.next/build-manifest.json new file mode 100644 index 0000000..018cb67 --- /dev/null +++ b/app/frontend/.next/build-manifest.json @@ -0,0 +1,19 @@ +{ + "polyfillFiles": [ + "static/chunks/polyfills.js" + ], + "devFiles": [], + "ampDevFiles": [], + "lowPriorityFiles": [ + "static/development/_buildManifest.js", + "static/development/_ssgManifest.js" + ], + "rootMainFiles": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js" + ], + "pages": { + "/_app": [] + }, + "ampFirstPages": [] +} \ No newline at end of file diff --git a/app/frontend/.next/cache/webpack/client-development/0.pack.gz b/app/frontend/.next/cache/webpack/client-development/0.pack.gz new file mode 100644 index 0000000..ffe0cc6 Binary files /dev/null and b/app/frontend/.next/cache/webpack/client-development/0.pack.gz differ diff --git a/app/frontend/.next/cache/webpack/client-development/1.pack.gz b/app/frontend/.next/cache/webpack/client-development/1.pack.gz new file mode 100644 index 0000000..7625a9b Binary files /dev/null and b/app/frontend/.next/cache/webpack/client-development/1.pack.gz differ diff --git a/app/frontend/.next/cache/webpack/client-development/2.pack.gz b/app/frontend/.next/cache/webpack/client-development/2.pack.gz new file mode 100644 index 0000000..e9ba3e5 Binary files /dev/null and b/app/frontend/.next/cache/webpack/client-development/2.pack.gz differ diff --git a/app/frontend/.next/cache/webpack/client-development/3.pack.gz b/app/frontend/.next/cache/webpack/client-development/3.pack.gz new file mode 100644 index 0000000..acada0a Binary files /dev/null and b/app/frontend/.next/cache/webpack/client-development/3.pack.gz differ diff --git a/app/frontend/.next/cache/webpack/client-development/4.pack.gz b/app/frontend/.next/cache/webpack/client-development/4.pack.gz new file mode 100644 index 0000000..8b2b2bf Binary files /dev/null and b/app/frontend/.next/cache/webpack/client-development/4.pack.gz differ diff --git a/app/frontend/.next/cache/webpack/client-development/5.pack.gz b/app/frontend/.next/cache/webpack/client-development/5.pack.gz new file mode 100644 index 0000000..dbfc69d Binary files /dev/null and b/app/frontend/.next/cache/webpack/client-development/5.pack.gz differ diff --git a/app/frontend/.next/cache/webpack/client-development/6.pack.gz b/app/frontend/.next/cache/webpack/client-development/6.pack.gz new file mode 100644 index 0000000..5a3be9d Binary files /dev/null and b/app/frontend/.next/cache/webpack/client-development/6.pack.gz differ diff --git a/app/frontend/.next/cache/webpack/client-development/index.pack.gz b/app/frontend/.next/cache/webpack/client-development/index.pack.gz new file mode 100644 index 0000000..84d904c Binary files /dev/null and b/app/frontend/.next/cache/webpack/client-development/index.pack.gz differ diff --git a/app/frontend/.next/cache/webpack/client-development/index.pack.gz.old b/app/frontend/.next/cache/webpack/client-development/index.pack.gz.old new file mode 100644 index 0000000..3feb944 Binary files /dev/null and b/app/frontend/.next/cache/webpack/client-development/index.pack.gz.old differ diff --git a/app/frontend/.next/cache/webpack/server-development/0.pack.gz b/app/frontend/.next/cache/webpack/server-development/0.pack.gz new file mode 100644 index 0000000..b5a404a Binary files /dev/null and b/app/frontend/.next/cache/webpack/server-development/0.pack.gz differ diff --git a/app/frontend/.next/cache/webpack/server-development/1.pack.gz b/app/frontend/.next/cache/webpack/server-development/1.pack.gz new file mode 100644 index 0000000..7aecda5 Binary files /dev/null and b/app/frontend/.next/cache/webpack/server-development/1.pack.gz differ diff --git a/app/frontend/.next/cache/webpack/server-development/2.pack.gz b/app/frontend/.next/cache/webpack/server-development/2.pack.gz new file mode 100644 index 0000000..8e0ecee Binary files /dev/null and b/app/frontend/.next/cache/webpack/server-development/2.pack.gz differ diff --git a/app/frontend/.next/cache/webpack/server-development/3.pack.gz b/app/frontend/.next/cache/webpack/server-development/3.pack.gz new file mode 100644 index 0000000..380425f Binary files /dev/null and b/app/frontend/.next/cache/webpack/server-development/3.pack.gz differ diff --git a/app/frontend/.next/cache/webpack/server-development/4.pack.gz b/app/frontend/.next/cache/webpack/server-development/4.pack.gz new file mode 100644 index 0000000..cf3c84a Binary files /dev/null and b/app/frontend/.next/cache/webpack/server-development/4.pack.gz differ diff --git a/app/frontend/.next/cache/webpack/server-development/5.pack.gz b/app/frontend/.next/cache/webpack/server-development/5.pack.gz new file mode 100644 index 0000000..acdca0a Binary files /dev/null and b/app/frontend/.next/cache/webpack/server-development/5.pack.gz differ diff --git a/app/frontend/.next/cache/webpack/server-development/6.pack.gz b/app/frontend/.next/cache/webpack/server-development/6.pack.gz new file mode 100644 index 0000000..1a248c6 Binary files /dev/null and b/app/frontend/.next/cache/webpack/server-development/6.pack.gz differ diff --git a/app/frontend/.next/cache/webpack/server-development/index.pack.gz b/app/frontend/.next/cache/webpack/server-development/index.pack.gz new file mode 100644 index 0000000..103509c Binary files /dev/null and b/app/frontend/.next/cache/webpack/server-development/index.pack.gz differ diff --git a/app/frontend/.next/cache/webpack/server-development/index.pack.gz.old b/app/frontend/.next/cache/webpack/server-development/index.pack.gz.old new file mode 100644 index 0000000..d6b0a64 Binary files /dev/null and b/app/frontend/.next/cache/webpack/server-development/index.pack.gz.old differ diff --git a/app/frontend/.next/package.json b/app/frontend/.next/package.json new file mode 100644 index 0000000..7156107 --- /dev/null +++ b/app/frontend/.next/package.json @@ -0,0 +1 @@ +{"type": "commonjs"} \ No newline at end of file diff --git a/app/frontend/.next/react-loadable-manifest.json b/app/frontend/.next/react-loadable-manifest.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/app/frontend/.next/react-loadable-manifest.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/app/frontend/.next/server/app-paths-manifest.json b/app/frontend/.next/server/app-paths-manifest.json new file mode 100644 index 0000000..83c60b5 --- /dev/null +++ b/app/frontend/.next/server/app-paths-manifest.json @@ -0,0 +1,10 @@ +{ + "/_not-found/page": "app/_not-found/page.js", + "/auth/page": "app/auth/page.js", + "/page": "app/page.js", + "/app/session/page": "app/app/session/page.js", + "/admin/page": "app/admin/page.js", + "/app/profile/page": "app/app/profile/page.js", + "/app/library/page": "app/app/library/page.js", + "/admin/documents/page": "app/admin/documents/page.js" +} \ No newline at end of file diff --git a/app/frontend/.next/server/app/_not-found/page.js b/app/frontend/.next/server/app/_not-found/page.js new file mode 100644 index 0000000..53e611c --- /dev/null +++ b/app/frontend/.next/server/app/_not-found/page.js @@ -0,0 +1,133 @@ +/* + * 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/_not-found/page"; +exports.ids = ["app/_not-found/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%2F_not-found%2Fpage&page=%2F_not-found%2Fpage&appPaths=&pagePath=..%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%2F_not-found%2Fpage&page=%2F_not-found%2Fpage&appPaths=&pagePath=..%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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?d969\");\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: [\"/_not-found\", {\n children: ['__PAGE__', {}, {\n page: [\n () => 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)),\n \"next/dist/client/components/not-found-error\"\n ]\n }]\n }, {}]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\"],\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 = [];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/_not-found/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: \"/_not-found/page\",\n pathname: \"/_not-found\",\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/bmFtZT1hcHAlMkZfbm90LWZvdW5kJTJGcGFnZSZwYWdlPSUyRl9ub3QtZm91bmQlMkZwYWdlJmFwcFBhdGhzPSZwYWdlUGF0aD0uLiUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRm5vdC1mb3VuZC1lcnJvci5qcyZhcHBEaXI9QyUzQSU1Q1VzZXJzJTVDUmF5bW9uZFZlcmhvZWYlNUNHaXRlYSU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDYXBwJTVDZnJvbnRlbmQlNUNzcmMlNUNhcHAmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZyb290RGlyPUMlM0ElNUNVc2VycyU1Q1JheW1vbmRWZXJob2VmJTVDR2l0ZWElNUNsZWFybmluZy1wbGF0Zm9ybSU1Q2FwcCU1Q2Zyb250ZW5kJmlzRGV2PXRydWUmdHNjb25maWdQYXRoPXRzY29uZmlnLmpzb24mYmFzZVBhdGg9JmFzc2V0UHJlZml4PSZuZXh0Q29uZmlnT3V0cHV0PSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsYUFBYSxzQkFBc0I7QUFDaUU7QUFDckM7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUM7QUFDckM7QUFDQSxzQkFBc0IsME5BQWdGO0FBQ3RHO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsV0FBVyxJQUFJO0FBQ2YsU0FBUztBQUNUO0FBQ0EseUJBQXlCLG9KQUE2SDtBQUN0SixvQkFBb0IsME5BQWdGO0FBQ3BHO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUN1QjtBQUM2RDtBQUNwRiw2QkFBNkIsbUJBQW1CO0FBQ2hEO0FBQ087QUFDQTtBQUNQO0FBQ0E7QUFDQTtBQUN1RDtBQUN2RDtBQUNPLHdCQUF3Qiw4R0FBa0I7QUFDakQ7QUFDQSxjQUFjLHlFQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzhlYjAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJUVVJCT1BBQ0sgeyB0cmFuc2l0aW9uOiBuZXh0LXNzciB9XCI7XG5pbXBvcnQgeyBBcHBQYWdlUm91dGVNb2R1bGUgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS9tb2R1bGUuY29tcGlsZWRcIjtcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kXCI7XG4vLyBXZSBpbmplY3QgdGhlIHRyZWUgYW5kIHBhZ2VzIGhlcmUgc28gdGhhdCB3ZSBjYW4gdXNlIHRoZW0gaW4gdGhlIHJvdXRlXG4vLyBtb2R1bGUuXG5jb25zdCB0cmVlID0ge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAnJyxcbiAgICAgICAge1xuICAgICAgICAgIGNoaWxkcmVuOiBbXCIvX25vdC1mb3VuZFwiLCB7XG4gICAgICAgICAgICBjaGlsZHJlbjogWydfX1BBR0VfXycsIHt9LCB7XG4gICAgICAgICAgICAgIHBhZ2U6IFtcbiAgICAgICAgICAgICAgICAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIiksXG4gICAgICAgICAgICAgICAgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCJcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfV1cbiAgICAgICAgICB9LCB7fV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAnbGF5b3V0JzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcbGF5b3V0LnRzeFwiKSwgXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxsYXlvdXQudHN4XCJdLFxuJ25vdC1mb3VuZCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIiksIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiXSxcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LmNoaWxkcmVuO1xuY29uc3QgcGFnZXMgPSBbXTtcbmV4cG9ydCB7IHRyZWUsIHBhZ2VzIH07XG5leHBvcnQgeyBkZWZhdWx0IGFzIEdsb2JhbEVycm9yIH0gZnJvbSBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9lcnJvci1ib3VuZGFyeVwiO1xuY29uc3QgX19uZXh0X2FwcF9yZXF1aXJlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fXG5jb25zdCBfX25leHRfYXBwX2xvYWRfY2h1bmtfXyA9ICgpID0+IFByb21pc2UucmVzb2x2ZSgpXG5leHBvcnQgY29uc3Qgb3JpZ2luYWxQYXRobmFtZSA9IFwiL19ub3QtZm91bmQvcGFnZVwiO1xuZXhwb3J0IGNvbnN0IF9fbmV4dF9hcHBfXyA9IHtcbiAgICByZXF1aXJlOiBfX25leHRfYXBwX3JlcXVpcmVfXyxcbiAgICBsb2FkQ2h1bms6IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fXG59O1xuZXhwb3J0ICogZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9lbnRyeS1iYXNlXCI7XG4vLyBDcmVhdGUgYW5kIGV4cG9ydCB0aGUgcm91dGUgbW9kdWxlIHRoYXQgd2lsbCBiZSBjb25zdW1lZC5cbmV4cG9ydCBjb25zdCByb3V0ZU1vZHVsZSA9IG5ldyBBcHBQYWdlUm91dGVNb2R1bGUoe1xuICAgIGRlZmluaXRpb246IHtcbiAgICAgICAga2luZDogUm91dGVLaW5kLkFQUF9QQUdFLFxuICAgICAgICBwYWdlOiBcIi9fbm90LWZvdW5kL3BhZ2VcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL19ub3QtZm91bmRcIixcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmVuJ3QgdXNlZCBpbiBwcm9kdWN0aW9uLlxuICAgICAgICBidW5kbGVQYXRoOiBcIlwiLFxuICAgICAgICBmaWxlbmFtZTogXCJcIixcbiAgICAgICAgYXBwUGF0aHM6IFtdXG4gICAgfSxcbiAgICB1c2VybGFuZDoge1xuICAgICAgICBsb2FkZXJUcmVlOiB0cmVlXG4gICAgfVxufSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1wYWdlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2F_not-found%2Fpage&page=%2F_not-found%2Fpage&appPaths=&pagePath=..%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJDJTNBJTVDJTVDVXNlcnMlNUMlNUNSYXltb25kVmVyaG9lZiU1QyU1Q0dpdGVhJTVDJTVDbGVhcm5pbmctcGxhdGZvcm0lNUMlNUNhcHAlNUMlNUNmcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2NsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyQyUzQSU1QyU1Q1VzZXJzJTVDJTVDUmF5bW9uZFZlcmhvZWYlNUMlNUNHaXRlYSU1QyU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDJTVDYXBwJTVDJTVDZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQW9LO0FBQ3BLO0FBQ0Esb09BQXFLO0FBQ3JLO0FBQ0EsME9BQXdLO0FBQ3hLO0FBQ0Esd09BQXVLO0FBQ3ZLO0FBQ0Esa1BBQTRLO0FBQzVLO0FBQ0Esc1FBQXNMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzcyOWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxhcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxcZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXGxheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXG5vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxccmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! + \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ (() => { + + + +/***/ }), + +/***/ "(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__ = (\"a462ed02aa71\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL2dsb2JhbHMuY3NzPzU5MTYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgXCJhNDYyZWQwMmFhNzFcIlxuaWYgKG1vZHVsZS5ob3QpIHsgbW9kdWxlLmhvdC5hY2NlcHQoKSB9XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); + +/***/ }), + +/***/ "(rsc)/../../stylesheet.css": +/*!****************************!*\ + !*** ../../stylesheet.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__ = (\"5511d51fa1af\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi4vLi4vc3R5bGVzaGVldC5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi9zdHlsZXNoZWV0LmNzcz9mYjhjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNTUxMWQ1MWZhMWFmXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/../../stylesheet.css\n"); + +/***/ }), + +/***/ "(rsc)/./src/app/layout.tsx": +/*!****************************!*\ + !*** ./src/app/layout.tsx ***! + \****************************/ +/***/ ((__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 */ viewport: () => (/* binding */ viewport)\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 _stylesheet_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../stylesheet.css */ \"(rsc)/../../stylesheet.css\");\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n\n\n\nconst metadata = {\n title: \"Learning Platform\",\n description: \"Employee knowledge and learning\",\n manifest: \"/manifest.json\",\n appleWebApp: {\n capable: true,\n statusBarStyle: \"default\",\n title: \"Learning Platform\"\n }\n};\nconst viewport = {\n themeColor: \"#1F5560\",\n width: \"device-width\",\n initialScale: 1,\n maximumScale: 1\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 29,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDbUM7QUFDYjtBQUVmLE1BQU1BLFdBQXFCO0lBQ2hDQyxPQUFPO0lBQ1BDLGFBQWE7SUFDYkMsVUFBVTtJQUNWQyxhQUFhO1FBQ1hDLFNBQVM7UUFDVEMsZ0JBQWdCO1FBQ2hCTCxPQUFPO0lBQ1Q7QUFDRixFQUFDO0FBRU0sTUFBTU0sV0FBcUI7SUFDaENDLFlBQVk7SUFDWkMsT0FBTztJQUNQQyxjQUFjO0lBQ2RDLGNBQWM7QUFDaEIsRUFBQztBQUVjLFNBQVNDLFdBQVcsRUFDakNDLFFBQVEsRUFHVDtJQUNDLHFCQUNFLDhEQUFDQztRQUFLQyxNQUFLO2tCQUNULDRFQUFDQztzQkFBTUg7Ozs7Ozs7Ozs7O0FBR2IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9hcHAvbGF5b3V0LnRzeD81N2E5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEsIFZpZXdwb3J0IH0gZnJvbSAnbmV4dCdcbmltcG9ydCAnLi4vLi4vLi4vLi4vc3R5bGVzaGVldC5jc3MnXG5pbXBvcnQgJy4vZ2xvYmFscy5jc3MnXG5cbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XG4gIHRpdGxlOiAnTGVhcm5pbmcgUGxhdGZvcm0nLFxuICBkZXNjcmlwdGlvbjogJ0VtcGxveWVlIGtub3dsZWRnZSBhbmQgbGVhcm5pbmcnLFxuICBtYW5pZmVzdDogJy9tYW5pZmVzdC5qc29uJyxcbiAgYXBwbGVXZWJBcHA6IHtcbiAgICBjYXBhYmxlOiB0cnVlLFxuICAgIHN0YXR1c0JhclN0eWxlOiAnZGVmYXVsdCcsXG4gICAgdGl0bGU6ICdMZWFybmluZyBQbGF0Zm9ybScsXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCB2aWV3cG9ydDogVmlld3BvcnQgPSB7XG4gIHRoZW1lQ29sb3I6ICcjMUY1NTYwJyxcbiAgd2lkdGg6ICdkZXZpY2Utd2lkdGgnLFxuICBpbml0aWFsU2NhbGU6IDEsXG4gIG1heGltdW1TY2FsZTogMSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7XG4gIGNoaWxkcmVuLFxufToge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8Ym9keT57Y2hpbGRyZW59PC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIm1hbmlmZXN0IiwiYXBwbGVXZWJBcHAiLCJjYXBhYmxlIiwic3RhdHVzQmFyU3R5bGUiLCJ2aWV3cG9ydCIsInRoZW1lQ29sb3IiLCJ3aWR0aCIsImluaXRpYWxTY2FsZSIsIm1heGltdW1TY2FsZSIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwiYm9keSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\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%2F_not-found%2Fpage&page=%2F_not-found%2Fpage&appPaths=&pagePath=..%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); +module.exports = __webpack_exports__; + +})(); \ No newline at end of file diff --git a/app/frontend/.next/server/app/_not-found/page_client-reference-manifest.js b/app/frontend/.next/server/app/_not-found/page_client-reference-manifest.js new file mode 100644 index 0000000..36966be --- /dev/null +++ b/app/frontend/.next/server/app/_not-found/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/_not-found/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/auth/page.tsx":{"*":{"id":"(ssr)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/layout.tsx":{"*":{"id":"(ssr)/./src/app/admin/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/documents/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/knowledge/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/curriculum/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/layout.tsx":{"*":{"id":"(ssr)/./src/app/app/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/session/page.tsx":{"*":{"id":"(ssr)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/library/page.tsx":{"*":{"id":"(ssr)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\stylesheet.css":{"id":"(app-pages-browser)/../../stylesheet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\auth\\page.tsx":{"id":"(app-pages-browser)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\layout.tsx":{"id":"(app-pages-browser)/./src/app/admin/layout.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\documents\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\knowledge\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\curriculum\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\layout.tsx":{"id":"(app-pages-browser)/./src/app/app/layout.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\session\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\library\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\layout":["static/css/app/layout.css"],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\_not-found\\page":[]}} \ No newline at end of file diff --git a/app/frontend/.next/server/app/admin/curriculum/page.js b/app/frontend/.next/server/app/admin/curriculum/page.js new file mode 100644 index 0000000..c4b60dc --- /dev/null +++ b/app/frontend/.next/server/app/admin/curriculum/page.js @@ -0,0 +1,277 @@ +/* + * 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/admin/curriculum/page"; +exports.ids = ["app/admin/curriculum/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%2Fadmin%2Fcurriculum%2Fpage&page=%2Fadmin%2Fcurriculum%2Fpage&appPaths=%2Fadmin%2Fcurriculum%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fcurriculum%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%2Fadmin%2Fcurriculum%2Fpage&page=%2Fadmin%2Fcurriculum%2Fpage&appPaths=%2Fadmin%2Fcurriculum%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fcurriculum%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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?d969\");\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 'admin',\n {\n children: [\n 'curriculum',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/admin/curriculum/page.tsx */ \"(rsc)/./src/app/admin/curriculum/page.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/admin/layout.tsx */ \"(rsc)/./src/app/admin/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\"],\n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\"],\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 = [\"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/admin/curriculum/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: \"/admin/curriculum/page\",\n pathname: \"/admin/curriculum\",\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/bmFtZT1hcHAlMkZhZG1pbiUyRmN1cnJpY3VsdW0lMkZwYWdlJnBhZ2U9JTJGYWRtaW4lMkZjdXJyaWN1bHVtJTJGcGFnZSZhcHBQYXRocz0lMkZhZG1pbiUyRmN1cnJpY3VsdW0lMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGYWRtaW4lMkZjdXJyaWN1bHVtJTJGcGFnZS50c3gmYXBwRGlyPUMlM0ElNUNVc2VycyU1Q1JheW1vbmRWZXJob2VmJTVDR2l0ZWElNUNsZWFybmluZy1wbGF0Zm9ybSU1Q2FwcCU1Q2Zyb250ZW5kJTVDc3JjJTVDYXBwJnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMmcm9vdERpcj1DJTNBJTVDVXNlcnMlNUNSYXltb25kVmVyaG9lZiU1Q0dpdGVhJTVDbGVhcm5pbmctcGxhdGZvcm0lNUNhcHAlNUNmcm9udGVuZCZpc0Rldj10cnVlJnRzY29uZmlnUGF0aD10c2NvbmZpZy5qc29uJmJhc2VQYXRoPSZhc3NldFByZWZpeD0mbmV4dENvbmZpZ091dHB1dD0mcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCEiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGFBQWEsc0JBQXNCO0FBQ2lFO0FBQ3JDO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQyx1QkFBdUIsa0xBQThJO0FBQ3JLO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EseUJBQXlCLGdLQUFvSTtBQUM3SjtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSx5QkFBeUIsb0pBQTZIO0FBQ3RKLG9CQUFvQiwwTkFBZ0Y7QUFDcEc7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ3VCO0FBQzZEO0FBQ3BGLDZCQUE2QixtQkFBbUI7QUFDaEQ7QUFDTztBQUNBO0FBQ1A7QUFDQTtBQUNBO0FBQ3VEO0FBQ3ZEO0FBQ08sd0JBQXdCLDhHQUFrQjtBQUNqRDtBQUNBLGNBQWMseUVBQVM7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8/ZmFlZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcIlRVUkJPUEFDSyB7IHRyYW5zaXRpb246IG5leHQtc3NyIH1cIjtcbmltcG9ydCB7IEFwcFBhZ2VSb3V0ZU1vZHVsZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL21vZHVsZS5jb21waWxlZFwiO1xuaW1wb3J0IHsgUm91dGVLaW5kIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLWtpbmRcIjtcbi8vIFdlIGluamVjdCB0aGUgdHJlZSBhbmQgcGFnZXMgaGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSBpbiB0aGUgcm91dGVcbi8vIG1vZHVsZS5cbmNvbnN0IHRyZWUgPSB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICcnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdhZG1pbicsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJ2N1cnJpY3VsdW0nLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbJ19fUEFHRV9fJywge30sIHtcbiAgICAgICAgICBwYWdlOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxhZG1pblxcXFxjdXJyaWN1bHVtXFxcXHBhZ2UudHN4XCIpLCBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFkbWluXFxcXGN1cnJpY3VsdW1cXFxccGFnZS50c3hcIl0sXG4gICAgICAgICAgXG4gICAgICAgIH1dXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFkbWluXFxcXGxheW91dC50c3hcIiksIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcYWRtaW5cXFxcbGF5b3V0LnRzeFwiXSxcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICdsYXlvdXQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxsYXlvdXQudHN4XCIpLCBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGxheW91dC50c3hcIl0sXG4nbm90LWZvdW5kJzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiKSwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCJdLFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0uY2hpbGRyZW47XG5jb25zdCBwYWdlcyA9IFtcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFkbWluXFxcXGN1cnJpY3VsdW1cXFxccGFnZS50c3hcIl07XG5leHBvcnQgeyB0cmVlLCBwYWdlcyB9O1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBHbG9iYWxFcnJvciB9IGZyb20gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnlcIjtcbmNvbnN0IF9fbmV4dF9hcHBfcmVxdWlyZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfX1xuY29uc3QgX19uZXh0X2FwcF9sb2FkX2NodW5rX18gPSAoKSA9PiBQcm9taXNlLnJlc29sdmUoKVxuZXhwb3J0IGNvbnN0IG9yaWdpbmFsUGF0aG5hbWUgPSBcIi9hZG1pbi9jdXJyaWN1bHVtL3BhZ2VcIjtcbmV4cG9ydCBjb25zdCBfX25leHRfYXBwX18gPSB7XG4gICAgcmVxdWlyZTogX19uZXh0X2FwcF9yZXF1aXJlX18sXG4gICAgbG9hZENodW5rOiBfX25leHRfYXBwX2xvYWRfY2h1bmtfX1xufTtcbmV4cG9ydCAqIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgQXBwUGFnZVJvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgcGFnZTogXCIvYWRtaW4vY3VycmljdWx1bS9wYWdlXCIsXG4gICAgICAgIHBhdGhuYW1lOiBcIi9hZG1pbi9jdXJyaWN1bHVtXCIsXG4gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlbid0IHVzZWQgaW4gcHJvZHVjdGlvbi5cbiAgICAgICAgYnVuZGxlUGF0aDogXCJcIixcbiAgICAgICAgZmlsZW5hbWU6IFwiXCIsXG4gICAgICAgIGFwcFBhdGhzOiBbXVxuICAgIH0sXG4gICAgdXNlcmxhbmQ6IHtcbiAgICAgICAgbG9hZGVyVHJlZTogdHJlZVxuICAgIH1cbn0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcGFnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fadmin%2Fcurriculum%2Fpage&page=%2Fadmin%2Fcurriculum%2Fpage&appPaths=%2Fadmin%2Fcurriculum%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fcurriculum%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJDJTNBJTVDJTVDVXNlcnMlNUMlNUNSYXltb25kVmVyaG9lZiU1QyU1Q0dpdGVhJTVDJTVDbGVhcm5pbmctcGxhdGZvcm0lNUMlNUNhcHAlNUMlNUNmcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2NsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyQyUzQSU1QyU1Q1VzZXJzJTVDJTVDUmF5bW9uZFZlcmhvZWYlNUMlNUNHaXRlYSU1QyU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDJTVDYXBwJTVDJTVDZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQW9LO0FBQ3BLO0FBQ0Esb09BQXFLO0FBQ3JLO0FBQ0EsME9BQXdLO0FBQ3hLO0FBQ0Esd09BQXVLO0FBQ3ZLO0FBQ0Esa1BBQTRLO0FBQzVLO0FBQ0Esc1FBQXNMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzcyOWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxhcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxcZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXGxheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXG5vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxccmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Ccurriculum%5C%5Cpage.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Ccurriculum%5C%5Cpage.tsx%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/admin/curriculum/page.tsx */ \"(ssr)/./src/app/admin/curriculum/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDYWRtaW4lNUMlNUNjdXJyaWN1bHVtJTVDJTVDcGFnZS50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLGtMQUE4SSIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLz9iNDhlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcYWRtaW5cXFxcY3VycmljdWx1bVxcXFxwYWdlLnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Ccurriculum%5C%5Cpage.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Clayout.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Clayout.tsx%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/admin/layout.tsx */ \"(ssr)/./src/app/admin/layout.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDYWRtaW4lNUMlNUNsYXlvdXQudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxnS0FBb0kiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8/NDAxMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFkbWluXFxcXGxheW91dC50c3hcIik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Clayout.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! + \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ (() => { + + + +/***/ }), + +/***/ "(ssr)/./src/app/admin/curriculum/page.tsx": +/*!*******************************************!*\ + !*** ./src/app/admin/curriculum/page.tsx ***! + \*******************************************/ +/***/ ((__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 */ CurriculumPage)\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 _lib_pocketbase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* harmony import */ var _components_admin_CurriculumWeekRow__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/admin/CurriculumWeekRow */ \"(ssr)/./src/components/admin/CurriculumWeekRow.tsx\");\n/* harmony import */ var _components_ui_Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* harmony import */ var _components_ui_StatusBadge__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/StatusBadge */ \"(ssr)/./src/components/ui/StatusBadge.tsx\");\n/* harmony import */ var _lib_services__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/lib/services */ \"(ssr)/./src/lib/services.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\nfunction CurriculumPage() {\n const [versions, setVersions] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [weeks, setWeeks] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [confirming, setConfirming] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n // Drag state\n const [dragIndex, setDragIndex] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [dragOverIndex, setDragOverIndex] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n async function load() {\n setLoading(true);\n try {\n const [vList, wList] = await Promise.all([\n _lib_pocketbase__WEBPACK_IMPORTED_MODULE_2__.pb.collection(\"curriculum_versions\").getFullList({\n sort: \"-version\"\n }),\n _lib_pocketbase__WEBPACK_IMPORTED_MODULE_2__.pb.collection(\"curriculum_weeks\").getFullList({\n sort: \"week_number\",\n expand: \"theme\"\n })\n ]);\n setVersions(vList);\n setWeeks(wList);\n setError(null);\n } catch (err) {\n setError(err instanceof Error ? err.message : \"Failed to load\");\n } finally{\n setLoading(false);\n }\n }\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n void load();\n }, []);\n const activeVersion = versions.find((v)=>v.status === \"active\");\n const draftVersion = versions.find((v)=>v.status === \"draft\");\n function handleDragStart(e, idx) {\n setDragIndex(idx);\n e.dataTransfer.effectAllowed = \"move\";\n }\n function handleDragOver(e, idx) {\n e.preventDefault();\n setDragOverIndex(idx);\n }\n function handleDrop(e, dropIdx) {\n e.preventDefault();\n if (dragIndex === null || dragIndex === dropIdx) {\n setDragIndex(null);\n setDragOverIndex(null);\n return;\n }\n const newWeeks = [\n ...weeks\n ];\n const [moved] = newWeeks.splice(dragIndex, 1);\n newWeeks.splice(dropIdx, 0, moved);\n setWeeks(newWeeks);\n setDragIndex(null);\n setDragOverIndex(null);\n // Persist order\n if (moved) {\n void (0,_lib_services__WEBPACK_IMPORTED_MODULE_6__.patchCurriculumWeekOrder)(moved.id, dropIdx + 1).catch(()=>{\n // revert on error\n void load();\n });\n }\n }\n function handleDragEnd() {\n setDragIndex(null);\n setDragOverIndex(null);\n }\n async function handleConfirm(versionId) {\n setConfirming(true);\n try {\n await (0,_lib_services__WEBPACK_IMPORTED_MODULE_6__.postCurriculumConfirm)(versionId);\n void load();\n } catch (err) {\n setError(err instanceof Error ? err.message : \"Failed to confirm\");\n } finally{\n setConfirming(false);\n }\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-6)\"\n },\n children: [\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)(\"h1\", {\n style: {\n margin: \"0 0 var(--s-2)\",\n fontSize: \"var(--t-h3)\",\n fontWeight: 700,\n color: \"var(--fg)\"\n },\n children: \"Curriculum\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 104,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-body)\",\n color: \"var(--fg-muted)\"\n },\n children: \"26-week learning schedule. Drag to reorder weeks.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 114,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 103,\n columnNumber: 7\n }, this),\n versions.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n gap: \"var(--s-3)\",\n flexWrap: \"wrap\",\n alignItems: \"center\",\n padding: \"var(--s-4)\",\n background: \"var(--bg-warm)\",\n borderRadius: \"var(--r-md)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n flex: 1\n },\n children: [\n activeVersion && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-body)\",\n color: \"var(--fg)\"\n },\n children: [\n \"Active: \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: [\n \"v\",\n activeVersion.version\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 135,\n columnNumber: 25\n }, this),\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_StatusBadge__WEBPACK_IMPORTED_MODULE_5__.StatusBadge, {\n status: \"active\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 136,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 134,\n columnNumber: 15\n }, this),\n draftVersion && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-body)\",\n color: \"var(--fg)\",\n marginLeft: \"var(--s-4)\"\n },\n children: [\n \"Draft: \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: [\n \"v\",\n draftVersion.version\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 141,\n columnNumber: 24\n }, this),\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_StatusBadge__WEBPACK_IMPORTED_MODULE_5__.StatusBadge, {\n status: \"draft\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 142,\n columnNumber: 17\n }, this),\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"em\", {\n style: {\n fontSize: \"var(--t-small)\",\n color: \"var(--fg-muted)\"\n },\n children: draftVersion.generation_notes\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 144,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 140,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 132,\n columnNumber: 11\n }, this),\n draftVersion && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"primary\",\n size: \"sm\",\n loading: confirming,\n onClick: ()=>void handleConfirm(draftVersion.id),\n children: [\n \"Activate draft v\",\n draftVersion.version\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 151,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 121,\n columnNumber: 9\n }, this),\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"#f8d7da\",\n color: \"#c0392b\",\n borderRadius: \"var(--r-sm)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-small)\"\n },\n children: error\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 164,\n columnNumber: 9\n }, this),\n loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n color: \"var(--fg-muted)\",\n fontSize: \"var(--t-body)\"\n },\n children: \"Loading…\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 178,\n columnNumber: 9\n }, this) : weeks.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n color: \"var(--fg-muted)\",\n fontSize: \"var(--t-body)\",\n textAlign: \"center\",\n padding: \"var(--s-6)\"\n },\n children: \"No curriculum weeks yet. Generate a curriculum from the knowledge base first.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 180,\n columnNumber: 9\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-2)\"\n },\n children: weeks.map((week, idx)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_admin_CurriculumWeekRow__WEBPACK_IMPORTED_MODULE_3__.CurriculumWeekRow, {\n week: week,\n isDragging: dragIndex === idx,\n onDragStart: (e)=>handleDragStart(e, idx),\n onDragOver: (e)=>handleDragOver(e, idx),\n onDrop: (e)=>handleDrop(e, idx),\n onDragEnd: handleDragEnd,\n onUpdate: ()=>void load()\n }, week.id, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 186,\n columnNumber: 13\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 184,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\curriculum\\\\page.tsx\",\n lineNumber: 102,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Olsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2FwcC9hZG1pbi9jdXJyaWN1bHVtL3BhZ2UudHN4PzMxN2UiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgcGIgfSBmcm9tICdAL2xpYi9wb2NrZXRiYXNlJ1xuaW1wb3J0IHsgQ3VycmljdWx1bVdlZWtSb3cgfSBmcm9tICdAL2NvbXBvbmVudHMvYWRtaW4vQ3VycmljdWx1bVdlZWtSb3cnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvQnV0dG9uJ1xuaW1wb3J0IHsgU3RhdHVzQmFkZ2UgfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvU3RhdHVzQmFkZ2UnXG5pbXBvcnQgeyBwb3N0Q3VycmljdWx1bUNvbmZpcm0sIHBhdGNoQ3VycmljdWx1bVdlZWtPcmRlciB9IGZyb20gJ0AvbGliL3NlcnZpY2VzJ1xuaW1wb3J0IHR5cGUgeyBDdXJyaWN1bHVtVmVyc2lvbiwgQ3VycmljdWx1bVdlZWsgfSBmcm9tICdAL3R5cGVzJ1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBDdXJyaWN1bHVtUGFnZSgpIHtcbiAgY29uc3QgW3ZlcnNpb25zLCBzZXRWZXJzaW9uc10gPSB1c2VTdGF0ZTxDdXJyaWN1bHVtVmVyc2lvbltdPihbXSlcbiAgY29uc3QgW3dlZWtzLCBzZXRXZWVrc10gPSB1c2VTdGF0ZTxDdXJyaWN1bHVtV2Vla1tdPihbXSlcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBbY29uZmlybWluZywgc2V0Q29uZmlybWluZ10gPSB1c2VTdGF0ZShmYWxzZSlcblxuICAvLyBEcmFnIHN0YXRlXG4gIGNvbnN0IFtkcmFnSW5kZXgsIHNldERyYWdJbmRleF0gPSB1c2VTdGF0ZTxudW1iZXIgfCBudWxsPihudWxsKVxuICBjb25zdCBbZHJhZ092ZXJJbmRleCwgc2V0RHJhZ092ZXJJbmRleF0gPSB1c2VTdGF0ZTxudW1iZXIgfCBudWxsPihudWxsKVxuXG4gIGFzeW5jIGZ1bmN0aW9uIGxvYWQoKSB7XG4gICAgc2V0TG9hZGluZyh0cnVlKVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBbdkxpc3QsIHdMaXN0XSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgcGIuY29sbGVjdGlvbignY3VycmljdWx1bV92ZXJzaW9ucycpLmdldEZ1bGxMaXN0PEN1cnJpY3VsdW1WZXJzaW9uPih7XG4gICAgICAgICAgc29ydDogJy12ZXJzaW9uJyxcbiAgICAgICAgfSksXG4gICAgICAgIHBiLmNvbGxlY3Rpb24oJ2N1cnJpY3VsdW1fd2Vla3MnKS5nZXRGdWxsTGlzdDxDdXJyaWN1bHVtV2Vlaz4oe1xuICAgICAgICAgIHNvcnQ6ICd3ZWVrX251bWJlcicsXG4gICAgICAgICAgZXhwYW5kOiAndGhlbWUnLFxuICAgICAgICB9KSxcbiAgICAgIF0pXG4gICAgICBzZXRWZXJzaW9ucyh2TGlzdClcbiAgICAgIHNldFdlZWtzKHdMaXN0KVxuICAgICAgc2V0RXJyb3IobnVsbClcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHNldEVycm9yKGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiAnRmFpbGVkIHRvIGxvYWQnKVxuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgdm9pZCBsb2FkKClcbiAgfSwgW10pXG5cbiAgY29uc3QgYWN0aXZlVmVyc2lvbiA9IHZlcnNpb25zLmZpbmQoKHYpID0+IHYuc3RhdHVzID09PSAnYWN0aXZlJylcbiAgY29uc3QgZHJhZnRWZXJzaW9uID0gdmVyc2lvbnMuZmluZCgodikgPT4gdi5zdGF0dXMgPT09ICdkcmFmdCcpXG5cbiAgZnVuY3Rpb24gaGFuZGxlRHJhZ1N0YXJ0KGU6IFJlYWN0LkRyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4sIGlkeDogbnVtYmVyKSB7XG4gICAgc2V0RHJhZ0luZGV4KGlkeClcbiAgICBlLmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkID0gJ21vdmUnXG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVEcmFnT3ZlcihlOiBSZWFjdC5EcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+LCBpZHg6IG51bWJlcikge1xuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIHNldERyYWdPdmVySW5kZXgoaWR4KVxuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlRHJvcChlOiBSZWFjdC5EcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+LCBkcm9wSWR4OiBudW1iZXIpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBpZiAoZHJhZ0luZGV4ID09PSBudWxsIHx8IGRyYWdJbmRleCA9PT0gZHJvcElkeCkge1xuICAgICAgc2V0RHJhZ0luZGV4KG51bGwpXG4gICAgICBzZXREcmFnT3ZlckluZGV4KG51bGwpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBuZXdXZWVrcyA9IFsuLi53ZWVrc11cbiAgICBjb25zdCBbbW92ZWRdID0gbmV3V2Vla3Muc3BsaWNlKGRyYWdJbmRleCwgMSlcbiAgICBuZXdXZWVrcy5zcGxpY2UoZHJvcElkeCwgMCwgbW92ZWQpXG4gICAgc2V0V2Vla3MobmV3V2Vla3MpXG4gICAgc2V0RHJhZ0luZGV4KG51bGwpXG4gICAgc2V0RHJhZ092ZXJJbmRleChudWxsKVxuXG4gICAgLy8gUGVyc2lzdCBvcmRlclxuICAgIGlmIChtb3ZlZCkge1xuICAgICAgdm9pZCBwYXRjaEN1cnJpY3VsdW1XZWVrT3JkZXIobW92ZWQuaWQsIGRyb3BJZHggKyAxKS5jYXRjaCgoKSA9PiB7XG4gICAgICAgIC8vIHJldmVydCBvbiBlcnJvclxuICAgICAgICB2b2lkIGxvYWQoKVxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVEcmFnRW5kKCkge1xuICAgIHNldERyYWdJbmRleChudWxsKVxuICAgIHNldERyYWdPdmVySW5kZXgobnVsbClcbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIGhhbmRsZUNvbmZpcm0odmVyc2lvbklkOiBzdHJpbmcpIHtcbiAgICBzZXRDb25maXJtaW5nKHRydWUpXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHBvc3RDdXJyaWN1bHVtQ29uZmlybSh2ZXJzaW9uSWQpXG4gICAgICB2b2lkIGxvYWQoKVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgc2V0RXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdGYWlsZWQgdG8gY29uZmlybScpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldENvbmZpcm1pbmcoZmFsc2UpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogJ3ZhcigtLXMtNiknIH19PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGgxXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIG1hcmdpbjogJzAgMCB2YXIoLS1zLTIpJyxcbiAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1oMyknLFxuICAgICAgICAgICAgZm9udFdlaWdodDogNzAwLFxuICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZyknLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICBDdXJyaWN1bHVtXG4gICAgICAgIDwvaDE+XG4gICAgICAgIDxwIHN0eWxlPXt7IG1hcmdpbjogMCwgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJywgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknIH19PlxuICAgICAgICAgIDI2LXdlZWsgbGVhcm5pbmcgc2NoZWR1bGUuIERyYWcgdG8gcmVvcmRlciB3ZWVrcy5cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIHsvKiBWZXJzaW9uIGluZm8gKi99XG4gICAgICB7dmVyc2lvbnMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgZ2FwOiAndmFyKC0tcy0zKScsXG4gICAgICAgICAgICBmbGV4V3JhcDogJ3dyYXAnLFxuICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy00KScsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctd2FybSknLFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1tZCknLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGZsZXg6IDEgfX0+XG4gICAgICAgICAgICB7YWN0aXZlVmVyc2lvbiAmJiAoXG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsIGNvbG9yOiAndmFyKC0tZmcpJyB9fT5cbiAgICAgICAgICAgICAgICBBY3RpdmU6IDxzdHJvbmc+dnthY3RpdmVWZXJzaW9uLnZlcnNpb259PC9zdHJvbmc+eycgJ31cbiAgICAgICAgICAgICAgICA8U3RhdHVzQmFkZ2Ugc3RhdHVzPVwiYWN0aXZlXCIgLz5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHtkcmFmdFZlcnNpb24gJiYgKFxuICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLCBjb2xvcjogJ3ZhcigtLWZnKScsIG1hcmdpbkxlZnQ6ICd2YXIoLS1zLTQpJyB9fT5cbiAgICAgICAgICAgICAgICBEcmFmdDogPHN0cm9uZz52e2RyYWZ0VmVyc2lvbi52ZXJzaW9ufTwvc3Ryb25nPnsnICd9XG4gICAgICAgICAgICAgICAgPFN0YXR1c0JhZGdlIHN0YXR1cz1cImRyYWZ0XCIgLz5cbiAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgIDxlbSBzdHlsZT17eyBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJywgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknIH19PlxuICAgICAgICAgICAgICAgICAge2RyYWZ0VmVyc2lvbi5nZW5lcmF0aW9uX25vdGVzfVxuICAgICAgICAgICAgICAgIDwvZW0+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAge2RyYWZ0VmVyc2lvbiAmJiAoXG4gICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgbG9hZGluZz17Y29uZmlybWluZ31cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdm9pZCBoYW5kbGVDb25maXJtKGRyYWZ0VmVyc2lvbi5pZCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIEFjdGl2YXRlIGRyYWZ0IHZ7ZHJhZnRWZXJzaW9uLnZlcnNpb259XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG5cbiAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJyNmOGQ3ZGEnLFxuICAgICAgICAgICAgY29sb3I6ICcjYzAzOTJiJyxcbiAgICAgICAgICAgIGJvcmRlclJhZGl1czogJ3ZhcigtLXItc20pJyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTMpIHZhcigtLXMtNCknLFxuICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LXNtYWxsKScsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtlcnJvcn1cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuXG4gICAgICB7bG9hZGluZyA/IChcbiAgICAgICAgPGRpdiBzdHlsZT17eyBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScgfX0+TG9hZGluZ+KApjwvZGl2PlxuICAgICAgKSA6IHdlZWtzLmxlbmd0aCA9PT0gMCA/IChcbiAgICAgICAgPGRpdiBzdHlsZT17eyBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsIHRleHRBbGlnbjogJ2NlbnRlcicsIHBhZGRpbmc6ICd2YXIoLS1zLTYpJyB9fT5cbiAgICAgICAgICBObyBjdXJyaWN1bHVtIHdlZWtzIHlldC4gR2VuZXJhdGUgYSBjdXJyaWN1bHVtIGZyb20gdGhlIGtub3dsZWRnZSBiYXNlIGZpcnN0LlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiAoXG4gICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAndmFyKC0tcy0yKScgfX0+XG4gICAgICAgICAge3dlZWtzLm1hcCgod2VlaywgaWR4KSA9PiAoXG4gICAgICAgICAgICA8Q3VycmljdWx1bVdlZWtSb3dcbiAgICAgICAgICAgICAga2V5PXt3ZWVrLmlkfVxuICAgICAgICAgICAgICB3ZWVrPXt3ZWVrfVxuICAgICAgICAgICAgICBpc0RyYWdnaW5nPXtkcmFnSW5kZXggPT09IGlkeH1cbiAgICAgICAgICAgICAgb25EcmFnU3RhcnQ9eyhlKSA9PiBoYW5kbGVEcmFnU3RhcnQoZSwgaWR4KX1cbiAgICAgICAgICAgICAgb25EcmFnT3Zlcj17KGUpID0+IGhhbmRsZURyYWdPdmVyKGUsIGlkeCl9XG4gICAgICAgICAgICAgIG9uRHJvcD17KGUpID0+IGhhbmRsZURyb3AoZSwgaWR4KX1cbiAgICAgICAgICAgICAgb25EcmFnRW5kPXtoYW5kbGVEcmFnRW5kfVxuICAgICAgICAgICAgICBvblVwZGF0ZT17KCkgPT4gdm9pZCBsb2FkKCl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwicGIiLCJDdXJyaWN1bHVtV2Vla1JvdyIsIkJ1dHRvbiIsIlN0YXR1c0JhZGdlIiwicG9zdEN1cnJpY3VsdW1Db25maXJtIiwicGF0Y2hDdXJyaWN1bHVtV2Vla09yZGVyIiwiQ3VycmljdWx1bVBhZ2UiLCJ2ZXJzaW9ucyIsInNldFZlcnNpb25zIiwid2Vla3MiLCJzZXRXZWVrcyIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiZXJyb3IiLCJzZXRFcnJvciIsImNvbmZpcm1pbmciLCJzZXRDb25maXJtaW5nIiwiZHJhZ0luZGV4Iiwic2V0RHJhZ0luZGV4IiwiZHJhZ092ZXJJbmRleCIsInNldERyYWdPdmVySW5kZXgiLCJsb2FkIiwidkxpc3QiLCJ3TGlzdCIsIlByb21pc2UiLCJhbGwiLCJjb2xsZWN0aW9uIiwiZ2V0RnVsbExpc3QiLCJzb3J0IiwiZXhwYW5kIiwiZXJyIiwiRXJyb3IiLCJtZXNzYWdlIiwiYWN0aXZlVmVyc2lvbiIsImZpbmQiLCJ2Iiwic3RhdHVzIiwiZHJhZnRWZXJzaW9uIiwiaGFuZGxlRHJhZ1N0YXJ0IiwiZSIsImlkeCIsImRhdGFUcmFuc2ZlciIsImVmZmVjdEFsbG93ZWQiLCJoYW5kbGVEcmFnT3ZlciIsInByZXZlbnREZWZhdWx0IiwiaGFuZGxlRHJvcCIsImRyb3BJZHgiLCJuZXdXZWVrcyIsIm1vdmVkIiwic3BsaWNlIiwiaWQiLCJjYXRjaCIsImhhbmRsZURyYWdFbmQiLCJoYW5kbGVDb25maXJtIiwidmVyc2lvbklkIiwiZGl2Iiwic3R5bGUiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImdhcCIsImgxIiwibWFyZ2luIiwiZm9udFNpemUiLCJmb250V2VpZ2h0IiwiY29sb3IiLCJwIiwibGVuZ3RoIiwiZmxleFdyYXAiLCJhbGlnbkl0ZW1zIiwicGFkZGluZyIsImJhY2tncm91bmQiLCJib3JkZXJSYWRpdXMiLCJmbGV4Iiwic3BhbiIsInN0cm9uZyIsInZlcnNpb24iLCJtYXJnaW5MZWZ0IiwiZW0iLCJnZW5lcmF0aW9uX25vdGVzIiwidmFyaWFudCIsInNpemUiLCJvbkNsaWNrIiwidGV4dEFsaWduIiwibWFwIiwid2VlayIsImlzRHJhZ2dpbmciLCJvbkRyYWdTdGFydCIsIm9uRHJhZ092ZXIiLCJvbkRyb3AiLCJvbkRyYWdFbmQiLCJvblVwZGF0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/app/admin/curriculum/page.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/app/admin/layout.tsx": +/*!**********************************!*\ + !*** ./src/app/admin/layout.tsx ***! + \**********************************/ +/***/ ((__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 */ AdminLayout)\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_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _lib_auth__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/lib/auth */ \"(ssr)/./src/lib/auth.ts\");\n/* harmony import */ var _components_ui_Button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\nconst NAV_ITEMS = [\n {\n href: \"/admin/documents\",\n label: \"Documents\",\n icon: \"\\uD83D\\uDCC4\"\n },\n {\n href: \"/admin/knowledge\",\n label: \"Knowledge\",\n icon: \"\\uD83E\\uDDE0\"\n },\n {\n href: \"/admin/curriculum\",\n label: \"Curriculum\",\n icon: \"\\uD83D\\uDCC5\"\n }\n];\nfunction AdminLayout({ children }) {\n const pathname = (0,next_navigation__WEBPACK_IMPORTED_MODULE_3__.usePathname)();\n const [mobileNavOpen, setMobileNavOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n minHeight: \"100dvh\",\n display: \"flex\",\n flexDirection: \"column\",\n background: \"var(--bg)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n style: {\n background: \"var(--bg-dark)\",\n color: \"var(--paper)\",\n height: \"var(--nav-height)\",\n display: \"flex\",\n alignItems: \"center\",\n padding: \"0 var(--s-5)\",\n gap: \"var(--s-4)\",\n position: \"sticky\",\n top: 0,\n zIndex: 100,\n flexShrink: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setMobileNavOpen((o)=>!o),\n style: {\n background: \"none\",\n border: \"none\",\n color: \"var(--paper)\",\n cursor: \"pointer\",\n fontSize: \"22px\",\n padding: \"var(--s-1)\",\n minWidth: \"44px\",\n minHeight: \"44px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n \"aria-label\": \"Toggle navigation\",\n children: \"☰\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 44,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontWeight: 700,\n fontSize: \"var(--t-body)\",\n flex: 1\n },\n children: \"Admin\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: \"/app\",\n style: {\n textDecoration: \"none\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-small)\",\n color: \"rgba(255,255,255,0.75)\",\n cursor: \"pointer\"\n },\n children: \"Employee app →\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 69,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 68,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_5__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: _lib_auth__WEBPACK_IMPORTED_MODULE_4__.logout,\n style: {\n color: \"rgba(255,255,255,0.75)\",\n borderColor: \"rgba(255,255,255,0.25)\"\n },\n children: \"Logout\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 74,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 28,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flex: 1,\n position: \"relative\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n style: {\n width: \"220px\",\n background: \"var(--bg-warm)\",\n borderRight: \"1px solid var(--cream)\",\n padding: \"var(--s-5) 0\",\n display: \"none\",\n flexDirection: \"column\",\n gap: \"var(--s-1)\",\n position: \"sticky\",\n top: \"var(--nav-height)\",\n height: \"calc(100dvh - var(--nav-height))\",\n overflowY: \"auto\",\n flexShrink: 0\n },\n className: \"admin-sidebar\",\n children: NAV_ITEMS.map((item)=>{\n const active = pathname.startsWith(item.href);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: item.href,\n style: {\n textDecoration: \"none\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-3)\",\n padding: \"var(--s-3) var(--s-5)\",\n background: active ? \"var(--bg)\" : \"transparent\",\n borderRight: active ? \"3px solid var(--accent)\" : \"3px solid transparent\",\n fontSize: \"var(--t-body)\",\n fontWeight: active ? 600 : 400,\n color: active ? \"var(--accent)\" : \"var(--fg)\",\n transition: \"background 150ms\",\n cursor: \"pointer\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.icon\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 125,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 126,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 110,\n columnNumber: 17\n }, this)\n }, item.href, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 109,\n columnNumber: 15\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 89,\n columnNumber: 9\n }, this),\n mobileNavOpen && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n background: \"var(--bg-warm)\",\n borderBottom: \"1px solid var(--cream)\",\n zIndex: 99,\n display: \"flex\",\n flexDirection: \"column\"\n },\n children: NAV_ITEMS.map((item)=>{\n const active = pathname.startsWith(item.href);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: item.href,\n onClick: ()=>setMobileNavOpen(false),\n style: {\n textDecoration: \"none\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-3)\",\n padding: \"var(--s-4) var(--s-5)\",\n borderBottom: \"1px solid var(--cream)\",\n background: active ? \"var(--bg)\" : \"transparent\",\n fontSize: \"var(--t-body)\",\n fontWeight: active ? 600 : 400,\n color: active ? \"var(--accent)\" : \"var(--fg)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.icon\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 170,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 171,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 157,\n columnNumber: 19\n }, this)\n }, item.href, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 151,\n columnNumber: 17\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 135,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n style: {\n flex: 1,\n padding: \"var(--s-5)\",\n maxWidth: \"900px\",\n width: \"100%\",\n margin: \"0 auto\"\n },\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 180,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 87,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"style\", {\n children: `\n @media (min-width: 768px) {\n .admin-sidebar {\n display: flex !important;\n }\n }\n `\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 193,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 19,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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b0MsVUFBVTs0QkFDVmIsT0FBTzs0QkFDUGMsUUFBUTt3QkFDVjtrQ0FFQ25EOzs7Ozs7Ozs7Ozs7MEJBSUwsOERBQUNLOzBCQUFPLENBQUM7Ozs7OztNQU1ULENBQUM7Ozs7Ozs7Ozs7OztBQUdQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL2FkbWluL2xheW91dC50c3g/NTZkMCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IExpbmsgZnJvbSAnbmV4dC9saW5rJ1xuaW1wb3J0IHsgdXNlUGF0aG5hbWUgfSBmcm9tICduZXh0L25hdmlnYXRpb24nXG5pbXBvcnQgeyBsb2dvdXQgfSBmcm9tICdAL2xpYi9hdXRoJ1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL0J1dHRvbidcblxuY29uc3QgTkFWX0lURU1TID0gW1xuICB7IGhyZWY6ICcvYWRtaW4vZG9jdW1lbnRzJywgbGFiZWw6ICdEb2N1bWVudHMnLCBpY29uOiAn8J+ThCcgfSxcbiAgeyBocmVmOiAnL2FkbWluL2tub3dsZWRnZScsIGxhYmVsOiAnS25vd2xlZGdlJywgaWNvbjogJ/Cfp6AnIH0sXG4gIHsgaHJlZjogJy9hZG1pbi9jdXJyaWN1bHVtJywgbGFiZWw6ICdDdXJyaWN1bHVtJywgaWNvbjogJ/Cfk4UnIH0sXG5dXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEFkbWluTGF5b3V0KHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VQYXRobmFtZSgpXG4gIGNvbnN0IFttb2JpbGVOYXZPcGVuLCBzZXRNb2JpbGVOYXZPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgbWluSGVpZ2h0OiAnMTAwZHZoJyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnKScsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHsvKiBUb3AgYmFyICovfVxuICAgICAgPGhlYWRlclxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZy1kYXJrKScsXG4gICAgICAgICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgICAgICAgIGhlaWdodDogJ3ZhcigtLW5hdi1oZWlnaHQpJyxcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgcGFkZGluZzogJzAgdmFyKC0tcy01KScsXG4gICAgICAgICAgZ2FwOiAndmFyKC0tcy00KScsXG4gICAgICAgICAgcG9zaXRpb246ICdzdGlja3knLFxuICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICB6SW5kZXg6IDEwMCxcbiAgICAgICAgICBmbGV4U2hyaW5rOiAwLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7LyogTW9iaWxlIG1lbnUgdG9nZ2xlICovfVxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0TW9iaWxlTmF2T3BlbigobykgPT4gIW8pfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAnbm9uZScsXG4gICAgICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tcGFwZXIpJyxcbiAgICAgICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICAgICAgZm9udFNpemU6ICcyMnB4JyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTEpJyxcbiAgICAgICAgICAgIG1pbldpZHRoOiAnNDRweCcsXG4gICAgICAgICAgICBtaW5IZWlnaHQ6ICc0NHB4JyxcbiAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1sYWJlbD1cIlRvZ2dsZSBuYXZpZ2F0aW9uXCJcbiAgICAgICAgPlxuICAgICAgICAgIOKYsFxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250V2VpZ2h0OiA3MDAsIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsIGZsZXg6IDEgfX0+XG4gICAgICAgICAgQWRtaW5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxMaW5rIGhyZWY9XCIvYXBwXCIgc3R5bGU9e3sgdGV4dERlY29yYXRpb246ICdub25lJyB9fT5cbiAgICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJywgY29sb3I6ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNzUpJywgY3Vyc29yOiAncG9pbnRlcicgfX0+XG4gICAgICAgICAgICBFbXBsb3llZSBhcHAg4oaSXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L0xpbms+XG5cbiAgICAgICAgPEJ1dHRvblxuICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICBvbkNsaWNrPXtsb2dvdXR9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwwLjc1KScsXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogJ3JnYmEoMjU1LDI1NSwyNTUsMC4yNSknLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICBMb2dvdXRcbiAgICAgICAgPC9CdXR0b24+XG4gICAgICA8L2hlYWRlcj5cblxuICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXg6IDEsIHBvc2l0aW9uOiAncmVsYXRpdmUnIH19PlxuICAgICAgICB7LyogU2lkZWJhciAoZGVza3RvcCkgKi99XG4gICAgICAgIDxuYXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgd2lkdGg6ICcyMjBweCcsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctd2FybSknLFxuICAgICAgICAgICAgYm9yZGVyUmlnaHQ6ICcxcHggc29saWQgdmFyKC0tY3JlYW0pJyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTUpIDAnLFxuICAgICAgICAgICAgZGlzcGxheTogJ25vbmUnLFxuICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTEpJyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnc3RpY2t5JyxcbiAgICAgICAgICAgIHRvcDogJ3ZhcigtLW5hdi1oZWlnaHQpJyxcbiAgICAgICAgICAgIGhlaWdodDogJ2NhbGMoMTAwZHZoIC0gdmFyKC0tbmF2LWhlaWdodCkpJyxcbiAgICAgICAgICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgICAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNsYXNzTmFtZT1cImFkbWluLXNpZGViYXJcIlxuICAgICAgICA+XG4gICAgICAgICAge05BVl9JVEVNUy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IHBhdGhuYW1lLnN0YXJ0c1dpdGgoaXRlbS5ocmVmKVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPExpbmsga2V5PXtpdGVtLmhyZWZ9IGhyZWY9e2l0ZW0uaHJlZn0gc3R5bGU9e3sgdGV4dERlY29yYXRpb246ICdub25lJyB9fT5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTMpJyxcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtMykgdmFyKC0tcy01KScsXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGFjdGl2ZSA/ICd2YXIoLS1iZyknIDogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmlnaHQ6IGFjdGl2ZSA/ICczcHggc29saWQgdmFyKC0tYWNjZW50KScgOiAnM3B4IHNvbGlkIHRyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogYWN0aXZlID8gNjAwIDogNDAwLFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlID8gJ3ZhcigtLWFjY2VudCknIDogJ3ZhcigtLWZnKScsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICdiYWNrZ3JvdW5kIDE1MG1zJyxcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPntpdGVtLmljb259PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e2l0ZW0ubGFiZWx9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICApXG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvbmF2PlxuXG4gICAgICAgIHsvKiBNb2JpbGUgbmF2IGRyb3Bkb3duICovfVxuICAgICAgICB7bW9iaWxlTmF2T3BlbiAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZy13YXJtKScsXG4gICAgICAgICAgICAgIGJvcmRlckJvdHRvbTogJzFweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgICB6SW5kZXg6IDk5LFxuICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7TkFWX0lURU1TLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBwYXRobmFtZS5zdGFydHNXaXRoKGl0ZW0uaHJlZilcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgICAga2V5PXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgICBocmVmPXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRNb2JpbGVOYXZPcGVuKGZhbHNlKX1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHRleHREZWNvcmF0aW9uOiAnbm9uZScgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgIGdhcDogJ3ZhcigtLXMtMyknLFxuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTQpIHZhcigtLXMtNSknLFxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlckJvdHRvbTogJzFweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGFjdGl2ZSA/ICd2YXIoLS1iZyknIDogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IGFjdGl2ZSA/IDYwMCA6IDQwMCxcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlID8gJ3ZhcigtLWFjY2VudCknIDogJ3ZhcigtLWZnKScsXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPntpdGVtLmljb259PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57aXRlbS5sYWJlbH08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuXG4gICAgICAgIHsvKiBNYWluIGNvbnRlbnQgKi99XG4gICAgICAgIDxtYWluXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy01KScsXG4gICAgICAgICAgICBtYXhXaWR0aDogJzkwMHB4JyxcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICBtYXJnaW46ICcwIGF1dG8nLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvbWFpbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8c3R5bGU+e2BcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgLmFkbWluLXNpZGViYXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgYH08L3N0eWxlPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsIkxpbmsiLCJ1c2VQYXRobmFtZSIsImxvZ291dCIsIkJ1dHRvbiIsIk5BVl9JVEVNUyIsImhyZWYiLCJsYWJlbCIsImljb24iLCJBZG1pbkxheW91dCIsImNoaWxkcmVuIiwicGF0aG5hbWUiLCJtb2JpbGVOYXZPcGVuIiwic2V0TW9iaWxlTmF2T3BlbiIsImRpdiIsInN0eWxlIiwibWluSGVpZ2h0IiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJiYWNrZ3JvdW5kIiwiaGVhZGVyIiwiY29sb3IiLCJoZWlnaHQiLCJhbGlnbkl0ZW1zIiwicGFkZGluZyIsImdhcCIsInBvc2l0aW9uIiwidG9wIiwiekluZGV4IiwiZmxleFNocmluayIsImJ1dHRvbiIsIm9uQ2xpY2siLCJvIiwiYm9yZGVyIiwiY3Vyc29yIiwiZm9udFNpemUiLCJtaW5XaWR0aCIsImp1c3RpZnlDb250ZW50IiwiYXJpYS1sYWJlbCIsInNwYW4iLCJmb250V2VpZ2h0IiwiZmxleCIsInRleHREZWNvcmF0aW9uIiwidmFyaWFudCIsInNpemUiLCJib3JkZXJDb2xvciIsIm5hdiIsIndpZHRoIiwiYm9yZGVyUmlnaHQiLCJvdmVyZmxvd1kiLCJjbGFzc05hbWUiLCJtYXAiLCJpdGVtIiwiYWN0aXZlIiwic3RhcnRzV2l0aCIsInRyYW5zaXRpb24iLCJsZWZ0IiwicmlnaHQiLCJib3JkZXJCb3R0b20iLCJtYWluIiwibWF4V2lkdGgiLCJtYXJnaW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/app/admin/layout.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/admin/CurriculumWeekRow.tsx": +/*!****************************************************!*\ + !*** ./src/components/admin/CurriculumWeekRow.tsx ***! + \****************************************************/ +/***/ ((__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 */ CurriculumWeekRow: () => (/* binding */ CurriculumWeekRow)\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 _lib_pocketbase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* harmony import */ var _components_ui_Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ CurriculumWeekRow auto */ \n\n\n\nfunction CurriculumWeekRow({ week, isDragging, onDragStart, onDragOver, onDrop, onDragEnd, onUpdate }) {\n const [editingNotes, setEditingNotes] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [notes, setNotes] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(week.admin_notes);\n const [saving, setSaving] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n async function saveNotes() {\n setSaving(true);\n try {\n await _lib_pocketbase__WEBPACK_IMPORTED_MODULE_2__.pb.collection(\"curriculum_weeks\").update(week.id, {\n admin_notes: notes\n });\n setEditingNotes(false);\n onUpdate();\n } catch {\n // ignore save error\n } finally{\n setSaving(false);\n }\n }\n const themeName = week.expand?.theme?.title ?? \"—\";\n const topicCount = week.topics.length;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n draggable: true,\n onDragStart: onDragStart,\n onDragOver: onDragOver,\n onDrop: onDrop,\n onDragEnd: onDragEnd,\n style: {\n background: \"var(--bg)\",\n border: `1.5px solid ${isDragging ? \"var(--accent)\" : \"var(--cream)\"}`,\n borderRadius: \"var(--r-md)\",\n padding: \"var(--s-4)\",\n cursor: \"grab\",\n opacity: isDragging ? 0.5 : 1,\n transition: \"opacity 150ms, border-color 150ms\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-3)\",\n userSelect: \"none\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-3)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n color: \"var(--fg-subtle)\",\n fontSize: \"18px\",\n flexShrink: 0,\n cursor: \"grab\"\n },\n \"aria-hidden\": \"true\",\n children: \"⠿\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\CurriculumWeekRow.tsx\",\n lineNumber: 70,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n flex: 1,\n minWidth: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-2)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n color: \"var(--fg-muted)\"\n },\n children: [\n \"Week \",\n week.week_number\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\CurriculumWeekRow.tsx\",\n lineNumber: 84,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n color: \"var(--fg-subtle)\"\n },\n children: [\n week.estimated_duration_minutes,\n \"min \\xb7 \",\n topicCount,\n \" topic\",\n topicCount !== 1 ? \"s\" : \"\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\CurriculumWeekRow.tsx\",\n lineNumber: 95,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\CurriculumWeekRow.tsx\",\n lineNumber: 83,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontWeight: 600,\n fontSize: \"var(--t-body)\",\n color: \"var(--fg)\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\"\n },\n children: themeName\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\CurriculumWeekRow.tsx\",\n lineNumber: 105,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\CurriculumWeekRow.tsx\",\n lineNumber: 82,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\CurriculumWeekRow.tsx\",\n lineNumber: 68,\n columnNumber: 7\n }, this),\n editingNotes ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-2)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"textarea\", {\n value: notes,\n onChange: (e)=>setNotes(e.target.value),\n rows: 2,\n style: {\n width: \"100%\",\n borderRadius: \"var(--r-sm)\",\n border: \"1.5px solid var(--accent)\",\n padding: \"var(--s-2) var(--s-3)\",\n fontSize: \"var(--t-small)\",\n fontFamily: \"var(--font-sans)\",\n color: \"var(--fg)\",\n background: \"var(--bg)\",\n resize: \"vertical\",\n outline: \"none\"\n },\n autoFocus: true\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\CurriculumWeekRow.tsx\",\n lineNumber: 123,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n gap: \"var(--s-2)\",\n justifyContent: \"flex-end\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n size: \"sm\",\n variant: \"secondary\",\n onClick: ()=>setEditingNotes(false),\n children: \"Cancel\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\CurriculumWeekRow.tsx\",\n lineNumber: 142,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_3__.Button, {\n size: \"sm\",\n variant: \"primary\",\n loading: saving,\n onClick: ()=>void saveNotes(),\n children: \"Save\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\CurriculumWeekRow.tsx\",\n lineNumber: 145,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\CurriculumWeekRow.tsx\",\n lineNumber: 141,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\CurriculumWeekRow.tsx\",\n lineNumber: 122,\n columnNumber: 9\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setEditingNotes(true),\n style: {\n background: \"none\",\n border: \"none\",\n padding: 0,\n cursor: \"text\",\n textAlign: \"left\",\n fontFamily: \"var(--font-sans)\",\n fontSize: \"var(--t-small)\",\n color: week.admin_notes ? \"var(--fg-muted)\" : \"var(--fg-subtle)\",\n fontStyle: week.admin_notes ? \"normal\" : \"italic\",\n minHeight: \"24px\"\n },\n children: week.admin_notes || \"Add admin notes…\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\CurriculumWeekRow.tsx\",\n lineNumber: 151,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\CurriculumWeekRow.tsx\",\n lineNumber: 48,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9hZG1pbi9DdXJyaWN1bHVtV2Vla1Jvdy50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDdUM7QUFFRjtBQUNVO0FBWXhDLFNBQVNJLGtCQUFrQixFQUNoQ0MsSUFBSSxFQUNKQyxVQUFVLEVBQ1ZDLFdBQVcsRUFDWEMsVUFBVSxFQUNWQyxNQUFNLEVBQ05DLFNBQVMsRUFDVEMsUUFBUSxFQUNlO0lBQ3ZCLE1BQU0sQ0FBQ0MsY0FBY0MsZ0JBQWdCLEdBQUdaLCtDQUFRQSxDQUFDO0lBQ2pELE1BQU0sQ0FBQ2EsT0FBT0MsU0FBUyxHQUFHZCwrQ0FBUUEsQ0FBQ0ksS0FBS1csV0FBVztJQUNuRCxNQUFNLENBQUNDLFFBQVFDLFVBQVUsR0FBR2pCLCtDQUFRQSxDQUFDO0lBRXJDLGVBQWVrQjtRQUNiRCxVQUFVO1FBQ1YsSUFBSTtZQUNGLE1BQU1oQiwrQ0FBRUEsQ0FBQ2tCLFVBQVUsQ0FBQyxvQkFBb0JDLE1BQU0sQ0FBQ2hCLEtBQUtpQixFQUFFLEVBQUU7Z0JBQUVOLGFBQWFGO1lBQU07WUFDN0VELGdCQUFnQjtZQUNoQkY7UUFDRixFQUFFLE9BQU07UUFDTixvQkFBb0I7UUFDdEIsU0FBVTtZQUNSTyxVQUFVO1FBQ1o7SUFDRjtJQUVBLE1BQU1LLFlBQ0osS0FBTUMsTUFBTSxFQUFFQyxPQUFPQyxTQUFVO0lBQ2pDLE1BQU1DLGFBQWF0QixLQUFLdUIsTUFBTSxDQUFDQyxNQUFNO0lBRXJDLHFCQUNFLDhEQUFDQztRQUNDQyxTQUFTO1FBQ1R4QixhQUFhQTtRQUNiQyxZQUFZQTtRQUNaQyxRQUFRQTtRQUNSQyxXQUFXQTtRQUNYc0IsT0FBTztZQUNMQyxZQUFZO1lBQ1pDLFFBQVEsQ0FBQyxZQUFZLEVBQUU1QixhQUFhLGtCQUFrQixlQUFlLENBQUM7WUFDdEU2QixjQUFjO1lBQ2RDLFNBQVM7WUFDVEMsUUFBUTtZQUNSQyxTQUFTaEMsYUFBYSxNQUFNO1lBQzVCaUMsWUFBWTtZQUNaQyxTQUFTO1lBQ1RDLGVBQWU7WUFDZkMsS0FBSztZQUNMQyxZQUFZO1FBQ2Q7OzBCQUVBLDhEQUFDYjtnQkFBSUUsT0FBTztvQkFBRVEsU0FBUztvQkFBUUksWUFBWTtvQkFBVUYsS0FBSztnQkFBYTs7a0NBRXJFLDhEQUFDWjt3QkFDQ0UsT0FBTzs0QkFDTGEsT0FBTzs0QkFDUEMsVUFBVTs0QkFDVkMsWUFBWTs0QkFDWlYsUUFBUTt3QkFDVjt3QkFDQVcsZUFBWTtrQ0FDYjs7Ozs7O2tDQUlELDhEQUFDbEI7d0JBQUlFLE9BQU87NEJBQUVpQixNQUFNOzRCQUFHQyxVQUFVO3dCQUFFOzswQ0FDakMsOERBQUNwQjtnQ0FBSUUsT0FBTztvQ0FBRVEsU0FBUztvQ0FBUUksWUFBWTtvQ0FBVUYsS0FBSztnQ0FBYTs7a0RBQ3JFLDhEQUFDUzt3Q0FDQ25CLE9BQU87NENBQ0xjLFVBQVU7NENBQ1ZNLFlBQVk7NENBQ1pDLGVBQWU7NENBQ2ZDLGVBQWU7NENBQ2ZULE9BQU87d0NBQ1Q7OzRDQUNEOzRDQUNPeEMsS0FBS2tELFdBQVc7Ozs7Ozs7a0RBRXhCLDhEQUFDSjt3Q0FDQ25CLE9BQU87NENBQ0xjLFVBQVU7NENBQ1ZNLFlBQVk7NENBQ1pQLE9BQU87d0NBQ1Q7OzRDQUVDeEMsS0FBS21ELDBCQUEwQjs0Q0FBQzs0Q0FBTzdCOzRDQUFXOzRDQUFPQSxlQUFlLElBQUksTUFBTTs7Ozs7Ozs7Ozs7OzswQ0FHdkYsOERBQUM4QjtnQ0FDQ3pCLE9BQU87b0NBQ0wwQixRQUFRO29DQUNSQyxZQUFZO29DQUNaYixVQUFVO29DQUNWRCxPQUFPO29DQUNQZSxVQUFVO29DQUNWQyxjQUFjO29DQUNkQyxZQUFZO2dDQUNkOzBDQUVDdkM7Ozs7Ozs7Ozs7Ozs7Ozs7OztZQUtOWCw2QkFDQyw4REFBQ2tCO2dCQUFJRSxPQUFPO29CQUFFUSxTQUFTO29CQUFRQyxlQUFlO29CQUFVQyxLQUFLO2dCQUFhOztrQ0FDeEUsOERBQUNxQjt3QkFDQ0MsT0FBT2xEO3dCQUNQbUQsVUFBVSxDQUFDQyxJQUFNbkQsU0FBU21ELEVBQUVDLE1BQU0sQ0FBQ0gsS0FBSzt3QkFDeENJLE1BQU07d0JBQ05wQyxPQUFPOzRCQUNMcUMsT0FBTzs0QkFDUGxDLGNBQWM7NEJBQ2RELFFBQVE7NEJBQ1JFLFNBQVM7NEJBQ1RVLFVBQVU7NEJBQ1ZNLFlBQVk7NEJBQ1pQLE9BQU87NEJBQ1BaLFlBQVk7NEJBQ1pxQyxRQUFROzRCQUNSQyxTQUFTO3dCQUNYO3dCQUNBQyxTQUFTOzs7Ozs7a0NBRVgsOERBQUMxQzt3QkFBSUUsT0FBTzs0QkFBRVEsU0FBUzs0QkFBUUUsS0FBSzs0QkFBYytCLGdCQUFnQjt3QkFBVzs7MENBQzNFLDhEQUFDdEUseURBQU1BO2dDQUFDdUUsTUFBSztnQ0FBS0MsU0FBUTtnQ0FBWUMsU0FBUyxJQUFNL0QsZ0JBQWdCOzBDQUFROzs7Ozs7MENBRzdFLDhEQUFDVix5REFBTUE7Z0NBQUN1RSxNQUFLO2dDQUFLQyxTQUFRO2dDQUFVRSxTQUFTNUQ7Z0NBQVEyRCxTQUFTLElBQU0sS0FBS3pEOzBDQUFhOzs7Ozs7Ozs7Ozs7Ozs7OztxQ0FNMUYsOERBQUMyRDtnQkFDQ0YsU0FBUyxJQUFNL0QsZ0JBQWdCO2dCQUMvQm1CLE9BQU87b0JBQ0xDLFlBQVk7b0JBQ1pDLFFBQVE7b0JBQ1JFLFNBQVM7b0JBQ1RDLFFBQVE7b0JBQ1IwQyxXQUFXO29CQUNYM0IsWUFBWTtvQkFDWk4sVUFBVTtvQkFDVkQsT0FBT3hDLEtBQUtXLFdBQVcsR0FBRyxvQkFBb0I7b0JBQzlDZ0UsV0FBVzNFLEtBQUtXLFdBQVcsR0FBRyxXQUFXO29CQUN6Q2lFLFdBQVc7Z0JBQ2I7MEJBRUM1RSxLQUFLVyxXQUFXLElBQUk7Ozs7Ozs7Ozs7OztBQUsvQiIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2NvbXBvbmVudHMvYWRtaW4vQ3VycmljdWx1bVdlZWtSb3cudHN4PzU3MDIiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgQ3VycmljdWx1bVdlZWsgfSBmcm9tICdAL3R5cGVzJ1xuaW1wb3J0IHsgcGIgfSBmcm9tICdAL2xpYi9wb2NrZXRiYXNlJ1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL0J1dHRvbidcblxuaW50ZXJmYWNlIEN1cnJpY3VsdW1XZWVrUm93UHJvcHMge1xuICB3ZWVrOiBDdXJyaWN1bHVtV2Vla1xuICBpc0RyYWdnaW5nOiBib29sZWFuXG4gIG9uRHJhZ1N0YXJ0OiAoZTogUmVhY3QuRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZFxuICBvbkRyYWdPdmVyOiAoZTogUmVhY3QuRHJhZ0V2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZFxuICBvbkRyb3A6IChlOiBSZWFjdC5EcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRHJhZ0VuZDogKCkgPT4gdm9pZFxuICBvblVwZGF0ZTogKCkgPT4gdm9pZFxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ3VycmljdWx1bVdlZWtSb3coe1xuICB3ZWVrLFxuICBpc0RyYWdnaW5nLFxuICBvbkRyYWdTdGFydCxcbiAgb25EcmFnT3ZlcixcbiAgb25Ecm9wLFxuICBvbkRyYWdFbmQsXG4gIG9uVXBkYXRlLFxufTogQ3VycmljdWx1bVdlZWtSb3dQcm9wcykge1xuICBjb25zdCBbZWRpdGluZ05vdGVzLCBzZXRFZGl0aW5nTm90ZXNdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtub3Rlcywgc2V0Tm90ZXNdID0gdXNlU3RhdGUod2Vlay5hZG1pbl9ub3RlcylcbiAgY29uc3QgW3NhdmluZywgc2V0U2F2aW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGFzeW5jIGZ1bmN0aW9uIHNhdmVOb3RlcygpIHtcbiAgICBzZXRTYXZpbmcodHJ1ZSlcbiAgICB0cnkge1xuICAgICAgYXdhaXQgcGIuY29sbGVjdGlvbignY3VycmljdWx1bV93ZWVrcycpLnVwZGF0ZSh3ZWVrLmlkLCB7IGFkbWluX25vdGVzOiBub3RlcyB9KVxuICAgICAgc2V0RWRpdGluZ05vdGVzKGZhbHNlKVxuICAgICAgb25VcGRhdGUoKVxuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gaWdub3JlIHNhdmUgZXJyb3JcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0U2F2aW5nKGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHRoZW1lTmFtZSA9XG4gICAgKHdlZWsuZXhwYW5kPy50aGVtZT8udGl0bGUpID8/ICfigJQnXG4gIGNvbnN0IHRvcGljQ291bnQgPSB3ZWVrLnRvcGljcy5sZW5ndGhcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGRyYWdnYWJsZVxuICAgICAgb25EcmFnU3RhcnQ9e29uRHJhZ1N0YXJ0fVxuICAgICAgb25EcmFnT3Zlcj17b25EcmFnT3Zlcn1cbiAgICAgIG9uRHJvcD17b25Ecm9wfVxuICAgICAgb25EcmFnRW5kPXtvbkRyYWdFbmR9XG4gICAgICBzdHlsZT17e1xuICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmcpJyxcbiAgICAgICAgYm9yZGVyOiBgMS41cHggc29saWQgJHtpc0RyYWdnaW5nID8gJ3ZhcigtLWFjY2VudCknIDogJ3ZhcigtLWNyZWFtKSd9YCxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1tZCknLFxuICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy00KScsXG4gICAgICAgIGN1cnNvcjogJ2dyYWInLFxuICAgICAgICBvcGFjaXR5OiBpc0RyYWdnaW5nID8gMC41IDogMSxcbiAgICAgICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMTUwbXMsIGJvcmRlci1jb2xvciAxNTBtcycsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgIGdhcDogJ3ZhcigtLXMtMyknLFxuICAgICAgICB1c2VyU2VsZWN0OiAnbm9uZScsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAndmFyKC0tcy0zKScgfX0+XG4gICAgICAgIHsvKiBEcmFnIGhhbmRsZSAqL31cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLXN1YnRsZSknLFxuICAgICAgICAgICAgZm9udFNpemU6ICcxOHB4JyxcbiAgICAgICAgICAgIGZsZXhTaHJpbms6IDAsXG4gICAgICAgICAgICBjdXJzb3I6ICdncmFiJyxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgID5cbiAgICAgICAgICDioL9cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBzdHlsZT17eyBmbGV4OiAxLCBtaW5XaWR0aDogMCB9fT5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJ3ZhcigtLXMtMiknIH19PlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtbGFiZWwpJyxcbiAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vKScsXG4gICAgICAgICAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsXG4gICAgICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogJ3ZhcigtLWxhYmVsLWxzKScsXG4gICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBXZWVrIHt3ZWVrLndlZWtfbnVtYmVyfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtbGFiZWwpJyxcbiAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vKScsXG4gICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZy1zdWJ0bGUpJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3dlZWsuZXN0aW1hdGVkX2R1cmF0aW9uX21pbnV0ZXN9bWluIMK3IHt0b3BpY0NvdW50fSB0b3BpY3t0b3BpY0NvdW50ICE9PSAxID8gJ3MnIDogJyd9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHBcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCxcbiAgICAgICAgICAgICAgZm9udFdlaWdodDogNjAwLFxuICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnKScsXG4gICAgICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgICAgICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgICAgICAgICAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3RoZW1lTmFtZX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIHtlZGl0aW5nTm90ZXMgPyAoXG4gICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAndmFyKC0tcy0yKScgfX0+XG4gICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICB2YWx1ZT17bm90ZXN9XG4gICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldE5vdGVzKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgIHJvd3M9ezJ9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXNtKScsXG4gICAgICAgICAgICAgIGJvcmRlcjogJzEuNXB4IHNvbGlkIHZhcigtLWFjY2VudCknLFxuICAgICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTMpJyxcbiAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LXNtYWxsKScsXG4gICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZyknLFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmcpJyxcbiAgICAgICAgICAgICAgcmVzaXplOiAndmVydGljYWwnLFxuICAgICAgICAgICAgICBvdXRsaW5lOiAnbm9uZScsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZ2FwOiAndmFyKC0tcy0yKScsIGp1c3RpZnlDb250ZW50OiAnZmxleC1lbmQnIH19PlxuICAgICAgICAgICAgPEJ1dHRvbiBzaXplPVwic21cIiB2YXJpYW50PVwic2Vjb25kYXJ5XCIgb25DbGljaz17KCkgPT4gc2V0RWRpdGluZ05vdGVzKGZhbHNlKX0+XG4gICAgICAgICAgICAgIENhbmNlbFxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8QnV0dG9uIHNpemU9XCJzbVwiIHZhcmlhbnQ9XCJwcmltYXJ5XCIgbG9hZGluZz17c2F2aW5nfSBvbkNsaWNrPXsoKSA9PiB2b2lkIHNhdmVOb3RlcygpfT5cbiAgICAgICAgICAgICAgU2F2ZVxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IChcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldEVkaXRpbmdOb3Rlcyh0cnVlKX1cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJ25vbmUnLFxuICAgICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICAgICAgY3Vyc29yOiAndGV4dCcsXG4gICAgICAgICAgICB0ZXh0QWxpZ246ICdsZWZ0JyxcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1zbWFsbCknLFxuICAgICAgICAgICAgY29sb3I6IHdlZWsuYWRtaW5fbm90ZXMgPyAndmFyKC0tZmctbXV0ZWQpJyA6ICd2YXIoLS1mZy1zdWJ0bGUpJyxcbiAgICAgICAgICAgIGZvbnRTdHlsZTogd2Vlay5hZG1pbl9ub3RlcyA/ICdub3JtYWwnIDogJ2l0YWxpYycsXG4gICAgICAgICAgICBtaW5IZWlnaHQ6ICcyNHB4JyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge3dlZWsuYWRtaW5fbm90ZXMgfHwgJ0FkZCBhZG1pbiBub3Rlc+KApid9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlU3RhdGUiLCJwYiIsIkJ1dHRvbiIsIkN1cnJpY3VsdW1XZWVrUm93Iiwid2VlayIsImlzRHJhZ2dpbmciLCJvbkRyYWdTdGFydCIsIm9uRHJhZ092ZXIiLCJvbkRyb3AiLCJvbkRyYWdFbmQiLCJvblVwZGF0ZSIsImVkaXRpbmdOb3RlcyIsInNldEVkaXRpbmdOb3RlcyIsIm5vdGVzIiwic2V0Tm90ZXMiLCJhZG1pbl9ub3RlcyIsInNhdmluZyIsInNldFNhdmluZyIsInNhdmVOb3RlcyIsImNvbGxlY3Rpb24iLCJ1cGRhdGUiLCJpZCIsInRoZW1lTmFtZSIsImV4cGFuZCIsInRoZW1lIiwidGl0bGUiLCJ0b3BpY0NvdW50IiwidG9waWNzIiwibGVuZ3RoIiwiZGl2IiwiZHJhZ2dhYmxlIiwic3R5bGUiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyIiwiYm9yZGVyUmFkaXVzIiwicGFkZGluZyIsImN1cnNvciIsIm9wYWNpdHkiLCJ0cmFuc2l0aW9uIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJ1c2VyU2VsZWN0IiwiYWxpZ25JdGVtcyIsImNvbG9yIiwiZm9udFNpemUiLCJmbGV4U2hyaW5rIiwiYXJpYS1oaWRkZW4iLCJmbGV4IiwibWluV2lkdGgiLCJzcGFuIiwiZm9udEZhbWlseSIsInRleHRUcmFuc2Zvcm0iLCJsZXR0ZXJTcGFjaW5nIiwid2Vla19udW1iZXIiLCJlc3RpbWF0ZWRfZHVyYXRpb25fbWludXRlcyIsInAiLCJtYXJnaW4iLCJmb250V2VpZ2h0Iiwib3ZlcmZsb3ciLCJ0ZXh0T3ZlcmZsb3ciLCJ3aGl0ZVNwYWNlIiwidGV4dGFyZWEiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwiZSIsInRhcmdldCIsInJvd3MiLCJ3aWR0aCIsInJlc2l6ZSIsIm91dGxpbmUiLCJhdXRvRm9jdXMiLCJqdXN0aWZ5Q29udGVudCIsInNpemUiLCJ2YXJpYW50Iiwib25DbGljayIsImxvYWRpbmciLCJidXR0b24iLCJ0ZXh0QWxpZ24iLCJmb250U3R5bGUiLCJtaW5IZWlnaHQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/admin/CurriculumWeekRow.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/Button.tsx": +/*!**************************************!*\ + !*** ./src/components/ui/Button.tsx ***! + \**************************************/ +/***/ ((__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 */ Button: () => (/* binding */ Button)\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/* __next_internal_client_entry_do_not_use__ Button auto */ \n\nconst variantStyles = {\n primary: {\n background: \"var(--accent)\",\n color: \"var(--paper)\",\n border: \"none\"\n },\n secondary: {\n background: \"var(--bg-warm)\",\n color: \"var(--fg)\",\n border: \"1.5px solid var(--cream)\"\n },\n danger: {\n background: \"#c0392b\",\n color: \"var(--paper)\",\n border: \"none\"\n },\n ghost: {\n background: \"transparent\",\n color: \"var(--fg)\",\n border: \"1.5px solid var(--cream)\"\n }\n};\nconst sizeStyles = {\n sm: {\n fontSize: \"var(--t-small)\",\n padding: \"var(--s-2) var(--s-3)\",\n minHeight: \"36px\",\n borderRadius: \"var(--r-sm)\"\n },\n md: {\n fontSize: \"var(--t-body)\",\n padding: \"var(--s-2) var(--s-5)\",\n minHeight: \"44px\",\n borderRadius: \"var(--r-md)\"\n },\n lg: {\n fontSize: \"var(--t-lead)\",\n padding: \"var(--s-3) var(--s-6)\",\n minHeight: \"52px\",\n borderRadius: \"var(--r-lg)\"\n }\n};\nfunction Button({ variant = \"primary\", size = \"md\", loading = false, disabled, children, style, ...rest }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n disabled: disabled ?? loading,\n style: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"var(--s-2)\",\n fontFamily: \"var(--font-sans)\",\n fontWeight: 500,\n cursor: disabled ?? loading ? \"not-allowed\" : \"pointer\",\n opacity: disabled ?? loading ? 0.6 : 1,\n transition: \"opacity 150ms, transform 100ms\",\n ...variantStyles[variant],\n ...sizeStyles[size],\n ...style\n },\n ...rest,\n children: loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Spinner, {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 88,\n columnNumber: 11\n }, this),\n children\n ]\n }, void 0, true) : children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 68,\n columnNumber: 5\n }, this);\n}\nfunction Spinner() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n width: \"16px\",\n height: \"16px\",\n border: \"2px solid currentColor\",\n borderTopColor: \"transparent\",\n borderRadius: \"50%\",\n display: \"inline-block\",\n animation: \"spin 0.7s linear infinite\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 100,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9CdXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUN5QjtBQVl6QixNQUFNQyxnQkFBNEQ7SUFDaEVDLFNBQVM7UUFDUEMsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtJQUNBQyxXQUFXO1FBQ1RILFlBQVk7UUFDWkMsT0FBTztRQUNQQyxRQUFRO0lBQ1Y7SUFDQUUsUUFBUTtRQUNOSixZQUFZO1FBQ1pDLE9BQU87UUFDUEMsUUFBUTtJQUNWO0lBQ0FHLE9BQU87UUFDTEwsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtBQUNGO0FBRUEsTUFBTUksYUFBc0Q7SUFDMURDLElBQUk7UUFDRkMsVUFBVTtRQUNWQyxTQUFTO1FBQ1RDLFdBQVc7UUFDWEMsY0FBYztJQUNoQjtJQUNBQyxJQUFJO1FBQ0ZKLFVBQVU7UUFDVkMsU0FBUztRQUNUQyxXQUFXO1FBQ1hDLGNBQWM7SUFDaEI7SUFDQUUsSUFBSTtRQUNGTCxVQUFVO1FBQ1ZDLFNBQVM7UUFDVEMsV0FBVztRQUNYQyxjQUFjO0lBQ2hCO0FBQ0Y7QUFFTyxTQUFTRyxPQUFPLEVBQ3JCQyxVQUFVLFNBQVMsRUFDbkJDLE9BQU8sSUFBSSxFQUNYQyxVQUFVLEtBQUssRUFDZkMsUUFBUSxFQUNSQyxRQUFRLEVBQ1JDLEtBQUssRUFDTCxHQUFHQyxNQUNTO0lBQ1oscUJBQ0UsOERBQUNDO1FBQ0NKLFVBQVVBLFlBQVlEO1FBQ3RCRyxPQUFPO1lBQ0xHLFNBQVM7WUFDVEMsWUFBWTtZQUNaQyxnQkFBZ0I7WUFDaEJDLEtBQUs7WUFDTEMsWUFBWTtZQUNaQyxZQUFZO1lBQ1pDLFFBQVFYLFlBQVlELFVBQVUsZ0JBQWdCO1lBQzlDYSxTQUFTWixZQUFZRCxVQUFVLE1BQU07WUFDckNjLFlBQVk7WUFDWixHQUFHakMsYUFBYSxDQUFDaUIsUUFBUTtZQUN6QixHQUFHVCxVQUFVLENBQUNVLEtBQUs7WUFDbkIsR0FBR0ksS0FBSztRQUNWO1FBQ0MsR0FBR0MsSUFBSTtrQkFFUEosd0JBQ0M7OzhCQUNFLDhEQUFDZTs7Ozs7Z0JBQ0FiOzsyQkFHSEE7Ozs7OztBQUlSO0FBRUEsU0FBU2E7SUFDUCxxQkFDRSw4REFBQ0M7UUFDQ2IsT0FBTztZQUNMYyxPQUFPO1lBQ1BDLFFBQVE7WUFDUmpDLFFBQVE7WUFDUmtDLGdCQUFnQjtZQUNoQnpCLGNBQWM7WUFDZFksU0FBUztZQUNUYyxXQUFXO1FBQ2I7Ozs7OztBQUdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy91aS9CdXR0b24udHN4PzAxM2EiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbnR5cGUgQnV0dG9uVmFyaWFudCA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2RhbmdlcicgfCAnZ2hvc3QnXG50eXBlIEJ1dHRvblNpemUgPSAnc20nIHwgJ21kJyB8ICdsZydcblxuaW50ZXJmYWNlIEJ1dHRvblByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcbiAgdmFyaWFudD86IEJ1dHRvblZhcmlhbnRcbiAgc2l6ZT86IEJ1dHRvblNpemVcbiAgbG9hZGluZz86IGJvb2xlYW5cbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG5jb25zdCB2YXJpYW50U3R5bGVzOiBSZWNvcmQ8QnV0dG9uVmFyaWFudCwgUmVhY3QuQ1NTUHJvcGVydGllcz4gPSB7XG4gIHByaW1hcnk6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYWNjZW50KScsXG4gICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBzZWNvbmRhcnk6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctd2FybSknLFxuICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICBib3JkZXI6ICcxLjVweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICB9LFxuICBkYW5nZXI6IHtcbiAgICBiYWNrZ3JvdW5kOiAnI2MwMzkyYicsXG4gICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBnaG9zdDoge1xuICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXG4gICAgY29sb3I6ICd2YXIoLS1mZyknLFxuICAgIGJvcmRlcjogJzEuNXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gIH0sXG59XG5cbmNvbnN0IHNpemVTdHlsZXM6IFJlY29yZDxCdXR0b25TaXplLCBSZWFjdC5DU1NQcm9wZXJ0aWVzPiA9IHtcbiAgc206IHtcbiAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTMpJyxcbiAgICBtaW5IZWlnaHQ6ICczNnB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXNtKScsXG4gIH0sXG4gIG1kOiB7XG4gICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTUpJyxcbiAgICBtaW5IZWlnaHQ6ICc0NHB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLW1kKScsXG4gIH0sXG4gIGxnOiB7XG4gICAgZm9udFNpemU6ICd2YXIoLS10LWxlYWQpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTYpJyxcbiAgICBtaW5IZWlnaHQ6ICc1MnB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLWxnKScsXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b24oe1xuICB2YXJpYW50ID0gJ3ByaW1hcnknLFxuICBzaXplID0gJ21kJyxcbiAgbG9hZGluZyA9IGZhbHNlLFxuICBkaXNhYmxlZCxcbiAgY2hpbGRyZW4sXG4gIHN0eWxlLFxuICAuLi5yZXN0XG59OiBCdXR0b25Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZCA/PyBsb2FkaW5nfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgZ2FwOiAndmFyKC0tcy0yKScsXG4gICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICBjdXJzb3I6IGRpc2FibGVkID8/IGxvYWRpbmcgPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInLFxuICAgICAgICBvcGFjaXR5OiBkaXNhYmxlZCA/PyBsb2FkaW5nID8gMC42IDogMSxcbiAgICAgICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMTUwbXMsIHRyYW5zZm9ybSAxMDBtcycsXG4gICAgICAgIC4uLnZhcmlhbnRTdHlsZXNbdmFyaWFudF0sXG4gICAgICAgIC4uLnNpemVTdHlsZXNbc2l6ZV0sXG4gICAgICAgIC4uLnN0eWxlLFxuICAgICAgfX1cbiAgICAgIHsuLi5yZXN0fVxuICAgID5cbiAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxTcGlubmVyIC8+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGNoaWxkcmVuXG4gICAgICApfVxuICAgIDwvYnV0dG9uPlxuICApXG59XG5cbmZ1bmN0aW9uIFNwaW5uZXIoKSB7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHdpZHRoOiAnMTZweCcsXG4gICAgICAgIGhlaWdodDogJzE2cHgnLFxuICAgICAgICBib3JkZXI6ICcycHggc29saWQgY3VycmVudENvbG9yJyxcbiAgICAgICAgYm9yZGVyVG9wQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICBhbmltYXRpb246ICdzcGluIDAuN3MgbGluZWFyIGluZmluaXRlJyxcbiAgICAgIH19XG4gICAgLz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidmFyaWFudFN0eWxlcyIsInByaW1hcnkiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJib3JkZXIiLCJzZWNvbmRhcnkiLCJkYW5nZXIiLCJnaG9zdCIsInNpemVTdHlsZXMiLCJzbSIsImZvbnRTaXplIiwicGFkZGluZyIsIm1pbkhlaWdodCIsImJvcmRlclJhZGl1cyIsIm1kIiwibGciLCJCdXR0b24iLCJ2YXJpYW50Iiwic2l6ZSIsImxvYWRpbmciLCJkaXNhYmxlZCIsImNoaWxkcmVuIiwic3R5bGUiLCJyZXN0IiwiYnV0dG9uIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImdhcCIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiY3Vyc29yIiwib3BhY2l0eSIsInRyYW5zaXRpb24iLCJTcGlubmVyIiwic3BhbiIsIndpZHRoIiwiaGVpZ2h0IiwiYm9yZGVyVG9wQ29sb3IiLCJhbmltYXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/Button.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/StatusBadge.tsx": +/*!*******************************************!*\ + !*** ./src/components/ui/StatusBadge.tsx ***! + \*******************************************/ +/***/ ((__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 */ StatusBadge: () => (/* binding */ StatusBadge)\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/* __next_internal_client_entry_do_not_use__ StatusBadge auto */ \n\nconst STATUS_CONFIG = {\n queued: {\n label: \"Queued\",\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n },\n extracting: {\n label: \"Extracting\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n chunking: {\n label: \"Chunking\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n structuring: {\n label: \"Structuring\",\n background: \"#cce5ff\",\n color: \"#004085\"\n },\n writing: {\n label: \"Writing\",\n background: \"#cce5ff\",\n color: \"#004085\"\n },\n embedding: {\n label: \"Embedding\",\n background: \"#d4edda\",\n color: \"#155724\"\n },\n done: {\n label: \"Done\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n failed: {\n label: \"Failed\",\n background: \"#f8d7da\",\n color: \"#c0392b\"\n },\n processing: {\n label: \"Processing\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n processed: {\n label: \"Processed\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n draft: {\n label: \"Draft\",\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n },\n published: {\n label: \"Published\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n rejected: {\n label: \"Rejected\",\n background: \"#f8d7da\",\n color: \"#c0392b\"\n },\n generated: {\n label: \"Generated\",\n background: \"#cce5ff\",\n color: \"#004085\"\n },\n active: {\n label: \"Active\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n superseded: {\n label: \"Superseded\",\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n },\n introductory: {\n label: \"Introductory\",\n background: \"var(--accent-soft)\",\n color: \"var(--teal-900)\"\n },\n intermediate: {\n label: \"Intermediate\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n advanced: {\n label: \"Advanced\",\n background: \"var(--peri)\",\n color: \"var(--teal-900)\"\n }\n};\nfunction StatusBadge({ status }) {\n const config = STATUS_CONFIG[status] ?? {\n label: status,\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n display: \"inline-block\",\n padding: \"2px var(--s-2)\",\n borderRadius: \"var(--r-pill)\",\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n fontWeight: 500,\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n background: config.background,\n color: config.color\n },\n children: config.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\StatusBadge.tsx\",\n lineNumber: 58,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9TdGF0dXNCYWRnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ3lCO0FBbUJ6QixNQUFNQyxnQkFHRjtJQUNGQyxRQUFRO1FBQUVDLE9BQU87UUFBVUMsWUFBWTtRQUFnQkMsT0FBTztJQUFrQjtJQUNoRkMsWUFBWTtRQUFFSCxPQUFPO1FBQWNDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQzNFRSxVQUFVO1FBQUVKLE9BQU87UUFBWUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDdkVHLGFBQWE7UUFBRUwsT0FBTztRQUFlQyxZQUFZO1FBQVdDLE9BQU87SUFBVTtJQUM3RUksU0FBUztRQUFFTixPQUFPO1FBQVdDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQ3JFSyxXQUFXO1FBQUVQLE9BQU87UUFBYUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDekVNLE1BQU07UUFBRVIsT0FBTztRQUFRQyxZQUFZO1FBQWtCQyxPQUFPO0lBQWtCO0lBQzlFTyxRQUFRO1FBQUVULE9BQU87UUFBVUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDbkVRLFlBQVk7UUFBRVYsT0FBTztRQUFjQyxZQUFZO1FBQVdDLE9BQU87SUFBVTtJQUMzRVMsV0FBVztRQUFFWCxPQUFPO1FBQWFDLFlBQVk7UUFBa0JDLE9BQU87SUFBa0I7SUFDeEZVLE9BQU87UUFBRVosT0FBTztRQUFTQyxZQUFZO1FBQWdCQyxPQUFPO0lBQWtCO0lBQzlFVyxXQUFXO1FBQUViLE9BQU87UUFBYUMsWUFBWTtRQUFrQkMsT0FBTztJQUFrQjtJQUN4RlksVUFBVTtRQUFFZCxPQUFPO1FBQVlDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQ3ZFYSxXQUFXO1FBQUVmLE9BQU87UUFBYUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDekVjLFFBQVE7UUFBRWhCLE9BQU87UUFBVUMsWUFBWTtRQUFrQkMsT0FBTztJQUFrQjtJQUNsRmUsWUFBWTtRQUFFakIsT0FBTztRQUFjQyxZQUFZO1FBQWdCQyxPQUFPO0lBQWtCO0lBQ3hGZ0IsY0FBYztRQUFFbEIsT0FBTztRQUFnQkMsWUFBWTtRQUFzQkMsT0FBTztJQUFrQjtJQUNsR2lCLGNBQWM7UUFBRW5CLE9BQU87UUFBZ0JDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQy9Fa0IsVUFBVTtRQUFFcEIsT0FBTztRQUFZQyxZQUFZO1FBQWVDLE9BQU87SUFBa0I7QUFDckY7QUFNTyxTQUFTbUIsWUFBWSxFQUFFQyxNQUFNLEVBQW9CO0lBQ3RELE1BQU1DLFNBQVN6QixhQUFhLENBQUN3QixPQUFPLElBQUk7UUFDdEN0QixPQUFPc0I7UUFDUHJCLFlBQVk7UUFDWkMsT0FBTztJQUNUO0lBRUEscUJBQ0UsOERBQUNzQjtRQUNDQyxPQUFPO1lBQ0xDLFNBQVM7WUFDVEMsU0FBUztZQUNUQyxjQUFjO1lBQ2RDLFVBQVU7WUFDVkMsWUFBWTtZQUNaQyxZQUFZO1lBQ1pDLGVBQWU7WUFDZkMsZUFBZTtZQUNmaEMsWUFBWXNCLE9BQU90QixVQUFVO1lBQzdCQyxPQUFPcUIsT0FBT3JCLEtBQUs7UUFDckI7a0JBRUNxQixPQUFPdkIsS0FBSzs7Ozs7O0FBR25CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy91aS9TdGF0dXNCYWRnZS50c3g/MDcxZSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgSW5nZXN0aW9uSm9iU3RhdHVzIH0gZnJvbSAnQC90eXBlcydcblxudHlwZSBBbnlTdGF0dXMgPVxuICB8IEluZ2VzdGlvbkpvYlN0YXR1c1snc3RhdHVzJ11cbiAgfCAncHJvY2Vzc2luZydcbiAgfCAncHJvY2Vzc2VkJ1xuICB8ICdmYWlsZWQnXG4gIHwgJ2RyYWZ0J1xuICB8ICdwdWJsaXNoZWQnXG4gIHwgJ3JlamVjdGVkJ1xuICB8ICdxdWV1ZWQnXG4gIHwgJ2dlbmVyYXRlZCdcbiAgfCAnYWN0aXZlJ1xuICB8ICdzdXBlcnNlZGVkJ1xuICB8ICdpbnRyb2R1Y3RvcnknXG4gIHwgJ2ludGVybWVkaWF0ZSdcbiAgfCAnYWR2YW5jZWQnXG5cbmNvbnN0IFNUQVRVU19DT05GSUc6IFJlY29yZDxcbiAgQW55U3RhdHVzLFxuICB7IGxhYmVsOiBzdHJpbmc7IGJhY2tncm91bmQ6IHN0cmluZzsgY29sb3I6IHN0cmluZyB9XG4+ID0ge1xuICBxdWV1ZWQ6IHsgbGFiZWw6ICdRdWV1ZWQnLCBiYWNrZ3JvdW5kOiAndmFyKC0tY3JlYW0pJywgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknIH0sXG4gIGV4dHJhY3Rpbmc6IHsgbGFiZWw6ICdFeHRyYWN0aW5nJywgYmFja2dyb3VuZDogJyNmZmYzY2QnLCBjb2xvcjogJyM4NTY0MDQnIH0sXG4gIGNodW5raW5nOiB7IGxhYmVsOiAnQ2h1bmtpbmcnLCBiYWNrZ3JvdW5kOiAnI2ZmZjNjZCcsIGNvbG9yOiAnIzg1NjQwNCcgfSxcbiAgc3RydWN0dXJpbmc6IHsgbGFiZWw6ICdTdHJ1Y3R1cmluZycsIGJhY2tncm91bmQ6ICcjY2NlNWZmJywgY29sb3I6ICcjMDA0MDg1JyB9LFxuICB3cml0aW5nOiB7IGxhYmVsOiAnV3JpdGluZycsIGJhY2tncm91bmQ6ICcjY2NlNWZmJywgY29sb3I6ICcjMDA0MDg1JyB9LFxuICBlbWJlZGRpbmc6IHsgbGFiZWw6ICdFbWJlZGRpbmcnLCBiYWNrZ3JvdW5kOiAnI2Q0ZWRkYScsIGNvbG9yOiAnIzE1NTcyNCcgfSxcbiAgZG9uZTogeyBsYWJlbDogJ0RvbmUnLCBiYWNrZ3JvdW5kOiAndmFyKC0tc3VjY2VzcyknLCBjb2xvcjogJ3ZhcigtLXRlYWwtOTAwKScgfSxcbiAgZmFpbGVkOiB7IGxhYmVsOiAnRmFpbGVkJywgYmFja2dyb3VuZDogJyNmOGQ3ZGEnLCBjb2xvcjogJyNjMDM5MmInIH0sXG4gIHByb2Nlc3Npbmc6IHsgbGFiZWw6ICdQcm9jZXNzaW5nJywgYmFja2dyb3VuZDogJyNmZmYzY2QnLCBjb2xvcjogJyM4NTY0MDQnIH0sXG4gIHByb2Nlc3NlZDogeyBsYWJlbDogJ1Byb2Nlc3NlZCcsIGJhY2tncm91bmQ6ICd2YXIoLS1zdWNjZXNzKScsIGNvbG9yOiAndmFyKC0tdGVhbC05MDApJyB9LFxuICBkcmFmdDogeyBsYWJlbDogJ0RyYWZ0JywgYmFja2dyb3VuZDogJ3ZhcigtLWNyZWFtKScsIGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJyB9LFxuICBwdWJsaXNoZWQ6IHsgbGFiZWw6ICdQdWJsaXNoZWQnLCBiYWNrZ3JvdW5kOiAndmFyKC0tc3VjY2VzcyknLCBjb2xvcjogJ3ZhcigtLXRlYWwtOTAwKScgfSxcbiAgcmVqZWN0ZWQ6IHsgbGFiZWw6ICdSZWplY3RlZCcsIGJhY2tncm91bmQ6ICcjZjhkN2RhJywgY29sb3I6ICcjYzAzOTJiJyB9LFxuICBnZW5lcmF0ZWQ6IHsgbGFiZWw6ICdHZW5lcmF0ZWQnLCBiYWNrZ3JvdW5kOiAnI2NjZTVmZicsIGNvbG9yOiAnIzAwNDA4NScgfSxcbiAgYWN0aXZlOiB7IGxhYmVsOiAnQWN0aXZlJywgYmFja2dyb3VuZDogJ3ZhcigtLXN1Y2Nlc3MpJywgY29sb3I6ICd2YXIoLS10ZWFsLTkwMCknIH0sXG4gIHN1cGVyc2VkZWQ6IHsgbGFiZWw6ICdTdXBlcnNlZGVkJywgYmFja2dyb3VuZDogJ3ZhcigtLWNyZWFtKScsIGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJyB9LFxuICBpbnRyb2R1Y3Rvcnk6IHsgbGFiZWw6ICdJbnRyb2R1Y3RvcnknLCBiYWNrZ3JvdW5kOiAndmFyKC0tYWNjZW50LXNvZnQpJywgY29sb3I6ICd2YXIoLS10ZWFsLTkwMCknIH0sXG4gIGludGVybWVkaWF0ZTogeyBsYWJlbDogJ0ludGVybWVkaWF0ZScsIGJhY2tncm91bmQ6ICcjZmZmM2NkJywgY29sb3I6ICcjODU2NDA0JyB9LFxuICBhZHZhbmNlZDogeyBsYWJlbDogJ0FkdmFuY2VkJywgYmFja2dyb3VuZDogJ3ZhcigtLXBlcmkpJywgY29sb3I6ICd2YXIoLS10ZWFsLTkwMCknIH0sXG59XG5cbmludGVyZmFjZSBTdGF0dXNCYWRnZVByb3BzIHtcbiAgc3RhdHVzOiBBbnlTdGF0dXNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0YXR1c0JhZGdlKHsgc3RhdHVzIH06IFN0YXR1c0JhZGdlUHJvcHMpIHtcbiAgY29uc3QgY29uZmlnID0gU1RBVFVTX0NPTkZJR1tzdGF0dXNdID8/IHtcbiAgICBsYWJlbDogc3RhdHVzLFxuICAgIGJhY2tncm91bmQ6ICd2YXIoLS1jcmVhbSknLFxuICAgIGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJyxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICBwYWRkaW5nOiAnMnB4IHZhcigtLXMtMiknLFxuICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXBpbGwpJyxcbiAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWxhYmVsKScsXG4gICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LW1vbm8pJyxcbiAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcbiAgICAgICAgbGV0dGVyU3BhY2luZzogJ3ZhcigtLWxhYmVsLWxzKScsXG4gICAgICAgIGJhY2tncm91bmQ6IGNvbmZpZy5iYWNrZ3JvdW5kLFxuICAgICAgICBjb2xvcjogY29uZmlnLmNvbG9yLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7Y29uZmlnLmxhYmVsfVxuICAgIDwvc3Bhbj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiU1RBVFVTX0NPTkZJRyIsInF1ZXVlZCIsImxhYmVsIiwiYmFja2dyb3VuZCIsImNvbG9yIiwiZXh0cmFjdGluZyIsImNodW5raW5nIiwic3RydWN0dXJpbmciLCJ3cml0aW5nIiwiZW1iZWRkaW5nIiwiZG9uZSIsImZhaWxlZCIsInByb2Nlc3NpbmciLCJwcm9jZXNzZWQiLCJkcmFmdCIsInB1Ymxpc2hlZCIsInJlamVjdGVkIiwiZ2VuZXJhdGVkIiwiYWN0aXZlIiwic3VwZXJzZWRlZCIsImludHJvZHVjdG9yeSIsImludGVybWVkaWF0ZSIsImFkdmFuY2VkIiwiU3RhdHVzQmFkZ2UiLCJzdGF0dXMiLCJjb25maWciLCJzcGFuIiwic3R5bGUiLCJkaXNwbGF5IiwicGFkZGluZyIsImJvcmRlclJhZGl1cyIsImZvbnRTaXplIiwiZm9udEZhbWlseSIsImZvbnRXZWlnaHQiLCJ0ZXh0VHJhbnNmb3JtIiwibGV0dGVyU3BhY2luZyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/StatusBadge.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/auth.ts": +/*!*************************!*\ + !*** ./src/lib/auth.ts ***! + \*************************/ +/***/ ((__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 */ clearAuthCookies: () => (/* binding */ clearAuthCookies),\n/* harmony export */ getAuthUser: () => (/* binding */ getAuthUser),\n/* harmony export */ logout: () => (/* binding */ logout),\n/* harmony export */ syncAuthCookies: () => (/* binding */ syncAuthCookies)\n/* harmony export */ });\n/* harmony import */ var _pocketbase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* __next_internal_client_entry_do_not_use__ getAuthUser,syncAuthCookies,clearAuthCookies,logout auto */ \nconst COOKIE_TOKEN = \"pb_token\";\nconst COOKIE_ROLE = \"pb_role\";\nconst COOKIE_MAX_AGE = 60 * 60 * 24 * 14 // 14 days\n;\nfunction getAuthUser() {\n if (!_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.isValid) return null;\n return _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.model;\n}\nfunction syncAuthCookies() {\n if (_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.isValid && _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.token) {\n const user = _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.model;\n const role = user?.role ?? \"\";\n document.cookie = `${COOKIE_TOKEN}=${_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.token}; path=/; max-age=${COOKIE_MAX_AGE}; SameSite=Lax`;\n document.cookie = `${COOKIE_ROLE}=${role}; path=/; max-age=${COOKIE_MAX_AGE}; SameSite=Lax`;\n } else {\n clearAuthCookies();\n }\n}\nfunction clearAuthCookies() {\n document.cookie = `${COOKIE_TOKEN}=; path=/; max-age=0`;\n document.cookie = `${COOKIE_ROLE}=; path=/; max-age=0`;\n}\nfunction logout() {\n _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.clear();\n clearAuthCookies();\n window.location.href = \"/auth\";\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL2F1dGgudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7eUdBQ2lDO0FBR2pDLE1BQU1DLGVBQWU7QUFDckIsTUFBTUMsY0FBYztBQUNwQixNQUFNQyxpQkFBaUIsS0FBSyxLQUFLLEtBQUssR0FBRyxVQUFVOztBQUU1QyxTQUFTQztJQUNkLElBQUksQ0FBQ0osMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0MsT0FBTyxFQUFFLE9BQU87SUFDbEMsT0FBT04sMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0UsS0FBSztBQUMzQjtBQUVPLFNBQVNDO0lBQ2QsSUFBSVIsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0MsT0FBTyxJQUFJTiwyQ0FBRUEsQ0FBQ0ssU0FBUyxDQUFDSSxLQUFLLEVBQUU7UUFDOUMsTUFBTUMsT0FBT1YsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0UsS0FBSztRQUMvQixNQUFNSSxPQUFPRCxNQUFNQyxRQUFRO1FBQzNCQyxTQUFTQyxNQUFNLEdBQUcsQ0FBQyxFQUFFWixhQUFhLENBQUMsRUFBRUQsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0ksS0FBSyxDQUFDLGtCQUFrQixFQUFFTixlQUFlLGNBQWMsQ0FBQztRQUMxR1MsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVgsWUFBWSxDQUFDLEVBQUVTLEtBQUssa0JBQWtCLEVBQUVSLGVBQWUsY0FBYyxDQUFDO0lBQzdGLE9BQU87UUFDTFc7SUFDRjtBQUNGO0FBRU8sU0FBU0E7SUFDZEYsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVosYUFBYSxvQkFBb0IsQ0FBQztJQUN2RFcsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVgsWUFBWSxvQkFBb0IsQ0FBQztBQUN4RDtBQUVPLFNBQVNhO0lBQ2RmLDJDQUFFQSxDQUFDSyxTQUFTLENBQUNXLEtBQUs7SUFDbEJGO0lBQ0FHLE9BQU9DLFFBQVEsQ0FBQ0MsSUFBSSxHQUFHO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL2F1dGgudHM/NjY5MiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB7IHBiIH0gZnJvbSAnLi9wb2NrZXRiYXNlJ1xuaW1wb3J0IHR5cGUgeyBQQlVzZXIgfSBmcm9tICdAL3R5cGVzJ1xuXG5jb25zdCBDT09LSUVfVE9LRU4gPSAncGJfdG9rZW4nXG5jb25zdCBDT09LSUVfUk9MRSA9ICdwYl9yb2xlJ1xuY29uc3QgQ09PS0lFX01BWF9BR0UgPSA2MCAqIDYwICogMjQgKiAxNCAvLyAxNCBkYXlzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBdXRoVXNlcigpOiBQQlVzZXIgfCBudWxsIHtcbiAgaWYgKCFwYi5hdXRoU3RvcmUuaXNWYWxpZCkgcmV0dXJuIG51bGxcbiAgcmV0dXJuIHBiLmF1dGhTdG9yZS5tb2RlbCBhcyBQQlVzZXIgfCBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzeW5jQXV0aENvb2tpZXMoKTogdm9pZCB7XG4gIGlmIChwYi5hdXRoU3RvcmUuaXNWYWxpZCAmJiBwYi5hdXRoU3RvcmUudG9rZW4pIHtcbiAgICBjb25zdCB1c2VyID0gcGIuYXV0aFN0b3JlLm1vZGVsIGFzIFBCVXNlciB8IG51bGxcbiAgICBjb25zdCByb2xlID0gdXNlcj8ucm9sZSA/PyAnJ1xuICAgIGRvY3VtZW50LmNvb2tpZSA9IGAke0NPT0tJRV9UT0tFTn09JHtwYi5hdXRoU3RvcmUudG9rZW59OyBwYXRoPS87IG1heC1hZ2U9JHtDT09LSUVfTUFYX0FHRX07IFNhbWVTaXRlPUxheGBcbiAgICBkb2N1bWVudC5jb29raWUgPSBgJHtDT09LSUVfUk9MRX09JHtyb2xlfTsgcGF0aD0vOyBtYXgtYWdlPSR7Q09PS0lFX01BWF9BR0V9OyBTYW1lU2l0ZT1MYXhgXG4gIH0gZWxzZSB7XG4gICAgY2xlYXJBdXRoQ29va2llcygpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyQXV0aENvb2tpZXMoKTogdm9pZCB7XG4gIGRvY3VtZW50LmNvb2tpZSA9IGAke0NPT0tJRV9UT0tFTn09OyBwYXRoPS87IG1heC1hZ2U9MGBcbiAgZG9jdW1lbnQuY29va2llID0gYCR7Q09PS0lFX1JPTEV9PTsgcGF0aD0vOyBtYXgtYWdlPTBgXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2dvdXQoKTogdm9pZCB7XG4gIHBiLmF1dGhTdG9yZS5jbGVhcigpXG4gIGNsZWFyQXV0aENvb2tpZXMoKVxuICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvYXV0aCdcbn1cbiJdLCJuYW1lcyI6WyJwYiIsIkNPT0tJRV9UT0tFTiIsIkNPT0tJRV9ST0xFIiwiQ09PS0lFX01BWF9BR0UiLCJnZXRBdXRoVXNlciIsImF1dGhTdG9yZSIsImlzVmFsaWQiLCJtb2RlbCIsInN5bmNBdXRoQ29va2llcyIsInRva2VuIiwidXNlciIsInJvbGUiLCJkb2N1bWVudCIsImNvb2tpZSIsImNsZWFyQXV0aENvb2tpZXMiLCJsb2dvdXQiLCJjbGVhciIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/auth.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/pocketbase.ts": +/*!*******************************!*\ + !*** ./src/lib/pocketbase.ts ***! + \*******************************/ +/***/ ((__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 */ pb: () => (/* binding */ pb)\n/* harmony export */ });\n/* harmony import */ var pocketbase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pocketbase */ \"(ssr)/./node_modules/pocketbase/dist/pocketbase.es.mjs\");\n/* __next_internal_client_entry_do_not_use__ pb auto */ \nconst pb = new pocketbase__WEBPACK_IMPORTED_MODULE_0__[\"default\"](\"http://localhost:8090\" ?? 0);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL3BvY2tldGJhc2UudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7d0RBQ21DO0FBRTVCLE1BQU1DLEtBQUssSUFBSUQsa0RBQVVBLENBQUNFLHVCQUFzQyxJQUFJLEdBQXdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL3BvY2tldGJhc2UudHM/ZTY1NyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBQb2NrZXRCYXNlIGZyb20gJ3BvY2tldGJhc2UnXG5cbmV4cG9ydCBjb25zdCBwYiA9IG5ldyBQb2NrZXRCYXNlKHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX1BPQ0tFVEJBU0VfVVJMID8/ICdodHRwOi8vbG9jYWxob3N0OjgwOTAnKVxuIl0sIm5hbWVzIjpbIlBvY2tldEJhc2UiLCJwYiIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19QT0NLRVRCQVNFX1VSTCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/pocketbase.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/services.ts": +/*!*****************************!*\ + !*** ./src/lib/services.ts ***! + \*****************************/ +/***/ ((__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 */ getFeed: () => (/* binding */ getFeed),\n/* harmony export */ getIngestionStatus: () => (/* binding */ getIngestionStatus),\n/* harmony export */ getLeaderboard: () => (/* binding */ getLeaderboard),\n/* harmony export */ patchCurriculumWeekOrder: () => (/* binding */ patchCurriculumWeekOrder),\n/* harmony export */ postComplete: () => (/* binding */ postComplete),\n/* harmony export */ postCurriculumConfirm: () => (/* binding */ postCurriculumConfirm),\n/* harmony export */ postGenerateAll: () => (/* binding */ postGenerateAll),\n/* harmony export */ postIngest: () => (/* binding */ postIngest)\n/* harmony export */ });\nconst INGESTION_URL = \"http://localhost:3001\" ?? 0;\nconst GENERATION_URL = \"http://localhost:3002\" ?? 0;\nconst CURRICULUM_URL = \"http://localhost:3003\" ?? 0;\nconst PROGRESS_URL = \"http://localhost:3005\" ?? 0;\nasync function handleResponse(res) {\n if (!res.ok) {\n const text = await res.text().catch(()=>res.statusText);\n throw new Error(`HTTP ${res.status}: ${text}`);\n }\n return res.json();\n}\nasync function postIngest(formData) {\n const res = await fetch(`${INGESTION_URL}/ingest`, {\n method: \"POST\",\n body: formData\n });\n return handleResponse(res);\n}\nasync function getIngestionStatus(jobId) {\n const res = await fetch(`${INGESTION_URL}/ingest/${encodeURIComponent(jobId)}/status`);\n return handleResponse(res);\n}\nasync function postGenerateAll(themeId) {\n const res = await fetch(`${GENERATION_URL}/generate/theme/${encodeURIComponent(themeId)}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n }\n });\n return handleResponse(res);\n}\nasync function postComplete(payload) {\n const res = await fetch(`${PROGRESS_URL}/complete`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(payload)\n });\n return handleResponse(res);\n}\nasync function getLeaderboard() {\n const res = await fetch(`${PROGRESS_URL}/leaderboard`);\n return handleResponse(res);\n}\nasync function getFeed() {\n const res = await fetch(`${PROGRESS_URL}/feed`);\n return handleResponse(res);\n}\nasync function postCurriculumConfirm(versionId) {\n const res = await fetch(`${CURRICULUM_URL}/curriculum/versions/${encodeURIComponent(versionId)}/confirm`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n }\n });\n if (!res.ok) {\n const text = await res.text().catch(()=>res.statusText);\n throw new Error(`HTTP ${res.status}: ${text}`);\n }\n}\nasync function patchCurriculumWeekOrder(weekId, position) {\n const res = await fetch(`${CURRICULUM_URL}/curriculum/weeks/${encodeURIComponent(weekId)}/order`, {\n method: \"PATCH\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n position\n })\n });\n if (!res.ok) {\n const text = await res.text().catch(()=>res.statusText);\n throw new Error(`HTTP ${res.status}: ${text}`);\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUNsQztJQUVGLElBQUksQ0FBQzdCLElBQUlDLEVBQUUsRUFBRTtRQUNYLE1BQU1DLE9BQU8sTUFBTUYsSUFBSUUsSUFBSSxHQUFHQyxLQUFLLENBQUMsSUFBTUgsSUFBSUksVUFBVTtRQUN4RCxNQUFNLElBQUlDLE1BQU0sQ0FBQyxLQUFLLEVBQUVMLElBQUlNLE1BQU0sQ0FBQyxFQUFFLEVBQUVKLEtBQUssQ0FBQztJQUMvQztBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL3NlcnZpY2VzLnRzPzA3MDEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBJbmdlc3Rpb25Kb2JTdGF0dXMsXG4gIENvbXBsZXRlUGF5bG9hZCxcbiAgQ29tcGxldGVSZXNwb25zZSxcbiAgTGVhZGVyYm9hcmRFbnRyeSxcbiAgRmVlZEVudHJ5LFxufSBmcm9tICdAL3R5cGVzJ1xuXG5jb25zdCBJTkdFU1RJT05fVVJMID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfSU5HRVNUSU9OX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDAxJ1xuY29uc3QgR0VORVJBVElPTl9VUkwgPSBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19HRU5FUkFUSU9OX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDAyJ1xuY29uc3QgQ1VSUklDVUxVTV9VUkwgPSBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19DVVJSSUNVTFVNX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDAzJ1xuY29uc3QgUFJPR1JFU1NfVVJMID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfUFJPR1JFU1NfVVJMID8/ICdodHRwOi8vbG9jYWxob3N0OjMwMDUnXG5cbmFzeW5jIGZ1bmN0aW9uIGhhbmRsZVJlc3BvbnNlPFQ+KHJlczogUmVzcG9uc2UpOiBQcm9taXNlPFQ+IHtcbiAgaWYgKCFyZXMub2spIHtcbiAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVzLnRleHQoKS5jYXRjaCgoKSA9PiByZXMuc3RhdHVzVGV4dClcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEhUVFAgJHtyZXMuc3RhdHVzfTogJHt0ZXh0fWApXG4gIH1cbiAgcmV0dXJuIHJlcy5qc29uKCkgYXMgUHJvbWlzZTxUPlxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcG9zdEluZ2VzdChmb3JtRGF0YTogRm9ybURhdGEpOiBQcm9taXNlPHsgam9iSWQ6IHN0cmluZyB9PiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke0lOR0VTVElPTl9VUkx9L2luZ2VzdGAsIHtcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBib2R5OiBmb3JtRGF0YSxcbiAgfSlcbiAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlPHsgam9iSWQ6IHN0cmluZyB9PihyZXMpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRJbmdlc3Rpb25TdGF0dXMoam9iSWQ6IHN0cmluZyk6IFByb21pc2U8SW5nZXN0aW9uSm9iU3RhdHVzPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke0lOR0VTVElPTl9VUkx9L2luZ2VzdC8ke2VuY29kZVVSSUNvbXBvbmVudChqb2JJZCl9L3N0YXR1c2ApXG4gIHJldHVybiBoYW5kbGVSZXNwb25zZTxJbmdlc3Rpb25Kb2JTdGF0dXM+KHJlcylcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBvc3RHZW5lcmF0ZUFsbCh0aGVtZUlkOiBzdHJpbmcpOiBQcm9taXNlPHsgcXVldWVkOiBudW1iZXIgfT4ge1xuICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtHRU5FUkFUSU9OX1VSTH0vZ2VuZXJhdGUvdGhlbWUvJHtlbmNvZGVVUklDb21wb25lbnQodGhlbWVJZCl9YCwge1xuICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICB9KVxuICByZXR1cm4gaGFuZGxlUmVzcG9uc2U8eyBxdWV1ZWQ6IG51bWJlciB9PihyZXMpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwb3N0Q29tcGxldGUocGF5bG9hZDogQ29tcGxldGVQYXlsb2FkKTogUHJvbWlzZTxDb21wbGV0ZVJlc3BvbnNlPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke1BST0dSRVNTX1VSTH0vY29tcGxldGVgLCB7XG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgYm9keTogSlNPTi5zdHJpbmdpZnkocGF5bG9hZCksXG4gIH0pXG4gIHJldHVybiBoYW5kbGVSZXNwb25zZTxDb21wbGV0ZVJlc3BvbnNlPihyZXMpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRMZWFkZXJib2FyZCgpOiBQcm9taXNlPExlYWRlcmJvYXJkRW50cnlbXT4ge1xuICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtQUk9HUkVTU19VUkx9L2xlYWRlcmJvYXJkYClcbiAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlPExlYWRlcmJvYXJkRW50cnlbXT4ocmVzKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RmVlZCgpOiBQcm9taXNlPEZlZWRFbnRyeVtdPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke1BST0dSRVNTX1VSTH0vZmVlZGApXG4gIHJldHVybiBoYW5kbGVSZXNwb25zZTxGZWVkRW50cnlbXT4ocmVzKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcG9zdEN1cnJpY3VsdW1Db25maXJtKHZlcnNpb25JZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKFxuICAgIGAke0NVUlJJQ1VMVU1fVVJMfS9jdXJyaWN1bHVtL3ZlcnNpb25zLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHZlcnNpb25JZCl9L2NvbmZpcm1gLFxuICAgIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgfSxcbiAgKVxuICBpZiAoIXJlcy5vaykge1xuICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpLmNhdGNoKCgpID0+IHJlcy5zdGF0dXNUZXh0KVxuICAgIHRocm93IG5ldyBFcnJvcihgSFRUUCAke3Jlcy5zdGF0dXN9OiAke3RleHR9YClcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGF0Y2hDdXJyaWN1bHVtV2Vla09yZGVyKHdlZWtJZDogc3RyaW5nLCBwb3NpdGlvbjogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKFxuICAgIGAke0NVUlJJQ1VMVU1fVVJMfS9jdXJyaWN1bHVtL3dlZWtzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHdlZWtJZCl9L29yZGVyYCxcbiAgICB7XG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgcG9zaXRpb24gfSksXG4gICAgfSxcbiAgKVxuICBpZiAoIXJlcy5vaykge1xuICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpLmNhdGNoKCgpID0+IHJlcy5zdGF0dXNUZXh0KVxuICAgIHRocm93IG5ldyBFcnJvcihgSFRUUCAke3Jlcy5zdGF0dXN9OiAke3RleHR9YClcbiAgfVxufVxuIl0sIm5hbWVzIjpbIklOR0VTVElPTl9VUkwiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9QVUJMSUNfSU5HRVNUSU9OX1VSTCIsIkdFTkVSQVRJT05fVVJMIiwiTkVYVF9QVUJMSUNfR0VORVJBVElPTl9VUkwiLCJDVVJSSUNVTFVNX1VSTCIsIk5FWFRfUFVCTElDX0NVUlJJQ1VMVU1fVVJMIiwiUFJPR1JFU1NfVVJMIiwiTkVYVF9QVUJMSUNfUFJPR1JFU1NfVVJMIiwiaGFuZGxlUmVzcG9uc2UiLCJyZXMiLCJvayIsInRleHQiLCJjYXRjaCIsInN0YXR1c1RleHQiLCJFcnJvciIsInN0YXR1cyIsImpzb24iLCJwb3N0SW5nZXN0IiwiZm9ybURhdGEiLCJmZXRjaCIsIm1ldGhvZCIsImJvZHkiLCJnZXRJbmdlc3Rpb25TdGF0dXMiLCJqb2JJZCIsImVuY29kZVVSSUNvbXBvbmVudCIsInBvc3RHZW5lcmF0ZUFsbCIsInRoZW1lSWQiLCJoZWFkZXJzIiwicG9zdENvbXBsZXRlIiwicGF5bG9hZCIsIkpTT04iLCJzdHJpbmdpZnkiLCJnZXRMZWFkZXJib2FyZCIsImdldEZlZWQiLCJwb3N0Q3VycmljdWx1bUNvbmZpcm0iLCJ2ZXJzaW9uSWQiLCJwYXRjaEN1cnJpY3VsdW1XZWVrT3JkZXIiLCJ3ZWVrSWQiLCJwb3NpdGlvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/services.ts\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__ = (\"a462ed02aa71\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL2dsb2JhbHMuY3NzPzU5MTYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgXCJhNDYyZWQwMmFhNzFcIlxuaWYgKG1vZHVsZS5ob3QpIHsgbW9kdWxlLmhvdC5hY2NlcHQoKSB9XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); + +/***/ }), + +/***/ "(rsc)/../../stylesheet.css": +/*!****************************!*\ + !*** ../../stylesheet.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__ = (\"5511d51fa1af\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi4vLi4vc3R5bGVzaGVldC5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi9zdHlsZXNoZWV0LmNzcz9mYjhjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNTUxMWQ1MWZhMWFmXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/../../stylesheet.css\n"); + +/***/ }), + +/***/ "(rsc)/./src/app/admin/curriculum/page.tsx": +/*!*******************************************!*\ + !*** ./src/app/admin/curriculum/page.tsx ***! + \*******************************************/ +/***/ ((__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`C:\Users\RaymondVerhoef\Gitea\learning-platform\app\frontend\src\app\admin\curriculum\page.tsx#default`)); + + +/***/ }), + +/***/ "(rsc)/./src/app/admin/layout.tsx": +/*!**********************************!*\ + !*** ./src/app/admin/layout.tsx ***! + \**********************************/ +/***/ ((__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`C:\Users\RaymondVerhoef\Gitea\learning-platform\app\frontend\src\app\admin\layout.tsx#default`)); + + +/***/ }), + +/***/ "(rsc)/./src/app/layout.tsx": +/*!****************************!*\ + !*** ./src/app/layout.tsx ***! + \****************************/ +/***/ ((__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 */ viewport: () => (/* binding */ viewport)\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 _stylesheet_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../stylesheet.css */ \"(rsc)/../../stylesheet.css\");\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n\n\n\nconst metadata = {\n title: \"Learning Platform\",\n description: \"Employee knowledge and learning\",\n manifest: \"/manifest.json\",\n appleWebApp: {\n capable: true,\n statusBarStyle: \"default\",\n title: \"Learning Platform\"\n }\n};\nconst viewport = {\n themeColor: \"#1F5560\",\n width: \"device-width\",\n initialScale: 1,\n maximumScale: 1\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 29,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDbUM7QUFDYjtBQUVmLE1BQU1BLFdBQXFCO0lBQ2hDQyxPQUFPO0lBQ1BDLGFBQWE7SUFDYkMsVUFBVTtJQUNWQyxhQUFhO1FBQ1hDLFNBQVM7UUFDVEMsZ0JBQWdCO1FBQ2hCTCxPQUFPO0lBQ1Q7QUFDRixFQUFDO0FBRU0sTUFBTU0sV0FBcUI7SUFDaENDLFlBQVk7SUFDWkMsT0FBTztJQUNQQyxjQUFjO0lBQ2RDLGNBQWM7QUFDaEIsRUFBQztBQUVjLFNBQVNDLFdBQVcsRUFDakNDLFFBQVEsRUFHVDtJQUNDLHFCQUNFLDhEQUFDQztRQUFLQyxNQUFLO2tCQUNULDRFQUFDQztzQkFBTUg7Ozs7Ozs7Ozs7O0FBR2IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9hcHAvbGF5b3V0LnRzeD81N2E5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEsIFZpZXdwb3J0IH0gZnJvbSAnbmV4dCdcbmltcG9ydCAnLi4vLi4vLi4vLi4vc3R5bGVzaGVldC5jc3MnXG5pbXBvcnQgJy4vZ2xvYmFscy5jc3MnXG5cbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XG4gIHRpdGxlOiAnTGVhcm5pbmcgUGxhdGZvcm0nLFxuICBkZXNjcmlwdGlvbjogJ0VtcGxveWVlIGtub3dsZWRnZSBhbmQgbGVhcm5pbmcnLFxuICBtYW5pZmVzdDogJy9tYW5pZmVzdC5qc29uJyxcbiAgYXBwbGVXZWJBcHA6IHtcbiAgICBjYXBhYmxlOiB0cnVlLFxuICAgIHN0YXR1c0JhclN0eWxlOiAnZGVmYXVsdCcsXG4gICAgdGl0bGU6ICdMZWFybmluZyBQbGF0Zm9ybScsXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCB2aWV3cG9ydDogVmlld3BvcnQgPSB7XG4gIHRoZW1lQ29sb3I6ICcjMUY1NTYwJyxcbiAgd2lkdGg6ICdkZXZpY2Utd2lkdGgnLFxuICBpbml0aWFsU2NhbGU6IDEsXG4gIG1heGltdW1TY2FsZTogMSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7XG4gIGNoaWxkcmVuLFxufToge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8Ym9keT57Y2hpbGRyZW59PC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIm1hbmlmZXN0IiwiYXBwbGVXZWJBcHAiLCJjYXBhYmxlIiwic3RhdHVzQmFyU3R5bGUiLCJ2aWV3cG9ydCIsInRoZW1lQ29sb3IiLCJ3aWR0aCIsImluaXRpYWxTY2FsZSIsIm1heGltdW1TY2FsZSIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwiYm9keSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\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","vendor-chunks/pocketbase"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fadmin%2Fcurriculum%2Fpage&page=%2Fadmin%2Fcurriculum%2Fpage&appPaths=%2Fadmin%2Fcurriculum%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fcurriculum%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); +module.exports = __webpack_exports__; + +})(); \ No newline at end of file diff --git a/app/frontend/.next/server/app/admin/curriculum/page_client-reference-manifest.js b/app/frontend/.next/server/app/admin/curriculum/page_client-reference-manifest.js new file mode 100644 index 0000000..3fb7e5d --- /dev/null +++ b/app/frontend/.next/server/app/admin/curriculum/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/admin/curriculum/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/auth/page.tsx":{"*":{"id":"(ssr)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/layout.tsx":{"*":{"id":"(ssr)/./src/app/admin/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/documents/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/knowledge/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/curriculum/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/layout.tsx":{"*":{"id":"(ssr)/./src/app/app/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/session/page.tsx":{"*":{"id":"(ssr)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/library/page.tsx":{"*":{"id":"(ssr)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\stylesheet.css":{"id":"(app-pages-browser)/../../stylesheet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\auth\\page.tsx":{"id":"(app-pages-browser)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\layout.tsx":{"id":"(app-pages-browser)/./src/app/admin/layout.tsx","name":"*","chunks":["app/admin/layout","static/chunks/app/admin/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\documents\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\knowledge\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\curriculum\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":["app/admin/curriculum/page","static/chunks/app/admin/curriculum/page.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\layout.tsx":{"id":"(app-pages-browser)/./src/app/app/layout.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\session\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\library\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\layout":["static/css/app/layout.css"],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\layout":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\curriculum\\page":[]}} \ No newline at end of file diff --git a/app/frontend/.next/server/app/admin/documents/page.js b/app/frontend/.next/server/app/admin/documents/page.js new file mode 100644 index 0000000..f353f22 --- /dev/null +++ b/app/frontend/.next/server/app/admin/documents/page.js @@ -0,0 +1,321 @@ +/* + * 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/admin/documents/page"; +exports.ids = ["app/admin/documents/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%2Fadmin%2Fdocuments%2Fpage&page=%2Fadmin%2Fdocuments%2Fpage&appPaths=%2Fadmin%2Fdocuments%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fdocuments%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%2Fadmin%2Fdocuments%2Fpage&page=%2Fadmin%2Fdocuments%2Fpage&appPaths=%2Fadmin%2Fdocuments%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fdocuments%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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?d969\");\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 'admin',\n {\n children: [\n 'documents',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/admin/documents/page.tsx */ \"(rsc)/./src/app/admin/documents/page.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\documents\\\\page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/admin/layout.tsx */ \"(rsc)/./src/app/admin/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\"],\n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\"],\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 = [\"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\documents\\\\page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/admin/documents/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: \"/admin/documents/page\",\n pathname: \"/admin/documents\",\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/bmFtZT1hcHAlMkZhZG1pbiUyRmRvY3VtZW50cyUyRnBhZ2UmcGFnZT0lMkZhZG1pbiUyRmRvY3VtZW50cyUyRnBhZ2UmYXBwUGF0aHM9JTJGYWRtaW4lMkZkb2N1bWVudHMlMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGYWRtaW4lMkZkb2N1bWVudHMlMkZwYWdlLnRzeCZhcHBEaXI9QyUzQSU1Q1VzZXJzJTVDUmF5bW9uZFZlcmhvZWYlNUNHaXRlYSU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDYXBwJTVDZnJvbnRlbmQlNUNzcmMlNUNhcHAmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZyb290RGlyPUMlM0ElNUNVc2VycyU1Q1JheW1vbmRWZXJob2VmJTVDR2l0ZWElNUNsZWFybmluZy1wbGF0Zm9ybSU1Q2FwcCU1Q2Zyb250ZW5kJmlzRGV2PXRydWUmdHNjb25maWdQYXRoPXRzY29uZmlnLmpzb24mYmFzZVBhdGg9JmFzc2V0UHJlZml4PSZuZXh0Q29uZmlnT3V0cHV0PSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsYUFBYSxzQkFBc0I7QUFDaUU7QUFDckM7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDLHVCQUF1QixnTEFBNkk7QUFDcEs7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSx5QkFBeUIsZ0tBQW9JO0FBQzdKO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLHlCQUF5QixvSkFBNkg7QUFDdEosb0JBQW9CLDBOQUFnRjtBQUNwRztBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDdUI7QUFDNkQ7QUFDcEYsNkJBQTZCLG1CQUFtQjtBQUNoRDtBQUNPO0FBQ0E7QUFDUDtBQUNBO0FBQ0E7QUFDdUQ7QUFDdkQ7QUFDTyx3QkFBd0IsOEdBQWtCO0FBQ2pEO0FBQ0EsY0FBYyx5RUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLz9kNzgwIl0sInNvdXJjZXNDb250ZW50IjpbIlwiVFVSQk9QQUNLIHsgdHJhbnNpdGlvbjogbmV4dC1zc3IgfVwiO1xuaW1wb3J0IHsgQXBwUGFnZVJvdXRlTW9kdWxlIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkXCI7XG5pbXBvcnQgeyBSb3V0ZUtpbmQgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZFwiO1xuLy8gV2UgaW5qZWN0IHRoZSB0cmVlIGFuZCBwYWdlcyBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxuLy8gbW9kdWxlLlxuY29uc3QgdHJlZSA9IHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJycsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJ2FkbWluJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAnZG9jdW1lbnRzJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogWydfX1BBR0VfXycsIHt9LCB7XG4gICAgICAgICAgcGFnZTogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcYWRtaW5cXFxcZG9jdW1lbnRzXFxcXHBhZ2UudHN4XCIpLCBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFkbWluXFxcXGRvY3VtZW50c1xcXFxwYWdlLnRzeFwiXSxcbiAgICAgICAgICBcbiAgICAgICAgfV1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAnbGF5b3V0JzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcYWRtaW5cXFxcbGF5b3V0LnRzeFwiKSwgXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxhZG1pblxcXFxsYXlvdXQudHN4XCJdLFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGxheW91dC50c3hcIiksIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcbGF5b3V0LnRzeFwiXSxcbidub3QtZm91bmQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCIpLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIl0sXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfS5jaGlsZHJlbjtcbmNvbnN0IHBhZ2VzID0gW1wiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcYWRtaW5cXFxcZG9jdW1lbnRzXFxcXHBhZ2UudHN4XCJdO1xuZXhwb3J0IHsgdHJlZSwgcGFnZXMgfTtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgR2xvYmFsRXJyb3IgfSBmcm9tIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5XCI7XG5jb25zdCBfX25leHRfYXBwX3JlcXVpcmVfXyA9IF9fd2VicGFja19yZXF1aXJlX19cbmNvbnN0IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKClcbmV4cG9ydCBjb25zdCBvcmlnaW5hbFBhdGhuYW1lID0gXCIvYWRtaW4vZG9jdW1lbnRzL3BhZ2VcIjtcbmV4cG9ydCBjb25zdCBfX25leHRfYXBwX18gPSB7XG4gICAgcmVxdWlyZTogX19uZXh0X2FwcF9yZXF1aXJlX18sXG4gICAgbG9hZENodW5rOiBfX25leHRfYXBwX2xvYWRfY2h1bmtfX1xufTtcbmV4cG9ydCAqIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgQXBwUGFnZVJvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgcGFnZTogXCIvYWRtaW4vZG9jdW1lbnRzL3BhZ2VcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL2FkbWluL2RvY3VtZW50c1wiLFxuICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGFyZW4ndCB1c2VkIGluIHByb2R1Y3Rpb24uXG4gICAgICAgIGJ1bmRsZVBhdGg6IFwiXCIsXG4gICAgICAgIGZpbGVuYW1lOiBcIlwiLFxuICAgICAgICBhcHBQYXRoczogW11cbiAgICB9LFxuICAgIHVzZXJsYW5kOiB7XG4gICAgICAgIGxvYWRlclRyZWU6IHRyZWVcbiAgICB9XG59KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fadmin%2Fdocuments%2Fpage&page=%2Fadmin%2Fdocuments%2Fpage&appPaths=%2Fadmin%2Fdocuments%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fdocuments%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJDJTNBJTVDJTVDVXNlcnMlNUMlNUNSYXltb25kVmVyaG9lZiU1QyU1Q0dpdGVhJTVDJTVDbGVhcm5pbmctcGxhdGZvcm0lNUMlNUNhcHAlNUMlNUNmcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2NsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyQyUzQSU1QyU1Q1VzZXJzJTVDJTVDUmF5bW9uZFZlcmhvZWYlNUMlNUNHaXRlYSU1QyU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDJTVDYXBwJTVDJTVDZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQW9LO0FBQ3BLO0FBQ0Esb09BQXFLO0FBQ3JLO0FBQ0EsME9BQXdLO0FBQ3hLO0FBQ0Esd09BQXVLO0FBQ3ZLO0FBQ0Esa1BBQTRLO0FBQzVLO0FBQ0Esc1FBQXNMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzcyOWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxhcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxcZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXGxheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXG5vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxccmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Cdocuments%5C%5Cpage.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Cdocuments%5C%5Cpage.tsx%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/admin/documents/page.tsx */ \"(ssr)/./src/app/admin/documents/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDYWRtaW4lNUMlNUNkb2N1bWVudHMlNUMlNUNwYWdlLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsZ0xBQTZJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzFhNmMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxhZG1pblxcXFxkb2N1bWVudHNcXFxccGFnZS50c3hcIik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Cdocuments%5C%5Cpage.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Clayout.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Clayout.tsx%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/admin/layout.tsx */ \"(ssr)/./src/app/admin/layout.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDYWRtaW4lNUMlNUNsYXlvdXQudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxnS0FBb0kiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8/NDAxMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFkbWluXFxcXGxheW91dC50c3hcIik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Clayout.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! + \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ (() => { + + + +/***/ }), + +/***/ "(ssr)/./src/app/admin/documents/page.tsx": +/*!******************************************!*\ + !*** ./src/app/admin/documents/page.tsx ***! + \******************************************/ +/***/ ((__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 */ DocumentsPage)\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 _components_admin_DocumentUpload__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/admin/DocumentUpload */ \"(ssr)/./src/components/admin/DocumentUpload.tsx\");\n/* harmony import */ var _components_admin_JobStatusList__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/admin/JobStatusList */ \"(ssr)/./src/components/admin/JobStatusList.tsx\");\n/* harmony import */ var _lib_hooks_usePBCollection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/lib/hooks/usePBCollection */ \"(ssr)/./src/lib/hooks/usePBCollection.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\nfunction DocumentsPage() {\n const { items: documents, loading, refresh } = (0,_lib_hooks_usePBCollection__WEBPACK_IMPORTED_MODULE_4__.usePBCollection)(\"source_documents\", {\n sort: \"-created\"\n });\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-6)\"\n },\n children: [\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)(\"h1\", {\n style: {\n margin: \"0 0 var(--s-2)\",\n fontSize: \"var(--t-h3)\",\n fontWeight: 700,\n color: \"var(--fg)\"\n },\n children: \"Documents\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\documents\\\\page.tsx\",\n lineNumber: 17,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-body)\",\n color: \"var(--fg-muted)\"\n },\n children: \"Upload source documents to populate the knowledge base.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\documents\\\\page.tsx\",\n lineNumber: 27,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\documents\\\\page.tsx\",\n lineNumber: 16,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_admin_DocumentUpload__WEBPACK_IMPORTED_MODULE_2__.DocumentUpload, {\n onSuccess: refresh\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\documents\\\\page.tsx\",\n lineNumber: 32,\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)(\"h2\", {\n style: {\n margin: \"0 0 var(--s-4)\",\n fontSize: \"var(--t-body)\",\n fontWeight: 700,\n color: \"var(--fg)\"\n },\n children: \"Document history\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\documents\\\\page.tsx\",\n lineNumber: 35,\n columnNumber: 9\n }, this),\n loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n color: \"var(--fg-muted)\",\n fontSize: \"var(--t-body)\"\n },\n children: \"Loading…\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\documents\\\\page.tsx\",\n lineNumber: 46,\n columnNumber: 11\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_admin_JobStatusList__WEBPACK_IMPORTED_MODULE_3__.JobStatusList, {\n documents: documents\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\documents\\\\page.tsx\",\n lineNumber: 48,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\documents\\\\page.tsx\",\n lineNumber: 34,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\documents\\\\page.tsx\",\n lineNumber: 15,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvYXBwL2FkbWluL2RvY3VtZW50cy9wYWdlLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDeUI7QUFDeUM7QUFDRjtBQUNIO0FBRzlDLFNBQVNJO0lBQ3RCLE1BQU0sRUFBRUMsT0FBT0MsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLE9BQU8sRUFBRSxHQUFHTCwyRUFBZUEsQ0FDNUQsb0JBQ0E7UUFBRU0sTUFBTTtJQUFXO0lBR3JCLHFCQUNFLDhEQUFDQztRQUFJQyxPQUFPO1lBQUVDLFNBQVM7WUFBUUMsZUFBZTtZQUFVQyxLQUFLO1FBQWE7OzBCQUN4RSw4REFBQ0o7O2tDQUNDLDhEQUFDSzt3QkFDQ0osT0FBTzs0QkFDTEssUUFBUTs0QkFDUkMsVUFBVTs0QkFDVkMsWUFBWTs0QkFDWkMsT0FBTzt3QkFDVDtrQ0FDRDs7Ozs7O2tDQUdELDhEQUFDQzt3QkFBRVQsT0FBTzs0QkFBRUssUUFBUTs0QkFBR0MsVUFBVTs0QkFBaUJFLE9BQU87d0JBQWtCO2tDQUFHOzs7Ozs7Ozs7Ozs7MEJBS2hGLDhEQUFDbEIsNEVBQWNBO2dCQUFDb0IsV0FBV2I7Ozs7OzswQkFFM0IsOERBQUNFOztrQ0FDQyw4REFBQ1k7d0JBQ0NYLE9BQU87NEJBQ0xLLFFBQVE7NEJBQ1JDLFVBQVU7NEJBQ1ZDLFlBQVk7NEJBQ1pDLE9BQU87d0JBQ1Q7a0NBQ0Q7Ozs7OztvQkFHQVosd0JBQ0MsOERBQUNHO3dCQUFJQyxPQUFPOzRCQUFFUSxPQUFPOzRCQUFtQkYsVUFBVTt3QkFBZ0I7a0NBQUc7Ozs7OzZDQUVyRSw4REFBQ2YsMEVBQWFBO3dCQUFDSSxXQUFXQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS3BDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL2FkbWluL2RvY3VtZW50cy9wYWdlLnRzeD84MzExIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgRG9jdW1lbnRVcGxvYWQgfSBmcm9tICdAL2NvbXBvbmVudHMvYWRtaW4vRG9jdW1lbnRVcGxvYWQnXG5pbXBvcnQgeyBKb2JTdGF0dXNMaXN0IH0gZnJvbSAnQC9jb21wb25lbnRzL2FkbWluL0pvYlN0YXR1c0xpc3QnXG5pbXBvcnQgeyB1c2VQQkNvbGxlY3Rpb24gfSBmcm9tICdAL2xpYi9ob29rcy91c2VQQkNvbGxlY3Rpb24nXG5pbXBvcnQgdHlwZSB7IFNvdXJjZURvY3VtZW50IH0gZnJvbSAnQC90eXBlcydcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRG9jdW1lbnRzUGFnZSgpIHtcbiAgY29uc3QgeyBpdGVtczogZG9jdW1lbnRzLCBsb2FkaW5nLCByZWZyZXNoIH0gPSB1c2VQQkNvbGxlY3Rpb248U291cmNlRG9jdW1lbnQ+KFxuICAgICdzb3VyY2VfZG9jdW1lbnRzJyxcbiAgICB7IHNvcnQ6ICctY3JlYXRlZCcgfSxcbiAgKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBnYXA6ICd2YXIoLS1zLTYpJyB9fT5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxoMVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBtYXJnaW46ICcwIDAgdmFyKC0tcy0yKScsXG4gICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtaDMpJyxcbiAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDcwMCxcbiAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgRG9jdW1lbnRzXG4gICAgICAgIDwvaDE+XG4gICAgICAgIDxwIHN0eWxlPXt7IG1hcmdpbjogMCwgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJywgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknIH19PlxuICAgICAgICAgIFVwbG9hZCBzb3VyY2UgZG9jdW1lbnRzIHRvIHBvcHVsYXRlIHRoZSBrbm93bGVkZ2UgYmFzZS5cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxEb2N1bWVudFVwbG9hZCBvblN1Y2Nlc3M9e3JlZnJlc2h9IC8+XG5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxoMlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBtYXJnaW46ICcwIDAgdmFyKC0tcy00KScsXG4gICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgZm9udFdlaWdodDogNzAwLFxuICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZyknLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICBEb2N1bWVudCBoaXN0b3J5XG4gICAgICAgIDwvaDI+XG4gICAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknLCBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknIH19PkxvYWRpbmfigKY8L2Rpdj5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8Sm9iU3RhdHVzTGlzdCBkb2N1bWVudHM9e2RvY3VtZW50c30gLz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJEb2N1bWVudFVwbG9hZCIsIkpvYlN0YXR1c0xpc3QiLCJ1c2VQQkNvbGxlY3Rpb24iLCJEb2N1bWVudHNQYWdlIiwiaXRlbXMiLCJkb2N1bWVudHMiLCJsb2FkaW5nIiwicmVmcmVzaCIsInNvcnQiLCJkaXYiLCJzdHlsZSIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiZ2FwIiwiaDEiLCJtYXJnaW4iLCJmb250U2l6ZSIsImZvbnRXZWlnaHQiLCJjb2xvciIsInAiLCJvblN1Y2Nlc3MiLCJoMiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/app/admin/documents/page.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/app/admin/layout.tsx": +/*!**********************************!*\ + !*** ./src/app/admin/layout.tsx ***! + \**********************************/ +/***/ ((__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 */ AdminLayout)\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_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _lib_auth__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/lib/auth */ \"(ssr)/./src/lib/auth.ts\");\n/* harmony import */ var _components_ui_Button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\nconst NAV_ITEMS = [\n {\n href: \"/admin/documents\",\n label: \"Documents\",\n icon: \"\\uD83D\\uDCC4\"\n },\n {\n href: \"/admin/knowledge\",\n label: \"Knowledge\",\n icon: \"\\uD83E\\uDDE0\"\n },\n {\n href: \"/admin/curriculum\",\n label: \"Curriculum\",\n icon: \"\\uD83D\\uDCC5\"\n }\n];\nfunction AdminLayout({ children }) {\n const pathname = (0,next_navigation__WEBPACK_IMPORTED_MODULE_3__.usePathname)();\n const [mobileNavOpen, setMobileNavOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n minHeight: \"100dvh\",\n display: \"flex\",\n flexDirection: \"column\",\n background: \"var(--bg)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n style: {\n background: \"var(--bg-dark)\",\n color: \"var(--paper)\",\n height: \"var(--nav-height)\",\n display: \"flex\",\n alignItems: \"center\",\n padding: \"0 var(--s-5)\",\n gap: \"var(--s-4)\",\n position: \"sticky\",\n top: 0,\n zIndex: 100,\n flexShrink: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setMobileNavOpen((o)=>!o),\n style: {\n background: \"none\",\n border: \"none\",\n color: \"var(--paper)\",\n cursor: \"pointer\",\n fontSize: \"22px\",\n padding: \"var(--s-1)\",\n minWidth: \"44px\",\n minHeight: \"44px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n \"aria-label\": \"Toggle navigation\",\n children: \"☰\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 44,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontWeight: 700,\n fontSize: \"var(--t-body)\",\n flex: 1\n },\n children: \"Admin\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: \"/app\",\n style: {\n textDecoration: \"none\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-small)\",\n color: \"rgba(255,255,255,0.75)\",\n cursor: \"pointer\"\n },\n children: \"Employee app →\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 69,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 68,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_5__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: _lib_auth__WEBPACK_IMPORTED_MODULE_4__.logout,\n style: {\n color: \"rgba(255,255,255,0.75)\",\n borderColor: \"rgba(255,255,255,0.25)\"\n },\n children: \"Logout\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 74,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 28,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flex: 1,\n position: \"relative\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n style: {\n width: \"220px\",\n background: \"var(--bg-warm)\",\n borderRight: \"1px solid var(--cream)\",\n padding: \"var(--s-5) 0\",\n display: \"none\",\n flexDirection: \"column\",\n gap: \"var(--s-1)\",\n position: \"sticky\",\n top: \"var(--nav-height)\",\n height: \"calc(100dvh - var(--nav-height))\",\n overflowY: \"auto\",\n flexShrink: 0\n },\n className: \"admin-sidebar\",\n children: NAV_ITEMS.map((item)=>{\n const active = pathname.startsWith(item.href);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: item.href,\n style: {\n textDecoration: \"none\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-3)\",\n padding: \"var(--s-3) var(--s-5)\",\n background: active ? \"var(--bg)\" : \"transparent\",\n borderRight: active ? \"3px solid var(--accent)\" : \"3px solid transparent\",\n fontSize: \"var(--t-body)\",\n fontWeight: active ? 600 : 400,\n color: active ? \"var(--accent)\" : \"var(--fg)\",\n transition: \"background 150ms\",\n cursor: \"pointer\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.icon\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 125,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 126,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 110,\n columnNumber: 17\n }, this)\n }, item.href, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 109,\n columnNumber: 15\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 89,\n columnNumber: 9\n }, this),\n mobileNavOpen && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n background: \"var(--bg-warm)\",\n borderBottom: \"1px solid var(--cream)\",\n zIndex: 99,\n display: \"flex\",\n flexDirection: \"column\"\n },\n children: NAV_ITEMS.map((item)=>{\n const active = pathname.startsWith(item.href);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: item.href,\n onClick: ()=>setMobileNavOpen(false),\n style: {\n textDecoration: \"none\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-3)\",\n padding: \"var(--s-4) var(--s-5)\",\n borderBottom: \"1px solid var(--cream)\",\n background: active ? \"var(--bg)\" : \"transparent\",\n fontSize: \"var(--t-body)\",\n fontWeight: active ? 600 : 400,\n color: active ? \"var(--accent)\" : \"var(--fg)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.icon\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 170,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 171,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 157,\n columnNumber: 19\n }, this)\n }, item.href, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 151,\n columnNumber: 17\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 135,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n style: {\n flex: 1,\n padding: \"var(--s-5)\",\n maxWidth: \"900px\",\n width: \"100%\",\n margin: \"0 auto\"\n },\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 180,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 87,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"style\", {\n children: `\n @media (min-width: 768px) {\n .admin-sidebar {\n display: flex !important;\n }\n }\n `\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 193,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 19,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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b0MsVUFBVTs0QkFDVmIsT0FBTzs0QkFDUGMsUUFBUTt3QkFDVjtrQ0FFQ25EOzs7Ozs7Ozs7Ozs7MEJBSUwsOERBQUNLOzBCQUFPLENBQUM7Ozs7OztNQU1ULENBQUM7Ozs7Ozs7Ozs7OztBQUdQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL2FkbWluL2xheW91dC50c3g/NTZkMCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IExpbmsgZnJvbSAnbmV4dC9saW5rJ1xuaW1wb3J0IHsgdXNlUGF0aG5hbWUgfSBmcm9tICduZXh0L25hdmlnYXRpb24nXG5pbXBvcnQgeyBsb2dvdXQgfSBmcm9tICdAL2xpYi9hdXRoJ1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL0J1dHRvbidcblxuY29uc3QgTkFWX0lURU1TID0gW1xuICB7IGhyZWY6ICcvYWRtaW4vZG9jdW1lbnRzJywgbGFiZWw6ICdEb2N1bWVudHMnLCBpY29uOiAn8J+ThCcgfSxcbiAgeyBocmVmOiAnL2FkbWluL2tub3dsZWRnZScsIGxhYmVsOiAnS25vd2xlZGdlJywgaWNvbjogJ/Cfp6AnIH0sXG4gIHsgaHJlZjogJy9hZG1pbi9jdXJyaWN1bHVtJywgbGFiZWw6ICdDdXJyaWN1bHVtJywgaWNvbjogJ/Cfk4UnIH0sXG5dXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEFkbWluTGF5b3V0KHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VQYXRobmFtZSgpXG4gIGNvbnN0IFttb2JpbGVOYXZPcGVuLCBzZXRNb2JpbGVOYXZPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgbWluSGVpZ2h0OiAnMTAwZHZoJyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnKScsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHsvKiBUb3AgYmFyICovfVxuICAgICAgPGhlYWRlclxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZy1kYXJrKScsXG4gICAgICAgICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgICAgICAgIGhlaWdodDogJ3ZhcigtLW5hdi1oZWlnaHQpJyxcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgcGFkZGluZzogJzAgdmFyKC0tcy01KScsXG4gICAgICAgICAgZ2FwOiAndmFyKC0tcy00KScsXG4gICAgICAgICAgcG9zaXRpb246ICdzdGlja3knLFxuICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICB6SW5kZXg6IDEwMCxcbiAgICAgICAgICBmbGV4U2hyaW5rOiAwLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7LyogTW9iaWxlIG1lbnUgdG9nZ2xlICovfVxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0TW9iaWxlTmF2T3BlbigobykgPT4gIW8pfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAnbm9uZScsXG4gICAgICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tcGFwZXIpJyxcbiAgICAgICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICAgICAgZm9udFNpemU6ICcyMnB4JyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTEpJyxcbiAgICAgICAgICAgIG1pbldpZHRoOiAnNDRweCcsXG4gICAgICAgICAgICBtaW5IZWlnaHQ6ICc0NHB4JyxcbiAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1sYWJlbD1cIlRvZ2dsZSBuYXZpZ2F0aW9uXCJcbiAgICAgICAgPlxuICAgICAgICAgIOKYsFxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250V2VpZ2h0OiA3MDAsIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsIGZsZXg6IDEgfX0+XG4gICAgICAgICAgQWRtaW5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxMaW5rIGhyZWY9XCIvYXBwXCIgc3R5bGU9e3sgdGV4dERlY29yYXRpb246ICdub25lJyB9fT5cbiAgICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJywgY29sb3I6ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNzUpJywgY3Vyc29yOiAncG9pbnRlcicgfX0+XG4gICAgICAgICAgICBFbXBsb3llZSBhcHAg4oaSXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L0xpbms+XG5cbiAgICAgICAgPEJ1dHRvblxuICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICBvbkNsaWNrPXtsb2dvdXR9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwwLjc1KScsXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogJ3JnYmEoMjU1LDI1NSwyNTUsMC4yNSknLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICBMb2dvdXRcbiAgICAgICAgPC9CdXR0b24+XG4gICAgICA8L2hlYWRlcj5cblxuICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXg6IDEsIHBvc2l0aW9uOiAncmVsYXRpdmUnIH19PlxuICAgICAgICB7LyogU2lkZWJhciAoZGVza3RvcCkgKi99XG4gICAgICAgIDxuYXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgd2lkdGg6ICcyMjBweCcsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctd2FybSknLFxuICAgICAgICAgICAgYm9yZGVyUmlnaHQ6ICcxcHggc29saWQgdmFyKC0tY3JlYW0pJyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTUpIDAnLFxuICAgICAgICAgICAgZGlzcGxheTogJ25vbmUnLFxuICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTEpJyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnc3RpY2t5JyxcbiAgICAgICAgICAgIHRvcDogJ3ZhcigtLW5hdi1oZWlnaHQpJyxcbiAgICAgICAgICAgIGhlaWdodDogJ2NhbGMoMTAwZHZoIC0gdmFyKC0tbmF2LWhlaWdodCkpJyxcbiAgICAgICAgICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgICAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNsYXNzTmFtZT1cImFkbWluLXNpZGViYXJcIlxuICAgICAgICA+XG4gICAgICAgICAge05BVl9JVEVNUy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IHBhdGhuYW1lLnN0YXJ0c1dpdGgoaXRlbS5ocmVmKVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPExpbmsga2V5PXtpdGVtLmhyZWZ9IGhyZWY9e2l0ZW0uaHJlZn0gc3R5bGU9e3sgdGV4dERlY29yYXRpb246ICdub25lJyB9fT5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTMpJyxcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtMykgdmFyKC0tcy01KScsXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGFjdGl2ZSA/ICd2YXIoLS1iZyknIDogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmlnaHQ6IGFjdGl2ZSA/ICczcHggc29saWQgdmFyKC0tYWNjZW50KScgOiAnM3B4IHNvbGlkIHRyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogYWN0aXZlID8gNjAwIDogNDAwLFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlID8gJ3ZhcigtLWFjY2VudCknIDogJ3ZhcigtLWZnKScsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICdiYWNrZ3JvdW5kIDE1MG1zJyxcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPntpdGVtLmljb259PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e2l0ZW0ubGFiZWx9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICApXG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvbmF2PlxuXG4gICAgICAgIHsvKiBNb2JpbGUgbmF2IGRyb3Bkb3duICovfVxuICAgICAgICB7bW9iaWxlTmF2T3BlbiAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZy13YXJtKScsXG4gICAgICAgICAgICAgIGJvcmRlckJvdHRvbTogJzFweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgICB6SW5kZXg6IDk5LFxuICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7TkFWX0lURU1TLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBwYXRobmFtZS5zdGFydHNXaXRoKGl0ZW0uaHJlZilcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgICAga2V5PXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgICBocmVmPXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRNb2JpbGVOYXZPcGVuKGZhbHNlKX1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHRleHREZWNvcmF0aW9uOiAnbm9uZScgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgIGdhcDogJ3ZhcigtLXMtMyknLFxuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTQpIHZhcigtLXMtNSknLFxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlckJvdHRvbTogJzFweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGFjdGl2ZSA/ICd2YXIoLS1iZyknIDogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IGFjdGl2ZSA/IDYwMCA6IDQwMCxcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlID8gJ3ZhcigtLWFjY2VudCknIDogJ3ZhcigtLWZnKScsXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPntpdGVtLmljb259PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57aXRlbS5sYWJlbH08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuXG4gICAgICAgIHsvKiBNYWluIGNvbnRlbnQgKi99XG4gICAgICAgIDxtYWluXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy01KScsXG4gICAgICAgICAgICBtYXhXaWR0aDogJzkwMHB4JyxcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICBtYXJnaW46ICcwIGF1dG8nLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvbWFpbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8c3R5bGU+e2BcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgLmFkbWluLXNpZGViYXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgYH08L3N0eWxlPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsIkxpbmsiLCJ1c2VQYXRobmFtZSIsImxvZ291dCIsIkJ1dHRvbiIsIk5BVl9JVEVNUyIsImhyZWYiLCJsYWJlbCIsImljb24iLCJBZG1pbkxheW91dCIsImNoaWxkcmVuIiwicGF0aG5hbWUiLCJtb2JpbGVOYXZPcGVuIiwic2V0TW9iaWxlTmF2T3BlbiIsImRpdiIsInN0eWxlIiwibWluSGVpZ2h0IiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJiYWNrZ3JvdW5kIiwiaGVhZGVyIiwiY29sb3IiLCJoZWlnaHQiLCJhbGlnbkl0ZW1zIiwicGFkZGluZyIsImdhcCIsInBvc2l0aW9uIiwidG9wIiwiekluZGV4IiwiZmxleFNocmluayIsImJ1dHRvbiIsIm9uQ2xpY2siLCJvIiwiYm9yZGVyIiwiY3Vyc29yIiwiZm9udFNpemUiLCJtaW5XaWR0aCIsImp1c3RpZnlDb250ZW50IiwiYXJpYS1sYWJlbCIsInNwYW4iLCJmb250V2VpZ2h0IiwiZmxleCIsInRleHREZWNvcmF0aW9uIiwidmFyaWFudCIsInNpemUiLCJib3JkZXJDb2xvciIsIm5hdiIsIndpZHRoIiwiYm9yZGVyUmlnaHQiLCJvdmVyZmxvd1kiLCJjbGFzc05hbWUiLCJtYXAiLCJpdGVtIiwiYWN0aXZlIiwic3RhcnRzV2l0aCIsInRyYW5zaXRpb24iLCJsZWZ0IiwicmlnaHQiLCJib3JkZXJCb3R0b20iLCJtYWluIiwibWF4V2lkdGgiLCJtYXJnaW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/app/admin/layout.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/admin/DocumentUpload.tsx": +/*!*************************************************!*\ + !*** ./src/components/admin/DocumentUpload.tsx ***! + \*************************************************/ +/***/ ((__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 */ DocumentUpload: () => (/* binding */ DocumentUpload)\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 _components_ui_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* harmony import */ var _components_ui_ProgressBar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/ProgressBar */ \"(ssr)/./src/components/ui/ProgressBar.tsx\");\n/* harmony import */ var _lib_hooks_useIngestionStatus__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/lib/hooks/useIngestionStatus */ \"(ssr)/./src/lib/hooks/useIngestionStatus.ts\");\n/* harmony import */ var _lib_pocketbase__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/lib/pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* harmony import */ var _lib_services__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/lib/services */ \"(ssr)/./src/lib/services.ts\");\n/* __next_internal_client_entry_do_not_use__ DocumentUpload auto */ \n\n\n\n\n\n\nfunction DocumentUpload({ onSuccess }) {\n const fileInputRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const [uploading, setUploading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [jobId, setJobId] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [uploadError, setUploadError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [dragOver, setDragOver] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const { status, progress } = (0,_lib_hooks_useIngestionStatus__WEBPACK_IMPORTED_MODULE_4__.useIngestionStatus)(jobId);\n const handleFiles = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (files)=>{\n if (!files || files.length === 0) return;\n const file = files[0];\n if (!file) return;\n const allowed = [\n \".pdf\",\n \".md\",\n \".txt\"\n ];\n const ext = file.name.slice(file.name.lastIndexOf(\".\")).toLowerCase();\n if (!allowed.includes(ext)) {\n setUploadError(`Unsupported file type: ${ext}. Use PDF, MD, or TXT.`);\n return;\n }\n setUploadError(null);\n setUploading(true);\n setJobId(null);\n try {\n // Create record in PocketBase\n const fd = new FormData();\n fd.append(\"file\", file);\n fd.append(\"filename\", file.name);\n fd.append(\"format\", ext.slice(1));\n fd.append(\"status\", \"processing\");\n const doc = await _lib_pocketbase__WEBPACK_IMPORTED_MODULE_5__.pb.collection(\"source_documents\").create(fd);\n // Kick off ingestion\n const ingestFd = new FormData();\n ingestFd.append(\"documentId\", doc.id);\n const { jobId: jId } = await (0,_lib_services__WEBPACK_IMPORTED_MODULE_6__.postIngest)(ingestFd);\n setJobId(jId);\n } catch (err) {\n setUploadError(err instanceof Error ? err.message : \"Upload failed\");\n } finally{\n setUploading(false);\n }\n }, []);\n function handleChange(e) {\n void handleFiles(e.target.files);\n e.target.value = \"\";\n }\n function handleDrop(e) {\n e.preventDefault();\n setDragOver(false);\n void handleFiles(e.dataTransfer.files);\n }\n function handleDragOver(e) {\n e.preventDefault();\n setDragOver(true);\n }\n function handleDragLeave() {\n setDragOver(false);\n }\n const isDone = status?.status === \"done\";\n const isFailed = status?.status === \"failed\";\n if (isDone && jobId) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"var(--success)\",\n borderRadius: \"var(--r-md)\",\n padding: \"var(--s-5)\",\n textAlign: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-3)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontWeight: 600,\n color: \"var(--teal-900)\"\n },\n children: [\n \"Ingestion complete! \",\n status.themesFound,\n \" themes, \",\n status.topicsFound,\n \" topics found.\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\DocumentUpload.tsx\",\n lineNumber: 100,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"secondary\",\n size: \"sm\",\n onClick: ()=>{\n setJobId(null);\n onSuccess();\n },\n children: \"Upload another\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\DocumentUpload.tsx\",\n lineNumber: 103,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\DocumentUpload.tsx\",\n lineNumber: 89,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n onDrop: handleDrop,\n onDragOver: handleDragOver,\n onDragLeave: handleDragLeave,\n onClick: ()=>fileInputRef.current?.click(),\n style: {\n border: `2px dashed ${dragOver ? \"var(--accent)\" : \"var(--cream)\"}`,\n borderRadius: \"var(--r-lg)\",\n padding: \"var(--s-8, 64px) var(--s-5)\",\n textAlign: \"center\",\n cursor: \"pointer\",\n background: dragOver ? \"var(--accent-soft)\" : \"var(--bg-warm)\",\n transition: \"background 150ms, border-color 150ms\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n ref: fileInputRef,\n type: \"file\",\n accept: \".pdf,.md,.txt\",\n style: {\n display: \"none\"\n },\n onChange: handleChange\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\DocumentUpload.tsx\",\n lineNumber: 134,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: \"0 0 var(--s-2)\",\n fontSize: \"var(--t-lead)\",\n fontWeight: 600,\n color: \"var(--fg)\"\n },\n children: \"Drop a document here\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\DocumentUpload.tsx\",\n lineNumber: 141,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-small)\",\n color: \"var(--fg-muted)\"\n },\n children: \"or tap to browse — PDF, Markdown, TXT\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\DocumentUpload.tsx\",\n lineNumber: 151,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\DocumentUpload.tsx\",\n lineNumber: 119,\n columnNumber: 7\n }, this),\n uploadError && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"#f8d7da\",\n color: \"#c0392b\",\n borderRadius: \"var(--r-sm)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-small)\"\n },\n children: uploadError\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\DocumentUpload.tsx\",\n lineNumber: 157,\n columnNumber: 9\n }, this),\n (uploading || jobId) && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-2)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_ProgressBar__WEBPACK_IMPORTED_MODULE_3__.ProgressBar, {\n value: uploading ? 5 : progress,\n label: uploading ? \"Uploading…\" : isFailed ? `Failed: ${status?.reason ?? \"unknown error\"}` : status?.status ? `${status.status.charAt(0).toUpperCase()}${status.status.slice(1)}…` : \"Processing…\",\n color: isFailed ? \"#c0392b\" : \"var(--accent)\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\DocumentUpload.tsx\",\n lineNumber: 172,\n columnNumber: 11\n }, this),\n status && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n fontSize: \"var(--t-small)\",\n color: \"var(--fg-muted)\",\n display: \"flex\",\n gap: \"var(--s-4)\",\n flexWrap: \"wrap\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: [\n \"Chunks: \",\n status.chunksEmbedded,\n \"/\",\n status.chunksTotal\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\DocumentUpload.tsx\",\n lineNumber: 195,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: [\n \"Themes: \",\n status.themesFound\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\DocumentUpload.tsx\",\n lineNumber: 196,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: [\n \"Topics: \",\n status.topicsFound\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\DocumentUpload.tsx\",\n lineNumber: 197,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\DocumentUpload.tsx\",\n lineNumber: 186,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\DocumentUpload.tsx\",\n lineNumber: 171,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\DocumentUpload.tsx\",\n lineNumber: 118,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9hZG1pbi9Eb2N1bWVudFVwbG9hZC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFDNEQ7QUFDYjtBQUNVO0FBQ1U7QUFDOUI7QUFDTTtBQU1wQyxTQUFTUyxlQUFlLEVBQUVDLFNBQVMsRUFBdUI7SUFDL0QsTUFBTUMsZUFBZVYsNkNBQU1BLENBQW1CO0lBQzlDLE1BQU0sQ0FBQ1csV0FBV0MsYUFBYSxHQUFHWCwrQ0FBUUEsQ0FBQztJQUMzQyxNQUFNLENBQUNZLE9BQU9DLFNBQVMsR0FBR2IsK0NBQVFBLENBQWdCO0lBQ2xELE1BQU0sQ0FBQ2MsYUFBYUMsZUFBZSxHQUFHZiwrQ0FBUUEsQ0FBZ0I7SUFDOUQsTUFBTSxDQUFDZ0IsVUFBVUMsWUFBWSxHQUFHakIsK0NBQVFBLENBQUM7SUFFekMsTUFBTSxFQUFFa0IsTUFBTSxFQUFFQyxRQUFRLEVBQUUsR0FBR2YsaUZBQWtCQSxDQUFDUTtJQUVoRCxNQUFNUSxjQUFjbkIsa0RBQVdBLENBQzdCLE9BQU9vQjtRQUNMLElBQUksQ0FBQ0EsU0FBU0EsTUFBTUMsTUFBTSxLQUFLLEdBQUc7UUFDbEMsTUFBTUMsT0FBT0YsS0FBSyxDQUFDLEVBQUU7UUFDckIsSUFBSSxDQUFDRSxNQUFNO1FBRVgsTUFBTUMsVUFBVTtZQUFDO1lBQVE7WUFBTztTQUFPO1FBQ3ZDLE1BQU1DLE1BQU1GLEtBQUtHLElBQUksQ0FBQ0MsS0FBSyxDQUFDSixLQUFLRyxJQUFJLENBQUNFLFdBQVcsQ0FBQyxNQUFNQyxXQUFXO1FBQ25FLElBQUksQ0FBQ0wsUUFBUU0sUUFBUSxDQUFDTCxNQUFNO1lBQzFCVixlQUFlLENBQUMsdUJBQXVCLEVBQUVVLElBQUksc0JBQXNCLENBQUM7WUFDcEU7UUFDRjtRQUVBVixlQUFlO1FBQ2ZKLGFBQWE7UUFDYkUsU0FBUztRQUVULElBQUk7WUFDRiw4QkFBOEI7WUFDOUIsTUFBTWtCLEtBQUssSUFBSUM7WUFDZkQsR0FBR0UsTUFBTSxDQUFDLFFBQVFW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OztZQUtoRnBELDZCQUNDLDhEQUFDd0M7Z0JBQ0NDLE9BQU87b0JBQ0xDLFlBQVk7b0JBQ1pVLE9BQU87b0JBQ1BULGNBQWM7b0JBQ2RDLFNBQVM7b0JBQ1QyQixVQUFVO2dCQUNaOzBCQUVDdkU7Ozs7OztZQUlISixDQUFBQSxhQUFhRSxLQUFJLG1CQUNqQiw4REFBQzBDO2dCQUFJQyxPQUFPO29CQUFFSyxTQUFTO29CQUFRQyxlQUFlO29CQUFVQyxLQUFLO2dCQUFhOztrQ0FDeEUsOERBQUMzRCxtRUFBV0E7d0JBQ1YyQyxPQUFPcEMsWUFBWSxJQUFJUzt3QkFDdkJtRSxPQUNFNUUsWUFDSSxlQUNBMkMsV0FDQSxDQUFDLFFBQVEsRUFBRW5DLFFBQVFxRSxVQUFVLGdCQUFnQixDQUFDLEdBQzlDckUsUUFBUUEsU0FDUixDQUFDLEVBQUVBLE9BQU9BLE1BQU0sQ0FBQ3NFLE1BQU0sQ0FBQyxHQUFHQyxXQUFXLEdBQUcsRUFBRXZFLE9BQU9BLE1BQU0sQ0FBQ1MsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQ3BFO3dCQUVOdUMsT0FBT2IsV0FBVyxZQUFZOzs7Ozs7b0JBRS9CbkMsd0JBQ0MsOERBQUNvQzt3QkFDQ0MsT0FBTzs0QkFDTDhCLFVBQVU7NEJBQ1ZuQixPQUFPOzRCQUNQTixTQUFTOzRCQUNURSxLQUFLOzRCQUNMNEIsVUFBVTt3QkFDWjs7MENBRUEsOERBQUNDOztvQ0FBSztvQ0FBU3pFLE9BQU8wRSxjQUFjO29DQUFDO29DQUFFMUUsT0FBTzJFLFdBQVc7Ozs7Ozs7MENBQ3pELDhEQUFDRjs7b0NBQUs7b0NBQVN6RSxPQUFPaUQsV0FBVzs7Ozs7OzswQ0FDakMsOERBQUN3Qjs7b0NBQUs7b0NBQVN6RSxPQUFPa0QsV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU8vQyIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2NvbXBvbmVudHMvYWRtaW4vRG9jdW1lbnRVcGxvYWQudHN4Pzc5MzAiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy91aS9CdXR0b24nXG5pbXBvcnQgeyBQcm9ncmVzc0JhciB9IGZyb20gJ0AvY29tcG9uZW50cy91aS9Qcm9ncmVzc0JhcidcbmltcG9ydCB7IHVzZUluZ2VzdGlvblN0YXR1cyB9IGZyb20gJ0AvbGliL2hvb2tzL3VzZUluZ2VzdGlvblN0YXR1cydcbmltcG9ydCB7IHBiIH0gZnJvbSAnQC9saWIvcG9ja2V0YmFzZSdcbmltcG9ydCB7IHBvc3RJbmdlc3QgfSBmcm9tICdAL2xpYi9zZXJ2aWNlcydcblxuaW50ZXJmYWNlIERvY3VtZW50VXBsb2FkUHJvcHMge1xuICBvblN1Y2Nlc3M6ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIERvY3VtZW50VXBsb2FkKHsgb25TdWNjZXNzIH06IERvY3VtZW50VXBsb2FkUHJvcHMpIHtcbiAgY29uc3QgZmlsZUlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFt1cGxvYWRpbmcsIHNldFVwbG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2pvYklkLCBzZXRKb2JJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBbdXBsb2FkRXJyb3IsIHNldFVwbG9hZEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtkcmFnT3Zlciwgc2V0RHJhZ092ZXJdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgeyBzdGF0dXMsIHByb2dyZXNzIH0gPSB1c2VJbmdlc3Rpb25TdGF0dXMoam9iSWQpXG5cbiAgY29uc3QgaGFuZGxlRmlsZXMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoZmlsZXM6IEZpbGVMaXN0IHwgbnVsbCkgPT4ge1xuICAgICAgaWYgKCFmaWxlcyB8fCBmaWxlcy5sZW5ndGggPT09IDApIHJldHVyblxuICAgICAgY29uc3QgZmlsZSA9IGZpbGVzWzBdXG4gICAgICBpZiAoIWZpbGUpIHJldHVyblxuXG4gICAgICBjb25zdCBhbGxvd2VkID0gWycucGRmJywgJy5tZCcsICcudHh0J11cbiAgICAgIGNvbnN0IGV4dCA9IGZpbGUubmFtZS5zbGljZShmaWxlLm5hbWUubGFzdEluZGV4T2YoJy4nKSkudG9Mb3dlckNhc2UoKVxuICAgICAgaWYgKCFhbGxvd2VkLmluY2x1ZGVzKGV4dCkpIHtcbiAgICAgICAgc2V0VXBsb2FkRXJyb3IoYFVuc3VwcG9ydGVkIGZpbGUgdHlwZTogJHtleHR9LiBVc2UgUERGLCBNRCwgb3IgVFhULmApXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBzZXRVcGxvYWRFcnJvcihudWxsKVxuICAgICAgc2V0VXBsb2FkaW5nKHRydWUpXG4gICAgICBzZXRKb2JJZChudWxsKVxuXG4gICAgICB0cnkge1xuICAgICAgICAvLyBDcmVhdGUgcmVjb3JkIGluIFBvY2tldEJhc2VcbiAgICAgICAgY29uc3QgZmQgPSBuZXcgRm9ybURhdGEoKVxuICAgICAgICBmZC5hcHBlbmQoJ2ZpbGUnLCBmaWxlKVxuICAgICAgICBmZC5hcHBlbmQoJ2ZpbGVuYW1lJywgZmlsZS5uYW1lKVxuICAgICAgICBmZC5hcHBlbmQoJ2Zvcm1hdCcsIGV4dC5zbGljZSgxKSBhcyAncGRmJyB8ICdtZCcgfCAndHh0JylcbiAgICAgICAgZmQuYXBwZW5kKCdzdGF0dXMnLCAncHJvY2Vzc2luZycpXG5cbiAgICAgICAgY29uc3QgZG9jID0gYXdhaXQgcGIuY29sbGVjdGlvbignc291cmNlX2RvY3VtZW50cycpLmNyZWF0ZTx7IGlkOiBzdHJpbmcgfT4oZmQpXG5cbiAgICAgICAgLy8gS2ljayBvZmYgaW5nZXN0aW9uXG4gICAgICAgIGNvbnN0IGluZ2VzdEZkID0gbmV3IEZvcm1EYXRhKClcbiAgICAgICAgaW5nZXN0RmQuYXBwZW5kKCdkb2N1bWVudElkJywgZG9jLmlkKVxuXG4gICAgICAgIGNvbnN0IHsgam9iSWQ6IGpJZCB9ID0gYXdhaXQgcG9zdEluZ2VzdChpbmdlc3RGZClcbiAgICAgICAgc2V0Sm9iSWQoaklkKVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHNldFVwbG9hZEVycm9yKGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiAnVXBsb2FkIGZhaWxlZCcpXG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRVcGxvYWRpbmcoZmFsc2UpXG4gICAgICB9XG4gICAgfSxcbiAgICBbXSxcbiAgKVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50Pikge1xuICAgIHZvaWQgaGFuZGxlRmlsZXMoZS50YXJnZXQuZmlsZXMpXG4gICAgZS50YXJnZXQudmFsdWUgPSAnJ1xuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlRHJvcChlOiBSZWFjdC5EcmFnRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgc2V0RHJhZ092ZXIoZmFsc2UpXG4gICAgdm9pZCBoYW5kbGVGaWxlcyhlLmRhdGFUcmFuc2Zlci5maWxlcylcbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZURyYWdPdmVyKGU6IFJlYWN0LkRyYWdFdmVudDxIVE1MRGl2RWxlbWVudD4pIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBzZXREcmFnT3Zlcih0cnVlKVxuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlRHJhZ0xlYXZlKCkge1xuICAgIHNldERyYWdPdmVyKGZhbHNlKVxuICB9XG5cbiAgY29uc3QgaXNEb25lID0gc3RhdHVzPy5zdGF0dXMgPT09ICdkb25lJ1xuICBjb25zdCBpc0ZhaWxlZCA9IHN0YXR1cz8uc3RhdHVzID09PSAnZmFpbGVkJ1xuXG4gIGlmIChpc0RvbmUgJiYgam9iSWQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1zdWNjZXNzKScsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1tZCknLFxuICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTUpJyxcbiAgICAgICAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICBnYXA6ICd2YXIoLS1zLTMpJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPHAgc3R5bGU9e3sgbWFyZ2luOiAwLCBmb250V2VpZ2h0OiA2MDAsIGNvbG9yOiAndmFyKC0tdGVhbC05MDApJyB9fT5cbiAgICAgICAgICBJbmdlc3Rpb24gY29tcGxldGUhIHtzdGF0dXMudGhlbWVzRm91bmR9IHRoZW1lcywge3N0YXR1cy50b3BpY3NGb3VuZH0gdG9waWNzIGZvdW5kLlxuICAgICAgICA8L3A+XG4gICAgICAgIDxCdXR0b25cbiAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIHNldEpvYklkKG51bGwpXG4gICAgICAgICAgICBvblN1Y2Nlc3MoKVxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICBVcGxvYWQgYW5vdGhlclxuICAgICAgICA8L0J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBnYXA6ICd2YXIoLS1zLTQpJyB9fT5cbiAgICAgIDxkaXZcbiAgICAgICAgb25Ecm9wPXtoYW5kbGVEcm9wfVxuICAgICAgICBvbkRyYWdPdmVyPXtoYW5kbGVEcmFnT3Zlcn1cbiAgICAgICAgb25EcmFnTGVhdmU9e2hhbmRsZURyYWdMZWF2ZX1cbiAgICAgICAgb25DbGljaz17KCkgPT4gZmlsZUlucHV0UmVmLmN1cnJlbnQ/LmNsaWNrKCl9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgYm9yZGVyOiBgMnB4IGRhc2hlZCAke2RyYWdPdmVyID8gJ3ZhcigtLWFjY2VudCknIDogJ3ZhcigtLWNyZWFtKSd9YCxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLWxnKScsXG4gICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtOCwgNjRweCkgdmFyKC0tcy01KScsXG4gICAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICAgICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBkcmFnT3ZlciA/ICd2YXIoLS1hY2NlbnQtc29mdCknIDogJ3ZhcigtLWJnLXdhcm0pJyxcbiAgICAgICAgICB0cmFuc2l0aW9uOiAnYmFja2dyb3VuZCAxNTBtcywgYm9yZGVyLWNvbG9yIDE1MG1zJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgcmVmPXtmaWxlSW5wdXRSZWZ9XG4gICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgIGFjY2VwdD1cIi5wZGYsLm1kLC50eHRcIlxuICAgICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6ICdub25lJyB9fVxuICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgIC8+XG4gICAgICAgIDxwXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIG1hcmdpbjogJzAgMCB2YXIoLS1zLTIpJyxcbiAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1sZWFkKScsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiA2MDAsXG4gICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnKScsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIERyb3AgYSBkb2N1bWVudCBoZXJlXG4gICAgICAgIDwvcD5cbiAgICAgICAgPHAgc3R5bGU9e3sgbWFyZ2luOiAwLCBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJywgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknIH19PlxuICAgICAgICAgIG9yIHRhcCB0byBicm93c2Ug4oCUIFBERiwgTWFya2Rvd24sIFRYVFxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cblxuICAgICAge3VwbG9hZEVycm9yICYmIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2Y4ZDdkYScsXG4gICAgICAgICAgICBjb2xvcjogJyNjMDM5MmInLFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1zbSknLFxuICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtMykgdmFyKC0tcy00KScsXG4gICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge3VwbG9hZEVycm9yfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG5cbiAgICAgIHsodXBsb2FkaW5nIHx8IGpvYklkKSAmJiAoXG4gICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAndmFyKC0tcy0yKScgfX0+XG4gICAgICAgICAgPFByb2dyZXNzQmFyXG4gICAgICAgICAgICB2YWx1ZT17dXBsb2FkaW5nID8gNSA6IHByb2dyZXNzfVxuICAgICAgICAgICAgbGFiZWw9e1xuICAgICAgICAgICAgICB1cGxvYWRpbmdcbiAgICAgICAgICAgICAgICA/ICdVcGxvYWRpbmfigKYnXG4gICAgICAgICAgICAgICAgOiBpc0ZhaWxlZFxuICAgICAgICAgICAgICAgID8gYEZhaWxlZDogJHtzdGF0dXM/LnJlYXNvbiA/PyAndW5rbm93biBlcnJvcid9YFxuICAgICAgICAgICAgICAgIDogc3RhdHVzPy5zdGF0dXNcbiAgICAgICAgICAgICAgICA/IGAke3N0YXR1cy5zdGF0dXMuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9JHtzdGF0dXMuc3RhdHVzLnNsaWNlKDEpfeKApmBcbiAgICAgICAgICAgICAgICA6ICdQcm9jZXNzaW5n4oCmJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29sb3I9e2lzRmFpbGVkID8gJyNjMDM5MmInIDogJ3ZhcigtLWFjY2VudCknfVxuICAgICAgICAgIC8+XG4gICAgICAgICAge3N0YXR1cyAmJiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LXNtYWxsKScsXG4gICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTQpJyxcbiAgICAgICAgICAgICAgICBmbGV4V3JhcDogJ3dyYXAnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3Bhbj5DaHVua3M6IHtzdGF0dXMuY2h1bmtzRW1iZWRkZWR9L3tzdGF0dXMuY2h1bmtzVG90YWx9PC9zcGFuPlxuICAgICAgICAgICAgICA8c3Bhbj5UaGVtZXM6IHtzdGF0dXMudGhlbWVzRm91bmR9PC9zcGFuPlxuICAgICAgICAgICAgICA8c3Bhbj5Ub3BpY3M6IHtzdGF0dXMudG9waWNzRm91bmR9PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwiQnV0dG9uIiwiUHJvZ3Jlc3NCYXIiLCJ1c2VJbmdlc3Rpb25TdGF0dXMiLCJwYiIsInBvc3RJbmdlc3QiLCJEb2N1bWVudFVwbG9hZCIsIm9uU3VjY2VzcyIsImZpbGVJbnB1dFJlZiIsInVwbG9hZGluZyIsInNldFVwbG9hZGluZyIsImpvYklkIiwic2V0Sm9iSWQiLCJ1cGxvYWRFcnJvciIsInNldFVwbG9hZEVycm9yIiwiZHJhZ092ZXIiLCJzZXREcmFnT3ZlciIsInN0YXR1cyIsInByb2dyZXNzIiwiaGFuZGxlRmlsZXMiLCJmaWxlcyIsImxlbmd0aCIsImZpbGUiLCJhbGxvd2VkIiwiZXh0IiwibmFtZSIsInNsaWNlIiwibGFzdEluZGV4T2YiLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwiZmQiLCJGb3JtRGF0YSIsImFwcGVuZCIsImRvYyIsImNvbGxlY3Rpb24iLCJjcmVhdGUiLCJpbmdlc3RGZCIsImlkIiwiaklkIiwiZXJyIiwiRXJyb3IiLCJtZXNzYWdlIiwiaGFuZGxlQ2hhbmdlIiwiZSIsInRhcmdldCIsInZhbHVlIiwiaGFuZGxlRHJvcCIsInByZXZlbnREZWZhdWx0IiwiZGF0YVRyYW5zZmVyIiwiaGFuZGxlRHJhZ092ZXIiLCJoYW5kbGVEcmFnTGVhdmUiLCJpc0RvbmUiLCJpc0ZhaWxlZCIsImRpdiIsInN0eWxlIiwiYmFja2dyb3VuZCIsImJvcmRlclJhZGl1cyIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImdhcCIsInAiLCJtYXJnaW4iLCJmb250V2VpZ2h0IiwiY29sb3IiLCJ0aGVtZXNGb3VuZCIsInRvcGljc0ZvdW5kIiwidmFyaWFudCIsInNpemUiLCJvbkNsaWNrIiwib25Ecm9wIiwib25EcmFnT3ZlciIsIm9uRHJhZ0xlYXZlIiwiY3VycmVudCIsImNsaWNrIiwiYm9yZGVyIiwiY3Vyc29yIiwidHJhbnNpdGlvbiIsImlucHV0IiwicmVmIiwidHlwZSIsImFjY2VwdCIsIm9uQ2hhbmdlIiwiZm9udFNpemUiLCJsYWJlbCIsInJlYXNvbiIsImNoYXJBdCIsInRvVXBwZXJDYXNlIiwiZmxleFdyYXAiLCJzcGFuIiwiY2h1bmtzRW1iZWRkZWQiLCJjaHVua3NUb3RhbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/admin/DocumentUpload.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/admin/JobStatusList.tsx": +/*!************************************************!*\ + !*** ./src/components/admin/JobStatusList.tsx ***! + \************************************************/ +/***/ ((__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 */ JobStatusList: () => (/* binding */ JobStatusList)\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 _components_ui_StatusBadge__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/StatusBadge */ \"(ssr)/./src/components/ui/StatusBadge.tsx\");\n/* __next_internal_client_entry_do_not_use__ JobStatusList auto */ \n\n\nfunction formatDate(iso) {\n if (!iso) return \"—\";\n try {\n return new Intl.DateTimeFormat(\"en\", {\n month: \"short\",\n day: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\"\n }).format(new Date(iso));\n } catch {\n return iso;\n }\n}\nfunction JobStatusList({ documents }) {\n if (documents.length === 0) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n color: \"var(--fg-muted)\",\n fontSize: \"var(--t-body)\",\n padding: \"var(--s-4)\"\n },\n children: \"No documents yet.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\JobStatusList.tsx\",\n lineNumber: 27,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-2)\"\n },\n children: documents.map((doc)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"var(--bg-warm)\",\n borderRadius: \"var(--r-sm)\",\n padding: \"var(--s-3) var(--s-4)\",\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-3)\",\n flexWrap: \"wrap\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n flex: 1,\n minWidth: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontWeight: 600,\n fontSize: \"var(--t-body)\",\n color: \"var(--fg)\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\"\n },\n children: doc.filename\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\JobStatusList.tsx\",\n lineNumber: 49,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-small)\",\n color: \"var(--fg-muted)\"\n },\n children: [\n doc.chunk_count,\n \" chunks \\xb7 \",\n formatDate(doc.ingested_at)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\JobStatusList.tsx\",\n lineNumber: 62,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\JobStatusList.tsx\",\n lineNumber: 48,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-2)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n color: \"var(--fg-subtle)\"\n },\n children: doc.format\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\JobStatusList.tsx\",\n lineNumber: 67,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_StatusBadge__WEBPACK_IMPORTED_MODULE_2__.StatusBadge, {\n status: doc.status\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\JobStatusList.tsx\",\n lineNumber: 77,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\JobStatusList.tsx\",\n lineNumber: 66,\n columnNumber: 11\n }, this)\n ]\n }, doc.id, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\JobStatusList.tsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\JobStatusList.tsx\",\n lineNumber: 34,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9hZG1pbi9Kb2JTdGF0dXNMaXN0LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQ3lCO0FBRWdDO0FBTXpELFNBQVNFLFdBQVdDLEdBQVc7SUFDN0IsSUFBSSxDQUFDQSxLQUFLLE9BQU87SUFDakIsSUFBSTtRQUNGLE9BQU8sSUFBSUMsS0FBS0MsY0FBYyxDQUFDLE1BQU07WUFDbkNDLE9BQU87WUFDUEMsS0FBSztZQUNMQyxNQUFNO1lBQ05DLFFBQVE7UUFDVixHQUFHQyxNQUFNLENBQUMsSUFBSUMsS0FBS1I7SUFDckIsRUFBRSxPQUFNO1FBQ04sT0FBT0E7SUFDVDtBQUNGO0FBRU8sU0FBU1MsY0FBYyxFQUFFQyxTQUFTLEVBQXNCO0lBQzdELElBQUlBLFVBQVVDLE1BQU0sS0FBSyxHQUFHO1FBQzFCLHFCQUNFLDhEQUFDQztZQUFJQyxPQUFPO2dCQUFFQyxPQUFPO2dCQUFtQkMsVUFBVTtnQkFBaUJDLFNBQVM7WUFBYTtzQkFBRzs7Ozs7O0lBSWhHO0lBRUEscUJBQ0UsOERBQUNKO1FBQUlDLE9BQU87WUFBRUksU0FBUztZQUFRQyxlQUFlO1lBQVVDLEtBQUs7UUFBYTtrQkFDdkVULFVBQVVVLEdBQUcsQ0FBQyxDQUFDQyxvQkFDZCw4REFBQ1Q7Z0JBRUNDLE9BQU87b0JBQ0xTLFlBQVk7b0JBQ1pDLGNBQWM7b0JBQ2RQLFNBQVM7b0JBQ1RDLFNBQVM7b0JBQ1RPLFlBQVk7b0JBQ1pMLEtBQUs7b0JBQ0xNLFVBQVU7Z0JBQ1o7O2tDQUVBLDhEQUFDYjt3QkFBSUMsT0FBTzs0QkFBRWEsTUFBTTs0QkFBR0MsVUFBVTt3QkFBRTs7MENBQ2pDLDhEQUFDQztnQ0FDQ2YsT0FBTztvQ0FDTGdCLFFBQVE7b0NBQ1JDLFlBQVk7b0NBQ1pmLFVBQVU7b0NBQ1ZELE9BQU87b0NBQ1BpQixVQUFVO29DQUNWQyxjQUFjO29DQUNkQyxZQUFZO2dDQUNkOzBDQUVDWixJQUFJYSxRQUFROzs7Ozs7MENBRWYsOERBQUNOO2dDQUFFZixPQUFPO29DQUFFZ0IsUUFBUTtvQ0FBR2QsVUFBVTtvQ0FBa0JELE9BQU87Z0NBQWtCOztvQ0FDekVPLElBQUljLFdBQVc7b0NBQUM7b0NBQVdwQyxXQUFXc0IsSUFBSWUsV0FBVzs7Ozs7Ozs7Ozs7OztrQ0FHMUQsOERBQUN4Qjt3QkFBSUMsT0FBTzs0QkFBRUksU0FBUzs0QkFBUU8sWUFBWTs0QkFBVUwsS0FBSzt3QkFBYTs7MENBQ3JFLDhEQUFDa0I7Z0NBQ0N4QixPQUFPO29DQUNMRSxVQUFVO29DQUNWdUIsWUFBWTtvQ0FDWkMsZUFBZTtvQ0FDZnpCLE9BQU87Z0NBQ1Q7MENBRUNPLElBQUlkLE1BQU07Ozs7OzswQ0FFYiw4REFBQ1QsbUVBQVdBO2dDQUFDMEMsUUFBUW5CLElBQUltQixNQUFNOzs7Ozs7Ozs7Ozs7O2VBeEM1Qm5CLElBQUlvQixFQUFFOzs7Ozs7Ozs7O0FBOENyQiIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2NvbXBvbmVudHMvYWRtaW4vSm9iU3RhdHVzTGlzdC50c3g/NzNlZSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgU291cmNlRG9jdW1lbnQgfSBmcm9tICdAL3R5cGVzJ1xuaW1wb3J0IHsgU3RhdHVzQmFkZ2UgfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvU3RhdHVzQmFkZ2UnXG5cbmludGVyZmFjZSBKb2JTdGF0dXNMaXN0UHJvcHMge1xuICBkb2N1bWVudHM6IFNvdXJjZURvY3VtZW50W11cbn1cblxuZnVuY3Rpb24gZm9ybWF0RGF0ZShpc286IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghaXNvKSByZXR1cm4gJ+KAlCdcbiAgdHJ5IHtcbiAgICByZXR1cm4gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoJ2VuJywge1xuICAgICAgbW9udGg6ICdzaG9ydCcsXG4gICAgICBkYXk6ICdudW1lcmljJyxcbiAgICAgIGhvdXI6ICcyLWRpZ2l0JyxcbiAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxuICAgIH0pLmZvcm1hdChuZXcgRGF0ZShpc28pKVxuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gaXNvXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEpvYlN0YXR1c0xpc3QoeyBkb2N1bWVudHMgfTogSm9iU3RhdHVzTGlzdFByb3BzKSB7XG4gIGlmIChkb2N1bWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgc3R5bGU9e3sgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknLCBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLCBwYWRkaW5nOiAndmFyKC0tcy00KScgfX0+XG4gICAgICAgIE5vIGRvY3VtZW50cyB5ZXQuXG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAndmFyKC0tcy0yKScgfX0+XG4gICAgICB7ZG9jdW1lbnRzLm1hcCgoZG9jKSA9PiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBrZXk9e2RvYy5pZH1cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnLXdhcm0pJyxcbiAgICAgICAgICAgIGJvcmRlclJhZGl1czogJ3ZhcigtLXItc20pJyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTMpIHZhcigtLXMtNCknLFxuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTMpJyxcbiAgICAgICAgICAgIGZsZXhXcmFwOiAnd3JhcCcsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZmxleDogMSwgbWluV2lkdGg6IDAgfX0+XG4gICAgICAgICAgICA8cFxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCxcbiAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiA2MDAsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnKScsXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAgICAgICAgICAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2RvYy5maWxlbmFtZX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwIHN0eWxlPXt7IG1hcmdpbjogMCwgZm9udFNpemU6ICd2YXIoLS10LXNtYWxsKScsIGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJyB9fT5cbiAgICAgICAgICAgICAge2RvYy5jaHVua19jb3VudH0gY2h1bmtzIMK3IHtmb3JtYXREYXRlKGRvYy5pbmdlc3RlZF9hdCl9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICd2YXIoLS1zLTIpJyB9fT5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWxhYmVsKScsXG4gICAgICAgICAgICAgICAgZm9udEZhbWlseTogJ3ZhcigtLWZvbnQtbW9ubyknLFxuICAgICAgICAgICAgICAgIHRleHRUcmFuc2Zvcm06ICd1cHBlcmNhc2UnLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmctc3VidGxlKScsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtkb2MuZm9ybWF0fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPFN0YXR1c0JhZGdlIHN0YXR1cz17ZG9jLnN0YXR1c30gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApKX1cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiU3RhdHVzQmFkZ2UiLCJmb3JtYXREYXRlIiwiaXNvIiwiSW50bCIsIkRhdGVUaW1lRm9ybWF0IiwibW9udGgiLCJkYXkiLCJob3VyIiwibWludXRlIiwiZm9ybWF0IiwiRGF0ZSIsIkpvYlN0YXR1c0xpc3QiLCJkb2N1bWVudHMiLCJsZW5ndGgiLCJkaXYiLCJzdHlsZSIsImNvbG9yIiwiZm9udFNpemUiLCJwYWRkaW5nIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJtYXAiLCJkb2MiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyUmFkaXVzIiwiYWxpZ25JdGVtcyIsImZsZXhXcmFwIiwiZmxleCIsIm1pbldpZHRoIiwicCIsIm1hcmdpbiIsImZvbnRXZWlnaHQiLCJvdmVyZmxvdyIsInRleHRPdmVyZmxvdyIsIndoaXRlU3BhY2UiLCJmaWxlbmFtZSIsImNodW5rX2NvdW50IiwiaW5nZXN0ZWRfYXQiLCJzcGFuIiwiZm9udEZhbWlseSIsInRleHRUcmFuc2Zvcm0iLCJzdGF0dXMiLCJpZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/admin/JobStatusList.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/Button.tsx": +/*!**************************************!*\ + !*** ./src/components/ui/Button.tsx ***! + \**************************************/ +/***/ ((__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 */ Button: () => (/* binding */ Button)\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/* __next_internal_client_entry_do_not_use__ Button auto */ \n\nconst variantStyles = {\n primary: {\n background: \"var(--accent)\",\n color: \"var(--paper)\",\n border: \"none\"\n },\n secondary: {\n background: \"var(--bg-warm)\",\n color: \"var(--fg)\",\n border: \"1.5px solid var(--cream)\"\n },\n danger: {\n background: \"#c0392b\",\n color: \"var(--paper)\",\n border: \"none\"\n },\n ghost: {\n background: \"transparent\",\n color: \"var(--fg)\",\n border: \"1.5px solid var(--cream)\"\n }\n};\nconst sizeStyles = {\n sm: {\n fontSize: \"var(--t-small)\",\n padding: \"var(--s-2) var(--s-3)\",\n minHeight: \"36px\",\n borderRadius: \"var(--r-sm)\"\n },\n md: {\n fontSize: \"var(--t-body)\",\n padding: \"var(--s-2) var(--s-5)\",\n minHeight: \"44px\",\n borderRadius: \"var(--r-md)\"\n },\n lg: {\n fontSize: \"var(--t-lead)\",\n padding: \"var(--s-3) var(--s-6)\",\n minHeight: \"52px\",\n borderRadius: \"var(--r-lg)\"\n }\n};\nfunction Button({ variant = \"primary\", size = \"md\", loading = false, disabled, children, style, ...rest }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n disabled: disabled ?? loading,\n style: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"var(--s-2)\",\n fontFamily: \"var(--font-sans)\",\n fontWeight: 500,\n cursor: disabled ?? loading ? \"not-allowed\" : \"pointer\",\n opacity: disabled ?? loading ? 0.6 : 1,\n transition: \"opacity 150ms, transform 100ms\",\n ...variantStyles[variant],\n ...sizeStyles[size],\n ...style\n },\n ...rest,\n children: loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Spinner, {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 88,\n columnNumber: 11\n }, this),\n children\n ]\n }, void 0, true) : children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 68,\n columnNumber: 5\n }, this);\n}\nfunction Spinner() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n width: \"16px\",\n height: \"16px\",\n border: \"2px solid currentColor\",\n borderTopColor: \"transparent\",\n borderRadius: \"50%\",\n display: \"inline-block\",\n animation: \"spin 0.7s linear infinite\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 100,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9CdXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUN5QjtBQVl6QixNQUFNQyxnQkFBNEQ7SUFDaEVDLFNBQVM7UUFDUEMsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtJQUNBQyxXQUFXO1FBQ1RILFlBQVk7UUFDWkMsT0FBTztRQUNQQyxRQUFRO0lBQ1Y7SUFDQUUsUUFBUTtRQUNOSixZQUFZO1FBQ1pDLE9BQU87UUFDUEMsUUFBUTtJQUNWO0lBQ0FHLE9BQU87UUFDTEwsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtBQUNGO0FBRUEsTUFBTUksYUFBc0Q7SUFDMURDLElBQUk7UUFDRkMsVUFBVTtRQUNWQyxTQUFTO1FBQ1RDLFdBQVc7UUFDWEMsY0FBYztJQUNoQjtJQUNBQyxJQUFJO1FBQ0ZKLFVBQVU7UUFDVkMsU0FBUztRQUNUQyxXQUFXO1FBQ1hDLGNBQWM7SUFDaEI7SUFDQUUsSUFBSTtRQUNGTCxVQUFVO1FBQ1ZDLFNBQVM7UUFDVEMsV0FBVztRQUNYQyxjQUFjO0lBQ2hCO0FBQ0Y7QUFFTyxTQUFTRyxPQUFPLEVBQ3JCQyxVQUFVLFNBQVMsRUFDbkJDLE9BQU8sSUFBSSxFQUNYQyxVQUFVLEtBQUssRUFDZkMsUUFBUSxFQUNSQyxRQUFRLEVBQ1JDLEtBQUssRUFDTCxHQUFHQyxNQUNTO0lBQ1oscUJBQ0UsOERBQUNDO1FBQ0NKLFVBQVVBLFlBQVlEO1FBQ3RCRyxPQUFPO1lBQ0xHLFNBQVM7WUFDVEMsWUFBWTtZQUNaQyxnQkFBZ0I7WUFDaEJDLEtBQUs7WUFDTEMsWUFBWTtZQUNaQyxZQUFZO1lBQ1pDLFFBQVFYLFlBQVlELFVBQVUsZ0JBQWdCO1lBQzlDYSxTQUFTWixZQUFZRCxVQUFVLE1BQU07WUFDckNjLFlBQVk7WUFDWixHQUFHakMsYUFBYSxDQUFDaUIsUUFBUTtZQUN6QixHQUFHVCxVQUFVLENBQUNVLEtBQUs7WUFDbkIsR0FBR0ksS0FBSztRQUNWO1FBQ0MsR0FBR0MsSUFBSTtrQkFFUEosd0JBQ0M7OzhCQUNFLDhEQUFDZTs7Ozs7Z0JBQ0FiOzsyQkFHSEE7Ozs7OztBQUlSO0FBRUEsU0FBU2E7SUFDUCxxQkFDRSw4REFBQ0M7UUFDQ2IsT0FBTztZQUNMYyxPQUFPO1lBQ1BDLFFBQVE7WUFDUmpDLFFBQVE7WUFDUmtDLGdCQUFnQjtZQUNoQnpCLGNBQWM7WUFDZFksU0FBUztZQUNUYyxXQUFXO1FBQ2I7Ozs7OztBQUdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy91aS9CdXR0b24udHN4PzAxM2EiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbnR5cGUgQnV0dG9uVmFyaWFudCA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2RhbmdlcicgfCAnZ2hvc3QnXG50eXBlIEJ1dHRvblNpemUgPSAnc20nIHwgJ21kJyB8ICdsZydcblxuaW50ZXJmYWNlIEJ1dHRvblByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcbiAgdmFyaWFudD86IEJ1dHRvblZhcmlhbnRcbiAgc2l6ZT86IEJ1dHRvblNpemVcbiAgbG9hZGluZz86IGJvb2xlYW5cbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG5jb25zdCB2YXJpYW50U3R5bGVzOiBSZWNvcmQ8QnV0dG9uVmFyaWFudCwgUmVhY3QuQ1NTUHJvcGVydGllcz4gPSB7XG4gIHByaW1hcnk6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYWNjZW50KScsXG4gICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBzZWNvbmRhcnk6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctd2FybSknLFxuICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICBib3JkZXI6ICcxLjVweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICB9LFxuICBkYW5nZXI6IHtcbiAgICBiYWNrZ3JvdW5kOiAnI2MwMzkyYicsXG4gICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBnaG9zdDoge1xuICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXG4gICAgY29sb3I6ICd2YXIoLS1mZyknLFxuICAgIGJvcmRlcjogJzEuNXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gIH0sXG59XG5cbmNvbnN0IHNpemVTdHlsZXM6IFJlY29yZDxCdXR0b25TaXplLCBSZWFjdC5DU1NQcm9wZXJ0aWVzPiA9IHtcbiAgc206IHtcbiAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTMpJyxcbiAgICBtaW5IZWlnaHQ6ICczNnB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXNtKScsXG4gIH0sXG4gIG1kOiB7XG4gICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTUpJyxcbiAgICBtaW5IZWlnaHQ6ICc0NHB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLW1kKScsXG4gIH0sXG4gIGxnOiB7XG4gICAgZm9udFNpemU6ICd2YXIoLS10LWxlYWQpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTYpJyxcbiAgICBtaW5IZWlnaHQ6ICc1MnB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLWxnKScsXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b24oe1xuICB2YXJpYW50ID0gJ3ByaW1hcnknLFxuICBzaXplID0gJ21kJyxcbiAgbG9hZGluZyA9IGZhbHNlLFxuICBkaXNhYmxlZCxcbiAgY2hpbGRyZW4sXG4gIHN0eWxlLFxuICAuLi5yZXN0XG59OiBCdXR0b25Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZCA/PyBsb2FkaW5nfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgZ2FwOiAndmFyKC0tcy0yKScsXG4gICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICBjdXJzb3I6IGRpc2FibGVkID8/IGxvYWRpbmcgPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInLFxuICAgICAgICBvcGFjaXR5OiBkaXNhYmxlZCA/PyBsb2FkaW5nID8gMC42IDogMSxcbiAgICAgICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMTUwbXMsIHRyYW5zZm9ybSAxMDBtcycsXG4gICAgICAgIC4uLnZhcmlhbnRTdHlsZXNbdmFyaWFudF0sXG4gICAgICAgIC4uLnNpemVTdHlsZXNbc2l6ZV0sXG4gICAgICAgIC4uLnN0eWxlLFxuICAgICAgfX1cbiAgICAgIHsuLi5yZXN0fVxuICAgID5cbiAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxTcGlubmVyIC8+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGNoaWxkcmVuXG4gICAgICApfVxuICAgIDwvYnV0dG9uPlxuICApXG59XG5cbmZ1bmN0aW9uIFNwaW5uZXIoKSB7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHdpZHRoOiAnMTZweCcsXG4gICAgICAgIGhlaWdodDogJzE2cHgnLFxuICAgICAgICBib3JkZXI6ICcycHggc29saWQgY3VycmVudENvbG9yJyxcbiAgICAgICAgYm9yZGVyVG9wQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICBhbmltYXRpb246ICdzcGluIDAuN3MgbGluZWFyIGluZmluaXRlJyxcbiAgICAgIH19XG4gICAgLz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidmFyaWFudFN0eWxlcyIsInByaW1hcnkiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJib3JkZXIiLCJzZWNvbmRhcnkiLCJkYW5nZXIiLCJnaG9zdCIsInNpemVTdHlsZXMiLCJzbSIsImZvbnRTaXplIiwicGFkZGluZyIsIm1pbkhlaWdodCIsImJvcmRlclJhZGl1cyIsIm1kIiwibGciLCJCdXR0b24iLCJ2YXJpYW50Iiwic2l6ZSIsImxvYWRpbmciLCJkaXNhYmxlZCIsImNoaWxkcmVuIiwic3R5bGUiLCJyZXN0IiwiYnV0dG9uIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImdhcCIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiY3Vyc29yIiwib3BhY2l0eSIsInRyYW5zaXRpb24iLCJTcGlubmVyIiwic3BhbiIsIndpZHRoIiwiaGVpZ2h0IiwiYm9yZGVyVG9wQ29sb3IiLCJhbmltYXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/Button.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/ProgressBar.tsx": +/*!*******************************************!*\ + !*** ./src/components/ui/ProgressBar.tsx ***! + \*******************************************/ +/***/ ((__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 */ ProgressBar: () => (/* binding */ ProgressBar)\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/* __next_internal_client_entry_do_not_use__ ProgressBar auto */ \n\nfunction ProgressBar({ value, label, color = \"var(--accent)\" }) {\n const clamped = Math.min(100, Math.max(0, value));\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n width: \"100%\"\n },\n children: [\n label && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n justifyContent: \"space-between\",\n marginBottom: \"var(--s-1)\",\n fontSize: \"var(--t-small)\",\n color: \"var(--fg-muted)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\ProgressBar.tsx\",\n lineNumber: 25,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: [\n clamped,\n \"%\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\ProgressBar.tsx\",\n lineNumber: 26,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\ProgressBar.tsx\",\n lineNumber: 16,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n width: \"100%\",\n height: \"8px\",\n background: \"var(--bg-warm)\",\n borderRadius: \"var(--r-pill)\",\n overflow: \"hidden\"\n },\n role: \"progressbar\",\n \"aria-valuenow\": clamped,\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n width: `${clamped}%`,\n height: \"100%\",\n background: color,\n borderRadius: \"var(--r-pill)\",\n transition: \"width 400ms ease\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\ProgressBar.tsx\",\n lineNumber: 42,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\ProgressBar.tsx\",\n lineNumber: 29,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\ProgressBar.tsx\",\n lineNumber: 14,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9Qcm9ncmVzc0Jhci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ3lCO0FBUWxCLFNBQVNDLFlBQVksRUFBRUMsS0FBSyxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsZUFBZSxFQUFvQjtJQUNyRixNQUFNQyxVQUFVQyxLQUFLQyxHQUFHLENBQUMsS0FBS0QsS0FBS0UsR0FBRyxDQUFDLEdBQUdOO0lBRTFDLHFCQUNFLDhEQUFDTztRQUFJQyxPQUFPO1lBQUVDLE9BQU87UUFBTzs7WUFDekJSLHVCQUNDLDhEQUFDTTtnQkFDQ0MsT0FBTztvQkFDTEUsU0FBUztvQkFDVEMsZ0JBQWdCO29CQUNoQkMsY0FBYztvQkFDZEMsVUFBVTtvQkFDVlgsT0FBTztnQkFDVDs7a0NBRUEsOERBQUNZO2tDQUFNYjs7Ozs7O2tDQUNQLDhEQUFDYTs7NEJBQU1YOzRCQUFROzs7Ozs7Ozs7Ozs7OzBCQUduQiw4REFBQ0k7Z0JBQ0NDLE9BQU87b0JBQ0xDLE9BQU87b0JBQ1BNLFFBQVE7b0JBQ1JDLFlBQVk7b0JBQ1pDLGNBQWM7b0JBQ2RDLFVBQVU7Z0JBQ1o7Z0JBQ0FDLE1BQUs7Z0JBQ0xDLGlCQUFlakI7Z0JBQ2ZrQixpQkFBZTtnQkFDZkMsaUJBQWU7MEJBRWYsNEVBQUNmO29CQUNDQyxPQUFPO3dCQUNMQyxPQUFPLENBQUMsRUFBRU4sUUFBUSxDQUFDLENBQUM7d0JBQ3BCWSxRQUFRO3dCQUNSQyxZQUFZZDt3QkFDWmUsY0FBYzt3QkFDZE0sWUFBWTtvQkFDZDs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLViIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2NvbXBvbmVudHMvdWkvUHJvZ3Jlc3NCYXIudHN4PzAyZGUiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbmludGVyZmFjZSBQcm9ncmVzc0JhclByb3BzIHtcbiAgdmFsdWU6IG51bWJlciAvLyAw4oCTMTAwXG4gIGxhYmVsPzogc3RyaW5nXG4gIGNvbG9yPzogc3RyaW5nXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm9ncmVzc0Jhcih7IHZhbHVlLCBsYWJlbCwgY29sb3IgPSAndmFyKC0tYWNjZW50KScgfTogUHJvZ3Jlc3NCYXJQcm9wcykge1xuICBjb25zdCBjbGFtcGVkID0gTWF0aC5taW4oMTAwLCBNYXRoLm1heCgwLCB2YWx1ZSkpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHN0eWxlPXt7IHdpZHRoOiAnMTAwJScgfX0+XG4gICAgICB7bGFiZWwgJiYgKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgICAgICAgICBtYXJnaW5Cb3R0b206ICd2YXIoLS1zLTEpJyxcbiAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1zbWFsbCknLFxuICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8c3Bhbj57bGFiZWx9PC9zcGFuPlxuICAgICAgICAgIDxzcGFuPntjbGFtcGVkfSU8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIGhlaWdodDogJzhweCcsXG4gICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnLXdhcm0pJyxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXBpbGwpJyxcbiAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgIH19XG4gICAgICAgIHJvbGU9XCJwcm9ncmVzc2JhclwiXG4gICAgICAgIGFyaWEtdmFsdWVub3c9e2NsYW1wZWR9XG4gICAgICAgIGFyaWEtdmFsdWVtaW49ezB9XG4gICAgICAgIGFyaWEtdmFsdWVtYXg9ezEwMH1cbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICB3aWR0aDogYCR7Y2xhbXBlZH0lYCxcbiAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3IsXG4gICAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXBpbGwpJyxcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICd3aWR0aCA0MDBtcyBlYXNlJyxcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlByb2dyZXNzQmFyIiwidmFsdWUiLCJsYWJlbCIsImNvbG9yIiwiY2xhbXBlZCIsIk1hdGgiLCJtaW4iLCJtYXgiLCJkaXYiLCJzdHlsZSIsIndpZHRoIiwiZGlzcGxheSIsImp1c3RpZnlDb250ZW50IiwibWFyZ2luQm90dG9tIiwiZm9udFNpemUiLCJzcGFuIiwiaGVpZ2h0IiwiYmFja2dyb3VuZCIsImJvcmRlclJhZGl1cyIsIm92ZXJmbG93Iiwicm9sZSIsImFyaWEtdmFsdWVub3ciLCJhcmlhLXZhbHVlbWluIiwiYXJpYS12YWx1ZW1heCIsInRyYW5zaXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/ProgressBar.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/StatusBadge.tsx": +/*!*******************************************!*\ + !*** ./src/components/ui/StatusBadge.tsx ***! + \*******************************************/ +/***/ ((__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 */ StatusBadge: () => (/* binding */ StatusBadge)\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/* __next_internal_client_entry_do_not_use__ StatusBadge auto */ \n\nconst STATUS_CONFIG = {\n queued: {\n label: \"Queued\",\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n },\n extracting: {\n label: \"Extracting\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n chunking: {\n label: \"Chunking\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n structuring: {\n label: \"Structuring\",\n background: \"#cce5ff\",\n color: \"#004085\"\n },\n writing: {\n label: \"Writing\",\n background: \"#cce5ff\",\n color: \"#004085\"\n },\n embedding: {\n label: \"Embedding\",\n background: \"#d4edda\",\n color: \"#155724\"\n },\n done: {\n label: \"Done\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n failed: {\n label: \"Failed\",\n background: \"#f8d7da\",\n color: \"#c0392b\"\n },\n processing: {\n label: \"Processing\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n processed: {\n label: \"Processed\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n draft: {\n label: \"Draft\",\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n },\n published: {\n label: \"Published\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n rejected: {\n label: \"Rejected\",\n background: \"#f8d7da\",\n color: \"#c0392b\"\n },\n generated: {\n label: \"Generated\",\n background: \"#cce5ff\",\n color: \"#004085\"\n },\n active: {\n label: \"Active\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n superseded: {\n label: \"Superseded\",\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n },\n introductory: {\n label: \"Introductory\",\n background: \"var(--accent-soft)\",\n color: \"var(--teal-900)\"\n },\n intermediate: {\n label: \"Intermediate\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n advanced: {\n label: \"Advanced\",\n background: \"var(--peri)\",\n color: \"var(--teal-900)\"\n }\n};\nfunction StatusBadge({ status }) {\n const config = STATUS_CONFIG[status] ?? {\n label: status,\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n display: \"inline-block\",\n padding: \"2px var(--s-2)\",\n borderRadius: \"var(--r-pill)\",\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n fontWeight: 500,\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n background: config.background,\n color: config.color\n },\n children: config.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\StatusBadge.tsx\",\n lineNumber: 58,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9TdGF0dXNCYWRnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ3lCO0FBbUJ6QixNQUFNQyxnQkFHRjtJQUNGQyxRQUFRO1FBQUVDLE9BQU87UUFBVUMsWUFBWTtRQUFnQkMsT0FBTztJQUFrQjtJQUNoRkMsWUFBWTtRQUFFSCxPQUFPO1FBQWNDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQzNFRSxVQUFVO1FBQUVKLE9BQU87UUFBWUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDdkVHLGFBQWE7UUFBRUwsT0FBTztRQUFlQyxZQUFZO1FBQVdDLE9BQU87SUFBVTtJQUM3RUksU0FBUztRQUFFTixPQUFPO1FBQVdDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQ3JFSyxXQUFXO1FBQUVQLE9BQU87UUFBYUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDekVNLE1BQU07UUFBRVIsT0FBTztRQUFRQyxZQUFZO1FBQWtCQyxPQUFPO0lBQWtCO0lBQzlFTyxRQUFRO1FBQUVULE9BQU87UUFBVUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDbkVRLFlBQVk7UUFBRVYsT0FBTztRQUFjQyxZQUFZO1FBQVdDLE9BQU87SUFBVTtJQUMzRVMsV0FBVztRQUFFWCxPQUFPO1FBQWFDLFlBQVk7UUFBa0JDLE9BQU87SUFBa0I7SUFDeEZVLE9BQU87UUFBRVosT0FBTztRQUFTQyxZQUFZO1FBQWdCQyxPQUFPO0lBQWtCO0lBQzlFVyxXQUFXO1FBQUViLE9BQU87UUFBYUMsWUFBWTtRQUFrQkMsT0FBTztJQUFrQjtJQUN4RlksVUFBVTtRQUFFZCxPQUFPO1FBQVlDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQ3ZFYSxXQUFXO1FBQUVmLE9BQU87UUFBYUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDekVjLFFBQVE7UUFBRWhCLE9BQU87UUFBVUMsWUFBWTtRQUFrQkMsT0FBTztJQUFrQjtJQUNsRmUsWUFBWTtRQUFFakIsT0FBTztRQUFjQyxZQUFZO1FBQWdCQyxPQUFPO0lBQWtCO0lBQ3hGZ0IsY0FBYztRQUFFbEIsT0FBTztRQUFnQkMsWUFBWTtRQUFzQkMsT0FBTztJQUFrQjtJQUNsR2lCLGNBQWM7UUFBRW5CLE9BQU87UUFBZ0JDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQy9Fa0IsVUFBVTtRQUFFcEIsT0FBTztRQUFZQyxZQUFZO1FBQWVDLE9BQU87SUFBa0I7QUFDckY7QUFNTyxTQUFTbUIsWUFBWSxFQUFFQyxNQUFNLEVBQW9CO0lBQ3RELE1BQU1DLFNBQVN6QixhQUFhLENBQUN3QixPQUFPLElBQUk7UUFDdEN0QixPQUFPc0I7UUFDUHJCLFlBQVk7UUFDWkMsT0FBTztJQUNUO0lBRUEscUJBQ0UsOERBQUNzQjtRQUNDQyxPQUFPO1lBQ0xDLFNBQVM7WUFDVEMsU0FBUztZQUNUQyxjQUFjO1lBQ2RDLFVBQVU7WUFDVkMsWUFBWTtZQUNaQyxZQUFZO1lBQ1pDLGVBQWU7WUFDZkMsZUFBZTtZQUNmaEMsWUFBWXNCLE9BQU90QixVQUFVO1lBQzdCQyxPQUFPcUIsT0FBT3JCLEtBQUs7UUFDckI7a0JBRUNxQixPQUFPdkIsS0FBSzs7Ozs7O0FBR25CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy91aS9TdGF0dXNCYWRnZS50c3g/MDcxZSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgSW5nZXN0aW9uSm9iU3RhdHVzIH0gZnJvbSAnQC90eXBlcydcblxudHlwZSBBbnlTdGF0dXMgPVxuICB8IEluZ2VzdGlvbkpvYlN0YXR1c1snc3RhdHVzJ11cbiAgfCAncHJvY2Vzc2luZydcbiAgfCAncHJvY2Vzc2VkJ1xuICB8ICdmYWlsZWQnXG4gIHwgJ2RyYWZ0J1xuICB8ICdwdWJsaXNoZWQnXG4gIHwgJ3JlamVjdGVkJ1xuICB8ICdxdWV1ZWQnXG4gIHwgJ2dlbmVyYXRlZCdcbiAgfCAnYWN0aXZlJ1xuICB8ICdzdXBlcnNlZGVkJ1xuICB8ICdpbnRyb2R1Y3RvcnknXG4gIHwgJ2ludGVybWVkaWF0ZSdcbiAgfCAnYWR2YW5jZWQnXG5cbmNvbnN0IFNUQVRVU19DT05GSUc6IFJlY29yZDxcbiAgQW55U3RhdHVzLFxuICB7IGxhYmVsOiBzdHJpbmc7IGJhY2tncm91bmQ6IHN0cmluZzsgY29sb3I6IHN0cmluZyB9XG4+ID0ge1xuICBxdWV1ZWQ6IHsgbGFiZWw6ICdRdWV1ZWQnLCBiYWNrZ3JvdW5kOiAndmFyKC0tY3JlYW0pJywgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknIH0sXG4gIGV4dHJhY3Rpbmc6IHsgbGFiZWw6ICdFeHRyYWN0aW5nJywgYmFja2dyb3VuZDogJyNmZmYzY2QnLCBjb2xvcjogJyM4NTY0MDQnIH0sXG4gIGNodW5raW5nOiB7IGxhYmVsOiAnQ2h1bmtpbmcnLCBiYWNrZ3JvdW5kOiAnI2ZmZjNjZCcsIGNvbG9yOiAnIzg1NjQwNCcgfSxcbiAgc3RydWN0dXJpbmc6IHsgbGFiZWw6ICdTdHJ1Y3R1cmluZycsIGJhY2tncm91bmQ6ICcjY2NlNWZmJywgY29sb3I6ICcjMDA0MDg1JyB9LFxuICB3cml0aW5nOiB7IGxhYmVsOiAnV3JpdGluZycsIGJhY2tncm91bmQ6ICcjY2NlNWZmJywgY29sb3I6ICcjMDA0MDg1JyB9LFxuICBlbWJlZGRpbmc6IHsgbGFiZWw6ICdFbWJlZGRpbmcnLCBiYWNrZ3JvdW5kOiAnI2Q0ZWRkYScsIGNvbG9yOiAnIzE1NTcyNCcgfSxcbiAgZG9uZTogeyBsYWJlbDogJ0RvbmUnLCBiYWNrZ3JvdW5kOiAndmFyKC0tc3VjY2VzcyknLCBjb2xvcjogJ3ZhcigtLXRlYWwtOTAwKScgfSxcbiAgZmFpbGVkOiB7IGxhYmVsOiAnRmFpbGVkJywgYmFja2dyb3VuZDogJyNmOGQ3ZGEnLCBjb2xvcjogJyNjMDM5MmInIH0sXG4gIHByb2Nlc3Npbmc6IHsgbGFiZWw6ICdQcm9jZXNzaW5nJywgYmFja2dyb3VuZDogJyNmZmYzY2QnLCBjb2xvcjogJyM4NTY0MDQnIH0sXG4gIHByb2Nlc3NlZDogeyBsYWJlbDogJ1Byb2Nlc3NlZCcsIGJhY2tncm91bmQ6ICd2YXIoLS1zdWNjZXNzKScsIGNvbG9yOiAndmFyKC0tdGVhbC05MDApJyB9LFxuICBkcmFmdDogeyBsYWJlbDogJ0RyYWZ0JywgYmFja2dyb3VuZDogJ3ZhcigtLWNyZWFtKScsIGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJyB9LFxuICBwdWJsaXNoZWQ6IHsgbGFiZWw6ICdQdWJsaXNoZWQnLCBiYWNrZ3JvdW5kOiAndmFyKC0tc3VjY2VzcyknLCBjb2xvcjogJ3ZhcigtLXRlYWwtOTAwKScgfSxcbiAgcmVqZWN0ZWQ6IHsgbGFiZWw6ICdSZWplY3RlZCcsIGJhY2tncm91bmQ6ICcjZjhkN2RhJywgY29sb3I6ICcjYzAzOTJiJyB9LFxuICBnZW5lcmF0ZWQ6IHsgbGFiZWw6ICdHZW5lcmF0ZWQnLCBiYWNrZ3JvdW5kOiAnI2NjZTVmZicsIGNvbG9yOiAnIzAwNDA4NScgfSxcbiAgYWN0aXZlOiB7IGxhYmVsOiAnQWN0aXZlJywgYmFja2dyb3VuZDogJ3ZhcigtLXN1Y2Nlc3MpJywgY29sb3I6ICd2YXIoLS10ZWFsLTkwMCknIH0sXG4gIHN1cGVyc2VkZWQ6IHsgbGFiZWw6ICdTdXBlcnNlZGVkJywgYmFja2dyb3VuZDogJ3ZhcigtLWNyZWFtKScsIGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJyB9LFxuICBpbnRyb2R1Y3Rvcnk6IHsgbGFiZWw6ICdJbnRyb2R1Y3RvcnknLCBiYWNrZ3JvdW5kOiAndmFyKC0tYWNjZW50LXNvZnQpJywgY29sb3I6ICd2YXIoLS10ZWFsLTkwMCknIH0sXG4gIGludGVybWVkaWF0ZTogeyBsYWJlbDogJ0ludGVybWVkaWF0ZScsIGJhY2tncm91bmQ6ICcjZmZmM2NkJywgY29sb3I6ICcjODU2NDA0JyB9LFxuICBhZHZhbmNlZDogeyBsYWJlbDogJ0FkdmFuY2VkJywgYmFja2dyb3VuZDogJ3ZhcigtLXBlcmkpJywgY29sb3I6ICd2YXIoLS10ZWFsLTkwMCknIH0sXG59XG5cbmludGVyZmFjZSBTdGF0dXNCYWRnZVByb3BzIHtcbiAgc3RhdHVzOiBBbnlTdGF0dXNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0YXR1c0JhZGdlKHsgc3RhdHVzIH06IFN0YXR1c0JhZGdlUHJvcHMpIHtcbiAgY29uc3QgY29uZmlnID0gU1RBVFVTX0NPTkZJR1tzdGF0dXNdID8/IHtcbiAgICBsYWJlbDogc3RhdHVzLFxuICAgIGJhY2tncm91bmQ6ICd2YXIoLS1jcmVhbSknLFxuICAgIGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJyxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICBwYWRkaW5nOiAnMnB4IHZhcigtLXMtMiknLFxuICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXBpbGwpJyxcbiAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWxhYmVsKScsXG4gICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LW1vbm8pJyxcbiAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcbiAgICAgICAgbGV0dGVyU3BhY2luZzogJ3ZhcigtLWxhYmVsLWxzKScsXG4gICAgICAgIGJhY2tncm91bmQ6IGNvbmZpZy5iYWNrZ3JvdW5kLFxuICAgICAgICBjb2xvcjogY29uZmlnLmNvbG9yLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7Y29uZmlnLmxhYmVsfVxuICAgIDwvc3Bhbj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiU1RBVFVTX0NPTkZJRyIsInF1ZXVlZCIsImxhYmVsIiwiYmFja2dyb3VuZCIsImNvbG9yIiwiZXh0cmFjdGluZyIsImNodW5raW5nIiwic3RydWN0dXJpbmciLCJ3cml0aW5nIiwiZW1iZWRkaW5nIiwiZG9uZSIsImZhaWxlZCIsInByb2Nlc3NpbmciLCJwcm9jZXNzZWQiLCJkcmFmdCIsInB1Ymxpc2hlZCIsInJlamVjdGVkIiwiZ2VuZXJhdGVkIiwiYWN0aXZlIiwic3VwZXJzZWRlZCIsImludHJvZHVjdG9yeSIsImludGVybWVkaWF0ZSIsImFkdmFuY2VkIiwiU3RhdHVzQmFkZ2UiLCJzdGF0dXMiLCJjb25maWciLCJzcGFuIiwic3R5bGUiLCJkaXNwbGF5IiwicGFkZGluZyIsImJvcmRlclJhZGl1cyIsImZvbnRTaXplIiwiZm9udEZhbWlseSIsImZvbnRXZWlnaHQiLCJ0ZXh0VHJhbnNmb3JtIiwibGV0dGVyU3BhY2luZyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/StatusBadge.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/auth.ts": +/*!*************************!*\ + !*** ./src/lib/auth.ts ***! + \*************************/ +/***/ ((__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 */ clearAuthCookies: () => (/* binding */ clearAuthCookies),\n/* harmony export */ getAuthUser: () => (/* binding */ getAuthUser),\n/* harmony export */ logout: () => (/* binding */ logout),\n/* harmony export */ syncAuthCookies: () => (/* binding */ syncAuthCookies)\n/* harmony export */ });\n/* harmony import */ var _pocketbase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* __next_internal_client_entry_do_not_use__ getAuthUser,syncAuthCookies,clearAuthCookies,logout auto */ \nconst COOKIE_TOKEN = \"pb_token\";\nconst COOKIE_ROLE = \"pb_role\";\nconst COOKIE_MAX_AGE = 60 * 60 * 24 * 14 // 14 days\n;\nfunction getAuthUser() {\n if (!_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.isValid) return null;\n return _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.model;\n}\nfunction syncAuthCookies() {\n if (_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.isValid && _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.token) {\n const user = _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.model;\n const role = user?.role ?? \"\";\n document.cookie = `${COOKIE_TOKEN}=${_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.token}; path=/; max-age=${COOKIE_MAX_AGE}; SameSite=Lax`;\n document.cookie = `${COOKIE_ROLE}=${role}; path=/; max-age=${COOKIE_MAX_AGE}; SameSite=Lax`;\n } else {\n clearAuthCookies();\n }\n}\nfunction clearAuthCookies() {\n document.cookie = `${COOKIE_TOKEN}=; path=/; max-age=0`;\n document.cookie = `${COOKIE_ROLE}=; path=/; max-age=0`;\n}\nfunction logout() {\n _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.clear();\n clearAuthCookies();\n window.location.href = \"/auth\";\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL2F1dGgudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7eUdBQ2lDO0FBR2pDLE1BQU1DLGVBQWU7QUFDckIsTUFBTUMsY0FBYztBQUNwQixNQUFNQyxpQkFBaUIsS0FBSyxLQUFLLEtBQUssR0FBRyxVQUFVOztBQUU1QyxTQUFTQztJQUNkLElBQUksQ0FBQ0osMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0MsT0FBTyxFQUFFLE9BQU87SUFDbEMsT0FBT04sMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0UsS0FBSztBQUMzQjtBQUVPLFNBQVNDO0lBQ2QsSUFBSVIsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0MsT0FBTyxJQUFJTiwyQ0FBRUEsQ0FBQ0ssU0FBUyxDQUFDSSxLQUFLLEVBQUU7UUFDOUMsTUFBTUMsT0FBT1YsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0UsS0FBSztRQUMvQixNQUFNSSxPQUFPRCxNQUFNQyxRQUFRO1FBQzNCQyxTQUFTQyxNQUFNLEdBQUcsQ0FBQyxFQUFFWixhQUFhLENBQUMsRUFBRUQsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0ksS0FBSyxDQUFDLGtCQUFrQixFQUFFTixlQUFlLGNBQWMsQ0FBQztRQUMxR1MsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVgsWUFBWSxDQUFDLEVBQUVTLEtBQUssa0JBQWtCLEVBQUVSLGVBQWUsY0FBYyxDQUFDO0lBQzdGLE9BQU87UUFDTFc7SUFDRjtBQUNGO0FBRU8sU0FBU0E7SUFDZEYsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVosYUFBYSxvQkFBb0IsQ0FBQztJQUN2RFcsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVgsWUFBWSxvQkFBb0IsQ0FBQztBQUN4RDtBQUVPLFNBQVNhO0lBQ2RmLDJDQUFFQSxDQUFDSyxTQUFTLENBQUNXLEtBQUs7SUFDbEJGO0lBQ0FHLE9BQU9DLFFBQVEsQ0FBQ0MsSUFBSSxHQUFHO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL2F1dGgudHM/NjY5MiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB7IHBiIH0gZnJvbSAnLi9wb2NrZXRiYXNlJ1xuaW1wb3J0IHR5cGUgeyBQQlVzZXIgfSBmcm9tICdAL3R5cGVzJ1xuXG5jb25zdCBDT09LSUVfVE9LRU4gPSAncGJfdG9rZW4nXG5jb25zdCBDT09LSUVfUk9MRSA9ICdwYl9yb2xlJ1xuY29uc3QgQ09PS0lFX01BWF9BR0UgPSA2MCAqIDYwICogMjQgKiAxNCAvLyAxNCBkYXlzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBdXRoVXNlcigpOiBQQlVzZXIgfCBudWxsIHtcbiAgaWYgKCFwYi5hdXRoU3RvcmUuaXNWYWxpZCkgcmV0dXJuIG51bGxcbiAgcmV0dXJuIHBiLmF1dGhTdG9yZS5tb2RlbCBhcyBQQlVzZXIgfCBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzeW5jQXV0aENvb2tpZXMoKTogdm9pZCB7XG4gIGlmIChwYi5hdXRoU3RvcmUuaXNWYWxpZCAmJiBwYi5hdXRoU3RvcmUudG9rZW4pIHtcbiAgICBjb25zdCB1c2VyID0gcGIuYXV0aFN0b3JlLm1vZGVsIGFzIFBCVXNlciB8IG51bGxcbiAgICBjb25zdCByb2xlID0gdXNlcj8ucm9sZSA/PyAnJ1xuICAgIGRvY3VtZW50LmNvb2tpZSA9IGAke0NPT0tJRV9UT0tFTn09JHtwYi5hdXRoU3RvcmUudG9rZW59OyBwYXRoPS87IG1heC1hZ2U9JHtDT09LSUVfTUFYX0FHRX07IFNhbWVTaXRlPUxheGBcbiAgICBkb2N1bWVudC5jb29raWUgPSBgJHtDT09LSUVfUk9MRX09JHtyb2xlfTsgcGF0aD0vOyBtYXgtYWdlPSR7Q09PS0lFX01BWF9BR0V9OyBTYW1lU2l0ZT1MYXhgXG4gIH0gZWxzZSB7XG4gICAgY2xlYXJBdXRoQ29va2llcygpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyQXV0aENvb2tpZXMoKTogdm9pZCB7XG4gIGRvY3VtZW50LmNvb2tpZSA9IGAke0NPT0tJRV9UT0tFTn09OyBwYXRoPS87IG1heC1hZ2U9MGBcbiAgZG9jdW1lbnQuY29va2llID0gYCR7Q09PS0lFX1JPTEV9PTsgcGF0aD0vOyBtYXgtYWdlPTBgXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2dvdXQoKTogdm9pZCB7XG4gIHBiLmF1dGhTdG9yZS5jbGVhcigpXG4gIGNsZWFyQXV0aENvb2tpZXMoKVxuICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvYXV0aCdcbn1cbiJdLCJuYW1lcyI6WyJwYiIsIkNPT0tJRV9UT0tFTiIsIkNPT0tJRV9ST0xFIiwiQ09PS0lFX01BWF9BR0UiLCJnZXRBdXRoVXNlciIsImF1dGhTdG9yZSIsImlzVmFsaWQiLCJtb2RlbCIsInN5bmNBdXRoQ29va2llcyIsInRva2VuIiwidXNlciIsInJvbGUiLCJkb2N1bWVudCIsImNvb2tpZSIsImNsZWFyQXV0aENvb2tpZXMiLCJsb2dvdXQiLCJjbGVhciIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/auth.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/hooks/useIngestionStatus.ts": +/*!*********************************************!*\ + !*** ./src/lib/hooks/useIngestionStatus.ts ***! + \*********************************************/ +/***/ ((__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 */ useIngestionStatus: () => (/* binding */ useIngestionStatus)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __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_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lib_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/lib/services */ \"(ssr)/./src/lib/services.ts\");\n/* __next_internal_client_entry_do_not_use__ useIngestionStatus auto */ \n\nconst TERMINAL_STATES = new Set([\n \"done\",\n \"failed\"\n]);\nconst POLL_INTERVAL_MS = 3000;\nfunction calcProgress(s) {\n const stageMap = {\n queued: 5,\n extracting: 15,\n chunking: 30,\n structuring: 50,\n writing: 65,\n embedding: s.chunksTotal > 0 ? 65 + Math.round(s.chunksEmbedded / s.chunksTotal * 30) : 70,\n done: 100,\n failed: 0\n };\n return stageMap[s.status] ?? 0;\n}\nfunction useIngestionStatus(jobId) {\n const [status, setStatus] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n const timerRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n if (!jobId) return;\n let cancelled = false;\n async function poll() {\n if (cancelled) return;\n try {\n const result = await (0,_lib_services__WEBPACK_IMPORTED_MODULE_1__.getIngestionStatus)(jobId);\n if (cancelled) return;\n setStatus(result);\n setError(null);\n if (!TERMINAL_STATES.has(result.status)) {\n timerRef.current = setTimeout(poll, POLL_INTERVAL_MS);\n }\n } catch (err) {\n if (cancelled) return;\n setError(err instanceof Error ? err.message : \"Unknown error\");\n }\n }\n void poll();\n return ()=>{\n cancelled = true;\n if (timerRef.current) clearTimeout(timerRef.current);\n };\n }, [\n jobId\n ]);\n return {\n status,\n progress: status ? calcProgress(status) : 0,\n error\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL2hvb2tzL3VzZUluZ2VzdGlvblN0YXR1cy50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O3dFQUNtRDtBQUNBO0FBR25ELE1BQU1JLGtCQUFrQixJQUFJQyxJQUFrQztJQUFDO0lBQVE7Q0FBUztBQUNoRixNQUFNQyxtQkFBbUI7QUFRekIsU0FBU0MsYUFBYUMsQ0FBcUI7SUFDekMsTUFBTUMsV0FBeUQ7UUFDN0RDLFFBQVE7UUFDUkMsWUFBWTtRQUNaQyxVQUFVO1FBQ1ZDLGFBQWE7UUFDYkMsU0FBUztRQUNUQyxXQUNFUCxFQUFFUSxXQUFXLEdBQUcsSUFBSSxLQUFLQyxLQUFLQyxLQUFLLENBQUMsRUFBR0MsY0FBYyxHQUFHWCxFQUFFUSxXQUFXLEdBQUksTUFBTTtRQUNqRkksTUFBTTtRQUNOQyxRQUFRO0lBQ1Y7SUFDQSxPQUFPWixRQUFRLENBQUNELEVBQUVjLE1BQU0sQ0FBQyxJQUFJO0FBQy9CO0FBRU8sU0FBU0MsbUJBQW1CQyxLQUFvQjtJQUNyRCxNQUFNLENBQUNGLFFBQVFHLFVBQVUsR0FBR3pCLCtDQUFRQSxDQUE0QjtJQUNoRSxNQUFNLENBQUMwQixPQUFPQyxTQUFTLEdBQUczQiwrQ0FBUUEsQ0FBZ0I7SUFDbEQsTUFBTTRCLFdBQVcxQiw2Q0FBTUEsQ0FBdUM7SUFFOURELGdEQUFTQSxDQUFDO1FBQ1IsSUFBSSxDQUFDdUIsT0FBTztRQUVaLElBQUlLLFlBQVk7UUFFaEIsZUFBZUM7WUFDYixJQUFJRCxXQUFXO1lBQ2YsSUFBSTtnQkFDRixNQUFNRSxTQUFTLE1BQU01QixpRUFBa0JBLENBQUNxQjtnQkFDeEMsSUFBSUssV0FBVztnQkFDZkosVUFBVU07Z0JBQ1ZKLFNBQVM7Z0JBQ1QsSUFBSSxDQUFDdkIsZ0JBQWdCNEIsR0FBRyxDQUFDRCxPQUFPVCxNQUFNLEdBQUc7b0JBQ3ZDTSxTQUFTSyxPQUFPLEdBQUdDLFdBQVdKLE1BQU14QjtnQkFDdEM7WUFDRixFQUFFLE9BQU82QixLQUFLO2dCQUNaLElBQUlOLFdBQVc7Z0JBQ2ZGLFNBQVNRLGVBQWVDLFFBQVFELElBQUlFLE9BQU8sR0FBRztZQUNoRDtRQUNGO1FBRUEsS0FBS1A7UUFFTCxPQUFPO1lBQ0xELFlBQVk7WUFDWixJQUFJRCxTQUFTSyxPQUFPLEVBQUVLLGFBQWFWLFNBQVNLLE9BQU87UUFDckQ7SUFDRixHQUFHO1FBQUNUO0tBQU07SUFFVixPQUFPO1FBQ0xGO1FBQ0FpQixVQUFVakIsU0FBU2YsYUFBYWUsVUFBVTtRQUMxQ0k7SUFDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL2hvb2tzL3VzZUluZ2VzdGlvblN0YXR1cy50cz9hZTMxIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBnZXRJbmdlc3Rpb25TdGF0dXMgfSBmcm9tICdAL2xpYi9zZXJ2aWNlcydcbmltcG9ydCB0eXBlIHsgSW5nZXN0aW9uSm9iU3RhdHVzIH0gZnJvbSAnQC90eXBlcydcblxuY29uc3QgVEVSTUlOQUxfU1RBVEVTID0gbmV3IFNldDxJbmdlc3Rpb25Kb2JTdGF0dXNbJ3N0YXR1cyddPihbJ2RvbmUnLCAnZmFpbGVkJ10pXG5jb25zdCBQT0xMX0lOVEVSVkFMX01TID0gMzAwMFxuXG5pbnRlcmZhY2UgVXNlSW5nZXN0aW9uU3RhdHVzUmVzdWx0IHtcbiAgc3RhdHVzOiBJbmdlc3Rpb25Kb2JTdGF0dXMgfCBudWxsXG4gIHByb2dyZXNzOiBudW1iZXJcbiAgZXJyb3I6IHN0cmluZyB8IG51bGxcbn1cblxuZnVuY3Rpb24gY2FsY1Byb2dyZXNzKHM6IEluZ2VzdGlvbkpvYlN0YXR1cyk6IG51bWJlciB7XG4gIGNvbnN0IHN0YWdlTWFwOiBSZWNvcmQ8SW5nZXN0aW9uSm9iU3RhdHVzWydzdGF0dXMnXSwgbnVtYmVyPiA9IHtcbiAgICBxdWV1ZWQ6IDUsXG4gICAgZXh0cmFjdGluZzogMTUsXG4gICAgY2h1bmtpbmc6IDMwLFxuICAgIHN0cnVjdHVyaW5nOiA1MCxcbiAgICB3cml0aW5nOiA2NSxcbiAgICBlbWJlZGRpbmc6XG4gICAgICBzLmNodW5rc1RvdGFsID4gMCA/IDY1ICsgTWF0aC5yb3VuZCgocy5jaHVua3NFbWJlZGRlZCAvIHMuY2h1bmtzVG90YWwpICogMzApIDogNzAsXG4gICAgZG9uZTogMTAwLFxuICAgIGZhaWxlZDogMCxcbiAgfVxuICByZXR1cm4gc3RhZ2VNYXBbcy5zdGF0dXNdID8/IDBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUluZ2VzdGlvblN0YXR1cyhqb2JJZDogc3RyaW5nIHwgbnVsbCk6IFVzZUluZ2VzdGlvblN0YXR1c1Jlc3VsdCB7XG4gIGNvbnN0IFtzdGF0dXMsIHNldFN0YXR1c10gPSB1c2VTdGF0ZTxJbmdlc3Rpb25Kb2JTdGF0dXMgfCBudWxsPihudWxsKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IHRpbWVyUmVmID0gdXNlUmVmPFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbD4obnVsbClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICgham9iSWQpIHJldHVyblxuXG4gICAgbGV0IGNhbmNlbGxlZCA9IGZhbHNlXG5cbiAgICBhc3luYyBmdW5jdGlvbiBwb2xsKCkge1xuICAgICAgaWYgKGNhbmNlbGxlZCkgcmV0dXJuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBnZXRJbmdlc3Rpb25TdGF0dXMoam9iSWQhKVxuICAgICAgICBpZiAoY2FuY2VsbGVkKSByZXR1cm5cbiAgICAgICAgc2V0U3RhdHVzKHJlc3VsdClcbiAgICAgICAgc2V0RXJyb3IobnVsbClcbiAgICAgICAgaWYgKCFURVJNSU5BTF9TVEFURVMuaGFzKHJlc3VsdC5zdGF0dXMpKSB7XG4gICAgICAgICAgdGltZXJSZWYuY3VycmVudCA9IHNldFRpbWVvdXQocG9sbCwgUE9MTF9JTlRFUlZBTF9NUylcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmIChjYW5jZWxsZWQpIHJldHVyblxuICAgICAgICBzZXRFcnJvcihlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InKVxuICAgICAgfVxuICAgIH1cblxuICAgIHZvaWQgcG9sbCgpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2FuY2VsbGVkID0gdHJ1ZVxuICAgICAgaWYgKHRpbWVyUmVmLmN1cnJlbnQpIGNsZWFyVGltZW91dCh0aW1lclJlZi5jdXJyZW50KVxuICAgIH1cbiAgfSwgW2pvYklkXSlcblxuICByZXR1cm4ge1xuICAgIHN0YXR1cyxcbiAgICBwcm9ncmVzczogc3RhdHVzID8gY2FsY1Byb2dyZXNzKHN0YXR1cykgOiAwLFxuICAgIGVycm9yLFxuICB9XG59XG4iXSwibmFtZXMiOlsidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJnZXRJbmdlc3Rpb25TdGF0dXMiLCJURVJNSU5BTF9TVEFURVMiLCJTZXQiLCJQT0xMX0lOVEVSVkFMX01TIiwiY2FsY1Byb2dyZXNzIiwicyIsInN0YWdlTWFwIiwicXVldWVkIiwiZXh0cmFjdGluZyIsImNodW5raW5nIiwic3RydWN0dXJpbmciLCJ3cml0aW5nIiwiZW1iZWRkaW5nIiwiY2h1bmtzVG90YWwiLCJNYXRoIiwicm91bmQiLCJjaHVua3NFbWJlZGRlZCIsImRvbmUiLCJmYWlsZWQiLCJzdGF0dXMiLCJ1c2VJbmdlc3Rpb25TdGF0dXMiLCJqb2JJZCIsInNldFN0YXR1cyIsImVycm9yIiwic2V0RXJyb3IiLCJ0aW1lclJlZiIsImNhbmNlbGxlZCIsInBvbGwiLCJyZXN1bHQiLCJoYXMiLCJjdXJyZW50Iiwic2V0VGltZW91dCIsImVyciIsIkVycm9yIiwibWVzc2FnZSIsImNsZWFyVGltZW91dCIsInByb2dyZXNzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/hooks/useIngestionStatus.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/hooks/usePBCollection.ts": +/*!******************************************!*\ + !*** ./src/lib/hooks/usePBCollection.ts ***! + \******************************************/ +/***/ ((__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 */ usePBCollection: () => (/* binding */ usePBCollection)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __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_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lib_pocketbase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/lib/pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* __next_internal_client_entry_do_not_use__ usePBCollection auto */ \n\nfunction usePBCollection(collection, options) {\n const [items, setItems] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(true);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n const [tick, setTick] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0);\n const refresh = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{\n setTick((t)=>t + 1);\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n let cancelled = false;\n async function load() {\n setLoading(true);\n setError(null);\n try {\n const result = await _lib_pocketbase__WEBPACK_IMPORTED_MODULE_1__.pb.collection(collection).getFullList({\n ...options ?? {}\n });\n if (!cancelled) {\n setItems(result);\n }\n } catch (err) {\n if (!cancelled) {\n setError(err instanceof Error ? err.message : \"Failed to load\");\n }\n } finally{\n if (!cancelled) {\n setLoading(false);\n }\n }\n }\n void load();\n return ()=>{\n cancelled = true;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n collection,\n tick\n ]);\n return {\n items,\n loading,\n error,\n refresh\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL2hvb2tzL3VzZVBCQ29sbGVjdGlvbi50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O3FFQUN3RDtBQUNuQjtBQVM5QixTQUFTSSxnQkFDZEMsVUFBa0IsRUFDbEJDLE9BQWlDO0lBRWpDLE1BQU0sQ0FBQ0MsT0FBT0MsU0FBUyxHQUFHUiwrQ0FBUUEsQ0FBTSxFQUFFO0lBQzFDLE1BQU0sQ0FBQ1MsU0FBU0MsV0FBVyxHQUFHViwrQ0FBUUEsQ0FBVTtJQUNoRCxNQUFNLENBQUNXLE9BQU9DLFNBQVMsR0FBR1osK0NBQVFBLENBQWdCO0lBQ2xELE1BQU0sQ0FBQ2EsTUFBTUMsUUFBUSxHQUFHZCwrQ0FBUUEsQ0FBUztJQUV6QyxNQUFNZSxVQUFVYixrREFBV0EsQ0FBQztRQUMxQlksUUFBUSxDQUFDRSxJQUFNQSxJQUFJO0lBQ3JCLEdBQUcsRUFBRTtJQUVMZixnREFBU0EsQ0FBQztRQUNSLElBQUlnQixZQUFZO1FBRWhCLGVBQWVDO1lBQ2JSLFdBQVc7WUFDWEUsU0FBUztZQUNULElBQUk7Z0JBQ0YsTUFBTU8sU0FBUyxNQUFNaEIsK0NBQUVBLENBQUNFLFVBQVUsQ0FBQ0EsWUFBWWUsV0FBVyxDQUFJO29CQUM1RCxHQUFJZCxXQUFXLENBQUMsQ0FBQztnQkFDbkI7Z0JBQ0EsSUFBSSxDQUFDVyxXQUFXO29CQUNkVCxTQUFTVztnQkFDWDtZQUNGLEVBQUUsT0FBT0UsS0FBSztnQkFDWixJQUFJLENBQUNKLFdBQVc7b0JBQ2RMLFNBQVNTLGVBQWVDLFFBQVFELElBQUlFLE9BQU8sR0FBRztnQkFDaEQ7WUFDRixTQUFVO2dCQUNSLElBQUksQ0FBQ04sV0FBVztvQkFDZFAsV0FBVztnQkFDYjtZQUNGO1FBQ0Y7UUFFQSxLQUFLUTtRQUNMLE9BQU87WUFDTEQsWUFBWTtRQUNkO0lBQ0EsdURBQXVEO0lBQ3pELEdBQUc7UUFBQ1o7UUFBWVE7S0FBSztJQUVyQixPQUFPO1FBQUVOO1FBQU9FO1FBQVNFO1FBQU9JO0lBQVE7QUFDMUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9saWIvaG9va3MvdXNlUEJDb2xsZWN0aW9uLnRzPzA2N2YiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgcGIgfSBmcm9tICdAL2xpYi9wb2NrZXRiYXNlJ1xuXG5pbnRlcmZhY2UgVXNlUEJDb2xsZWN0aW9uUmVzdWx0PFQ+IHtcbiAgaXRlbXM6IFRbXVxuICBsb2FkaW5nOiBib29sZWFuXG4gIGVycm9yOiBzdHJpbmcgfCBudWxsXG4gIHJlZnJlc2g6ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVBCQ29sbGVjdGlvbjxUPihcbiAgY29sbGVjdGlvbjogc3RyaW5nLFxuICBvcHRpb25zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4pOiBVc2VQQkNvbGxlY3Rpb25SZXN1bHQ8VD4ge1xuICBjb25zdCBbaXRlbXMsIHNldEl0ZW1zXSA9IHVzZVN0YXRlPFRbXT4oW10pXG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlPGJvb2xlYW4+KHRydWUpXG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW3RpY2ssIHNldFRpY2tdID0gdXNlU3RhdGU8bnVtYmVyPigwKVxuXG4gIGNvbnN0IHJlZnJlc2ggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0VGljaygodCkgPT4gdCArIDEpXG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGNhbmNlbGxlZCA9IGZhbHNlXG5cbiAgICBhc3luYyBmdW5jdGlvbiBsb2FkKCkge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKVxuICAgICAgc2V0RXJyb3IobnVsbClcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBiLmNvbGxlY3Rpb24oY29sbGVjdGlvbikuZ2V0RnVsbExpc3Q8VD4oe1xuICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKCFjYW5jZWxsZWQpIHtcbiAgICAgICAgICBzZXRJdGVtcyhyZXN1bHQpXG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoIWNhbmNlbGxlZCkge1xuICAgICAgICAgIHNldEVycm9yKGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiAnRmFpbGVkIHRvIGxvYWQnKVxuICAgICAgICB9XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpZiAoIWNhbmNlbGxlZCkge1xuICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB2b2lkIGxvYWQoKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjYW5jZWxsZWQgPSB0cnVlXG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW2NvbGxlY3Rpb24sIHRpY2tdKVxuXG4gIHJldHVybiB7IGl0ZW1zLCBsb2FkaW5nLCBlcnJvciwgcmVmcmVzaCB9XG59XG4iXSwibmFtZXMiOlsidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJ1c2VDYWxsYmFjayIsInBiIiwidXNlUEJDb2xsZWN0aW9uIiwiY29sbGVjdGlvbiIsIm9wdGlvbnMiLCJpdGVtcyIsInNldEl0ZW1zIiwibG9hZGluZyIsInNldExvYWRpbmciLCJlcnJvciIsInNldEVycm9yIiwidGljayIsInNldFRpY2siLCJyZWZyZXNoIiwidCIsImNhbmNlbGxlZCIsImxvYWQiLCJyZXN1bHQiLCJnZXRGdWxsTGlzdCIsImVyciIsIkVycm9yIiwibWVzc2FnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/hooks/usePBCollection.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/pocketbase.ts": +/*!*******************************!*\ + !*** ./src/lib/pocketbase.ts ***! + \*******************************/ +/***/ ((__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 */ pb: () => (/* binding */ pb)\n/* harmony export */ });\n/* harmony import */ var pocketbase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pocketbase */ \"(ssr)/./node_modules/pocketbase/dist/pocketbase.es.mjs\");\n/* __next_internal_client_entry_do_not_use__ pb auto */ \nconst pb = new pocketbase__WEBPACK_IMPORTED_MODULE_0__[\"default\"](\"http://localhost:8090\" ?? 0);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL3BvY2tldGJhc2UudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7d0RBQ21DO0FBRTVCLE1BQU1DLEtBQUssSUFBSUQsa0RBQVVBLENBQUNFLHVCQUFzQyxJQUFJLEdBQXdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL3BvY2tldGJhc2UudHM/ZTY1NyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBQb2NrZXRCYXNlIGZyb20gJ3BvY2tldGJhc2UnXG5cbmV4cG9ydCBjb25zdCBwYiA9IG5ldyBQb2NrZXRCYXNlKHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX1BPQ0tFVEJBU0VfVVJMID8/ICdodHRwOi8vbG9jYWxob3N0OjgwOTAnKVxuIl0sIm5hbWVzIjpbIlBvY2tldEJhc2UiLCJwYiIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19QT0NLRVRCQVNFX1VSTCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/pocketbase.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/services.ts": +/*!*****************************!*\ + !*** ./src/lib/services.ts ***! + \*****************************/ +/***/ ((__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 */ getFeed: () => (/* binding */ getFeed),\n/* harmony export */ getIngestionStatus: () => (/* binding */ getIngestionStatus),\n/* harmony export */ getLeaderboard: () => (/* binding */ getLeaderboard),\n/* harmony export */ patchCurriculumWeekOrder: () => (/* binding */ patchCurriculumWeekOrder),\n/* harmony export */ postComplete: () => (/* binding */ postComplete),\n/* harmony export */ postCurriculumConfirm: () => (/* binding */ postCurriculumConfirm),\n/* harmony export */ postGenerateAll: () => (/* binding */ postGenerateAll),\n/* harmony export */ postIngest: () => (/* binding */ postIngest)\n/* harmony export */ });\nconst INGESTION_URL = \"http://localhost:3001\" ?? 0;\nconst GENERATION_URL = \"http://localhost:3002\" ?? 0;\nconst CURRICULUM_URL = \"http://localhost:3003\" ?? 0;\nconst PROGRESS_URL = \"http://localhost:3005\" ?? 0;\nasync function handleResponse(res) {\n if (!res.ok) {\n const text = await res.text().catch(()=>res.statusText);\n throw new Error(`HTTP ${res.status}: ${text}`);\n }\n return res.json();\n}\nasync function postIngest(formData) {\n const res = await fetch(`${INGESTION_URL}/ingest`, {\n method: \"POST\",\n body: formData\n });\n return handleResponse(res);\n}\nasync function getIngestionStatus(jobId) {\n const res = await fetch(`${INGESTION_URL}/ingest/${encodeURIComponent(jobId)}/status`);\n return handleResponse(res);\n}\nasync function postGenerateAll(themeId) {\n const res = await fetch(`${GENERATION_URL}/generate/theme/${encodeURIComponent(themeId)}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n }\n });\n return handleResponse(res);\n}\nasync function postComplete(payload) {\n const res = await fetch(`${PROGRESS_URL}/complete`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(payload)\n });\n return handleResponse(res);\n}\nasync function getLeaderboard() {\n const res = await fetch(`${PROGRESS_URL}/leaderboard`);\n return handleResponse(res);\n}\nasync function getFeed() {\n const res = await fetch(`${PROGRESS_URL}/feed`);\n return handleResponse(res);\n}\nasync function postCurriculumConfirm(versionId) {\n const res = await fetch(`${CURRICULUM_URL}/curriculum/versions/${encodeURIComponent(versionId)}/confirm`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n }\n });\n if (!res.ok) {\n const text = await res.text().catch(()=>res.statusText);\n throw new Error(`HTTP ${res.status}: ${text}`);\n }\n}\nasync function patchCurriculumWeekOrder(weekId, position) {\n const res = await fetch(`${CURRICULUM_URL}/curriculum/weeks/${encodeURIComponent(weekId)}/order`, {\n method: \"PATCH\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n position\n })\n });\n if (!res.ok) {\n const text = await res.text().catch(()=>res.statusText);\n throw new Error(`HTTP ${res.status}: ${text}`);\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUNsQztJQUVGLElBQUksQ0FBQzdCLElBQUlDLEVBQUUsRUFBRTtRQUNYLE1BQU1DLE9BQU8sTUFBTUYsSUFBSUUsSUFBSSxHQUFHQyxLQUFLLENBQUMsSUFBTUgsSUFBSUksVUFBVTtRQUN4RCxNQUFNLElBQUlDLE1BQU0sQ0FBQyxLQUFLLEVBQUVMLElBQUlNLE1BQU0sQ0FBQyxFQUFFLEVBQUVKLEtBQUssQ0FBQztJQUMvQztBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL3NlcnZpY2VzLnRzPzA3MDEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBJbmdlc3Rpb25Kb2JTdGF0dXMsXG4gIENvbXBsZXRlUGF5bG9hZCxcbiAgQ29tcGxldGVSZXNwb25zZSxcbiAgTGVhZGVyYm9hcmRFbnRyeSxcbiAgRmVlZEVudHJ5LFxufSBmcm9tICdAL3R5cGVzJ1xuXG5jb25zdCBJTkdFU1RJT05fVVJMID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfSU5HRVNUSU9OX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDAxJ1xuY29uc3QgR0VORVJBVElPTl9VUkwgPSBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19HRU5FUkFUSU9OX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDAyJ1xuY29uc3QgQ1VSUklDVUxVTV9VUkwgPSBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19DVVJSSUNVTFVNX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDAzJ1xuY29uc3QgUFJPR1JFU1NfVVJMID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfUFJPR1JFU1NfVVJMID8/ICdodHRwOi8vbG9jYWxob3N0OjMwMDUnXG5cbmFzeW5jIGZ1bmN0aW9uIGhhbmRsZVJlc3BvbnNlPFQ+KHJlczogUmVzcG9uc2UpOiBQcm9taXNlPFQ+IHtcbiAgaWYgKCFyZXMub2spIHtcbiAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVzLnRleHQoKS5jYXRjaCgoKSA9PiByZXMuc3RhdHVzVGV4dClcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEhUVFAgJHtyZXMuc3RhdHVzfTogJHt0ZXh0fWApXG4gIH1cbiAgcmV0dXJuIHJlcy5qc29uKCkgYXMgUHJvbWlzZTxUPlxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcG9zdEluZ2VzdChmb3JtRGF0YTogRm9ybURhdGEpOiBQcm9taXNlPHsgam9iSWQ6IHN0cmluZyB9PiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke0lOR0VTVElPTl9VUkx9L2luZ2VzdGAsIHtcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBib2R5OiBmb3JtRGF0YSxcbiAgfSlcbiAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlPHsgam9iSWQ6IHN0cmluZyB9PihyZXMpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRJbmdlc3Rpb25TdGF0dXMoam9iSWQ6IHN0cmluZyk6IFByb21pc2U8SW5nZXN0aW9uSm9iU3RhdHVzPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke0lOR0VTVElPTl9VUkx9L2luZ2VzdC8ke2VuY29kZVVSSUNvbXBvbmVudChqb2JJZCl9L3N0YXR1c2ApXG4gIHJldHVybiBoYW5kbGVSZXNwb25zZTxJbmdlc3Rpb25Kb2JTdGF0dXM+KHJlcylcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBvc3RHZW5lcmF0ZUFsbCh0aGVtZUlkOiBzdHJpbmcpOiBQcm9taXNlPHsgcXVldWVkOiBudW1iZXIgfT4ge1xuICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtHRU5FUkFUSU9OX1VSTH0vZ2VuZXJhdGUvdGhlbWUvJHtlbmNvZGVVUklDb21wb25lbnQodGhlbWVJZCl9YCwge1xuICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICB9KVxuICByZXR1cm4gaGFuZGxlUmVzcG9uc2U8eyBxdWV1ZWQ6IG51bWJlciB9PihyZXMpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwb3N0Q29tcGxldGUocGF5bG9hZDogQ29tcGxldGVQYXlsb2FkKTogUHJvbWlzZTxDb21wbGV0ZVJlc3BvbnNlPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke1BST0dSRVNTX1VSTH0vY29tcGxldGVgLCB7XG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgYm9keTogSlNPTi5zdHJpbmdpZnkocGF5bG9hZCksXG4gIH0pXG4gIHJldHVybiBoYW5kbGVSZXNwb25zZTxDb21wbGV0ZVJlc3BvbnNlPihyZXMpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRMZWFkZXJib2FyZCgpOiBQcm9taXNlPExlYWRlcmJvYXJkRW50cnlbXT4ge1xuICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtQUk9HUkVTU19VUkx9L2xlYWRlcmJvYXJkYClcbiAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlPExlYWRlcmJvYXJkRW50cnlbXT4ocmVzKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RmVlZCgpOiBQcm9taXNlPEZlZWRFbnRyeVtdPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke1BST0dSRVNTX1VSTH0vZmVlZGApXG4gIHJldHVybiBoYW5kbGVSZXNwb25zZTxGZWVkRW50cnlbXT4ocmVzKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcG9zdEN1cnJpY3VsdW1Db25maXJtKHZlcnNpb25JZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKFxuICAgIGAke0NVUlJJQ1VMVU1fVVJMfS9jdXJyaWN1bHVtL3ZlcnNpb25zLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHZlcnNpb25JZCl9L2NvbmZpcm1gLFxuICAgIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgfSxcbiAgKVxuICBpZiAoIXJlcy5vaykge1xuICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpLmNhdGNoKCgpID0+IHJlcy5zdGF0dXNUZXh0KVxuICAgIHRocm93IG5ldyBFcnJvcihgSFRUUCAke3Jlcy5zdGF0dXN9OiAke3RleHR9YClcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGF0Y2hDdXJyaWN1bHVtV2Vla09yZGVyKHdlZWtJZDogc3RyaW5nLCBwb3NpdGlvbjogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKFxuICAgIGAke0NVUlJJQ1VMVU1fVVJMfS9jdXJyaWN1bHVtL3dlZWtzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHdlZWtJZCl9L29yZGVyYCxcbiAgICB7XG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgcG9zaXRpb24gfSksXG4gICAgfSxcbiAgKVxuICBpZiAoIXJlcy5vaykge1xuICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpLmNhdGNoKCgpID0+IHJlcy5zdGF0dXNUZXh0KVxuICAgIHRocm93IG5ldyBFcnJvcihgSFRUUCAke3Jlcy5zdGF0dXN9OiAke3RleHR9YClcbiAgfVxufVxuIl0sIm5hbWVzIjpbIklOR0VTVElPTl9VUkwiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9QVUJMSUNfSU5HRVNUSU9OX1VSTCIsIkdFTkVSQVRJT05fVVJMIiwiTkVYVF9QVUJMSUNfR0VORVJBVElPTl9VUkwiLCJDVVJSSUNVTFVNX1VSTCIsIk5FWFRfUFVCTElDX0NVUlJJQ1VMVU1fVVJMIiwiUFJPR1JFU1NfVVJMIiwiTkVYVF9QVUJMSUNfUFJPR1JFU1NfVVJMIiwiaGFuZGxlUmVzcG9uc2UiLCJyZXMiLCJvayIsInRleHQiLCJjYXRjaCIsInN0YXR1c1RleHQiLCJFcnJvciIsInN0YXR1cyIsImpzb24iLCJwb3N0SW5nZXN0IiwiZm9ybURhdGEiLCJmZXRjaCIsIm1ldGhvZCIsImJvZHkiLCJnZXRJbmdlc3Rpb25TdGF0dXMiLCJqb2JJZCIsImVuY29kZVVSSUNvbXBvbmVudCIsInBvc3RHZW5lcmF0ZUFsbCIsInRoZW1lSWQiLCJoZWFkZXJzIiwicG9zdENvbXBsZXRlIiwicGF5bG9hZCIsIkpTT04iLCJzdHJpbmdpZnkiLCJnZXRMZWFkZXJib2FyZCIsImdldEZlZWQiLCJwb3N0Q3VycmljdWx1bUNvbmZpcm0iLCJ2ZXJzaW9uSWQiLCJwYXRjaEN1cnJpY3VsdW1XZWVrT3JkZXIiLCJ3ZWVrSWQiLCJwb3NpdGlvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/services.ts\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__ = (\"a462ed02aa71\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL2dsb2JhbHMuY3NzPzU5MTYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgXCJhNDYyZWQwMmFhNzFcIlxuaWYgKG1vZHVsZS5ob3QpIHsgbW9kdWxlLmhvdC5hY2NlcHQoKSB9XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); + +/***/ }), + +/***/ "(rsc)/../../stylesheet.css": +/*!****************************!*\ + !*** ../../stylesheet.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__ = (\"5511d51fa1af\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi4vLi4vc3R5bGVzaGVldC5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi9zdHlsZXNoZWV0LmNzcz9mYjhjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNTUxMWQ1MWZhMWFmXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/../../stylesheet.css\n"); + +/***/ }), + +/***/ "(rsc)/./src/app/admin/documents/page.tsx": +/*!******************************************!*\ + !*** ./src/app/admin/documents/page.tsx ***! + \******************************************/ +/***/ ((__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`C:\Users\RaymondVerhoef\Gitea\learning-platform\app\frontend\src\app\admin\documents\page.tsx#default`)); + + +/***/ }), + +/***/ "(rsc)/./src/app/admin/layout.tsx": +/*!**********************************!*\ + !*** ./src/app/admin/layout.tsx ***! + \**********************************/ +/***/ ((__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`C:\Users\RaymondVerhoef\Gitea\learning-platform\app\frontend\src\app\admin\layout.tsx#default`)); + + +/***/ }), + +/***/ "(rsc)/./src/app/layout.tsx": +/*!****************************!*\ + !*** ./src/app/layout.tsx ***! + \****************************/ +/***/ ((__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 */ viewport: () => (/* binding */ viewport)\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 _stylesheet_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../stylesheet.css */ \"(rsc)/../../stylesheet.css\");\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n\n\n\nconst metadata = {\n title: \"Learning Platform\",\n description: \"Employee knowledge and learning\",\n manifest: \"/manifest.json\",\n appleWebApp: {\n capable: true,\n statusBarStyle: \"default\",\n title: \"Learning Platform\"\n }\n};\nconst viewport = {\n themeColor: \"#1F5560\",\n width: \"device-width\",\n initialScale: 1,\n maximumScale: 1\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 29,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDbUM7QUFDYjtBQUVmLE1BQU1BLFdBQXFCO0lBQ2hDQyxPQUFPO0lBQ1BDLGFBQWE7SUFDYkMsVUFBVTtJQUNWQyxhQUFhO1FBQ1hDLFNBQVM7UUFDVEMsZ0JBQWdCO1FBQ2hCTCxPQUFPO0lBQ1Q7QUFDRixFQUFDO0FBRU0sTUFBTU0sV0FBcUI7SUFDaENDLFlBQVk7SUFDWkMsT0FBTztJQUNQQyxjQUFjO0lBQ2RDLGNBQWM7QUFDaEIsRUFBQztBQUVjLFNBQVNDLFdBQVcsRUFDakNDLFFBQVEsRUFHVDtJQUNDLHFCQUNFLDhEQUFDQztRQUFLQyxNQUFLO2tCQUNULDRFQUFDQztzQkFBTUg7Ozs7Ozs7Ozs7O0FBR2IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9hcHAvbGF5b3V0LnRzeD81N2E5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEsIFZpZXdwb3J0IH0gZnJvbSAnbmV4dCdcbmltcG9ydCAnLi4vLi4vLi4vLi4vc3R5bGVzaGVldC5jc3MnXG5pbXBvcnQgJy4vZ2xvYmFscy5jc3MnXG5cbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XG4gIHRpdGxlOiAnTGVhcm5pbmcgUGxhdGZvcm0nLFxuICBkZXNjcmlwdGlvbjogJ0VtcGxveWVlIGtub3dsZWRnZSBhbmQgbGVhcm5pbmcnLFxuICBtYW5pZmVzdDogJy9tYW5pZmVzdC5qc29uJyxcbiAgYXBwbGVXZWJBcHA6IHtcbiAgICBjYXBhYmxlOiB0cnVlLFxuICAgIHN0YXR1c0JhclN0eWxlOiAnZGVmYXVsdCcsXG4gICAgdGl0bGU6ICdMZWFybmluZyBQbGF0Zm9ybScsXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCB2aWV3cG9ydDogVmlld3BvcnQgPSB7XG4gIHRoZW1lQ29sb3I6ICcjMUY1NTYwJyxcbiAgd2lkdGg6ICdkZXZpY2Utd2lkdGgnLFxuICBpbml0aWFsU2NhbGU6IDEsXG4gIG1heGltdW1TY2FsZTogMSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7XG4gIGNoaWxkcmVuLFxufToge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8Ym9keT57Y2hpbGRyZW59PC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIm1hbmlmZXN0IiwiYXBwbGVXZWJBcHAiLCJjYXBhYmxlIiwic3RhdHVzQmFyU3R5bGUiLCJ2aWV3cG9ydCIsInRoZW1lQ29sb3IiLCJ3aWR0aCIsImluaXRpYWxTY2FsZSIsIm1heGltdW1TY2FsZSIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwiYm9keSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\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","vendor-chunks/pocketbase"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fadmin%2Fdocuments%2Fpage&page=%2Fadmin%2Fdocuments%2Fpage&appPaths=%2Fadmin%2Fdocuments%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fdocuments%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); +module.exports = __webpack_exports__; + +})(); \ No newline at end of file diff --git a/app/frontend/.next/server/app/admin/documents/page_client-reference-manifest.js b/app/frontend/.next/server/app/admin/documents/page_client-reference-manifest.js new file mode 100644 index 0000000..6d6022a --- /dev/null +++ b/app/frontend/.next/server/app/admin/documents/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/admin/documents/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/auth/page.tsx":{"*":{"id":"(ssr)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/layout.tsx":{"*":{"id":"(ssr)/./src/app/admin/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/documents/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/knowledge/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/curriculum/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/layout.tsx":{"*":{"id":"(ssr)/./src/app/app/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/session/page.tsx":{"*":{"id":"(ssr)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/library/page.tsx":{"*":{"id":"(ssr)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\stylesheet.css":{"id":"(app-pages-browser)/../../stylesheet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\auth\\page.tsx":{"id":"(app-pages-browser)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\layout.tsx":{"id":"(app-pages-browser)/./src/app/admin/layout.tsx","name":"*","chunks":["app/admin/layout","static/chunks/app/admin/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\documents\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/documents/page.tsx","name":"*","chunks":["app/admin/documents/page","static/chunks/app/admin/documents/page.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\knowledge\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\curriculum\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\layout.tsx":{"id":"(app-pages-browser)/./src/app/app/layout.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\session\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\library\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\layout":["static/css/app/layout.css"],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\layout":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\documents\\page":[]}} \ No newline at end of file diff --git a/app/frontend/.next/server/app/admin/knowledge/page.js b/app/frontend/.next/server/app/admin/knowledge/page.js new file mode 100644 index 0000000..0beb16e --- /dev/null +++ b/app/frontend/.next/server/app/admin/knowledge/page.js @@ -0,0 +1,288 @@ +/* + * 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/admin/knowledge/page"; +exports.ids = ["app/admin/knowledge/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%2Fadmin%2Fknowledge%2Fpage&page=%2Fadmin%2Fknowledge%2Fpage&appPaths=%2Fadmin%2Fknowledge%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fknowledge%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%2Fadmin%2Fknowledge%2Fpage&page=%2Fadmin%2Fknowledge%2Fpage&appPaths=%2Fadmin%2Fknowledge%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fknowledge%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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?d969\");\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 'admin',\n {\n children: [\n 'knowledge',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/admin/knowledge/page.tsx */ \"(rsc)/./src/app/admin/knowledge/page.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\knowledge\\\\page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/admin/layout.tsx */ \"(rsc)/./src/app/admin/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\"],\n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\"],\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 = [\"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\knowledge\\\\page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/admin/knowledge/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: \"/admin/knowledge/page\",\n pathname: \"/admin/knowledge\",\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/bmFtZT1hcHAlMkZhZG1pbiUyRmtub3dsZWRnZSUyRnBhZ2UmcGFnZT0lMkZhZG1pbiUyRmtub3dsZWRnZSUyRnBhZ2UmYXBwUGF0aHM9JTJGYWRtaW4lMkZrbm93bGVkZ2UlMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGYWRtaW4lMkZrbm93bGVkZ2UlMkZwYWdlLnRzeCZhcHBEaXI9QyUzQSU1Q1VzZXJzJTVDUmF5bW9uZFZlcmhvZWYlNUNHaXRlYSU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDYXBwJTVDZnJvbnRlbmQlNUNzcmMlNUNhcHAmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZyb290RGlyPUMlM0ElNUNVc2VycyU1Q1JheW1vbmRWZXJob2VmJTVDR2l0ZWElNUNsZWFybmluZy1wbGF0Zm9ybSU1Q2FwcCU1Q2Zyb250ZW5kJmlzRGV2PXRydWUmdHNjb25maWdQYXRoPXRzY29uZmlnLmpzb24mYmFzZVBhdGg9JmFzc2V0UHJlZml4PSZuZXh0Q29uZmlnT3V0cHV0PSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsYUFBYSxzQkFBc0I7QUFDaUU7QUFDckM7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDLHVCQUF1QixnTEFBNkk7QUFDcEs7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSx5QkFBeUIsZ0tBQW9JO0FBQzdKO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLHlCQUF5QixvSkFBNkg7QUFDdEosb0JBQW9CLDBOQUFnRjtBQUNwRztBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDdUI7QUFDNkQ7QUFDcEYsNkJBQTZCLG1CQUFtQjtBQUNoRDtBQUNPO0FBQ0E7QUFDUDtBQUNBO0FBQ0E7QUFDdUQ7QUFDdkQ7QUFDTyx3QkFBd0IsOEdBQWtCO0FBQ2pEO0FBQ0EsY0FBYyx5RUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLz8yMzk5Il0sInNvdXJjZXNDb250ZW50IjpbIlwiVFVSQk9QQUNLIHsgdHJhbnNpdGlvbjogbmV4dC1zc3IgfVwiO1xuaW1wb3J0IHsgQXBwUGFnZVJvdXRlTW9kdWxlIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkXCI7XG5pbXBvcnQgeyBSb3V0ZUtpbmQgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZFwiO1xuLy8gV2UgaW5qZWN0IHRoZSB0cmVlIGFuZCBwYWdlcyBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxuLy8gbW9kdWxlLlxuY29uc3QgdHJlZSA9IHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJycsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJ2FkbWluJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAna25vd2xlZGdlJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogWydfX1BBR0VfXycsIHt9LCB7XG4gICAgICAgICAgcGFnZTogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcYWRtaW5cXFxca25vd2xlZGdlXFxcXHBhZ2UudHN4XCIpLCBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFkbWluXFxcXGtub3dsZWRnZVxcXFxwYWdlLnRzeFwiXSxcbiAgICAgICAgICBcbiAgICAgICAgfV1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAnbGF5b3V0JzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcYWRtaW5cXFxcbGF5b3V0LnRzeFwiKSwgXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxhZG1pblxcXFxsYXlvdXQudHN4XCJdLFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGxheW91dC50c3hcIiksIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcbGF5b3V0LnRzeFwiXSxcbidub3QtZm91bmQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCIpLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIl0sXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfS5jaGlsZHJlbjtcbmNvbnN0IHBhZ2VzID0gW1wiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcYWRtaW5cXFxca25vd2xlZGdlXFxcXHBhZ2UudHN4XCJdO1xuZXhwb3J0IHsgdHJlZSwgcGFnZXMgfTtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgR2xvYmFsRXJyb3IgfSBmcm9tIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5XCI7XG5jb25zdCBfX25leHRfYXBwX3JlcXVpcmVfXyA9IF9fd2VicGFja19yZXF1aXJlX19cbmNvbnN0IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKClcbmV4cG9ydCBjb25zdCBvcmlnaW5hbFBhdGhuYW1lID0gXCIvYWRtaW4va25vd2xlZGdlL3BhZ2VcIjtcbmV4cG9ydCBjb25zdCBfX25leHRfYXBwX18gPSB7XG4gICAgcmVxdWlyZTogX19uZXh0X2FwcF9yZXF1aXJlX18sXG4gICAgbG9hZENodW5rOiBfX25leHRfYXBwX2xvYWRfY2h1bmtfX1xufTtcbmV4cG9ydCAqIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgQXBwUGFnZVJvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgcGFnZTogXCIvYWRtaW4va25vd2xlZGdlL3BhZ2VcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL2FkbWluL2tub3dsZWRnZVwiLFxuICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGFyZW4ndCB1c2VkIGluIHByb2R1Y3Rpb24uXG4gICAgICAgIGJ1bmRsZVBhdGg6IFwiXCIsXG4gICAgICAgIGZpbGVuYW1lOiBcIlwiLFxuICAgICAgICBhcHBQYXRoczogW11cbiAgICB9LFxuICAgIHVzZXJsYW5kOiB7XG4gICAgICAgIGxvYWRlclRyZWU6IHRyZWVcbiAgICB9XG59KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fadmin%2Fknowledge%2Fpage&page=%2Fadmin%2Fknowledge%2Fpage&appPaths=%2Fadmin%2Fknowledge%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fknowledge%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJDJTNBJTVDJTVDVXNlcnMlNUMlNUNSYXltb25kVmVyaG9lZiU1QyU1Q0dpdGVhJTVDJTVDbGVhcm5pbmctcGxhdGZvcm0lNUMlNUNhcHAlNUMlNUNmcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2NsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyQyUzQSU1QyU1Q1VzZXJzJTVDJTVDUmF5bW9uZFZlcmhvZWYlNUMlNUNHaXRlYSU1QyU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDJTVDYXBwJTVDJTVDZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQW9LO0FBQ3BLO0FBQ0Esb09BQXFLO0FBQ3JLO0FBQ0EsME9BQXdLO0FBQ3hLO0FBQ0Esd09BQXVLO0FBQ3ZLO0FBQ0Esa1BBQTRLO0FBQzVLO0FBQ0Esc1FBQXNMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzcyOWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxhcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxcZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXGxheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXG5vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxccmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Cknowledge%5C%5Cpage.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Cknowledge%5C%5Cpage.tsx%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/admin/knowledge/page.tsx */ \"(ssr)/./src/app/admin/knowledge/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDYWRtaW4lNUMlNUNrbm93bGVkZ2UlNUMlNUNwYWdlLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsZ0xBQTZJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvP2M4NjkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxhZG1pblxcXFxrbm93bGVkZ2VcXFxccGFnZS50c3hcIik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Cknowledge%5C%5Cpage.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Clayout.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Clayout.tsx%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/admin/layout.tsx */ \"(ssr)/./src/app/admin/layout.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDYWRtaW4lNUMlNUNsYXlvdXQudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxnS0FBb0kiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8/NDAxMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFkbWluXFxcXGxheW91dC50c3hcIik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Clayout.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! + \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ (() => { + + + +/***/ }), + +/***/ "(ssr)/./src/app/admin/knowledge/page.tsx": +/*!******************************************!*\ + !*** ./src/app/admin/knowledge/page.tsx ***! + \******************************************/ +/***/ ((__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 */ KnowledgePage)\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 _components_admin_ThemeCard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/admin/ThemeCard */ \"(ssr)/./src/components/admin/ThemeCard.tsx\");\n/* harmony import */ var _lib_hooks_usePBCollection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/hooks/usePBCollection */ \"(ssr)/./src/lib/hooks/usePBCollection.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\nfunction KnowledgePage() {\n const { items: themes, loading, error, refresh } = (0,_lib_hooks_usePBCollection__WEBPACK_IMPORTED_MODULE_3__.usePBCollection)(\"themes\", {\n sort: \"-created_at\"\n });\n const [filter, setFilter] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"all\");\n const filtered = filter === \"all\" ? themes : themes.filter((t)=>t.status === filter);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-6)\"\n },\n children: [\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)(\"h1\", {\n style: {\n margin: \"0 0 var(--s-2)\",\n fontSize: \"var(--t-h3)\",\n fontWeight: 700,\n color: \"var(--fg)\"\n },\n children: \"Knowledge base\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\knowledge\\\\page.tsx\",\n lineNumber: 19,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-body)\",\n color: \"var(--fg-muted)\"\n },\n children: \"Themes extracted from ingested documents.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\knowledge\\\\page.tsx\",\n lineNumber: 29,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\knowledge\\\\page.tsx\",\n lineNumber: 18,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n gap: \"var(--s-2)\",\n flexWrap: \"wrap\"\n },\n children: [\n \"all\",\n \"draft\",\n \"published\",\n \"rejected\"\n ].map((f)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setFilter(f),\n style: {\n background: filter === f ? \"var(--accent)\" : \"var(--bg-warm)\",\n color: filter === f ? \"var(--paper)\" : \"var(--fg)\",\n border: \"1.5px solid var(--cream)\",\n borderRadius: \"var(--r-pill)\",\n padding: \"var(--s-1) var(--s-4)\",\n fontSize: \"var(--t-small)\",\n fontFamily: \"var(--font-sans)\",\n cursor: \"pointer\",\n minHeight: \"36px\",\n textTransform: \"capitalize\",\n transition: \"background 150ms\"\n },\n children: f\n }, f, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\knowledge\\\\page.tsx\",\n lineNumber: 37,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\knowledge\\\\page.tsx\",\n lineNumber: 35,\n columnNumber: 7\n }, this),\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"#f8d7da\",\n color: \"#c0392b\",\n borderRadius: \"var(--r-sm)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-small)\"\n },\n children: error\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\knowledge\\\\page.tsx\",\n lineNumber: 60,\n columnNumber: 9\n }, this),\n loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n color: \"var(--fg-muted)\",\n fontSize: \"var(--t-body)\"\n },\n children: \"Loading…\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\knowledge\\\\page.tsx\",\n lineNumber: 74,\n columnNumber: 9\n }, this) : filtered.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n textAlign: \"center\",\n color: \"var(--fg-muted)\",\n padding: \"var(--s-8, 64px) 0\",\n fontSize: \"var(--t-body)\"\n },\n children: filter === \"all\" ? \"No themes yet. Upload documents to get started.\" : `No ${filter} themes.`\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\knowledge\\\\page.tsx\",\n lineNumber: 76,\n columnNumber: 9\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-3)\"\n },\n children: filtered.map((theme)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_admin_ThemeCard__WEBPACK_IMPORTED_MODULE_2__.ThemeCard, {\n theme: theme,\n onUpdate: refresh\n }, theme.id, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\knowledge\\\\page.tsx\",\n lineNumber: 89,\n columnNumber: 13\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\knowledge\\\\page.tsx\",\n lineNumber: 87,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\knowledge\\\\page.tsx\",\n lineNumber: 17,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvYXBwL2FkbWluL2tub3dsZWRnZS9wYWdlLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUN1QztBQUNpQjtBQUNLO0FBRzlDLFNBQVNJO0lBQ3RCLE1BQU0sRUFBRUMsT0FBT0MsTUFBTSxFQUFFQyxPQUFPLEVBQUVDLEtBQUssRUFBRUMsT0FBTyxFQUFFLEdBQUdOLDJFQUFlQSxDQUFRLFVBQVU7UUFDbEZPLE1BQU07SUFDUjtJQUVBLE1BQU0sQ0FBQ0MsUUFBUUMsVUFBVSxHQUFHWCwrQ0FBUUEsQ0FBMEI7SUFFOUQsTUFBTVksV0FBV0YsV0FBVyxRQUFRTCxTQUFTQSxPQUFPSyxNQUFNLENBQUMsQ0FBQ0csSUFBTUEsRUFBRUMsTUFBTSxLQUFLSjtJQUUvRSxxQkFDRSw4REFBQ0s7UUFBSUMsT0FBTztZQUFFQyxTQUFTO1lBQVFDLGVBQWU7WUFBVUMsS0FBSztRQUFhOzswQkFDeEUsOERBQUNKOztrQ0FDQyw4REFBQ0s7d0JBQ0NKLE9BQU87NEJBQ0xLLFFBQVE7NEJBQ1JDLFVBQVU7NEJBQ1ZDLFlBQVk7NEJBQ1pDLE9BQU87d0JBQ1Q7a0NBQ0Q7Ozs7OztrQ0FHRCw4REFBQ0M7d0JBQUVULE9BQU87NEJBQUVLLFFBQVE7NEJBQUdDLFVBQVU7NEJBQWlCRSxPQUFPO3dCQUFrQjtrQ0FBRzs7Ozs7Ozs7Ozs7OzBCQU1oRiw4REFBQ1Q7Z0JBQUlDLE9BQU87b0JBQUVDLFNBQVM7b0JBQVFFLEtBQUs7b0JBQWNPLFVBQVU7Z0JBQU87MEJBQ2hFO29CQUFFO29CQUFPO29CQUFTO29CQUFhO2lCQUFXLENBQVdDLEdBQUcsQ0FBQyxDQUFDQyxrQkFDekQsOERBQUNDO3dCQUVDQyxTQUFTLElBQU1uQixVQUFVaUI7d0JBQ3pCWixPQUFPOzRCQUNMZSxZQUFZckIsV0FBV2tCLElBQUksa0JBQWtCOzRCQUM3Q0osT0FBT2QsV0FBV2tCLElBQUksaUJBQWlCOzRCQUN2Q0ksUUFBUTs0QkFDUkMsY0FBYzs0QkFDZEMsU0FBUzs0QkFDVFosVUFBVTs0QkFDVmEsWUFBWTs0QkFDWkMsUUFBUTs0QkFDUkMsV0FBVzs0QkFDWEMsZUFBZTs0QkFDZkMsWUFBWTt3QkFDZDtrQ0FFQ1g7dUJBaEJJQTs7Ozs7Ozs7OztZQXFCVnJCLHVCQUNDLDhEQUFDUTtnQkFDQ0MsT0FBTztvQkFDTGUsWUFBWTtvQkFDWlAsT0FBTztvQkFDUFMsY0FBYztvQkFDZEMsU0FBUztvQkFDVFosVUFBVTtnQkFDWjswQkFFQ2Y7Ozs7OztZQUlKRCx3QkFDQyw4REFBQ1M7Z0JBQUlDLE9BQU87b0JBQUVRLE9BQU87b0JBQW1CRixVQUFVO2dCQUFnQjswQkFBRzs7Ozs7dUJBQ25FVixTQUFTNEIsTUFBTSxLQUFLLGtCQUN0Qiw4REFBQ3pCO2dCQUNDQyxPQUFPO29CQUNMeUIsV0FBVztvQkFDWGpCLE9BQU87b0JBQ1BVLFNBQVM7b0JBQ1RaLFVBQVU7Z0JBQ1o7MEJBRUNaLFdBQVcsUUFBUSxvREFBb0QsQ0FBQyxHQUFHLEVBQUVBLE9BQU8sUUFBUSxDQUFDOzs7OztxQ0FHaEcsOERBQUNLO2dCQUFJQyxPQUFPO29CQUFFQyxTQUFTO29CQUFRQyxlQUFlO29CQUFVQyxLQUFLO2dCQUFhOzBCQUN2RVAsU0FBU2UsR0FBRyxDQUFDLENBQUNlLHNCQUNiLDhEQUFDekMsa0VBQVNBO3dCQUFnQnlDLE9BQU9BO3dCQUFPQyxVQUFVbkM7dUJBQWxDa0MsTUFBTUUsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztBQU1wQyIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2FwcC9hZG1pbi9rbm93bGVkZ2UvcGFnZS50c3g/ZDZkZiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgVGhlbWVDYXJkIH0gZnJvbSAnQC9jb21wb25lbnRzL2FkbWluL1RoZW1lQ2FyZCdcbmltcG9ydCB7IHVzZVBCQ29sbGVjdGlvbiB9IGZyb20gJ0AvbGliL2hvb2tzL3VzZVBCQ29sbGVjdGlvbidcbmltcG9ydCB0eXBlIHsgVGhlbWUgfSBmcm9tICdAL3R5cGVzJ1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBLbm93bGVkZ2VQYWdlKCkge1xuICBjb25zdCB7IGl0ZW1zOiB0aGVtZXMsIGxvYWRpbmcsIGVycm9yLCByZWZyZXNoIH0gPSB1c2VQQkNvbGxlY3Rpb248VGhlbWU+KCd0aGVtZXMnLCB7XG4gICAgc29ydDogJy1jcmVhdGVkX2F0JyxcbiAgfSlcblxuICBjb25zdCBbZmlsdGVyLCBzZXRGaWx0ZXJdID0gdXNlU3RhdGU8VGhlbWVbJ3N0YXR1cyddIHwgJ2FsbCc+KCdhbGwnKVxuXG4gIGNvbnN0IGZpbHRlcmVkID0gZmlsdGVyID09PSAnYWxsJyA/IHRoZW1lcyA6IHRoZW1lcy5maWx0ZXIoKHQpID0+IHQuc3RhdHVzID09PSBmaWx0ZXIpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogJ3ZhcigtLXMtNiknIH19PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGgxXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIG1hcmdpbjogJzAgMCB2YXIoLS1zLTIpJyxcbiAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1oMyknLFxuICAgICAgICAgICAgZm9udFdlaWdodDogNzAwLFxuICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZyknLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICBLbm93bGVkZ2UgYmFzZVxuICAgICAgICA8L2gxPlxuICAgICAgICA8cCBzdHlsZT17eyBtYXJnaW46IDAsIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsIGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJyB9fT5cbiAgICAgICAgICBUaGVtZXMgZXh0cmFjdGVkIGZyb20gaW5nZXN0ZWQgZG9jdW1lbnRzLlxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cblxuICAgICAgey8qIEZpbHRlciB0YWJzICovfVxuICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGdhcDogJ3ZhcigtLXMtMiknLCBmbGV4V3JhcDogJ3dyYXAnIH19PlxuICAgICAgICB7KFsnYWxsJywgJ2RyYWZ0JywgJ3B1Ymxpc2hlZCcsICdyZWplY3RlZCddIGFzIGNvbnN0KS5tYXAoKGYpID0+IChcbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBrZXk9e2Z9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRGaWx0ZXIoZil9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBmaWx0ZXIgPT09IGYgPyAndmFyKC0tYWNjZW50KScgOiAndmFyKC0tYmctd2FybSknLFxuICAgICAgICAgICAgICBjb2xvcjogZmlsdGVyID09PSBmID8gJ3ZhcigtLXBhcGVyKScgOiAndmFyKC0tZmcpJyxcbiAgICAgICAgICAgICAgYm9yZGVyOiAnMS41cHggc29saWQgdmFyKC0tY3JlYW0pJyxcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1waWxsKScsXG4gICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTEpIHZhcigtLXMtNCknLFxuICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICAgICAgICAgICAgZm9udEZhbWlseTogJ3ZhcigtLWZvbnQtc2FucyknLFxuICAgICAgICAgICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgICAgICAgICAgbWluSGVpZ2h0OiAnMzZweCcsXG4gICAgICAgICAgICAgIHRleHRUcmFuc2Zvcm06ICdjYXBpdGFsaXplJyxcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ2JhY2tncm91bmQgMTUwbXMnLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Zn1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgKSl9XG4gICAgICA8L2Rpdj5cblxuICAgICAge2Vycm9yICYmIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2Y4ZDdkYScsXG4gICAgICAgICAgICBjb2xvcjogJyNjMDM5MmInLFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1zbSknLFxuICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtMykgdmFyKC0tcy00KScsXG4gICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge2Vycm9yfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG5cbiAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICA8ZGl2IHN0eWxlPXt7IGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJywgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyB9fT5Mb2FkaW5n4oCmPC9kaXY+XG4gICAgICApIDogZmlsdGVyZWQubGVuZ3RoID09PSAwID8gKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy04LCA2NHB4KSAwJyxcbiAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtmaWx0ZXIgPT09ICdhbGwnID8gJ05vIHRoZW1lcyB5ZXQuIFVwbG9hZCBkb2N1bWVudHMgdG8gZ2V0IHN0YXJ0ZWQuJyA6IGBObyAke2ZpbHRlcn0gdGhlbWVzLmB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IChcbiAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBnYXA6ICd2YXIoLS1zLTMpJyB9fT5cbiAgICAgICAgICB7ZmlsdGVyZWQubWFwKCh0aGVtZSkgPT4gKFxuICAgICAgICAgICAgPFRoZW1lQ2FyZCBrZXk9e3RoZW1lLmlkfSB0aGVtZT17dGhlbWV9IG9uVXBkYXRlPXtyZWZyZXNofSAvPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwiVGhlbWVDYXJkIiwidXNlUEJDb2xsZWN0aW9uIiwiS25vd2xlZGdlUGFnZSIsIml0ZW1zIiwidGhlbWVzIiwibG9hZGluZyIsImVycm9yIiwicmVmcmVzaCIsInNvcnQiLCJmaWx0ZXIiLCJzZXRGaWx0ZXIiLCJmaWx0ZXJlZCIsInQiLCJzdGF0dXMiLCJkaXYiLCJzdHlsZSIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiZ2FwIiwiaDEiLCJtYXJnaW4iLCJmb250U2l6ZSIsImZvbnRXZWlnaHQiLCJjb2xvciIsInAiLCJmbGV4V3JhcCIsIm1hcCIsImYiLCJidXR0b24iLCJvbkNsaWNrIiwiYmFja2dyb3VuZCIsImJvcmRlciIsImJvcmRlclJhZGl1cyIsInBhZGRpbmciLCJmb250RmFtaWx5IiwiY3Vyc29yIiwibWluSGVpZ2h0IiwidGV4dFRyYW5zZm9ybSIsInRyYW5zaXRpb24iLCJsZW5ndGgiLCJ0ZXh0QWxpZ24iLCJ0aGVtZSIsIm9uVXBkYXRlIiwiaWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/app/admin/knowledge/page.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/app/admin/layout.tsx": +/*!**********************************!*\ + !*** ./src/app/admin/layout.tsx ***! + \**********************************/ +/***/ ((__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 */ AdminLayout)\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_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _lib_auth__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/lib/auth */ \"(ssr)/./src/lib/auth.ts\");\n/* harmony import */ var _components_ui_Button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\nconst NAV_ITEMS = [\n {\n href: \"/admin/documents\",\n label: \"Documents\",\n icon: \"\\uD83D\\uDCC4\"\n },\n {\n href: \"/admin/knowledge\",\n label: \"Knowledge\",\n icon: \"\\uD83E\\uDDE0\"\n },\n {\n href: \"/admin/curriculum\",\n label: \"Curriculum\",\n icon: \"\\uD83D\\uDCC5\"\n }\n];\nfunction AdminLayout({ children }) {\n const pathname = (0,next_navigation__WEBPACK_IMPORTED_MODULE_3__.usePathname)();\n const [mobileNavOpen, setMobileNavOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n minHeight: \"100dvh\",\n display: \"flex\",\n flexDirection: \"column\",\n background: \"var(--bg)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n style: {\n background: \"var(--bg-dark)\",\n color: \"var(--paper)\",\n height: \"var(--nav-height)\",\n display: \"flex\",\n alignItems: \"center\",\n padding: \"0 var(--s-5)\",\n gap: \"var(--s-4)\",\n position: \"sticky\",\n top: 0,\n zIndex: 100,\n flexShrink: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setMobileNavOpen((o)=>!o),\n style: {\n background: \"none\",\n border: \"none\",\n color: \"var(--paper)\",\n cursor: \"pointer\",\n fontSize: \"22px\",\n padding: \"var(--s-1)\",\n minWidth: \"44px\",\n minHeight: \"44px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n \"aria-label\": \"Toggle navigation\",\n children: \"☰\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 44,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontWeight: 700,\n fontSize: \"var(--t-body)\",\n flex: 1\n },\n children: \"Admin\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: \"/app\",\n style: {\n textDecoration: \"none\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-small)\",\n color: \"rgba(255,255,255,0.75)\",\n cursor: \"pointer\"\n },\n children: \"Employee app →\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 69,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 68,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_5__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: _lib_auth__WEBPACK_IMPORTED_MODULE_4__.logout,\n style: {\n color: \"rgba(255,255,255,0.75)\",\n borderColor: \"rgba(255,255,255,0.25)\"\n },\n children: \"Logout\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 74,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 28,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flex: 1,\n position: \"relative\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n style: {\n width: \"220px\",\n background: \"var(--bg-warm)\",\n borderRight: \"1px solid var(--cream)\",\n padding: \"var(--s-5) 0\",\n display: \"none\",\n flexDirection: \"column\",\n gap: \"var(--s-1)\",\n position: \"sticky\",\n top: \"var(--nav-height)\",\n height: \"calc(100dvh - var(--nav-height))\",\n overflowY: \"auto\",\n flexShrink: 0\n },\n className: \"admin-sidebar\",\n children: NAV_ITEMS.map((item)=>{\n const active = pathname.startsWith(item.href);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: item.href,\n style: {\n textDecoration: \"none\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-3)\",\n padding: \"var(--s-3) var(--s-5)\",\n background: active ? \"var(--bg)\" : \"transparent\",\n borderRight: active ? \"3px solid var(--accent)\" : \"3px solid transparent\",\n fontSize: \"var(--t-body)\",\n fontWeight: active ? 600 : 400,\n color: active ? \"var(--accent)\" : \"var(--fg)\",\n transition: \"background 150ms\",\n cursor: \"pointer\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.icon\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 125,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 126,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 110,\n columnNumber: 17\n }, this)\n }, item.href, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 109,\n columnNumber: 15\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 89,\n columnNumber: 9\n }, this),\n mobileNavOpen && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n background: \"var(--bg-warm)\",\n borderBottom: \"1px solid var(--cream)\",\n zIndex: 99,\n display: \"flex\",\n flexDirection: \"column\"\n },\n children: NAV_ITEMS.map((item)=>{\n const active = pathname.startsWith(item.href);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: item.href,\n onClick: ()=>setMobileNavOpen(false),\n style: {\n textDecoration: \"none\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-3)\",\n padding: \"var(--s-4) var(--s-5)\",\n borderBottom: \"1px solid var(--cream)\",\n background: active ? \"var(--bg)\" : \"transparent\",\n fontSize: \"var(--t-body)\",\n fontWeight: active ? 600 : 400,\n color: active ? \"var(--accent)\" : \"var(--fg)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.icon\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 170,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 171,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 157,\n columnNumber: 19\n }, this)\n }, item.href, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 151,\n columnNumber: 17\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 135,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n style: {\n flex: 1,\n padding: \"var(--s-5)\",\n maxWidth: \"900px\",\n width: \"100%\",\n margin: \"0 auto\"\n },\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 180,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 87,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"style\", {\n children: `\n @media (min-width: 768px) {\n .admin-sidebar {\n display: flex !important;\n }\n }\n `\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 193,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 19,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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b0MsVUFBVTs0QkFDVmIsT0FBTzs0QkFDUGMsUUFBUTt3QkFDVjtrQ0FFQ25EOzs7Ozs7Ozs7Ozs7MEJBSUwsOERBQUNLOzBCQUFPLENBQUM7Ozs7OztNQU1ULENBQUM7Ozs7Ozs7Ozs7OztBQUdQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL2FkbWluL2xheW91dC50c3g/NTZkMCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IExpbmsgZnJvbSAnbmV4dC9saW5rJ1xuaW1wb3J0IHsgdXNlUGF0aG5hbWUgfSBmcm9tICduZXh0L25hdmlnYXRpb24nXG5pbXBvcnQgeyBsb2dvdXQgfSBmcm9tICdAL2xpYi9hdXRoJ1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL0J1dHRvbidcblxuY29uc3QgTkFWX0lURU1TID0gW1xuICB7IGhyZWY6ICcvYWRtaW4vZG9jdW1lbnRzJywgbGFiZWw6ICdEb2N1bWVudHMnLCBpY29uOiAn8J+ThCcgfSxcbiAgeyBocmVmOiAnL2FkbWluL2tub3dsZWRnZScsIGxhYmVsOiAnS25vd2xlZGdlJywgaWNvbjogJ/Cfp6AnIH0sXG4gIHsgaHJlZjogJy9hZG1pbi9jdXJyaWN1bHVtJywgbGFiZWw6ICdDdXJyaWN1bHVtJywgaWNvbjogJ/Cfk4UnIH0sXG5dXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEFkbWluTGF5b3V0KHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VQYXRobmFtZSgpXG4gIGNvbnN0IFttb2JpbGVOYXZPcGVuLCBzZXRNb2JpbGVOYXZPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgbWluSGVpZ2h0OiAnMTAwZHZoJyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnKScsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHsvKiBUb3AgYmFyICovfVxuICAgICAgPGhlYWRlclxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZy1kYXJrKScsXG4gICAgICAgICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgICAgICAgIGhlaWdodDogJ3ZhcigtLW5hdi1oZWlnaHQpJyxcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgcGFkZGluZzogJzAgdmFyKC0tcy01KScsXG4gICAgICAgICAgZ2FwOiAndmFyKC0tcy00KScsXG4gICAgICAgICAgcG9zaXRpb246ICdzdGlja3knLFxuICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICB6SW5kZXg6IDEwMCxcbiAgICAgICAgICBmbGV4U2hyaW5rOiAwLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7LyogTW9iaWxlIG1lbnUgdG9nZ2xlICovfVxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0TW9iaWxlTmF2T3BlbigobykgPT4gIW8pfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAnbm9uZScsXG4gICAgICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tcGFwZXIpJyxcbiAgICAgICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICAgICAgZm9udFNpemU6ICcyMnB4JyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTEpJyxcbiAgICAgICAgICAgIG1pbldpZHRoOiAnNDRweCcsXG4gICAgICAgICAgICBtaW5IZWlnaHQ6ICc0NHB4JyxcbiAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1sYWJlbD1cIlRvZ2dsZSBuYXZpZ2F0aW9uXCJcbiAgICAgICAgPlxuICAgICAgICAgIOKYsFxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250V2VpZ2h0OiA3MDAsIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsIGZsZXg6IDEgfX0+XG4gICAgICAgICAgQWRtaW5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxMaW5rIGhyZWY9XCIvYXBwXCIgc3R5bGU9e3sgdGV4dERlY29yYXRpb246ICdub25lJyB9fT5cbiAgICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJywgY29sb3I6ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNzUpJywgY3Vyc29yOiAncG9pbnRlcicgfX0+XG4gICAgICAgICAgICBFbXBsb3llZSBhcHAg4oaSXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L0xpbms+XG5cbiAgICAgICAgPEJ1dHRvblxuICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICBvbkNsaWNrPXtsb2dvdXR9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwwLjc1KScsXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogJ3JnYmEoMjU1LDI1NSwyNTUsMC4yNSknLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICBMb2dvdXRcbiAgICAgICAgPC9CdXR0b24+XG4gICAgICA8L2hlYWRlcj5cblxuICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXg6IDEsIHBvc2l0aW9uOiAncmVsYXRpdmUnIH19PlxuICAgICAgICB7LyogU2lkZWJhciAoZGVza3RvcCkgKi99XG4gICAgICAgIDxuYXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgd2lkdGg6ICcyMjBweCcsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctd2FybSknLFxuICAgICAgICAgICAgYm9yZGVyUmlnaHQ6ICcxcHggc29saWQgdmFyKC0tY3JlYW0pJyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTUpIDAnLFxuICAgICAgICAgICAgZGlzcGxheTogJ25vbmUnLFxuICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTEpJyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnc3RpY2t5JyxcbiAgICAgICAgICAgIHRvcDogJ3ZhcigtLW5hdi1oZWlnaHQpJyxcbiAgICAgICAgICAgIGhlaWdodDogJ2NhbGMoMTAwZHZoIC0gdmFyKC0tbmF2LWhlaWdodCkpJyxcbiAgICAgICAgICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgICAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNsYXNzTmFtZT1cImFkbWluLXNpZGViYXJcIlxuICAgICAgICA+XG4gICAgICAgICAge05BVl9JVEVNUy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IHBhdGhuYW1lLnN0YXJ0c1dpdGgoaXRlbS5ocmVmKVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPExpbmsga2V5PXtpdGVtLmhyZWZ9IGhyZWY9e2l0ZW0uaHJlZn0gc3R5bGU9e3sgdGV4dERlY29yYXRpb246ICdub25lJyB9fT5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTMpJyxcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtMykgdmFyKC0tcy01KScsXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGFjdGl2ZSA/ICd2YXIoLS1iZyknIDogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmlnaHQ6IGFjdGl2ZSA/ICczcHggc29saWQgdmFyKC0tYWNjZW50KScgOiAnM3B4IHNvbGlkIHRyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogYWN0aXZlID8gNjAwIDogNDAwLFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlID8gJ3ZhcigtLWFjY2VudCknIDogJ3ZhcigtLWZnKScsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICdiYWNrZ3JvdW5kIDE1MG1zJyxcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPntpdGVtLmljb259PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e2l0ZW0ubGFiZWx9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICApXG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvbmF2PlxuXG4gICAgICAgIHsvKiBNb2JpbGUgbmF2IGRyb3Bkb3duICovfVxuICAgICAgICB7bW9iaWxlTmF2T3BlbiAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZy13YXJtKScsXG4gICAgICAgICAgICAgIGJvcmRlckJvdHRvbTogJzFweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgICB6SW5kZXg6IDk5LFxuICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7TkFWX0lURU1TLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBwYXRobmFtZS5zdGFydHNXaXRoKGl0ZW0uaHJlZilcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgICAga2V5PXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgICBocmVmPXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRNb2JpbGVOYXZPcGVuKGZhbHNlKX1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHRleHREZWNvcmF0aW9uOiAnbm9uZScgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgIGdhcDogJ3ZhcigtLXMtMyknLFxuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTQpIHZhcigtLXMtNSknLFxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlckJvdHRvbTogJzFweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGFjdGl2ZSA/ICd2YXIoLS1iZyknIDogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IGFjdGl2ZSA/IDYwMCA6IDQwMCxcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlID8gJ3ZhcigtLWFjY2VudCknIDogJ3ZhcigtLWZnKScsXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPntpdGVtLmljb259PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57aXRlbS5sYWJlbH08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuXG4gICAgICAgIHsvKiBNYWluIGNvbnRlbnQgKi99XG4gICAgICAgIDxtYWluXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy01KScsXG4gICAgICAgICAgICBtYXhXaWR0aDogJzkwMHB4JyxcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICBtYXJnaW46ICcwIGF1dG8nLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvbWFpbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8c3R5bGU+e2BcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgLmFkbWluLXNpZGViYXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgYH08L3N0eWxlPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsIkxpbmsiLCJ1c2VQYXRobmFtZSIsImxvZ291dCIsIkJ1dHRvbiIsIk5BVl9JVEVNUyIsImhyZWYiLCJsYWJlbCIsImljb24iLCJBZG1pbkxheW91dCIsImNoaWxkcmVuIiwicGF0aG5hbWUiLCJtb2JpbGVOYXZPcGVuIiwic2V0TW9iaWxlTmF2T3BlbiIsImRpdiIsInN0eWxlIiwibWluSGVpZ2h0IiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJiYWNrZ3JvdW5kIiwiaGVhZGVyIiwiY29sb3IiLCJoZWlnaHQiLCJhbGlnbkl0ZW1zIiwicGFkZGluZyIsImdhcCIsInBvc2l0aW9uIiwidG9wIiwiekluZGV4IiwiZmxleFNocmluayIsImJ1dHRvbiIsIm9uQ2xpY2siLCJvIiwiYm9yZGVyIiwiY3Vyc29yIiwiZm9udFNpemUiLCJtaW5XaWR0aCIsImp1c3RpZnlDb250ZW50IiwiYXJpYS1sYWJlbCIsInNwYW4iLCJmb250V2VpZ2h0IiwiZmxleCIsInRleHREZWNvcmF0aW9uIiwidmFyaWFudCIsInNpemUiLCJib3JkZXJDb2xvciIsIm5hdiIsIndpZHRoIiwiYm9yZGVyUmlnaHQiLCJvdmVyZmxvd1kiLCJjbGFzc05hbWUiLCJtYXAiLCJpdGVtIiwiYWN0aXZlIiwic3RhcnRzV2l0aCIsInRyYW5zaXRpb24iLCJsZWZ0IiwicmlnaHQiLCJib3JkZXJCb3R0b20iLCJtYWluIiwibWF4V2lkdGgiLCJtYXJnaW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/app/admin/layout.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/admin/ThemeCard.tsx": +/*!********************************************!*\ + !*** ./src/components/admin/ThemeCard.tsx ***! + \********************************************/ +/***/ ((__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 */ ThemeCard: () => (/* binding */ ThemeCard)\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_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var _components_ui_StatusBadge__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/StatusBadge */ \"(ssr)/./src/components/ui/StatusBadge.tsx\");\n/* harmony import */ var _components_ui_Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* harmony import */ var _lib_services__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/lib/services */ \"(ssr)/./src/lib/services.ts\");\n/* __next_internal_client_entry_do_not_use__ ThemeCard auto */ \n\n\n\n\n\nfunction ThemeCard({ theme, onUpdate }) {\n const [generating, setGenerating] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [queued, setQueued] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n async function handleGenerate() {\n setGenerating(true);\n setError(null);\n try {\n const { queued: q } = await (0,_lib_services__WEBPACK_IMPORTED_MODULE_5__.postGenerateAll)(theme.id);\n setQueued(q);\n onUpdate();\n } catch (err) {\n setError(err instanceof Error ? err.message : \"Generation failed\");\n } finally{\n setGenerating(false);\n }\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"var(--bg)\",\n border: \"1.5px solid var(--cream)\",\n borderRadius: \"var(--r-md)\",\n padding: \"var(--s-4)\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-3)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"space-between\",\n gap: \"var(--s-3)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n flex: 1,\n minWidth: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n style: {\n margin: \"0 0 var(--s-1)\",\n fontSize: \"var(--t-body)\",\n fontWeight: 700,\n color: \"var(--fg)\"\n },\n children: theme.title\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\ThemeCard.tsx\",\n lineNumber: 47,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-small)\",\n color: \"var(--fg-muted)\",\n lineHeight: 1.5\n },\n children: theme.description\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\ThemeCard.tsx\",\n lineNumber: 57,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\ThemeCard.tsx\",\n lineNumber: 46,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_StatusBadge__WEBPACK_IMPORTED_MODULE_3__.StatusBadge, {\n status: theme.status\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\ThemeCard.tsx\",\n lineNumber: 68,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\ThemeCard.tsx\",\n lineNumber: 45,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n color: \"var(--fg-subtle)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\"\n },\n children: [\n theme.source_documents.length,\n \" source doc\",\n theme.source_documents.length !== 1 ? \"s\" : \"\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\ThemeCard.tsx\",\n lineNumber: 71,\n columnNumber: 7\n }, this),\n queued !== null && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"var(--success)\",\n color: \"var(--teal-900)\",\n borderRadius: \"var(--r-sm)\",\n padding: \"var(--s-2) var(--s-3)\",\n fontSize: \"var(--t-small)\",\n fontWeight: 500\n },\n children: [\n queued,\n \" micro-learnings queued for generation\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\ThemeCard.tsx\",\n lineNumber: 84,\n columnNumber: 9\n }, this),\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"#f8d7da\",\n color: \"#c0392b\",\n borderRadius: \"var(--r-sm)\",\n padding: \"var(--s-2) var(--s-3)\",\n fontSize: \"var(--t-small)\"\n },\n children: error\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\ThemeCard.tsx\",\n lineNumber: 99,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n gap: \"var(--s-2)\",\n flexWrap: \"wrap\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: `/admin/knowledge/${theme.id}`,\n style: {\n textDecoration: \"none\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"secondary\",\n size: \"sm\",\n children: \"View topics\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\ThemeCard.tsx\",\n lineNumber: 114,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\ThemeCard.tsx\",\n lineNumber: 113,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"primary\",\n size: \"sm\",\n onClick: ()=>void handleGenerate(),\n loading: generating,\n children: \"Generate micro-learnings\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\ThemeCard.tsx\",\n lineNumber: 118,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\ThemeCard.tsx\",\n lineNumber: 112,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\admin\\\\ThemeCard.tsx\",\n lineNumber: 34,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9hZG1pbi9UaGVtZUNhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFDdUM7QUFDWDtBQUU2QjtBQUNWO0FBQ0M7QUFPekMsU0FBU00sVUFBVSxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsRUFBa0I7SUFDM0QsTUFBTSxDQUFDQyxZQUFZQyxjQUFjLEdBQUdULCtDQUFRQSxDQUFDO0lBQzdDLE1BQU0sQ0FBQ1UsT0FBT0MsU0FBUyxHQUFHWCwrQ0FBUUEsQ0FBZ0I7SUFDbEQsTUFBTSxDQUFDWSxRQUFRQyxVQUFVLEdBQUdiLCtDQUFRQSxDQUFnQjtJQUVwRCxlQUFlYztRQUNiTCxjQUFjO1FBQ2RFLFNBQVM7UUFDVCxJQUFJO1lBQ0YsTUFBTSxFQUFFQyxRQUFRRyxDQUFDLEVBQUUsR0FBRyxNQUFNWCw4REFBZUEsQ0FBQ0UsTUFBTVUsRUFBRTtZQUNwREgsVUFBVUU7WUFDVlI7UUFDRixFQUFFLE9BQU9VLEtBQUs7WUFDWk4sU0FBU00sZUFBZUMsUUFBUUQsSUFBSUUsT0FBTyxHQUFHO1FBQ2hELFNBQVU7WUFDUlYsY0FBYztRQUNoQjtJQUNGO0lBRUEscUJBQ0UsOERBQUNXO1FBQ0NDLE9BQU87WUFDTEMsWUFBWTtZQUNaQyxRQUFRO1lBQ1JDLGNBQWM7WUFDZEMsU0FBUztZQUNUQyxTQUFTO1lBQ1RDLGVBQWU7WUFDZkMsS0FBSztRQUNQOzswQkFFQSw4REFBQ1I7Z0JBQUlDLE9BQU87b0JBQUVLLFNBQVM7b0JBQVFHLFlBQVk7b0JBQWNDLGdCQUFnQjtvQkFBaUJGLEtBQUs7Z0JBQWE7O2tDQUMxRyw4REFBQ1I7d0JBQUlDLE9BQU87NEJBQUVVLE1BQU07NEJBQUdDLFVBQVU7d0JBQUU7OzBDQUNqQyw4REFBQ0M7Z0NBQ0NaLE9BQU87b0NBQ0xhLFFBQVE7b0NBQ1JDLFVBQVU7b0NBQ1ZDLFlBQVk7b0NBQ1pDLE9BQU87Z0NBQ1Q7MENBRUMvQixNQUFNZ0MsS0FBSzs7Ozs7OzBDQUVkLDhEQUFDQztnQ0FDQ2xCLE9BQU87b0NBQ0xhLFFBQVE7b0NBQ1JDLFVBQVU7b0NBQ1ZFLE9BQU87b0NBQ1BHLFlBQVk7Z0NBQ2Q7MENBRUNsQyxNQUFNbUMsV0FBVzs7Ozs7Ozs7Ozs7O2tDQUd0Qiw4REFBQ3ZDLG1FQUFXQTt3QkFBQ3dDLFFBQVFwQyxNQUFNb0MsTUFBTTs7Ozs7Ozs7Ozs7OzBCQUduQyw4REFBQ3RCO2dCQUNDQyxPQUFPO29CQUNMYyxVQUFVO29CQUNWUSxZQUFZO29CQUNaTixPQUFPO29CQUNQTyxlQUFlO29CQUNmQyxlQUFlO2dCQUNqQjs7b0JBRUN2QyxNQUFNd0MsZ0JBQWdCLENBQUNDLE1BQU07b0JBQUM7b0JBQVl6QyxNQUFNd0MsZ0JBQWdCLENBQUNDLE1BQU0sS0FBSyxJQUFJLE1BQU07Ozs7Ozs7WUFHeEZuQyxXQUFXLHNCQUNWLDhEQUFDUTtnQkFDQ0MsT0FBTztvQkFDTEMsWUFBWTtvQkFDWmUsT0FBTztvQkFDUGIsY0FBYztvQkFDZEMsU0FBUztvQkFDVFUsVUFBVTtvQkFDVkMsWUFBWTtnQkFDZDs7b0JBRUN4QjtvQkFBTzs7Ozs7OztZQUlYRix1QkFDQyw4REFBQ1U7Z0JBQ0NDLE9BQU87b0JBQ0xDLFlBQVk7b0JBQ1plLE9BQU87b0JBQ1BiLGNBQWM7b0JBQ2RDLFNBQVM7b0JBQ1RVLFVBQVU7Z0JBQ1o7MEJBRUN6Qjs7Ozs7OzBCQUlMLDhEQUFDVTtnQkFBSUMsT0FBTztvQkFBRUssU0FBUztvQkFBUUUsS0FBSztvQkFBY29CLFVBQVU7Z0JBQU87O2tDQUNqRSw4REFBQy9DLGlEQUFJQTt3QkFBQ2dELE1BQU0sQ0FBQyxpQkFBaUIsRUFBRTNDLE1BQU1VLEVBQUUsQ0FBQyxDQUFDO3dCQUFFSyxPQUFPOzRCQUFFNkIsZ0JBQWdCO3dCQUFPO2tDQUMxRSw0RUFBQy9DLHlEQUFNQTs0QkFBQ2dELFNBQVE7NEJBQVlDLE1BQUs7c0NBQUs7Ozs7Ozs7Ozs7O2tDQUl4Qyw4REFBQ2pELHlEQUFNQTt3QkFDTGdELFNBQVE7d0JBQ1JDLE1BQUs7d0JBQ0xDLFNBQVMsSUFBTSxLQUFLdkM7d0JBQ3BCd0MsU0FBUzlDO2tDQUNWOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNVCIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2NvbXBvbmVudHMvYWRtaW4vVGhlbWVDYXJkLnRzeD84YmNjIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnXG5pbXBvcnQgdHlwZSB7IFRoZW1lIH0gZnJvbSAnQC90eXBlcydcbmltcG9ydCB7IFN0YXR1c0JhZGdlIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL1N0YXR1c0JhZGdlJ1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL0J1dHRvbidcbmltcG9ydCB7IHBvc3RHZW5lcmF0ZUFsbCB9IGZyb20gJ0AvbGliL3NlcnZpY2VzJ1xuXG5pbnRlcmZhY2UgVGhlbWVDYXJkUHJvcHMge1xuICB0aGVtZTogVGhlbWVcbiAgb25VcGRhdGU6ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRoZW1lQ2FyZCh7IHRoZW1lLCBvblVwZGF0ZSB9OiBUaGVtZUNhcmRQcm9wcykge1xuICBjb25zdCBbZ2VuZXJhdGluZywgc2V0R2VuZXJhdGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBbcXVldWVkLCBzZXRRdWV1ZWRdID0gdXNlU3RhdGU8bnVtYmVyIHwgbnVsbD4obnVsbClcblxuICBhc3luYyBmdW5jdGlvbiBoYW5kbGVHZW5lcmF0ZSgpIHtcbiAgICBzZXRHZW5lcmF0aW5nKHRydWUpXG4gICAgc2V0RXJyb3IobnVsbClcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBxdWV1ZWQ6IHEgfSA9IGF3YWl0IHBvc3RHZW5lcmF0ZUFsbCh0aGVtZS5pZClcbiAgICAgIHNldFF1ZXVlZChxKVxuICAgICAgb25VcGRhdGUoKVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgc2V0RXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdHZW5lcmF0aW9uIGZhaWxlZCcpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldEdlbmVyYXRpbmcoZmFsc2UpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBzdHlsZT17e1xuICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmcpJyxcbiAgICAgICAgYm9yZGVyOiAnMS41cHggc29saWQgdmFyKC0tY3JlYW0pJyxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1tZCknLFxuICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy00KScsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgIGdhcDogJ3ZhcigtLXMtMyknLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2ZsZXgtc3RhcnQnLCBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLCBnYXA6ICd2YXIoLS1zLTMpJyB9fT5cbiAgICAgICAgPGRpdiBzdHlsZT17eyBmbGV4OiAxLCBtaW5XaWR0aDogMCB9fT5cbiAgICAgICAgICA8aDNcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIG1hcmdpbjogJzAgMCB2YXIoLS1zLTEpJyxcbiAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICAgICAgICAgICAgZm9udFdlaWdodDogNzAwLFxuICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnKScsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt0aGVtZS50aXRsZX1cbiAgICAgICAgICA8L2gzPlxuICAgICAgICAgIDxwXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBtYXJnaW46IDAsXG4gICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1zbWFsbCknLFxuICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3RoZW1lLmRlc2NyaXB0aW9ufVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxTdGF0dXNCYWRnZSBzdGF0dXM9e3RoZW1lLnN0YXR1c30gLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWxhYmVsKScsXG4gICAgICAgICAgZm9udEZhbWlseTogJ3ZhcigtLWZvbnQtbW9ubyknLFxuICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmctc3VidGxlKScsXG4gICAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsXG4gICAgICAgICAgbGV0dGVyU3BhY2luZzogJ3ZhcigtLWxhYmVsLWxzKScsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHt0aGVtZS5zb3VyY2VfZG9jdW1lbnRzLmxlbmd0aH0gc291cmNlIGRvY3t0aGVtZS5zb3VyY2VfZG9jdW1lbnRzLmxlbmd0aCAhPT0gMSA/ICdzJyA6ICcnfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIHtxdWV1ZWQgIT09IG51bGwgJiYgKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1zdWNjZXNzKScsXG4gICAgICAgICAgICBjb2xvcjogJ3ZhcigtLXRlYWwtOTAwKScsXG4gICAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXNtKScsXG4gICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTMpJyxcbiAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1zbWFsbCknLFxuICAgICAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICB7cXVldWVkfSBtaWNyby1sZWFybmluZ3MgcXVldWVkIGZvciBnZW5lcmF0aW9uXG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cblxuICAgICAge2Vycm9yICYmIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2Y4ZDdkYScsXG4gICAgICAgICAgICBjb2xvcjogJyNjMDM5MmInLFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1zbSknLFxuICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtMikgdmFyKC0tcy0zKScsXG4gICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge2Vycm9yfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG5cbiAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBnYXA6ICd2YXIoLS1zLTIpJywgZmxleFdyYXA6ICd3cmFwJyB9fT5cbiAgICAgICAgPExpbmsgaHJlZj17YC9hZG1pbi9rbm93bGVkZ2UvJHt0aGVtZS5pZH1gfSBzdHlsZT17eyB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnIH19PlxuICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cInNlY29uZGFyeVwiIHNpemU9XCJzbVwiPlxuICAgICAgICAgICAgVmlldyB0b3BpY3NcbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPC9MaW5rPlxuICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gdm9pZCBoYW5kbGVHZW5lcmF0ZSgpfVxuICAgICAgICAgIGxvYWRpbmc9e2dlbmVyYXRpbmd9XG4gICAgICAgID5cbiAgICAgICAgICBHZW5lcmF0ZSBtaWNyby1sZWFybmluZ3NcbiAgICAgICAgPC9CdXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlU3RhdGUiLCJMaW5rIiwiU3RhdHVzQmFkZ2UiLCJCdXR0b24iLCJwb3N0R2VuZXJhdGVBbGwiLCJUaGVtZUNhcmQiLCJ0aGVtZSIsIm9uVXBkYXRlIiwiZ2VuZXJhdGluZyIsInNldEdlbmVyYXRpbmciLCJlcnJvciIsInNldEVycm9yIiwicXVldWVkIiwic2V0UXVldWVkIiwiaGFuZGxlR2VuZXJhdGUiLCJxIiwiaWQiLCJlcnIiLCJFcnJvciIsIm1lc3NhZ2UiLCJkaXYiLCJzdHlsZSIsImJhY2tncm91bmQiLCJib3JkZXIiLCJib3JkZXJSYWRpdXMiLCJwYWRkaW5nIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJmbGV4IiwibWluV2lkdGgiLCJoMyIsIm1hcmdpbiIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsImNvbG9yIiwidGl0bGUiLCJwIiwibGluZUhlaWdodCIsImRlc2NyaXB0aW9uIiwic3RhdHVzIiwiZm9udEZhbWlseSIsInRleHRUcmFuc2Zvcm0iLCJsZXR0ZXJTcGFjaW5nIiwic291cmNlX2RvY3VtZW50cyIsImxlbmd0aCIsImZsZXhXcmFwIiwiaHJlZiIsInRleHREZWNvcmF0aW9uIiwidmFyaWFudCIsInNpemUiLCJvbkNsaWNrIiwibG9hZGluZyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/admin/ThemeCard.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/Button.tsx": +/*!**************************************!*\ + !*** ./src/components/ui/Button.tsx ***! + \**************************************/ +/***/ ((__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 */ Button: () => (/* binding */ Button)\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/* __next_internal_client_entry_do_not_use__ Button auto */ \n\nconst variantStyles = {\n primary: {\n background: \"var(--accent)\",\n color: \"var(--paper)\",\n border: \"none\"\n },\n secondary: {\n background: \"var(--bg-warm)\",\n color: \"var(--fg)\",\n border: \"1.5px solid var(--cream)\"\n },\n danger: {\n background: \"#c0392b\",\n color: \"var(--paper)\",\n border: \"none\"\n },\n ghost: {\n background: \"transparent\",\n color: \"var(--fg)\",\n border: \"1.5px solid var(--cream)\"\n }\n};\nconst sizeStyles = {\n sm: {\n fontSize: \"var(--t-small)\",\n padding: \"var(--s-2) var(--s-3)\",\n minHeight: \"36px\",\n borderRadius: \"var(--r-sm)\"\n },\n md: {\n fontSize: \"var(--t-body)\",\n padding: \"var(--s-2) var(--s-5)\",\n minHeight: \"44px\",\n borderRadius: \"var(--r-md)\"\n },\n lg: {\n fontSize: \"var(--t-lead)\",\n padding: \"var(--s-3) var(--s-6)\",\n minHeight: \"52px\",\n borderRadius: \"var(--r-lg)\"\n }\n};\nfunction Button({ variant = \"primary\", size = \"md\", loading = false, disabled, children, style, ...rest }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n disabled: disabled ?? loading,\n style: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"var(--s-2)\",\n fontFamily: \"var(--font-sans)\",\n fontWeight: 500,\n cursor: disabled ?? loading ? \"not-allowed\" : \"pointer\",\n opacity: disabled ?? loading ? 0.6 : 1,\n transition: \"opacity 150ms, transform 100ms\",\n ...variantStyles[variant],\n ...sizeStyles[size],\n ...style\n },\n ...rest,\n children: loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Spinner, {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 88,\n columnNumber: 11\n }, this),\n children\n ]\n }, void 0, true) : children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 68,\n columnNumber: 5\n }, this);\n}\nfunction Spinner() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n width: \"16px\",\n height: \"16px\",\n border: \"2px solid currentColor\",\n borderTopColor: \"transparent\",\n borderRadius: \"50%\",\n display: \"inline-block\",\n animation: \"spin 0.7s linear infinite\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 100,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9CdXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUN5QjtBQVl6QixNQUFNQyxnQkFBNEQ7SUFDaEVDLFNBQVM7UUFDUEMsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtJQUNBQyxXQUFXO1FBQ1RILFlBQVk7UUFDWkMsT0FBTztRQUNQQyxRQUFRO0lBQ1Y7SUFDQUUsUUFBUTtRQUNOSixZQUFZO1FBQ1pDLE9BQU87UUFDUEMsUUFBUTtJQUNWO0lBQ0FHLE9BQU87UUFDTEwsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtBQUNGO0FBRUEsTUFBTUksYUFBc0Q7SUFDMURDLElBQUk7UUFDRkMsVUFBVTtRQUNWQyxTQUFTO1FBQ1RDLFdBQVc7UUFDWEMsY0FBYztJQUNoQjtJQUNBQyxJQUFJO1FBQ0ZKLFVBQVU7UUFDVkMsU0FBUztRQUNUQyxXQUFXO1FBQ1hDLGNBQWM7SUFDaEI7SUFDQUUsSUFBSTtRQUNGTCxVQUFVO1FBQ1ZDLFNBQVM7UUFDVEMsV0FBVztRQUNYQyxjQUFjO0lBQ2hCO0FBQ0Y7QUFFTyxTQUFTRyxPQUFPLEVBQ3JCQyxVQUFVLFNBQVMsRUFDbkJDLE9BQU8sSUFBSSxFQUNYQyxVQUFVLEtBQUssRUFDZkMsUUFBUSxFQUNSQyxRQUFRLEVBQ1JDLEtBQUssRUFDTCxHQUFHQyxNQUNTO0lBQ1oscUJBQ0UsOERBQUNDO1FBQ0NKLFVBQVVBLFlBQVlEO1FBQ3RCRyxPQUFPO1lBQ0xHLFNBQVM7WUFDVEMsWUFBWTtZQUNaQyxnQkFBZ0I7WUFDaEJDLEtBQUs7WUFDTEMsWUFBWTtZQUNaQyxZQUFZO1lBQ1pDLFFBQVFYLFlBQVlELFVBQVUsZ0JBQWdCO1lBQzlDYSxTQUFTWixZQUFZRCxVQUFVLE1BQU07WUFDckNjLFlBQVk7WUFDWixHQUFHakMsYUFBYSxDQUFDaUIsUUFBUTtZQUN6QixHQUFHVCxVQUFVLENBQUNVLEtBQUs7WUFDbkIsR0FBR0ksS0FBSztRQUNWO1FBQ0MsR0FBR0MsSUFBSTtrQkFFUEosd0JBQ0M7OzhCQUNFLDhEQUFDZTs7Ozs7Z0JBQ0FiOzsyQkFHSEE7Ozs7OztBQUlSO0FBRUEsU0FBU2E7SUFDUCxxQkFDRSw4REFBQ0M7UUFDQ2IsT0FBTztZQUNMYyxPQUFPO1lBQ1BDLFFBQVE7WUFDUmpDLFFBQVE7WUFDUmtDLGdCQUFnQjtZQUNoQnpCLGNBQWM7WUFDZFksU0FBUztZQUNUYyxXQUFXO1FBQ2I7Ozs7OztBQUdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy91aS9CdXR0b24udHN4PzAxM2EiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbnR5cGUgQnV0dG9uVmFyaWFudCA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2RhbmdlcicgfCAnZ2hvc3QnXG50eXBlIEJ1dHRvblNpemUgPSAnc20nIHwgJ21kJyB8ICdsZydcblxuaW50ZXJmYWNlIEJ1dHRvblByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcbiAgdmFyaWFudD86IEJ1dHRvblZhcmlhbnRcbiAgc2l6ZT86IEJ1dHRvblNpemVcbiAgbG9hZGluZz86IGJvb2xlYW5cbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG5jb25zdCB2YXJpYW50U3R5bGVzOiBSZWNvcmQ8QnV0dG9uVmFyaWFudCwgUmVhY3QuQ1NTUHJvcGVydGllcz4gPSB7XG4gIHByaW1hcnk6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYWNjZW50KScsXG4gICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBzZWNvbmRhcnk6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctd2FybSknLFxuICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICBib3JkZXI6ICcxLjVweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICB9LFxuICBkYW5nZXI6IHtcbiAgICBiYWNrZ3JvdW5kOiAnI2MwMzkyYicsXG4gICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBnaG9zdDoge1xuICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXG4gICAgY29sb3I6ICd2YXIoLS1mZyknLFxuICAgIGJvcmRlcjogJzEuNXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gIH0sXG59XG5cbmNvbnN0IHNpemVTdHlsZXM6IFJlY29yZDxCdXR0b25TaXplLCBSZWFjdC5DU1NQcm9wZXJ0aWVzPiA9IHtcbiAgc206IHtcbiAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTMpJyxcbiAgICBtaW5IZWlnaHQ6ICczNnB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXNtKScsXG4gIH0sXG4gIG1kOiB7XG4gICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTUpJyxcbiAgICBtaW5IZWlnaHQ6ICc0NHB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLW1kKScsXG4gIH0sXG4gIGxnOiB7XG4gICAgZm9udFNpemU6ICd2YXIoLS10LWxlYWQpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTYpJyxcbiAgICBtaW5IZWlnaHQ6ICc1MnB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLWxnKScsXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b24oe1xuICB2YXJpYW50ID0gJ3ByaW1hcnknLFxuICBzaXplID0gJ21kJyxcbiAgbG9hZGluZyA9IGZhbHNlLFxuICBkaXNhYmxlZCxcbiAgY2hpbGRyZW4sXG4gIHN0eWxlLFxuICAuLi5yZXN0XG59OiBCdXR0b25Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZCA/PyBsb2FkaW5nfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgZ2FwOiAndmFyKC0tcy0yKScsXG4gICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICBjdXJzb3I6IGRpc2FibGVkID8/IGxvYWRpbmcgPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInLFxuICAgICAgICBvcGFjaXR5OiBkaXNhYmxlZCA/PyBsb2FkaW5nID8gMC42IDogMSxcbiAgICAgICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMTUwbXMsIHRyYW5zZm9ybSAxMDBtcycsXG4gICAgICAgIC4uLnZhcmlhbnRTdHlsZXNbdmFyaWFudF0sXG4gICAgICAgIC4uLnNpemVTdHlsZXNbc2l6ZV0sXG4gICAgICAgIC4uLnN0eWxlLFxuICAgICAgfX1cbiAgICAgIHsuLi5yZXN0fVxuICAgID5cbiAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxTcGlubmVyIC8+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGNoaWxkcmVuXG4gICAgICApfVxuICAgIDwvYnV0dG9uPlxuICApXG59XG5cbmZ1bmN0aW9uIFNwaW5uZXIoKSB7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHdpZHRoOiAnMTZweCcsXG4gICAgICAgIGhlaWdodDogJzE2cHgnLFxuICAgICAgICBib3JkZXI6ICcycHggc29saWQgY3VycmVudENvbG9yJyxcbiAgICAgICAgYm9yZGVyVG9wQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICBhbmltYXRpb246ICdzcGluIDAuN3MgbGluZWFyIGluZmluaXRlJyxcbiAgICAgIH19XG4gICAgLz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidmFyaWFudFN0eWxlcyIsInByaW1hcnkiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJib3JkZXIiLCJzZWNvbmRhcnkiLCJkYW5nZXIiLCJnaG9zdCIsInNpemVTdHlsZXMiLCJzbSIsImZvbnRTaXplIiwicGFkZGluZyIsIm1pbkhlaWdodCIsImJvcmRlclJhZGl1cyIsIm1kIiwibGciLCJCdXR0b24iLCJ2YXJpYW50Iiwic2l6ZSIsImxvYWRpbmciLCJkaXNhYmxlZCIsImNoaWxkcmVuIiwic3R5bGUiLCJyZXN0IiwiYnV0dG9uIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImdhcCIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiY3Vyc29yIiwib3BhY2l0eSIsInRyYW5zaXRpb24iLCJTcGlubmVyIiwic3BhbiIsIndpZHRoIiwiaGVpZ2h0IiwiYm9yZGVyVG9wQ29sb3IiLCJhbmltYXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/Button.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/StatusBadge.tsx": +/*!*******************************************!*\ + !*** ./src/components/ui/StatusBadge.tsx ***! + \*******************************************/ +/***/ ((__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 */ StatusBadge: () => (/* binding */ StatusBadge)\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/* __next_internal_client_entry_do_not_use__ StatusBadge auto */ \n\nconst STATUS_CONFIG = {\n queued: {\n label: \"Queued\",\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n },\n extracting: {\n label: \"Extracting\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n chunking: {\n label: \"Chunking\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n structuring: {\n label: \"Structuring\",\n background: \"#cce5ff\",\n color: \"#004085\"\n },\n writing: {\n label: \"Writing\",\n background: \"#cce5ff\",\n color: \"#004085\"\n },\n embedding: {\n label: \"Embedding\",\n background: \"#d4edda\",\n color: \"#155724\"\n },\n done: {\n label: \"Done\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n failed: {\n label: \"Failed\",\n background: \"#f8d7da\",\n color: \"#c0392b\"\n },\n processing: {\n label: \"Processing\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n processed: {\n label: \"Processed\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n draft: {\n label: \"Draft\",\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n },\n published: {\n label: \"Published\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n rejected: {\n label: \"Rejected\",\n background: \"#f8d7da\",\n color: \"#c0392b\"\n },\n generated: {\n label: \"Generated\",\n background: \"#cce5ff\",\n color: \"#004085\"\n },\n active: {\n label: \"Active\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n superseded: {\n label: \"Superseded\",\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n },\n introductory: {\n label: \"Introductory\",\n background: \"var(--accent-soft)\",\n color: \"var(--teal-900)\"\n },\n intermediate: {\n label: \"Intermediate\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n advanced: {\n label: \"Advanced\",\n background: \"var(--peri)\",\n color: \"var(--teal-900)\"\n }\n};\nfunction StatusBadge({ status }) {\n const config = STATUS_CONFIG[status] ?? {\n label: status,\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n display: \"inline-block\",\n padding: \"2px var(--s-2)\",\n borderRadius: \"var(--r-pill)\",\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n fontWeight: 500,\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n background: config.background,\n color: config.color\n },\n children: config.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\StatusBadge.tsx\",\n lineNumber: 58,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9TdGF0dXNCYWRnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ3lCO0FBbUJ6QixNQUFNQyxnQkFHRjtJQUNGQyxRQUFRO1FBQUVDLE9BQU87UUFBVUMsWUFBWTtRQUFnQkMsT0FBTztJQUFrQjtJQUNoRkMsWUFBWTtRQUFFSCxPQUFPO1FBQWNDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQzNFRSxVQUFVO1FBQUVKLE9BQU87UUFBWUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDdkVHLGFBQWE7UUFBRUwsT0FBTztRQUFlQyxZQUFZO1FBQVdDLE9BQU87SUFBVTtJQUM3RUksU0FBUztRQUFFTixPQUFPO1FBQVdDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQ3JFSyxXQUFXO1FBQUVQLE9BQU87UUFBYUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDekVNLE1BQU07UUFBRVIsT0FBTztRQUFRQyxZQUFZO1FBQWtCQyxPQUFPO0lBQWtCO0lBQzlFTyxRQUFRO1FBQUVULE9BQU87UUFBVUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDbkVRLFlBQVk7UUFBRVYsT0FBTztRQUFjQyxZQUFZO1FBQVdDLE9BQU87SUFBVTtJQUMzRVMsV0FBVztRQUFFWCxPQUFPO1FBQWFDLFlBQVk7UUFBa0JDLE9BQU87SUFBa0I7SUFDeEZVLE9BQU87UUFBRVosT0FBTztRQUFTQyxZQUFZO1FBQWdCQyxPQUFPO0lBQWtCO0lBQzlFVyxXQUFXO1FBQUViLE9BQU87UUFBYUMsWUFBWTtRQUFrQkMsT0FBTztJQUFrQjtJQUN4RlksVUFBVTtRQUFFZCxPQUFPO1FBQVlDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQ3ZFYSxXQUFXO1FBQUVmLE9BQU87UUFBYUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDekVjLFFBQVE7UUFBRWhCLE9BQU87UUFBVUMsWUFBWTtRQUFrQkMsT0FBTztJQUFrQjtJQUNsRmUsWUFBWTtRQUFFakIsT0FBTztRQUFjQyxZQUFZO1FBQWdCQyxPQUFPO0lBQWtCO0lBQ3hGZ0IsY0FBYztRQUFFbEIsT0FBTztRQUFnQkMsWUFBWTtRQUFzQkMsT0FBTztJQUFrQjtJQUNsR2lCLGNBQWM7UUFBRW5CLE9BQU87UUFBZ0JDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQy9Fa0IsVUFBVTtRQUFFcEIsT0FBTztRQUFZQyxZQUFZO1FBQWVDLE9BQU87SUFBa0I7QUFDckY7QUFNTyxTQUFTbUIsWUFBWSxFQUFFQyxNQUFNLEVBQW9CO0lBQ3RELE1BQU1DLFNBQVN6QixhQUFhLENBQUN3QixPQUFPLElBQUk7UUFDdEN0QixPQUFPc0I7UUFDUHJCLFlBQVk7UUFDWkMsT0FBTztJQUNUO0lBRUEscUJBQ0UsOERBQUNzQjtRQUNDQyxPQUFPO1lBQ0xDLFNBQVM7WUFDVEMsU0FBUztZQUNUQyxjQUFjO1lBQ2RDLFVBQVU7WUFDVkMsWUFBWTtZQUNaQyxZQUFZO1lBQ1pDLGVBQWU7WUFDZkMsZUFBZTtZQUNmaEMsWUFBWXNCLE9BQU90QixVQUFVO1lBQzdCQyxPQUFPcUIsT0FBT3JCLEtBQUs7UUFDckI7a0JBRUNxQixPQUFPdkIsS0FBSzs7Ozs7O0FBR25CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy91aS9TdGF0dXNCYWRnZS50c3g/MDcxZSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgSW5nZXN0aW9uSm9iU3RhdHVzIH0gZnJvbSAnQC90eXBlcydcblxudHlwZSBBbnlTdGF0dXMgPVxuICB8IEluZ2VzdGlvbkpvYlN0YXR1c1snc3RhdHVzJ11cbiAgfCAncHJvY2Vzc2luZydcbiAgfCAncHJvY2Vzc2VkJ1xuICB8ICdmYWlsZWQnXG4gIHwgJ2RyYWZ0J1xuICB8ICdwdWJsaXNoZWQnXG4gIHwgJ3JlamVjdGVkJ1xuICB8ICdxdWV1ZWQnXG4gIHwgJ2dlbmVyYXRlZCdcbiAgfCAnYWN0aXZlJ1xuICB8ICdzdXBlcnNlZGVkJ1xuICB8ICdpbnRyb2R1Y3RvcnknXG4gIHwgJ2ludGVybWVkaWF0ZSdcbiAgfCAnYWR2YW5jZWQnXG5cbmNvbnN0IFNUQVRVU19DT05GSUc6IFJlY29yZDxcbiAgQW55U3RhdHVzLFxuICB7IGxhYmVsOiBzdHJpbmc7IGJhY2tncm91bmQ6IHN0cmluZzsgY29sb3I6IHN0cmluZyB9XG4+ID0ge1xuICBxdWV1ZWQ6IHsgbGFiZWw6ICdRdWV1ZWQnLCBiYWNrZ3JvdW5kOiAndmFyKC0tY3JlYW0pJywgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknIH0sXG4gIGV4dHJhY3Rpbmc6IHsgbGFiZWw6ICdFeHRyYWN0aW5nJywgYmFja2dyb3VuZDogJyNmZmYzY2QnLCBjb2xvcjogJyM4NTY0MDQnIH0sXG4gIGNodW5raW5nOiB7IGxhYmVsOiAnQ2h1bmtpbmcnLCBiYWNrZ3JvdW5kOiAnI2ZmZjNjZCcsIGNvbG9yOiAnIzg1NjQwNCcgfSxcbiAgc3RydWN0dXJpbmc6IHsgbGFiZWw6ICdTdHJ1Y3R1cmluZycsIGJhY2tncm91bmQ6ICcjY2NlNWZmJywgY29sb3I6ICcjMDA0MDg1JyB9LFxuICB3cml0aW5nOiB7IGxhYmVsOiAnV3JpdGluZycsIGJhY2tncm91bmQ6ICcjY2NlNWZmJywgY29sb3I6ICcjMDA0MDg1JyB9LFxuICBlbWJlZGRpbmc6IHsgbGFiZWw6ICdFbWJlZGRpbmcnLCBiYWNrZ3JvdW5kOiAnI2Q0ZWRkYScsIGNvbG9yOiAnIzE1NTcyNCcgfSxcbiAgZG9uZTogeyBsYWJlbDogJ0RvbmUnLCBiYWNrZ3JvdW5kOiAndmFyKC0tc3VjY2VzcyknLCBjb2xvcjogJ3ZhcigtLXRlYWwtOTAwKScgfSxcbiAgZmFpbGVkOiB7IGxhYmVsOiAnRmFpbGVkJywgYmFja2dyb3VuZDogJyNmOGQ3ZGEnLCBjb2xvcjogJyNjMDM5MmInIH0sXG4gIHByb2Nlc3Npbmc6IHsgbGFiZWw6ICdQcm9jZXNzaW5nJywgYmFja2dyb3VuZDogJyNmZmYzY2QnLCBjb2xvcjogJyM4NTY0MDQnIH0sXG4gIHByb2Nlc3NlZDogeyBsYWJlbDogJ1Byb2Nlc3NlZCcsIGJhY2tncm91bmQ6ICd2YXIoLS1zdWNjZXNzKScsIGNvbG9yOiAndmFyKC0tdGVhbC05MDApJyB9LFxuICBkcmFmdDogeyBsYWJlbDogJ0RyYWZ0JywgYmFja2dyb3VuZDogJ3ZhcigtLWNyZWFtKScsIGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJyB9LFxuICBwdWJsaXNoZWQ6IHsgbGFiZWw6ICdQdWJsaXNoZWQnLCBiYWNrZ3JvdW5kOiAndmFyKC0tc3VjY2VzcyknLCBjb2xvcjogJ3ZhcigtLXRlYWwtOTAwKScgfSxcbiAgcmVqZWN0ZWQ6IHsgbGFiZWw6ICdSZWplY3RlZCcsIGJhY2tncm91bmQ6ICcjZjhkN2RhJywgY29sb3I6ICcjYzAzOTJiJyB9LFxuICBnZW5lcmF0ZWQ6IHsgbGFiZWw6ICdHZW5lcmF0ZWQnLCBiYWNrZ3JvdW5kOiAnI2NjZTVmZicsIGNvbG9yOiAnIzAwNDA4NScgfSxcbiAgYWN0aXZlOiB7IGxhYmVsOiAnQWN0aXZlJywgYmFja2dyb3VuZDogJ3ZhcigtLXN1Y2Nlc3MpJywgY29sb3I6ICd2YXIoLS10ZWFsLTkwMCknIH0sXG4gIHN1cGVyc2VkZWQ6IHsgbGFiZWw6ICdTdXBlcnNlZGVkJywgYmFja2dyb3VuZDogJ3ZhcigtLWNyZWFtKScsIGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJyB9LFxuICBpbnRyb2R1Y3Rvcnk6IHsgbGFiZWw6ICdJbnRyb2R1Y3RvcnknLCBiYWNrZ3JvdW5kOiAndmFyKC0tYWNjZW50LXNvZnQpJywgY29sb3I6ICd2YXIoLS10ZWFsLTkwMCknIH0sXG4gIGludGVybWVkaWF0ZTogeyBsYWJlbDogJ0ludGVybWVkaWF0ZScsIGJhY2tncm91bmQ6ICcjZmZmM2NkJywgY29sb3I6ICcjODU2NDA0JyB9LFxuICBhZHZhbmNlZDogeyBsYWJlbDogJ0FkdmFuY2VkJywgYmFja2dyb3VuZDogJ3ZhcigtLXBlcmkpJywgY29sb3I6ICd2YXIoLS10ZWFsLTkwMCknIH0sXG59XG5cbmludGVyZmFjZSBTdGF0dXNCYWRnZVByb3BzIHtcbiAgc3RhdHVzOiBBbnlTdGF0dXNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0YXR1c0JhZGdlKHsgc3RhdHVzIH06IFN0YXR1c0JhZGdlUHJvcHMpIHtcbiAgY29uc3QgY29uZmlnID0gU1RBVFVTX0NPTkZJR1tzdGF0dXNdID8/IHtcbiAgICBsYWJlbDogc3RhdHVzLFxuICAgIGJhY2tncm91bmQ6ICd2YXIoLS1jcmVhbSknLFxuICAgIGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJyxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICBwYWRkaW5nOiAnMnB4IHZhcigtLXMtMiknLFxuICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXBpbGwpJyxcbiAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWxhYmVsKScsXG4gICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LW1vbm8pJyxcbiAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcbiAgICAgICAgbGV0dGVyU3BhY2luZzogJ3ZhcigtLWxhYmVsLWxzKScsXG4gICAgICAgIGJhY2tncm91bmQ6IGNvbmZpZy5iYWNrZ3JvdW5kLFxuICAgICAgICBjb2xvcjogY29uZmlnLmNvbG9yLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7Y29uZmlnLmxhYmVsfVxuICAgIDwvc3Bhbj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiU1RBVFVTX0NPTkZJRyIsInF1ZXVlZCIsImxhYmVsIiwiYmFja2dyb3VuZCIsImNvbG9yIiwiZXh0cmFjdGluZyIsImNodW5raW5nIiwic3RydWN0dXJpbmciLCJ3cml0aW5nIiwiZW1iZWRkaW5nIiwiZG9uZSIsImZhaWxlZCIsInByb2Nlc3NpbmciLCJwcm9jZXNzZWQiLCJkcmFmdCIsInB1Ymxpc2hlZCIsInJlamVjdGVkIiwiZ2VuZXJhdGVkIiwiYWN0aXZlIiwic3VwZXJzZWRlZCIsImludHJvZHVjdG9yeSIsImludGVybWVkaWF0ZSIsImFkdmFuY2VkIiwiU3RhdHVzQmFkZ2UiLCJzdGF0dXMiLCJjb25maWciLCJzcGFuIiwic3R5bGUiLCJkaXNwbGF5IiwicGFkZGluZyIsImJvcmRlclJhZGl1cyIsImZvbnRTaXplIiwiZm9udEZhbWlseSIsImZvbnRXZWlnaHQiLCJ0ZXh0VHJhbnNmb3JtIiwibGV0dGVyU3BhY2luZyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/StatusBadge.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/auth.ts": +/*!*************************!*\ + !*** ./src/lib/auth.ts ***! + \*************************/ +/***/ ((__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 */ clearAuthCookies: () => (/* binding */ clearAuthCookies),\n/* harmony export */ getAuthUser: () => (/* binding */ getAuthUser),\n/* harmony export */ logout: () => (/* binding */ logout),\n/* harmony export */ syncAuthCookies: () => (/* binding */ syncAuthCookies)\n/* harmony export */ });\n/* harmony import */ var _pocketbase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* __next_internal_client_entry_do_not_use__ getAuthUser,syncAuthCookies,clearAuthCookies,logout auto */ \nconst COOKIE_TOKEN = \"pb_token\";\nconst COOKIE_ROLE = \"pb_role\";\nconst COOKIE_MAX_AGE = 60 * 60 * 24 * 14 // 14 days\n;\nfunction getAuthUser() {\n if (!_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.isValid) return null;\n return _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.model;\n}\nfunction syncAuthCookies() {\n if (_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.isValid && _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.token) {\n const user = _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.model;\n const role = user?.role ?? \"\";\n document.cookie = `${COOKIE_TOKEN}=${_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.token}; path=/; max-age=${COOKIE_MAX_AGE}; SameSite=Lax`;\n document.cookie = `${COOKIE_ROLE}=${role}; path=/; max-age=${COOKIE_MAX_AGE}; SameSite=Lax`;\n } else {\n clearAuthCookies();\n }\n}\nfunction clearAuthCookies() {\n document.cookie = `${COOKIE_TOKEN}=; path=/; max-age=0`;\n document.cookie = `${COOKIE_ROLE}=; path=/; max-age=0`;\n}\nfunction logout() {\n _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.clear();\n clearAuthCookies();\n window.location.href = \"/auth\";\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL2F1dGgudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7eUdBQ2lDO0FBR2pDLE1BQU1DLGVBQWU7QUFDckIsTUFBTUMsY0FBYztBQUNwQixNQUFNQyxpQkFBaUIsS0FBSyxLQUFLLEtBQUssR0FBRyxVQUFVOztBQUU1QyxTQUFTQztJQUNkLElBQUksQ0FBQ0osMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0MsT0FBTyxFQUFFLE9BQU87SUFDbEMsT0FBT04sMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0UsS0FBSztBQUMzQjtBQUVPLFNBQVNDO0lBQ2QsSUFBSVIsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0MsT0FBTyxJQUFJTiwyQ0FBRUEsQ0FBQ0ssU0FBUyxDQUFDSSxLQUFLLEVBQUU7UUFDOUMsTUFBTUMsT0FBT1YsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0UsS0FBSztRQUMvQixNQUFNSSxPQUFPRCxNQUFNQyxRQUFRO1FBQzNCQyxTQUFTQyxNQUFNLEdBQUcsQ0FBQyxFQUFFWixhQUFhLENBQUMsRUFBRUQsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0ksS0FBSyxDQUFDLGtCQUFrQixFQUFFTixlQUFlLGNBQWMsQ0FBQztRQUMxR1MsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVgsWUFBWSxDQUFDLEVBQUVTLEtBQUssa0JBQWtCLEVBQUVSLGVBQWUsY0FBYyxDQUFDO0lBQzdGLE9BQU87UUFDTFc7SUFDRjtBQUNGO0FBRU8sU0FBU0E7SUFDZEYsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVosYUFBYSxvQkFBb0IsQ0FBQztJQUN2RFcsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVgsWUFBWSxvQkFBb0IsQ0FBQztBQUN4RDtBQUVPLFNBQVNhO0lBQ2RmLDJDQUFFQSxDQUFDSyxTQUFTLENBQUNXLEtBQUs7SUFDbEJGO0lBQ0FHLE9BQU9DLFFBQVEsQ0FBQ0MsSUFBSSxHQUFHO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL2F1dGgudHM/NjY5MiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB7IHBiIH0gZnJvbSAnLi9wb2NrZXRiYXNlJ1xuaW1wb3J0IHR5cGUgeyBQQlVzZXIgfSBmcm9tICdAL3R5cGVzJ1xuXG5jb25zdCBDT09LSUVfVE9LRU4gPSAncGJfdG9rZW4nXG5jb25zdCBDT09LSUVfUk9MRSA9ICdwYl9yb2xlJ1xuY29uc3QgQ09PS0lFX01BWF9BR0UgPSA2MCAqIDYwICogMjQgKiAxNCAvLyAxNCBkYXlzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBdXRoVXNlcigpOiBQQlVzZXIgfCBudWxsIHtcbiAgaWYgKCFwYi5hdXRoU3RvcmUuaXNWYWxpZCkgcmV0dXJuIG51bGxcbiAgcmV0dXJuIHBiLmF1dGhTdG9yZS5tb2RlbCBhcyBQQlVzZXIgfCBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzeW5jQXV0aENvb2tpZXMoKTogdm9pZCB7XG4gIGlmIChwYi5hdXRoU3RvcmUuaXNWYWxpZCAmJiBwYi5hdXRoU3RvcmUudG9rZW4pIHtcbiAgICBjb25zdCB1c2VyID0gcGIuYXV0aFN0b3JlLm1vZGVsIGFzIFBCVXNlciB8IG51bGxcbiAgICBjb25zdCByb2xlID0gdXNlcj8ucm9sZSA/PyAnJ1xuICAgIGRvY3VtZW50LmNvb2tpZSA9IGAke0NPT0tJRV9UT0tFTn09JHtwYi5hdXRoU3RvcmUudG9rZW59OyBwYXRoPS87IG1heC1hZ2U9JHtDT09LSUVfTUFYX0FHRX07IFNhbWVTaXRlPUxheGBcbiAgICBkb2N1bWVudC5jb29raWUgPSBgJHtDT09LSUVfUk9MRX09JHtyb2xlfTsgcGF0aD0vOyBtYXgtYWdlPSR7Q09PS0lFX01BWF9BR0V9OyBTYW1lU2l0ZT1MYXhgXG4gIH0gZWxzZSB7XG4gICAgY2xlYXJBdXRoQ29va2llcygpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyQXV0aENvb2tpZXMoKTogdm9pZCB7XG4gIGRvY3VtZW50LmNvb2tpZSA9IGAke0NPT0tJRV9UT0tFTn09OyBwYXRoPS87IG1heC1hZ2U9MGBcbiAgZG9jdW1lbnQuY29va2llID0gYCR7Q09PS0lFX1JPTEV9PTsgcGF0aD0vOyBtYXgtYWdlPTBgXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2dvdXQoKTogdm9pZCB7XG4gIHBiLmF1dGhTdG9yZS5jbGVhcigpXG4gIGNsZWFyQXV0aENvb2tpZXMoKVxuICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvYXV0aCdcbn1cbiJdLCJuYW1lcyI6WyJwYiIsIkNPT0tJRV9UT0tFTiIsIkNPT0tJRV9ST0xFIiwiQ09PS0lFX01BWF9BR0UiLCJnZXRBdXRoVXNlciIsImF1dGhTdG9yZSIsImlzVmFsaWQiLCJtb2RlbCIsInN5bmNBdXRoQ29va2llcyIsInRva2VuIiwidXNlciIsInJvbGUiLCJkb2N1bWVudCIsImNvb2tpZSIsImNsZWFyQXV0aENvb2tpZXMiLCJsb2dvdXQiLCJjbGVhciIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/auth.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/hooks/usePBCollection.ts": +/*!******************************************!*\ + !*** ./src/lib/hooks/usePBCollection.ts ***! + \******************************************/ +/***/ ((__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 */ usePBCollection: () => (/* binding */ usePBCollection)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __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_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lib_pocketbase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/lib/pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* __next_internal_client_entry_do_not_use__ usePBCollection auto */ \n\nfunction usePBCollection(collection, options) {\n const [items, setItems] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(true);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n const [tick, setTick] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0);\n const refresh = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{\n setTick((t)=>t + 1);\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n let cancelled = false;\n async function load() {\n setLoading(true);\n setError(null);\n try {\n const result = await _lib_pocketbase__WEBPACK_IMPORTED_MODULE_1__.pb.collection(collection).getFullList({\n ...options ?? {}\n });\n if (!cancelled) {\n setItems(result);\n }\n } catch (err) {\n if (!cancelled) {\n setError(err instanceof Error ? err.message : \"Failed to load\");\n }\n } finally{\n if (!cancelled) {\n setLoading(false);\n }\n }\n }\n void load();\n return ()=>{\n cancelled = true;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n collection,\n tick\n ]);\n return {\n items,\n loading,\n error,\n refresh\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL2hvb2tzL3VzZVBCQ29sbGVjdGlvbi50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O3FFQUN3RDtBQUNuQjtBQVM5QixTQUFTSSxnQkFDZEMsVUFBa0IsRUFDbEJDLE9BQWlDO0lBRWpDLE1BQU0sQ0FBQ0MsT0FBT0MsU0FBUyxHQUFHUiwrQ0FBUUEsQ0FBTSxFQUFFO0lBQzFDLE1BQU0sQ0FBQ1MsU0FBU0MsV0FBVyxHQUFHViwrQ0FBUUEsQ0FBVTtJQUNoRCxNQUFNLENBQUNXLE9BQU9DLFNBQVMsR0FBR1osK0NBQVFBLENBQWdCO0lBQ2xELE1BQU0sQ0FBQ2EsTUFBTUMsUUFBUSxHQUFHZCwrQ0FBUUEsQ0FBUztJQUV6QyxNQUFNZSxVQUFVYixrREFBV0EsQ0FBQztRQUMxQlksUUFBUSxDQUFDRSxJQUFNQSxJQUFJO0lBQ3JCLEdBQUcsRUFBRTtJQUVMZixnREFBU0EsQ0FBQztRQUNSLElBQUlnQixZQUFZO1FBRWhCLGVBQWVDO1lBQ2JSLFdBQVc7WUFDWEUsU0FBUztZQUNULElBQUk7Z0JBQ0YsTUFBTU8sU0FBUyxNQUFNaEIsK0NBQUVBLENBQUNFLFVBQVUsQ0FBQ0EsWUFBWWUsV0FBVyxDQUFJO29CQUM1RCxHQUFJZCxXQUFXLENBQUMsQ0FBQztnQkFDbkI7Z0JBQ0EsSUFBSSxDQUFDVyxXQUFXO29CQUNkVCxTQUFTVztnQkFDWDtZQUNGLEVBQUUsT0FBT0UsS0FBSztnQkFDWixJQUFJLENBQUNKLFdBQVc7b0JBQ2RMLFNBQVNTLGVBQWVDLFFBQVFELElBQUlFLE9BQU8sR0FBRztnQkFDaEQ7WUFDRixTQUFVO2dCQUNSLElBQUksQ0FBQ04sV0FBVztvQkFDZFAsV0FBVztnQkFDYjtZQUNGO1FBQ0Y7UUFFQSxLQUFLUTtRQUNMLE9BQU87WUFDTEQsWUFBWTtRQUNkO0lBQ0EsdURBQXVEO0lBQ3pELEdBQUc7UUFBQ1o7UUFBWVE7S0FBSztJQUVyQixPQUFPO1FBQUVOO1FBQU9FO1FBQVNFO1FBQU9JO0lBQVE7QUFDMUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9saWIvaG9va3MvdXNlUEJDb2xsZWN0aW9uLnRzPzA2N2YiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgcGIgfSBmcm9tICdAL2xpYi9wb2NrZXRiYXNlJ1xuXG5pbnRlcmZhY2UgVXNlUEJDb2xsZWN0aW9uUmVzdWx0PFQ+IHtcbiAgaXRlbXM6IFRbXVxuICBsb2FkaW5nOiBib29sZWFuXG4gIGVycm9yOiBzdHJpbmcgfCBudWxsXG4gIHJlZnJlc2g6ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVBCQ29sbGVjdGlvbjxUPihcbiAgY29sbGVjdGlvbjogc3RyaW5nLFxuICBvcHRpb25zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4pOiBVc2VQQkNvbGxlY3Rpb25SZXN1bHQ8VD4ge1xuICBjb25zdCBbaXRlbXMsIHNldEl0ZW1zXSA9IHVzZVN0YXRlPFRbXT4oW10pXG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlPGJvb2xlYW4+KHRydWUpXG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW3RpY2ssIHNldFRpY2tdID0gdXNlU3RhdGU8bnVtYmVyPigwKVxuXG4gIGNvbnN0IHJlZnJlc2ggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0VGljaygodCkgPT4gdCArIDEpXG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGNhbmNlbGxlZCA9IGZhbHNlXG5cbiAgICBhc3luYyBmdW5jdGlvbiBsb2FkKCkge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKVxuICAgICAgc2V0RXJyb3IobnVsbClcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBiLmNvbGxlY3Rpb24oY29sbGVjdGlvbikuZ2V0RnVsbExpc3Q8VD4oe1xuICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKCFjYW5jZWxsZWQpIHtcbiAgICAgICAgICBzZXRJdGVtcyhyZXN1bHQpXG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoIWNhbmNlbGxlZCkge1xuICAgICAgICAgIHNldEVycm9yKGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiAnRmFpbGVkIHRvIGxvYWQnKVxuICAgICAgICB9XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpZiAoIWNhbmNlbGxlZCkge1xuICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB2b2lkIGxvYWQoKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjYW5jZWxsZWQgPSB0cnVlXG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW2NvbGxlY3Rpb24sIHRpY2tdKVxuXG4gIHJldHVybiB7IGl0ZW1zLCBsb2FkaW5nLCBlcnJvciwgcmVmcmVzaCB9XG59XG4iXSwibmFtZXMiOlsidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJ1c2VDYWxsYmFjayIsInBiIiwidXNlUEJDb2xsZWN0aW9uIiwiY29sbGVjdGlvbiIsIm9wdGlvbnMiLCJpdGVtcyIsInNldEl0ZW1zIiwibG9hZGluZyIsInNldExvYWRpbmciLCJlcnJvciIsInNldEVycm9yIiwidGljayIsInNldFRpY2siLCJyZWZyZXNoIiwidCIsImNhbmNlbGxlZCIsImxvYWQiLCJyZXN1bHQiLCJnZXRGdWxsTGlzdCIsImVyciIsIkVycm9yIiwibWVzc2FnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/hooks/usePBCollection.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/pocketbase.ts": +/*!*******************************!*\ + !*** ./src/lib/pocketbase.ts ***! + \*******************************/ +/***/ ((__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 */ pb: () => (/* binding */ pb)\n/* harmony export */ });\n/* harmony import */ var pocketbase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pocketbase */ \"(ssr)/./node_modules/pocketbase/dist/pocketbase.es.mjs\");\n/* __next_internal_client_entry_do_not_use__ pb auto */ \nconst pb = new pocketbase__WEBPACK_IMPORTED_MODULE_0__[\"default\"](\"http://localhost:8090\" ?? 0);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL3BvY2tldGJhc2UudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7d0RBQ21DO0FBRTVCLE1BQU1DLEtBQUssSUFBSUQsa0RBQVVBLENBQUNFLHVCQUFzQyxJQUFJLEdBQXdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL3BvY2tldGJhc2UudHM/ZTY1NyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBQb2NrZXRCYXNlIGZyb20gJ3BvY2tldGJhc2UnXG5cbmV4cG9ydCBjb25zdCBwYiA9IG5ldyBQb2NrZXRCYXNlKHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX1BPQ0tFVEJBU0VfVVJMID8/ICdodHRwOi8vbG9jYWxob3N0OjgwOTAnKVxuIl0sIm5hbWVzIjpbIlBvY2tldEJhc2UiLCJwYiIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19QT0NLRVRCQVNFX1VSTCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/pocketbase.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/services.ts": +/*!*****************************!*\ + !*** ./src/lib/services.ts ***! + \*****************************/ +/***/ ((__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 */ getFeed: () => (/* binding */ getFeed),\n/* harmony export */ getIngestionStatus: () => (/* binding */ getIngestionStatus),\n/* harmony export */ getLeaderboard: () => (/* binding */ getLeaderboard),\n/* harmony export */ patchCurriculumWeekOrder: () => (/* binding */ patchCurriculumWeekOrder),\n/* harmony export */ postComplete: () => (/* binding */ postComplete),\n/* harmony export */ postCurriculumConfirm: () => (/* binding */ postCurriculumConfirm),\n/* harmony export */ postGenerateAll: () => (/* binding */ postGenerateAll),\n/* harmony export */ postIngest: () => (/* binding */ postIngest)\n/* harmony export */ });\nconst INGESTION_URL = \"http://localhost:3001\" ?? 0;\nconst GENERATION_URL = \"http://localhost:3002\" ?? 0;\nconst CURRICULUM_URL = \"http://localhost:3003\" ?? 0;\nconst PROGRESS_URL = \"http://localhost:3005\" ?? 0;\nasync function handleResponse(res) {\n if (!res.ok) {\n const text = await res.text().catch(()=>res.statusText);\n throw new Error(`HTTP ${res.status}: ${text}`);\n }\n return res.json();\n}\nasync function postIngest(formData) {\n const res = await fetch(`${INGESTION_URL}/ingest`, {\n method: \"POST\",\n body: formData\n });\n return handleResponse(res);\n}\nasync function getIngestionStatus(jobId) {\n const res = await fetch(`${INGESTION_URL}/ingest/${encodeURIComponent(jobId)}/status`);\n return handleResponse(res);\n}\nasync function postGenerateAll(themeId) {\n const res = await fetch(`${GENERATION_URL}/generate/theme/${encodeURIComponent(themeId)}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n }\n });\n return handleResponse(res);\n}\nasync function postComplete(payload) {\n const res = await fetch(`${PROGRESS_URL}/complete`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(payload)\n });\n return handleResponse(res);\n}\nasync function getLeaderboard() {\n const res = await fetch(`${PROGRESS_URL}/leaderboard`);\n return handleResponse(res);\n}\nasync function getFeed() {\n const res = await fetch(`${PROGRESS_URL}/feed`);\n return handleResponse(res);\n}\nasync function postCurriculumConfirm(versionId) {\n const res = await fetch(`${CURRICULUM_URL}/curriculum/versions/${encodeURIComponent(versionId)}/confirm`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n }\n });\n if (!res.ok) {\n const text = await res.text().catch(()=>res.statusText);\n throw new Error(`HTTP ${res.status}: ${text}`);\n }\n}\nasync function patchCurriculumWeekOrder(weekId, position) {\n const res = await fetch(`${CURRICULUM_URL}/curriculum/weeks/${encodeURIComponent(weekId)}/order`, {\n method: \"PATCH\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n position\n })\n });\n if (!res.ok) {\n const text = await res.text().catch(()=>res.statusText);\n throw new Error(`HTTP ${res.status}: ${text}`);\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUNsQztJQUVGLElBQUksQ0FBQzdCLElBQUlDLEVBQUUsRUFBRTtRQUNYLE1BQU1DLE9BQU8sTUFBTUYsSUFBSUUsSUFBSSxHQUFHQyxLQUFLLENBQUMsSUFBTUgsSUFBSUksVUFBVTtRQUN4RCxNQUFNLElBQUlDLE1BQU0sQ0FBQyxLQUFLLEVBQUVMLElBQUlNLE1BQU0sQ0FBQyxFQUFFLEVBQUVKLEtBQUssQ0FBQztJQUMvQztBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL3NlcnZpY2VzLnRzPzA3MDEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBJbmdlc3Rpb25Kb2JTdGF0dXMsXG4gIENvbXBsZXRlUGF5bG9hZCxcbiAgQ29tcGxldGVSZXNwb25zZSxcbiAgTGVhZGVyYm9hcmRFbnRyeSxcbiAgRmVlZEVudHJ5LFxufSBmcm9tICdAL3R5cGVzJ1xuXG5jb25zdCBJTkdFU1RJT05fVVJMID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfSU5HRVNUSU9OX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDAxJ1xuY29uc3QgR0VORVJBVElPTl9VUkwgPSBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19HRU5FUkFUSU9OX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDAyJ1xuY29uc3QgQ1VSUklDVUxVTV9VUkwgPSBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19DVVJSSUNVTFVNX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDAzJ1xuY29uc3QgUFJPR1JFU1NfVVJMID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfUFJPR1JFU1NfVVJMID8/ICdodHRwOi8vbG9jYWxob3N0OjMwMDUnXG5cbmFzeW5jIGZ1bmN0aW9uIGhhbmRsZVJlc3BvbnNlPFQ+KHJlczogUmVzcG9uc2UpOiBQcm9taXNlPFQ+IHtcbiAgaWYgKCFyZXMub2spIHtcbiAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVzLnRleHQoKS5jYXRjaCgoKSA9PiByZXMuc3RhdHVzVGV4dClcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEhUVFAgJHtyZXMuc3RhdHVzfTogJHt0ZXh0fWApXG4gIH1cbiAgcmV0dXJuIHJlcy5qc29uKCkgYXMgUHJvbWlzZTxUPlxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcG9zdEluZ2VzdChmb3JtRGF0YTogRm9ybURhdGEpOiBQcm9taXNlPHsgam9iSWQ6IHN0cmluZyB9PiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke0lOR0VTVElPTl9VUkx9L2luZ2VzdGAsIHtcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBib2R5OiBmb3JtRGF0YSxcbiAgfSlcbiAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlPHsgam9iSWQ6IHN0cmluZyB9PihyZXMpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRJbmdlc3Rpb25TdGF0dXMoam9iSWQ6IHN0cmluZyk6IFByb21pc2U8SW5nZXN0aW9uSm9iU3RhdHVzPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke0lOR0VTVElPTl9VUkx9L2luZ2VzdC8ke2VuY29kZVVSSUNvbXBvbmVudChqb2JJZCl9L3N0YXR1c2ApXG4gIHJldHVybiBoYW5kbGVSZXNwb25zZTxJbmdlc3Rpb25Kb2JTdGF0dXM+KHJlcylcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBvc3RHZW5lcmF0ZUFsbCh0aGVtZUlkOiBzdHJpbmcpOiBQcm9taXNlPHsgcXVldWVkOiBudW1iZXIgfT4ge1xuICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtHRU5FUkFUSU9OX1VSTH0vZ2VuZXJhdGUvdGhlbWUvJHtlbmNvZGVVUklDb21wb25lbnQodGhlbWVJZCl9YCwge1xuICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICB9KVxuICByZXR1cm4gaGFuZGxlUmVzcG9uc2U8eyBxdWV1ZWQ6IG51bWJlciB9PihyZXMpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwb3N0Q29tcGxldGUocGF5bG9hZDogQ29tcGxldGVQYXlsb2FkKTogUHJvbWlzZTxDb21wbGV0ZVJlc3BvbnNlPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke1BST0dSRVNTX1VSTH0vY29tcGxldGVgLCB7XG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgYm9keTogSlNPTi5zdHJpbmdpZnkocGF5bG9hZCksXG4gIH0pXG4gIHJldHVybiBoYW5kbGVSZXNwb25zZTxDb21wbGV0ZVJlc3BvbnNlPihyZXMpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRMZWFkZXJib2FyZCgpOiBQcm9taXNlPExlYWRlcmJvYXJkRW50cnlbXT4ge1xuICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtQUk9HUkVTU19VUkx9L2xlYWRlcmJvYXJkYClcbiAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlPExlYWRlcmJvYXJkRW50cnlbXT4ocmVzKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RmVlZCgpOiBQcm9taXNlPEZlZWRFbnRyeVtdPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke1BST0dSRVNTX1VSTH0vZmVlZGApXG4gIHJldHVybiBoYW5kbGVSZXNwb25zZTxGZWVkRW50cnlbXT4ocmVzKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcG9zdEN1cnJpY3VsdW1Db25maXJtKHZlcnNpb25JZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKFxuICAgIGAke0NVUlJJQ1VMVU1fVVJMfS9jdXJyaWN1bHVtL3ZlcnNpb25zLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHZlcnNpb25JZCl9L2NvbmZpcm1gLFxuICAgIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgfSxcbiAgKVxuICBpZiAoIXJlcy5vaykge1xuICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpLmNhdGNoKCgpID0+IHJlcy5zdGF0dXNUZXh0KVxuICAgIHRocm93IG5ldyBFcnJvcihgSFRUUCAke3Jlcy5zdGF0dXN9OiAke3RleHR9YClcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGF0Y2hDdXJyaWN1bHVtV2Vla09yZGVyKHdlZWtJZDogc3RyaW5nLCBwb3NpdGlvbjogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKFxuICAgIGAke0NVUlJJQ1VMVU1fVVJMfS9jdXJyaWN1bHVtL3dlZWtzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHdlZWtJZCl9L29yZGVyYCxcbiAgICB7XG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgcG9zaXRpb24gfSksXG4gICAgfSxcbiAgKVxuICBpZiAoIXJlcy5vaykge1xuICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpLmNhdGNoKCgpID0+IHJlcy5zdGF0dXNUZXh0KVxuICAgIHRocm93IG5ldyBFcnJvcihgSFRUUCAke3Jlcy5zdGF0dXN9OiAke3RleHR9YClcbiAgfVxufVxuIl0sIm5hbWVzIjpbIklOR0VTVElPTl9VUkwiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9QVUJMSUNfSU5HRVNUSU9OX1VSTCIsIkdFTkVSQVRJT05fVVJMIiwiTkVYVF9QVUJMSUNfR0VORVJBVElPTl9VUkwiLCJDVVJSSUNVTFVNX1VSTCIsIk5FWFRfUFVCTElDX0NVUlJJQ1VMVU1fVVJMIiwiUFJPR1JFU1NfVVJMIiwiTkVYVF9QVUJMSUNfUFJPR1JFU1NfVVJMIiwiaGFuZGxlUmVzcG9uc2UiLCJyZXMiLCJvayIsInRleHQiLCJjYXRjaCIsInN0YXR1c1RleHQiLCJFcnJvciIsInN0YXR1cyIsImpzb24iLCJwb3N0SW5nZXN0IiwiZm9ybURhdGEiLCJmZXRjaCIsIm1ldGhvZCIsImJvZHkiLCJnZXRJbmdlc3Rpb25TdGF0dXMiLCJqb2JJZCIsImVuY29kZVVSSUNvbXBvbmVudCIsInBvc3RHZW5lcmF0ZUFsbCIsInRoZW1lSWQiLCJoZWFkZXJzIiwicG9zdENvbXBsZXRlIiwicGF5bG9hZCIsIkpTT04iLCJzdHJpbmdpZnkiLCJnZXRMZWFkZXJib2FyZCIsImdldEZlZWQiLCJwb3N0Q3VycmljdWx1bUNvbmZpcm0iLCJ2ZXJzaW9uSWQiLCJwYXRjaEN1cnJpY3VsdW1XZWVrT3JkZXIiLCJ3ZWVrSWQiLCJwb3NpdGlvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/services.ts\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__ = (\"a462ed02aa71\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL2dsb2JhbHMuY3NzPzU5MTYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgXCJhNDYyZWQwMmFhNzFcIlxuaWYgKG1vZHVsZS5ob3QpIHsgbW9kdWxlLmhvdC5hY2NlcHQoKSB9XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); + +/***/ }), + +/***/ "(rsc)/../../stylesheet.css": +/*!****************************!*\ + !*** ../../stylesheet.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__ = (\"5511d51fa1af\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi4vLi4vc3R5bGVzaGVldC5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi9zdHlsZXNoZWV0LmNzcz9mYjhjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNTUxMWQ1MWZhMWFmXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/../../stylesheet.css\n"); + +/***/ }), + +/***/ "(rsc)/./src/app/admin/knowledge/page.tsx": +/*!******************************************!*\ + !*** ./src/app/admin/knowledge/page.tsx ***! + \******************************************/ +/***/ ((__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`C:\Users\RaymondVerhoef\Gitea\learning-platform\app\frontend\src\app\admin\knowledge\page.tsx#default`)); + + +/***/ }), + +/***/ "(rsc)/./src/app/admin/layout.tsx": +/*!**********************************!*\ + !*** ./src/app/admin/layout.tsx ***! + \**********************************/ +/***/ ((__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`C:\Users\RaymondVerhoef\Gitea\learning-platform\app\frontend\src\app\admin\layout.tsx#default`)); + + +/***/ }), + +/***/ "(rsc)/./src/app/layout.tsx": +/*!****************************!*\ + !*** ./src/app/layout.tsx ***! + \****************************/ +/***/ ((__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 */ viewport: () => (/* binding */ viewport)\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 _stylesheet_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../stylesheet.css */ \"(rsc)/../../stylesheet.css\");\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n\n\n\nconst metadata = {\n title: \"Learning Platform\",\n description: \"Employee knowledge and learning\",\n manifest: \"/manifest.json\",\n appleWebApp: {\n capable: true,\n statusBarStyle: \"default\",\n title: \"Learning Platform\"\n }\n};\nconst viewport = {\n themeColor: \"#1F5560\",\n width: \"device-width\",\n initialScale: 1,\n maximumScale: 1\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 29,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDbUM7QUFDYjtBQUVmLE1BQU1BLFdBQXFCO0lBQ2hDQyxPQUFPO0lBQ1BDLGFBQWE7SUFDYkMsVUFBVTtJQUNWQyxhQUFhO1FBQ1hDLFNBQVM7UUFDVEMsZ0JBQWdCO1FBQ2hCTCxPQUFPO0lBQ1Q7QUFDRixFQUFDO0FBRU0sTUFBTU0sV0FBcUI7SUFDaENDLFlBQVk7SUFDWkMsT0FBTztJQUNQQyxjQUFjO0lBQ2RDLGNBQWM7QUFDaEIsRUFBQztBQUVjLFNBQVNDLFdBQVcsRUFDakNDLFFBQVEsRUFHVDtJQUNDLHFCQUNFLDhEQUFDQztRQUFLQyxNQUFLO2tCQUNULDRFQUFDQztzQkFBTUg7Ozs7Ozs7Ozs7O0FBR2IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9hcHAvbGF5b3V0LnRzeD81N2E5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEsIFZpZXdwb3J0IH0gZnJvbSAnbmV4dCdcbmltcG9ydCAnLi4vLi4vLi4vLi4vc3R5bGVzaGVldC5jc3MnXG5pbXBvcnQgJy4vZ2xvYmFscy5jc3MnXG5cbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XG4gIHRpdGxlOiAnTGVhcm5pbmcgUGxhdGZvcm0nLFxuICBkZXNjcmlwdGlvbjogJ0VtcGxveWVlIGtub3dsZWRnZSBhbmQgbGVhcm5pbmcnLFxuICBtYW5pZmVzdDogJy9tYW5pZmVzdC5qc29uJyxcbiAgYXBwbGVXZWJBcHA6IHtcbiAgICBjYXBhYmxlOiB0cnVlLFxuICAgIHN0YXR1c0JhclN0eWxlOiAnZGVmYXVsdCcsXG4gICAgdGl0bGU6ICdMZWFybmluZyBQbGF0Zm9ybScsXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCB2aWV3cG9ydDogVmlld3BvcnQgPSB7XG4gIHRoZW1lQ29sb3I6ICcjMUY1NTYwJyxcbiAgd2lkdGg6ICdkZXZpY2Utd2lkdGgnLFxuICBpbml0aWFsU2NhbGU6IDEsXG4gIG1heGltdW1TY2FsZTogMSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7XG4gIGNoaWxkcmVuLFxufToge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8Ym9keT57Y2hpbGRyZW59PC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIm1hbmlmZXN0IiwiYXBwbGVXZWJBcHAiLCJjYXBhYmxlIiwic3RhdHVzQmFyU3R5bGUiLCJ2aWV3cG9ydCIsInRoZW1lQ29sb3IiLCJ3aWR0aCIsImluaXRpYWxTY2FsZSIsIm1heGltdW1TY2FsZSIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwiYm9keSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\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","vendor-chunks/pocketbase"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fadmin%2Fknowledge%2Fpage&page=%2Fadmin%2Fknowledge%2Fpage&appPaths=%2Fadmin%2Fknowledge%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fknowledge%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); +module.exports = __webpack_exports__; + +})(); \ No newline at end of file diff --git a/app/frontend/.next/server/app/admin/knowledge/page_client-reference-manifest.js b/app/frontend/.next/server/app/admin/knowledge/page_client-reference-manifest.js new file mode 100644 index 0000000..b07b153 --- /dev/null +++ b/app/frontend/.next/server/app/admin/knowledge/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/admin/knowledge/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/auth/page.tsx":{"*":{"id":"(ssr)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/layout.tsx":{"*":{"id":"(ssr)/./src/app/admin/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/documents/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/knowledge/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/curriculum/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/layout.tsx":{"*":{"id":"(ssr)/./src/app/app/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/session/page.tsx":{"*":{"id":"(ssr)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/library/page.tsx":{"*":{"id":"(ssr)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\stylesheet.css":{"id":"(app-pages-browser)/../../stylesheet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\auth\\page.tsx":{"id":"(app-pages-browser)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\layout.tsx":{"id":"(app-pages-browser)/./src/app/admin/layout.tsx","name":"*","chunks":["app/admin/layout","static/chunks/app/admin/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\documents\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\knowledge\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":["app/admin/knowledge/page","static/chunks/app/admin/knowledge/page.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\curriculum\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\layout.tsx":{"id":"(app-pages-browser)/./src/app/app/layout.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\session\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\library\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\layout":["static/css/app/layout.css"],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\layout":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\knowledge\\page":[]}} \ No newline at end of file diff --git a/app/frontend/.next/server/app/admin/page.js b/app/frontend/.next/server/app/admin/page.js new file mode 100644 index 0000000..92ad8d6 --- /dev/null +++ b/app/frontend/.next/server/app/admin/page.js @@ -0,0 +1,226 @@ +/* + * 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/admin/page"; +exports.ids = ["app/admin/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%2Fadmin%2Fpage&page=%2Fadmin%2Fpage&appPaths=%2Fadmin%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%2Fadmin%2Fpage&page=%2Fadmin%2Fpage&appPaths=%2Fadmin%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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?d969\");\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 'admin',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/admin/page.tsx */ \"(rsc)/./src/app/admin/page.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\page.tsx\"],\n \n }]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/admin/layout.tsx */ \"(rsc)/./src/app/admin/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\"],\n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\"],\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 = [\"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/admin/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: \"/admin/page\",\n pathname: \"/admin\",\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/bmFtZT1hcHAlMkZhZG1pbiUyRnBhZ2UmcGFnZT0lMkZhZG1pbiUyRnBhZ2UmYXBwUGF0aHM9JTJGYWRtaW4lMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGYWRtaW4lMkZwYWdlLnRzeCZhcHBEaXI9QyUzQSU1Q1VzZXJzJTVDUmF5bW9uZFZlcmhvZWYlNUNHaXRlYSU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDYXBwJTVDZnJvbnRlbmQlNUNzcmMlNUNhcHAmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZyb290RGlyPUMlM0ElNUNVc2VycyU1Q1JheW1vbmRWZXJob2VmJTVDR2l0ZWElNUNsZWFybmluZy1wbGF0Zm9ybSU1Q2FwcCU1Q2Zyb250ZW5kJmlzRGV2PXRydWUmdHNjb25maWdQYXRoPXRzY29uZmlnLmpzb24mYmFzZVBhdGg9JmFzc2V0UHJlZml4PSZuZXh0Q29uZmlnT3V0cHV0PSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsYUFBYSxzQkFBc0I7QUFDaUU7QUFDckM7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDLHVCQUF1Qiw0SkFBa0k7QUFDeko7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0EseUJBQXlCLGdLQUFvSTtBQUM3SjtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSx5QkFBeUIsb0pBQTZIO0FBQ3RKLG9CQUFvQiwwTkFBZ0Y7QUFDcEc7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ3VCO0FBQzZEO0FBQ3BGLDZCQUE2QixtQkFBbUI7QUFDaEQ7QUFDTztBQUNBO0FBQ1A7QUFDQTtBQUNBO0FBQ3VEO0FBQ3ZEO0FBQ08sd0JBQXdCLDhHQUFrQjtBQUNqRDtBQUNBLGNBQWMseUVBQVM7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8/MTI1ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcIlRVUkJPUEFDSyB7IHRyYW5zaXRpb246IG5leHQtc3NyIH1cIjtcbmltcG9ydCB7IEFwcFBhZ2VSb3V0ZU1vZHVsZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL21vZHVsZS5jb21waWxlZFwiO1xuaW1wb3J0IHsgUm91dGVLaW5kIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLWtpbmRcIjtcbi8vIFdlIGluamVjdCB0aGUgdHJlZSBhbmQgcGFnZXMgaGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSBpbiB0aGUgcm91dGVcbi8vIG1vZHVsZS5cbmNvbnN0IHRyZWUgPSB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICcnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdhZG1pbicsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFsnX19QQUdFX18nLCB7fSwge1xuICAgICAgICAgIHBhZ2U6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFkbWluXFxcXHBhZ2UudHN4XCIpLCBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFkbWluXFxcXHBhZ2UudHN4XCJdLFxuICAgICAgICAgIFxuICAgICAgICB9XVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAnbGF5b3V0JzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcYWRtaW5cXFxcbGF5b3V0LnRzeFwiKSwgXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxhZG1pblxcXFxsYXlvdXQudHN4XCJdLFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGxheW91dC50c3hcIiksIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcbGF5b3V0LnRzeFwiXSxcbidub3QtZm91bmQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCIpLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIl0sXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfS5jaGlsZHJlbjtcbmNvbnN0IHBhZ2VzID0gW1wiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcYWRtaW5cXFxccGFnZS50c3hcIl07XG5leHBvcnQgeyB0cmVlLCBwYWdlcyB9O1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBHbG9iYWxFcnJvciB9IGZyb20gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnlcIjtcbmNvbnN0IF9fbmV4dF9hcHBfcmVxdWlyZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfX1xuY29uc3QgX19uZXh0X2FwcF9sb2FkX2NodW5rX18gPSAoKSA9PiBQcm9taXNlLnJlc29sdmUoKVxuZXhwb3J0IGNvbnN0IG9yaWdpbmFsUGF0aG5hbWUgPSBcIi9hZG1pbi9wYWdlXCI7XG5leHBvcnQgY29uc3QgX19uZXh0X2FwcF9fID0ge1xuICAgIHJlcXVpcmU6IF9fbmV4dF9hcHBfcmVxdWlyZV9fLFxuICAgIGxvYWRDaHVuazogX19uZXh0X2FwcF9sb2FkX2NodW5rX19cbn07XG5leHBvcnQgKiBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2VudHJ5LWJhc2VcIjtcbi8vIENyZWF0ZSBhbmQgZXhwb3J0IHRoZSByb3V0ZSBtb2R1bGUgdGhhdCB3aWxsIGJlIGNvbnN1bWVkLlxuZXhwb3J0IGNvbnN0IHJvdXRlTW9kdWxlID0gbmV3IEFwcFBhZ2VSb3V0ZU1vZHVsZSh7XG4gICAgZGVmaW5pdGlvbjoge1xuICAgICAgICBraW5kOiBSb3V0ZUtpbmQuQVBQX1BBR0UsXG4gICAgICAgIHBhZ2U6IFwiL2FkbWluL3BhZ2VcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL2FkbWluXCIsXG4gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlbid0IHVzZWQgaW4gcHJvZHVjdGlvbi5cbiAgICAgICAgYnVuZGxlUGF0aDogXCJcIixcbiAgICAgICAgZmlsZW5hbWU6IFwiXCIsXG4gICAgICAgIGFwcFBhdGhzOiBbXVxuICAgIH0sXG4gICAgdXNlcmxhbmQ6IHtcbiAgICAgICAgbG9hZGVyVHJlZTogdHJlZVxuICAgIH1cbn0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcGFnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fadmin%2Fpage&page=%2Fadmin%2Fpage&appPaths=%2Fadmin%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJDJTNBJTVDJTVDVXNlcnMlNUMlNUNSYXltb25kVmVyaG9lZiU1QyU1Q0dpdGVhJTVDJTVDbGVhcm5pbmctcGxhdGZvcm0lNUMlNUNhcHAlNUMlNUNmcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2NsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyQyUzQSU1QyU1Q1VzZXJzJTVDJTVDUmF5bW9uZFZlcmhvZWYlNUMlNUNHaXRlYSU1QyU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDJTVDYXBwJTVDJTVDZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQW9LO0FBQ3BLO0FBQ0Esb09BQXFLO0FBQ3JLO0FBQ0EsME9BQXdLO0FBQ3hLO0FBQ0Esd09BQXVLO0FBQ3ZLO0FBQ0Esa1BBQTRLO0FBQzVLO0FBQ0Esc1FBQXNMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzcyOWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxhcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxcZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXGxheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXG5vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxccmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Clayout.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Clayout.tsx%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/admin/layout.tsx */ \"(ssr)/./src/app/admin/layout.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDYWRtaW4lNUMlNUNsYXlvdXQudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxnS0FBb0kiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8/NDAxMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFkbWluXFxcXGxheW91dC50c3hcIik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cadmin%5C%5Clayout.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! + \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ (() => { + + + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?server=true!": +/*!******************************************************************************************************!*\ + !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?server=true! ***! + \******************************************************************************************************/ +/***/ (() => { + + + +/***/ }), + +/***/ "(ssr)/./src/app/admin/layout.tsx": +/*!**********************************!*\ + !*** ./src/app/admin/layout.tsx ***! + \**********************************/ +/***/ ((__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 */ AdminLayout)\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_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _lib_auth__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/lib/auth */ \"(ssr)/./src/lib/auth.ts\");\n/* harmony import */ var _components_ui_Button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\nconst NAV_ITEMS = [\n {\n href: \"/admin/documents\",\n label: \"Documents\",\n icon: \"\\uD83D\\uDCC4\"\n },\n {\n href: \"/admin/knowledge\",\n label: \"Knowledge\",\n icon: \"\\uD83E\\uDDE0\"\n },\n {\n href: \"/admin/curriculum\",\n label: \"Curriculum\",\n icon: \"\\uD83D\\uDCC5\"\n }\n];\nfunction AdminLayout({ children }) {\n const pathname = (0,next_navigation__WEBPACK_IMPORTED_MODULE_3__.usePathname)();\n const [mobileNavOpen, setMobileNavOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n minHeight: \"100dvh\",\n display: \"flex\",\n flexDirection: \"column\",\n background: \"var(--bg)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n style: {\n background: \"var(--bg-dark)\",\n color: \"var(--paper)\",\n height: \"var(--nav-height)\",\n display: \"flex\",\n alignItems: \"center\",\n padding: \"0 var(--s-5)\",\n gap: \"var(--s-4)\",\n position: \"sticky\",\n top: 0,\n zIndex: 100,\n flexShrink: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setMobileNavOpen((o)=>!o),\n style: {\n background: \"none\",\n border: \"none\",\n color: \"var(--paper)\",\n cursor: \"pointer\",\n fontSize: \"22px\",\n padding: \"var(--s-1)\",\n minWidth: \"44px\",\n minHeight: \"44px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n \"aria-label\": \"Toggle navigation\",\n children: \"☰\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 44,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontWeight: 700,\n fontSize: \"var(--t-body)\",\n flex: 1\n },\n children: \"Admin\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: \"/app\",\n style: {\n textDecoration: \"none\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-small)\",\n color: \"rgba(255,255,255,0.75)\",\n cursor: \"pointer\"\n },\n children: \"Employee app →\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 69,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 68,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_5__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: _lib_auth__WEBPACK_IMPORTED_MODULE_4__.logout,\n style: {\n color: \"rgba(255,255,255,0.75)\",\n borderColor: \"rgba(255,255,255,0.25)\"\n },\n children: \"Logout\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 74,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 28,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flex: 1,\n position: \"relative\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n style: {\n width: \"220px\",\n background: \"var(--bg-warm)\",\n borderRight: \"1px solid var(--cream)\",\n padding: \"var(--s-5) 0\",\n display: \"none\",\n flexDirection: \"column\",\n gap: \"var(--s-1)\",\n position: \"sticky\",\n top: \"var(--nav-height)\",\n height: \"calc(100dvh - var(--nav-height))\",\n overflowY: \"auto\",\n flexShrink: 0\n },\n className: \"admin-sidebar\",\n children: NAV_ITEMS.map((item)=>{\n const active = pathname.startsWith(item.href);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: item.href,\n style: {\n textDecoration: \"none\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-3)\",\n padding: \"var(--s-3) var(--s-5)\",\n background: active ? \"var(--bg)\" : \"transparent\",\n borderRight: active ? \"3px solid var(--accent)\" : \"3px solid transparent\",\n fontSize: \"var(--t-body)\",\n fontWeight: active ? 600 : 400,\n color: active ? \"var(--accent)\" : \"var(--fg)\",\n transition: \"background 150ms\",\n cursor: \"pointer\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.icon\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 125,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 126,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 110,\n columnNumber: 17\n }, this)\n }, item.href, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 109,\n columnNumber: 15\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 89,\n columnNumber: 9\n }, this),\n mobileNavOpen && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n background: \"var(--bg-warm)\",\n borderBottom: \"1px solid var(--cream)\",\n zIndex: 99,\n display: \"flex\",\n flexDirection: \"column\"\n },\n children: NAV_ITEMS.map((item)=>{\n const active = pathname.startsWith(item.href);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: item.href,\n onClick: ()=>setMobileNavOpen(false),\n style: {\n textDecoration: \"none\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-3)\",\n padding: \"var(--s-4) var(--s-5)\",\n borderBottom: \"1px solid var(--cream)\",\n background: active ? \"var(--bg)\" : \"transparent\",\n fontSize: \"var(--t-body)\",\n fontWeight: active ? 600 : 400,\n color: active ? \"var(--accent)\" : \"var(--fg)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.icon\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 170,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 171,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 157,\n columnNumber: 19\n }, this)\n }, item.href, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 151,\n columnNumber: 17\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 135,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n style: {\n flex: 1,\n padding: \"var(--s-5)\",\n maxWidth: \"900px\",\n width: \"100%\",\n margin: \"0 auto\"\n },\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 180,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 87,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"style\", {\n children: `\n @media (min-width: 768px) {\n .admin-sidebar {\n display: flex !important;\n }\n }\n `\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 193,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\admin\\\\layout.tsx\",\n lineNumber: 19,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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b0MsVUFBVTs0QkFDVmIsT0FBTzs0QkFDUGMsUUFBUTt3QkFDVjtrQ0FFQ25EOzs7Ozs7Ozs7Ozs7MEJBSUwsOERBQUNLOzBCQUFPLENBQUM7Ozs7OztNQU1ULENBQUM7Ozs7Ozs7Ozs7OztBQUdQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL2FkbWluL2xheW91dC50c3g/NTZkMCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IExpbmsgZnJvbSAnbmV4dC9saW5rJ1xuaW1wb3J0IHsgdXNlUGF0aG5hbWUgfSBmcm9tICduZXh0L25hdmlnYXRpb24nXG5pbXBvcnQgeyBsb2dvdXQgfSBmcm9tICdAL2xpYi9hdXRoJ1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL0J1dHRvbidcblxuY29uc3QgTkFWX0lURU1TID0gW1xuICB7IGhyZWY6ICcvYWRtaW4vZG9jdW1lbnRzJywgbGFiZWw6ICdEb2N1bWVudHMnLCBpY29uOiAn8J+ThCcgfSxcbiAgeyBocmVmOiAnL2FkbWluL2tub3dsZWRnZScsIGxhYmVsOiAnS25vd2xlZGdlJywgaWNvbjogJ/Cfp6AnIH0sXG4gIHsgaHJlZjogJy9hZG1pbi9jdXJyaWN1bHVtJywgbGFiZWw6ICdDdXJyaWN1bHVtJywgaWNvbjogJ/Cfk4UnIH0sXG5dXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEFkbWluTGF5b3V0KHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VQYXRobmFtZSgpXG4gIGNvbnN0IFttb2JpbGVOYXZPcGVuLCBzZXRNb2JpbGVOYXZPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgbWluSGVpZ2h0OiAnMTAwZHZoJyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnKScsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHsvKiBUb3AgYmFyICovfVxuICAgICAgPGhlYWRlclxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZy1kYXJrKScsXG4gICAgICAgICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgICAgICAgIGhlaWdodDogJ3ZhcigtLW5hdi1oZWlnaHQpJyxcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgcGFkZGluZzogJzAgdmFyKC0tcy01KScsXG4gICAgICAgICAgZ2FwOiAndmFyKC0tcy00KScsXG4gICAgICAgICAgcG9zaXRpb246ICdzdGlja3knLFxuICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICB6SW5kZXg6IDEwMCxcbiAgICAgICAgICBmbGV4U2hyaW5rOiAwLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7LyogTW9iaWxlIG1lbnUgdG9nZ2xlICovfVxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0TW9iaWxlTmF2T3BlbigobykgPT4gIW8pfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAnbm9uZScsXG4gICAgICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tcGFwZXIpJyxcbiAgICAgICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICAgICAgZm9udFNpemU6ICcyMnB4JyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTEpJyxcbiAgICAgICAgICAgIG1pbldpZHRoOiAnNDRweCcsXG4gICAgICAgICAgICBtaW5IZWlnaHQ6ICc0NHB4JyxcbiAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgIH19XG4gICAgICAgICAgYXJpYS1sYWJlbD1cIlRvZ2dsZSBuYXZpZ2F0aW9uXCJcbiAgICAgICAgPlxuICAgICAgICAgIOKYsFxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250V2VpZ2h0OiA3MDAsIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsIGZsZXg6IDEgfX0+XG4gICAgICAgICAgQWRtaW5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxMaW5rIGhyZWY9XCIvYXBwXCIgc3R5bGU9e3sgdGV4dERlY29yYXRpb246ICdub25lJyB9fT5cbiAgICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJywgY29sb3I6ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNzUpJywgY3Vyc29yOiAncG9pbnRlcicgfX0+XG4gICAgICAgICAgICBFbXBsb3llZSBhcHAg4oaSXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L0xpbms+XG5cbiAgICAgICAgPEJ1dHRvblxuICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXG4gICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICBvbkNsaWNrPXtsb2dvdXR9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwwLjc1KScsXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogJ3JnYmEoMjU1LDI1NSwyNTUsMC4yNSknLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICBMb2dvdXRcbiAgICAgICAgPC9CdXR0b24+XG4gICAgICA8L2hlYWRlcj5cblxuICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXg6IDEsIHBvc2l0aW9uOiAncmVsYXRpdmUnIH19PlxuICAgICAgICB7LyogU2lkZWJhciAoZGVza3RvcCkgKi99XG4gICAgICAgIDxuYXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgd2lkdGg6ICcyMjBweCcsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctd2FybSknLFxuICAgICAgICAgICAgYm9yZGVyUmlnaHQ6ICcxcHggc29saWQgdmFyKC0tY3JlYW0pJyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTUpIDAnLFxuICAgICAgICAgICAgZGlzcGxheTogJ25vbmUnLFxuICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTEpJyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnc3RpY2t5JyxcbiAgICAgICAgICAgIHRvcDogJ3ZhcigtLW5hdi1oZWlnaHQpJyxcbiAgICAgICAgICAgIGhlaWdodDogJ2NhbGMoMTAwZHZoIC0gdmFyKC0tbmF2LWhlaWdodCkpJyxcbiAgICAgICAgICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgICAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNsYXNzTmFtZT1cImFkbWluLXNpZGViYXJcIlxuICAgICAgICA+XG4gICAgICAgICAge05BVl9JVEVNUy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IHBhdGhuYW1lLnN0YXJ0c1dpdGgoaXRlbS5ocmVmKVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPExpbmsga2V5PXtpdGVtLmhyZWZ9IGhyZWY9e2l0ZW0uaHJlZn0gc3R5bGU9e3sgdGV4dERlY29yYXRpb246ICdub25lJyB9fT5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTMpJyxcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtMykgdmFyKC0tcy01KScsXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGFjdGl2ZSA/ICd2YXIoLS1iZyknIDogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmlnaHQ6IGFjdGl2ZSA/ICczcHggc29saWQgdmFyKC0tYWNjZW50KScgOiAnM3B4IHNvbGlkIHRyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogYWN0aXZlID8gNjAwIDogNDAwLFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlID8gJ3ZhcigtLWFjY2VudCknIDogJ3ZhcigtLWZnKScsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICdiYWNrZ3JvdW5kIDE1MG1zJyxcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPntpdGVtLmljb259PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e2l0ZW0ubGFiZWx9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICApXG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvbmF2PlxuXG4gICAgICAgIHsvKiBNb2JpbGUgbmF2IGRyb3Bkb3duICovfVxuICAgICAgICB7bW9iaWxlTmF2T3BlbiAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZy13YXJtKScsXG4gICAgICAgICAgICAgIGJvcmRlckJvdHRvbTogJzFweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgICB6SW5kZXg6IDk5LFxuICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7TkFWX0lURU1TLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBwYXRobmFtZS5zdGFydHNXaXRoKGl0ZW0uaHJlZilcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgICAga2V5PXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgICBocmVmPXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRNb2JpbGVOYXZPcGVuKGZhbHNlKX1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHRleHREZWNvcmF0aW9uOiAnbm9uZScgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgIGdhcDogJ3ZhcigtLXMtMyknLFxuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTQpIHZhcigtLXMtNSknLFxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlckJvdHRvbTogJzFweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGFjdGl2ZSA/ICd2YXIoLS1iZyknIDogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IGFjdGl2ZSA/IDYwMCA6IDQwMCxcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlID8gJ3ZhcigtLWFjY2VudCknIDogJ3ZhcigtLWZnKScsXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPntpdGVtLmljb259PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57aXRlbS5sYWJlbH08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuXG4gICAgICAgIHsvKiBNYWluIGNvbnRlbnQgKi99XG4gICAgICAgIDxtYWluXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy01KScsXG4gICAgICAgICAgICBtYXhXaWR0aDogJzkwMHB4JyxcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICBtYXJnaW46ICcwIGF1dG8nLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvbWFpbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8c3R5bGU+e2BcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgLmFkbWluLXNpZGViYXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgYH08L3N0eWxlPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsIkxpbmsiLCJ1c2VQYXRobmFtZSIsImxvZ291dCIsIkJ1dHRvbiIsIk5BVl9JVEVNUyIsImhyZWYiLCJsYWJlbCIsImljb24iLCJBZG1pbkxheW91dCIsImNoaWxkcmVuIiwicGF0aG5hbWUiLCJtb2JpbGVOYXZPcGVuIiwic2V0TW9iaWxlTmF2T3BlbiIsImRpdiIsInN0eWxlIiwibWluSGVpZ2h0IiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJiYWNrZ3JvdW5kIiwiaGVhZGVyIiwiY29sb3IiLCJoZWlnaHQiLCJhbGlnbkl0ZW1zIiwicGFkZGluZyIsImdhcCIsInBvc2l0aW9uIiwidG9wIiwiekluZGV4IiwiZmxleFNocmluayIsImJ1dHRvbiIsIm9uQ2xpY2siLCJvIiwiYm9yZGVyIiwiY3Vyc29yIiwiZm9udFNpemUiLCJtaW5XaWR0aCIsImp1c3RpZnlDb250ZW50IiwiYXJpYS1sYWJlbCIsInNwYW4iLCJmb250V2VpZ2h0IiwiZmxleCIsInRleHREZWNvcmF0aW9uIiwidmFyaWFudCIsInNpemUiLCJib3JkZXJDb2xvciIsIm5hdiIsIndpZHRoIiwiYm9yZGVyUmlnaHQiLCJvdmVyZmxvd1kiLCJjbGFzc05hbWUiLCJtYXAiLCJpdGVtIiwiYWN0aXZlIiwic3RhcnRzV2l0aCIsInRyYW5zaXRpb24iLCJsZWZ0IiwicmlnaHQiLCJib3JkZXJCb3R0b20iLCJtYWluIiwibWF4V2lkdGgiLCJtYXJnaW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/app/admin/layout.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/Button.tsx": +/*!**************************************!*\ + !*** ./src/components/ui/Button.tsx ***! + \**************************************/ +/***/ ((__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 */ Button: () => (/* binding */ Button)\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/* __next_internal_client_entry_do_not_use__ Button auto */ \n\nconst variantStyles = {\n primary: {\n background: \"var(--accent)\",\n color: \"var(--paper)\",\n border: \"none\"\n },\n secondary: {\n background: \"var(--bg-warm)\",\n color: \"var(--fg)\",\n border: \"1.5px solid var(--cream)\"\n },\n danger: {\n background: \"#c0392b\",\n color: \"var(--paper)\",\n border: \"none\"\n },\n ghost: {\n background: \"transparent\",\n color: \"var(--fg)\",\n border: \"1.5px solid var(--cream)\"\n }\n};\nconst sizeStyles = {\n sm: {\n fontSize: \"var(--t-small)\",\n padding: \"var(--s-2) var(--s-3)\",\n minHeight: \"36px\",\n borderRadius: \"var(--r-sm)\"\n },\n md: {\n fontSize: \"var(--t-body)\",\n padding: \"var(--s-2) var(--s-5)\",\n minHeight: \"44px\",\n borderRadius: \"var(--r-md)\"\n },\n lg: {\n fontSize: \"var(--t-lead)\",\n padding: \"var(--s-3) var(--s-6)\",\n minHeight: \"52px\",\n borderRadius: \"var(--r-lg)\"\n }\n};\nfunction Button({ variant = \"primary\", size = \"md\", loading = false, disabled, children, style, ...rest }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n disabled: disabled ?? loading,\n style: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"var(--s-2)\",\n fontFamily: \"var(--font-sans)\",\n fontWeight: 500,\n cursor: disabled ?? loading ? \"not-allowed\" : \"pointer\",\n opacity: disabled ?? loading ? 0.6 : 1,\n transition: \"opacity 150ms, transform 100ms\",\n ...variantStyles[variant],\n ...sizeStyles[size],\n ...style\n },\n ...rest,\n children: loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Spinner, {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 88,\n columnNumber: 11\n }, this),\n children\n ]\n }, void 0, true) : children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 68,\n columnNumber: 5\n }, this);\n}\nfunction Spinner() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n width: \"16px\",\n height: \"16px\",\n border: \"2px solid currentColor\",\n borderTopColor: \"transparent\",\n borderRadius: \"50%\",\n display: \"inline-block\",\n animation: \"spin 0.7s linear infinite\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 100,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9CdXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUN5QjtBQVl6QixNQUFNQyxnQkFBNEQ7SUFDaEVDLFNBQVM7UUFDUEMsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtJQUNBQyxXQUFXO1FBQ1RILFlBQVk7UUFDWkMsT0FBTztRQUNQQyxRQUFRO0lBQ1Y7SUFDQUUsUUFBUTtRQUNOSixZQUFZO1FBQ1pDLE9BQU87UUFDUEMsUUFBUTtJQUNWO0lBQ0FHLE9BQU87UUFDTEwsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtBQUNGO0FBRUEsTUFBTUksYUFBc0Q7SUFDMURDLElBQUk7UUFDRkMsVUFBVTtRQUNWQyxTQUFTO1FBQ1RDLFdBQVc7UUFDWEMsY0FBYztJQUNoQjtJQUNBQyxJQUFJO1FBQ0ZKLFVBQVU7UUFDVkMsU0FBUztRQUNUQyxXQUFXO1FBQ1hDLGNBQWM7SUFDaEI7SUFDQUUsSUFBSTtRQUNGTCxVQUFVO1FBQ1ZDLFNBQVM7UUFDVEMsV0FBVztRQUNYQyxjQUFjO0lBQ2hCO0FBQ0Y7QUFFTyxTQUFTRyxPQUFPLEVBQ3JCQyxVQUFVLFNBQVMsRUFDbkJDLE9BQU8sSUFBSSxFQUNYQyxVQUFVLEtBQUssRUFDZkMsUUFBUSxFQUNSQyxRQUFRLEVBQ1JDLEtBQUssRUFDTCxHQUFHQyxNQUNTO0lBQ1oscUJBQ0UsOERBQUNDO1FBQ0NKLFVBQVVBLFlBQVlEO1FBQ3RCRyxPQUFPO1lBQ0xHLFNBQVM7WUFDVEMsWUFBWTtZQUNaQyxnQkFBZ0I7WUFDaEJDLEtBQUs7WUFDTEMsWUFBWTtZQUNaQyxZQUFZO1lBQ1pDLFFBQVFYLFlBQVlELFVBQVUsZ0JBQWdCO1lBQzlDYSxTQUFTWixZQUFZRCxVQUFVLE1BQU07WUFDckNjLFlBQVk7WUFDWixHQUFHakMsYUFBYSxDQUFDaUIsUUFBUTtZQUN6QixHQUFHVCxVQUFVLENBQUNVLEtBQUs7WUFDbkIsR0FBR0ksS0FBSztRQUNWO1FBQ0MsR0FBR0MsSUFBSTtrQkFFUEosd0JBQ0M7OzhCQUNFLDhEQUFDZTs7Ozs7Z0JBQ0FiOzsyQkFHSEE7Ozs7OztBQUlSO0FBRUEsU0FBU2E7SUFDUCxxQkFDRSw4REFBQ0M7UUFDQ2IsT0FBTztZQUNMYyxPQUFPO1lBQ1BDLFFBQVE7WUFDUmpDLFFBQVE7WUFDUmtDLGdCQUFnQjtZQUNoQnpCLGNBQWM7WUFDZFksU0FBUztZQUNUYyxXQUFXO1FBQ2I7Ozs7OztBQUdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy91aS9CdXR0b24udHN4PzAxM2EiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbnR5cGUgQnV0dG9uVmFyaWFudCA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2RhbmdlcicgfCAnZ2hvc3QnXG50eXBlIEJ1dHRvblNpemUgPSAnc20nIHwgJ21kJyB8ICdsZydcblxuaW50ZXJmYWNlIEJ1dHRvblByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcbiAgdmFyaWFudD86IEJ1dHRvblZhcmlhbnRcbiAgc2l6ZT86IEJ1dHRvblNpemVcbiAgbG9hZGluZz86IGJvb2xlYW5cbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG5jb25zdCB2YXJpYW50U3R5bGVzOiBSZWNvcmQ8QnV0dG9uVmFyaWFudCwgUmVhY3QuQ1NTUHJvcGVydGllcz4gPSB7XG4gIHByaW1hcnk6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYWNjZW50KScsXG4gICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBzZWNvbmRhcnk6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctd2FybSknLFxuICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICBib3JkZXI6ICcxLjVweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICB9LFxuICBkYW5nZXI6IHtcbiAgICBiYWNrZ3JvdW5kOiAnI2MwMzkyYicsXG4gICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBnaG9zdDoge1xuICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXG4gICAgY29sb3I6ICd2YXIoLS1mZyknLFxuICAgIGJvcmRlcjogJzEuNXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gIH0sXG59XG5cbmNvbnN0IHNpemVTdHlsZXM6IFJlY29yZDxCdXR0b25TaXplLCBSZWFjdC5DU1NQcm9wZXJ0aWVzPiA9IHtcbiAgc206IHtcbiAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTMpJyxcbiAgICBtaW5IZWlnaHQ6ICczNnB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXNtKScsXG4gIH0sXG4gIG1kOiB7XG4gICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTUpJyxcbiAgICBtaW5IZWlnaHQ6ICc0NHB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLW1kKScsXG4gIH0sXG4gIGxnOiB7XG4gICAgZm9udFNpemU6ICd2YXIoLS10LWxlYWQpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTYpJyxcbiAgICBtaW5IZWlnaHQ6ICc1MnB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLWxnKScsXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b24oe1xuICB2YXJpYW50ID0gJ3ByaW1hcnknLFxuICBzaXplID0gJ21kJyxcbiAgbG9hZGluZyA9IGZhbHNlLFxuICBkaXNhYmxlZCxcbiAgY2hpbGRyZW4sXG4gIHN0eWxlLFxuICAuLi5yZXN0XG59OiBCdXR0b25Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZCA/PyBsb2FkaW5nfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgZ2FwOiAndmFyKC0tcy0yKScsXG4gICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICBjdXJzb3I6IGRpc2FibGVkID8/IGxvYWRpbmcgPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInLFxuICAgICAgICBvcGFjaXR5OiBkaXNhYmxlZCA/PyBsb2FkaW5nID8gMC42IDogMSxcbiAgICAgICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMTUwbXMsIHRyYW5zZm9ybSAxMDBtcycsXG4gICAgICAgIC4uLnZhcmlhbnRTdHlsZXNbdmFyaWFudF0sXG4gICAgICAgIC4uLnNpemVTdHlsZXNbc2l6ZV0sXG4gICAgICAgIC4uLnN0eWxlLFxuICAgICAgfX1cbiAgICAgIHsuLi5yZXN0fVxuICAgID5cbiAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxTcGlubmVyIC8+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGNoaWxkcmVuXG4gICAgICApfVxuICAgIDwvYnV0dG9uPlxuICApXG59XG5cbmZ1bmN0aW9uIFNwaW5uZXIoKSB7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHdpZHRoOiAnMTZweCcsXG4gICAgICAgIGhlaWdodDogJzE2cHgnLFxuICAgICAgICBib3JkZXI6ICcycHggc29saWQgY3VycmVudENvbG9yJyxcbiAgICAgICAgYm9yZGVyVG9wQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICBhbmltYXRpb246ICdzcGluIDAuN3MgbGluZWFyIGluZmluaXRlJyxcbiAgICAgIH19XG4gICAgLz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidmFyaWFudFN0eWxlcyIsInByaW1hcnkiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJib3JkZXIiLCJzZWNvbmRhcnkiLCJkYW5nZXIiLCJnaG9zdCIsInNpemVTdHlsZXMiLCJzbSIsImZvbnRTaXplIiwicGFkZGluZyIsIm1pbkhlaWdodCIsImJvcmRlclJhZGl1cyIsIm1kIiwibGciLCJCdXR0b24iLCJ2YXJpYW50Iiwic2l6ZSIsImxvYWRpbmciLCJkaXNhYmxlZCIsImNoaWxkcmVuIiwic3R5bGUiLCJyZXN0IiwiYnV0dG9uIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImdhcCIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiY3Vyc29yIiwib3BhY2l0eSIsInRyYW5zaXRpb24iLCJTcGlubmVyIiwic3BhbiIsIndpZHRoIiwiaGVpZ2h0IiwiYm9yZGVyVG9wQ29sb3IiLCJhbmltYXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/Button.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/auth.ts": +/*!*************************!*\ + !*** ./src/lib/auth.ts ***! + \*************************/ +/***/ ((__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 */ clearAuthCookies: () => (/* binding */ clearAuthCookies),\n/* harmony export */ getAuthUser: () => (/* binding */ getAuthUser),\n/* harmony export */ logout: () => (/* binding */ logout),\n/* harmony export */ syncAuthCookies: () => (/* binding */ syncAuthCookies)\n/* harmony export */ });\n/* harmony import */ var _pocketbase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* __next_internal_client_entry_do_not_use__ getAuthUser,syncAuthCookies,clearAuthCookies,logout auto */ \nconst COOKIE_TOKEN = \"pb_token\";\nconst COOKIE_ROLE = \"pb_role\";\nconst COOKIE_MAX_AGE = 60 * 60 * 24 * 14 // 14 days\n;\nfunction getAuthUser() {\n if (!_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.isValid) return null;\n return _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.model;\n}\nfunction syncAuthCookies() {\n if (_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.isValid && _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.token) {\n const user = _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.model;\n const role = user?.role ?? \"\";\n document.cookie = `${COOKIE_TOKEN}=${_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.token}; path=/; max-age=${COOKIE_MAX_AGE}; SameSite=Lax`;\n document.cookie = `${COOKIE_ROLE}=${role}; path=/; max-age=${COOKIE_MAX_AGE}; SameSite=Lax`;\n } else {\n clearAuthCookies();\n }\n}\nfunction clearAuthCookies() {\n document.cookie = `${COOKIE_TOKEN}=; path=/; max-age=0`;\n document.cookie = `${COOKIE_ROLE}=; path=/; max-age=0`;\n}\nfunction logout() {\n _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.clear();\n clearAuthCookies();\n window.location.href = \"/auth\";\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL2F1dGgudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7eUdBQ2lDO0FBR2pDLE1BQU1DLGVBQWU7QUFDckIsTUFBTUMsY0FBYztBQUNwQixNQUFNQyxpQkFBaUIsS0FBSyxLQUFLLEtBQUssR0FBRyxVQUFVOztBQUU1QyxTQUFTQztJQUNkLElBQUksQ0FBQ0osMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0MsT0FBTyxFQUFFLE9BQU87SUFDbEMsT0FBT04sMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0UsS0FBSztBQUMzQjtBQUVPLFNBQVNDO0lBQ2QsSUFBSVIsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0MsT0FBTyxJQUFJTiwyQ0FBRUEsQ0FBQ0ssU0FBUyxDQUFDSSxLQUFLLEVBQUU7UUFDOUMsTUFBTUMsT0FBT1YsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0UsS0FBSztRQUMvQixNQUFNSSxPQUFPRCxNQUFNQyxRQUFRO1FBQzNCQyxTQUFTQyxNQUFNLEdBQUcsQ0FBQyxFQUFFWixhQUFhLENBQUMsRUFBRUQsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0ksS0FBSyxDQUFDLGtCQUFrQixFQUFFTixlQUFlLGNBQWMsQ0FBQztRQUMxR1MsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVgsWUFBWSxDQUFDLEVBQUVTLEtBQUssa0JBQWtCLEVBQUVSLGVBQWUsY0FBYyxDQUFDO0lBQzdGLE9BQU87UUFDTFc7SUFDRjtBQUNGO0FBRU8sU0FBU0E7SUFDZEYsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVosYUFBYSxvQkFBb0IsQ0FBQztJQUN2RFcsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVgsWUFBWSxvQkFBb0IsQ0FBQztBQUN4RDtBQUVPLFNBQVNhO0lBQ2RmLDJDQUFFQSxDQUFDSyxTQUFTLENBQUNXLEtBQUs7SUFDbEJGO0lBQ0FHLE9BQU9DLFFBQVEsQ0FBQ0MsSUFBSSxHQUFHO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL2F1dGgudHM/NjY5MiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB7IHBiIH0gZnJvbSAnLi9wb2NrZXRiYXNlJ1xuaW1wb3J0IHR5cGUgeyBQQlVzZXIgfSBmcm9tICdAL3R5cGVzJ1xuXG5jb25zdCBDT09LSUVfVE9LRU4gPSAncGJfdG9rZW4nXG5jb25zdCBDT09LSUVfUk9MRSA9ICdwYl9yb2xlJ1xuY29uc3QgQ09PS0lFX01BWF9BR0UgPSA2MCAqIDYwICogMjQgKiAxNCAvLyAxNCBkYXlzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBdXRoVXNlcigpOiBQQlVzZXIgfCBudWxsIHtcbiAgaWYgKCFwYi5hdXRoU3RvcmUuaXNWYWxpZCkgcmV0dXJuIG51bGxcbiAgcmV0dXJuIHBiLmF1dGhTdG9yZS5tb2RlbCBhcyBQQlVzZXIgfCBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzeW5jQXV0aENvb2tpZXMoKTogdm9pZCB7XG4gIGlmIChwYi5hdXRoU3RvcmUuaXNWYWxpZCAmJiBwYi5hdXRoU3RvcmUudG9rZW4pIHtcbiAgICBjb25zdCB1c2VyID0gcGIuYXV0aFN0b3JlLm1vZGVsIGFzIFBCVXNlciB8IG51bGxcbiAgICBjb25zdCByb2xlID0gdXNlcj8ucm9sZSA/PyAnJ1xuICAgIGRvY3VtZW50LmNvb2tpZSA9IGAke0NPT0tJRV9UT0tFTn09JHtwYi5hdXRoU3RvcmUudG9rZW59OyBwYXRoPS87IG1heC1hZ2U9JHtDT09LSUVfTUFYX0FHRX07IFNhbWVTaXRlPUxheGBcbiAgICBkb2N1bWVudC5jb29raWUgPSBgJHtDT09LSUVfUk9MRX09JHtyb2xlfTsgcGF0aD0vOyBtYXgtYWdlPSR7Q09PS0lFX01BWF9BR0V9OyBTYW1lU2l0ZT1MYXhgXG4gIH0gZWxzZSB7XG4gICAgY2xlYXJBdXRoQ29va2llcygpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyQXV0aENvb2tpZXMoKTogdm9pZCB7XG4gIGRvY3VtZW50LmNvb2tpZSA9IGAke0NPT0tJRV9UT0tFTn09OyBwYXRoPS87IG1heC1hZ2U9MGBcbiAgZG9jdW1lbnQuY29va2llID0gYCR7Q09PS0lFX1JPTEV9PTsgcGF0aD0vOyBtYXgtYWdlPTBgXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2dvdXQoKTogdm9pZCB7XG4gIHBiLmF1dGhTdG9yZS5jbGVhcigpXG4gIGNsZWFyQXV0aENvb2tpZXMoKVxuICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvYXV0aCdcbn1cbiJdLCJuYW1lcyI6WyJwYiIsIkNPT0tJRV9UT0tFTiIsIkNPT0tJRV9ST0xFIiwiQ09PS0lFX01BWF9BR0UiLCJnZXRBdXRoVXNlciIsImF1dGhTdG9yZSIsImlzVmFsaWQiLCJtb2RlbCIsInN5bmNBdXRoQ29va2llcyIsInRva2VuIiwidXNlciIsInJvbGUiLCJkb2N1bWVudCIsImNvb2tpZSIsImNsZWFyQXV0aENvb2tpZXMiLCJsb2dvdXQiLCJjbGVhciIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/auth.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/pocketbase.ts": +/*!*******************************!*\ + !*** ./src/lib/pocketbase.ts ***! + \*******************************/ +/***/ ((__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 */ pb: () => (/* binding */ pb)\n/* harmony export */ });\n/* harmony import */ var pocketbase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pocketbase */ \"(ssr)/./node_modules/pocketbase/dist/pocketbase.es.mjs\");\n/* __next_internal_client_entry_do_not_use__ pb auto */ \nconst pb = new pocketbase__WEBPACK_IMPORTED_MODULE_0__[\"default\"](\"http://localhost:8090\" ?? 0);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL3BvY2tldGJhc2UudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7d0RBQ21DO0FBRTVCLE1BQU1DLEtBQUssSUFBSUQsa0RBQVVBLENBQUNFLHVCQUFzQyxJQUFJLEdBQXdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL3BvY2tldGJhc2UudHM/ZTY1NyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBQb2NrZXRCYXNlIGZyb20gJ3BvY2tldGJhc2UnXG5cbmV4cG9ydCBjb25zdCBwYiA9IG5ldyBQb2NrZXRCYXNlKHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX1BPQ0tFVEJBU0VfVVJMID8/ICdodHRwOi8vbG9jYWxob3N0OjgwOTAnKVxuIl0sIm5hbWVzIjpbIlBvY2tldEJhc2UiLCJwYiIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19QT0NLRVRCQVNFX1VSTCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/pocketbase.ts\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__ = (\"a462ed02aa71\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL2dsb2JhbHMuY3NzPzU5MTYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgXCJhNDYyZWQwMmFhNzFcIlxuaWYgKG1vZHVsZS5ob3QpIHsgbW9kdWxlLmhvdC5hY2NlcHQoKSB9XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); + +/***/ }), + +/***/ "(rsc)/../../stylesheet.css": +/*!****************************!*\ + !*** ../../stylesheet.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__ = (\"5511d51fa1af\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi4vLi4vc3R5bGVzaGVldC5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi9zdHlsZXNoZWV0LmNzcz9mYjhjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNTUxMWQ1MWZhMWFmXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/../../stylesheet.css\n"); + +/***/ }), + +/***/ "(rsc)/./src/app/admin/layout.tsx": +/*!**********************************!*\ + !*** ./src/app/admin/layout.tsx ***! + \**********************************/ +/***/ ((__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`C:\Users\RaymondVerhoef\Gitea\learning-platform\app\frontend\src\app\admin\layout.tsx#default`)); + + +/***/ }), + +/***/ "(rsc)/./src/app/admin/page.tsx": +/*!********************************!*\ + !*** ./src/app/admin/page.tsx ***! + \********************************/ +/***/ ((__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 */ AdminIndexPage)\n/* harmony export */ });\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/navigation */ \"(rsc)/./node_modules/next/dist/api/navigation.react-server.js\");\n\nfunction AdminIndexPage() {\n (0,next_navigation__WEBPACK_IMPORTED_MODULE_0__.redirect)(\"/admin/documents\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2FkbWluL3BhZ2UudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQTBDO0FBRTNCLFNBQVNDO0lBQ3RCRCx5REFBUUEsQ0FBQztBQUNYIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL2FkbWluL3BhZ2UudHN4PzY3NzYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVkaXJlY3QgfSBmcm9tICduZXh0L25hdmlnYXRpb24nXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEFkbWluSW5kZXhQYWdlKCkge1xuICByZWRpcmVjdCgnL2FkbWluL2RvY3VtZW50cycpXG59XG4iXSwibmFtZXMiOlsicmVkaXJlY3QiLCJBZG1pbkluZGV4UGFnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/admin/page.tsx\n"); + +/***/ }), + +/***/ "(rsc)/./src/app/layout.tsx": +/*!****************************!*\ + !*** ./src/app/layout.tsx ***! + \****************************/ +/***/ ((__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 */ viewport: () => (/* binding */ viewport)\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 _stylesheet_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../stylesheet.css */ \"(rsc)/../../stylesheet.css\");\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n\n\n\nconst metadata = {\n title: \"Learning Platform\",\n description: \"Employee knowledge and learning\",\n manifest: \"/manifest.json\",\n appleWebApp: {\n capable: true,\n statusBarStyle: \"default\",\n title: \"Learning Platform\"\n }\n};\nconst viewport = {\n themeColor: \"#1F5560\",\n width: \"device-width\",\n initialScale: 1,\n maximumScale: 1\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 29,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDbUM7QUFDYjtBQUVmLE1BQU1BLFdBQXFCO0lBQ2hDQyxPQUFPO0lBQ1BDLGFBQWE7SUFDYkMsVUFBVTtJQUNWQyxhQUFhO1FBQ1hDLFNBQVM7UUFDVEMsZ0JBQWdCO1FBQ2hCTCxPQUFPO0lBQ1Q7QUFDRixFQUFDO0FBRU0sTUFBTU0sV0FBcUI7SUFDaENDLFlBQVk7SUFDWkMsT0FBTztJQUNQQyxjQUFjO0lBQ2RDLGNBQWM7QUFDaEIsRUFBQztBQUVjLFNBQVNDLFdBQVcsRUFDakNDLFFBQVEsRUFHVDtJQUNDLHFCQUNFLDhEQUFDQztRQUFLQyxNQUFLO2tCQUNULDRFQUFDQztzQkFBTUg7Ozs7Ozs7Ozs7O0FBR2IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9hcHAvbGF5b3V0LnRzeD81N2E5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEsIFZpZXdwb3J0IH0gZnJvbSAnbmV4dCdcbmltcG9ydCAnLi4vLi4vLi4vLi4vc3R5bGVzaGVldC5jc3MnXG5pbXBvcnQgJy4vZ2xvYmFscy5jc3MnXG5cbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XG4gIHRpdGxlOiAnTGVhcm5pbmcgUGxhdGZvcm0nLFxuICBkZXNjcmlwdGlvbjogJ0VtcGxveWVlIGtub3dsZWRnZSBhbmQgbGVhcm5pbmcnLFxuICBtYW5pZmVzdDogJy9tYW5pZmVzdC5qc29uJyxcbiAgYXBwbGVXZWJBcHA6IHtcbiAgICBjYXBhYmxlOiB0cnVlLFxuICAgIHN0YXR1c0JhclN0eWxlOiAnZGVmYXVsdCcsXG4gICAgdGl0bGU6ICdMZWFybmluZyBQbGF0Zm9ybScsXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCB2aWV3cG9ydDogVmlld3BvcnQgPSB7XG4gIHRoZW1lQ29sb3I6ICcjMUY1NTYwJyxcbiAgd2lkdGg6ICdkZXZpY2Utd2lkdGgnLFxuICBpbml0aWFsU2NhbGU6IDEsXG4gIG1heGltdW1TY2FsZTogMSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7XG4gIGNoaWxkcmVuLFxufToge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8Ym9keT57Y2hpbGRyZW59PC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIm1hbmlmZXN0IiwiYXBwbGVXZWJBcHAiLCJjYXBhYmxlIiwic3RhdHVzQmFyU3R5bGUiLCJ2aWV3cG9ydCIsInRoZW1lQ29sb3IiLCJ3aWR0aCIsImluaXRpYWxTY2FsZSIsIm1heGltdW1TY2FsZSIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwiYm9keSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\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","vendor-chunks/pocketbase"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fadmin%2Fpage&page=%2Fadmin%2Fpage&appPaths=%2Fadmin%2Fpage&pagePath=private-next-app-dir%2Fadmin%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); +module.exports = __webpack_exports__; + +})(); \ No newline at end of file diff --git a/app/frontend/.next/server/app/admin/page_client-reference-manifest.js b/app/frontend/.next/server/app/admin/page_client-reference-manifest.js new file mode 100644 index 0000000..bc9e783 --- /dev/null +++ b/app/frontend/.next/server/app/admin/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/admin/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/auth/page.tsx":{"*":{"id":"(ssr)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/layout.tsx":{"*":{"id":"(ssr)/./src/app/admin/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/documents/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/knowledge/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/curriculum/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/layout.tsx":{"*":{"id":"(ssr)/./src/app/app/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/session/page.tsx":{"*":{"id":"(ssr)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/library/page.tsx":{"*":{"id":"(ssr)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\stylesheet.css":{"id":"(app-pages-browser)/../../stylesheet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\auth\\page.tsx":{"id":"(app-pages-browser)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\layout.tsx":{"id":"(app-pages-browser)/./src/app/admin/layout.tsx","name":"*","chunks":["app/admin/layout","static/chunks/app/admin/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\documents\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\knowledge\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\curriculum\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\layout.tsx":{"id":"(app-pages-browser)/./src/app/app/layout.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\session\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\library\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\layout":["static/css/app/layout.css"],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\layout":[]}} \ No newline at end of file diff --git a/app/frontend/.next/server/app/app/library/page.js b/app/frontend/.next/server/app/app/library/page.js new file mode 100644 index 0000000..6baf638 --- /dev/null +++ b/app/frontend/.next/server/app/app/library/page.js @@ -0,0 +1,299 @@ +/* + * 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/app/library/page"; +exports.ids = ["app/app/library/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%2Fapp%2Flibrary%2Fpage&page=%2Fapp%2Flibrary%2Fpage&appPaths=%2Fapp%2Flibrary%2Fpage&pagePath=private-next-app-dir%2Fapp%2Flibrary%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%2Fapp%2Flibrary%2Fpage&page=%2Fapp%2Flibrary%2Fpage&appPaths=%2Fapp%2Flibrary%2Fpage&pagePath=private-next-app-dir%2Fapp%2Flibrary%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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?d969\");\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 'app',\n {\n children: [\n 'library',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/app/library/page.tsx */ \"(rsc)/./src/app/app/library/page.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/app/layout.tsx */ \"(rsc)/./src/app/app/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\"],\n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\"],\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 = [\"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/app/library/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: \"/app/library/page\",\n pathname: \"/app/library\",\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/bmFtZT1hcHAlMkZhcHAlMkZsaWJyYXJ5JTJGcGFnZSZwYWdlPSUyRmFwcCUyRmxpYnJhcnklMkZwYWdlJmFwcFBhdGhzPSUyRmFwcCUyRmxpYnJhcnklMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGYXBwJTJGbGlicmFyeSUyRnBhZ2UudHN4JmFwcERpcj1DJTNBJTVDVXNlcnMlNUNSYXltb25kVmVyaG9lZiU1Q0dpdGVhJTVDbGVhcm5pbmctcGxhdGZvcm0lNUNhcHAlNUNmcm9udGVuZCU1Q3NyYyU1Q2FwcCZwYWdlRXh0ZW5zaW9ucz10c3gmcGFnZUV4dGVuc2lvbnM9dHMmcGFnZUV4dGVuc2lvbnM9anN4JnBhZ2VFeHRlbnNpb25zPWpzJnJvb3REaXI9QyUzQSU1Q1VzZXJzJTVDUmF5bW9uZFZlcmhvZWYlNUNHaXRlYSU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDYXBwJTVDZnJvbnRlbmQmaXNEZXY9dHJ1ZSZ0c2NvbmZpZ1BhdGg9dHNjb25maWcuanNvbiZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JnByZWZlcnJlZFJlZ2lvbj0mbWlkZGxld2FyZUNvbmZpZz1lMzAlM0QhIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxhQUFhLHNCQUFzQjtBQUNpRTtBQUNyQztBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakMsdUJBQXVCLHdLQUF5STtBQUNoSztBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLHlCQUF5Qiw0SkFBa0k7QUFDM0o7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EseUJBQXlCLG9KQUE2SDtBQUN0SixvQkFBb0IsME5BQWdGO0FBQ3BHO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUN1QjtBQUM2RDtBQUNwRiw2QkFBNkIsbUJBQW1CO0FBQ2hEO0FBQ087QUFDQTtBQUNQO0FBQ0E7QUFDQTtBQUN1RDtBQUN2RDtBQUNPLHdCQUF3Qiw4R0FBa0I7QUFDakQ7QUFDQSxjQUFjLHlFQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvP2MxNWUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJUVVJCT1BBQ0sgeyB0cmFuc2l0aW9uOiBuZXh0LXNzciB9XCI7XG5pbXBvcnQgeyBBcHBQYWdlUm91dGVNb2R1bGUgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS9tb2R1bGUuY29tcGlsZWRcIjtcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kXCI7XG4vLyBXZSBpbmplY3QgdGhlIHRyZWUgYW5kIHBhZ2VzIGhlcmUgc28gdGhhdCB3ZSBjYW4gdXNlIHRoZW0gaW4gdGhlIHJvdXRlXG4vLyBtb2R1bGUuXG5jb25zdCB0cmVlID0ge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAnJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAnYXBwJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAnbGlicmFyeScsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFsnX19QQUdFX18nLCB7fSwge1xuICAgICAgICAgIHBhZ2U6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFwcFxcXFxsaWJyYXJ5XFxcXHBhZ2UudHN4XCIpLCBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFwcFxcXFxsaWJyYXJ5XFxcXHBhZ2UudHN4XCJdLFxuICAgICAgICAgIFxuICAgICAgICB9XVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICdsYXlvdXQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxhcHBcXFxcbGF5b3V0LnRzeFwiKSwgXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxhcHBcXFxcbGF5b3V0LnRzeFwiXSxcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICdsYXlvdXQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxsYXlvdXQudHN4XCIpLCBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGxheW91dC50c3hcIl0sXG4nbm90LWZvdW5kJzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiKSwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCJdLFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0uY2hpbGRyZW47XG5jb25zdCBwYWdlcyA9IFtcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFwcFxcXFxsaWJyYXJ5XFxcXHBhZ2UudHN4XCJdO1xuZXhwb3J0IHsgdHJlZSwgcGFnZXMgfTtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgR2xvYmFsRXJyb3IgfSBmcm9tIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5XCI7XG5jb25zdCBfX25leHRfYXBwX3JlcXVpcmVfXyA9IF9fd2VicGFja19yZXF1aXJlX19cbmNvbnN0IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKClcbmV4cG9ydCBjb25zdCBvcmlnaW5hbFBhdGhuYW1lID0gXCIvYXBwL2xpYnJhcnkvcGFnZVwiO1xuZXhwb3J0IGNvbnN0IF9fbmV4dF9hcHBfXyA9IHtcbiAgICByZXF1aXJlOiBfX25leHRfYXBwX3JlcXVpcmVfXyxcbiAgICBsb2FkQ2h1bms6IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fXG59O1xuZXhwb3J0ICogZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9lbnRyeS1iYXNlXCI7XG4vLyBDcmVhdGUgYW5kIGV4cG9ydCB0aGUgcm91dGUgbW9kdWxlIHRoYXQgd2lsbCBiZSBjb25zdW1lZC5cbmV4cG9ydCBjb25zdCByb3V0ZU1vZHVsZSA9IG5ldyBBcHBQYWdlUm91dGVNb2R1bGUoe1xuICAgIGRlZmluaXRpb246IHtcbiAgICAgICAga2luZDogUm91dGVLaW5kLkFQUF9QQUdFLFxuICAgICAgICBwYWdlOiBcIi9hcHAvbGlicmFyeS9wYWdlXCIsXG4gICAgICAgIHBhdGhuYW1lOiBcIi9hcHAvbGlicmFyeVwiLFxuICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGFyZW4ndCB1c2VkIGluIHByb2R1Y3Rpb24uXG4gICAgICAgIGJ1bmRsZVBhdGg6IFwiXCIsXG4gICAgICAgIGZpbGVuYW1lOiBcIlwiLFxuICAgICAgICBhcHBQYXRoczogW11cbiAgICB9LFxuICAgIHVzZXJsYW5kOiB7XG4gICAgICAgIGxvYWRlclRyZWU6IHRyZWVcbiAgICB9XG59KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp%2Flibrary%2Fpage&page=%2Fapp%2Flibrary%2Fpage&appPaths=%2Fapp%2Flibrary%2Fpage&pagePath=private-next-app-dir%2Fapp%2Flibrary%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJDJTNBJTVDJTVDVXNlcnMlNUMlNUNSYXltb25kVmVyaG9lZiU1QyU1Q0dpdGVhJTVDJTVDbGVhcm5pbmctcGxhdGZvcm0lNUMlNUNhcHAlNUMlNUNmcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2NsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyQyUzQSU1QyU1Q1VzZXJzJTVDJTVDUmF5bW9uZFZlcmhvZWYlNUMlNUNHaXRlYSU1QyU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDJTVDYXBwJTVDJTVDZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQW9LO0FBQ3BLO0FBQ0Esb09BQXFLO0FBQ3JLO0FBQ0EsME9BQXdLO0FBQ3hLO0FBQ0Esd09BQXVLO0FBQ3ZLO0FBQ0Esa1BBQTRLO0FBQzVLO0FBQ0Esc1FBQXNMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzcyOWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxhcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxcZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXGxheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXG5vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxccmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Clayout.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Clayout.tsx%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/app/layout.tsx */ \"(ssr)/./src/app/app/layout.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDYXBwJTVDJTVDbGF5b3V0LnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsNEpBQWtJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzliOTYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxhcHBcXFxcbGF5b3V0LnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Clayout.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Clibrary%5C%5Cpage.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Clibrary%5C%5Cpage.tsx%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/app/library/page.tsx */ \"(ssr)/./src/app/app/library/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDYXBwJTVDJTVDbGlicmFyeSU1QyU1Q3BhZ2UudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3S0FBeUkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8/N2M1MCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFwcFxcXFxsaWJyYXJ5XFxcXHBhZ2UudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Clibrary%5C%5Cpage.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! + \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ (() => { + + + +/***/ }), + +/***/ "(ssr)/./src/app/app/layout.tsx": +/*!********************************!*\ + !*** ./src/app/app/layout.tsx ***! + \********************************/ +/***/ ((__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 */ AppLayout)\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_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _components_r42_R42Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/r42/R42Button */ \"(ssr)/./src/components/r42/R42Button.tsx\");\n/* harmony import */ var _components_r42_R42Drawer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/r42/R42Drawer */ \"(ssr)/./src/components/r42/R42Drawer.tsx\");\n/* harmony import */ var _components_ui_Toast__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/ui/Toast */ \"(ssr)/./src/components/ui/Toast.tsx\");\n/* harmony import */ var _lib_auth__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/lib/auth */ \"(ssr)/./src/lib/auth.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\n\nconst NAV_ITEMS = [\n {\n href: \"/app\",\n label: \"Session\",\n icon: \"▶\"\n },\n {\n href: \"/app/library\",\n label: \"Library\",\n icon: \"\\uD83D\\uDCDA\"\n },\n {\n href: \"/app/profile\",\n label: \"Profile\",\n icon: \"\\uD83D\\uDC64\"\n }\n];\nfunction AppLayout({ children }) {\n const pathname = (0,next_navigation__WEBPACK_IMPORTED_MODULE_3__.usePathname)();\n const [r42Open, setR42Open] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const user = (0,_lib_auth__WEBPACK_IMPORTED_MODULE_7__.getAuthUser)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Toast__WEBPACK_IMPORTED_MODULE_6__.ToastProvider, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n minHeight: \"100dvh\",\n display: \"flex\",\n flexDirection: \"column\",\n background: \"var(--bg)\",\n paddingBottom: \"var(--nav-height)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n style: {\n flex: 1,\n padding: \"var(--s-4)\",\n maxWidth: \"640px\",\n margin: \"0 auto\",\n width: \"100%\"\n },\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 33,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_r42_R42Button__WEBPACK_IMPORTED_MODULE_4__.R42Button, {\n onClick: ()=>setR42Open(true)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_r42_R42Drawer__WEBPACK_IMPORTED_MODULE_5__.R42Drawer, {\n open: r42Open,\n onClose: ()=>setR42Open(false),\n userId: user?.id ?? \"\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 41,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n style: {\n position: \"fixed\",\n bottom: 0,\n left: 0,\n right: 0,\n height: \"var(--nav-height)\",\n background: \"var(--bg)\",\n borderTop: \"1px solid var(--cream)\",\n display: \"flex\",\n zIndex: 150\n },\n children: NAV_ITEMS.map((item)=>{\n const active = item.href === \"/app\" ? pathname === \"/app\" || pathname === \"/app/\" : pathname.startsWith(item.href);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: item.href,\n style: {\n flex: 1,\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"2px\",\n textDecoration: \"none\",\n color: active ? \"var(--accent)\" : \"var(--fg-muted)\",\n fontSize: \"20px\",\n minHeight: \"44px\",\n transition: \"color 150ms\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.icon\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 85,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n fontWeight: active ? 700 : 400\n },\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 86,\n columnNumber: 17\n }, this)\n ]\n }, item.href, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 68,\n columnNumber: 15\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 48,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 23,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 22,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvYXBwL2FwcC9sYXlvdXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUN1QztBQUNYO0FBQ2lCO0FBQ1M7QUFDQTtBQUNEO0FBQ2I7QUFFeEMsTUFBTVEsWUFBWTtJQUNoQjtRQUFFQyxNQUFNO1FBQVFDLE9BQU87UUFBV0MsTUFBTTtJQUFJO0lBQzVDO1FBQUVGLE1BQU07UUFBZ0JDLE9BQU87UUFBV0MsTUFBTTtJQUFLO0lBQ3JEO1FBQUVGLE1BQU07UUFBZ0JDLE9BQU87UUFBV0MsTUFBTTtJQUFLO0NBQ3REO0FBRWMsU0FBU0MsVUFBVSxFQUFFQyxRQUFRLEVBQWlDO0lBQzNFLE1BQU1DLFdBQVdYLDREQUFXQTtJQUM1QixNQUFNLENBQUNZLFNBQVNDLFdBQVcsR0FBR2YsK0NBQVFBLENBQUM7SUFDdkMsTUFBTWdCLE9BQU9WLHNEQUFXQTtJQUV4QixxQkFDRSw4REFBQ0QsK0RBQWFBO2tCQUNaLDRFQUFDWTtZQUNDQyxPQUFPO2dCQUNMQyxXQUFXO2dCQUNYQyxTQUFTO2dCQUNUQyxlQUFlO2dCQUNmQyxZQUFZO2dCQUNaQyxlQUFlO1lBQ2pCOzs4QkFHQSw4REFBQ0M7b0JBQUtOLE9BQU87d0JBQUVPLE1BQU07d0JBQUdDLFNBQVM7d0JBQWNDLFVBQVU7d0JBQVNDLFFBQVE7d0JBQVVDLE9BQU87b0JBQU87OEJBQy9GakI7Ozs7Ozs4QkFJSCw4REFBQ1QsZ0VBQVNBO29CQUFDMkIsU0FBUyxJQUFNZixXQUFXOzs7Ozs7OEJBR3JDLDhEQUFDWCxnRUFBU0E7b0JBQ1IyQixNQUFNakI7b0JBQ05rQixTQUFTLElBQU1qQixXQUFXO29CQUMxQmtCLFFBQVFqQixNQUFNa0IsTUFBTTs7Ozs7OzhCQUl0Qiw4REFBQ0M7b0JBQ0NqQixPQUFPO3dCQUNMa0IsVUFBVTt3QkFDVkMsUUFBUTt3QkFDUkMsTUFBTTt3QkFDTkMsT0FBTzt3QkFDUEMsUUFBUTt3QkFDUmxCLFlBQVk7d0JBQ1ptQixXQUFXO3dCQUNYckIsU0FBUzt3QkFDVHNCLFFBQVE7b0JBQ1Y7OEJBRUNuQyxVQUFVb0MsR0FBRyxDQUFDLENBQUNDO3dCQUNkLE1BQU1DLFNBQ0pELEtBQUtwQyxJQUFJLEtBQUssU0FDVkssYUFBYSxVQUFVQSxhQUFhLFVBQ3BDQSxTQUFTaUMsVUFBVSxDQUFDRixLQUFLcEMsSUFBSTt3QkFFbkMscUJBQ0UsOERBQUNQLGlEQUFJQTs0QkFFSE8sTUFBTW9DLEtBQUtwQyxJQUFJOzRCQUNmVSxPQUFPO2dDQUNMTyxNQUFNO2dDQUNOTCxTQUFTO2dDQUNUQyxlQUFlO2dDQUNmMEIsWUFBWTtnQ0FDWkMsZ0JBQWdCO2dDQUNoQkMsS0FBSztnQ0FDTEMsZ0JBQWdCO2dDQUNoQkMsT0FBT04sU0FBUyxrQkFBa0I7Z0NBQ2xDTyxVQUFVO2dDQUNWakMsV0FBVztnQ0FDWGtDLFlBQVk7NEJBQ2Q7OzhDQUVBLDhEQUFDQzs4Q0FBTVYsS0FBS2xDLElBQUk7Ozs7Ozs4Q0FDaEIsOERBQUM0QztvQ0FDQ3BDLE9BQU87d0NBQ0xrQyxVQUFVO3dDQUNWRyxZQUFZO3dDQUNaQyxlQUFlO3dDQUNmQyxlQUFlO3dDQUNmQyxZQUFZYixTQUFTLE1BQU07b0NBQzdCOzhDQUVDRCxLQUFLbkMsS0FBSzs7Ozs7OzsyQkExQlJtQyxLQUFLcEMsSUFBSTs7Ozs7b0JBOEJwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLViIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2FwcC9hcHAvbGF5b3V0LnRzeD9mZDE2Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnXG5pbXBvcnQgeyB1c2VQYXRobmFtZSB9IGZyb20gJ25leHQvbmF2aWdhdGlvbidcbmltcG9ydCB7IFI0MkJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy9yNDIvUjQyQnV0dG9uJ1xuaW1wb3J0IHsgUjQyRHJhd2VyIH0gZnJvbSAnQC9jb21wb25lbnRzL3I0Mi9SNDJEcmF3ZXInXG5pbXBvcnQgeyBUb2FzdFByb3ZpZGVyIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL1RvYXN0J1xuaW1wb3J0IHsgZ2V0QXV0aFVzZXIgfSBmcm9tICdAL2xpYi9hdXRoJ1xuXG5jb25zdCBOQVZfSVRFTVMgPSBbXG4gIHsgaHJlZjogJy9hcHAnLCBsYWJlbDogJ1Nlc3Npb24nLCBpY29uOiAn4pa2JyB9LFxuICB7IGhyZWY6ICcvYXBwL2xpYnJhcnknLCBsYWJlbDogJ0xpYnJhcnknLCBpY29uOiAn8J+TmicgfSxcbiAgeyBocmVmOiAnL2FwcC9wcm9maWxlJywgbGFiZWw6ICdQcm9maWxlJywgaWNvbjogJ/CfkaQnIH0sXG5dXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEFwcExheW91dCh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9KSB7XG4gIGNvbnN0IHBhdGhuYW1lID0gdXNlUGF0aG5hbWUoKVxuICBjb25zdCBbcjQyT3Blbiwgc2V0UjQyT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgdXNlciA9IGdldEF1dGhVc2VyKClcblxuICByZXR1cm4gKFxuICAgIDxUb2FzdFByb3ZpZGVyPlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIG1pbkhlaWdodDogJzEwMGR2aCcsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZyknLFxuICAgICAgICAgIHBhZGRpbmdCb3R0b206ICd2YXIoLS1uYXYtaGVpZ2h0KScsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHsvKiBNYWluIGNvbnRlbnQgKi99XG4gICAgICAgIDxtYWluIHN0eWxlPXt7IGZsZXg6IDEsIHBhZGRpbmc6ICd2YXIoLS1zLTQpJywgbWF4V2lkdGg6ICc2NDBweCcsIG1hcmdpbjogJzAgYXV0bycsIHdpZHRoOiAnMTAwJScgfX0+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L21haW4+XG5cbiAgICAgICAgey8qIFI0MiBmbG9hdGluZyBidXR0b24gKi99XG4gICAgICAgIDxSNDJCdXR0b24gb25DbGljaz17KCkgPT4gc2V0UjQyT3Blbih0cnVlKX0gLz5cblxuICAgICAgICB7LyogUjQyIGRyYXdlciAqL31cbiAgICAgICAgPFI0MkRyYXdlclxuICAgICAgICAgIG9wZW49e3I0Mk9wZW59XG4gICAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0UjQyT3BlbihmYWxzZSl9XG4gICAgICAgICAgdXNlcklkPXt1c2VyPy5pZCA/PyAnJ31cbiAgICAgICAgLz5cblxuICAgICAgICB7LyogQm90dG9tIG5hdmlnYXRpb24gKi99XG4gICAgICAgIDxuYXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgICBib3R0b206IDAsXG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICBoZWlnaHQ6ICd2YXIoLS1uYXYtaGVpZ2h0KScsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmcpJyxcbiAgICAgICAgICAgIGJvcmRlclRvcDogJzFweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgekluZGV4OiAxNTAsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtOQVZfSVRFTVMubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmUgPVxuICAgICAgICAgICAgICBpdGVtLmhyZWYgPT09ICcvYXBwJ1xuICAgICAgICAgICAgICAgID8gcGF0aG5hbWUgPT09ICcvYXBwJyB8fCBwYXRobmFtZSA9PT0gJy9hcHAvJ1xuICAgICAgICAgICAgICAgIDogcGF0aG5hbWUuc3RhcnRzV2l0aChpdGVtLmhyZWYpXG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAga2V5PXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgaHJlZj17aXRlbS5ocmVmfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgIGdhcDogJzJweCcsXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZSA/ICd2YXIoLS1hY2NlbnQpJyA6ICd2YXIoLS1mZy1tdXRlZCknLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICcyMHB4JyxcbiAgICAgICAgICAgICAgICAgIG1pbkhlaWdodDogJzQ0cHgnLFxuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4+e2l0ZW0uaWNvbn08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1sYWJlbCknLFxuICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vKScsXG4gICAgICAgICAgICAgICAgICAgIHRleHRUcmFuc2Zvcm06ICd1cHBlcmNhc2UnLFxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXJTcGFjaW5nOiAndmFyKC0tbGFiZWwtbHMpJyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogYWN0aXZlID8gNzAwIDogNDAwLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7aXRlbS5sYWJlbH1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9uYXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L1RvYXN0UHJvdmlkZXI+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwiTGluayIsInVzZVBhdGhuYW1lIiwiUjQyQnV0dG9uIiwiUjQyRHJhd2VyIiwiVG9hc3RQcm92aWRlciIsImdldEF1dGhVc2VyIiwiTkFWX0lURU1TIiwiaHJlZiIsImxhYmVsIiwiaWNvbiIsIkFwcExheW91dCIsImNoaWxkcmVuIiwicGF0aG5hbWUiLCJyNDJPcGVuIiwic2V0UjQyT3BlbiIsInVzZXIiLCJkaXYiLCJzdHlsZSIsIm1pbkhlaWdodCIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYmFja2dyb3VuZCIsInBhZGRpbmdCb3R0b20iLCJtYWluIiwiZmxleCIsInBhZGRpbmciLCJtYXhXaWR0aCIsIm1hcmdpbiIsIndpZHRoIiwib25DbGljayIsIm9wZW4iLCJvbkNsb3NlIiwidXNlcklkIiwiaWQiLCJuYXYiLCJwb3NpdGlvbiIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsImhlaWdodCIsImJvcmRlclRvcCIsInpJbmRleCIsIm1hcCIsIml0ZW0iLCJhY3RpdmUiLCJzdGFydHNXaXRoIiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwiZ2FwIiwidGV4dERlY29yYXRpb24iLCJjb2xvciIsImZvbnRTaXplIiwidHJhbnNpdGlvbiIsInNwYW4iLCJmb250RmFtaWx5IiwidGV4dFRyYW5zZm9ybSIsImxldHRlclNwYWNpbmciLCJmb250V2VpZ2h0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/app/app/layout.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/app/app/library/page.tsx": +/*!**************************************!*\ + !*** ./src/app/app/library/page.tsx ***! + \**************************************/ +/***/ ((__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 */ LibraryPage)\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_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var _lib_hooks_usePBCollection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/hooks/usePBCollection */ \"(ssr)/./src/lib/hooks/usePBCollection.ts\");\n/* harmony import */ var _components_ui_StatusBadge__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/StatusBadge */ \"(ssr)/./src/components/ui/StatusBadge.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\nfunction LibraryPage() {\n const { items: topics, loading } = (0,_lib_hooks_usePBCollection__WEBPACK_IMPORTED_MODULE_3__.usePBCollection)(\"topics\", {\n filter: 'status=\"published\"',\n expand: \"theme\",\n sort: \"theme,difficulty,title\"\n });\n const { items: themes } = (0,_lib_hooks_usePBCollection__WEBPACK_IMPORTED_MODULE_3__.usePBCollection)(\"themes\", {\n filter: 'status=\"published\"',\n sort: \"title\"\n });\n const [search, setSearch] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [difficulty, setDifficulty] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"all\");\n const [themeFilter, setThemeFilter] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"all\");\n const filtered = topics.filter((t)=>{\n const matchSearch = search === \"\" || t.title.toLowerCase().includes(search.toLowerCase()) || t.key_terms.some((k)=>k.toLowerCase().includes(search.toLowerCase()));\n const matchDiff = difficulty === \"all\" || t.difficulty === difficulty;\n const matchTheme = themeFilter === \"all\" || t.theme === themeFilter;\n return matchSearch && matchDiff && matchTheme;\n });\n // Group by theme\n const grouped = new Map();\n for (const topic of filtered){\n const list = grouped.get(topic.theme) ?? [];\n list.push(topic);\n grouped.set(topic.theme, list);\n }\n const themeMap = new Map(themes.map((t)=>[\n t.id,\n t\n ]));\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-5)\"\n },\n children: [\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)(\"h1\", {\n style: {\n margin: \"0 0 var(--s-2)\",\n fontSize: \"var(--t-h3)\",\n fontWeight: 700,\n color: \"var(--fg)\"\n },\n children: \"Library\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 48,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-body)\",\n color: \"var(--fg-muted)\"\n },\n children: \"Browse all published topics.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 58,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 47,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"search\",\n value: search,\n onChange: (e)=>setSearch(e.target.value),\n placeholder: \"Search topics or key terms…\",\n style: {\n width: \"100%\",\n borderRadius: \"var(--r-md)\",\n border: \"1.5px solid var(--cream)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-body)\",\n fontFamily: \"var(--font-sans)\",\n color: \"var(--fg)\",\n background: \"var(--bg)\",\n outline: \"none\",\n minHeight: \"44px\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 64,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n gap: \"var(--s-2)\",\n flexWrap: \"wrap\"\n },\n children: [\n \"all\",\n \"introductory\",\n \"intermediate\",\n \"advanced\"\n ].map((d)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setDifficulty(d),\n style: {\n background: difficulty === d ? \"var(--accent)\" : \"var(--bg-warm)\",\n color: difficulty === d ? \"var(--paper)\" : \"var(--fg)\",\n border: \"1.5px solid var(--cream)\",\n borderRadius: \"var(--r-pill)\",\n padding: \"var(--s-1) var(--s-3)\",\n fontSize: \"var(--t-small)\",\n fontFamily: \"var(--font-sans)\",\n cursor: \"pointer\",\n minHeight: \"36px\",\n textTransform: \"capitalize\",\n transition: \"background 150ms\"\n },\n children: d\n }, d, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 86,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 84,\n columnNumber: 7\n }, this),\n themes.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n value: themeFilter,\n onChange: (e)=>setThemeFilter(e.target.value),\n style: {\n borderRadius: \"var(--r-sm)\",\n border: \"1.5px solid var(--cream)\",\n padding: \"var(--s-2) var(--s-3)\",\n fontSize: \"var(--t-body)\",\n fontFamily: \"var(--font-sans)\",\n color: \"var(--fg)\",\n background: \"var(--bg)\",\n outline: \"none\",\n minHeight: \"44px\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"all\",\n children: \"All themes\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 125,\n columnNumber: 11\n }, this),\n themes.map((t)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: t.id,\n children: t.title\n }, t.id, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 127,\n columnNumber: 13\n }, this))\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 110,\n columnNumber: 9\n }, this),\n loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n color: \"var(--fg-muted)\",\n fontSize: \"var(--t-body)\"\n },\n children: \"Loading…\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 135,\n columnNumber: 9\n }, this) : filtered.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n color: \"var(--fg-muted)\",\n fontSize: \"var(--t-body)\",\n textAlign: \"center\",\n padding: \"var(--s-6)\"\n },\n children: \"No topics match your search.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 137,\n columnNumber: 9\n }, this) : Array.from(grouped.entries()).map(([themeId, themeTopics])=>{\n const theme = themeMap.get(themeId);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-3)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-small)\",\n fontWeight: 700,\n color: \"var(--fg-muted)\",\n textTransform: \"uppercase\",\n letterSpacing: \"0.05em\",\n fontFamily: \"var(--font-mono)\"\n },\n children: theme?.title ?? themeId\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 145,\n columnNumber: 15\n }, this),\n themeTopics.map((topic)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: `/app/library/${topic.id}`,\n style: {\n textDecoration: \"none\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"var(--bg-warm)\",\n borderRadius: \"var(--r-sm)\",\n padding: \"var(--s-3) var(--s-4)\",\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-3)\",\n minHeight: \"56px\",\n transition: \"background 150ms\"\n },\n onMouseEnter: (e)=>{\n e.currentTarget.style.background = \"var(--cream)\";\n },\n onMouseLeave: (e)=>{\n e.currentTarget.style.background = \"var(--bg-warm)\";\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n flex: 1,\n minWidth: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: \"0 0 var(--s-1)\",\n fontWeight: 600,\n fontSize: \"var(--t-body)\",\n color: \"var(--fg)\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\"\n },\n children: topic.title\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 183,\n columnNumber: 23\n }, this),\n topic.key_terms.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-small)\",\n color: \"var(--fg-muted)\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\"\n },\n children: topic.key_terms.slice(0, 4).join(\", \")\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 197,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 182,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_StatusBadge__WEBPACK_IMPORTED_MODULE_4__.StatusBadge, {\n status: topic.difficulty\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 211,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 164,\n columnNumber: 19\n }, this)\n }, topic.id, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 159,\n columnNumber: 17\n }, this))\n ]\n }, themeId, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 144,\n columnNumber: 13\n }, this);\n })\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\library\\\\page.tsx\",\n lineNumber: 46,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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O3dEQUNWRSxPQUFPO3dEQUNQMkMsVUFBVTt3REFDVkMsY0FBYzt3REFDZEMsWUFBWTtvREFDZDs4REFFQzlELE1BQU1SLFNBQVMsQ0FBQ3VFLEtBQUssQ0FBQyxHQUFHLEdBQUdDLElBQUksQ0FBQzs7Ozs7Ozs7Ozs7O3NEQUl4Qyw4REFBQzdGLG1FQUFXQTs0Q0FBQzhGLFFBQVFqRSxNQUFNbEIsVUFBVTs7Ozs7Ozs7Ozs7OytCQW5EbENrQixNQUFNTyxFQUFFOzs7Ozs7bUJBaEJUeUM7Ozs7O1lBeUVkOzs7Ozs7O0FBSVIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9hcHAvYXBwL2xpYnJhcnkvcGFnZS50c3g/MGE2NSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IExpbmsgZnJvbSAnbmV4dC9saW5rJ1xuaW1wb3J0IHsgdXNlUEJDb2xsZWN0aW9uIH0gZnJvbSAnQC9saWIvaG9va3MvdXNlUEJDb2xsZWN0aW9uJ1xuaW1wb3J0IHsgU3RhdHVzQmFkZ2UgfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvU3RhdHVzQmFkZ2UnXG5pbXBvcnQgdHlwZSB7IFRvcGljLCBUaGVtZSB9IGZyb20gJ0AvdHlwZXMnXG5cbnR5cGUgRGlmZmljdWx0eSA9IFRvcGljWydkaWZmaWN1bHR5J10gfCAnYWxsJ1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBMaWJyYXJ5UGFnZSgpIHtcbiAgY29uc3QgeyBpdGVtczogdG9waWNzLCBsb2FkaW5nIH0gPSB1c2VQQkNvbGxlY3Rpb248VG9waWM+KCd0b3BpY3MnLCB7XG4gICAgZmlsdGVyOiAnc3RhdHVzPVwicHVibGlzaGVkXCInLFxuICAgIGV4cGFuZDogJ3RoZW1lJyxcbiAgICBzb3J0OiAndGhlbWUsZGlmZmljdWx0eSx0aXRsZScsXG4gIH0pXG4gIGNvbnN0IHsgaXRlbXM6IHRoZW1lcyB9ID0gdXNlUEJDb2xsZWN0aW9uPFRoZW1lPigndGhlbWVzJywge1xuICAgIGZpbHRlcjogJ3N0YXR1cz1cInB1Ymxpc2hlZFwiJyxcbiAgICBzb3J0OiAndGl0bGUnLFxuICB9KVxuXG4gIGNvbnN0IFtzZWFyY2gsIHNldFNlYXJjaF0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3QgW2RpZmZpY3VsdHksIHNldERpZmZpY3VsdHldID0gdXNlU3RhdGU8RGlmZmljdWx0eT4oJ2FsbCcpXG4gIGNvbnN0IFt0aGVtZUZpbHRlciwgc2V0VGhlbWVGaWx0ZXJdID0gdXNlU3RhdGU8c3RyaW5nPignYWxsJylcblxuICBjb25zdCBmaWx0ZXJlZCA9IHRvcGljcy5maWx0ZXIoKHQpID0+IHtcbiAgICBjb25zdCBtYXRjaFNlYXJjaCA9XG4gICAgICBzZWFyY2ggPT09ICcnIHx8XG4gICAgICB0LnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoLnRvTG93ZXJDYXNlKCkpIHx8XG4gICAgICB0LmtleV90ZXJtcy5zb21lKChrKSA9PiBrLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoLnRvTG93ZXJDYXNlKCkpKVxuICAgIGNvbnN0IG1hdGNoRGlmZiA9IGRpZmZpY3VsdHkgPT09ICdhbGwnIHx8IHQuZGlmZmljdWx0eSA9PT0gZGlmZmljdWx0eVxuICAgIGNvbnN0IG1hdGNoVGhlbWUgPSB0aGVtZUZpbHRlciA9PT0gJ2FsbCcgfHwgdC50aGVtZSA9PT0gdGhlbWVGaWx0ZXJcbiAgICByZXR1cm4gbWF0Y2hTZWFyY2ggJiYgbWF0Y2hEaWZmICYmIG1hdGNoVGhlbWVcbiAgfSlcblxuICAvLyBHcm91cCBieSB0aGVtZVxuICBjb25zdCBncm91cGVkID0gbmV3IE1hcDxzdHJpbmcsIFRvcGljW10+KClcbiAgZm9yIChjb25zdCB0b3BpYyBvZiBmaWx0ZXJlZCkge1xuICAgIGNvbnN0IGxpc3QgPSBncm91cGVkLmdldCh0b3BpYy50aGVtZSkgPz8gW11cbiAgICBsaXN0LnB1c2godG9waWMpXG4gICAgZ3JvdXBlZC5zZXQodG9waWMudGhlbWUsIGxpc3QpXG4gIH1cblxuICBjb25zdCB0aGVtZU1hcCA9IG5ldyBNYXAodGhlbWVzLm1hcCgodCkgPT4gW3QuaWQsIHRdKSlcblxuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAndmFyKC0tcy01KScgfX0+XG4gICAgICA8ZGl2PlxuICAgICAgICA8aDFcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgbWFyZ2luOiAnMCAwIHZhcigtLXMtMiknLFxuICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWgzKScsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiA3MDAsXG4gICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnKScsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIExpYnJhcnlcbiAgICAgICAgPC9oMT5cbiAgICAgICAgPHAgc3R5bGU9e3sgbWFyZ2luOiAwLCBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLCBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScgfX0+XG4gICAgICAgICAgQnJvd3NlIGFsbCBwdWJsaXNoZWQgdG9waWNzLlxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cblxuICAgICAgey8qIFNlYXJjaCAqL31cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAgICAgdmFsdWU9e3NlYXJjaH1cbiAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXRTZWFyY2goZS50YXJnZXQudmFsdWUpfVxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCB0b3BpY3Mgb3Iga2V5IHRlcm1z4oCmXCJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIGJvcmRlclJhZGl1czogJ3ZhcigtLXItbWQpJyxcbiAgICAgICAgICBib3JkZXI6ICcxLjVweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTMpIHZhcigtLXMtNCknLFxuICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsXG4gICAgICAgICAgZm9udEZhbWlseTogJ3ZhcigtLWZvbnQtc2FucyknLFxuICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmcpJyxcbiAgICAgICAgICBvdXRsaW5lOiAnbm9uZScsXG4gICAgICAgICAgbWluSGVpZ2h0OiAnNDRweCcsXG4gICAgICAgIH19XG4gICAgICAvPlxuXG4gICAgICB7LyogRmlsdGVycyAqL31cbiAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBnYXA6ICd2YXIoLS1zLTIpJywgZmxleFdyYXA6ICd3cmFwJyB9fT5cbiAgICAgICAgeyhbJ2FsbCcsICdpbnRyb2R1Y3RvcnknLCAnaW50ZXJtZWRpYXRlJywgJ2FkdmFuY2VkJ10gYXMgY29uc3QpLm1hcCgoZCkgPT4gKFxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGtleT17ZH1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldERpZmZpY3VsdHkoZCl9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBkaWZmaWN1bHR5ID09PSBkID8gJ3ZhcigtLWFjY2VudCknIDogJ3ZhcigtLWJnLXdhcm0pJyxcbiAgICAgICAgICAgICAgY29sb3I6IGRpZmZpY3VsdHkgPT09IGQgPyAndmFyKC0tcGFwZXIpJyA6ICd2YXIoLS1mZyknLFxuICAgICAgICAgICAgICBib3JkZXI6ICcxLjVweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXBpbGwpJyxcbiAgICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtMSkgdmFyKC0tcy0zKScsXG4gICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1zbWFsbCknLFxuICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1zYW5zKScsXG4gICAgICAgICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICAgICAgICBtaW5IZWlnaHQ6ICczNnB4JyxcbiAgICAgICAgICAgICAgdGV4dFRyYW5zZm9ybTogJ2NhcGl0YWxpemUnLFxuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAnYmFja2dyb3VuZCAxNTBtcycsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtkfVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICApKX1cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7LyogVGhlbWUgZmlsdGVyICovfVxuICAgICAge3RoZW1lcy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgPHNlbGVjdFxuICAgICAgICAgIHZhbHVlPXt0aGVtZUZpbHRlcn1cbiAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldFRoZW1lRmlsdGVyKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1zbSknLFxuICAgICAgICAgICAgYm9yZGVyOiAnMS41cHggc29saWQgdmFyKC0tY3JlYW0pJyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTIpIHZhcigtLXMtMyknLFxuICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZyknLFxuICAgICAgICAgICAgb3V0bGluZTogJ25vbmUnLFxuICAgICAgICAgICAgbWluSGVpZ2h0OiAnNDRweCcsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJhbGxcIj5BbGwgdGhlbWVzPC9vcHRpb24+XG4gICAgICAgICAge3RoZW1lcy5tYXAoKHQpID0+IChcbiAgICAgICAgICAgIDxvcHRpb24ga2V5PXt0LmlkfSB2YWx1ZT17dC5pZH0+XG4gICAgICAgICAgICAgIHt0LnRpdGxlfVxuICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvc2VsZWN0PlxuICAgICAgKX1cblxuICAgICAge2xvYWRpbmcgPyAoXG4gICAgICAgIDxkaXYgc3R5bGU9e3sgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknLCBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknIH19PkxvYWRpbmfigKY8L2Rpdj5cbiAgICAgICkgOiBmaWx0ZXJlZC5sZW5ndGggPT09IDAgPyAoXG4gICAgICAgIDxkaXYgc3R5bGU9e3sgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknLCBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLCB0ZXh0QWxpZ246ICdjZW50ZXInLCBwYWRkaW5nOiAndmFyKC0tcy02KScgfX0+XG4gICAgICAgICAgTm8gdG9waWNzIG1hdGNoIHlvdXIgc2VhcmNoLlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiAoXG4gICAgICAgIEFycmF5LmZyb20oZ3JvdXBlZC5lbnRyaWVzKCkpLm1hcCgoW3RoZW1lSWQsIHRoZW1lVG9waWNzXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHRoZW1lID0gdGhlbWVNYXAuZ2V0KHRoZW1lSWQpXG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXYga2V5PXt0aGVtZUlkfSBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBnYXA6ICd2YXIoLS1zLTMpJyB9fT5cbiAgICAgICAgICAgICAgPGgyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCxcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1zbWFsbCknLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogNzAwLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknLFxuICAgICAgICAgICAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsXG4gICAgICAgICAgICAgICAgICBsZXR0ZXJTcGFjaW5nOiAnMC4wNWVtJyxcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LW1vbm8pJyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3RoZW1lPy50aXRsZSA/PyB0aGVtZUlkfVxuICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgICB7dGhlbWVUb3BpY3MubWFwKCh0b3BpYykgPT4gKFxuICAgICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgICBrZXk9e3RvcGljLmlkfVxuICAgICAgICAgICAgICAgICAgaHJlZj17YC9hcHAvbGlicmFyeS8ke3RvcGljLmlkfWB9XG4gICAgICAgICAgICAgICAgICBzdHlsZT17eyB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZy13YXJtKScsXG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1zbSknLFxuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTMpIHZhcigtLXMtNCknLFxuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTMpJyxcbiAgICAgICAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6ICc1NnB4JyxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAnYmFja2dyb3VuZCAxNTBtcycsXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBlLmN1cnJlbnRUYXJnZXQuc3R5bGUuYmFja2dyb3VuZCA9ICd2YXIoLS1jcmVhbSknXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBlLmN1cnJlbnRUYXJnZXQuc3R5bGUuYmFja2dyb3VuZCA9ICd2YXIoLS1iZy13YXJtKSdcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBmbGV4OiAxLCBtaW5XaWR0aDogMCB9fT5cbiAgICAgICAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAnMCAwIHZhcigtLXMtMSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiA2MDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7dG9waWMudGl0bGV9XG4gICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgIHt0b3BpYy5rZXlfdGVybXMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3RvcGljLmtleV90ZXJtcy5zbGljZSgwLCA0KS5qb2luKCcsICcpfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8U3RhdHVzQmFkZ2Ugc3RhdHVzPXt0b3BpYy5kaWZmaWN1bHR5fSAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIClcbiAgICAgICAgfSlcbiAgICAgICl9XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwiTGluayIsInVzZVBCQ29sbGVjdGlvbiIsIlN0YXR1c0JhZGdlIiwiTGlicmFyeVBhZ2UiLCJpdGVtcyIsInRvcGljcyIsImxvYWRpbmciLCJmaWx0ZXIiLCJleHBhbmQiLCJzb3J0IiwidGhlbWVzIiwic2VhcmNoIiwic2V0U2VhcmNoIiwiZGlmZmljdWx0eSIsInNldERpZmZpY3VsdHkiLCJ0aGVtZUZpbHRlciIsInNldFRoZW1lRmlsdGVyIiwiZmlsdGVyZWQiLCJ0IiwibWF0Y2hTZWFyY2giLCJ0aXRsZSIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJrZXlfdGVybXMiLCJzb21lIiwiayIsIm1hdGNoRGlmZiIsIm1hdGNoVGhlbWUiLCJ0aGVtZSIsImdyb3VwZWQiLCJNYXAiLCJ0b3BpYyIsImxpc3QiLCJnZXQiLCJwdXNoIiwic2V0IiwidGhlbWVNYXAiLCJtYXAiLCJpZCIsImRpdiIsInN0eWxlIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJoMSIsIm1hcmdpbiIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsImNvbG9yIiwicCIsImlucHV0IiwidHlwZSIsInZhbHVlIiwib25DaGFuZ2UiLCJlIiwidGFyZ2V0IiwicGxhY2Vob2xkZXIiLCJ3aWR0aCIsImJvcmRlclJhZGl1cyIsImJvcmRlciIsInBhZGRpbmciLCJmb250RmFtaWx5IiwiYmFja2dyb3VuZCIsIm91dGxpbmUiLCJtaW5IZWlnaHQiLCJmbGV4V3JhcCIsImQiLCJidXR0b24iLCJvbkNsaWNrIiwiY3Vyc29yIiwidGV4dFRyYW5zZm9ybSIsInRyYW5zaXRpb24iLCJsZW5ndGgiLCJzZWxlY3QiLCJvcHRpb24iLCJ0ZXh0QWxpZ24iLCJBcnJheSIsImZyb20iLCJlbnRyaWVzIiwidGhlbWVJZCIsInRoZW1lVG9waWNzIiwiaDIiLCJsZXR0ZXJTcGFjaW5nIiwiaHJlZiIsInRleHREZWNvcmF0aW9uIiwiYWxpZ25JdGVtcyIsIm9uTW91c2VFbnRlciIsImN1cnJlbnRUYXJnZXQiLCJvbk1vdXNlTGVhdmUiLCJmbGV4IiwibWluV2lkdGgiLCJvdmVyZmxvdyIsInRleHRPdmVyZmxvdyIsIndoaXRlU3BhY2UiLCJzbGljZSIsImpvaW4iLCJzdGF0dXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/app/app/library/page.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/r42/R42Button.tsx": +/*!******************************************!*\ + !*** ./src/components/r42/R42Button.tsx ***! + \******************************************/ +/***/ ((__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 */ R42Button: () => (/* binding */ R42Button)\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/* __next_internal_client_entry_do_not_use__ R42Button auto */ \n\nfunction R42Button({ onClick }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: onClick,\n \"aria-label\": \"Open R42 assistant\",\n style: {\n position: \"fixed\",\n bottom: \"calc(var(--nav-height) + 16px)\",\n right: \"16px\",\n width: \"var(--r42-size)\",\n height: \"var(--r42-size)\",\n borderRadius: \"50%\",\n background: \"var(--accent)\",\n border: \"none\",\n cursor: \"pointer\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n boxShadow: \"var(--shadow-pill)\",\n zIndex: 200,\n transition: \"transform 150ms, box-shadow 150ms\",\n color: \"var(--paper)\",\n fontSize: \"22px\"\n },\n onMouseEnter: (e)=>{\n e.currentTarget.style.transform = \"scale(1.08)\";\n },\n onMouseLeave: (e)=>{\n e.currentTarget.style.transform = \"scale(1)\";\n },\n children: \"R\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Button.tsx\",\n lineNumber: 10,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9yNDIvUjQyQnV0dG9uLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDeUI7QUFNbEIsU0FBU0MsVUFBVSxFQUFFQyxPQUFPLEVBQWtCO0lBQ25ELHFCQUNFLDhEQUFDQztRQUNDRCxTQUFTQTtRQUNURSxjQUFXO1FBQ1hDLE9BQU87WUFDTEMsVUFBVTtZQUNWQyxRQUFRO1lBQ1JDLE9BQU87WUFDUEMsT0FBTztZQUNQQyxRQUFRO1lBQ1JDLGNBQWM7WUFDZEMsWUFBWTtZQUNaQyxRQUFRO1lBQ1JDLFFBQVE7WUFDUkMsU0FBUztZQUNUQyxZQUFZO1lBQ1pDLGdCQUFnQjtZQUNoQkMsV0FBVztZQUNYQyxRQUFRO1lBQ1JDLFlBQVk7WUFDWkMsT0FBTztZQUNQQyxVQUFVO1FBQ1o7UUFDQUMsY0FBYyxDQUFDQztZQUNiQSxFQUFFQyxhQUFhLENBQUNwQixLQUFLLENBQUNxQixTQUFTLEdBQUc7UUFDcEM7UUFDQUMsY0FBYyxDQUFDSDtZQUNiQSxFQUFFQyxhQUFhLENBQUNwQixLQUFLLENBQUNxQixTQUFTLEdBQUc7UUFDcEM7a0JBQ0Q7Ozs7OztBQUlMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy9yNDIvUjQyQnV0dG9uLnRzeD83MWM5Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5pbnRlcmZhY2UgUjQyQnV0dG9uUHJvcHMge1xuICBvbkNsaWNrOiAoKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSNDJCdXR0b24oeyBvbkNsaWNrIH06IFI0MkJ1dHRvblByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPGJ1dHRvblxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIGFyaWEtbGFiZWw9XCJPcGVuIFI0MiBhc3Npc3RhbnRcIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgIGJvdHRvbTogJ2NhbGModmFyKC0tbmF2LWhlaWdodCkgKyAxNnB4KScsXG4gICAgICAgIHJpZ2h0OiAnMTZweCcsXG4gICAgICAgIHdpZHRoOiAndmFyKC0tcjQyLXNpemUpJyxcbiAgICAgICAgaGVpZ2h0OiAndmFyKC0tcjQyLXNpemUpJyxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAnNTAlJyxcbiAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWFjY2VudCknLFxuICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgYm94U2hhZG93OiAndmFyKC0tc2hhZG93LXBpbGwpJyxcbiAgICAgICAgekluZGV4OiAyMDAsXG4gICAgICAgIHRyYW5zaXRpb246ICd0cmFuc2Zvcm0gMTUwbXMsIGJveC1zaGFkb3cgMTUwbXMnLFxuICAgICAgICBjb2xvcjogJ3ZhcigtLXBhcGVyKScsXG4gICAgICAgIGZvbnRTaXplOiAnMjJweCcsXG4gICAgICB9fVxuICAgICAgb25Nb3VzZUVudGVyPXsoZSkgPT4ge1xuICAgICAgICBlLmN1cnJlbnRUYXJnZXQuc3R5bGUudHJhbnNmb3JtID0gJ3NjYWxlKDEuMDgpJ1xuICAgICAgfX1cbiAgICAgIG9uTW91c2VMZWF2ZT17KGUpID0+IHtcbiAgICAgICAgZS5jdXJyZW50VGFyZ2V0LnN0eWxlLnRyYW5zZm9ybSA9ICdzY2FsZSgxKSdcbiAgICAgIH19XG4gICAgPlxuICAgICAgUlxuICAgIDwvYnV0dG9uPlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJSNDJCdXR0b24iLCJvbkNsaWNrIiwiYnV0dG9uIiwiYXJpYS1sYWJlbCIsInN0eWxlIiwicG9zaXRpb24iLCJib3R0b20iLCJyaWdodCIsIndpZHRoIiwiaGVpZ2h0IiwiYm9yZGVyUmFkaXVzIiwiYmFja2dyb3VuZCIsImJvcmRlciIsImN1cnNvciIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJib3hTaGFkb3ciLCJ6SW5kZXgiLCJ0cmFuc2l0aW9uIiwiY29sb3IiLCJmb250U2l6ZSIsIm9uTW91c2VFbnRlciIsImUiLCJjdXJyZW50VGFyZ2V0IiwidHJhbnNmb3JtIiwib25Nb3VzZUxlYXZlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/r42/R42Button.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/r42/R42Drawer.tsx": +/*!******************************************!*\ + !*** ./src/components/r42/R42Drawer.tsx ***! + \******************************************/ +/***/ ((__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 */ R42Drawer: () => (/* binding */ R42Drawer)\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 _components_ui_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ R42Drawer auto */ \n\n\nconst CHAT_URL = \"http://localhost:3004\" ?? 0;\nfunction R42Drawer({ open, onClose, userId }) {\n const [messages, setMessages] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [input, setInput] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [streaming, setStreaming] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const bottomRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const abortRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (open) {\n bottomRef.current?.scrollIntoView({\n behavior: \"smooth\"\n });\n }\n }, [\n messages,\n open\n ]);\n const handleClose = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n abortRef.current?.abort();\n onClose();\n }, [\n onClose\n ]);\n async function sendMessage() {\n const text = input.trim();\n if (!text || streaming) return;\n setInput(\"\");\n setError(null);\n const userMsg = {\n role: \"user\",\n text\n };\n setMessages((prev)=>[\n ...prev,\n userMsg\n ]);\n const ctrl = new AbortController();\n abortRef.current = ctrl;\n setStreaming(true);\n let assistantText = \"\";\n let citations = [];\n let outOfScope = false;\n setMessages((prev)=>[\n ...prev,\n {\n role: \"assistant\",\n text: \"\"\n }\n ]);\n try {\n const res = await fetch(`${CHAT_URL}/chat`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n userId,\n message: text\n }),\n signal: ctrl.signal\n });\n if (!res.ok) {\n throw new Error(`Chat service error: ${res.status}`);\n }\n const reader = res.body?.getReader();\n if (!reader) throw new Error(\"No response body\");\n const decoder = new TextDecoder();\n let buffer = \"\";\n while(true){\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, {\n stream: true\n });\n const lines = buffer.split(\"\\n\");\n buffer = lines.pop() ?? \"\";\n for (const line of lines){\n if (!line.startsWith(\"data: \")) continue;\n const raw = line.slice(6).trim();\n if (raw === \"[DONE]\") continue;\n try {\n const event = JSON.parse(raw);\n if (event.type === \"chunk\") {\n assistantText += event.text;\n setMessages((prev)=>{\n const copy = [\n ...prev\n ];\n copy[copy.length - 1] = {\n role: \"assistant\",\n text: assistantText\n };\n return copy;\n });\n } else if (event.type === \"citations\") {\n citations = event.topics;\n } else if (event.type === \"out_of_scope\") {\n outOfScope = true;\n assistantText = event.text;\n setMessages((prev)=>{\n const copy = [\n ...prev\n ];\n copy[copy.length - 1] = {\n role: \"assistant\",\n text: assistantText,\n outOfScope: true\n };\n return copy;\n });\n } else if (event.type === \"done\") {\n setMessages((prev)=>{\n const copy = [\n ...prev\n ];\n copy[copy.length - 1] = {\n role: \"assistant\",\n text: assistantText,\n citations: citations.length > 0 ? citations : undefined,\n outOfScope\n };\n return copy;\n });\n }\n } catch {\n // skip malformed SSE lines\n }\n }\n }\n } catch (err) {\n if (err.name === \"AbortError\") return;\n setError(err instanceof Error ? err.message : \"Failed to send message\");\n setMessages((prev)=>prev.slice(0, -1));\n } finally{\n setStreaming(false);\n }\n }\n function handleKeyDown(e) {\n if (e.key === \"Enter\" && !e.shiftKey) {\n e.preventDefault();\n void sendMessage();\n }\n }\n if (!open) return null;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n onClick: handleClose,\n style: {\n position: \"fixed\",\n inset: 0,\n background: \"rgba(0,0,0,0.35)\",\n zIndex: 300\n },\n \"aria-hidden\": \"true\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 152,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n role: \"dialog\",\n \"aria-label\": \"R42 Assistant\",\n style: {\n position: \"fixed\",\n bottom: 0,\n left: 0,\n right: 0,\n top: \"auto\",\n maxHeight: \"85dvh\",\n background: \"var(--bg)\",\n borderTopLeftRadius: \"var(--r-xl)\",\n borderTopRightRadius: \"var(--r-xl)\",\n boxShadow: \"0 -8px 40px rgba(0,0,0,0.18)\",\n zIndex: 301,\n display: \"flex\",\n flexDirection: \"column\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n padding: \"var(--s-4) var(--s-5)\",\n borderBottom: \"1px solid var(--cream)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n flexShrink: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-3)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n width: \"32px\",\n height: \"32px\",\n borderRadius: \"50%\",\n background: \"var(--accent)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n color: \"var(--paper)\",\n fontWeight: 700,\n fontSize: \"var(--t-small)\"\n },\n children: \"R\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 196,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontWeight: 600,\n fontSize: \"var(--t-body)\",\n color: \"var(--fg)\"\n },\n children: \"R42\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 212,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 195,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: handleClose,\n \"aria-label\": \"Close R42\",\n style: {\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n color: \"var(--fg-muted)\",\n fontSize: \"24px\",\n lineHeight: 1,\n padding: \"var(--s-1)\",\n minWidth: \"44px\",\n minHeight: \"44px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n children: \"\\xd7\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 216,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 185,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n flex: 1,\n overflowY: \"auto\",\n padding: \"var(--s-4) var(--s-5)\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: [\n messages.length === 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n textAlign: \"center\",\n color: \"var(--fg-muted)\",\n fontSize: \"var(--t-body)\",\n marginTop: \"var(--s-6)\"\n },\n children: \"Ask R42 anything about the knowledge base.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 250,\n columnNumber: 13\n }, this),\n messages.map((msg, idx)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: msg.role === \"user\" ? \"flex-end\" : \"flex-start\",\n gap: \"var(--s-2)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n maxWidth: \"85%\",\n background: msg.role === \"user\" ? \"var(--accent)\" : \"var(--bg-warm)\",\n color: msg.role === \"user\" ? \"var(--paper)\" : \"var(--fg)\",\n borderRadius: msg.role === \"user\" ? \"var(--r-md) var(--r-md) var(--r-sm) var(--r-md)\" : \"var(--r-md) var(--r-md) var(--r-md) var(--r-sm)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-body)\",\n lineHeight: 1.6,\n opacity: msg.outOfScope ? 0.75 : 1\n },\n children: msg.text || (msg.role === \"assistant\" && streaming && idx === messages.length - 1 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(StreamingDots, {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 288,\n columnNumber: 19\n }, this) : null)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 272,\n columnNumber: 15\n }, this),\n msg.citations && msg.citations.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: \"var(--s-2)\",\n maxWidth: \"85%\"\n },\n children: msg.citations.map((c)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n display: \"inline-block\",\n background: \"var(--accent-soft)\",\n color: \"var(--teal-900)\",\n borderRadius: \"var(--r-pill)\",\n fontSize: \"var(--t-small)\",\n padding: \"2px var(--s-3)\"\n },\n children: c.title\n }, c.id, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 294,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 292,\n columnNumber: 17\n }, this)\n ]\n }, idx, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 263,\n columnNumber: 13\n }, this)),\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n color: \"#c0392b\",\n fontSize: \"var(--t-small)\",\n padding: \"var(--s-2) var(--s-4)\",\n background: \"#f8d7da\",\n borderRadius: \"var(--r-sm)\"\n },\n children: error\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 314,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: bottomRef\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 326,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 239,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n padding: \"var(--s-3) var(--s-5) var(--s-5)\",\n borderTop: \"1px solid var(--cream)\",\n display: \"flex\",\n gap: \"var(--s-2)\",\n alignItems: \"flex-end\",\n flexShrink: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"textarea\", {\n value: input,\n onChange: (e)=>setInput(e.target.value),\n onKeyDown: handleKeyDown,\n placeholder: \"Ask anything…\",\n rows: 1,\n disabled: streaming,\n style: {\n flex: 1,\n borderRadius: \"var(--r-md)\",\n border: \"1.5px solid var(--cream)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-body)\",\n fontFamily: \"var(--font-sans)\",\n color: \"var(--fg)\",\n background: \"var(--bg)\",\n resize: \"none\",\n outline: \"none\",\n lineHeight: 1.5,\n minHeight: \"44px\",\n maxHeight: \"120px\",\n overflowY: \"auto\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 340,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"primary\",\n size: \"md\",\n onClick: ()=>void sendMessage(),\n loading: streaming,\n disabled: !input.trim() || streaming,\n style: {\n flexShrink: 0,\n minWidth: \"44px\",\n minHeight: \"44px\"\n },\n children: streaming ? \"\" : \"↑\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 364,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 330,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 164,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"style\", {\n children: `\n @media (min-width: 768px) {\n [role=\"dialog\"][aria-label=\"R42 Assistant\"] {\n right: 0;\n left: auto;\n top: 0;\n bottom: 0;\n max-height: 100dvh;\n width: 400px;\n border-radius: var(--r-lg) 0 0 var(--r-lg);\n }\n }\n `\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 377,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n}\nfunction StreamingDots() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n display: \"inline-flex\",\n gap: \"4px\",\n alignItems: \"center\"\n },\n children: [\n [\n 0,\n 1,\n 2\n ].map((i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n width: \"6px\",\n height: \"6px\",\n borderRadius: \"50%\",\n background: \"var(--fg-muted)\",\n animation: `bounce 1s ${i * 0.15}s infinite`\n }\n }, i, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 398,\n columnNumber: 9\n }, this)),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"style\", {\n children: `\n @keyframes bounce {\n 0%, 80%, 100% { transform: scale(0.7); opacity: 0.5; }\n 40% { transform: scale(1); opacity: 1; }\n }\n `\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 409,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 396,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9yNDIvUjQyRHJhd2VyLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQ3VFO0FBRXhCO0FBb0IvQyxNQUFNTSxXQUFXQyx1QkFBZ0MsSUFBSTtBQUU5QyxTQUFTRyxVQUFVLEVBQUVDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQWtCO0lBQ2pFLE1BQU0sQ0FBQ0MsVUFBVUMsWUFBWSxHQUFHZCwrQ0FBUUEsQ0FBWSxFQUFFO0lBQ3RELE1BQU0sQ0FBQ2UsT0FBT0MsU0FBUyxHQUFHaEIsK0NBQVFBLENBQUM7SUFDbkMsTUFBTSxDQUFDaUIsV0FBV0MsYUFBYSxHQUFHbEIsK0NBQVFBLENBQUM7SUFDM0MsTUFBTSxDQUFDbUIsT0FBT0MsU0FBUyxHQUFHcEIsK0NBQVFBLENBQWdCO0lBQ2xELE1BQU1xQixZQUFZcEIsNkNBQU1BLENBQWlCO0lBQ3pDLE1BQU1xQixXQUFXckIsNkNBQU1BLENBQXlCO0lBRWhEQyxnREFBU0EsQ0FBQztRQUNSLElBQUlRLE1BQU07WUFDUlcsVUFBVUUsT0FBTyxFQUFFQyxlQUFlO2dCQUFFQyxVQUFVO1lBQVM7UUFDekQ7SUFDRixHQUFHO1FBQUNaO1FBQVVIO0tBQUs7SUFFbkIsTUFBTWdCLGNBQWN2QixrREFBV0EsQ0FBQztRQUM5Qm1CLFNBQVNDLE9BQU8sRUFBRUk7UUFDbEJoQjtJQUNGLEdBQUc7UUFBQ0E7S0FBUTtJQUVaLGVBQWVpQjtRQUNiLE1BQU1DLE9BQU9kLE1BQU1lLElBQUk7UUFDdkIsSUFBSSxDQUFDRCxRQUFRWixXQUFXO1FBRXhCRCxTQUFTO1FBQ1RJLFNBQVM7UUFDVCxNQUFNVyxVQUFtQjtZQUFFQyxNQUFNO1lBQVFIO1FBQUs7UUFDOUNmLFlBQVksQ0FBQ21CLE9BQVM7bUJBQUlBO2dCQUFNRjthQUFRO1FBRXhDLE1BQU1HLE9BQU8sSUFBSUM7UUFDakJiLFNBQVNDLE9BQU8sR0FBR1c7UUFDbkJoQixhQUFhO1FBRWIsSUFBSWtCLGdCQUFnQjtRQUNw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ZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2NvbXBvbmVudHMvcjQyL1I0MkRyYXdlci50c3g/NDA4YSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IFI0MlNTRUV2ZW50IH0gZnJvbSAnQC90eXBlcydcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy91aS9CdXR0b24nXG5cbmludGVyZmFjZSBDaXRhdGlvblRvcGljIHtcbiAgaWQ6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nXG59XG5cbmludGVyZmFjZSBNZXNzYWdlIHtcbiAgcm9sZTogJ3VzZXInIHwgJ2Fzc2lzdGFudCdcbiAgdGV4dDogc3RyaW5nXG4gIGNpdGF0aW9ucz86IENpdGF0aW9uVG9waWNbXVxuICBvdXRPZlNjb3BlPzogYm9vbGVhblxufVxuXG5pbnRlcmZhY2UgUjQyRHJhd2VyUHJvcHMge1xuICBvcGVuOiBib29sZWFuXG4gIG9uQ2xvc2U6ICgpID0+IHZvaWRcbiAgdXNlcklkOiBzdHJpbmdcbn1cblxuY29uc3QgQ0hBVF9VUkwgPSBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19DSEFUX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDA0J1xuXG5leHBvcnQgZnVuY3Rpb24gUjQyRHJhd2VyKHsgb3Blbiwgb25DbG9zZSwgdXNlcklkIH06IFI0MkRyYXdlclByb3BzKSB7XG4gIGNvbnN0IFttZXNzYWdlcywgc2V0TWVzc2FnZXNdID0gdXNlU3RhdGU8TWVzc2FnZVtdPihbXSlcbiAgY29uc3QgW2lucHV0LCBzZXRJbnB1dF0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3QgW3N0cmVhbWluZywgc2V0U3RyZWFtaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGJvdHRvbVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgYWJvcnRSZWYgPSB1c2VSZWY8QWJvcnRDb250cm9sbGVyIHwgbnVsbD4obnVsbClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcGVuKSB7XG4gICAgICBib3R0b21SZWYuY3VycmVudD8uc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSlcbiAgICB9XG4gIH0sIFttZXNzYWdlcywgb3Blbl0pXG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgYWJvcnRSZWYuY3VycmVudD8uYWJvcnQoKVxuICAgIG9uQ2xvc2UoKVxuICB9LCBbb25DbG9zZV0pXG5cbiAgYXN5bmMgZnVuY3Rpb24gc2VuZE1lc3NhZ2UoKSB7XG4gICAgY29uc3QgdGV4dCA9IGlucHV0LnRyaW0oKVxuICAgIGlmICghdGV4dCB8fCBzdHJlYW1pbmcpIHJldHVyblxuXG4gICAgc2V0SW5wdXQoJycpXG4gICAgc2V0RXJyb3IobnVsbClcbiAgICBjb25zdCB1c2VyTXNnOiBNZXNzYWdlID0geyByb2xlOiAndXNlcicsIHRleHQgfVxuICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiBbLi4ucHJldiwgdXNlck1zZ10pXG5cbiAgICBjb25zdCBjdHJsID0gbmV3IEFib3J0Q29udHJvbGxlcigpXG4gICAgYWJvcnRSZWYuY3VycmVudCA9IGN0cmxcbiAgICBzZXRTdHJlYW1pbmcodHJ1ZSlcblxuICAgIGxldCBhc3Npc3RhbnRUZXh0ID0gJydcbiAgICBsZXQgY2l0YXRpb25zOiBDaXRhdGlvblRvcGljW10gPSBbXVxuICAgIGxldCBvdXRPZlNjb3BlID0gZmFsc2VcblxuICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiBbLi4ucHJldiwgeyByb2xlOiAnYXNzaXN0YW50JywgdGV4dDogJycgfV0pXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYCR7Q0hBVF9VUkx9L2NoYXRgLCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyB1c2VySWQsIG1lc3NhZ2U6IHRleHQgfSksXG4gICAgICAgIHNpZ25hbDogY3RybC5zaWduYWwsXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENoYXQgc2VydmljZSBlcnJvcjogJHtyZXMuc3RhdHVzfWApXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlYWRlciA9IHJlcy5ib2R5Py5nZXRSZWFkZXIoKVxuICAgICAgaWYgKCFyZWFkZXIpIHRocm93IG5ldyBFcnJvcignTm8gcmVzcG9uc2UgYm9keScpXG5cbiAgICAgIGNvbnN0IGRlY29kZXIgPSBuZXcgVGV4dERlY29kZXIoKVxuICAgICAgbGV0IGJ1ZmZlciA9ICcnXG5cbiAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIGNvbnN0IHsgZG9uZSwgdmFsdWUgfSA9IGF3YWl0IHJlYWRlci5yZWFkKClcbiAgICAgICAgaWYgKGRvbmUpIGJyZWFrXG5cbiAgICAgICAgYnVmZmVyICs9IGRlY29kZXIuZGVjb2RlKHZhbHVlLCB7IHN0cmVhbTogdHJ1ZSB9KVxuICAgICAgICBjb25zdCBsaW5lcyA9IGJ1ZmZlci5zcGxpdCgnXFxuJylcbiAgICAgICAgYnVmZmVyID0gbGluZXMucG9wKCkgPz8gJydcblxuICAgICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZXMpIHtcbiAgICAgICAgICBpZiAoIWxpbmUuc3RhcnRzV2l0aCgnZGF0YTogJykpIGNvbnRpbnVlXG4gICAgICAgICAgY29uc3QgcmF3ID0gbGluZS5zbGljZSg2KS50cmltKClcbiAgICAgICAgICBpZiAocmF3ID09PSAnW0RPTkVdJykgY29udGludWVcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBldmVudCA9IEpTT04ucGFyc2UocmF3KSBhcyBSNDJTU0VFdmVudFxuICAgICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjaHVuaycpIHtcbiAgICAgICAgICAgICAgYXNzaXN0YW50VGV4dCArPSBldmVudC50ZXh0XG4gICAgICAgICAgICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29weSA9IFsuLi5wcmV2XVxuICAgICAgICAgICAgICAgIGNvcHlbY29weS5sZW5ndGggLSAxXSA9IHsgcm9sZTogJ2Fzc2lzdGFudCcsIHRleHQ6IGFzc2lzdGFudFRleHQgfVxuICAgICAgICAgICAgICAgIHJldHVybiBjb3B5XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnR5cGUgPT09ICdjaXRhdGlvbnMnKSB7XG4gICAgICAgICAgICAgIGNpdGF0aW9ucyA9IGV2ZW50LnRvcGljc1xuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSAnb3V0X29mX3Njb3BlJykge1xuICAgICAgICAgICAgICBvdXRPZlNjb3BlID0gdHJ1ZVxuICAgICAgICAgICAgICBhc3Npc3RhbnRUZXh0ID0gZXZlbnQudGV4dFxuICAgICAgICAgICAgICBzZXRNZXNzYWdlcygocHJldikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvcHkgPSBbLi4ucHJldl1cbiAgICAgICAgICAgICAgICBjb3B5W2NvcHkubGVuZ3RoIC0gMV0gPSB7IHJvbGU6ICdhc3Npc3RhbnQnLCB0ZXh0OiBhc3Npc3RhbnRUZXh0LCBvdXRPZlNjb3BlOiB0cnVlIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gY29weVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSAnZG9uZScpIHtcbiAgICAgICAgICAgICAgc2V0TWVzc2FnZXMoKHByZXYpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb3B5ID0gWy4uLnByZXZdXG4gICAgICAgICAgICAgICAgY29weVtjb3B5Lmxlbmd0aCAtIDFdID0ge1xuICAgICAgICAgICAgICAgICAgcm9sZTogJ2Fzc2lzdGFudCcsXG4gICAgICAgICAgICAgICAgICB0ZXh0OiBhc3Npc3RhbnRUZXh0LFxuICAgICAgICAgICAgICAgICAgY2l0YXRpb25zOiBjaXRhdGlvbnMubGVuZ3RoID4gMCA/IGNpdGF0aW9ucyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIG91dE9mU2NvcGUsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBjb3B5XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAvLyBza2lwIG1hbGZvcm1lZCBTU0UgbGluZXNcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGlmICgoZXJyIGFzIEVycm9yKS5uYW1lID09PSAnQWJvcnRFcnJvcicpIHJldHVyblxuICAgICAgc2V0RXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdGYWlsZWQgdG8gc2VuZCBtZXNzYWdlJylcbiAgICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiBwcmV2LnNsaWNlKDAsIC0xKSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0U3RyZWFtaW5nKGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUtleURvd24oZTogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50Pikge1xuICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJyAmJiAhZS5zaGlmdEtleSkge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB2b2lkIHNlbmRNZXNzYWdlKClcbiAgICB9XG4gIH1cblxuICBpZiAoIW9wZW4pIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgey8qIEJhY2tkcm9wICovfVxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgICAgICBpbnNldDogMCxcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAncmdiYSgwLDAsMCwwLjM1KScsXG4gICAgICAgICAgekluZGV4OiAzMDAsXG4gICAgICAgIH19XG4gICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAvPlxuXG4gICAgICB7LyogUGFuZWwgKi99XG4gICAgICA8ZGl2XG4gICAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiUjQyIEFzc2lzdGFudFwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgYm90dG9tOiAwLFxuICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgdG9wOiAnYXV0bycsXG4gICAgICAgICAgbWF4SGVpZ2h0OiAnODVkdmgnLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZyknLFxuICAgICAgICAgIGJvcmRlclRvcExlZnRSYWRpdXM6ICd2YXIoLS1yLXhsKScsXG4gICAgICAgICAgYm9yZGVyVG9wUmlnaHRSYWRpdXM6ICd2YXIoLS1yLXhsKScsXG4gICAgICAgICAgYm94U2hhZG93OiAnMCAtOHB4IDQwcHggcmdiYSgwLDAsMCwwLjE4KScsXG4gICAgICAgICAgekluZGV4OiAzMDEsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgIC8vIERlc2t0b3A6IHNpZGUgcGFuZWxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgey8qIEhlYWRlciAqL31cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy00KSB2YXIoLS1zLTUpJyxcbiAgICAgICAgICAgIGJvcmRlckJvdHRvbTogJzFweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICd2YXIoLS1zLTMpJyB9fT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICB3aWR0aDogJzMycHgnLFxuICAgICAgICAgICAgICAgIGhlaWdodDogJzMycHgnLFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWFjY2VudCknLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDcwMCxcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgUlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250V2VpZ2h0OiA2MDAsIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsIGNvbG9yOiAndmFyKC0tZmcpJyB9fT5cbiAgICAgICAgICAgICAgUjQyXG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2UgUjQyXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICdub25lJyxcbiAgICAgICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgICAgIGZvbnRTaXplOiAnMjRweCcsXG4gICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTEpJyxcbiAgICAgICAgICAgICAgbWluV2lkdGg6ICc0NHB4JyxcbiAgICAgICAgICAgICAgbWluSGVpZ2h0OiAnNDRweCcsXG4gICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgw5dcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIE1lc3NhZ2VzICovfVxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICBvdmVyZmxvd1k6ICdhdXRvJyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTQpIHZhcigtLXMtNSknLFxuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTQpJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge21lc3NhZ2VzLmxlbmd0aCA9PT0gMCAmJiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6ICd2YXIoLS1zLTYpJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQXNrIFI0MiBhbnl0aGluZyBhYm91dCB0aGUga25vd2xlZGdlIGJhc2UuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge21lc3NhZ2VzLm1hcCgobXNnLCBpZHgpID0+IChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAga2V5PXtpZHh9XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6IG1zZy5yb2xlID09PSAndXNlcicgPyAnZmxleC1lbmQnIDogJ2ZsZXgtc3RhcnQnLFxuICAgICAgICAgICAgICAgIGdhcDogJ3ZhcigtLXMtMiknLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIG1heFdpZHRoOiAnODUlJyxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1zZy5yb2xlID09PSAndXNlcicgPyAndmFyKC0tYWNjZW50KScgOiAndmFyKC0tYmctd2FybSknLFxuICAgICAgICAgICAgICAgICAgY29sb3I6IG1zZy5yb2xlID09PSAndXNlcicgPyAndmFyKC0tcGFwZXIpJyA6ICd2YXIoLS1mZyknLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOlxuICAgICAgICAgICAgICAgICAgICBtc2cucm9sZSA9PT0gJ3VzZXInXG4gICAgICAgICAgICAgICAgICAgICAgPyAndmFyKC0tci1tZCkgdmFyKC0tci1tZCkgdmFyKC0tci1zbSkgdmFyKC0tci1tZCknXG4gICAgICAgICAgICAgICAgICAgICAgOiAndmFyKC0tci1tZCkgdmFyKC0tci1tZCkgdmFyKC0tci1tZCkgdmFyKC0tci1zbSknLFxuICAgICAgICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtMykgdmFyKC0tcy00KScsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogMS42LFxuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogbXNnLm91dE9mU2NvcGUgPyAwLjc1IDogMSxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge21zZy50ZXh0IHx8IChtc2cucm9sZSA9PT0gJ2Fzc2lzdGFudCcgJiYgc3RyZWFtaW5nICYmIGlkeCA9PT0gbWVzc2FnZXMubGVuZ3RoIC0gMSA/IChcbiAgICAgICAgICAgICAgICAgIDxTdHJlYW1pbmdEb3RzIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGwpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAge21zZy5jaXRhdGlvbnMgJiYgbXNnLmNpdGF0aW9ucy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleFdyYXA6ICd3cmFwJywgZ2FwOiAndmFyKC0tcy0yKScsIG1heFdpZHRoOiAnODUlJyB9fT5cbiAgICAgICAgICAgICAgICAgIHttc2cuY2l0YXRpb25zLm1hcCgoYykgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgIGtleT17Yy5pZH1cbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYWNjZW50LXNvZnQpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tdGVhbC05MDApJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJ3ZhcigtLXItcGlsbCknLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LXNtYWxsKScsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAnMnB4IHZhcigtLXMtMyknLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7Yy50aXRsZX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApKX1cblxuICAgICAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgY29sb3I6ICcjYzAzOTJiJyxcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTQpJyxcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2Y4ZDdkYScsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1zbSknLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7ZXJyb3J9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxkaXYgcmVmPXtib3R0b21SZWZ9IC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBJbnB1dCAqL31cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTUpIHZhcigtLXMtNSknLFxuICAgICAgICAgICAgYm9yZGVyVG9wOiAnMXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTIpJyxcbiAgICAgICAgICAgIGFsaWduSXRlbXM6ICdmbGV4LWVuZCcsXG4gICAgICAgICAgICBmbGV4U2hyaW5rOiAwLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIHZhbHVlPXtpbnB1dH1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0SW5wdXQoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJBc2sgYW55dGhpbmfigKZcIlxuICAgICAgICAgICAgcm93cz17MX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtzdHJlYW1pbmd9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLW1kKScsXG4gICAgICAgICAgICAgIGJvcmRlcjogJzEuNXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTMpIHZhcigtLXMtNCknLFxuICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1zYW5zKScsXG4gICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnKScsXG4gICAgICAgICAgICAgIHJlc2l6ZTogJ25vbmUnLFxuICAgICAgICAgICAgICBvdXRsaW5lOiAnbm9uZScsXG4gICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNSxcbiAgICAgICAgICAgICAgbWluSGVpZ2h0OiAnNDRweCcsXG4gICAgICAgICAgICAgIG1heEhlaWdodDogJzEyMHB4JyxcbiAgICAgICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgICAgc2l6ZT1cIm1kXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHZvaWQgc2VuZE1lc3NhZ2UoKX1cbiAgICAgICAgICAgIGxvYWRpbmc9e3N0cmVhbWluZ31cbiAgICAgICAgICAgIGRpc2FibGVkPXshaW5wdXQudHJpbSgpIHx8IHN0cmVhbWluZ31cbiAgICAgICAgICAgIHN0eWxlPXt7IGZsZXhTaHJpbms6IDAsIG1pbldpZHRoOiAnNDRweCcsIG1pbkhlaWdodDogJzQ0cHgnIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3N0cmVhbWluZyA/ICcnIDogJ+KGkSd9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxzdHlsZT57YFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICBbcm9sZT1cImRpYWxvZ1wiXVthcmlhLWxhYmVsPVwiUjQyIEFzc2lzdGFudFwiXSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBkdmg7XG4gICAgICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLWxnKSAwIDAgdmFyKC0tci1sZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBgfTwvc3R5bGU+XG4gICAgPC8+XG4gIClcbn1cblxuZnVuY3Rpb24gU3RyZWFtaW5nRG90cygpIHtcbiAgcmV0dXJuIChcbiAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLCBnYXA6ICc0cHgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJyB9fT5cbiAgICAgIHtbMCwgMSwgMl0ubWFwKChpKSA9PiAoXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAga2V5PXtpfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICB3aWR0aDogJzZweCcsXG4gICAgICAgICAgICBoZWlnaHQ6ICc2cHgnLFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNTAlJyxcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1mZy1tdXRlZCknLFxuICAgICAgICAgICAgYW5pbWF0aW9uOiBgYm91bmNlIDFzICR7aSAqIDAuMTV9cyBpbmZpbml0ZWAsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICkpfVxuICAgICAgPHN0eWxlPntgXG4gICAgICAgIEBrZXlmcmFtZXMgYm91bmNlIHtcbiAgICAgICAgICAwJSwgODAlLCAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyBvcGFjaXR5OiAwLjU7IH1cbiAgICAgICAgICA0MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAxOyB9XG4gICAgICAgIH1cbiAgICAgIGB9PC9zdHlsZT5cbiAgICA8L3NwYW4+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlUmVmIiwidXNlRWZmZWN0IiwidXNlQ2FsbGJhY2siLCJCdXR0b24iLCJDSEFUX1VSTCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19DSEFUX1VSTCIsIlI0MkRyYXdlciIsIm9wZW4iLCJvbkNsb3NlIiwidXNlcklkIiwibWVzc2FnZXMiLCJzZXRNZXNzYWdlcyIsImlucHV0Iiwic2V0SW5wdXQiLCJzdHJlYW1pbmciLCJzZXRTdHJlYW1pbmciLCJlcnJvciIsInNldEVycm9yIiwiYm90dG9tUmVmIiwiYWJvcnRSZWYiLCJjdXJyZW50Iiwic2Nyb2xsSW50b1ZpZXciLCJiZWhhdmlvciIsImhhbmRsZUNsb3NlIiwiYWJvcnQiLCJzZW5kTWVzc2FnZSIsInRleHQiLCJ0cmltIiwidXNlck1zZyIsInJvbGUiLCJwcmV2IiwiY3RybCIsIkFib3J0Q29udHJvbGxlciIsImFzc2lzdGFudFRleHQiLCJjaXRhdGlvbnMiLCJvdXRPZlNjb3BlIiwicmVzIiwiZmV0Y2giLCJtZXRob2QiLCJoZWFkZXJzIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJtZXNzYWdlIiwic2lnbmFsIiwib2siLCJFcnJvciIsInN0YXR1cyIsInJlYWRlciIsImdldFJlYWRlciIsImRlY29kZXIiLCJUZXh0RGVjb2RlciIsImJ1ZmZlciIsImRvbmUiLCJ2YWx1ZSIsInJlYWQiLCJkZWNvZGUiLCJzdHJlYW0iLCJsaW5lcyIsInNwbGl0IiwicG9wIiwibGluZSIsInN0YXJ0c1dpdGgiLCJyYXciLCJzbGljZSIsImV2ZW50IiwicGFyc2UiLCJ0eXBlIiwiY29weSIsImxlbmd0aCIsInRvcGljcyIsInVuZGVmaW5lZCIsImVyciIsIm5hbWUiLCJoYW5kbGVLZXlEb3duIiwiZSIsImtleSIsInNoaWZ0S2V5IiwicHJldmVudERlZmF1bHQiLCJkaXYiLCJvbkNsaWNrIiwic3R5bGUiLCJwb3NpdGlvbiIsImluc2V0IiwiYmFja2dyb3VuZCIsInpJbmRleCIsImFyaWEtaGlkZGVuIiwiYXJpYS1sYWJlbCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsInRvcCIsIm1heEhlaWdodCIsImJvcmRlclRvcExlZnRSYWRpdXMiLCJib3JkZXJUb3BSaWdodFJhZGl1cyIsImJveFNoYWRvdyIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwicGFkZGluZyIsImJvcmRlckJvdHRvbSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImZsZXhTaHJpbmsiLCJnYXAiLCJ3aWR0aCIsImhlaWdodCIsImJvcmRlclJhZGl1cyIsImNvbG9yIiwiZm9udFdlaWdodCIsImZvbnRTaXplIiwic3BhbiIsImJ1dHRvbiIsImJvcmRlciIsImN1cnNvciIsImxpbmVIZWlnaHQiLCJtaW5XaWR0aCIsIm1pbkhlaWdodCIsImZsZXgiLCJvdmVyZmxvd1kiLCJ0ZXh0QWxpZ24iLCJtYXJnaW5Ub3AiLCJtYXAiLCJtc2ciLCJpZHgiLCJtYXhXaWR0aCIsIm9wYWNpdHkiLCJTdHJlYW1pbmdEb3RzIiwiZmxleFdyYXAiLCJjIiwidGl0bGUiLCJpZCIsInJlZiIsImJvcmRlclRvcCIsInRleHRhcmVhIiwib25DaGFuZ2UiLCJ0YXJnZXQiLCJvbktleURvd24iLCJwbGFjZWhvbGRlciIsInJvd3MiLCJkaXNhYmxlZCIsImZvbnRGYW1pbHkiLCJyZXNpemUiLCJvdXRsaW5lIiwidmFyaWFudCIsInNpemUiLCJsb2FkaW5nIiwiaSIsImFuaW1hdGlvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/r42/R42Drawer.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/Button.tsx": +/*!**************************************!*\ + !*** ./src/components/ui/Button.tsx ***! + \**************************************/ +/***/ ((__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 */ Button: () => (/* binding */ Button)\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/* __next_internal_client_entry_do_not_use__ Button auto */ \n\nconst variantStyles = {\n primary: {\n background: \"var(--accent)\",\n color: \"var(--paper)\",\n border: \"none\"\n },\n secondary: {\n background: \"var(--bg-warm)\",\n color: \"var(--fg)\",\n border: \"1.5px solid var(--cream)\"\n },\n danger: {\n background: \"#c0392b\",\n color: \"var(--paper)\",\n border: \"none\"\n },\n ghost: {\n background: \"transparent\",\n color: \"var(--fg)\",\n border: \"1.5px solid var(--cream)\"\n }\n};\nconst sizeStyles = {\n sm: {\n fontSize: \"var(--t-small)\",\n padding: \"var(--s-2) var(--s-3)\",\n minHeight: \"36px\",\n borderRadius: \"var(--r-sm)\"\n },\n md: {\n fontSize: \"var(--t-body)\",\n padding: \"var(--s-2) var(--s-5)\",\n minHeight: \"44px\",\n borderRadius: \"var(--r-md)\"\n },\n lg: {\n fontSize: \"var(--t-lead)\",\n padding: \"var(--s-3) var(--s-6)\",\n minHeight: \"52px\",\n borderRadius: \"var(--r-lg)\"\n }\n};\nfunction Button({ variant = \"primary\", size = \"md\", loading = false, disabled, children, style, ...rest }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n disabled: disabled ?? loading,\n style: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"var(--s-2)\",\n fontFamily: \"var(--font-sans)\",\n fontWeight: 500,\n cursor: disabled ?? loading ? \"not-allowed\" : \"pointer\",\n opacity: disabled ?? loading ? 0.6 : 1,\n transition: \"opacity 150ms, transform 100ms\",\n ...variantStyles[variant],\n ...sizeStyles[size],\n ...style\n },\n ...rest,\n children: loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Spinner, {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 88,\n columnNumber: 11\n }, this),\n children\n ]\n }, void 0, true) : children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 68,\n columnNumber: 5\n }, this);\n}\nfunction Spinner() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n width: \"16px\",\n height: \"16px\",\n border: \"2px solid currentColor\",\n borderTopColor: \"transparent\",\n borderRadius: \"50%\",\n display: \"inline-block\",\n animation: \"spin 0.7s linear infinite\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 100,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9CdXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUN5QjtBQVl6QixNQUFNQyxnQkFBNEQ7SUFDaEVDLFNBQVM7UUFDUEMsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtJQUNBQyxXQUFXO1FBQ1RILFlBQVk7UUFDWkMsT0FBTztRQUNQQyxRQUFRO0lBQ1Y7SUFDQUUsUUFBUTtRQUNOSixZQUFZO1FBQ1pDLE9BQU87UUFDUEMsUUFBUTtJQUNWO0lBQ0FHLE9BQU87UUFDTEwsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtBQUNGO0FBRUEsTUFBTUksYUFBc0Q7SUFDMURDLElBQUk7UUFDRkMsVUFBVTtRQUNWQyxTQUFTO1FBQ1RDLFdBQVc7UUFDWEMsY0FBYztJQUNoQjtJQUNBQyxJQUFJO1FBQ0ZKLFVBQVU7UUFDVkMsU0FBUztRQUNUQyxXQUFXO1FBQ1hDLGNBQWM7SUFDaEI7SUFDQUUsSUFBSTtRQUNGTCxVQUFVO1FBQ1ZDLFNBQVM7UUFDVEMsV0FBVztRQUNYQyxjQUFjO0lBQ2hCO0FBQ0Y7QUFFTyxTQUFTRyxPQUFPLEVBQ3JCQyxVQUFVLFNBQVMsRUFDbkJDLE9BQU8sSUFBSSxFQUNYQyxVQUFVLEtBQUssRUFDZkMsUUFBUSxFQUNSQyxRQUFRLEVBQ1JDLEtBQUssRUFDTCxHQUFHQyxNQUNTO0lBQ1oscUJBQ0UsOERBQUNDO1FBQ0NKLFVBQVVBLFlBQVlEO1FBQ3RCRyxPQUFPO1lBQ0xHLFNBQVM7WUFDVEMsWUFBWTtZQUNaQyxnQkFBZ0I7WUFDaEJDLEtBQUs7WUFDTEMsWUFBWTtZQUNaQyxZQUFZO1lBQ1pDLFFBQVFYLFlBQVlELFVBQVUsZ0JBQWdCO1lBQzlDYSxTQUFTWixZQUFZRCxVQUFVLE1BQU07WUFDckNjLFlBQVk7WUFDWixHQUFHakMsYUFBYSxDQUFDaUIsUUFBUTtZQUN6QixHQUFHVCxVQUFVLENBQUNVLEtBQUs7WUFDbkIsR0FBR0ksS0FBSztRQUNWO1FBQ0MsR0FBR0MsSUFBSTtrQkFFUEosd0JBQ0M7OzhCQUNFLDhEQUFDZTs7Ozs7Z0JBQ0FiOzsyQkFHSEE7Ozs7OztBQUlSO0FBRUEsU0FBU2E7SUFDUCxxQkFDRSw4REFBQ0M7UUFDQ2IsT0FBTztZQUNMYyxPQUFPO1lBQ1BDLFFBQVE7WUFDUmpDLFFBQVE7WUFDUmtDLGdCQUFnQjtZQUNoQnpCLGNBQWM7WUFDZFksU0FBUztZQUNUYyxXQUFXO1FBQ2I7Ozs7OztBQUdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy91aS9CdXR0b24udHN4PzAxM2EiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbnR5cGUgQnV0dG9uVmFyaWFudCA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2RhbmdlcicgfCAnZ2hvc3QnXG50eXBlIEJ1dHRvblNpemUgPSAnc20nIHwgJ21kJyB8ICdsZydcblxuaW50ZXJmYWNlIEJ1dHRvblByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcbiAgdmFyaWFudD86IEJ1dHRvblZhcmlhbnRcbiAgc2l6ZT86IEJ1dHRvblNpemVcbiAgbG9hZGluZz86IGJvb2xlYW5cbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG5jb25zdCB2YXJpYW50U3R5bGVzOiBSZWNvcmQ8QnV0dG9uVmFyaWFudCwgUmVhY3QuQ1NTUHJvcGVydGllcz4gPSB7XG4gIHByaW1hcnk6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYWNjZW50KScsXG4gICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBzZWNvbmRhcnk6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctd2FybSknLFxuICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICBib3JkZXI6ICcxLjVweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICB9LFxuICBkYW5nZXI6IHtcbiAgICBiYWNrZ3JvdW5kOiAnI2MwMzkyYicsXG4gICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBnaG9zdDoge1xuICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXG4gICAgY29sb3I6ICd2YXIoLS1mZyknLFxuICAgIGJvcmRlcjogJzEuNXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gIH0sXG59XG5cbmNvbnN0IHNpemVTdHlsZXM6IFJlY29yZDxCdXR0b25TaXplLCBSZWFjdC5DU1NQcm9wZXJ0aWVzPiA9IHtcbiAgc206IHtcbiAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTMpJyxcbiAgICBtaW5IZWlnaHQ6ICczNnB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXNtKScsXG4gIH0sXG4gIG1kOiB7XG4gICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTUpJyxcbiAgICBtaW5IZWlnaHQ6ICc0NHB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLW1kKScsXG4gIH0sXG4gIGxnOiB7XG4gICAgZm9udFNpemU6ICd2YXIoLS10LWxlYWQpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTYpJyxcbiAgICBtaW5IZWlnaHQ6ICc1MnB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLWxnKScsXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b24oe1xuICB2YXJpYW50ID0gJ3ByaW1hcnknLFxuICBzaXplID0gJ21kJyxcbiAgbG9hZGluZyA9IGZhbHNlLFxuICBkaXNhYmxlZCxcbiAgY2hpbGRyZW4sXG4gIHN0eWxlLFxuICAuLi5yZXN0XG59OiBCdXR0b25Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZCA/PyBsb2FkaW5nfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgZ2FwOiAndmFyKC0tcy0yKScsXG4gICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICBjdXJzb3I6IGRpc2FibGVkID8/IGxvYWRpbmcgPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInLFxuICAgICAgICBvcGFjaXR5OiBkaXNhYmxlZCA/PyBsb2FkaW5nID8gMC42IDogMSxcbiAgICAgICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMTUwbXMsIHRyYW5zZm9ybSAxMDBtcycsXG4gICAgICAgIC4uLnZhcmlhbnRTdHlsZXNbdmFyaWFudF0sXG4gICAgICAgIC4uLnNpemVTdHlsZXNbc2l6ZV0sXG4gICAgICAgIC4uLnN0eWxlLFxuICAgICAgfX1cbiAgICAgIHsuLi5yZXN0fVxuICAgID5cbiAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxTcGlubmVyIC8+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGNoaWxkcmVuXG4gICAgICApfVxuICAgIDwvYnV0dG9uPlxuICApXG59XG5cbmZ1bmN0aW9uIFNwaW5uZXIoKSB7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHdpZHRoOiAnMTZweCcsXG4gICAgICAgIGhlaWdodDogJzE2cHgnLFxuICAgICAgICBib3JkZXI6ICcycHggc29saWQgY3VycmVudENvbG9yJyxcbiAgICAgICAgYm9yZGVyVG9wQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICBhbmltYXRpb246ICdzcGluIDAuN3MgbGluZWFyIGluZmluaXRlJyxcbiAgICAgIH19XG4gICAgLz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidmFyaWFudFN0eWxlcyIsInByaW1hcnkiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJib3JkZXIiLCJzZWNvbmRhcnkiLCJkYW5nZXIiLCJnaG9zdCIsInNpemVTdHlsZXMiLCJzbSIsImZvbnRTaXplIiwicGFkZGluZyIsIm1pbkhlaWdodCIsImJvcmRlclJhZGl1cyIsIm1kIiwibGciLCJCdXR0b24iLCJ2YXJpYW50Iiwic2l6ZSIsImxvYWRpbmciLCJkaXNhYmxlZCIsImNoaWxkcmVuIiwic3R5bGUiLCJyZXN0IiwiYnV0dG9uIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImdhcCIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiY3Vyc29yIiwib3BhY2l0eSIsInRyYW5zaXRpb24iLCJTcGlubmVyIiwic3BhbiIsIndpZHRoIiwiaGVpZ2h0IiwiYm9yZGVyVG9wQ29sb3IiLCJhbmltYXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/Button.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/StatusBadge.tsx": +/*!*******************************************!*\ + !*** ./src/components/ui/StatusBadge.tsx ***! + \*******************************************/ +/***/ ((__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 */ StatusBadge: () => (/* binding */ StatusBadge)\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/* __next_internal_client_entry_do_not_use__ StatusBadge auto */ \n\nconst STATUS_CONFIG = {\n queued: {\n label: \"Queued\",\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n },\n extracting: {\n label: \"Extracting\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n chunking: {\n label: \"Chunking\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n structuring: {\n label: \"Structuring\",\n background: \"#cce5ff\",\n color: \"#004085\"\n },\n writing: {\n label: \"Writing\",\n background: \"#cce5ff\",\n color: \"#004085\"\n },\n embedding: {\n label: \"Embedding\",\n background: \"#d4edda\",\n color: \"#155724\"\n },\n done: {\n label: \"Done\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n failed: {\n label: \"Failed\",\n background: \"#f8d7da\",\n color: \"#c0392b\"\n },\n processing: {\n label: \"Processing\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n processed: {\n label: \"Processed\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n draft: {\n label: \"Draft\",\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n },\n published: {\n label: \"Published\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n rejected: {\n label: \"Rejected\",\n background: \"#f8d7da\",\n color: \"#c0392b\"\n },\n generated: {\n label: \"Generated\",\n background: \"#cce5ff\",\n color: \"#004085\"\n },\n active: {\n label: \"Active\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n superseded: {\n label: \"Superseded\",\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n },\n introductory: {\n label: \"Introductory\",\n background: \"var(--accent-soft)\",\n color: \"var(--teal-900)\"\n },\n intermediate: {\n label: \"Intermediate\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n advanced: {\n label: \"Advanced\",\n background: \"var(--peri)\",\n color: \"var(--teal-900)\"\n }\n};\nfunction StatusBadge({ status }) {\n const config = STATUS_CONFIG[status] ?? {\n label: status,\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n display: \"inline-block\",\n padding: \"2px var(--s-2)\",\n borderRadius: \"var(--r-pill)\",\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n fontWeight: 500,\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n background: config.background,\n color: config.color\n },\n children: config.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\StatusBadge.tsx\",\n lineNumber: 58,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9TdGF0dXNCYWRnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ3lCO0FBbUJ6QixNQUFNQyxnQkFHRjtJQUNGQyxRQUFRO1FBQUVDLE9BQU87UUFBVUMsWUFBWTtRQUFnQkMsT0FBTztJQUFrQjtJQUNoRkMsWUFBWTtRQUFFSCxPQUFPO1FBQWNDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQzNFRSxVQUFVO1FBQUVKLE9BQU87UUFBWUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDdkVHLGFBQWE7UUFBRUwsT0FBTztRQUFlQyxZQUFZO1FBQVdDLE9BQU87SUFBVTtJQUM3RUksU0FBUztRQUFFTixPQUFPO1FBQVdDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQ3JFSyxXQUFXO1FBQUVQLE9BQU87UUFBYUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDekVNLE1BQU07UUFBRVIsT0FBTztRQUFRQyxZQUFZO1FBQWtCQyxPQUFPO0lBQWtCO0lBQzlFTyxRQUFRO1FBQUVULE9BQU87UUFBVUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDbkVRLFlBQVk7UUFBRVYsT0FBTztRQUFjQyxZQUFZO1FBQVdDLE9BQU87SUFBVTtJQUMzRVMsV0FBVztRQUFFWCxPQUFPO1FBQWFDLFlBQVk7UUFBa0JDLE9BQU87SUFBa0I7SUFDeEZVLE9BQU87UUFBRVosT0FBTztRQUFTQyxZQUFZO1FBQWdCQyxPQUFPO0lBQWtCO0lBQzlFVyxXQUFXO1FBQUViLE9BQU87UUFBYUMsWUFBWTtRQUFrQkMsT0FBTztJQUFrQjtJQUN4RlksVUFBVTtRQUFFZCxPQUFPO1FBQVlDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQ3ZFYSxXQUFXO1FBQUVmLE9BQU87UUFBYUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDekVjLFFBQVE7UUFBRWhCLE9BQU87UUFBVUMsWUFBWTtRQUFrQkMsT0FBTztJQUFrQjtJQUNsRmUsWUFBWTtRQUFFakIsT0FBTztRQUFjQyxZQUFZO1FBQWdCQyxPQUFPO0lBQWtCO0lBQ3hGZ0IsY0FBYztRQUFFbEIsT0FBTztRQUFnQkMsWUFBWTtRQUFzQkMsT0FBTztJQUFrQjtJQUNsR2lCLGNBQWM7UUFBRW5CLE9BQU87UUFBZ0JDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQy9Fa0IsVUFBVTtRQUFFcEIsT0FBTztRQUFZQyxZQUFZO1FBQWVDLE9BQU87SUFBa0I7QUFDckY7QUFNTyxTQUFTbUIsWUFBWSxFQUFFQyxNQUFNLEVBQW9CO0lBQ3RELE1BQU1DLFNBQVN6QixhQUFhLENBQUN3QixPQUFPLElBQUk7UUFDdEN0QixPQUFPc0I7UUFDUHJCLFlBQVk7UUFDWkMsT0FBTztJQUNUO0lBRUEscUJBQ0UsOERBQUNzQjtRQUNDQyxPQUFPO1lBQ0xDLFNBQVM7WUFDVEMsU0FBUztZQUNUQyxjQUFjO1lBQ2RDLFVBQVU7WUFDVkMsWUFBWTtZQUNaQyxZQUFZO1lBQ1pDLGVBQWU7WUFDZkMsZUFBZTtZQUNmaEMsWUFBWXNCLE9BQU90QixVQUFVO1lBQzdCQyxPQUFPcUIsT0FBT3JCLEtBQUs7UUFDckI7a0JBRUNxQixPQUFPdkIsS0FBSzs7Ozs7O0FBR25CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy91aS9TdGF0dXNCYWRnZS50c3g/MDcxZSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgSW5nZXN0aW9uSm9iU3RhdHVzIH0gZnJvbSAnQC90eXBlcydcblxudHlwZSBBbnlTdGF0dXMgPVxuICB8IEluZ2VzdGlvbkpvYlN0YXR1c1snc3RhdHVzJ11cbiAgfCAncHJvY2Vzc2luZydcbiAgfCAncHJvY2Vzc2VkJ1xuICB8ICdmYWlsZWQnXG4gIHwgJ2RyYWZ0J1xuICB8ICdwdWJsaXNoZWQnXG4gIHwgJ3JlamVjdGVkJ1xuICB8ICdxdWV1ZWQnXG4gIHwgJ2dlbmVyYXRlZCdcbiAgfCAnYWN0aXZlJ1xuICB8ICdzdXBlcnNlZGVkJ1xuICB8ICdpbnRyb2R1Y3RvcnknXG4gIHwgJ2ludGVybWVkaWF0ZSdcbiAgfCAnYWR2YW5jZWQnXG5cbmNvbnN0IFNUQVRVU19DT05GSUc6IFJlY29yZDxcbiAgQW55U3RhdHVzLFxuICB7IGxhYmVsOiBzdHJpbmc7IGJhY2tncm91bmQ6IHN0cmluZzsgY29sb3I6IHN0cmluZyB9XG4+ID0ge1xuICBxdWV1ZWQ6IHsgbGFiZWw6ICdRdWV1ZWQnLCBiYWNrZ3JvdW5kOiAndmFyKC0tY3JlYW0pJywgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknIH0sXG4gIGV4dHJhY3Rpbmc6IHsgbGFiZWw6ICdFeHRyYWN0aW5nJywgYmFja2dyb3VuZDogJyNmZmYzY2QnLCBjb2xvcjogJyM4NTY0MDQnIH0sXG4gIGNodW5raW5nOiB7IGxhYmVsOiAnQ2h1bmtpbmcnLCBiYWNrZ3JvdW5kOiAnI2ZmZjNjZCcsIGNvbG9yOiAnIzg1NjQwNCcgfSxcbiAgc3RydWN0dXJpbmc6IHsgbGFiZWw6ICdTdHJ1Y3R1cmluZycsIGJhY2tncm91bmQ6ICcjY2NlNWZmJywgY29sb3I6ICcjMDA0MDg1JyB9LFxuICB3cml0aW5nOiB7IGxhYmVsOiAnV3JpdGluZycsIGJhY2tncm91bmQ6ICcjY2NlNWZmJywgY29sb3I6ICcjMDA0MDg1JyB9LFxuICBlbWJlZGRpbmc6IHsgbGFiZWw6ICdFbWJlZGRpbmcnLCBiYWNrZ3JvdW5kOiAnI2Q0ZWRkYScsIGNvbG9yOiAnIzE1NTcyNCcgfSxcbiAgZG9uZTogeyBsYWJlbDogJ0RvbmUnLCBiYWNrZ3JvdW5kOiAndmFyKC0tc3VjY2VzcyknLCBjb2xvcjogJ3ZhcigtLXRlYWwtOTAwKScgfSxcbiAgZmFpbGVkOiB7IGxhYmVsOiAnRmFpbGVkJywgYmFja2dyb3VuZDogJyNmOGQ3ZGEnLCBjb2xvcjogJyNjMDM5MmInIH0sXG4gIHByb2Nlc3Npbmc6IHsgbGFiZWw6ICdQcm9jZXNzaW5nJywgYmFja2dyb3VuZDogJyNmZmYzY2QnLCBjb2xvcjogJyM4NTY0MDQnIH0sXG4gIHByb2Nlc3NlZDogeyBsYWJlbDogJ1Byb2Nlc3NlZCcsIGJhY2tncm91bmQ6ICd2YXIoLS1zdWNjZXNzKScsIGNvbG9yOiAndmFyKC0tdGVhbC05MDApJyB9LFxuICBkcmFmdDogeyBsYWJlbDogJ0RyYWZ0JywgYmFja2dyb3VuZDogJ3ZhcigtLWNyZWFtKScsIGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJyB9LFxuICBwdWJsaXNoZWQ6IHsgbGFiZWw6ICdQdWJsaXNoZWQnLCBiYWNrZ3JvdW5kOiAndmFyKC0tc3VjY2VzcyknLCBjb2xvcjogJ3ZhcigtLXRlYWwtOTAwKScgfSxcbiAgcmVqZWN0ZWQ6IHsgbGFiZWw6ICdSZWplY3RlZCcsIGJhY2tncm91bmQ6ICcjZjhkN2RhJywgY29sb3I6ICcjYzAzOTJiJyB9LFxuICBnZW5lcmF0ZWQ6IHsgbGFiZWw6ICdHZW5lcmF0ZWQnLCBiYWNrZ3JvdW5kOiAnI2NjZTVmZicsIGNvbG9yOiAnIzAwNDA4NScgfSxcbiAgYWN0aXZlOiB7IGxhYmVsOiAnQWN0aXZlJywgYmFja2dyb3VuZDogJ3ZhcigtLXN1Y2Nlc3MpJywgY29sb3I6ICd2YXIoLS10ZWFsLTkwMCknIH0sXG4gIHN1cGVyc2VkZWQ6IHsgbGFiZWw6ICdTdXBlcnNlZGVkJywgYmFja2dyb3VuZDogJ3ZhcigtLWNyZWFtKScsIGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJyB9LFxuICBpbnRyb2R1Y3Rvcnk6IHsgbGFiZWw6ICdJbnRyb2R1Y3RvcnknLCBiYWNrZ3JvdW5kOiAndmFyKC0tYWNjZW50LXNvZnQpJywgY29sb3I6ICd2YXIoLS10ZWFsLTkwMCknIH0sXG4gIGludGVybWVkaWF0ZTogeyBsYWJlbDogJ0ludGVybWVkaWF0ZScsIGJhY2tncm91bmQ6ICcjZmZmM2NkJywgY29sb3I6ICcjODU2NDA0JyB9LFxuICBhZHZhbmNlZDogeyBsYWJlbDogJ0FkdmFuY2VkJywgYmFja2dyb3VuZDogJ3ZhcigtLXBlcmkpJywgY29sb3I6ICd2YXIoLS10ZWFsLTkwMCknIH0sXG59XG5cbmludGVyZmFjZSBTdGF0dXNCYWRnZVByb3BzIHtcbiAgc3RhdHVzOiBBbnlTdGF0dXNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0YXR1c0JhZGdlKHsgc3RhdHVzIH06IFN0YXR1c0JhZGdlUHJvcHMpIHtcbiAgY29uc3QgY29uZmlnID0gU1RBVFVTX0NPTkZJR1tzdGF0dXNdID8/IHtcbiAgICBsYWJlbDogc3RhdHVzLFxuICAgIGJhY2tncm91bmQ6ICd2YXIoLS1jcmVhbSknLFxuICAgIGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJyxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICBwYWRkaW5nOiAnMnB4IHZhcigtLXMtMiknLFxuICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXBpbGwpJyxcbiAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWxhYmVsKScsXG4gICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LW1vbm8pJyxcbiAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcbiAgICAgICAgbGV0dGVyU3BhY2luZzogJ3ZhcigtLWxhYmVsLWxzKScsXG4gICAgICAgIGJhY2tncm91bmQ6IGNvbmZpZy5iYWNrZ3JvdW5kLFxuICAgICAgICBjb2xvcjogY29uZmlnLmNvbG9yLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7Y29uZmlnLmxhYmVsfVxuICAgIDwvc3Bhbj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiU1RBVFVTX0NPTkZJRyIsInF1ZXVlZCIsImxhYmVsIiwiYmFja2dyb3VuZCIsImNvbG9yIiwiZXh0cmFjdGluZyIsImNodW5raW5nIiwic3RydWN0dXJpbmciLCJ3cml0aW5nIiwiZW1iZWRkaW5nIiwiZG9uZSIsImZhaWxlZCIsInByb2Nlc3NpbmciLCJwcm9jZXNzZWQiLCJkcmFmdCIsInB1Ymxpc2hlZCIsInJlamVjdGVkIiwiZ2VuZXJhdGVkIiwiYWN0aXZlIiwic3VwZXJzZWRlZCIsImludHJvZHVjdG9yeSIsImludGVybWVkaWF0ZSIsImFkdmFuY2VkIiwiU3RhdHVzQmFkZ2UiLCJzdGF0dXMiLCJjb25maWciLCJzcGFuIiwic3R5bGUiLCJkaXNwbGF5IiwicGFkZGluZyIsImJvcmRlclJhZGl1cyIsImZvbnRTaXplIiwiZm9udEZhbWlseSIsImZvbnRXZWlnaHQiLCJ0ZXh0VHJhbnNmb3JtIiwibGV0dGVyU3BhY2luZyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/StatusBadge.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/Toast.tsx": +/*!*************************************!*\ + !*** ./src/components/ui/Toast.tsx ***! + \*************************************/ +/***/ ((__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 */ ToastProvider: () => (/* binding */ ToastProvider),\n/* harmony export */ useToast: () => (/* binding */ useToast)\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/* __next_internal_client_entry_do_not_use__ ToastProvider,useToast auto */ \n\nconst ToastContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(null);\nfunction ToastProvider({ children }) {\n const [toasts, setToasts] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const showToast = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((message, type = \"info\")=>{\n const id = `toast-${Date.now()}-${Math.random()}`;\n setToasts((prev)=>[\n ...prev,\n {\n id,\n message,\n type\n }\n ]);\n }, []);\n const dismiss = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((id)=>{\n setToasts((prev)=>prev.filter((t)=>t.id !== id));\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ToastContext.Provider, {\n value: {\n showToast\n },\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n position: \"fixed\",\n bottom: \"calc(var(--nav-height) + var(--s-5))\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-2)\",\n zIndex: 1000,\n width: \"min(360px, 90vw)\"\n },\n children: toasts.map((t)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ToastItem, {\n toast: t,\n onDismiss: dismiss\n }, t.id, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 47,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 33,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 31,\n columnNumber: 5\n }, this);\n}\nfunction ToastItem({ toast, onDismiss }) {\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const timer = setTimeout(()=>onDismiss(toast.id), 4000);\n return ()=>clearTimeout(timer);\n }, [\n toast.id,\n onDismiss\n ]);\n const bgMap = {\n success: \"var(--success)\",\n error: \"#f8d7da\",\n info: \"var(--bg-dark)\"\n };\n const colorMap = {\n success: \"var(--teal-900)\",\n error: \"#c0392b\",\n info: \"var(--paper)\"\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: bgMap[toast.type],\n color: colorMap[toast.type],\n borderRadius: \"var(--r-md)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-small)\",\n fontFamily: \"var(--font-sans)\",\n boxShadow: \"var(--shadow-soft)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: \"var(--s-3)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: toast.message\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 87,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>onDismiss(toast.id),\n style: {\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n color: \"inherit\",\n fontSize: \"18px\",\n lineHeight: 1,\n padding: 0,\n minWidth: \"24px\",\n minHeight: \"24px\"\n },\n \"aria-label\": \"Dismiss\",\n children: \"\\xd7\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 88,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 72,\n columnNumber: 5\n }, this);\n}\nfunction useToast() {\n const ctx = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(ToastContext);\n if (!ctx) throw new Error(\"useToast must be used within ToastProvider\");\n return ctx;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9Ub2FzdC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUMwRjtBQWMxRixNQUFNTSw2QkFBZUwsb0RBQWFBLENBQTJCO0FBRXRELFNBQVNNLGNBQWMsRUFBRUMsUUFBUSxFQUFpQztJQUN2RSxNQUFNLENBQUNDLFFBQVFDLFVBQVUsR0FBR1AsK0NBQVFBLENBQWMsRUFBRTtJQUVwRCxNQUFNUSxZQUFZUCxrREFBV0EsQ0FBQyxDQUFDUSxTQUFpQkMsT0FBa0IsTUFBTTtRQUN0RSxNQUFNQyxLQUFLLENBQUMsTUFBTSxFQUFFQyxLQUFLQyxHQUFHLEdBQUcsQ0FBQyxFQUFFQyxLQUFLQyxNQUFNLEdBQUcsQ0FBQztRQUNqRFIsVUFBVSxDQUFDUyxPQUFTO21CQUFJQTtnQkFBTTtvQkFBRUw7b0JBQUlGO29CQUFTQztnQkFBSzthQUFFO0lBQ3RELEdBQUcsRUFBRTtJQUVMLE1BQU1PLFVBQVVoQixrREFBV0EsQ0FBQyxDQUFDVTtRQUMzQkosVUFBVSxDQUFDUyxPQUFTQSxLQUFLRSxNQUFNLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRVIsRUFBRSxLQUFLQTtJQUNsRCxHQUFHLEVBQUU7SUFFTCxxQkFDRSw4REFBQ1IsYUFBYWlCLFFBQVE7UUFBQ0MsT0FBTztZQUFFYjtRQUFVOztZQUN2Q0g7MEJBQ0QsOERBQUNpQjtnQkFDQ0MsT0FBTztvQkFDTEMsVUFBVTtvQkFDVkMsUUFBUTtvQkFDUkMsTUFBTTtvQkFDTkMsV0FBVztvQkFDWEMsU0FBUztvQkFDVEMsZUFBZTtvQkFDZkMsS0FBSztvQkFDTEMsUUFBUTtvQkFDUkMsT0FBTztnQkFDVDswQkFFQzFCLE9BQU8yQixHQUFHLENBQUMsQ0FBQ2Qsa0JBQ1gsOERBQUNlO3dCQUFxQkMsT0FBT2hCO3dCQUFHaUIsV0FBV25CO3VCQUEzQkUsRUFBRVIsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztBQUs5QjtBQUVBLFNBQVN1QixVQUFVLEVBQUVDLEtBQUssRUFBRUMsU0FBUyxFQUF5RDtJQUM1RmxDLGdEQUFTQSxDQUFDO1FBQ1IsTUFBTW1DLFFBQVFDLFdBQVcsSUFBTUYsVUFBVUQsTUFBTXhCLEVBQUUsR0FBRztRQUNwRCxPQUFPLElBQU00QixhQUFhRjtJQUM1QixHQUFHO1FBQUNGLE1BQU14QixFQUFFO1FBQUV5QjtLQUFVO0lBRXhCLE1BQU1JLFFBQW1DO1FBQ3ZDQyxTQUFTO1FBQ1RDLE9BQU87UUFDUEMsTUFBTTtJQUNSO0lBQ0EsTUFBTUMsV0FBc0M7UUFDMUNILFNBQVM7UUFDVEMsT0FBTztRQUNQQyxNQUFNO0lBQ1I7SUFFQSxxQkFDRSw4REFBQ3JCO1FBQ0NDLE9BQU87WUFDTHNCLFlBQVlMLEtBQUssQ0FBQ0wsTUFBTXpCLElBQUksQ0FBQztZQUM3Qm9DLE9BQU9GLFFBQVEsQ0FBQ1QsTUFBTXpCLElBQUksQ0FBQztZQUMzQnFDLGNBQWM7WUFDZEMsU0FBUztZQUNUQyxVQUFVO1lBQ1ZDLFlBQVk7WUFDWkMsV0FBVztZQUNYdkIsU0FBUztZQUNUd0IsWUFBWTtZQUNaQyxnQkFBZ0I7WUFDaEJ2QixLQUFLO1FBQ1A7OzBCQUVBLDhEQUFDd0I7MEJBQU1uQixNQUFNMUIsT0FBTzs7Ozs7OzBCQUNwQiw4REFBQzhDO2dCQUNDQyxTQUFTLElBQU1wQixVQUFVRCxNQUFNeEIsRUFBRTtnQkFDakNZLE9BQU87b0JBQ0xzQixZQUFZO29CQUNaWSxRQUFRO29CQUNSQyxRQUFRO29CQUNSWixPQUFPO29CQUNQRyxVQUFVO29CQUNWVSxZQUFZO29CQUNaWCxTQUFTO29CQUNUWSxVQUFVO29CQUNWQyxXQUFXO2dCQUNiO2dCQUNBQyxjQUFXOzBCQUNaOzs7Ozs7Ozs7Ozs7QUFLUDtBQUVPLFNBQVNDO0lBQ2QsTUFBTUMsTUFBTWpFLGlEQUFVQSxDQUFDSTtJQUN2QixJQUFJLENBQUM2RCxLQUFLLE1BQU0sSUFBSUMsTUFBTTtJQUMxQixPQUFPRDtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy91aS9Ub2FzdC50c3g/ZGE4MiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuXG50eXBlIFRvYXN0VHlwZSA9ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAnaW5mbydcblxuaW50ZXJmYWNlIFRvYXN0SXRlbSB7XG4gIGlkOiBzdHJpbmdcbiAgbWVzc2FnZTogc3RyaW5nXG4gIHR5cGU6IFRvYXN0VHlwZVxufVxuXG5pbnRlcmZhY2UgVG9hc3RDb250ZXh0VmFsdWUge1xuICBzaG93VG9hc3Q6IChtZXNzYWdlOiBzdHJpbmcsIHR5cGU/OiBUb2FzdFR5cGUpID0+IHZvaWRcbn1cblxuY29uc3QgVG9hc3RDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxUb2FzdENvbnRleHRWYWx1ZSB8IG51bGw+KG51bGwpXG5cbmV4cG9ydCBmdW5jdGlvbiBUb2FzdFByb3ZpZGVyKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgY29uc3QgW3RvYXN0cywgc2V0VG9hc3RzXSA9IHVzZVN0YXRlPFRvYXN0SXRlbVtdPihbXSlcblxuICBjb25zdCBzaG93VG9hc3QgPSB1c2VDYWxsYmFjaygobWVzc2FnZTogc3RyaW5nLCB0eXBlOiBUb2FzdFR5cGUgPSAnaW5mbycpID0+IHtcbiAgICBjb25zdCBpZCA9IGB0b2FzdC0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKX1gXG4gICAgc2V0VG9hc3RzKChwcmV2KSA9PiBbLi4ucHJldiwgeyBpZCwgbWVzc2FnZSwgdHlwZSB9XSlcbiAgfSwgW10pXG5cbiAgY29uc3QgZGlzbWlzcyA9IHVzZUNhbGxiYWNrKChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0VG9hc3RzKChwcmV2KSA9PiBwcmV2LmZpbHRlcigodCkgPT4gdC5pZCAhPT0gaWQpKVxuICB9LCBbXSlcblxuICByZXR1cm4gKFxuICAgIDxUb2FzdENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3sgc2hvd1RvYXN0IH19PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICAgIGJvdHRvbTogJ2NhbGModmFyKC0tbmF2LWhlaWdodCkgKyB2YXIoLS1zLTUpKScsXG4gICAgICAgICAgbGVmdDogJzUwJScsXG4gICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtNTAlKScsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgIGdhcDogJ3ZhcigtLXMtMiknLFxuICAgICAgICAgIHpJbmRleDogMTAwMCxcbiAgICAgICAgICB3aWR0aDogJ21pbigzNjBweCwgOTB2dyknLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7dG9hc3RzLm1hcCgodCkgPT4gKFxuICAgICAgICAgIDxUb2FzdEl0ZW0ga2V5PXt0LmlkfSB0b2FzdD17dH0gb25EaXNtaXNzPXtkaXNtaXNzfSAvPlxuICAgICAgICApKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvVG9hc3RDb250ZXh0LlByb3ZpZGVyPlxuICApXG59XG5cbmZ1bmN0aW9uIFRvYXN0SXRlbSh7IHRvYXN0LCBvbkRpc21pc3MgfTogeyB0b2FzdDogVG9hc3RJdGVtOyBvbkRpc21pc3M6IChpZDogc3RyaW5nKSA9PiB2b2lkIH0pIHtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4gb25EaXNtaXNzKHRvYXN0LmlkKSwgNDAwMClcbiAgICByZXR1cm4gKCkgPT4gY2xlYXJUaW1lb3V0KHRpbWVyKVxuICB9LCBbdG9hc3QuaWQsIG9uRGlzbWlzc10pXG5cbiAgY29uc3QgYmdNYXA6IFJlY29yZDxUb2FzdFR5cGUsIHN0cmluZz4gPSB7XG4gICAgc3VjY2VzczogJ3ZhcigtLXN1Y2Nlc3MpJyxcbiAgICBlcnJvcjogJyNmOGQ3ZGEnLFxuICAgIGluZm86ICd2YXIoLS1iZy1kYXJrKScsXG4gIH1cbiAgY29uc3QgY29sb3JNYXA6IFJlY29yZDxUb2FzdFR5cGUsIHN0cmluZz4gPSB7XG4gICAgc3VjY2VzczogJ3ZhcigtLXRlYWwtOTAwKScsXG4gICAgZXJyb3I6ICcjYzAzOTJiJyxcbiAgICBpbmZvOiAndmFyKC0tcGFwZXIpJyxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYmFja2dyb3VuZDogYmdNYXBbdG9hc3QudHlwZV0sXG4gICAgICAgIGNvbG9yOiBjb2xvck1hcFt0b2FzdC50eXBlXSxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1tZCknLFxuICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTQpJyxcbiAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LXNtYWxsKScsXG4gICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgYm94U2hhZG93OiAndmFyKC0tc2hhZG93LXNvZnQpJyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgZ2FwOiAndmFyKC0tcy0zKScsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxzcGFuPnt0b2FzdC5tZXNzYWdlfTwvc3Bhbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgb25DbGljaz17KCkgPT4gb25EaXNtaXNzKHRvYXN0LmlkKX1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAnbm9uZScsXG4gICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgY29sb3I6ICdpbmhlcml0JyxcbiAgICAgICAgICBmb250U2l6ZTogJzE4cHgnLFxuICAgICAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICAgICAgcGFkZGluZzogMCxcbiAgICAgICAgICBtaW5XaWR0aDogJzI0cHgnLFxuICAgICAgICAgIG1pbkhlaWdodDogJzI0cHgnLFxuICAgICAgICB9fVxuICAgICAgICBhcmlhLWxhYmVsPVwiRGlzbWlzc1wiXG4gICAgICA+XG4gICAgICAgIMOXXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlVG9hc3QoKTogVG9hc3RDb250ZXh0VmFsdWUge1xuICBjb25zdCBjdHggPSB1c2VDb250ZXh0KFRvYXN0Q29udGV4dClcbiAgaWYgKCFjdHgpIHRocm93IG5ldyBFcnJvcigndXNlVG9hc3QgbXVzdCBiZSB1c2VkIHdpdGhpbiBUb2FzdFByb3ZpZGVyJylcbiAgcmV0dXJuIGN0eFxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInVzZUNvbnRleHQiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwiVG9hc3RDb250ZXh0IiwiVG9hc3RQcm92aWRlciIsImNoaWxkcmVuIiwidG9hc3RzIiwic2V0VG9hc3RzIiwic2hvd1RvYXN0IiwibWVzc2FnZSIsInR5cGUiLCJpZCIsIkRhdGUiLCJub3ciLCJNYXRoIiwicmFuZG9tIiwicHJldiIsImRpc21pc3MiLCJmaWx0ZXIiLCJ0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsImRpdiIsInN0eWxlIiwicG9zaXRpb24iLCJib3R0b20iLCJsZWZ0IiwidHJhbnNmb3JtIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJ6SW5kZXgiLCJ3aWR0aCIsIm1hcCIsIlRvYXN0SXRlbSIsInRvYXN0Iiwib25EaXNtaXNzIiwidGltZXIiLCJzZXRUaW1lb3V0IiwiY2xlYXJUaW1lb3V0IiwiYmdNYXAiLCJzdWNjZXNzIiwiZXJyb3IiLCJpbmZvIiwiY29sb3JNYXAiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJib3JkZXJSYWRpdXMiLCJwYWRkaW5nIiwiZm9udFNpemUiLCJmb250RmFtaWx5IiwiYm94U2hhZG93IiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50Iiwic3BhbiIsImJ1dHRvbiIsIm9uQ2xpY2siLCJib3JkZXIiLCJjdXJzb3IiLCJsaW5lSGVpZ2h0IiwibWluV2lkdGgiLCJtaW5IZWlnaHQiLCJhcmlhLWxhYmVsIiwidXNlVG9hc3QiLCJjdHgiLCJFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/Toast.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/auth.ts": +/*!*************************!*\ + !*** ./src/lib/auth.ts ***! + \*************************/ +/***/ ((__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 */ clearAuthCookies: () => (/* binding */ clearAuthCookies),\n/* harmony export */ getAuthUser: () => (/* binding */ getAuthUser),\n/* harmony export */ logout: () => (/* binding */ logout),\n/* harmony export */ syncAuthCookies: () => (/* binding */ syncAuthCookies)\n/* harmony export */ });\n/* harmony import */ var _pocketbase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* __next_internal_client_entry_do_not_use__ getAuthUser,syncAuthCookies,clearAuthCookies,logout auto */ \nconst COOKIE_TOKEN = \"pb_token\";\nconst COOKIE_ROLE = \"pb_role\";\nconst COOKIE_MAX_AGE = 60 * 60 * 24 * 14 // 14 days\n;\nfunction getAuthUser() {\n if (!_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.isValid) return null;\n return _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.model;\n}\nfunction syncAuthCookies() {\n if (_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.isValid && _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.token) {\n const user = _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.model;\n const role = user?.role ?? \"\";\n document.cookie = `${COOKIE_TOKEN}=${_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.token}; path=/; max-age=${COOKIE_MAX_AGE}; SameSite=Lax`;\n document.cookie = `${COOKIE_ROLE}=${role}; path=/; max-age=${COOKIE_MAX_AGE}; SameSite=Lax`;\n } else {\n clearAuthCookies();\n }\n}\nfunction clearAuthCookies() {\n document.cookie = `${COOKIE_TOKEN}=; path=/; max-age=0`;\n document.cookie = `${COOKIE_ROLE}=; path=/; max-age=0`;\n}\nfunction logout() {\n _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.clear();\n clearAuthCookies();\n window.location.href = \"/auth\";\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL2F1dGgudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7eUdBQ2lDO0FBR2pDLE1BQU1DLGVBQWU7QUFDckIsTUFBTUMsY0FBYztBQUNwQixNQUFNQyxpQkFBaUIsS0FBSyxLQUFLLEtBQUssR0FBRyxVQUFVOztBQUU1QyxTQUFTQztJQUNkLElBQUksQ0FBQ0osMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0MsT0FBTyxFQUFFLE9BQU87SUFDbEMsT0FBT04sMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0UsS0FBSztBQUMzQjtBQUVPLFNBQVNDO0lBQ2QsSUFBSVIsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0MsT0FBTyxJQUFJTiwyQ0FBRUEsQ0FBQ0ssU0FBUyxDQUFDSSxLQUFLLEVBQUU7UUFDOUMsTUFBTUMsT0FBT1YsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0UsS0FBSztRQUMvQixNQUFNSSxPQUFPRCxNQUFNQyxRQUFRO1FBQzNCQyxTQUFTQyxNQUFNLEdBQUcsQ0FBQyxFQUFFWixhQUFhLENBQUMsRUFBRUQsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0ksS0FBSyxDQUFDLGtCQUFrQixFQUFFTixlQUFlLGNBQWMsQ0FBQztRQUMxR1MsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVgsWUFBWSxDQUFDLEVBQUVTLEtBQUssa0JBQWtCLEVBQUVSLGVBQWUsY0FBYyxDQUFDO0lBQzdGLE9BQU87UUFDTFc7SUFDRjtBQUNGO0FBRU8sU0FBU0E7SUFDZEYsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVosYUFBYSxvQkFBb0IsQ0FBQztJQUN2RFcsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVgsWUFBWSxvQkFBb0IsQ0FBQztBQUN4RDtBQUVPLFNBQVNhO0lBQ2RmLDJDQUFFQSxDQUFDSyxTQUFTLENBQUNXLEtBQUs7SUFDbEJGO0lBQ0FHLE9BQU9DLFFBQVEsQ0FBQ0MsSUFBSSxHQUFHO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL2F1dGgudHM/NjY5MiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB7IHBiIH0gZnJvbSAnLi9wb2NrZXRiYXNlJ1xuaW1wb3J0IHR5cGUgeyBQQlVzZXIgfSBmcm9tICdAL3R5cGVzJ1xuXG5jb25zdCBDT09LSUVfVE9LRU4gPSAncGJfdG9rZW4nXG5jb25zdCBDT09LSUVfUk9MRSA9ICdwYl9yb2xlJ1xuY29uc3QgQ09PS0lFX01BWF9BR0UgPSA2MCAqIDYwICogMjQgKiAxNCAvLyAxNCBkYXlzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBdXRoVXNlcigpOiBQQlVzZXIgfCBudWxsIHtcbiAgaWYgKCFwYi5hdXRoU3RvcmUuaXNWYWxpZCkgcmV0dXJuIG51bGxcbiAgcmV0dXJuIHBiLmF1dGhTdG9yZS5tb2RlbCBhcyBQQlVzZXIgfCBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzeW5jQXV0aENvb2tpZXMoKTogdm9pZCB7XG4gIGlmIChwYi5hdXRoU3RvcmUuaXNWYWxpZCAmJiBwYi5hdXRoU3RvcmUudG9rZW4pIHtcbiAgICBjb25zdCB1c2VyID0gcGIuYXV0aFN0b3JlLm1vZGVsIGFzIFBCVXNlciB8IG51bGxcbiAgICBjb25zdCByb2xlID0gdXNlcj8ucm9sZSA/PyAnJ1xuICAgIGRvY3VtZW50LmNvb2tpZSA9IGAke0NPT0tJRV9UT0tFTn09JHtwYi5hdXRoU3RvcmUudG9rZW59OyBwYXRoPS87IG1heC1hZ2U9JHtDT09LSUVfTUFYX0FHRX07IFNhbWVTaXRlPUxheGBcbiAgICBkb2N1bWVudC5jb29raWUgPSBgJHtDT09LSUVfUk9MRX09JHtyb2xlfTsgcGF0aD0vOyBtYXgtYWdlPSR7Q09PS0lFX01BWF9BR0V9OyBTYW1lU2l0ZT1MYXhgXG4gIH0gZWxzZSB7XG4gICAgY2xlYXJBdXRoQ29va2llcygpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyQXV0aENvb2tpZXMoKTogdm9pZCB7XG4gIGRvY3VtZW50LmNvb2tpZSA9IGAke0NPT0tJRV9UT0tFTn09OyBwYXRoPS87IG1heC1hZ2U9MGBcbiAgZG9jdW1lbnQuY29va2llID0gYCR7Q09PS0lFX1JPTEV9PTsgcGF0aD0vOyBtYXgtYWdlPTBgXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2dvdXQoKTogdm9pZCB7XG4gIHBiLmF1dGhTdG9yZS5jbGVhcigpXG4gIGNsZWFyQXV0aENvb2tpZXMoKVxuICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvYXV0aCdcbn1cbiJdLCJuYW1lcyI6WyJwYiIsIkNPT0tJRV9UT0tFTiIsIkNPT0tJRV9ST0xFIiwiQ09PS0lFX01BWF9BR0UiLCJnZXRBdXRoVXNlciIsImF1dGhTdG9yZSIsImlzVmFsaWQiLCJtb2RlbCIsInN5bmNBdXRoQ29va2llcyIsInRva2VuIiwidXNlciIsInJvbGUiLCJkb2N1bWVudCIsImNvb2tpZSIsImNsZWFyQXV0aENvb2tpZXMiLCJsb2dvdXQiLCJjbGVhciIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/auth.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/hooks/usePBCollection.ts": +/*!******************************************!*\ + !*** ./src/lib/hooks/usePBCollection.ts ***! + \******************************************/ +/***/ ((__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 */ usePBCollection: () => (/* binding */ usePBCollection)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __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_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lib_pocketbase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/lib/pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* __next_internal_client_entry_do_not_use__ usePBCollection auto */ \n\nfunction usePBCollection(collection, options) {\n const [items, setItems] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(true);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n const [tick, setTick] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0);\n const refresh = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{\n setTick((t)=>t + 1);\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n let cancelled = false;\n async function load() {\n setLoading(true);\n setError(null);\n try {\n const result = await _lib_pocketbase__WEBPACK_IMPORTED_MODULE_1__.pb.collection(collection).getFullList({\n ...options ?? {}\n });\n if (!cancelled) {\n setItems(result);\n }\n } catch (err) {\n if (!cancelled) {\n setError(err instanceof Error ? err.message : \"Failed to load\");\n }\n } finally{\n if (!cancelled) {\n setLoading(false);\n }\n }\n }\n void load();\n return ()=>{\n cancelled = true;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n collection,\n tick\n ]);\n return {\n items,\n loading,\n error,\n refresh\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL2hvb2tzL3VzZVBCQ29sbGVjdGlvbi50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O3FFQUN3RDtBQUNuQjtBQVM5QixTQUFTSSxnQkFDZEMsVUFBa0IsRUFDbEJDLE9BQWlDO0lBRWpDLE1BQU0sQ0FBQ0MsT0FBT0MsU0FBUyxHQUFHUiwrQ0FBUUEsQ0FBTSxFQUFFO0lBQzFDLE1BQU0sQ0FBQ1MsU0FBU0MsV0FBVyxHQUFHViwrQ0FBUUEsQ0FBVTtJQUNoRCxNQUFNLENBQUNXLE9BQU9DLFNBQVMsR0FBR1osK0NBQVFBLENBQWdCO0lBQ2xELE1BQU0sQ0FBQ2EsTUFBTUMsUUFBUSxHQUFHZCwrQ0FBUUEsQ0FBUztJQUV6QyxNQUFNZSxVQUFVYixrREFBV0EsQ0FBQztRQUMxQlksUUFBUSxDQUFDRSxJQUFNQSxJQUFJO0lBQ3JCLEdBQUcsRUFBRTtJQUVMZixnREFBU0EsQ0FBQztRQUNSLElBQUlnQixZQUFZO1FBRWhCLGVBQWVDO1lBQ2JSLFdBQVc7WUFDWEUsU0FBUztZQUNULElBQUk7Z0JBQ0YsTUFBTU8sU0FBUyxNQUFNaEIsK0NBQUVBLENBQUNFLFVBQVUsQ0FBQ0EsWUFBWWUsV0FBVyxDQUFJO29CQUM1RCxHQUFJZCxXQUFXLENBQUMsQ0FBQztnQkFDbkI7Z0JBQ0EsSUFBSSxDQUFDVyxXQUFXO29CQUNkVCxTQUFTVztnQkFDWDtZQUNGLEVBQUUsT0FBT0UsS0FBSztnQkFDWixJQUFJLENBQUNKLFdBQVc7b0JBQ2RMLFNBQVNTLGVBQWVDLFFBQVFELElBQUlFLE9BQU8sR0FBRztnQkFDaEQ7WUFDRixTQUFVO2dCQUNSLElBQUksQ0FBQ04sV0FBVztvQkFDZFAsV0FBVztnQkFDYjtZQUNGO1FBQ0Y7UUFFQSxLQUFLUTtRQUNMLE9BQU87WUFDTEQsWUFBWTtRQUNkO0lBQ0EsdURBQXVEO0lBQ3pELEdBQUc7UUFBQ1o7UUFBWVE7S0FBSztJQUVyQixPQUFPO1FBQUVOO1FBQU9FO1FBQVNFO1FBQU9JO0lBQVE7QUFDMUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9saWIvaG9va3MvdXNlUEJDb2xsZWN0aW9uLnRzPzA2N2YiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgcGIgfSBmcm9tICdAL2xpYi9wb2NrZXRiYXNlJ1xuXG5pbnRlcmZhY2UgVXNlUEJDb2xsZWN0aW9uUmVzdWx0PFQ+IHtcbiAgaXRlbXM6IFRbXVxuICBsb2FkaW5nOiBib29sZWFuXG4gIGVycm9yOiBzdHJpbmcgfCBudWxsXG4gIHJlZnJlc2g6ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVBCQ29sbGVjdGlvbjxUPihcbiAgY29sbGVjdGlvbjogc3RyaW5nLFxuICBvcHRpb25zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4pOiBVc2VQQkNvbGxlY3Rpb25SZXN1bHQ8VD4ge1xuICBjb25zdCBbaXRlbXMsIHNldEl0ZW1zXSA9IHVzZVN0YXRlPFRbXT4oW10pXG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlPGJvb2xlYW4+KHRydWUpXG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW3RpY2ssIHNldFRpY2tdID0gdXNlU3RhdGU8bnVtYmVyPigwKVxuXG4gIGNvbnN0IHJlZnJlc2ggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0VGljaygodCkgPT4gdCArIDEpXG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGNhbmNlbGxlZCA9IGZhbHNlXG5cbiAgICBhc3luYyBmdW5jdGlvbiBsb2FkKCkge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKVxuICAgICAgc2V0RXJyb3IobnVsbClcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBiLmNvbGxlY3Rpb24oY29sbGVjdGlvbikuZ2V0RnVsbExpc3Q8VD4oe1xuICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKCFjYW5jZWxsZWQpIHtcbiAgICAgICAgICBzZXRJdGVtcyhyZXN1bHQpXG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoIWNhbmNlbGxlZCkge1xuICAgICAgICAgIHNldEVycm9yKGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiAnRmFpbGVkIHRvIGxvYWQnKVxuICAgICAgICB9XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpZiAoIWNhbmNlbGxlZCkge1xuICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB2b2lkIGxvYWQoKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjYW5jZWxsZWQgPSB0cnVlXG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW2NvbGxlY3Rpb24sIHRpY2tdKVxuXG4gIHJldHVybiB7IGl0ZW1zLCBsb2FkaW5nLCBlcnJvciwgcmVmcmVzaCB9XG59XG4iXSwibmFtZXMiOlsidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJ1c2VDYWxsYmFjayIsInBiIiwidXNlUEJDb2xsZWN0aW9uIiwiY29sbGVjdGlvbiIsIm9wdGlvbnMiLCJpdGVtcyIsInNldEl0ZW1zIiwibG9hZGluZyIsInNldExvYWRpbmciLCJlcnJvciIsInNldEVycm9yIiwidGljayIsInNldFRpY2siLCJyZWZyZXNoIiwidCIsImNhbmNlbGxlZCIsImxvYWQiLCJyZXN1bHQiLCJnZXRGdWxsTGlzdCIsImVyciIsIkVycm9yIiwibWVzc2FnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/hooks/usePBCollection.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/pocketbase.ts": +/*!*******************************!*\ + !*** ./src/lib/pocketbase.ts ***! + \*******************************/ +/***/ ((__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 */ pb: () => (/* binding */ pb)\n/* harmony export */ });\n/* harmony import */ var pocketbase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pocketbase */ \"(ssr)/./node_modules/pocketbase/dist/pocketbase.es.mjs\");\n/* __next_internal_client_entry_do_not_use__ pb auto */ \nconst pb = new pocketbase__WEBPACK_IMPORTED_MODULE_0__[\"default\"](\"http://localhost:8090\" ?? 0);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL3BvY2tldGJhc2UudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7d0RBQ21DO0FBRTVCLE1BQU1DLEtBQUssSUFBSUQsa0RBQVVBLENBQUNFLHVCQUFzQyxJQUFJLEdBQXdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL3BvY2tldGJhc2UudHM/ZTY1NyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBQb2NrZXRCYXNlIGZyb20gJ3BvY2tldGJhc2UnXG5cbmV4cG9ydCBjb25zdCBwYiA9IG5ldyBQb2NrZXRCYXNlKHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX1BPQ0tFVEJBU0VfVVJMID8/ICdodHRwOi8vbG9jYWxob3N0OjgwOTAnKVxuIl0sIm5hbWVzIjpbIlBvY2tldEJhc2UiLCJwYiIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19QT0NLRVRCQVNFX1VSTCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/pocketbase.ts\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__ = (\"a462ed02aa71\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL2dsb2JhbHMuY3NzPzU5MTYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgXCJhNDYyZWQwMmFhNzFcIlxuaWYgKG1vZHVsZS5ob3QpIHsgbW9kdWxlLmhvdC5hY2NlcHQoKSB9XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); + +/***/ }), + +/***/ "(rsc)/../../stylesheet.css": +/*!****************************!*\ + !*** ../../stylesheet.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__ = (\"5511d51fa1af\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi4vLi4vc3R5bGVzaGVldC5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi9zdHlsZXNoZWV0LmNzcz9mYjhjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNTUxMWQ1MWZhMWFmXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/../../stylesheet.css\n"); + +/***/ }), + +/***/ "(rsc)/./src/app/app/layout.tsx": +/*!********************************!*\ + !*** ./src/app/app/layout.tsx ***! + \********************************/ +/***/ ((__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`C:\Users\RaymondVerhoef\Gitea\learning-platform\app\frontend\src\app\app\layout.tsx#default`)); + + +/***/ }), + +/***/ "(rsc)/./src/app/app/library/page.tsx": +/*!**************************************!*\ + !*** ./src/app/app/library/page.tsx ***! + \**************************************/ +/***/ ((__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`C:\Users\RaymondVerhoef\Gitea\learning-platform\app\frontend\src\app\app\library\page.tsx#default`)); + + +/***/ }), + +/***/ "(rsc)/./src/app/layout.tsx": +/*!****************************!*\ + !*** ./src/app/layout.tsx ***! + \****************************/ +/***/ ((__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 */ viewport: () => (/* binding */ viewport)\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 _stylesheet_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../stylesheet.css */ \"(rsc)/../../stylesheet.css\");\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n\n\n\nconst metadata = {\n title: \"Learning Platform\",\n description: \"Employee knowledge and learning\",\n manifest: \"/manifest.json\",\n appleWebApp: {\n capable: true,\n statusBarStyle: \"default\",\n title: \"Learning Platform\"\n }\n};\nconst viewport = {\n themeColor: \"#1F5560\",\n width: \"device-width\",\n initialScale: 1,\n maximumScale: 1\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 29,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDbUM7QUFDYjtBQUVmLE1BQU1BLFdBQXFCO0lBQ2hDQyxPQUFPO0lBQ1BDLGFBQWE7SUFDYkMsVUFBVTtJQUNWQyxhQUFhO1FBQ1hDLFNBQVM7UUFDVEMsZ0JBQWdCO1FBQ2hCTCxPQUFPO0lBQ1Q7QUFDRixFQUFDO0FBRU0sTUFBTU0sV0FBcUI7SUFDaENDLFlBQVk7SUFDWkMsT0FBTztJQUNQQyxjQUFjO0lBQ2RDLGNBQWM7QUFDaEIsRUFBQztBQUVjLFNBQVNDLFdBQVcsRUFDakNDLFFBQVEsRUFHVDtJQUNDLHFCQUNFLDhEQUFDQztRQUFLQyxNQUFLO2tCQUNULDRFQUFDQztzQkFBTUg7Ozs7Ozs7Ozs7O0FBR2IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9hcHAvbGF5b3V0LnRzeD81N2E5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEsIFZpZXdwb3J0IH0gZnJvbSAnbmV4dCdcbmltcG9ydCAnLi4vLi4vLi4vLi4vc3R5bGVzaGVldC5jc3MnXG5pbXBvcnQgJy4vZ2xvYmFscy5jc3MnXG5cbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XG4gIHRpdGxlOiAnTGVhcm5pbmcgUGxhdGZvcm0nLFxuICBkZXNjcmlwdGlvbjogJ0VtcGxveWVlIGtub3dsZWRnZSBhbmQgbGVhcm5pbmcnLFxuICBtYW5pZmVzdDogJy9tYW5pZmVzdC5qc29uJyxcbiAgYXBwbGVXZWJBcHA6IHtcbiAgICBjYXBhYmxlOiB0cnVlLFxuICAgIHN0YXR1c0JhclN0eWxlOiAnZGVmYXVsdCcsXG4gICAgdGl0bGU6ICdMZWFybmluZyBQbGF0Zm9ybScsXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCB2aWV3cG9ydDogVmlld3BvcnQgPSB7XG4gIHRoZW1lQ29sb3I6ICcjMUY1NTYwJyxcbiAgd2lkdGg6ICdkZXZpY2Utd2lkdGgnLFxuICBpbml0aWFsU2NhbGU6IDEsXG4gIG1heGltdW1TY2FsZTogMSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7XG4gIGNoaWxkcmVuLFxufToge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8Ym9keT57Y2hpbGRyZW59PC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIm1hbmlmZXN0IiwiYXBwbGVXZWJBcHAiLCJjYXBhYmxlIiwic3RhdHVzQmFyU3R5bGUiLCJ2aWV3cG9ydCIsInRoZW1lQ29sb3IiLCJ3aWR0aCIsImluaXRpYWxTY2FsZSIsIm1heGltdW1TY2FsZSIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwiYm9keSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\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","vendor-chunks/pocketbase"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp%2Flibrary%2Fpage&page=%2Fapp%2Flibrary%2Fpage&appPaths=%2Fapp%2Flibrary%2Fpage&pagePath=private-next-app-dir%2Fapp%2Flibrary%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); +module.exports = __webpack_exports__; + +})(); \ No newline at end of file diff --git a/app/frontend/.next/server/app/app/library/page_client-reference-manifest.js b/app/frontend/.next/server/app/app/library/page_client-reference-manifest.js new file mode 100644 index 0000000..e01ebf8 --- /dev/null +++ b/app/frontend/.next/server/app/app/library/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/app/library/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/auth/page.tsx":{"*":{"id":"(ssr)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/layout.tsx":{"*":{"id":"(ssr)/./src/app/admin/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/documents/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/knowledge/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/curriculum/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/layout.tsx":{"*":{"id":"(ssr)/./src/app/app/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/session/page.tsx":{"*":{"id":"(ssr)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/library/page.tsx":{"*":{"id":"(ssr)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\stylesheet.css":{"id":"(app-pages-browser)/../../stylesheet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\auth\\page.tsx":{"id":"(app-pages-browser)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\layout.tsx":{"id":"(app-pages-browser)/./src/app/admin/layout.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\documents\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\knowledge\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\curriculum\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\layout.tsx":{"id":"(app-pages-browser)/./src/app/app/layout.tsx","name":"*","chunks":["app/app/layout","static/chunks/app/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\session\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\library\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/library/page.tsx","name":"*","chunks":["app/app/library/page","static/chunks/app/app/library/page.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\layout":["static/css/app/layout.css"],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\layout":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\library\\page":[]}} \ No newline at end of file diff --git a/app/frontend/.next/server/app/app/page.js b/app/frontend/.next/server/app/app/page.js new file mode 100644 index 0000000..c1cb021 --- /dev/null +++ b/app/frontend/.next/server/app/app/page.js @@ -0,0 +1,259 @@ +/* + * 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/app/page"; +exports.ids = ["app/app/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%2Fapp%2Fpage&page=%2Fapp%2Fpage&appPaths=%2Fapp%2Fpage&pagePath=private-next-app-dir%2Fapp%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%2Fapp%2Fpage&page=%2Fapp%2Fpage&appPaths=%2Fapp%2Fpage&pagePath=private-next-app-dir%2Fapp%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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?d969\");\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 'app',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/app/page.tsx */ \"(rsc)/./src/app/app/page.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\page.tsx\"],\n \n }]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/app/layout.tsx */ \"(rsc)/./src/app/app/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\"],\n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\"],\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 = [\"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/app/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: \"/app/page\",\n pathname: \"/app\",\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/bmFtZT1hcHAlMkZhcHAlMkZwYWdlJnBhZ2U9JTJGYXBwJTJGcGFnZSZhcHBQYXRocz0lMkZhcHAlMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGYXBwJTJGcGFnZS50c3gmYXBwRGlyPUMlM0ElNUNVc2VycyU1Q1JheW1vbmRWZXJob2VmJTVDR2l0ZWElNUNsZWFybmluZy1wbGF0Zm9ybSU1Q2FwcCU1Q2Zyb250ZW5kJTVDc3JjJTVDYXBwJnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMmcm9vdERpcj1DJTNBJTVDVXNlcnMlNUNSYXltb25kVmVyaG9lZiU1Q0dpdGVhJTVDbGVhcm5pbmctcGxhdGZvcm0lNUNhcHAlNUNmcm9udGVuZCZpc0Rldj10cnVlJnRzY29uZmlnUGF0aD10c2NvbmZpZy5qc29uJmJhc2VQYXRoPSZhc3NldFByZWZpeD0mbmV4dENvbmZpZ091dHB1dD0mcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCEiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGFBQWEsc0JBQXNCO0FBQ2lFO0FBQ3JDO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQyx1QkFBdUIsd0pBQWdJO0FBQ3ZKO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBLHlCQUF5Qiw0SkFBa0k7QUFDM0o7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EseUJBQXlCLG9KQUE2SDtBQUN0SixvQkFBb0IsME5BQWdGO0FBQ3BHO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUN1QjtBQUM2RDtBQUNwRiw2QkFBNkIsbUJBQW1CO0FBQ2hEO0FBQ087QUFDQTtBQUNQO0FBQ0E7QUFDQTtBQUN1RDtBQUN2RDtBQUNPLHdCQUF3Qiw4R0FBa0I7QUFDakQ7QUFDQSxjQUFjLHlFQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzU2NTAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJUVVJCT1BBQ0sgeyB0cmFuc2l0aW9uOiBuZXh0LXNzciB9XCI7XG5pbXBvcnQgeyBBcHBQYWdlUm91dGVNb2R1bGUgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS9tb2R1bGUuY29tcGlsZWRcIjtcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kXCI7XG4vLyBXZSBpbmplY3QgdGhlIHRyZWUgYW5kIHBhZ2VzIGhlcmUgc28gdGhhdCB3ZSBjYW4gdXNlIHRoZW0gaW4gdGhlIHJvdXRlXG4vLyBtb2R1bGUuXG5jb25zdCB0cmVlID0ge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAnJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAnYXBwJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogWydfX1BBR0VfXycsIHt9LCB7XG4gICAgICAgICAgcGFnZTogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcYXBwXFxcXHBhZ2UudHN4XCIpLCBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFwcFxcXFxwYWdlLnRzeFwiXSxcbiAgICAgICAgICBcbiAgICAgICAgfV1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFwcFxcXFxsYXlvdXQudHN4XCIpLCBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFwcFxcXFxsYXlvdXQudHN4XCJdLFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGxheW91dC50c3hcIiksIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcbGF5b3V0LnRzeFwiXSxcbidub3QtZm91bmQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCIpLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIl0sXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfS5jaGlsZHJlbjtcbmNvbnN0IHBhZ2VzID0gW1wiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcYXBwXFxcXHBhZ2UudHN4XCJdO1xuZXhwb3J0IHsgdHJlZSwgcGFnZXMgfTtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgR2xvYmFsRXJyb3IgfSBmcm9tIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5XCI7XG5jb25zdCBfX25leHRfYXBwX3JlcXVpcmVfXyA9IF9fd2VicGFja19yZXF1aXJlX19cbmNvbnN0IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKClcbmV4cG9ydCBjb25zdCBvcmlnaW5hbFBhdGhuYW1lID0gXCIvYXBwL3BhZ2VcIjtcbmV4cG9ydCBjb25zdCBfX25leHRfYXBwX18gPSB7XG4gICAgcmVxdWlyZTogX19uZXh0X2FwcF9yZXF1aXJlX18sXG4gICAgbG9hZENodW5rOiBfX25leHRfYXBwX2xvYWRfY2h1bmtfX1xufTtcbmV4cG9ydCAqIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgQXBwUGFnZVJvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgcGFnZTogXCIvYXBwL3BhZ2VcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL2FwcFwiLFxuICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGFyZW4ndCB1c2VkIGluIHByb2R1Y3Rpb24uXG4gICAgICAgIGJ1bmRsZVBhdGg6IFwiXCIsXG4gICAgICAgIGZpbGVuYW1lOiBcIlwiLFxuICAgICAgICBhcHBQYXRoczogW11cbiAgICB9LFxuICAgIHVzZXJsYW5kOiB7XG4gICAgICAgIGxvYWRlclRyZWU6IHRyZWVcbiAgICB9XG59KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp%2Fpage&page=%2Fapp%2Fpage&appPaths=%2Fapp%2Fpage&pagePath=private-next-app-dir%2Fapp%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJDJTNBJTVDJTVDVXNlcnMlNUMlNUNSYXltb25kVmVyaG9lZiU1QyU1Q0dpdGVhJTVDJTVDbGVhcm5pbmctcGxhdGZvcm0lNUMlNUNhcHAlNUMlNUNmcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2NsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyQyUzQSU1QyU1Q1VzZXJzJTVDJTVDUmF5bW9uZFZlcmhvZWYlNUMlNUNHaXRlYSU1QyU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDJTVDYXBwJTVDJTVDZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQW9LO0FBQ3BLO0FBQ0Esb09BQXFLO0FBQ3JLO0FBQ0EsME9BQXdLO0FBQ3hLO0FBQ0Esd09BQXVLO0FBQ3ZLO0FBQ0Esa1BBQTRLO0FBQzVLO0FBQ0Esc1FBQXNMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzcyOWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxhcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxcZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXGxheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXG5vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxccmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Clayout.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Clayout.tsx%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/app/layout.tsx */ \"(ssr)/./src/app/app/layout.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDYXBwJTVDJTVDbGF5b3V0LnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsNEpBQWtJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzliOTYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxhcHBcXFxcbGF5b3V0LnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Clayout.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! + \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ (() => { + + + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?server=true!": +/*!******************************************************************************************************!*\ + !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?server=true! ***! + \******************************************************************************************************/ +/***/ (() => { + + + +/***/ }), + +/***/ "(ssr)/./src/app/app/layout.tsx": +/*!********************************!*\ + !*** ./src/app/app/layout.tsx ***! + \********************************/ +/***/ ((__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 */ AppLayout)\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_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _components_r42_R42Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/r42/R42Button */ \"(ssr)/./src/components/r42/R42Button.tsx\");\n/* harmony import */ var _components_r42_R42Drawer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/r42/R42Drawer */ \"(ssr)/./src/components/r42/R42Drawer.tsx\");\n/* harmony import */ var _components_ui_Toast__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/ui/Toast */ \"(ssr)/./src/components/ui/Toast.tsx\");\n/* harmony import */ var _lib_auth__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/lib/auth */ \"(ssr)/./src/lib/auth.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\n\nconst NAV_ITEMS = [\n {\n href: \"/app\",\n label: \"Session\",\n icon: \"▶\"\n },\n {\n href: \"/app/library\",\n label: \"Library\",\n icon: \"\\uD83D\\uDCDA\"\n },\n {\n href: \"/app/profile\",\n label: \"Profile\",\n icon: \"\\uD83D\\uDC64\"\n }\n];\nfunction AppLayout({ children }) {\n const pathname = (0,next_navigation__WEBPACK_IMPORTED_MODULE_3__.usePathname)();\n const [r42Open, setR42Open] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const user = (0,_lib_auth__WEBPACK_IMPORTED_MODULE_7__.getAuthUser)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Toast__WEBPACK_IMPORTED_MODULE_6__.ToastProvider, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n minHeight: \"100dvh\",\n display: \"flex\",\n flexDirection: \"column\",\n background: \"var(--bg)\",\n paddingBottom: \"var(--nav-height)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n style: {\n flex: 1,\n padding: \"var(--s-4)\",\n maxWidth: \"640px\",\n margin: \"0 auto\",\n width: \"100%\"\n },\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 33,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_r42_R42Button__WEBPACK_IMPORTED_MODULE_4__.R42Button, {\n onClick: ()=>setR42Open(true)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_r42_R42Drawer__WEBPACK_IMPORTED_MODULE_5__.R42Drawer, {\n open: r42Open,\n onClose: ()=>setR42Open(false),\n userId: user?.id ?? \"\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 41,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n style: {\n position: \"fixed\",\n bottom: 0,\n left: 0,\n right: 0,\n height: \"var(--nav-height)\",\n background: \"var(--bg)\",\n borderTop: \"1px solid var(--cream)\",\n display: \"flex\",\n zIndex: 150\n },\n children: NAV_ITEMS.map((item)=>{\n const active = item.href === \"/app\" ? pathname === \"/app\" || pathname === \"/app/\" : pathname.startsWith(item.href);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: item.href,\n style: {\n flex: 1,\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"2px\",\n textDecoration: \"none\",\n color: active ? \"var(--accent)\" : \"var(--fg-muted)\",\n fontSize: \"20px\",\n minHeight: \"44px\",\n transition: \"color 150ms\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.icon\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 85,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n fontWeight: active ? 700 : 400\n },\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 86,\n columnNumber: 17\n }, this)\n ]\n }, item.href, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 68,\n columnNumber: 15\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 48,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 23,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 22,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvYXBwL2FwcC9sYXlvdXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUN1QztBQUNYO0FBQ2lCO0FBQ1M7QUFDQTtBQUNEO0FBQ2I7QUFFeEMsTUFBTVEsWUFBWTtJQUNoQjtRQUFFQyxNQUFNO1FBQVFDLE9BQU87UUFBV0MsTUFBTTtJQUFJO0lBQzVDO1FBQUVGLE1BQU07UUFBZ0JDLE9BQU87UUFBV0MsTUFBTTtJQUFLO0lBQ3JEO1FBQUVGLE1BQU07UUFBZ0JDLE9BQU87UUFBV0MsTUFBTTtJQUFLO0NBQ3REO0FBRWMsU0FBU0MsVUFBVSxFQUFFQyxRQUFRLEVBQWlDO0lBQzNFLE1BQU1DLFdBQVdYLDREQUFXQTtJQUM1QixNQUFNLENBQUNZLFNBQVNDLFdBQVcsR0FBR2YsK0NBQVFBLENBQUM7SUFDdkMsTUFBTWdCLE9BQU9WLHNEQUFXQTtJQUV4QixxQkFDRSw4REFBQ0QsK0RBQWFBO2tCQUNaLDRFQUFDWTtZQUNDQyxPQUFPO2dCQUNMQyxXQUFXO2dCQUNYQyxTQUFTO2dCQUNUQyxlQUFlO2dCQUNmQyxZQUFZO2dCQUNaQyxlQUFlO1lBQ2pCOzs4QkFHQSw4REFBQ0M7b0JBQUtOLE9BQU87d0JBQUVPLE1BQU07d0JBQUdDLFNBQVM7d0JBQWNDLFVBQVU7d0JBQVNDLFFBQVE7d0JBQVVDLE9BQU87b0JBQU87OEJBQy9GakI7Ozs7Ozs4QkFJSCw4REFBQ1QsZ0VBQVNBO29CQUFDMkIsU0FBUyxJQUFNZixXQUFXOzs7Ozs7OEJBR3JDLDhEQUFDWCxnRUFBU0E7b0JBQ1IyQixNQUFNakI7b0JBQ05rQixTQUFTLElBQU1qQixXQUFXO29CQUMxQmtCLFFBQVFqQixNQUFNa0IsTUFBTTs7Ozs7OzhCQUl0Qiw4REFBQ0M7b0JBQ0NqQixPQUFPO3dCQUNMa0IsVUFBVTt3QkFDVkMsUUFBUTt3QkFDUkMsTUFBTTt3QkFDTkMsT0FBTzt3QkFDUEMsUUFBUTt3QkFDUmxCLFlBQVk7d0JBQ1ptQixXQUFXO3dCQUNYckIsU0FBUzt3QkFDVHNCLFFBQVE7b0JBQ1Y7OEJBRUNuQyxVQUFVb0MsR0FBRyxDQUFDLENBQUNDO3dCQUNkLE1BQU1DLFNBQ0pELEtBQUtwQyxJQUFJLEtBQUssU0FDVkssYUFBYSxVQUFVQSxhQUFhLFVBQ3BDQSxTQUFTaUMsVUFBVSxDQUFDRixLQUFLcEMsSUFBSTt3QkFFbkMscUJBQ0UsOERBQUNQLGlEQUFJQTs0QkFFSE8sTUFBTW9DLEtBQUtwQyxJQUFJOzRCQUNmVSxPQUFPO2dDQUNMTyxNQUFNO2dDQUNOTCxTQUFTO2dDQUNUQyxlQUFlO2dDQUNmMEIsWUFBWTtnQ0FDWkMsZ0JBQWdCO2dDQUNoQkMsS0FBSztnQ0FDTEMsZ0JBQWdCO2dDQUNoQkMsT0FBT04sU0FBUyxrQkFBa0I7Z0NBQ2xDTyxVQUFVO2dDQUNWakMsV0FBVztnQ0FDWGtDLFlBQVk7NEJBQ2Q7OzhDQUVBLDhEQUFDQzs4Q0FBTVYsS0FBS2xDLElBQUk7Ozs7Ozs4Q0FDaEIsOERBQUM0QztvQ0FDQ3BDLE9BQU87d0NBQ0xrQyxVQUFVO3dDQUNWRyxZQUFZO3dDQUNaQyxlQUFlO3dDQUNmQyxlQUFlO3dDQUNmQyxZQUFZYixTQUFTLE1BQU07b0NBQzdCOzhDQUVDRCxLQUFLbkMsS0FBSzs7Ozs7OzsyQkExQlJtQyxLQUFLcEMsSUFBSTs7Ozs7b0JBOEJwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLViIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2FwcC9hcHAvbGF5b3V0LnRzeD9mZDE2Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnXG5pbXBvcnQgeyB1c2VQYXRobmFtZSB9IGZyb20gJ25leHQvbmF2aWdhdGlvbidcbmltcG9ydCB7IFI0MkJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy9yNDIvUjQyQnV0dG9uJ1xuaW1wb3J0IHsgUjQyRHJhd2VyIH0gZnJvbSAnQC9jb21wb25lbnRzL3I0Mi9SNDJEcmF3ZXInXG5pbXBvcnQgeyBUb2FzdFByb3ZpZGVyIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL1RvYXN0J1xuaW1wb3J0IHsgZ2V0QXV0aFVzZXIgfSBmcm9tICdAL2xpYi9hdXRoJ1xuXG5jb25zdCBOQVZfSVRFTVMgPSBbXG4gIHsgaHJlZjogJy9hcHAnLCBsYWJlbDogJ1Nlc3Npb24nLCBpY29uOiAn4pa2JyB9LFxuICB7IGhyZWY6ICcvYXBwL2xpYnJhcnknLCBsYWJlbDogJ0xpYnJhcnknLCBpY29uOiAn8J+TmicgfSxcbiAgeyBocmVmOiAnL2FwcC9wcm9maWxlJywgbGFiZWw6ICdQcm9maWxlJywgaWNvbjogJ/CfkaQnIH0sXG5dXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEFwcExheW91dCh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9KSB7XG4gIGNvbnN0IHBhdGhuYW1lID0gdXNlUGF0aG5hbWUoKVxuICBjb25zdCBbcjQyT3Blbiwgc2V0UjQyT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgdXNlciA9IGdldEF1dGhVc2VyKClcblxuICByZXR1cm4gKFxuICAgIDxUb2FzdFByb3ZpZGVyPlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIG1pbkhlaWdodDogJzEwMGR2aCcsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZyknLFxuICAgICAgICAgIHBhZGRpbmdCb3R0b206ICd2YXIoLS1uYXYtaGVpZ2h0KScsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHsvKiBNYWluIGNvbnRlbnQgKi99XG4gICAgICAgIDxtYWluIHN0eWxlPXt7IGZsZXg6IDEsIHBhZGRpbmc6ICd2YXIoLS1zLTQpJywgbWF4V2lkdGg6ICc2NDBweCcsIG1hcmdpbjogJzAgYXV0bycsIHdpZHRoOiAnMTAwJScgfX0+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L21haW4+XG5cbiAgICAgICAgey8qIFI0MiBmbG9hdGluZyBidXR0b24gKi99XG4gICAgICAgIDxSNDJCdXR0b24gb25DbGljaz17KCkgPT4gc2V0UjQyT3Blbih0cnVlKX0gLz5cblxuICAgICAgICB7LyogUjQyIGRyYXdlciAqL31cbiAgICAgICAgPFI0MkRyYXdlclxuICAgICAgICAgIG9wZW49e3I0Mk9wZW59XG4gICAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0UjQyT3BlbihmYWxzZSl9XG4gICAgICAgICAgdXNlcklkPXt1c2VyPy5pZCA/PyAnJ31cbiAgICAgICAgLz5cblxuICAgICAgICB7LyogQm90dG9tIG5hdmlnYXRpb24gKi99XG4gICAgICAgIDxuYXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgICBib3R0b206IDAsXG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICBoZWlnaHQ6ICd2YXIoLS1uYXYtaGVpZ2h0KScsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmcpJyxcbiAgICAgICAgICAgIGJvcmRlclRvcDogJzFweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgekluZGV4OiAxNTAsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtOQVZfSVRFTVMubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmUgPVxuICAgICAgICAgICAgICBpdGVtLmhyZWYgPT09ICcvYXBwJ1xuICAgICAgICAgICAgICAgID8gcGF0aG5hbWUgPT09ICcvYXBwJyB8fCBwYXRobmFtZSA9PT0gJy9hcHAvJ1xuICAgICAgICAgICAgICAgIDogcGF0aG5hbWUuc3RhcnRzV2l0aChpdGVtLmhyZWYpXG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAga2V5PXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgaHJlZj17aXRlbS5ocmVmfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgIGdhcDogJzJweCcsXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZSA/ICd2YXIoLS1hY2NlbnQpJyA6ICd2YXIoLS1mZy1tdXRlZCknLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICcyMHB4JyxcbiAgICAgICAgICAgICAgICAgIG1pbkhlaWdodDogJzQ0cHgnLFxuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4+e2l0ZW0uaWNvbn08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1sYWJlbCknLFxuICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vKScsXG4gICAgICAgICAgICAgICAgICAgIHRleHRUcmFuc2Zvcm06ICd1cHBlcmNhc2UnLFxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXJTcGFjaW5nOiAndmFyKC0tbGFiZWwtbHMpJyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogYWN0aXZlID8gNzAwIDogNDAwLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7aXRlbS5sYWJlbH1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9uYXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L1RvYXN0UHJvdmlkZXI+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwiTGluayIsInVzZVBhdGhuYW1lIiwiUjQyQnV0dG9uIiwiUjQyRHJhd2VyIiwiVG9hc3RQcm92aWRlciIsImdldEF1dGhVc2VyIiwiTkFWX0lURU1TIiwiaHJlZiIsImxhYmVsIiwiaWNvbiIsIkFwcExheW91dCIsImNoaWxkcmVuIiwicGF0aG5hbWUiLCJyNDJPcGVuIiwic2V0UjQyT3BlbiIsInVzZXIiLCJkaXYiLCJzdHlsZSIsIm1pbkhlaWdodCIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYmFja2dyb3VuZCIsInBhZGRpbmdCb3R0b20iLCJtYWluIiwiZmxleCIsInBhZGRpbmciLCJtYXhXaWR0aCIsIm1hcmdpbiIsIndpZHRoIiwib25DbGljayIsIm9wZW4iLCJvbkNsb3NlIiwidXNlcklkIiwiaWQiLCJuYXYiLCJwb3NpdGlvbiIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsImhlaWdodCIsImJvcmRlclRvcCIsInpJbmRleCIsIm1hcCIsIml0ZW0iLCJhY3RpdmUiLCJzdGFydHNXaXRoIiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwiZ2FwIiwidGV4dERlY29yYXRpb24iLCJjb2xvciIsImZvbnRTaXplIiwidHJhbnNpdGlvbiIsInNwYW4iLCJmb250RmFtaWx5IiwidGV4dFRyYW5zZm9ybSIsImxldHRlclNwYWNpbmciLCJmb250V2VpZ2h0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/app/app/layout.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/r42/R42Button.tsx": +/*!******************************************!*\ + !*** ./src/components/r42/R42Button.tsx ***! + \******************************************/ +/***/ ((__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 */ R42Button: () => (/* binding */ R42Button)\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/* __next_internal_client_entry_do_not_use__ R42Button auto */ \n\nfunction R42Button({ onClick }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: onClick,\n \"aria-label\": \"Open R42 assistant\",\n style: {\n position: \"fixed\",\n bottom: \"calc(var(--nav-height) + 16px)\",\n right: \"16px\",\n width: \"var(--r42-size)\",\n height: \"var(--r42-size)\",\n borderRadius: \"50%\",\n background: \"var(--accent)\",\n border: \"none\",\n cursor: \"pointer\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n boxShadow: \"var(--shadow-pill)\",\n zIndex: 200,\n transition: \"transform 150ms, box-shadow 150ms\",\n color: \"var(--paper)\",\n fontSize: \"22px\"\n },\n onMouseEnter: (e)=>{\n e.currentTarget.style.transform = \"scale(1.08)\";\n },\n onMouseLeave: (e)=>{\n e.currentTarget.style.transform = \"scale(1)\";\n },\n children: \"R\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Button.tsx\",\n lineNumber: 10,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9yNDIvUjQyQnV0dG9uLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDeUI7QUFNbEIsU0FBU0MsVUFBVSxFQUFFQyxPQUFPLEVBQWtCO0lBQ25ELHFCQUNFLDhEQUFDQztRQUNDRCxTQUFTQTtRQUNURSxjQUFXO1FBQ1hDLE9BQU87WUFDTEMsVUFBVTtZQUNWQyxRQUFRO1lBQ1JDLE9BQU87WUFDUEMsT0FBTztZQUNQQyxRQUFRO1lBQ1JDLGNBQWM7WUFDZEMsWUFBWTtZQUNaQyxRQUFRO1lBQ1JDLFFBQVE7WUFDUkMsU0FBUztZQUNUQyxZQUFZO1lBQ1pDLGdCQUFnQjtZQUNoQkMsV0FBVztZQUNYQyxRQUFRO1lBQ1JDLFlBQVk7WUFDWkMsT0FBTztZQUNQQyxVQUFVO1FBQ1o7UUFDQUMsY0FBYyxDQUFDQztZQUNiQSxFQUFFQyxhQUFhLENBQUNwQixLQUFLLENBQUNxQixTQUFTLEdBQUc7UUFDcEM7UUFDQUMsY0FBYyxDQUFDSDtZQUNiQSxFQUFFQyxhQUFhLENBQUNwQixLQUFLLENBQUNxQixTQUFTLEdBQUc7UUFDcEM7a0JBQ0Q7Ozs7OztBQUlMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy9yNDIvUjQyQnV0dG9uLnRzeD83MWM5Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5pbnRlcmZhY2UgUjQyQnV0dG9uUHJvcHMge1xuICBvbkNsaWNrOiAoKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSNDJCdXR0b24oeyBvbkNsaWNrIH06IFI0MkJ1dHRvblByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPGJ1dHRvblxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIGFyaWEtbGFiZWw9XCJPcGVuIFI0MiBhc3Npc3RhbnRcIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgIGJvdHRvbTogJ2NhbGModmFyKC0tbmF2LWhlaWdodCkgKyAxNnB4KScsXG4gICAgICAgIHJpZ2h0OiAnMTZweCcsXG4gICAgICAgIHdpZHRoOiAndmFyKC0tcjQyLXNpemUpJyxcbiAgICAgICAgaGVpZ2h0OiAndmFyKC0tcjQyLXNpemUpJyxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAnNTAlJyxcbiAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWFjY2VudCknLFxuICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgYm94U2hhZG93OiAndmFyKC0tc2hhZG93LXBpbGwpJyxcbiAgICAgICAgekluZGV4OiAyMDAsXG4gICAgICAgIHRyYW5zaXRpb246ICd0cmFuc2Zvcm0gMTUwbXMsIGJveC1zaGFkb3cgMTUwbXMnLFxuICAgICAgICBjb2xvcjogJ3ZhcigtLXBhcGVyKScsXG4gICAgICAgIGZvbnRTaXplOiAnMjJweCcsXG4gICAgICB9fVxuICAgICAgb25Nb3VzZUVudGVyPXsoZSkgPT4ge1xuICAgICAgICBlLmN1cnJlbnRUYXJnZXQuc3R5bGUudHJhbnNmb3JtID0gJ3NjYWxlKDEuMDgpJ1xuICAgICAgfX1cbiAgICAgIG9uTW91c2VMZWF2ZT17KGUpID0+IHtcbiAgICAgICAgZS5jdXJyZW50VGFyZ2V0LnN0eWxlLnRyYW5zZm9ybSA9ICdzY2FsZSgxKSdcbiAgICAgIH19XG4gICAgPlxuICAgICAgUlxuICAgIDwvYnV0dG9uPlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJSNDJCdXR0b24iLCJvbkNsaWNrIiwiYnV0dG9uIiwiYXJpYS1sYWJlbCIsInN0eWxlIiwicG9zaXRpb24iLCJib3R0b20iLCJyaWdodCIsIndpZHRoIiwiaGVpZ2h0IiwiYm9yZGVyUmFkaXVzIiwiYmFja2dyb3VuZCIsImJvcmRlciIsImN1cnNvciIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJib3hTaGFkb3ciLCJ6SW5kZXgiLCJ0cmFuc2l0aW9uIiwiY29sb3IiLCJmb250U2l6ZSIsIm9uTW91c2VFbnRlciIsImUiLCJjdXJyZW50VGFyZ2V0IiwidHJhbnNmb3JtIiwib25Nb3VzZUxlYXZlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/r42/R42Button.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/r42/R42Drawer.tsx": +/*!******************************************!*\ + !*** ./src/components/r42/R42Drawer.tsx ***! + \******************************************/ +/***/ ((__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 */ R42Drawer: () => (/* binding */ R42Drawer)\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 _components_ui_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ R42Drawer auto */ \n\n\nconst CHAT_URL = \"http://localhost:3004\" ?? 0;\nfunction R42Drawer({ open, onClose, userId }) {\n const [messages, setMessages] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [input, setInput] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [streaming, setStreaming] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const bottomRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const abortRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (open) {\n bottomRef.current?.scrollIntoView({\n behavior: \"smooth\"\n });\n }\n }, [\n messages,\n open\n ]);\n const handleClose = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n abortRef.current?.abort();\n onClose();\n }, [\n onClose\n ]);\n async function sendMessage() {\n const text = input.trim();\n if (!text || streaming) return;\n setInput(\"\");\n setError(null);\n const userMsg = {\n role: \"user\",\n text\n };\n setMessages((prev)=>[\n ...prev,\n userMsg\n ]);\n const ctrl = new AbortController();\n abortRef.current = ctrl;\n setStreaming(true);\n let assistantText = \"\";\n let citations = [];\n let outOfScope = false;\n setMessages((prev)=>[\n ...prev,\n {\n role: \"assistant\",\n text: \"\"\n }\n ]);\n try {\n const res = await fetch(`${CHAT_URL}/chat`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n userId,\n message: text\n }),\n signal: ctrl.signal\n });\n if (!res.ok) {\n throw new Error(`Chat service error: ${res.status}`);\n }\n const reader = res.body?.getReader();\n if (!reader) throw new Error(\"No response body\");\n const decoder = new TextDecoder();\n let buffer = \"\";\n while(true){\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, {\n stream: true\n });\n const lines = buffer.split(\"\\n\");\n buffer = lines.pop() ?? \"\";\n for (const line of lines){\n if (!line.startsWith(\"data: \")) continue;\n const raw = line.slice(6).trim();\n if (raw === \"[DONE]\") continue;\n try {\n const event = JSON.parse(raw);\n if (event.type === \"chunk\") {\n assistantText += event.text;\n setMessages((prev)=>{\n const copy = [\n ...prev\n ];\n copy[copy.length - 1] = {\n role: \"assistant\",\n text: assistantText\n };\n return copy;\n });\n } else if (event.type === \"citations\") {\n citations = event.topics;\n } else if (event.type === \"out_of_scope\") {\n outOfScope = true;\n assistantText = event.text;\n setMessages((prev)=>{\n const copy = [\n ...prev\n ];\n copy[copy.length - 1] = {\n role: \"assistant\",\n text: assistantText,\n outOfScope: true\n };\n return copy;\n });\n } else if (event.type === \"done\") {\n setMessages((prev)=>{\n const copy = [\n ...prev\n ];\n copy[copy.length - 1] = {\n role: \"assistant\",\n text: assistantText,\n citations: citations.length > 0 ? citations : undefined,\n outOfScope\n };\n return copy;\n });\n }\n } catch {\n // skip malformed SSE lines\n }\n }\n }\n } catch (err) {\n if (err.name === \"AbortError\") return;\n setError(err instanceof Error ? err.message : \"Failed to send message\");\n setMessages((prev)=>prev.slice(0, -1));\n } finally{\n setStreaming(false);\n }\n }\n function handleKeyDown(e) {\n if (e.key === \"Enter\" && !e.shiftKey) {\n e.preventDefault();\n void sendMessage();\n }\n }\n if (!open) return null;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n onClick: handleClose,\n style: {\n position: \"fixed\",\n inset: 0,\n background: \"rgba(0,0,0,0.35)\",\n zIndex: 300\n },\n \"aria-hidden\": \"true\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 152,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n role: \"dialog\",\n \"aria-label\": \"R42 Assistant\",\n style: {\n position: \"fixed\",\n bottom: 0,\n left: 0,\n right: 0,\n top: \"auto\",\n maxHeight: \"85dvh\",\n background: \"var(--bg)\",\n borderTopLeftRadius: \"var(--r-xl)\",\n borderTopRightRadius: \"var(--r-xl)\",\n boxShadow: \"0 -8px 40px rgba(0,0,0,0.18)\",\n zIndex: 301,\n display: \"flex\",\n flexDirection: \"column\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n padding: \"var(--s-4) var(--s-5)\",\n borderBottom: \"1px solid var(--cream)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n flexShrink: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-3)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n width: \"32px\",\n height: \"32px\",\n borderRadius: \"50%\",\n background: \"var(--accent)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n color: \"var(--paper)\",\n fontWeight: 700,\n fontSize: \"var(--t-small)\"\n },\n children: \"R\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 196,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontWeight: 600,\n fontSize: \"var(--t-body)\",\n color: \"var(--fg)\"\n },\n children: \"R42\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 212,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 195,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: handleClose,\n \"aria-label\": \"Close R42\",\n style: {\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n color: \"var(--fg-muted)\",\n fontSize: \"24px\",\n lineHeight: 1,\n padding: \"var(--s-1)\",\n minWidth: \"44px\",\n minHeight: \"44px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n children: \"\\xd7\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 216,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 185,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n flex: 1,\n overflowY: \"auto\",\n padding: \"var(--s-4) var(--s-5)\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: [\n messages.length === 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n textAlign: \"center\",\n color: \"var(--fg-muted)\",\n fontSize: \"var(--t-body)\",\n marginTop: \"var(--s-6)\"\n },\n children: \"Ask R42 anything about the knowledge base.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 250,\n columnNumber: 13\n }, this),\n messages.map((msg, idx)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: msg.role === \"user\" ? \"flex-end\" : \"flex-start\",\n gap: \"var(--s-2)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n maxWidth: \"85%\",\n background: msg.role === \"user\" ? \"var(--accent)\" : \"var(--bg-warm)\",\n color: msg.role === \"user\" ? \"var(--paper)\" : \"var(--fg)\",\n borderRadius: msg.role === \"user\" ? \"var(--r-md) var(--r-md) var(--r-sm) var(--r-md)\" : \"var(--r-md) var(--r-md) var(--r-md) var(--r-sm)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-body)\",\n lineHeight: 1.6,\n opacity: msg.outOfScope ? 0.75 : 1\n },\n children: msg.text || (msg.role === \"assistant\" && streaming && idx === messages.length - 1 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(StreamingDots, {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 288,\n columnNumber: 19\n }, this) : null)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 272,\n columnNumber: 15\n }, this),\n msg.citations && msg.citations.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: \"var(--s-2)\",\n maxWidth: \"85%\"\n },\n children: msg.citations.map((c)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n display: \"inline-block\",\n background: \"var(--accent-soft)\",\n color: \"var(--teal-900)\",\n borderRadius: \"var(--r-pill)\",\n fontSize: \"var(--t-small)\",\n padding: \"2px var(--s-3)\"\n },\n children: c.title\n }, c.id, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 294,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 292,\n columnNumber: 17\n }, this)\n ]\n }, idx, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 263,\n columnNumber: 13\n }, this)),\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n color: \"#c0392b\",\n fontSize: \"var(--t-small)\",\n padding: \"var(--s-2) var(--s-4)\",\n background: \"#f8d7da\",\n borderRadius: \"var(--r-sm)\"\n },\n children: error\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 314,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: bottomRef\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 326,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 239,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n padding: \"var(--s-3) var(--s-5) var(--s-5)\",\n borderTop: \"1px solid var(--cream)\",\n display: \"flex\",\n gap: \"var(--s-2)\",\n alignItems: \"flex-end\",\n flexShrink: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"textarea\", {\n value: input,\n onChange: (e)=>setInput(e.target.value),\n onKeyDown: handleKeyDown,\n placeholder: \"Ask anything…\",\n rows: 1,\n disabled: streaming,\n style: {\n flex: 1,\n borderRadius: \"var(--r-md)\",\n border: \"1.5px solid var(--cream)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-body)\",\n fontFamily: \"var(--font-sans)\",\n color: \"var(--fg)\",\n background: \"var(--bg)\",\n resize: \"none\",\n outline: \"none\",\n lineHeight: 1.5,\n minHeight: \"44px\",\n maxHeight: \"120px\",\n overflowY: \"auto\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 340,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"primary\",\n size: \"md\",\n onClick: ()=>void sendMessage(),\n loading: streaming,\n disabled: !input.trim() || streaming,\n style: {\n flexShrink: 0,\n minWidth: \"44px\",\n minHeight: \"44px\"\n },\n children: streaming ? \"\" : \"↑\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 364,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 330,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 164,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"style\", {\n children: `\n @media (min-width: 768px) {\n [role=\"dialog\"][aria-label=\"R42 Assistant\"] {\n right: 0;\n left: auto;\n top: 0;\n bottom: 0;\n max-height: 100dvh;\n width: 400px;\n border-radius: var(--r-lg) 0 0 var(--r-lg);\n }\n }\n `\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 377,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n}\nfunction StreamingDots() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n display: \"inline-flex\",\n gap: \"4px\",\n alignItems: \"center\"\n },\n children: [\n [\n 0,\n 1,\n 2\n ].map((i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n width: \"6px\",\n height: \"6px\",\n borderRadius: \"50%\",\n background: \"var(--fg-muted)\",\n animation: `bounce 1s ${i * 0.15}s infinite`\n }\n }, i, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 398,\n columnNumber: 9\n }, this)),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"style\", {\n children: `\n @keyframes bounce {\n 0%, 80%, 100% { transform: scale(0.7); opacity: 0.5; }\n 40% { transform: scale(1); opacity: 1; }\n }\n `\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 409,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 396,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9yNDIvUjQyRHJhd2VyLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQ3VFO0FBRXhCO0FBb0IvQyxNQUFNTSxXQUFXQyx1QkFBZ0MsSUFBSTtBQUU5QyxTQUFTRyxVQUFVLEVBQUVDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQWtCO0lBQ2pFLE1BQU0sQ0FBQ0MsVUFBVUMsWUFBWSxHQUFHZCwrQ0FBUUEsQ0FBWSxFQUFFO0lBQ3RELE1BQU0sQ0FBQ2UsT0FBT0MsU0FBUyxHQUFHaEIsK0NBQVFBLENBQUM7SUFDbkMsTUFBTSxDQUFDaUIsV0FBV0MsYUFBYSxHQUFHbEIsK0NBQVFBLENBQUM7SUFDM0MsTUFBTSxDQUFDbUIsT0FBT0MsU0FBUyxHQUFHcEIsK0NBQVFBLENBQWdCO0lBQ2xELE1BQU1xQixZQUFZcEIsNkNBQU1BLENBQWlCO0lBQ3pDLE1BQU1xQixXQUFXckIsNkNBQU1BLENBQXlCO0lBRWhEQyxnREFBU0EsQ0FBQztRQUNSLElBQUlRLE1BQU07WUFDUlcsVUFBVUUsT0FBTyxFQUFFQyxlQUFlO2dCQUFFQyxVQUFVO1lBQVM7UUFDekQ7SUFDRixHQUFHO1FBQUNaO1FBQVVIO0tBQUs7SUFFbkIsTUFBTWdCLGNBQWN2QixrREFBV0EsQ0FBQztRQUM5Qm1CLFNBQVNDLE9BQU8sRUFBRUk7UUFDbEJoQjtJQUNGLEdBQUc7UUFBQ0E7S0FBUTtJQUVaLGVBQWVpQjtRQUNiLE1BQU1DLE9BQU9kLE1BQU1lLElBQUk7UUFDdkIsSUFBSSxDQUFDRCxRQUFRWixXQUFXO1FBRXhCRCxTQUFTO1FBQ1RJLFNBQVM7UUFDVCxNQUFNVyxVQUFtQjtZQUFFQyxNQUFNO1lBQVFIO1FBQUs7UUFDOUNmLFlBQVksQ0FBQ21CLE9BQVM7bUJBQUlBO2dCQUFNRjthQUFRO1FBRXhDLE1BQU1HLE9BQU8sSUFBSUM7UUFDakJiLFNBQVNDLE9BQU8sR0FBR1c7UUFDbkJoQixhQUFhO1FBRWIsSUFBSWtCLGdCQUFnQjtRQUNw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ZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2NvbXBvbmVudHMvcjQyL1I0MkRyYXdlci50c3g/NDA4YSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IFI0MlNTRUV2ZW50IH0gZnJvbSAnQC90eXBlcydcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy91aS9CdXR0b24nXG5cbmludGVyZmFjZSBDaXRhdGlvblRvcGljIHtcbiAgaWQ6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nXG59XG5cbmludGVyZmFjZSBNZXNzYWdlIHtcbiAgcm9sZTogJ3VzZXInIHwgJ2Fzc2lzdGFudCdcbiAgdGV4dDogc3RyaW5nXG4gIGNpdGF0aW9ucz86IENpdGF0aW9uVG9waWNbXVxuICBvdXRPZlNjb3BlPzogYm9vbGVhblxufVxuXG5pbnRlcmZhY2UgUjQyRHJhd2VyUHJvcHMge1xuICBvcGVuOiBib29sZWFuXG4gIG9uQ2xvc2U6ICgpID0+IHZvaWRcbiAgdXNlcklkOiBzdHJpbmdcbn1cblxuY29uc3QgQ0hBVF9VUkwgPSBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19DSEFUX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDA0J1xuXG5leHBvcnQgZnVuY3Rpb24gUjQyRHJhd2VyKHsgb3Blbiwgb25DbG9zZSwgdXNlcklkIH06IFI0MkRyYXdlclByb3BzKSB7XG4gIGNvbnN0IFttZXNzYWdlcywgc2V0TWVzc2FnZXNdID0gdXNlU3RhdGU8TWVzc2FnZVtdPihbXSlcbiAgY29uc3QgW2lucHV0LCBzZXRJbnB1dF0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3QgW3N0cmVhbWluZywgc2V0U3RyZWFtaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGJvdHRvbVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgYWJvcnRSZWYgPSB1c2VSZWY8QWJvcnRDb250cm9sbGVyIHwgbnVsbD4obnVsbClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcGVuKSB7XG4gICAgICBib3R0b21SZWYuY3VycmVudD8uc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSlcbiAgICB9XG4gIH0sIFttZXNzYWdlcywgb3Blbl0pXG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgYWJvcnRSZWYuY3VycmVudD8uYWJvcnQoKVxuICAgIG9uQ2xvc2UoKVxuICB9LCBbb25DbG9zZV0pXG5cbiAgYXN5bmMgZnVuY3Rpb24gc2VuZE1lc3NhZ2UoKSB7XG4gICAgY29uc3QgdGV4dCA9IGlucHV0LnRyaW0oKVxuICAgIGlmICghdGV4dCB8fCBzdHJlYW1pbmcpIHJldHVyblxuXG4gICAgc2V0SW5wdXQoJycpXG4gICAgc2V0RXJyb3IobnVsbClcbiAgICBjb25zdCB1c2VyTXNnOiBNZXNzYWdlID0geyByb2xlOiAndXNlcicsIHRleHQgfVxuICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiBbLi4ucHJldiwgdXNlck1zZ10pXG5cbiAgICBjb25zdCBjdHJsID0gbmV3IEFib3J0Q29udHJvbGxlcigpXG4gICAgYWJvcnRSZWYuY3VycmVudCA9IGN0cmxcbiAgICBzZXRTdHJlYW1pbmcodHJ1ZSlcblxuICAgIGxldCBhc3Npc3RhbnRUZXh0ID0gJydcbiAgICBsZXQgY2l0YXRpb25zOiBDaXRhdGlvblRvcGljW10gPSBbXVxuICAgIGxldCBvdXRPZlNjb3BlID0gZmFsc2VcblxuICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiBbLi4ucHJldiwgeyByb2xlOiAnYXNzaXN0YW50JywgdGV4dDogJycgfV0pXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYCR7Q0hBVF9VUkx9L2NoYXRgLCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyB1c2VySWQsIG1lc3NhZ2U6IHRleHQgfSksXG4gICAgICAgIHNpZ25hbDogY3RybC5zaWduYWwsXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENoYXQgc2VydmljZSBlcnJvcjogJHtyZXMuc3RhdHVzfWApXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlYWRlciA9IHJlcy5ib2R5Py5nZXRSZWFkZXIoKVxuICAgICAgaWYgKCFyZWFkZXIpIHRocm93IG5ldyBFcnJvcignTm8gcmVzcG9uc2UgYm9keScpXG5cbiAgICAgIGNvbnN0IGRlY29kZXIgPSBuZXcgVGV4dERlY29kZXIoKVxuICAgICAgbGV0IGJ1ZmZlciA9ICcnXG5cbiAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIGNvbnN0IHsgZG9uZSwgdmFsdWUgfSA9IGF3YWl0IHJlYWRlci5yZWFkKClcbiAgICAgICAgaWYgKGRvbmUpIGJyZWFrXG5cbiAgICAgICAgYnVmZmVyICs9IGRlY29kZXIuZGVjb2RlKHZhbHVlLCB7IHN0cmVhbTogdHJ1ZSB9KVxuICAgICAgICBjb25zdCBsaW5lcyA9IGJ1ZmZlci5zcGxpdCgnXFxuJylcbiAgICAgICAgYnVmZmVyID0gbGluZXMucG9wKCkgPz8gJydcblxuICAgICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZXMpIHtcbiAgICAgICAgICBpZiAoIWxpbmUuc3RhcnRzV2l0aCgnZGF0YTogJykpIGNvbnRpbnVlXG4gICAgICAgICAgY29uc3QgcmF3ID0gbGluZS5zbGljZSg2KS50cmltKClcbiAgICAgICAgICBpZiAocmF3ID09PSAnW0RPTkVdJykgY29udGludWVcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBldmVudCA9IEpTT04ucGFyc2UocmF3KSBhcyBSNDJTU0VFdmVudFxuICAgICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjaHVuaycpIHtcbiAgICAgICAgICAgICAgYXNzaXN0YW50VGV4dCArPSBldmVudC50ZXh0XG4gICAgICAgICAgICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29weSA9IFsuLi5wcmV2XVxuICAgICAgICAgICAgICAgIGNvcHlbY29weS5sZW5ndGggLSAxXSA9IHsgcm9sZTogJ2Fzc2lzdGFudCcsIHRleHQ6IGFzc2lzdGFudFRleHQgfVxuICAgICAgICAgICAgICAgIHJldHVybiBjb3B5XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnR5cGUgPT09ICdjaXRhdGlvbnMnKSB7XG4gICAgICAgICAgICAgIGNpdGF0aW9ucyA9IGV2ZW50LnRvcGljc1xuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSAnb3V0X29mX3Njb3BlJykge1xuICAgICAgICAgICAgICBvdXRPZlNjb3BlID0gdHJ1ZVxuICAgICAgICAgICAgICBhc3Npc3RhbnRUZXh0ID0gZXZlbnQudGV4dFxuICAgICAgICAgICAgICBzZXRNZXNzYWdlcygocHJldikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvcHkgPSBbLi4ucHJldl1cbiAgICAgICAgICAgICAgICBjb3B5W2NvcHkubGVuZ3RoIC0gMV0gPSB7IHJvbGU6ICdhc3Npc3RhbnQnLCB0ZXh0OiBhc3Npc3RhbnRUZXh0LCBvdXRPZlNjb3BlOiB0cnVlIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gY29weVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSAnZG9uZScpIHtcbiAgICAgICAgICAgICAgc2V0TWVzc2FnZXMoKHByZXYpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb3B5ID0gWy4uLnByZXZdXG4gICAgICAgICAgICAgICAgY29weVtjb3B5Lmxlbmd0aCAtIDFdID0ge1xuICAgICAgICAgICAgICAgICAgcm9sZTogJ2Fzc2lzdGFudCcsXG4gICAgICAgICAgICAgICAgICB0ZXh0OiBhc3Npc3RhbnRUZXh0LFxuICAgICAgICAgICAgICAgICAgY2l0YXRpb25zOiBjaXRhdGlvbnMubGVuZ3RoID4gMCA/IGNpdGF0aW9ucyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIG91dE9mU2NvcGUsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBjb3B5XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAvLyBza2lwIG1hbGZvcm1lZCBTU0UgbGluZXNcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGlmICgoZXJyIGFzIEVycm9yKS5uYW1lID09PSAnQWJvcnRFcnJvcicpIHJldHVyblxuICAgICAgc2V0RXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdGYWlsZWQgdG8gc2VuZCBtZXNzYWdlJylcbiAgICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiBwcmV2LnNsaWNlKDAsIC0xKSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0U3RyZWFtaW5nKGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUtleURvd24oZTogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50Pikge1xuICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJyAmJiAhZS5zaGlmdEtleSkge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB2b2lkIHNlbmRNZXNzYWdlKClcbiAgICB9XG4gIH1cblxuICBpZiAoIW9wZW4pIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgey8qIEJhY2tkcm9wICovfVxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgICAgICBpbnNldDogMCxcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAncmdiYSgwLDAsMCwwLjM1KScsXG4gICAgICAgICAgekluZGV4OiAzMDAsXG4gICAgICAgIH19XG4gICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAvPlxuXG4gICAgICB7LyogUGFuZWwgKi99XG4gICAgICA8ZGl2XG4gICAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiUjQyIEFzc2lzdGFudFwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgYm90dG9tOiAwLFxuICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgdG9wOiAnYXV0bycsXG4gICAgICAgICAgbWF4SGVpZ2h0OiAnODVkdmgnLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZyknLFxuICAgICAgICAgIGJvcmRlclRvcExlZnRSYWRpdXM6ICd2YXIoLS1yLXhsKScsXG4gICAgICAgICAgYm9yZGVyVG9wUmlnaHRSYWRpdXM6ICd2YXIoLS1yLXhsKScsXG4gICAgICAgICAgYm94U2hhZG93OiAnMCAtOHB4IDQwcHggcmdiYSgwLDAsMCwwLjE4KScsXG4gICAgICAgICAgekluZGV4OiAzMDEsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgIC8vIERlc2t0b3A6IHNpZGUgcGFuZWxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgey8qIEhlYWRlciAqL31cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy00KSB2YXIoLS1zLTUpJyxcbiAgICAgICAgICAgIGJvcmRlckJvdHRvbTogJzFweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICd2YXIoLS1zLTMpJyB9fT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICB3aWR0aDogJzMycHgnLFxuICAgICAgICAgICAgICAgIGhlaWdodDogJzMycHgnLFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWFjY2VudCknLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDcwMCxcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgUlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250V2VpZ2h0OiA2MDAsIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsIGNvbG9yOiAndmFyKC0tZmcpJyB9fT5cbiAgICAgICAgICAgICAgUjQyXG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2UgUjQyXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICdub25lJyxcbiAgICAgICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgICAgIGZvbnRTaXplOiAnMjRweCcsXG4gICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTEpJyxcbiAgICAgICAgICAgICAgbWluV2lkdGg6ICc0NHB4JyxcbiAgICAgICAgICAgICAgbWluSGVpZ2h0OiAnNDRweCcsXG4gICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgw5dcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIE1lc3NhZ2VzICovfVxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICBvdmVyZmxvd1k6ICdhdXRvJyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTQpIHZhcigtLXMtNSknLFxuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTQpJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge21lc3NhZ2VzLmxlbmd0aCA9PT0gMCAmJiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6ICd2YXIoLS1zLTYpJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQXNrIFI0MiBhbnl0aGluZyBhYm91dCB0aGUga25vd2xlZGdlIGJhc2UuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge21lc3NhZ2VzLm1hcCgobXNnLCBpZHgpID0+IChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAga2V5PXtpZHh9XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6IG1zZy5yb2xlID09PSAndXNlcicgPyAnZmxleC1lbmQnIDogJ2ZsZXgtc3RhcnQnLFxuICAgICAgICAgICAgICAgIGdhcDogJ3ZhcigtLXMtMiknLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIG1heFdpZHRoOiAnODUlJyxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1zZy5yb2xlID09PSAndXNlcicgPyAndmFyKC0tYWNjZW50KScgOiAndmFyKC0tYmctd2FybSknLFxuICAgICAgICAgICAgICAgICAgY29sb3I6IG1zZy5yb2xlID09PSAndXNlcicgPyAndmFyKC0tcGFwZXIpJyA6ICd2YXIoLS1mZyknLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOlxuICAgICAgICAgICAgICAgICAgICBtc2cucm9sZSA9PT0gJ3VzZXInXG4gICAgICAgICAgICAgICAgICAgICAgPyAndmFyKC0tci1tZCkgdmFyKC0tci1tZCkgdmFyKC0tci1zbSkgdmFyKC0tci1tZCknXG4gICAgICAgICAgICAgICAgICAgICAgOiAndmFyKC0tci1tZCkgdmFyKC0tci1tZCkgdmFyKC0tci1tZCkgdmFyKC0tci1zbSknLFxuICAgICAgICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtMykgdmFyKC0tcy00KScsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogMS42LFxuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogbXNnLm91dE9mU2NvcGUgPyAwLjc1IDogMSxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge21zZy50ZXh0IHx8IChtc2cucm9sZSA9PT0gJ2Fzc2lzdGFudCcgJiYgc3RyZWFtaW5nICYmIGlkeCA9PT0gbWVzc2FnZXMubGVuZ3RoIC0gMSA/IChcbiAgICAgICAgICAgICAgICAgIDxTdHJlYW1pbmdEb3RzIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGwpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAge21zZy5jaXRhdGlvbnMgJiYgbXNnLmNpdGF0aW9ucy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleFdyYXA6ICd3cmFwJywgZ2FwOiAndmFyKC0tcy0yKScsIG1heFdpZHRoOiAnODUlJyB9fT5cbiAgICAgICAgICAgICAgICAgIHttc2cuY2l0YXRpb25zLm1hcCgoYykgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgIGtleT17Yy5pZH1cbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYWNjZW50LXNvZnQpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tdGVhbC05MDApJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJ3ZhcigtLXItcGlsbCknLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LXNtYWxsKScsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAnMnB4IHZhcigtLXMtMyknLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7Yy50aXRsZX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApKX1cblxuICAgICAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgY29sb3I6ICcjYzAzOTJiJyxcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTQpJyxcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2Y4ZDdkYScsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1zbSknLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7ZXJyb3J9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxkaXYgcmVmPXtib3R0b21SZWZ9IC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBJbnB1dCAqL31cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTUpIHZhcigtLXMtNSknLFxuICAgICAgICAgICAgYm9yZGVyVG9wOiAnMXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTIpJyxcbiAgICAgICAgICAgIGFsaWduSXRlbXM6ICdmbGV4LWVuZCcsXG4gICAgICAgICAgICBmbGV4U2hyaW5rOiAwLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIHZhbHVlPXtpbnB1dH1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0SW5wdXQoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJBc2sgYW55dGhpbmfigKZcIlxuICAgICAgICAgICAgcm93cz17MX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtzdHJlYW1pbmd9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLW1kKScsXG4gICAgICAgICAgICAgIGJvcmRlcjogJzEuNXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTMpIHZhcigtLXMtNCknLFxuICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1zYW5zKScsXG4gICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnKScsXG4gICAgICAgICAgICAgIHJlc2l6ZTogJ25vbmUnLFxuICAgICAgICAgICAgICBvdXRsaW5lOiAnbm9uZScsXG4gICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNSxcbiAgICAgICAgICAgICAgbWluSGVpZ2h0OiAnNDRweCcsXG4gICAgICAgICAgICAgIG1heEhlaWdodDogJzEyMHB4JyxcbiAgICAgICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgICAgc2l6ZT1cIm1kXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHZvaWQgc2VuZE1lc3NhZ2UoKX1cbiAgICAgICAgICAgIGxvYWRpbmc9e3N0cmVhbWluZ31cbiAgICAgICAgICAgIGRpc2FibGVkPXshaW5wdXQudHJpbSgpIHx8IHN0cmVhbWluZ31cbiAgICAgICAgICAgIHN0eWxlPXt7IGZsZXhTaHJpbms6IDAsIG1pbldpZHRoOiAnNDRweCcsIG1pbkhlaWdodDogJzQ0cHgnIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3N0cmVhbWluZyA/ICcnIDogJ+KGkSd9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxzdHlsZT57YFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICBbcm9sZT1cImRpYWxvZ1wiXVthcmlhLWxhYmVsPVwiUjQyIEFzc2lzdGFudFwiXSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBkdmg7XG4gICAgICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLWxnKSAwIDAgdmFyKC0tci1sZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBgfTwvc3R5bGU+XG4gICAgPC8+XG4gIClcbn1cblxuZnVuY3Rpb24gU3RyZWFtaW5nRG90cygpIHtcbiAgcmV0dXJuIChcbiAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLCBnYXA6ICc0cHgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJyB9fT5cbiAgICAgIHtbMCwgMSwgMl0ubWFwKChpKSA9PiAoXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAga2V5PXtpfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICB3aWR0aDogJzZweCcsXG4gICAgICAgICAgICBoZWlnaHQ6ICc2cHgnLFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNTAlJyxcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1mZy1tdXRlZCknLFxuICAgICAgICAgICAgYW5pbWF0aW9uOiBgYm91bmNlIDFzICR7aSAqIDAuMTV9cyBpbmZpbml0ZWAsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICkpfVxuICAgICAgPHN0eWxlPntgXG4gICAgICAgIEBrZXlmcmFtZXMgYm91bmNlIHtcbiAgICAgICAgICAwJSwgODAlLCAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyBvcGFjaXR5OiAwLjU7IH1cbiAgICAgICAgICA0MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAxOyB9XG4gICAgICAgIH1cbiAgICAgIGB9PC9zdHlsZT5cbiAgICA8L3NwYW4+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlUmVmIiwidXNlRWZmZWN0IiwidXNlQ2FsbGJhY2siLCJCdXR0b24iLCJDSEFUX1VSTCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19DSEFUX1VSTCIsIlI0MkRyYXdlciIsIm9wZW4iLCJvbkNsb3NlIiwidXNlcklkIiwibWVzc2FnZXMiLCJzZXRNZXNzYWdlcyIsImlucHV0Iiwic2V0SW5wdXQiLCJzdHJlYW1pbmciLCJzZXRTdHJlYW1pbmciLCJlcnJvciIsInNldEVycm9yIiwiYm90dG9tUmVmIiwiYWJvcnRSZWYiLCJjdXJyZW50Iiwic2Nyb2xsSW50b1ZpZXciLCJiZWhhdmlvciIsImhhbmRsZUNsb3NlIiwiYWJvcnQiLCJzZW5kTWVzc2FnZSIsInRleHQiLCJ0cmltIiwidXNlck1zZyIsInJvbGUiLCJwcmV2IiwiY3RybCIsIkFib3J0Q29udHJvbGxlciIsImFzc2lzdGFudFRleHQiLCJjaXRhdGlvbnMiLCJvdXRPZlNjb3BlIiwicmVzIiwiZmV0Y2giLCJtZXRob2QiLCJoZWFkZXJzIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJtZXNzYWdlIiwic2lnbmFsIiwib2siLCJFcnJvciIsInN0YXR1cyIsInJlYWRlciIsImdldFJlYWRlciIsImRlY29kZXIiLCJUZXh0RGVjb2RlciIsImJ1ZmZlciIsImRvbmUiLCJ2YWx1ZSIsInJlYWQiLCJkZWNvZGUiLCJzdHJlYW0iLCJsaW5lcyIsInNwbGl0IiwicG9wIiwibGluZSIsInN0YXJ0c1dpdGgiLCJyYXciLCJzbGljZSIsImV2ZW50IiwicGFyc2UiLCJ0eXBlIiwiY29weSIsImxlbmd0aCIsInRvcGljcyIsInVuZGVmaW5lZCIsImVyciIsIm5hbWUiLCJoYW5kbGVLZXlEb3duIiwiZSIsImtleSIsInNoaWZ0S2V5IiwicHJldmVudERlZmF1bHQiLCJkaXYiLCJvbkNsaWNrIiwic3R5bGUiLCJwb3NpdGlvbiIsImluc2V0IiwiYmFja2dyb3VuZCIsInpJbmRleCIsImFyaWEtaGlkZGVuIiwiYXJpYS1sYWJlbCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsInRvcCIsIm1heEhlaWdodCIsImJvcmRlclRvcExlZnRSYWRpdXMiLCJib3JkZXJUb3BSaWdodFJhZGl1cyIsImJveFNoYWRvdyIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwicGFkZGluZyIsImJvcmRlckJvdHRvbSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImZsZXhTaHJpbmsiLCJnYXAiLCJ3aWR0aCIsImhlaWdodCIsImJvcmRlclJhZGl1cyIsImNvbG9yIiwiZm9udFdlaWdodCIsImZvbnRTaXplIiwic3BhbiIsImJ1dHRvbiIsImJvcmRlciIsImN1cnNvciIsImxpbmVIZWlnaHQiLCJtaW5XaWR0aCIsIm1pbkhlaWdodCIsImZsZXgiLCJvdmVyZmxvd1kiLCJ0ZXh0QWxpZ24iLCJtYXJnaW5Ub3AiLCJtYXAiLCJtc2ciLCJpZHgiLCJtYXhXaWR0aCIsIm9wYWNpdHkiLCJTdHJlYW1pbmdEb3RzIiwiZmxleFdyYXAiLCJjIiwidGl0bGUiLCJpZCIsInJlZiIsImJvcmRlclRvcCIsInRleHRhcmVhIiwib25DaGFuZ2UiLCJ0YXJnZXQiLCJvbktleURvd24iLCJwbGFjZWhvbGRlciIsInJvd3MiLCJkaXNhYmxlZCIsImZvbnRGYW1pbHkiLCJyZXNpemUiLCJvdXRsaW5lIiwidmFyaWFudCIsInNpemUiLCJsb2FkaW5nIiwiaSIsImFuaW1hdGlvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/r42/R42Drawer.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/Button.tsx": +/*!**************************************!*\ + !*** ./src/components/ui/Button.tsx ***! + \**************************************/ +/***/ ((__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 */ Button: () => (/* binding */ Button)\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/* __next_internal_client_entry_do_not_use__ Button auto */ \n\nconst variantStyles = {\n primary: {\n background: \"var(--accent)\",\n color: \"var(--paper)\",\n border: \"none\"\n },\n secondary: {\n background: \"var(--bg-warm)\",\n color: \"var(--fg)\",\n border: \"1.5px solid var(--cream)\"\n },\n danger: {\n background: \"#c0392b\",\n color: \"var(--paper)\",\n border: \"none\"\n },\n ghost: {\n background: \"transparent\",\n color: \"var(--fg)\",\n border: \"1.5px solid var(--cream)\"\n }\n};\nconst sizeStyles = {\n sm: {\n fontSize: \"var(--t-small)\",\n padding: \"var(--s-2) var(--s-3)\",\n minHeight: \"36px\",\n borderRadius: \"var(--r-sm)\"\n },\n md: {\n fontSize: \"var(--t-body)\",\n padding: \"var(--s-2) var(--s-5)\",\n minHeight: \"44px\",\n borderRadius: \"var(--r-md)\"\n },\n lg: {\n fontSize: \"var(--t-lead)\",\n padding: \"var(--s-3) var(--s-6)\",\n minHeight: \"52px\",\n borderRadius: \"var(--r-lg)\"\n }\n};\nfunction Button({ variant = \"primary\", size = \"md\", loading = false, disabled, children, style, ...rest }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n disabled: disabled ?? loading,\n style: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"var(--s-2)\",\n fontFamily: \"var(--font-sans)\",\n fontWeight: 500,\n cursor: disabled ?? loading ? \"not-allowed\" : \"pointer\",\n opacity: disabled ?? loading ? 0.6 : 1,\n transition: \"opacity 150ms, transform 100ms\",\n ...variantStyles[variant],\n ...sizeStyles[size],\n ...style\n },\n ...rest,\n children: loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Spinner, {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 88,\n columnNumber: 11\n }, this),\n children\n ]\n }, void 0, true) : children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 68,\n columnNumber: 5\n }, this);\n}\nfunction Spinner() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n width: \"16px\",\n height: \"16px\",\n border: \"2px solid currentColor\",\n borderTopColor: \"transparent\",\n borderRadius: \"50%\",\n display: \"inline-block\",\n animation: \"spin 0.7s linear infinite\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 100,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9CdXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUN5QjtBQVl6QixNQUFNQyxnQkFBNEQ7SUFDaEVDLFNBQVM7UUFDUEMsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtJQUNBQyxXQUFXO1FBQ1RILFlBQVk7UUFDWkMsT0FBTztRQUNQQyxRQUFRO0lBQ1Y7SUFDQUUsUUFBUTtRQUNOSixZQUFZO1FBQ1pDLE9BQU87UUFDUEMsUUFBUTtJQUNWO0lBQ0FHLE9BQU87UUFDTEwsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtBQUNGO0FBRUEsTUFBTUksYUFBc0Q7SUFDMURDLElBQUk7UUFDRkMsVUFBVTtRQUNWQyxTQUFTO1FBQ1RDLFdBQVc7UUFDWEMsY0FBYztJQUNoQjtJQUNBQyxJQUFJO1FBQ0ZKLFVBQVU7UUFDVkMsU0FBUztRQUNUQyxXQUFXO1FBQ1hDLGNBQWM7SUFDaEI7SUFDQUUsSUFBSTtRQUNGTCxVQUFVO1FBQ1ZDLFNBQVM7UUFDVEMsV0FBVztRQUNYQyxjQUFjO0lBQ2hCO0FBQ0Y7QUFFTyxTQUFTRyxPQUFPLEVBQ3JCQyxVQUFVLFNBQVMsRUFDbkJDLE9BQU8sSUFBSSxFQUNYQyxVQUFVLEtBQUssRUFDZkMsUUFBUSxFQUNSQyxRQUFRLEVBQ1JDLEtBQUssRUFDTCxHQUFHQyxNQUNTO0lBQ1oscUJBQ0UsOERBQUNDO1FBQ0NKLFVBQVVBLFlBQVlEO1FBQ3RCRyxPQUFPO1lBQ0xHLFNBQVM7WUFDVEMsWUFBWTtZQUNaQyxnQkFBZ0I7WUFDaEJDLEtBQUs7WUFDTEMsWUFBWTtZQUNaQyxZQUFZO1lBQ1pDLFFBQVFYLFlBQVlELFVBQVUsZ0JBQWdCO1lBQzlDYSxTQUFTWixZQUFZRCxVQUFVLE1BQU07WUFDckNjLFlBQVk7WUFDWixHQUFHakMsYUFBYSxDQUFDaUIsUUFBUTtZQUN6QixHQUFHVCxVQUFVLENBQUNVLEtBQUs7WUFDbkIsR0FBR0ksS0FBSztRQUNWO1FBQ0MsR0FBR0MsSUFBSTtrQkFFUEosd0JBQ0M7OzhCQUNFLDhEQUFDZTs7Ozs7Z0JBQ0FiOzsyQkFHSEE7Ozs7OztBQUlSO0FBRUEsU0FBU2E7SUFDUCxxQkFDRSw4REFBQ0M7UUFDQ2IsT0FBTztZQUNMYyxPQUFPO1lBQ1BDLFFBQVE7WUFDUmpDLFFBQVE7WUFDUmtDLGdCQUFnQjtZQUNoQnpCLGNBQWM7WUFDZFksU0FBUztZQUNUYyxXQUFXO1FBQ2I7Ozs7OztBQUdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy91aS9CdXR0b24udHN4PzAxM2EiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbnR5cGUgQnV0dG9uVmFyaWFudCA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2RhbmdlcicgfCAnZ2hvc3QnXG50eXBlIEJ1dHRvblNpemUgPSAnc20nIHwgJ21kJyB8ICdsZydcblxuaW50ZXJmYWNlIEJ1dHRvblByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcbiAgdmFyaWFudD86IEJ1dHRvblZhcmlhbnRcbiAgc2l6ZT86IEJ1dHRvblNpemVcbiAgbG9hZGluZz86IGJvb2xlYW5cbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG5jb25zdCB2YXJpYW50U3R5bGVzOiBSZWNvcmQ8QnV0dG9uVmFyaWFudCwgUmVhY3QuQ1NTUHJvcGVydGllcz4gPSB7XG4gIHByaW1hcnk6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYWNjZW50KScsXG4gICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBzZWNvbmRhcnk6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctd2FybSknLFxuICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICBib3JkZXI6ICcxLjVweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICB9LFxuICBkYW5nZXI6IHtcbiAgICBiYWNrZ3JvdW5kOiAnI2MwMzkyYicsXG4gICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBnaG9zdDoge1xuICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXG4gICAgY29sb3I6ICd2YXIoLS1mZyknLFxuICAgIGJvcmRlcjogJzEuNXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gIH0sXG59XG5cbmNvbnN0IHNpemVTdHlsZXM6IFJlY29yZDxCdXR0b25TaXplLCBSZWFjdC5DU1NQcm9wZXJ0aWVzPiA9IHtcbiAgc206IHtcbiAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTMpJyxcbiAgICBtaW5IZWlnaHQ6ICczNnB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXNtKScsXG4gIH0sXG4gIG1kOiB7XG4gICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTUpJyxcbiAgICBtaW5IZWlnaHQ6ICc0NHB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLW1kKScsXG4gIH0sXG4gIGxnOiB7XG4gICAgZm9udFNpemU6ICd2YXIoLS10LWxlYWQpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTYpJyxcbiAgICBtaW5IZWlnaHQ6ICc1MnB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLWxnKScsXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b24oe1xuICB2YXJpYW50ID0gJ3ByaW1hcnknLFxuICBzaXplID0gJ21kJyxcbiAgbG9hZGluZyA9IGZhbHNlLFxuICBkaXNhYmxlZCxcbiAgY2hpbGRyZW4sXG4gIHN0eWxlLFxuICAuLi5yZXN0XG59OiBCdXR0b25Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZCA/PyBsb2FkaW5nfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgZ2FwOiAndmFyKC0tcy0yKScsXG4gICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICBjdXJzb3I6IGRpc2FibGVkID8/IGxvYWRpbmcgPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInLFxuICAgICAgICBvcGFjaXR5OiBkaXNhYmxlZCA/PyBsb2FkaW5nID8gMC42IDogMSxcbiAgICAgICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMTUwbXMsIHRyYW5zZm9ybSAxMDBtcycsXG4gICAgICAgIC4uLnZhcmlhbnRTdHlsZXNbdmFyaWFudF0sXG4gICAgICAgIC4uLnNpemVTdHlsZXNbc2l6ZV0sXG4gICAgICAgIC4uLnN0eWxlLFxuICAgICAgfX1cbiAgICAgIHsuLi5yZXN0fVxuICAgID5cbiAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxTcGlubmVyIC8+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGNoaWxkcmVuXG4gICAgICApfVxuICAgIDwvYnV0dG9uPlxuICApXG59XG5cbmZ1bmN0aW9uIFNwaW5uZXIoKSB7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHdpZHRoOiAnMTZweCcsXG4gICAgICAgIGhlaWdodDogJzE2cHgnLFxuICAgICAgICBib3JkZXI6ICcycHggc29saWQgY3VycmVudENvbG9yJyxcbiAgICAgICAgYm9yZGVyVG9wQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICBhbmltYXRpb246ICdzcGluIDAuN3MgbGluZWFyIGluZmluaXRlJyxcbiAgICAgIH19XG4gICAgLz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidmFyaWFudFN0eWxlcyIsInByaW1hcnkiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJib3JkZXIiLCJzZWNvbmRhcnkiLCJkYW5nZXIiLCJnaG9zdCIsInNpemVTdHlsZXMiLCJzbSIsImZvbnRTaXplIiwicGFkZGluZyIsIm1pbkhlaWdodCIsImJvcmRlclJhZGl1cyIsIm1kIiwibGciLCJCdXR0b24iLCJ2YXJpYW50Iiwic2l6ZSIsImxvYWRpbmciLCJkaXNhYmxlZCIsImNoaWxkcmVuIiwic3R5bGUiLCJyZXN0IiwiYnV0dG9uIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImdhcCIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiY3Vyc29yIiwib3BhY2l0eSIsInRyYW5zaXRpb24iLCJTcGlubmVyIiwic3BhbiIsIndpZHRoIiwiaGVpZ2h0IiwiYm9yZGVyVG9wQ29sb3IiLCJhbmltYXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/Button.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/Toast.tsx": +/*!*************************************!*\ + !*** ./src/components/ui/Toast.tsx ***! + \*************************************/ +/***/ ((__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 */ ToastProvider: () => (/* binding */ ToastProvider),\n/* harmony export */ useToast: () => (/* binding */ useToast)\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/* __next_internal_client_entry_do_not_use__ ToastProvider,useToast auto */ \n\nconst ToastContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(null);\nfunction ToastProvider({ children }) {\n const [toasts, setToasts] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const showToast = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((message, type = \"info\")=>{\n const id = `toast-${Date.now()}-${Math.random()}`;\n setToasts((prev)=>[\n ...prev,\n {\n id,\n message,\n type\n }\n ]);\n }, []);\n const dismiss = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((id)=>{\n setToasts((prev)=>prev.filter((t)=>t.id !== id));\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ToastContext.Provider, {\n value: {\n showToast\n },\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n position: \"fixed\",\n bottom: \"calc(var(--nav-height) + var(--s-5))\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-2)\",\n zIndex: 1000,\n width: \"min(360px, 90vw)\"\n },\n children: toasts.map((t)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ToastItem, {\n toast: t,\n onDismiss: dismiss\n }, t.id, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 47,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 33,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 31,\n columnNumber: 5\n }, this);\n}\nfunction ToastItem({ toast, onDismiss }) {\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const timer = setTimeout(()=>onDismiss(toast.id), 4000);\n return ()=>clearTimeout(timer);\n }, [\n toast.id,\n onDismiss\n ]);\n const bgMap = {\n success: \"var(--success)\",\n error: \"#f8d7da\",\n info: \"var(--bg-dark)\"\n };\n const colorMap = {\n success: \"var(--teal-900)\",\n error: \"#c0392b\",\n info: \"var(--paper)\"\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: bgMap[toast.type],\n color: colorMap[toast.type],\n borderRadius: \"var(--r-md)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-small)\",\n fontFamily: \"var(--font-sans)\",\n boxShadow: \"var(--shadow-soft)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: \"var(--s-3)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: toast.message\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 87,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>onDismiss(toast.id),\n style: {\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n color: \"inherit\",\n fontSize: \"18px\",\n lineHeight: 1,\n padding: 0,\n minWidth: \"24px\",\n minHeight: \"24px\"\n },\n \"aria-label\": \"Dismiss\",\n children: \"\\xd7\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 88,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 72,\n columnNumber: 5\n }, this);\n}\nfunction useToast() {\n const ctx = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(ToastContext);\n if (!ctx) throw new Error(\"useToast must be used within ToastProvider\");\n return ctx;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9Ub2FzdC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUMwRjtBQWMxRixNQUFNTSw2QkFBZUwsb0RBQWFBLENBQTJCO0FBRXRELFNBQVNNLGNBQWMsRUFBRUMsUUFBUSxFQUFpQztJQUN2RSxNQUFNLENBQUNDLFFBQVFDLFVBQVUsR0FBR1AsK0NBQVFBLENBQWMsRUFBRTtJQUVwRCxNQUFNUSxZQUFZUCxrREFBV0EsQ0FBQyxDQUFDUSxTQUFpQkMsT0FBa0IsTUFBTTtRQUN0RSxNQUFNQyxLQUFLLENBQUMsTUFBTSxFQUFFQyxLQUFLQyxHQUFHLEdBQUcsQ0FBQyxFQUFFQyxLQUFLQyxNQUFNLEdBQUcsQ0FBQztRQUNqRFIsVUFBVSxDQUFDUyxPQUFTO21CQUFJQTtnQkFBTTtvQkFBRUw7b0JBQUlGO29CQUFTQztnQkFBSzthQUFFO0lBQ3RELEdBQUcsRUFBRTtJQUVMLE1BQU1PLFVBQVVoQixrREFBV0EsQ0FBQyxDQUFDVTtRQUMzQkosVUFBVSxDQUFDUyxPQUFTQSxLQUFLRSxNQUFNLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRVIsRUFBRSxLQUFLQTtJQUNsRCxHQUFHLEVBQUU7SUFFTCxxQkFDRSw4REFBQ1IsYUFBYWlCLFFBQVE7UUFBQ0MsT0FBTztZQUFFYjtRQUFVOztZQUN2Q0g7MEJBQ0QsOERBQUNpQjtnQkFDQ0MsT0FBTztvQkFDTEMsVUFBVTtvQkFDVkMsUUFBUTtvQkFDUkMsTUFBTTtvQkFDTkMsV0FBVztvQkFDWEMsU0FBUztvQkFDVEMsZUFBZTtvQkFDZkMsS0FBSztvQkFDTEMsUUFBUTtvQkFDUkMsT0FBTztnQkFDVDswQkFFQzFCLE9BQU8yQixHQUFHLENBQUMsQ0FBQ2Qsa0JBQ1gsOERBQUNlO3dCQUFxQkMsT0FBT2hCO3dCQUFHaUIsV0FBV25CO3VCQUEzQkUsRUFBRVIsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztBQUs5QjtBQUVBLFNBQVN1QixVQUFVLEVBQUVDLEtBQUssRUFBRUMsU0FBUyxFQUF5RDtJQUM1RmxDLGdEQUFTQSxDQUFDO1FBQ1IsTUFBTW1DLFFBQVFDLFdBQVcsSUFBTUYsVUFBVUQsTUFBTXhCLEVBQUUsR0FBRztRQUNwRCxPQUFPLElBQU00QixhQUFhRjtJQUM1QixHQUFHO1FBQUNGLE1BQU14QixFQUFFO1FBQUV5QjtLQUFVO0lBRXhCLE1BQU1JLFFBQW1DO1FBQ3ZDQyxTQUFTO1FBQ1RDLE9BQU87UUFDUEMsTUFBTTtJQUNSO0lBQ0EsTUFBTUMsV0FBc0M7UUFDMUNILFNBQVM7UUFDVEMsT0FBTztRQUNQQyxNQUFNO0lBQ1I7SUFFQSxxQkFDRSw4REFBQ3JCO1FBQ0NDLE9BQU87WUFDTHNCLFlBQVlMLEtBQUssQ0FBQ0wsTUFBTXpCLElBQUksQ0FBQztZQUM3Qm9DLE9BQU9GLFFBQVEsQ0FBQ1QsTUFBTXpCLElBQUksQ0FBQztZQUMzQnFDLGNBQWM7WUFDZEMsU0FBUztZQUNUQyxVQUFVO1lBQ1ZDLFlBQVk7WUFDWkMsV0FBVztZQUNYdkIsU0FBUztZQUNUd0IsWUFBWTtZQUNaQyxnQkFBZ0I7WUFDaEJ2QixLQUFLO1FBQ1A7OzBCQUVBLDhEQUFDd0I7MEJBQU1uQixNQUFNMUIsT0FBTzs7Ozs7OzBCQUNwQiw4REFBQzhDO2dCQUNDQyxTQUFTLElBQU1wQixVQUFVRCxNQUFNeEIsRUFBRTtnQkFDakNZLE9BQU87b0JBQ0xzQixZQUFZO29CQUNaWSxRQUFRO29CQUNSQyxRQUFRO29CQUNSWixPQUFPO29CQUNQRyxVQUFVO29CQUNWVSxZQUFZO29CQUNaWCxTQUFTO29CQUNUWSxVQUFVO29CQUNWQyxXQUFXO2dCQUNiO2dCQUNBQyxjQUFXOzBCQUNaOzs7Ozs7Ozs7Ozs7QUFLUDtBQUVPLFNBQVNDO0lBQ2QsTUFBTUMsTUFBTWpFLGlEQUFVQSxDQUFDSTtJQUN2QixJQUFJLENBQUM2RCxLQUFLLE1BQU0sSUFBSUMsTUFBTTtJQUMxQixPQUFPRDtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy91aS9Ub2FzdC50c3g/ZGE4MiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuXG50eXBlIFRvYXN0VHlwZSA9ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAnaW5mbydcblxuaW50ZXJmYWNlIFRvYXN0SXRlbSB7XG4gIGlkOiBzdHJpbmdcbiAgbWVzc2FnZTogc3RyaW5nXG4gIHR5cGU6IFRvYXN0VHlwZVxufVxuXG5pbnRlcmZhY2UgVG9hc3RDb250ZXh0VmFsdWUge1xuICBzaG93VG9hc3Q6IChtZXNzYWdlOiBzdHJpbmcsIHR5cGU/OiBUb2FzdFR5cGUpID0+IHZvaWRcbn1cblxuY29uc3QgVG9hc3RDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxUb2FzdENvbnRleHRWYWx1ZSB8IG51bGw+KG51bGwpXG5cbmV4cG9ydCBmdW5jdGlvbiBUb2FzdFByb3ZpZGVyKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgY29uc3QgW3RvYXN0cywgc2V0VG9hc3RzXSA9IHVzZVN0YXRlPFRvYXN0SXRlbVtdPihbXSlcblxuICBjb25zdCBzaG93VG9hc3QgPSB1c2VDYWxsYmFjaygobWVzc2FnZTogc3RyaW5nLCB0eXBlOiBUb2FzdFR5cGUgPSAnaW5mbycpID0+IHtcbiAgICBjb25zdCBpZCA9IGB0b2FzdC0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKX1gXG4gICAgc2V0VG9hc3RzKChwcmV2KSA9PiBbLi4ucHJldiwgeyBpZCwgbWVzc2FnZSwgdHlwZSB9XSlcbiAgfSwgW10pXG5cbiAgY29uc3QgZGlzbWlzcyA9IHVzZUNhbGxiYWNrKChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0VG9hc3RzKChwcmV2KSA9PiBwcmV2LmZpbHRlcigodCkgPT4gdC5pZCAhPT0gaWQpKVxuICB9LCBbXSlcblxuICByZXR1cm4gKFxuICAgIDxUb2FzdENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3sgc2hvd1RvYXN0IH19PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICAgIGJvdHRvbTogJ2NhbGModmFyKC0tbmF2LWhlaWdodCkgKyB2YXIoLS1zLTUpKScsXG4gICAgICAgICAgbGVmdDogJzUwJScsXG4gICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtNTAlKScsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgIGdhcDogJ3ZhcigtLXMtMiknLFxuICAgICAgICAgIHpJbmRleDogMTAwMCxcbiAgICAgICAgICB3aWR0aDogJ21pbigzNjBweCwgOTB2dyknLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7dG9hc3RzLm1hcCgodCkgPT4gKFxuICAgICAgICAgIDxUb2FzdEl0ZW0ga2V5PXt0LmlkfSB0b2FzdD17dH0gb25EaXNtaXNzPXtkaXNtaXNzfSAvPlxuICAgICAgICApKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvVG9hc3RDb250ZXh0LlByb3ZpZGVyPlxuICApXG59XG5cbmZ1bmN0aW9uIFRvYXN0SXRlbSh7IHRvYXN0LCBvbkRpc21pc3MgfTogeyB0b2FzdDogVG9hc3RJdGVtOyBvbkRpc21pc3M6IChpZDogc3RyaW5nKSA9PiB2b2lkIH0pIHtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4gb25EaXNtaXNzKHRvYXN0LmlkKSwgNDAwMClcbiAgICByZXR1cm4gKCkgPT4gY2xlYXJUaW1lb3V0KHRpbWVyKVxuICB9LCBbdG9hc3QuaWQsIG9uRGlzbWlzc10pXG5cbiAgY29uc3QgYmdNYXA6IFJlY29yZDxUb2FzdFR5cGUsIHN0cmluZz4gPSB7XG4gICAgc3VjY2VzczogJ3ZhcigtLXN1Y2Nlc3MpJyxcbiAgICBlcnJvcjogJyNmOGQ3ZGEnLFxuICAgIGluZm86ICd2YXIoLS1iZy1kYXJrKScsXG4gIH1cbiAgY29uc3QgY29sb3JNYXA6IFJlY29yZDxUb2FzdFR5cGUsIHN0cmluZz4gPSB7XG4gICAgc3VjY2VzczogJ3ZhcigtLXRlYWwtOTAwKScsXG4gICAgZXJyb3I6ICcjYzAzOTJiJyxcbiAgICBpbmZvOiAndmFyKC0tcGFwZXIpJyxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYmFja2dyb3VuZDogYmdNYXBbdG9hc3QudHlwZV0sXG4gICAgICAgIGNvbG9yOiBjb2xvck1hcFt0b2FzdC50eXBlXSxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1tZCknLFxuICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTQpJyxcbiAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LXNtYWxsKScsXG4gICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgYm94U2hhZG93OiAndmFyKC0tc2hhZG93LXNvZnQpJyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgZ2FwOiAndmFyKC0tcy0zKScsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxzcGFuPnt0b2FzdC5tZXNzYWdlfTwvc3Bhbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgb25DbGljaz17KCkgPT4gb25EaXNtaXNzKHRvYXN0LmlkKX1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAnbm9uZScsXG4gICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgY29sb3I6ICdpbmhlcml0JyxcbiAgICAgICAgICBmb250U2l6ZTogJzE4cHgnLFxuICAgICAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICAgICAgcGFkZGluZzogMCxcbiAgICAgICAgICBtaW5XaWR0aDogJzI0cHgnLFxuICAgICAgICAgIG1pbkhlaWdodDogJzI0cHgnLFxuICAgICAgICB9fVxuICAgICAgICBhcmlhLWxhYmVsPVwiRGlzbWlzc1wiXG4gICAgICA+XG4gICAgICAgIMOXXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlVG9hc3QoKTogVG9hc3RDb250ZXh0VmFsdWUge1xuICBjb25zdCBjdHggPSB1c2VDb250ZXh0KFRvYXN0Q29udGV4dClcbiAgaWYgKCFjdHgpIHRocm93IG5ldyBFcnJvcigndXNlVG9hc3QgbXVzdCBiZSB1c2VkIHdpdGhpbiBUb2FzdFByb3ZpZGVyJylcbiAgcmV0dXJuIGN0eFxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInVzZUNvbnRleHQiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwiVG9hc3RDb250ZXh0IiwiVG9hc3RQcm92aWRlciIsImNoaWxkcmVuIiwidG9hc3RzIiwic2V0VG9hc3RzIiwic2hvd1RvYXN0IiwibWVzc2FnZSIsInR5cGUiLCJpZCIsIkRhdGUiLCJub3ciLCJNYXRoIiwicmFuZG9tIiwicHJldiIsImRpc21pc3MiLCJmaWx0ZXIiLCJ0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsImRpdiIsInN0eWxlIiwicG9zaXRpb24iLCJib3R0b20iLCJsZWZ0IiwidHJhbnNmb3JtIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJ6SW5kZXgiLCJ3aWR0aCIsIm1hcCIsIlRvYXN0SXRlbSIsInRvYXN0Iiwib25EaXNtaXNzIiwidGltZXIiLCJzZXRUaW1lb3V0IiwiY2xlYXJUaW1lb3V0IiwiYmdNYXAiLCJzdWNjZXNzIiwiZXJyb3IiLCJpbmZvIiwiY29sb3JNYXAiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJib3JkZXJSYWRpdXMiLCJwYWRkaW5nIiwiZm9udFNpemUiLCJmb250RmFtaWx5IiwiYm94U2hhZG93IiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50Iiwic3BhbiIsImJ1dHRvbiIsIm9uQ2xpY2siLCJib3JkZXIiLCJjdXJzb3IiLCJsaW5lSGVpZ2h0IiwibWluV2lkdGgiLCJtaW5IZWlnaHQiLCJhcmlhLWxhYmVsIiwidXNlVG9hc3QiLCJjdHgiLCJFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/Toast.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/auth.ts": +/*!*************************!*\ + !*** ./src/lib/auth.ts ***! + \*************************/ +/***/ ((__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 */ clearAuthCookies: () => (/* binding */ clearAuthCookies),\n/* harmony export */ getAuthUser: () => (/* binding */ getAuthUser),\n/* harmony export */ logout: () => (/* binding */ logout),\n/* harmony export */ syncAuthCookies: () => (/* binding */ syncAuthCookies)\n/* harmony export */ });\n/* harmony import */ var _pocketbase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* __next_internal_client_entry_do_not_use__ getAuthUser,syncAuthCookies,clearAuthCookies,logout auto */ \nconst COOKIE_TOKEN = \"pb_token\";\nconst COOKIE_ROLE = \"pb_role\";\nconst COOKIE_MAX_AGE = 60 * 60 * 24 * 14 // 14 days\n;\nfunction getAuthUser() {\n if (!_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.isValid) return null;\n return _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.model;\n}\nfunction syncAuthCookies() {\n if (_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.isValid && _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.token) {\n const user = _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.model;\n const role = user?.role ?? \"\";\n document.cookie = `${COOKIE_TOKEN}=${_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.token}; path=/; max-age=${COOKIE_MAX_AGE}; SameSite=Lax`;\n document.cookie = `${COOKIE_ROLE}=${role}; path=/; max-age=${COOKIE_MAX_AGE}; SameSite=Lax`;\n } else {\n clearAuthCookies();\n }\n}\nfunction clearAuthCookies() {\n document.cookie = `${COOKIE_TOKEN}=; path=/; max-age=0`;\n document.cookie = `${COOKIE_ROLE}=; path=/; max-age=0`;\n}\nfunction logout() {\n _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.clear();\n clearAuthCookies();\n window.location.href = \"/auth\";\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL2F1dGgudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7eUdBQ2lDO0FBR2pDLE1BQU1DLGVBQWU7QUFDckIsTUFBTUMsY0FBYztBQUNwQixNQUFNQyxpQkFBaUIsS0FBSyxLQUFLLEtBQUssR0FBRyxVQUFVOztBQUU1QyxTQUFTQztJQUNkLElBQUksQ0FBQ0osMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0MsT0FBTyxFQUFFLE9BQU87SUFDbEMsT0FBT04sMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0UsS0FBSztBQUMzQjtBQUVPLFNBQVNDO0lBQ2QsSUFBSVIsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0MsT0FBTyxJQUFJTiwyQ0FBRUEsQ0FBQ0ssU0FBUyxDQUFDSSxLQUFLLEVBQUU7UUFDOUMsTUFBTUMsT0FBT1YsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0UsS0FBSztRQUMvQixNQUFNSSxPQUFPRCxNQUFNQyxRQUFRO1FBQzNCQyxTQUFTQyxNQUFNLEdBQUcsQ0FBQyxFQUFFWixhQUFhLENBQUMsRUFBRUQsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0ksS0FBSyxDQUFDLGtCQUFrQixFQUFFTixlQUFlLGNBQWMsQ0FBQztRQUMxR1MsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVgsWUFBWSxDQUFDLEVBQUVTLEtBQUssa0JBQWtCLEVBQUVSLGVBQWUsY0FBYyxDQUFDO0lBQzdGLE9BQU87UUFDTFc7SUFDRjtBQUNGO0FBRU8sU0FBU0E7SUFDZEYsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVosYUFBYSxvQkFBb0IsQ0FBQztJQUN2RFcsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVgsWUFBWSxvQkFBb0IsQ0FBQztBQUN4RDtBQUVPLFNBQVNhO0lBQ2RmLDJDQUFFQSxDQUFDSyxTQUFTLENBQUNXLEtBQUs7SUFDbEJGO0lBQ0FHLE9BQU9DLFFBQVEsQ0FBQ0MsSUFBSSxHQUFHO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL2F1dGgudHM/NjY5MiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB7IHBiIH0gZnJvbSAnLi9wb2NrZXRiYXNlJ1xuaW1wb3J0IHR5cGUgeyBQQlVzZXIgfSBmcm9tICdAL3R5cGVzJ1xuXG5jb25zdCBDT09LSUVfVE9LRU4gPSAncGJfdG9rZW4nXG5jb25zdCBDT09LSUVfUk9MRSA9ICdwYl9yb2xlJ1xuY29uc3QgQ09PS0lFX01BWF9BR0UgPSA2MCAqIDYwICogMjQgKiAxNCAvLyAxNCBkYXlzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBdXRoVXNlcigpOiBQQlVzZXIgfCBudWxsIHtcbiAgaWYgKCFwYi5hdXRoU3RvcmUuaXNWYWxpZCkgcmV0dXJuIG51bGxcbiAgcmV0dXJuIHBiLmF1dGhTdG9yZS5tb2RlbCBhcyBQQlVzZXIgfCBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzeW5jQXV0aENvb2tpZXMoKTogdm9pZCB7XG4gIGlmIChwYi5hdXRoU3RvcmUuaXNWYWxpZCAmJiBwYi5hdXRoU3RvcmUudG9rZW4pIHtcbiAgICBjb25zdCB1c2VyID0gcGIuYXV0aFN0b3JlLm1vZGVsIGFzIFBCVXNlciB8IG51bGxcbiAgICBjb25zdCByb2xlID0gdXNlcj8ucm9sZSA/PyAnJ1xuICAgIGRvY3VtZW50LmNvb2tpZSA9IGAke0NPT0tJRV9UT0tFTn09JHtwYi5hdXRoU3RvcmUudG9rZW59OyBwYXRoPS87IG1heC1hZ2U9JHtDT09LSUVfTUFYX0FHRX07IFNhbWVTaXRlPUxheGBcbiAgICBkb2N1bWVudC5jb29raWUgPSBgJHtDT09LSUVfUk9MRX09JHtyb2xlfTsgcGF0aD0vOyBtYXgtYWdlPSR7Q09PS0lFX01BWF9BR0V9OyBTYW1lU2l0ZT1MYXhgXG4gIH0gZWxzZSB7XG4gICAgY2xlYXJBdXRoQ29va2llcygpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyQXV0aENvb2tpZXMoKTogdm9pZCB7XG4gIGRvY3VtZW50LmNvb2tpZSA9IGAke0NPT0tJRV9UT0tFTn09OyBwYXRoPS87IG1heC1hZ2U9MGBcbiAgZG9jdW1lbnQuY29va2llID0gYCR7Q09PS0lFX1JPTEV9PTsgcGF0aD0vOyBtYXgtYWdlPTBgXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2dvdXQoKTogdm9pZCB7XG4gIHBiLmF1dGhTdG9yZS5jbGVhcigpXG4gIGNsZWFyQXV0aENvb2tpZXMoKVxuICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvYXV0aCdcbn1cbiJdLCJuYW1lcyI6WyJwYiIsIkNPT0tJRV9UT0tFTiIsIkNPT0tJRV9ST0xFIiwiQ09PS0lFX01BWF9BR0UiLCJnZXRBdXRoVXNlciIsImF1dGhTdG9yZSIsImlzVmFsaWQiLCJtb2RlbCIsInN5bmNBdXRoQ29va2llcyIsInRva2VuIiwidXNlciIsInJvbGUiLCJkb2N1bWVudCIsImNvb2tpZSIsImNsZWFyQXV0aENvb2tpZXMiLCJsb2dvdXQiLCJjbGVhciIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/auth.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/pocketbase.ts": +/*!*******************************!*\ + !*** ./src/lib/pocketbase.ts ***! + \*******************************/ +/***/ ((__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 */ pb: () => (/* binding */ pb)\n/* harmony export */ });\n/* harmony import */ var pocketbase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pocketbase */ \"(ssr)/./node_modules/pocketbase/dist/pocketbase.es.mjs\");\n/* __next_internal_client_entry_do_not_use__ pb auto */ \nconst pb = new pocketbase__WEBPACK_IMPORTED_MODULE_0__[\"default\"](\"http://localhost:8090\" ?? 0);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL3BvY2tldGJhc2UudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7d0RBQ21DO0FBRTVCLE1BQU1DLEtBQUssSUFBSUQsa0RBQVVBLENBQUNFLHVCQUFzQyxJQUFJLEdBQXdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL3BvY2tldGJhc2UudHM/ZTY1NyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBQb2NrZXRCYXNlIGZyb20gJ3BvY2tldGJhc2UnXG5cbmV4cG9ydCBjb25zdCBwYiA9IG5ldyBQb2NrZXRCYXNlKHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX1BPQ0tFVEJBU0VfVVJMID8/ICdodHRwOi8vbG9jYWxob3N0OjgwOTAnKVxuIl0sIm5hbWVzIjpbIlBvY2tldEJhc2UiLCJwYiIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19QT0NLRVRCQVNFX1VSTCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/pocketbase.ts\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__ = (\"a462ed02aa71\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL2dsb2JhbHMuY3NzPzU5MTYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgXCJhNDYyZWQwMmFhNzFcIlxuaWYgKG1vZHVsZS5ob3QpIHsgbW9kdWxlLmhvdC5hY2NlcHQoKSB9XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); + +/***/ }), + +/***/ "(rsc)/../../stylesheet.css": +/*!****************************!*\ + !*** ../../stylesheet.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__ = (\"5511d51fa1af\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi4vLi4vc3R5bGVzaGVldC5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi9zdHlsZXNoZWV0LmNzcz9mYjhjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNTUxMWQ1MWZhMWFmXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/../../stylesheet.css\n"); + +/***/ }), + +/***/ "(rsc)/./src/app/app/layout.tsx": +/*!********************************!*\ + !*** ./src/app/app/layout.tsx ***! + \********************************/ +/***/ ((__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`C:\Users\RaymondVerhoef\Gitea\learning-platform\app\frontend\src\app\app\layout.tsx#default`)); + + +/***/ }), + +/***/ "(rsc)/./src/app/app/page.tsx": +/*!******************************!*\ + !*** ./src/app/app/page.tsx ***! + \******************************/ +/***/ ((__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 */ AppRoot)\n/* harmony export */ });\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/navigation */ \"(rsc)/./node_modules/next/dist/api/navigation.react-server.js\");\n\nfunction AppRoot() {\n (0,next_navigation__WEBPACK_IMPORTED_MODULE_0__.redirect)(\"/app/session\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2FwcC9wYWdlLnRzeCIsIm1hcHBpbmdzIjoiOzs7OztBQUEwQztBQUUzQixTQUFTQztJQUN0QkQseURBQVFBLENBQUM7QUFDWCIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2FwcC9hcHAvcGFnZS50c3g/YTUzNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWRpcmVjdCB9IGZyb20gJ25leHQvbmF2aWdhdGlvbidcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQXBwUm9vdCgpIHtcbiAgcmVkaXJlY3QoJy9hcHAvc2Vzc2lvbicpXG59XG4iXSwibmFtZXMiOlsicmVkaXJlY3QiLCJBcHBSb290Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/app/page.tsx\n"); + +/***/ }), + +/***/ "(rsc)/./src/app/layout.tsx": +/*!****************************!*\ + !*** ./src/app/layout.tsx ***! + \****************************/ +/***/ ((__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 */ viewport: () => (/* binding */ viewport)\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 _stylesheet_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../stylesheet.css */ \"(rsc)/../../stylesheet.css\");\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n\n\n\nconst metadata = {\n title: \"Learning Platform\",\n description: \"Employee knowledge and learning\",\n manifest: \"/manifest.json\",\n appleWebApp: {\n capable: true,\n statusBarStyle: \"default\",\n title: \"Learning Platform\"\n }\n};\nconst viewport = {\n themeColor: \"#1F5560\",\n width: \"device-width\",\n initialScale: 1,\n maximumScale: 1\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 29,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDbUM7QUFDYjtBQUVmLE1BQU1BLFdBQXFCO0lBQ2hDQyxPQUFPO0lBQ1BDLGFBQWE7SUFDYkMsVUFBVTtJQUNWQyxhQUFhO1FBQ1hDLFNBQVM7UUFDVEMsZ0JBQWdCO1FBQ2hCTCxPQUFPO0lBQ1Q7QUFDRixFQUFDO0FBRU0sTUFBTU0sV0FBcUI7SUFDaENDLFlBQVk7SUFDWkMsT0FBTztJQUNQQyxjQUFjO0lBQ2RDLGNBQWM7QUFDaEIsRUFBQztBQUVjLFNBQVNDLFdBQVcsRUFDakNDLFFBQVEsRUFHVDtJQUNDLHFCQUNFLDhEQUFDQztRQUFLQyxNQUFLO2tCQUNULDRFQUFDQztzQkFBTUg7Ozs7Ozs7Ozs7O0FBR2IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9hcHAvbGF5b3V0LnRzeD81N2E5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEsIFZpZXdwb3J0IH0gZnJvbSAnbmV4dCdcbmltcG9ydCAnLi4vLi4vLi4vLi4vc3R5bGVzaGVldC5jc3MnXG5pbXBvcnQgJy4vZ2xvYmFscy5jc3MnXG5cbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XG4gIHRpdGxlOiAnTGVhcm5pbmcgUGxhdGZvcm0nLFxuICBkZXNjcmlwdGlvbjogJ0VtcGxveWVlIGtub3dsZWRnZSBhbmQgbGVhcm5pbmcnLFxuICBtYW5pZmVzdDogJy9tYW5pZmVzdC5qc29uJyxcbiAgYXBwbGVXZWJBcHA6IHtcbiAgICBjYXBhYmxlOiB0cnVlLFxuICAgIHN0YXR1c0JhclN0eWxlOiAnZGVmYXVsdCcsXG4gICAgdGl0bGU6ICdMZWFybmluZyBQbGF0Zm9ybScsXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCB2aWV3cG9ydDogVmlld3BvcnQgPSB7XG4gIHRoZW1lQ29sb3I6ICcjMUY1NTYwJyxcbiAgd2lkdGg6ICdkZXZpY2Utd2lkdGgnLFxuICBpbml0aWFsU2NhbGU6IDEsXG4gIG1heGltdW1TY2FsZTogMSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7XG4gIGNoaWxkcmVuLFxufToge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8Ym9keT57Y2hpbGRyZW59PC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIm1hbmlmZXN0IiwiYXBwbGVXZWJBcHAiLCJjYXBhYmxlIiwic3RhdHVzQmFyU3R5bGUiLCJ2aWV3cG9ydCIsInRoZW1lQ29sb3IiLCJ3aWR0aCIsImluaXRpYWxTY2FsZSIsIm1heGltdW1TY2FsZSIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwiYm9keSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\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","vendor-chunks/pocketbase"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp%2Fpage&page=%2Fapp%2Fpage&appPaths=%2Fapp%2Fpage&pagePath=private-next-app-dir%2Fapp%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); +module.exports = __webpack_exports__; + +})(); \ No newline at end of file diff --git a/app/frontend/.next/server/app/app/page_client-reference-manifest.js b/app/frontend/.next/server/app/app/page_client-reference-manifest.js new file mode 100644 index 0000000..b75592a --- /dev/null +++ b/app/frontend/.next/server/app/app/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/app/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/auth/page.tsx":{"*":{"id":"(ssr)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/layout.tsx":{"*":{"id":"(ssr)/./src/app/admin/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/documents/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/knowledge/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/curriculum/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/layout.tsx":{"*":{"id":"(ssr)/./src/app/app/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/session/page.tsx":{"*":{"id":"(ssr)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/library/page.tsx":{"*":{"id":"(ssr)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\stylesheet.css":{"id":"(app-pages-browser)/../../stylesheet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\auth\\page.tsx":{"id":"(app-pages-browser)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\layout.tsx":{"id":"(app-pages-browser)/./src/app/admin/layout.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\documents\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\knowledge\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\curriculum\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\layout.tsx":{"id":"(app-pages-browser)/./src/app/app/layout.tsx","name":"*","chunks":["app/app/layout","static/chunks/app/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\session\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\library\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\layout":["static/css/app/layout.css"],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\layout":[]}} \ No newline at end of file diff --git a/app/frontend/.next/server/app/app/profile/page.js b/app/frontend/.next/server/app/app/profile/page.js new file mode 100644 index 0000000..f05606f --- /dev/null +++ b/app/frontend/.next/server/app/app/profile/page.js @@ -0,0 +1,332 @@ +/* + * 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/app/profile/page"; +exports.ids = ["app/app/profile/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%2Fapp%2Fprofile%2Fpage&page=%2Fapp%2Fprofile%2Fpage&appPaths=%2Fapp%2Fprofile%2Fpage&pagePath=private-next-app-dir%2Fapp%2Fprofile%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%2Fapp%2Fprofile%2Fpage&page=%2Fapp%2Fprofile%2Fpage&appPaths=%2Fapp%2Fprofile%2Fpage&pagePath=private-next-app-dir%2Fapp%2Fprofile%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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?d969\");\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 'app',\n {\n children: [\n 'profile',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/app/profile/page.tsx */ \"(rsc)/./src/app/app/profile/page.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/app/layout.tsx */ \"(rsc)/./src/app/app/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\"],\n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\"],\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 = [\"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/app/profile/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: \"/app/profile/page\",\n pathname: \"/app/profile\",\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/bmFtZT1hcHAlMkZhcHAlMkZwcm9maWxlJTJGcGFnZSZwYWdlPSUyRmFwcCUyRnByb2ZpbGUlMkZwYWdlJmFwcFBhdGhzPSUyRmFwcCUyRnByb2ZpbGUlMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGYXBwJTJGcHJvZmlsZSUyRnBhZ2UudHN4JmFwcERpcj1DJTNBJTVDVXNlcnMlNUNSYXltb25kVmVyaG9lZiU1Q0dpdGVhJTVDbGVhcm5pbmctcGxhdGZvcm0lNUNhcHAlNUNmcm9udGVuZCU1Q3NyYyU1Q2FwcCZwYWdlRXh0ZW5zaW9ucz10c3gmcGFnZUV4dGVuc2lvbnM9dHMmcGFnZUV4dGVuc2lvbnM9anN4JnBhZ2VFeHRlbnNpb25zPWpzJnJvb3REaXI9QyUzQSU1Q1VzZXJzJTVDUmF5bW9uZFZlcmhvZWYlNUNHaXRlYSU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDYXBwJTVDZnJvbnRlbmQmaXNEZXY9dHJ1ZSZ0c2NvbmZpZ1BhdGg9dHNjb25maWcuanNvbiZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JnByZWZlcnJlZFJlZ2lvbj0mbWlkZGxld2FyZUNvbmZpZz1lMzAlM0QhIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxhQUFhLHNCQUFzQjtBQUNpRTtBQUNyQztBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakMsdUJBQXVCLHdLQUF5STtBQUNoSztBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLHlCQUF5Qiw0SkFBa0k7QUFDM0o7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EseUJBQXlCLG9KQUE2SDtBQUN0SixvQkFBb0IsME5BQWdGO0FBQ3BHO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUN1QjtBQUM2RDtBQUNwRiw2QkFBNkIsbUJBQW1CO0FBQ2hEO0FBQ087QUFDQTtBQUNQO0FBQ0E7QUFDQTtBQUN1RDtBQUN2RDtBQUNPLHdCQUF3Qiw4R0FBa0I7QUFDakQ7QUFDQSxjQUFjLHlFQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzBjMDciXSwic291cmNlc0NvbnRlbnQiOlsiXCJUVVJCT1BBQ0sgeyB0cmFuc2l0aW9uOiBuZXh0LXNzciB9XCI7XG5pbXBvcnQgeyBBcHBQYWdlUm91dGVNb2R1bGUgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS9tb2R1bGUuY29tcGlsZWRcIjtcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kXCI7XG4vLyBXZSBpbmplY3QgdGhlIHRyZWUgYW5kIHBhZ2VzIGhlcmUgc28gdGhhdCB3ZSBjYW4gdXNlIHRoZW0gaW4gdGhlIHJvdXRlXG4vLyBtb2R1bGUuXG5jb25zdCB0cmVlID0ge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAnJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAnYXBwJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAncHJvZmlsZScsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFsnX19QQUdFX18nLCB7fSwge1xuICAgICAgICAgIHBhZ2U6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFwcFxcXFxwcm9maWxlXFxcXHBhZ2UudHN4XCIpLCBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFwcFxcXFxwcm9maWxlXFxcXHBhZ2UudHN4XCJdLFxuICAgICAgICAgIFxuICAgICAgICB9XVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICdsYXlvdXQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxhcHBcXFxcbGF5b3V0LnRzeFwiKSwgXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxhcHBcXFxcbGF5b3V0LnRzeFwiXSxcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICdsYXlvdXQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxsYXlvdXQudHN4XCIpLCBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGxheW91dC50c3hcIl0sXG4nbm90LWZvdW5kJzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiKSwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCJdLFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0uY2hpbGRyZW47XG5jb25zdCBwYWdlcyA9IFtcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFwcFxcXFxwcm9maWxlXFxcXHBhZ2UudHN4XCJdO1xuZXhwb3J0IHsgdHJlZSwgcGFnZXMgfTtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgR2xvYmFsRXJyb3IgfSBmcm9tIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5XCI7XG5jb25zdCBfX25leHRfYXBwX3JlcXVpcmVfXyA9IF9fd2VicGFja19yZXF1aXJlX19cbmNvbnN0IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKClcbmV4cG9ydCBjb25zdCBvcmlnaW5hbFBhdGhuYW1lID0gXCIvYXBwL3Byb2ZpbGUvcGFnZVwiO1xuZXhwb3J0IGNvbnN0IF9fbmV4dF9hcHBfXyA9IHtcbiAgICByZXF1aXJlOiBfX25leHRfYXBwX3JlcXVpcmVfXyxcbiAgICBsb2FkQ2h1bms6IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fXG59O1xuZXhwb3J0ICogZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9lbnRyeS1iYXNlXCI7XG4vLyBDcmVhdGUgYW5kIGV4cG9ydCB0aGUgcm91dGUgbW9kdWxlIHRoYXQgd2lsbCBiZSBjb25zdW1lZC5cbmV4cG9ydCBjb25zdCByb3V0ZU1vZHVsZSA9IG5ldyBBcHBQYWdlUm91dGVNb2R1bGUoe1xuICAgIGRlZmluaXRpb246IHtcbiAgICAgICAga2luZDogUm91dGVLaW5kLkFQUF9QQUdFLFxuICAgICAgICBwYWdlOiBcIi9hcHAvcHJvZmlsZS9wYWdlXCIsXG4gICAgICAgIHBhdGhuYW1lOiBcIi9hcHAvcHJvZmlsZVwiLFxuICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGFyZW4ndCB1c2VkIGluIHByb2R1Y3Rpb24uXG4gICAgICAgIGJ1bmRsZVBhdGg6IFwiXCIsXG4gICAgICAgIGZpbGVuYW1lOiBcIlwiLFxuICAgICAgICBhcHBQYXRoczogW11cbiAgICB9LFxuICAgIHVzZXJsYW5kOiB7XG4gICAgICAgIGxvYWRlclRyZWU6IHRyZWVcbiAgICB9XG59KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp%2Fprofile%2Fpage&page=%2Fapp%2Fprofile%2Fpage&appPaths=%2Fapp%2Fprofile%2Fpage&pagePath=private-next-app-dir%2Fapp%2Fprofile%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJDJTNBJTVDJTVDVXNlcnMlNUMlNUNSYXltb25kVmVyaG9lZiU1QyU1Q0dpdGVhJTVDJTVDbGVhcm5pbmctcGxhdGZvcm0lNUMlNUNhcHAlNUMlNUNmcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2NsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyQyUzQSU1QyU1Q1VzZXJzJTVDJTVDUmF5bW9uZFZlcmhvZWYlNUMlNUNHaXRlYSU1QyU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDJTVDYXBwJTVDJTVDZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQW9LO0FBQ3BLO0FBQ0Esb09BQXFLO0FBQ3JLO0FBQ0EsME9BQXdLO0FBQ3hLO0FBQ0Esd09BQXVLO0FBQ3ZLO0FBQ0Esa1BBQTRLO0FBQzVLO0FBQ0Esc1FBQXNMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzcyOWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxhcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxcZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXGxheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXG5vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxccmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Clayout.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Clayout.tsx%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/app/layout.tsx */ \"(ssr)/./src/app/app/layout.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDYXBwJTVDJTVDbGF5b3V0LnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsNEpBQWtJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzliOTYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxhcHBcXFxcbGF5b3V0LnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Clayout.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Cprofile%5C%5Cpage.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Cprofile%5C%5Cpage.tsx%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/app/profile/page.tsx */ \"(ssr)/./src/app/app/profile/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDYXBwJTVDJTVDcHJvZmlsZSU1QyU1Q3BhZ2UudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3S0FBeUkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8/MTM3OSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFwcFxcXFxwcm9maWxlXFxcXHBhZ2UudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Cprofile%5C%5Cpage.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! + \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ (() => { + + + +/***/ }), + +/***/ "(ssr)/./src/app/app/layout.tsx": +/*!********************************!*\ + !*** ./src/app/app/layout.tsx ***! + \********************************/ +/***/ ((__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 */ AppLayout)\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_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _components_r42_R42Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/r42/R42Button */ \"(ssr)/./src/components/r42/R42Button.tsx\");\n/* harmony import */ var _components_r42_R42Drawer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/r42/R42Drawer */ \"(ssr)/./src/components/r42/R42Drawer.tsx\");\n/* harmony import */ var _components_ui_Toast__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/ui/Toast */ \"(ssr)/./src/components/ui/Toast.tsx\");\n/* harmony import */ var _lib_auth__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/lib/auth */ \"(ssr)/./src/lib/auth.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\n\nconst NAV_ITEMS = [\n {\n href: \"/app\",\n label: \"Session\",\n icon: \"▶\"\n },\n {\n href: \"/app/library\",\n label: \"Library\",\n icon: \"\\uD83D\\uDCDA\"\n },\n {\n href: \"/app/profile\",\n label: \"Profile\",\n icon: \"\\uD83D\\uDC64\"\n }\n];\nfunction AppLayout({ children }) {\n const pathname = (0,next_navigation__WEBPACK_IMPORTED_MODULE_3__.usePathname)();\n const [r42Open, setR42Open] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const user = (0,_lib_auth__WEBPACK_IMPORTED_MODULE_7__.getAuthUser)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Toast__WEBPACK_IMPORTED_MODULE_6__.ToastProvider, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n minHeight: \"100dvh\",\n display: \"flex\",\n flexDirection: \"column\",\n background: \"var(--bg)\",\n paddingBottom: \"var(--nav-height)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n style: {\n flex: 1,\n padding: \"var(--s-4)\",\n maxWidth: \"640px\",\n margin: \"0 auto\",\n width: \"100%\"\n },\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 33,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_r42_R42Button__WEBPACK_IMPORTED_MODULE_4__.R42Button, {\n onClick: ()=>setR42Open(true)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_r42_R42Drawer__WEBPACK_IMPORTED_MODULE_5__.R42Drawer, {\n open: r42Open,\n onClose: ()=>setR42Open(false),\n userId: user?.id ?? \"\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 41,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n style: {\n position: \"fixed\",\n bottom: 0,\n left: 0,\n right: 0,\n height: \"var(--nav-height)\",\n background: \"var(--bg)\",\n borderTop: \"1px solid var(--cream)\",\n display: \"flex\",\n zIndex: 150\n },\n children: NAV_ITEMS.map((item)=>{\n const active = item.href === \"/app\" ? pathname === \"/app\" || pathname === \"/app/\" : pathname.startsWith(item.href);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: item.href,\n style: {\n flex: 1,\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"2px\",\n textDecoration: \"none\",\n color: active ? \"var(--accent)\" : \"var(--fg-muted)\",\n fontSize: \"20px\",\n minHeight: \"44px\",\n transition: \"color 150ms\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.icon\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 85,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n fontWeight: active ? 700 : 400\n },\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 86,\n columnNumber: 17\n }, this)\n ]\n }, item.href, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 68,\n columnNumber: 15\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 48,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 23,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 22,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvYXBwL2FwcC9sYXlvdXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUN1QztBQUNYO0FBQ2lCO0FBQ1M7QUFDQTtBQUNEO0FBQ2I7QUFFeEMsTUFBTVEsWUFBWTtJQUNoQjtRQUFFQyxNQUFNO1FBQVFDLE9BQU87UUFBV0MsTUFBTTtJQUFJO0lBQzVDO1FBQUVGLE1BQU07UUFBZ0JDLE9BQU87UUFBV0MsTUFBTTtJQUFLO0lBQ3JEO1FBQUVGLE1BQU07UUFBZ0JDLE9BQU87UUFBV0MsTUFBTTtJQUFLO0NBQ3REO0FBRWMsU0FBU0MsVUFBVSxFQUFFQyxRQUFRLEVBQWlDO0lBQzNFLE1BQU1DLFdBQVdYLDREQUFXQTtJQUM1QixNQUFNLENBQUNZLFNBQVNDLFdBQVcsR0FBR2YsK0NBQVFBLENBQUM7SUFDdkMsTUFBTWdCLE9BQU9WLHNEQUFXQTtJQUV4QixxQkFDRSw4REFBQ0QsK0RBQWFBO2tCQUNaLDRFQUFDWTtZQUNDQyxPQUFPO2dCQUNMQyxXQUFXO2dCQUNYQyxTQUFTO2dCQUNUQyxlQUFlO2dCQUNmQyxZQUFZO2dCQUNaQyxlQUFlO1lBQ2pCOzs4QkFHQSw4REFBQ0M7b0JBQUtOLE9BQU87d0JBQUVPLE1BQU07d0JBQUdDLFNBQVM7d0JBQWNDLFVBQVU7d0JBQVNDLFFBQVE7d0JBQVVDLE9BQU87b0JBQU87OEJBQy9GakI7Ozs7Ozs4QkFJSCw4REFBQ1QsZ0VBQVNBO29CQUFDMkIsU0FBUyxJQUFNZixXQUFXOzs7Ozs7OEJBR3JDLDhEQUFDWCxnRUFBU0E7b0JBQ1IyQixNQUFNakI7b0JBQ05rQixTQUFTLElBQU1qQixXQUFXO29CQUMxQmtCLFFBQVFqQixNQUFNa0IsTUFBTTs7Ozs7OzhCQUl0Qiw4REFBQ0M7b0JBQ0NqQixPQUFPO3dCQUNMa0IsVUFBVTt3QkFDVkMsUUFBUTt3QkFDUkMsTUFBTTt3QkFDTkMsT0FBTzt3QkFDUEMsUUFBUTt3QkFDUmxCLFlBQVk7d0JBQ1ptQixXQUFXO3dCQUNYckIsU0FBUzt3QkFDVHNCLFFBQVE7b0JBQ1Y7OEJBRUNuQyxVQUFVb0MsR0FBRyxDQUFDLENBQUNDO3dCQUNkLE1BQU1DLFNBQ0pELEtBQUtwQyxJQUFJLEtBQUssU0FDVkssYUFBYSxVQUFVQSxhQUFhLFVBQ3BDQSxTQUFTaUMsVUFBVSxDQUFDRixLQUFLcEMsSUFBSTt3QkFFbkMscUJBQ0UsOERBQUNQLGlEQUFJQTs0QkFFSE8sTUFBTW9DLEtBQUtwQyxJQUFJOzRCQUNmVSxPQUFPO2dDQUNMTyxNQUFNO2dDQUNOTCxTQUFTO2dDQUNUQyxlQUFlO2dDQUNmMEIsWUFBWTtnQ0FDWkMsZ0JBQWdCO2dDQUNoQkMsS0FBSztnQ0FDTEMsZ0JBQWdCO2dDQUNoQkMsT0FBT04sU0FBUyxrQkFBa0I7Z0NBQ2xDTyxVQUFVO2dDQUNWakMsV0FBVztnQ0FDWGtDLFlBQVk7NEJBQ2Q7OzhDQUVBLDhEQUFDQzs4Q0FBTVYsS0FBS2xDLElBQUk7Ozs7Ozs4Q0FDaEIsOERBQUM0QztvQ0FDQ3BDLE9BQU87d0NBQ0xrQyxVQUFVO3dDQUNWRyxZQUFZO3dDQUNaQyxlQUFlO3dDQUNmQyxlQUFlO3dDQUNmQyxZQUFZYixTQUFTLE1BQU07b0NBQzdCOzhDQUVDRCxLQUFLbkMsS0FBSzs7Ozs7OzsyQkExQlJtQyxLQUFLcEMsSUFBSTs7Ozs7b0JBOEJwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLViIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2FwcC9hcHAvbGF5b3V0LnRzeD9mZDE2Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnXG5pbXBvcnQgeyB1c2VQYXRobmFtZSB9IGZyb20gJ25leHQvbmF2aWdhdGlvbidcbmltcG9ydCB7IFI0MkJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy9yNDIvUjQyQnV0dG9uJ1xuaW1wb3J0IHsgUjQyRHJhd2VyIH0gZnJvbSAnQC9jb21wb25lbnRzL3I0Mi9SNDJEcmF3ZXInXG5pbXBvcnQgeyBUb2FzdFByb3ZpZGVyIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL1RvYXN0J1xuaW1wb3J0IHsgZ2V0QXV0aFVzZXIgfSBmcm9tICdAL2xpYi9hdXRoJ1xuXG5jb25zdCBOQVZfSVRFTVMgPSBbXG4gIHsgaHJlZjogJy9hcHAnLCBsYWJlbDogJ1Nlc3Npb24nLCBpY29uOiAn4pa2JyB9LFxuICB7IGhyZWY6ICcvYXBwL2xpYnJhcnknLCBsYWJlbDogJ0xpYnJhcnknLCBpY29uOiAn8J+TmicgfSxcbiAgeyBocmVmOiAnL2FwcC9wcm9maWxlJywgbGFiZWw6ICdQcm9maWxlJywgaWNvbjogJ/CfkaQnIH0sXG5dXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEFwcExheW91dCh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9KSB7XG4gIGNvbnN0IHBhdGhuYW1lID0gdXNlUGF0aG5hbWUoKVxuICBjb25zdCBbcjQyT3Blbiwgc2V0UjQyT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgdXNlciA9IGdldEF1dGhVc2VyKClcblxuICByZXR1cm4gKFxuICAgIDxUb2FzdFByb3ZpZGVyPlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIG1pbkhlaWdodDogJzEwMGR2aCcsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZyknLFxuICAgICAgICAgIHBhZGRpbmdCb3R0b206ICd2YXIoLS1uYXYtaGVpZ2h0KScsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHsvKiBNYWluIGNvbnRlbnQgKi99XG4gICAgICAgIDxtYWluIHN0eWxlPXt7IGZsZXg6IDEsIHBhZGRpbmc6ICd2YXIoLS1zLTQpJywgbWF4V2lkdGg6ICc2NDBweCcsIG1hcmdpbjogJzAgYXV0bycsIHdpZHRoOiAnMTAwJScgfX0+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L21haW4+XG5cbiAgICAgICAgey8qIFI0MiBmbG9hdGluZyBidXR0b24gKi99XG4gICAgICAgIDxSNDJCdXR0b24gb25DbGljaz17KCkgPT4gc2V0UjQyT3Blbih0cnVlKX0gLz5cblxuICAgICAgICB7LyogUjQyIGRyYXdlciAqL31cbiAgICAgICAgPFI0MkRyYXdlclxuICAgICAgICAgIG9wZW49e3I0Mk9wZW59XG4gICAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0UjQyT3BlbihmYWxzZSl9XG4gICAgICAgICAgdXNlcklkPXt1c2VyPy5pZCA/PyAnJ31cbiAgICAgICAgLz5cblxuICAgICAgICB7LyogQm90dG9tIG5hdmlnYXRpb24gKi99XG4gICAgICAgIDxuYXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgICBib3R0b206IDAsXG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICBoZWlnaHQ6ICd2YXIoLS1uYXYtaGVpZ2h0KScsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmcpJyxcbiAgICAgICAgICAgIGJvcmRlclRvcDogJzFweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgekluZGV4OiAxNTAsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtOQVZfSVRFTVMubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmUgPVxuICAgICAgICAgICAgICBpdGVtLmhyZWYgPT09ICcvYXBwJ1xuICAgICAgICAgICAgICAgID8gcGF0aG5hbWUgPT09ICcvYXBwJyB8fCBwYXRobmFtZSA9PT0gJy9hcHAvJ1xuICAgICAgICAgICAgICAgIDogcGF0aG5hbWUuc3RhcnRzV2l0aChpdGVtLmhyZWYpXG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAga2V5PXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgaHJlZj17aXRlbS5ocmVmfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgIGdhcDogJzJweCcsXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZSA/ICd2YXIoLS1hY2NlbnQpJyA6ICd2YXIoLS1mZy1tdXRlZCknLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICcyMHB4JyxcbiAgICAgICAgICAgICAgICAgIG1pbkhlaWdodDogJzQ0cHgnLFxuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4+e2l0ZW0uaWNvbn08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1sYWJlbCknLFxuICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vKScsXG4gICAgICAgICAgICAgICAgICAgIHRleHRUcmFuc2Zvcm06ICd1cHBlcmNhc2UnLFxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXJTcGFjaW5nOiAndmFyKC0tbGFiZWwtbHMpJyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogYWN0aXZlID8gNzAwIDogNDAwLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7aXRlbS5sYWJlbH1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9uYXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L1RvYXN0UHJvdmlkZXI+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwiTGluayIsInVzZVBhdGhuYW1lIiwiUjQyQnV0dG9uIiwiUjQyRHJhd2VyIiwiVG9hc3RQcm92aWRlciIsImdldEF1dGhVc2VyIiwiTkFWX0lURU1TIiwiaHJlZiIsImxhYmVsIiwiaWNvbiIsIkFwcExheW91dCIsImNoaWxkcmVuIiwicGF0aG5hbWUiLCJyNDJPcGVuIiwic2V0UjQyT3BlbiIsInVzZXIiLCJkaXYiLCJzdHlsZSIsIm1pbkhlaWdodCIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYmFja2dyb3VuZCIsInBhZGRpbmdCb3R0b20iLCJtYWluIiwiZmxleCIsInBhZGRpbmciLCJtYXhXaWR0aCIsIm1hcmdpbiIsIndpZHRoIiwib25DbGljayIsIm9wZW4iLCJvbkNsb3NlIiwidXNlcklkIiwiaWQiLCJuYXYiLCJwb3NpdGlvbiIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsImhlaWdodCIsImJvcmRlclRvcCIsInpJbmRleCIsIm1hcCIsIml0ZW0iLCJhY3RpdmUiLCJzdGFydHNXaXRoIiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwiZ2FwIiwidGV4dERlY29yYXRpb24iLCJjb2xvciIsImZvbnRTaXplIiwidHJhbnNpdGlvbiIsInNwYW4iLCJmb250RmFtaWx5IiwidGV4dFRyYW5zZm9ybSIsImxldHRlclNwYWNpbmciLCJmb250V2VpZ2h0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/app/app/layout.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/app/app/profile/page.tsx": +/*!**************************************!*\ + !*** ./src/app/app/profile/page.tsx ***! + \**************************************/ +/***/ ((__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 */ ProfilePage)\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 _lib_pocketbase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* harmony import */ var _lib_auth__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/auth */ \"(ssr)/./src/lib/auth.ts\");\n/* harmony import */ var _components_gamification_Heatmap__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/gamification/Heatmap */ \"(ssr)/./src/components/gamification/Heatmap.tsx\");\n/* harmony import */ var _components_gamification_BadgeGrid__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/gamification/BadgeGrid */ \"(ssr)/./src/components/gamification/BadgeGrid.tsx\");\n/* harmony import */ var _components_gamification_Leaderboard__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/gamification/Leaderboard */ \"(ssr)/./src/components/gamification/Leaderboard.tsx\");\n/* harmony import */ var _components_gamification_ActivityFeed__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/gamification/ActivityFeed */ \"(ssr)/./src/components/gamification/ActivityFeed.tsx\");\n/* harmony import */ var _components_ui_Button__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* harmony import */ var _lib_services__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/lib/services */ \"(ssr)/./src/lib/services.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\n\n\n\nconst LEVEL_LABELS = {\n intern: \"Intern\",\n junior: \"Junior\",\n medior: \"Medior\",\n senior: \"Senior\",\n staff: \"Staff\",\n principal: \"Principal\"\n};\nfunction ProfilePage() {\n const user = (0,_lib_auth__WEBPACK_IMPORTED_MODULE_3__.getAuthUser)();\n const [tab, setTab] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"profile\");\n const [gamification, setGamification] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [earnedBadges, setEarnedBadges] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [allBadges, setAllBadges] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [completions, setCompletions] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [leaderboard, setLeaderboard] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [feed, setFeed] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (!user) return;\n async function load() {\n setLoading(true);\n try {\n const [gamResult, badgeResult, allBadgeResult, compResult] = await Promise.allSettled([\n _lib_pocketbase__WEBPACK_IMPORTED_MODULE_2__.pb.collection(\"gamification_profiles\").getFullList({\n filter: `user=\"${user.id}\"`,\n expand: \"user\"\n }).then((r)=>r[0] ?? null),\n _lib_pocketbase__WEBPACK_IMPORTED_MODULE_2__.pb.collection(\"employee_badges\").getFullList({\n filter: `user=\"${user.id}\"`,\n expand: \"badge\"\n }),\n _lib_pocketbase__WEBPACK_IMPORTED_MODULE_2__.pb.collection(\"badges\").getFullList({\n sort: \"tier,label\"\n }),\n _lib_pocketbase__WEBPACK_IMPORTED_MODULE_2__.pb.collection(\"session_completions\").getFullList({\n filter: `user=\"${user.id}\"`,\n sort: \"-completed_at\"\n })\n ]);\n if (gamResult.status === \"fulfilled\") setGamification(gamResult.value);\n if (badgeResult.status === \"fulfilled\") setEarnedBadges(badgeResult.value);\n if (allBadgeResult.status === \"fulfilled\") setAllBadges(allBadgeResult.value);\n if (compResult.status === \"fulfilled\") setCompletions(compResult.value);\n } catch {\n // best-effort\n } finally{\n setLoading(false);\n }\n }\n void load();\n }, [\n user?.id\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (tab === \"leaderboard\") {\n (0,_lib_services__WEBPACK_IMPORTED_MODULE_9__.getLeaderboard)().then(setLeaderboard).catch(()=>{});\n }\n if (tab === \"feed\") {\n (0,_lib_services__WEBPACK_IMPORTED_MODULE_9__.getFeed)().then(setFeed).catch(()=>{});\n }\n }, [\n tab\n ]);\n if (!user) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n color: \"var(--fg-muted)\",\n textAlign: \"center\",\n padding: \"var(--s-6)\"\n },\n children: \"Not logged in.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 88,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-5)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"var(--bg-dark)\",\n color: \"var(--paper)\",\n borderRadius: \"var(--r-lg)\",\n padding: \"var(--s-5)\",\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-4)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n width: \"56px\",\n height: \"56px\",\n borderRadius: \"50%\",\n background: \"var(--accent)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n fontSize: \"var(--t-h3)\",\n fontWeight: 700,\n flexShrink: 0\n },\n children: user.display_name?.[0]?.toUpperCase() ?? user.email[0]?.toUpperCase()\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 108,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n flex: 1,\n minWidth: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n style: {\n margin: \"0 0 var(--s-1)\",\n fontSize: \"var(--t-body)\",\n fontWeight: 700\n },\n children: user.display_name || user.email\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 125,\n columnNumber: 11\n }, this),\n gamification && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-small)\",\n opacity: 0.8\n },\n children: [\n LEVEL_LABELS[gamification.current_level] ?? gamification.current_level,\n \" \\xb7\",\n \" \",\n gamification.total_commits,\n \" commits \\xb7 \",\n gamification.current_streak_weeks,\n \"w streak\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 135,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 124,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_8__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: _lib_auth__WEBPACK_IMPORTED_MODULE_3__.logout,\n style: {\n color: \"rgba(255,255,255,0.7)\",\n borderColor: \"rgba(255,255,255,0.25)\",\n flexShrink: 0\n },\n children: \"Logout\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 147,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 97,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n borderBottom: \"2px solid var(--cream)\"\n },\n children: [\n \"profile\",\n \"leaderboard\",\n \"feed\"\n ].map((t)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setTab(t),\n style: {\n flex: 1,\n background: \"none\",\n border: \"none\",\n borderBottom: `2px solid ${tab === t ? \"var(--accent)\" : \"transparent\"}`,\n marginBottom: \"-2px\",\n padding: \"var(--s-3)\",\n fontSize: \"var(--t-small)\",\n fontFamily: \"var(--font-sans)\",\n fontWeight: tab === t ? 700 : 400,\n color: tab === t ? \"var(--accent)\" : \"var(--fg-muted)\",\n cursor: \"pointer\",\n textTransform: \"capitalize\",\n minHeight: \"44px\",\n transition: \"color 150ms\"\n },\n children: t\n }, t, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 165,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 158,\n columnNumber: 7\n }, this),\n tab === \"profile\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-6)\"\n },\n children: loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n color: \"var(--fg-muted)\"\n },\n children: \"Loading…\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 194,\n columnNumber: 13\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n gamification && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"grid\",\n gridTemplateColumns: \"repeat(2, 1fr)\",\n gap: \"var(--s-3)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(StatCard, {\n label: \"Total commits\",\n value: String(gamification.total_commits)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 206,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(StatCard, {\n label: \"Current streak\",\n value: `${gamification.current_streak_weeks}w`\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 207,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(StatCard, {\n label: \"Longest streak\",\n value: `${gamification.longest_streak_weeks}w`\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 208,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(StatCard, {\n label: \"Types explored\",\n value: String(gamification.types_used.length)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 209,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 199,\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)(\"h3\", {\n style: {\n margin: \"0 0 var(--s-3)\",\n fontSize: \"var(--t-small)\",\n fontWeight: 700,\n color: \"var(--fg)\"\n },\n children: \"Activity\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 215,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_gamification_Heatmap__WEBPACK_IMPORTED_MODULE_4__.Heatmap, {\n completions: completions\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 225,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 214,\n columnNumber: 15\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)(\"h3\", {\n style: {\n margin: \"0 0 var(--s-3)\",\n fontSize: \"var(--t-small)\",\n fontWeight: 700,\n color: \"var(--fg)\"\n },\n children: [\n \"Badges (\",\n earnedBadges.length,\n \"/\",\n allBadges.length,\n \")\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 230,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_gamification_BadgeGrid__WEBPACK_IMPORTED_MODULE_5__.BadgeGrid, {\n allBadges: allBadges,\n earned: earnedBadges\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 240,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 229,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 192,\n columnNumber: 9\n }, this),\n tab === \"leaderboard\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_gamification_Leaderboard__WEBPACK_IMPORTED_MODULE_6__.Leaderboard, {\n entries: leaderboard,\n currentUserId: user.id\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 249,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 248,\n columnNumber: 9\n }, this),\n tab === \"feed\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_gamification_ActivityFeed__WEBPACK_IMPORTED_MODULE_7__.ActivityFeed, {\n entries: feed\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 255,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 254,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 95,\n columnNumber: 5\n }, this);\n}\nfunction StatCard({ label, value }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"var(--bg-warm)\",\n borderRadius: \"var(--r-md)\",\n padding: \"var(--s-4)\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-1)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n color: \"var(--fg-muted)\"\n },\n children: label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 274,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-h3)\",\n fontWeight: 700,\n color: \"var(--fg)\"\n },\n children: value\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 285,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\profile\\\\page.tsx\",\n lineNumber: 264,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QU87b0JBQUVJLFNBQVM7b0JBQVFDLGVBQWU7b0JBQVVDLEtBQUs7Z0JBQWE7MEJBQ3hFLDRFQUFDdEQsK0VBQVlBO29CQUFDb0csU0FBUzNFOzs7Ozs7Ozs7Ozs7Ozs7OztBQUtqQztBQUVBLFNBQVNtRSxTQUFTLEVBQUVDLEtBQUssRUFBRWhELEtBQUssRUFBb0M7SUFDbEUscUJBQ0UsOERBQUNFO1FBQ0NDLE9BQU87WUFDTE8sWUFBWTtZQUNaQyxjQUFjO1lBQ2RMLFNBQVM7WUFDVEMsU0FBUztZQUNUQyxlQUFlO1lBQ2ZDLEtBQUs7UUFDUDs7MEJBRUEsOERBQUNnRDtnQkFDQ3RELE9BQU87b0JBQ0xhLFVBQVU7b0JBQ1Z5QixZQUFZO29CQUNaRSxlQUFlO29CQUNmZSxlQUFlO29CQUNmdEQsT0FBTztnQkFDVDswQkFFQzRDOzs7Ozs7MEJBRUgsOERBQUNTO2dCQUFLdEQsT0FBTztvQkFBRWEsVUFBVTtvQkFBZUMsWUFBWTtvQkFBS2IsT0FBTztnQkFBWTswQkFDekVKOzs7Ozs7Ozs7Ozs7QUFJVCIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2FwcC9hcHAvcHJvZmlsZS9wYWdlLnRzeD9jY2VkIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHBiIH0gZnJvbSAnQC9saWIvcG9ja2V0YmFzZSdcbmltcG9ydCB7IGdldEF1dGhVc2VyLCBsb2dvdXQgfSBmcm9tICdAL2xpYi9hdXRoJ1xuaW1wb3J0IHsgSGVhdG1hcCB9IGZyb20gJ0AvY29tcG9uZW50cy9nYW1pZmljYXRpb24vSGVhdG1hcCdcbmltcG9ydCB7IEJhZGdlR3JpZCB9IGZyb20gJ0AvY29tcG9uZW50cy9nYW1pZmljYXRpb24vQmFkZ2VHcmlkJ1xuaW1wb3J0IHsgTGVhZGVyYm9hcmQgfSBmcm9tICdAL2NvbXBvbmVudHMvZ2FtaWZpY2F0aW9uL0xlYWRlcmJvYXJkJ1xuaW1wb3J0IHsgQWN0aXZpdHlGZWVkIH0gZnJvbSAnQC9jb21wb25lbnRzL2dhbWlmaWNhdGlvbi9BY3Rpdml0eUZlZWQnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvQnV0dG9uJ1xuaW1wb3J0IHsgZ2V0TGVhZGVyYm9hcmQsIGdldEZlZWQgfSBmcm9tICdAL2xpYi9zZXJ2aWNlcydcbmltcG9ydCB0eXBlIHtcbiAgR2FtaWZpY2F0aW9uUHJvZmlsZSxcbiAgRW1wbG95ZWVCYWRnZSxcbiAgQmFkZ2UsXG4gIFNlc3Npb25Db21wbGV0aW9uLFxuICBMZWFkZXJib2FyZEVudHJ5LFxuICBGZWVkRW50cnksXG59IGZyb20gJ0AvdHlwZXMnXG5cbnR5cGUgVGFiID0gJ3Byb2ZpbGUnIHwgJ2xlYWRlcmJvYXJkJyB8ICdmZWVkJ1xuXG5jb25zdCBMRVZFTF9MQUJFTFM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGludGVybjogJ0ludGVybicsXG4gIGp1bmlvcjogJ0p1bmlvcicsXG4gIG1lZGlvcjogJ01lZGlvcicsXG4gIHNlbmlvcjogJ1NlbmlvcicsXG4gIHN0YWZmOiAnU3RhZmYnLFxuICBwcmluY2lwYWw6ICdQcmluY2lwYWwnLFxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBQcm9maWxlUGFnZSgpIHtcbiAgY29uc3QgdXNlciA9IGdldEF1dGhVc2VyKClcbiAgY29uc3QgW3RhYiwgc2V0VGFiXSA9IHVzZVN0YXRlPFRhYj4oJ3Byb2ZpbGUnKVxuXG4gIGNvbnN0IFtnYW1pZmljYXRpb24sIHNldEdhbWlmaWNhdGlvbl0gPSB1c2VTdGF0ZTxHYW1pZmljYXRpb25Qcm9maWxlIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2Vhcm5lZEJhZGdlcywgc2V0RWFybmVkQmFkZ2VzXSA9IHVzZVN0YXRlPEVtcGxveWVlQmFkZ2VbXT4oW10pXG4gIGNvbnN0IFthbGxCYWRnZXMsIHNldEFsbEJhZGdlc10gPSB1c2VTdGF0ZTxCYWRnZVtdPihbXSlcbiAgY29uc3QgW2NvbXBsZXRpb25zLCBzZXRDb21wbGV0aW9uc10gPSB1c2VTdGF0ZTxTZXNzaW9uQ29tcGxldGlvbltdPihbXSlcbiAgY29uc3QgW2xlYWRlcmJvYXJkLCBzZXRMZWFkZXJib2FyZF0gPSB1c2VTdGF0ZTxMZWFkZXJib2FyZEVudHJ5W10+KFtdKVxuICBjb25zdCBbZmVlZCwgc2V0RmVlZF0gPSB1c2VTdGF0ZTxGZWVkRW50cnlbXT4oW10pXG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXVzZXIpIHJldHVyblxuXG4gICAgYXN5bmMgZnVuY3Rpb24gbG9hZCgpIHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IFtnYW1SZXN1bHQsIGJhZGdlUmVzdWx0LCBhbGxCYWRnZVJlc3VsdCwgY29tcFJlc3VsdF0gPSBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoW1xuICAgICAgICAgIHBiXG4gICAgICAgICAgICAuY29sbGVjdGlvbignZ2FtaWZpY2F0aW9uX3Byb2ZpbGVzJylcbiAgICAgICAgICAgIC5nZXRGdWxsTGlzdDxHYW1pZmljYXRpb25Qcm9maWxlPih7IGZpbHRlcjogYHVzZXI9XCIke3VzZXIhLmlkfVwiYCwgZXhwYW5kOiAndXNlcicgfSlcbiAgICAgICAgICAgIC50aGVuKChyKSA9PiByWzBdID8/IG51bGwpLFxuICAgICAgICAgIHBiXG4gICAgICAgICAgICAuY29sbGVjdGlvbignZW1wbG95ZWVfYmFkZ2VzJylcbiAgICAgICAgICAgIC5nZXRGdWxsTGlzdDxFbXBsb3llZUJhZGdlPih7IGZpbHRlcjogYHVzZXI9XCIke3VzZXIhLmlkfVwiYCwgZXhwYW5kOiAnYmFkZ2UnIH0pLFxuICAgICAgICAgIHBiLmNvbGxlY3Rpb24oJ2JhZGdlcycpLmdldEZ1bGxMaXN0PEJhZGdlPih7IHNvcnQ6ICd0aWVyLGxhYmVsJyB9KSxcbiAgICAgICAgICBwYlxuICAgICAgICAgICAgLmNvbGxlY3Rpb24oJ3Nlc3Npb25fY29tcGxldGlvbnMnKVxuICAgICAgICAgICAgLmdldEZ1bGxMaXN0PFNlc3Npb25Db21wbGV0aW9uPih7IGZpbHRlcjogYHVzZXI9XCIke3VzZXIhLmlkfVwiYCwgc29ydDogJy1jb21wbGV0ZWRfYXQnIH0pLFxuICAgICAgICBdKVxuXG4gICAgICAgIGlmIChnYW1SZXN1bHQuc3RhdHVzID09PSAnZnVsZmlsbGVkJykgc2V0R2FtaWZpY2F0aW9uKGdhbVJlc3VsdC52YWx1ZSlcbiAgICAgICAgaWYgKGJhZGdlUmVzdWx0LnN0YXR1cyA9PT0gJ2Z1bGZpbGxlZCcpIHNldEVhcm5lZEJhZGdlcyhiYWRnZVJlc3VsdC52YWx1ZSlcbiAgICAgICAgaWYgKGFsbEJhZGdlUmVzdWx0LnN0YXR1cyA9PT0gJ2Z1bGZpbGxlZCcpIHNldEFsbEJhZGdlcyhhbGxCYWRnZVJlc3VsdC52YWx1ZSlcbiAgICAgICAgaWYgKGNvbXBSZXN1bHQuc3RhdHVzID09PSAnZnVsZmlsbGVkJykgc2V0Q29tcGxldGlvbnMoY29tcFJlc3VsdC52YWx1ZSlcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICAvLyBiZXN0LWVmZm9ydFxuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2b2lkIGxvYWQoKVxuICB9LCBbdXNlcj8uaWRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRhYiA9PT0gJ2xlYWRlcmJvYXJkJykge1xuICAgICAgZ2V0TGVhZGVyYm9hcmQoKS50aGVuKHNldExlYWRlcmJvYXJkKS5jYXRjaCgoKSA9PiB7fSlcbiAgICB9XG4gICAgaWYgKHRhYiA9PT0gJ2ZlZWQnKSB7XG4gICAgICBnZXRGZWVkKCkudGhlbihzZXRGZWVkKS5jYXRjaCgoKSA9PiB7fSlcbiAgICB9XG4gIH0sIFt0YWJdKVxuXG4gIGlmICghdXNlcikge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IHN0eWxlPXt7IGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJywgdGV4dEFsaWduOiAnY2VudGVyJywgcGFkZGluZzogJ3ZhcigtLXMtNiknIH19PlxuICAgICAgICBOb3QgbG9nZ2VkIGluLlxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogJ3ZhcigtLXMtNSknIH19PlxuICAgICAgey8qIFVzZXIgY2FyZCAqL31cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctZGFyayknLFxuICAgICAgICAgIGNvbG9yOiAndmFyKC0tcGFwZXIpJyxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLWxnKScsXG4gICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtNSknLFxuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICBnYXA6ICd2YXIoLS1zLTQpJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICB3aWR0aDogJzU2cHgnLFxuICAgICAgICAgICAgaGVpZ2h0OiAnNTZweCcsXG4gICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWFjY2VudCknLFxuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtaDMpJyxcbiAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDcwMCxcbiAgICAgICAgICAgIGZsZXhTaHJpbms6IDAsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHt1c2VyLmRpc3BsYXlfbmFtZT8uWzBdPy50b1VwcGVyQ2FzZSgpID8/IHVzZXIuZW1haWxbMF0/LnRvVXBwZXJDYXNlKCl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IHN0eWxlPXt7IGZsZXg6IDEsIG1pbldpZHRoOiAwIH19PlxuICAgICAgICAgIDxoMlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgbWFyZ2luOiAnMCAwIHZhcigtLXMtMSknLFxuICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgICBmb250V2VpZ2h0OiA3MDAsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt1c2VyLmRpc3BsYXlfbmFtZSB8fCB1c2VyLmVtYWlsfVxuICAgICAgICAgIDwvaDI+XG4gICAgICAgICAge2dhbWlmaWNhdGlvbiAmJiAoXG4gICAgICAgICAgICA8cFxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCxcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjgsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtMRVZFTF9MQUJFTFNbZ2FtaWZpY2F0aW9uLmN1cnJlbnRfbGV2ZWxdID8/IGdhbWlmaWNhdGlvbi5jdXJyZW50X2xldmVsfSDCt3snICd9XG4gICAgICAgICAgICAgIHtnYW1pZmljYXRpb24udG90YWxfY29tbWl0c30gY29tbWl0cyDCtyB7Z2FtaWZpY2F0aW9uLmN1cnJlbnRfc3RyZWFrX3dlZWtzfXcgc3RyZWFrXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxCdXR0b25cbiAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgb25DbGljaz17bG9nb3V0fVxuICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwwLjcpJywgYm9yZGVyQ29sb3I6ICdyZ2JhKDI1NSwyNTUsMjU1LDAuMjUpJywgZmxleFNocmluazogMCB9fVxuICAgICAgICA+XG4gICAgICAgICAgTG9nb3V0XG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIHsvKiBUYWJzICovfVxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBib3JkZXJCb3R0b206ICcycHggc29saWQgdmFyKC0tY3JlYW0pJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgeyhbJ3Byb2ZpbGUnLCAnbGVhZGVyYm9hcmQnLCAnZmVlZCddIGFzIFRhYltdKS5tYXAoKHQpID0+IChcbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBrZXk9e3R9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRUYWIodCl9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAnbm9uZScsXG4gICAgICAgICAgICAgIGJvcmRlcjogJ25vbmUnLFxuICAgICAgICAgICAgICBib3JkZXJCb3R0b206IGAycHggc29saWQgJHt0YWIgPT09IHQgPyAndmFyKC0tYWNjZW50KScgOiAndHJhbnNwYXJlbnQnfWAsXG4gICAgICAgICAgICAgIG1hcmdpbkJvdHRvbTogJy0ycHgnLFxuICAgICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0zKScsXG4gICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1zbWFsbCknLFxuICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1zYW5zKScsXG4gICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IHRhYiA9PT0gdCA/IDcwMCA6IDQwMCxcbiAgICAgICAgICAgICAgY29sb3I6IHRhYiA9PT0gdCA/ICd2YXIoLS1hY2NlbnQpJyA6ICd2YXIoLS1mZy1tdXRlZCknLFxuICAgICAgICAgICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgICAgICAgICAgdGV4dFRyYW5zZm9ybTogJ2NhcGl0YWxpemUnLFxuICAgICAgICAgICAgICBtaW5IZWlnaHQ6ICc0NHB4JyxcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3R9XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICkpfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIHsvKiBUYWIgY29udGVudCAqL31cbiAgICAgIHt0YWIgPT09ICdwcm9maWxlJyAmJiAoXG4gICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAndmFyKC0tcy02KScgfX0+XG4gICAgICAgICAge2xvYWRpbmcgPyAoXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJyB9fT5Mb2FkaW5n4oCmPC9kaXY+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIHsvKiBTdGF0cyAqL31cbiAgICAgICAgICAgICAge2dhbWlmaWNhdGlvbiAmJiAoXG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2dyaWQnLFxuICAgICAgICAgICAgICAgICAgICBncmlkVGVtcGxhdGVDb2x1bW5zOiAncmVwZWF0KDIsIDFmciknLFxuICAgICAgICAgICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTMpJyxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPFN0YXRDYXJkIGxhYmVsPVwiVG90YWwgY29tbWl0c1wiIHZhbHVlPXtTdHJpbmcoZ2FtaWZpY2F0aW9uLnRvdGFsX2NvbW1pdHMpfSAvPlxuICAgICAgICAgICAgICAgICAgPFN0YXRDYXJkIGxhYmVsPVwiQ3VycmVudCBzdHJlYWtcIiB2YWx1ZT17YCR7Z2FtaWZpY2F0aW9uLmN1cnJlbnRfc3RyZWFrX3dlZWtzfXdgfSAvPlxuICAgICAgICAgICAgICAgICAgPFN0YXRDYXJkIGxhYmVsPVwiTG9uZ2VzdCBzdHJlYWtcIiB2YWx1ZT17YCR7Z2FtaWZpY2F0aW9uLmxvbmdlc3Rfc3RyZWFrX3dlZWtzfXdgfSAvPlxuICAgICAgICAgICAgICAgICAgPFN0YXRDYXJkIGxhYmVsPVwiVHlwZXMgZXhwbG9yZWRcIiB2YWx1ZT17U3RyaW5nKGdhbWlmaWNhdGlvbi50eXBlc191c2VkLmxlbmd0aCl9IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgey8qIEhlYXRtYXAgKi99XG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPGgzXG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICcwIDAgdmFyKC0tcy0zKScsXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1zbWFsbCknLFxuICAgICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiA3MDAsXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgQWN0aXZpdHlcbiAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgIDxIZWF0bWFwIGNvbXBsZXRpb25zPXtjb21wbGV0aW9uc30gLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgey8qIEJhZGdlcyAqL31cbiAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8aDNcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJzAgMCB2YXIoLS1zLTMpJyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LXNtYWxsKScsXG4gICAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDcwMCxcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZyknLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBCYWRnZXMgKHtlYXJuZWRCYWRnZXMubGVuZ3RofS97YWxsQmFkZ2VzLmxlbmd0aH0pXG4gICAgICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgICAgICA8QmFkZ2VHcmlkIGFsbEJhZGdlcz17YWxsQmFkZ2VzfSBlYXJuZWQ9e2Vhcm5lZEJhZGdlc30gLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG5cbiAgICAgIHt0YWIgPT09ICdsZWFkZXJib2FyZCcgJiYgKFxuICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogJ3ZhcigtLXMtNCknIH19PlxuICAgICAgICAgIDxMZWFkZXJib2FyZCBlbnRyaWVzPXtsZWFkZXJib2FyZH0gY3VycmVudFVzZXJJZD17dXNlci5pZH0gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuXG4gICAgICB7dGFiID09PSAnZmVlZCcgJiYgKFxuICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogJ3ZhcigtLXMtNCknIH19PlxuICAgICAgICAgIDxBY3Rpdml0eUZlZWQgZW50cmllcz17ZmVlZH0gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApXG59XG5cbmZ1bmN0aW9uIFN0YXRDYXJkKHsgbGFiZWwsIHZhbHVlIH06IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnLXdhcm0pJyxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1tZCknLFxuICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy00KScsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgIGdhcDogJ3ZhcigtLXMtMSknLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1sYWJlbCknLFxuICAgICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LW1vbm8pJyxcbiAgICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcbiAgICAgICAgICBsZXR0ZXJTcGFjaW5nOiAndmFyKC0tbGFiZWwtbHMpJyxcbiAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtsYWJlbH1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIHN0eWxlPXt7IGZvbnRTaXplOiAndmFyKC0tdC1oMyknLCBmb250V2VpZ2h0OiA3MDAsIGNvbG9yOiAndmFyKC0tZmcpJyB9fT5cbiAgICAgICAge3ZhbHVlfVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInBiIiwiZ2V0QXV0aFVzZXIiLCJsb2dvdXQiLCJIZWF0bWFwIiwiQmFkZ2VHcmlkIiwiTGVhZGVyYm9hcmQiLCJBY3Rpdml0eUZlZWQiLCJCdXR0b24iLCJnZXRMZWFkZXJib2FyZCIsImdldEZlZWQiLCJMRVZFTF9MQUJFTFMiLCJpbnRlcm4iLCJqdW5pb3IiLCJtZWRpb3IiLCJzZW5pb3IiLCJzdGFmZiIsInByaW5jaXBhbCIsIlByb2ZpbGVQYWdlIiwidXNlciIsInRhYiIsInNldFRhYiIsImdhbWlmaWNhdGlvbiIsInNldEdhbWlmaWNhdGlvbiIsImVhcm5lZEJhZGdlcyIsInNldEVhcm5lZEJhZGdlcyIsImFsbEJhZGdlcyIsInNldEFsbEJhZGdlcyIsImNvbXBsZXRpb25zIiwic2V0Q29tcGxldGlvbnMiLCJsZWFkZXJib2FyZCIsInNldExlYWRlcmJvYXJkIiwiZmVlZCIsInNldEZlZWQiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsImxvYWQiLCJnYW1SZXN1bHQiLCJiYWRnZVJlc3VsdCIsImFsbEJhZGdlUmVzdWx0IiwiY29tcFJlc3VsdCIsIlByb21pc2UiLCJhbGxTZXR0bGVkIiwiY29sbGVjdGlvbiIsImdldEZ1bGxMaXN0IiwiZmlsdGVyIiwiaWQiLCJleHBhbmQiLCJ0aGVuIiwiciIsInNvcnQiLCJzdGF0dXMiLCJ2YWx1ZSIsImNhdGNoIiwiZGl2Iiwic3R5bGUiLCJjb2xvciIsInRleHRBbGlnbiIsInBhZGRpbmciLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImdhcCIsImJhY2tncm91bmQiLCJib3JkZXJSYWRpdXMiLCJhbGlnbkl0ZW1zIiwid2lkdGgiLCJoZWlnaHQiLCJqdXN0aWZ5Q29udGVudCIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsImZsZXhTaHJpbmsiLCJkaXNwbGF5X25hbWUiLCJ0b1VwcGVyQ2FzZSIsImVtYWlsIiwiZmxleCIsIm1pbldpZHRoIiwiaDIiLCJtYXJnaW4iLCJwIiwib3BhY2l0eSIsImN1cnJlbnRfbGV2ZWwiLCJ0b3RhbF9jb21taXRzIiwiY3VycmVudF9zdHJlYWtfd2Vla3MiLCJ2YXJpYW50Iiwic2l6ZSIsIm9uQ2xpY2siLCJib3JkZXJDb2xvciIsImJvcmRlckJvdHRvbSIsIm1hcCIsInQiLCJidXR0b24iLCJib3JkZXIiLCJtYXJnaW5Cb3R0b20iLCJmb250RmFtaWx5IiwiY3Vyc29yIiwidGV4dFRyYW5zZm9ybSIsIm1pbkhlaWdodCIsInRyYW5zaXRpb24iLCJncmlkVGVtcGxhdGVDb2x1bW5zIiwiU3RhdENhcmQiLCJsYWJlbCIsIlN0cmluZyIsImxvbmdlc3Rfc3RyZWFrX3dlZWtzIiwidHlwZXNfdXNlZCIsImxlbmd0aCIsImgzIiwiZWFybmVkIiwiZW50cmllcyIsImN1cnJlbnRVc2VySWQiLCJzcGFuIiwibGV0dGVyU3BhY2luZyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/app/app/profile/page.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/gamification/ActivityFeed.tsx": +/*!******************************************************!*\ + !*** ./src/components/gamification/ActivityFeed.tsx ***! + \******************************************************/ +/***/ ((__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 */ ActivityFeed: () => (/* binding */ ActivityFeed)\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/* __next_internal_client_entry_do_not_use__ ActivityFeed auto */ \n\nfunction formatDate(iso) {\n try {\n return new Intl.DateTimeFormat(\"en\", {\n month: \"short\",\n day: \"numeric\"\n }).format(new Date(iso));\n } catch {\n return iso;\n }\n}\nfunction ActivityFeed({ entries }) {\n if (entries.length === 0) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n textAlign: \"center\",\n color: \"var(--fg-muted)\",\n padding: \"var(--s-6)\",\n fontSize: \"var(--t-body)\"\n },\n children: \"No activity yet.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\ActivityFeed.tsx\",\n lineNumber: 20,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-3)\"\n },\n children: entries.map((entry)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"var(--bg-warm)\",\n borderRadius: \"var(--r-md)\",\n padding: \"var(--s-4)\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-2)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"flex-start\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontWeight: 600,\n fontSize: \"var(--t-body)\",\n color: \"var(--fg)\"\n },\n children: entry.displayName\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\ActivityFeed.tsx\",\n lineNumber: 48,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n color: \"var(--fg-subtle)\"\n },\n children: formatDate(entry.createdAt)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\ActivityFeed.tsx\",\n lineNumber: 51,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\ActivityFeed.tsx\",\n lineNumber: 47,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n gap: \"var(--s-4)\",\n flexWrap: \"wrap\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Stat, {\n label: \"Cycle\",\n value: `${entry.cycle}`\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\ActivityFeed.tsx\",\n lineNumber: 63,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Stat, {\n label: \"Week\",\n value: `${entry.week}`\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\ActivityFeed.tsx\",\n lineNumber: 64,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Stat, {\n label: \"Commits\",\n value: `${entry.totalCommits}`\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\ActivityFeed.tsx\",\n lineNumber: 65,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Stat, {\n label: \"Streak\",\n value: `${entry.streakWeeks}w`\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\ActivityFeed.tsx\",\n lineNumber: 66,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\ActivityFeed.tsx\",\n lineNumber: 62,\n columnNumber: 11\n }, this),\n entry.badgeKeys.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: \"var(--s-1)\"\n },\n children: entry.badgeKeys.map((key)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n padding: \"2px var(--s-2)\",\n borderRadius: \"var(--r-pill)\",\n background: \"var(--accent-soft)\",\n color: \"var(--teal-900)\"\n },\n children: key\n }, key, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\ActivityFeed.tsx\",\n lineNumber: 72,\n columnNumber: 17\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\ActivityFeed.tsx\",\n lineNumber: 70,\n columnNumber: 13\n }, this)\n ]\n }, entry.id, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\ActivityFeed.tsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\ActivityFeed.tsx\",\n lineNumber: 34,\n columnNumber: 5\n }, this);\n}\nfunction Stat({ label, value }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"2px\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n color: \"var(--fg-subtle)\"\n },\n children: label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\ActivityFeed.tsx\",\n lineNumber: 99,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-small)\",\n fontWeight: 600,\n color: \"var(--fg)\"\n },\n children: value\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\ActivityFeed.tsx\",\n lineNumber: 110,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\ActivityFeed.tsx\",\n lineNumber: 98,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9nYW1pZmljYXRpb24vQWN0aXZpdHlGZWVkLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDeUI7QUFPekIsU0FBU0MsV0FBV0MsR0FBVztJQUM3QixJQUFJO1FBQ0YsT0FBTyxJQUFJQyxLQUFLQyxjQUFjLENBQUMsTUFBTTtZQUFFQyxPQUFPO1lBQVNDLEtBQUs7UUFBVSxHQUFHQyxNQUFNLENBQUMsSUFBSUMsS0FBS047SUFDM0YsRUFBRSxPQUFNO1FBQ04sT0FBT0E7SUFDVDtBQUNGO0FBRU8sU0FBU08sYUFBYSxFQUFFQyxPQUFPLEVBQXFCO0lBQ3pELElBQUlBLFFBQVFDLE1BQU0sS0FBSyxHQUFHO1FBQ3hCLHFCQUNFLDhEQUFDQztZQUNDQyxPQUFPO2dCQUNMQyxXQUFXO2dCQUNYQyxPQUFPO2dCQUNQQyxTQUFTO2dCQUNUQyxVQUFVO1lBQ1o7c0JBQ0Q7Ozs7OztJQUlMO0lBRUEscUJBQ0UsOERBQUNMO1FBQUlDLE9BQU87WUFBRUssU0FBUztZQUFRQyxlQUFlO1lBQVVDLEtBQUs7UUFBYTtrQkFDdkVWLFFBQVFXLEdBQUcsQ0FBQyxDQUFDQyxzQkFDWiw4REFBQ1Y7Z0JBRUNDLE9BQU87b0JBQ0xVLFlBQVk7b0JBQ1pDLGNBQWM7b0JBQ2RSLFNBQVM7b0JBQ1RFLFNBQVM7b0JBQ1RDLGVBQWU7b0JBQ2ZDLEtBQUs7Z0JBQ1A7O2tDQUVBLDhEQUFDUjt3QkFBSUMsT0FBTzs0QkFBRUssU0FBUzs0QkFBUU8sZ0JBQWdCOzRCQUFpQkMsWUFBWTt3QkFBYTs7MENBQ3ZGLDhEQUFDQztnQ0FBS2QsT0FBTztvQ0FBRWUsWUFBWTtvQ0FBS1gsVUFBVTtvQ0FBaUJGLE9BQU87Z0NBQVk7MENBQzNFTyxNQUFNTyxXQUFXOzs7Ozs7MENBRXBCLDhEQUFDRjtnQ0FDQ2QsT0FBTztvQ0FDTEksVUFBVTtvQ0FDVmEsWUFBWTtvQ0FDWmYsT0FBTztnQ0FDVDswQ0FFQ2QsV0FBV3FCLE1BQU1TLFNBQVM7Ozs7Ozs7Ozs7OztrQ0FJL0IsOERBQUNuQjt3QkFBSUMsT0FBTzs0QkFBRUssU0FBUzs0QkFBUUUsS0FBSzs0QkFBY1ksVUFBVTt3QkFBTzs7MENBQ2pFLDhEQUFDQztnQ0FBS0MsT0FBTTtnQ0FBUUMsT0FBTyxDQUFDLEVBQUViLE1BQU1jLEtBQUssQ0FBQyxDQUFDOzs7Ozs7MENBQzNDLDhEQUFDSDtnQ0FBS0MsT0FBTTtnQ0FBT0MsT0FBTyxDQUFDLEVBQUViLE1BQU1lLElBQUksQ0FBQyxDQUFDOzs7Ozs7MENBQ3pDLDhEQUFDSjtnQ0FBS0MsT0FBTTtnQ0FBVUMsT0FBTyxDQUFDLEVBQUViLE1BQU1nQixZQUFZLENBQUMsQ0FBQzs7Ozs7OzBDQUNwRCw4REFBQ0w7Z0NBQUtDLE9BQU07Z0NBQVNDLE9BQU8sQ0FBQyxFQUFFYixNQUFNaUIsV0FBVyxDQUFDLENBQUMsQ0FBQzs7Ozs7Ozs7Ozs7O29CQUdwRGpCLE1BQU1rQixTQUFTLENBQUM3QixNQUFNLEdBQUcsbUJBQ3hCLDhEQUFDQzt3QkFBSUMsT0FBTzs0QkFBRUssU0FBUzs0QkFBUWMsVUFBVTs0QkFBUVosS0FBSzt3QkFBYTtrQ0FDaEVFLE1BQU1rQixTQUFTLENBQUNuQixHQUFHLENBQUMsQ0FBQ29CLG9CQUNwQiw4REFBQ2Q7Z0NBRUNkLE9BQU87b0NBQ0xJLFVBQVU7b0NBQ1ZhLFlBQVk7b0NBQ1pZLGVBQWU7b0NBQ2ZDLGVBQWU7b0NBQ2YzQixTQUFTO29DQUNUUSxjQUFjO29DQUNkRCxZQUFZO29DQUNaUixPQUFPO2dDQUNUOzBDQUVDMEI7K0JBWklBOzs7Ozs7Ozs7OztlQXBDUm5CLE1BQU1zQixFQUFFOzs7Ozs7Ozs7O0FBeUR2QjtBQUVBLFNBQVNYLEtBQUssRUFBRUMsS0FBSyxFQUFFQyxLQUFLLEVBQW9DO0lBQzlELHFCQUNFLDhEQUFDdkI7UUFBSUMsT0FBTztZQUFFSyxTQUFTO1lBQVFDLGVBQWU7WUFBVUMsS0FBSztRQUFNOzswQkFDakUsOERBQUNPO2dCQUNDZCxPQUFPO29CQUNMSSxVQUFVO29CQUNWYSxZQUFZO29CQUNaWSxlQUFlO29CQUNmQyxlQUFlO29CQUNmNUIsT0FBTztnQkFDVDswQkFFQ21COzs7Ozs7MEJBRUgsOERBQUNQO2dCQUFLZCxPQUFPO29CQUFFSSxVQUFVO29CQUFrQlcsWUFBWTtvQkFBS2IsT0FBTztnQkFBWTswQkFDNUVvQjs7Ozs7Ozs7Ozs7O0FBSVQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9jb21wb25lbnRzL2dhbWlmaWNhdGlvbi9BY3Rpdml0eUZlZWQudHN4PzUxMDIiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IEZlZWRFbnRyeSB9IGZyb20gJ0AvdHlwZXMnXG5cbmludGVyZmFjZSBBY3Rpdml0eUZlZWRQcm9wcyB7XG4gIGVudHJpZXM6IEZlZWRFbnRyeVtdXG59XG5cbmZ1bmN0aW9uIGZvcm1hdERhdGUoaXNvOiBzdHJpbmcpOiBzdHJpbmcge1xuICB0cnkge1xuICAgIHJldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgnZW4nLCB7IG1vbnRoOiAnc2hvcnQnLCBkYXk6ICdudW1lcmljJyB9KS5mb3JtYXQobmV3IERhdGUoaXNvKSlcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGlzb1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBY3Rpdml0eUZlZWQoeyBlbnRyaWVzIH06IEFjdGl2aXR5RmVlZFByb3BzKSB7XG4gIGlmIChlbnRyaWVzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtNiknLFxuICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIE5vIGFjdGl2aXR5IHlldC5cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBnYXA6ICd2YXIoLS1zLTMpJyB9fT5cbiAgICAgIHtlbnRyaWVzLm1hcCgoZW50cnkpID0+IChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGtleT17ZW50cnkuaWR9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZy13YXJtKScsXG4gICAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLW1kKScsXG4gICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy00KScsXG4gICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICAgIGdhcDogJ3ZhcigtLXMtMiknLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJywgYWxpZ25JdGVtczogJ2ZsZXgtc3RhcnQnIH19PlxuICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgZm9udFdlaWdodDogNjAwLCBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLCBjb2xvcjogJ3ZhcigtLWZnKScgfX0+XG4gICAgICAgICAgICAgIHtlbnRyeS5kaXNwbGF5TmFtZX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWxhYmVsKScsXG4gICAgICAgICAgICAgICAgZm9udEZhbWlseTogJ3ZhcigtLWZvbnQtbW9ubyknLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmctc3VidGxlKScsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtmb3JtYXREYXRlKGVudHJ5LmNyZWF0ZWRBdCl9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZ2FwOiAndmFyKC0tcy00KScsIGZsZXhXcmFwOiAnd3JhcCcgfX0+XG4gICAgICAgICAgICA8U3RhdCBsYWJlbD1cIkN5Y2xlXCIgdmFsdWU9e2Ake2VudHJ5LmN5Y2xlfWB9IC8+XG4gICAgICAgICAgICA8U3RhdCBsYWJlbD1cIldlZWtcIiB2YWx1ZT17YCR7ZW50cnkud2Vla31gfSAvPlxuICAgICAgICAgICAgPFN0YXQgbGFiZWw9XCJDb21taXRzXCIgdmFsdWU9e2Ake2VudHJ5LnRvdGFsQ29tbWl0c31gfSAvPlxuICAgICAgICAgICAgPFN0YXQgbGFiZWw9XCJTdHJlYWtcIiB2YWx1ZT17YCR7ZW50cnkuc3RyZWFrV2Vla3N9d2B9IC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICB7ZW50cnkuYmFkZ2VLZXlzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXhXcmFwOiAnd3JhcCcsIGdhcDogJ3ZhcigtLXMtMSknIH19PlxuICAgICAgICAgICAgICB7ZW50cnkuYmFkZ2VLZXlzLm1hcCgoa2V5KSA9PiAoXG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgIGtleT17a2V5fVxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWxhYmVsKScsXG4gICAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LW1vbm8pJyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsXG4gICAgICAgICAgICAgICAgICAgIGxldHRlclNwYWNpbmc6ICd2YXIoLS1sYWJlbC1scyknLFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAnMnB4IHZhcigtLXMtMiknLFxuICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXBpbGwpJyxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWFjY2VudC1zb2Z0KScsXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tdGVhbC05MDApJyxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2tleX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApKX1cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5mdW5jdGlvbiBTdGF0KHsgbGFiZWwsIHZhbHVlIH06IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBnYXA6ICcycHgnIH19PlxuICAgICAgPHNwYW5cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtbGFiZWwpJyxcbiAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vKScsXG4gICAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsXG4gICAgICAgICAgbGV0dGVyU3BhY2luZzogJ3ZhcigtLWxhYmVsLWxzKScsXG4gICAgICAgICAgY29sb3I6ICd2YXIoLS1mZy1zdWJ0bGUpJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge2xhYmVsfVxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gc3R5bGU9e3sgZm9udFNpemU6ICd2YXIoLS10LXNtYWxsKScsIGZvbnRXZWlnaHQ6IDYwMCwgY29sb3I6ICd2YXIoLS1mZyknIH19PlxuICAgICAgICB7dmFsdWV9XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsImZvcm1hdERhdGUiLCJpc28iLCJJbnRsIiwiRGF0ZVRpbWVGb3JtYXQiLCJtb250aCIsImRheSIsImZvcm1hdCIsIkRhdGUiLCJBY3Rpdml0eUZlZWQiLCJlbnRyaWVzIiwibGVuZ3RoIiwiZGl2Iiwic3R5bGUiLCJ0ZXh0QWxpZ24iLCJjb2xvciIsInBhZGRpbmciLCJmb250U2l6ZSIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiZ2FwIiwibWFwIiwiZW50cnkiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyUmFkaXVzIiwianVzdGlmeUNvbnRlbnQiLCJhbGlnbkl0ZW1zIiwic3BhbiIsImZvbnRXZWlnaHQiLCJkaXNwbGF5TmFtZSIsImZvbnRGYW1pbHkiLCJjcmVhdGVkQXQiLCJmbGV4V3JhcCIsIlN0YXQiLCJsYWJlbCIsInZhbHVlIiwiY3ljbGUiLCJ3ZWVrIiwidG90YWxDb21taXRzIiwic3RyZWFrV2Vla3MiLCJiYWRnZUtleXMiLCJrZXkiLCJ0ZXh0VHJhbnNmb3JtIiwibGV0dGVyU3BhY2luZyIsImlkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/gamification/ActivityFeed.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/gamification/BadgeGrid.tsx": +/*!***************************************************!*\ + !*** ./src/components/gamification/BadgeGrid.tsx ***! + \***************************************************/ +/***/ ((__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 */ BadgeGrid: () => (/* binding */ BadgeGrid)\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/* __next_internal_client_entry_do_not_use__ BadgeGrid auto */ \n\nconst TIER_COLORS = {\n bronze: {\n bg: \"#f5e0c8\",\n border: \"#c8914f\",\n label: \"#7a4f2a\"\n },\n silver: {\n bg: \"#ececec\",\n border: \"#a8a8a8\",\n label: \"#555\"\n },\n gold: {\n bg: \"#fff3cc\",\n border: \"#e6b800\",\n label: \"#6b5000\"\n },\n legendary: {\n bg: \"#ede0ff\",\n border: \"var(--purple)\",\n label: \"var(--purple-700)\"\n },\n content: {\n bg: \"var(--bg-warm)\",\n border: \"var(--cream)\",\n label: \"var(--fg-muted)\"\n }\n};\nfunction BadgeGrid({ allBadges, earned }) {\n const earnedKeys = new Set(earned.map((e)=>e.badge));\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"grid\",\n gridTemplateColumns: \"repeat(auto-fill, minmax(140px, 1fr))\",\n gap: \"var(--s-3)\"\n },\n children: allBadges.map((badge)=>{\n const isEarned = earnedKeys.has(badge.id);\n const tier = TIER_COLORS[badge.tier];\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: isEarned ? tier.bg : \"var(--bg-warm)\",\n border: `2px solid ${isEarned ? tier.border : \"var(--cream)\"}`,\n borderRadius: \"var(--r-md)\",\n padding: \"var(--s-4)\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: \"var(--s-2)\",\n textAlign: \"center\",\n opacity: isEarned ? 1 : 0.45,\n transition: \"opacity 200ms\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"28px\",\n lineHeight: 1\n },\n children: badge.icon\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\BadgeGrid.tsx\",\n lineNumber: 49,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-small)\",\n fontWeight: 600,\n color: isEarned ? tier.label : \"var(--fg-muted)\",\n lineHeight: 1.3\n },\n children: badge.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\BadgeGrid.tsx\",\n lineNumber: 50,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n color: isEarned ? tier.label : \"var(--fg-subtle)\",\n opacity: 0.75\n },\n children: badge.tier\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\BadgeGrid.tsx\",\n lineNumber: 60,\n columnNumber: 13\n }, this),\n isEarned && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n color: isEarned ? tier.label : \"var(--fg-subtle)\",\n opacity: 0.7\n },\n children: badge.description\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\BadgeGrid.tsx\",\n lineNumber: 73,\n columnNumber: 15\n }, this)\n ]\n }, badge.id, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\BadgeGrid.tsx\",\n lineNumber: 33,\n columnNumber: 11\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\BadgeGrid.tsx\",\n lineNumber: 22,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9nYW1pZmljYXRpb24vQmFkZ2VHcmlkLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDeUI7QUFRekIsTUFBTUMsY0FBb0Y7SUFDeEZDLFFBQVE7UUFBRUMsSUFBSTtRQUFXQyxRQUFRO1FBQVdDLE9BQU87SUFBVTtJQUM3REMsUUFBUTtRQUFFSCxJQUFJO1FBQVdDLFFBQVE7UUFBV0MsT0FBTztJQUFPO0lBQzFERSxNQUFNO1FBQUVKLElBQUk7UUFBV0MsUUFBUTtRQUFXQyxPQUFPO0lBQVU7SUFDM0RHLFdBQVc7UUFBRUwsSUFBSTtRQUFXQyxRQUFRO1FBQWlCQyxPQUFPO0lBQW9CO0lBQ2hGSSxTQUFTO1FBQUVOLElBQUk7UUFBa0JDLFFBQVE7UUFBZ0JDLE9BQU87SUFBa0I7QUFDcEY7QUFFTyxTQUFTSyxVQUFVLEVBQUVDLFNBQVMsRUFBRUMsTUFBTSxFQUFrQjtJQUM3RCxNQUFNQyxhQUFhLElBQUlDLElBQUlGLE9BQU9HLEdBQUcsQ0FBQyxDQUFDQyxJQUFNQSxFQUFFQyxLQUFLO0lBRXBELHFCQUNFLDhEQUFDQztRQUNDQyxPQUFPO1lBQ0xDLFNBQVM7WUFDVEMscUJBQXFCO1lBQ3JCQyxLQUFLO1FBQ1A7a0JBRUNYLFVBQVVJLEdBQUcsQ0FBQyxDQUFDRTtZQUNkLE1BQU1NLFdBQVdWLFdBQVdXLEdBQUcsQ0FBQ1AsTUFBTVEsRUFBRTtZQUN4QyxNQUFNQyxPQUFPekIsV0FBVyxDQUFDZ0IsTUFBTVMsSUFBSSxDQUFDO1lBQ3BDLHFCQUNFLDhEQUFDUjtnQkFFQ0MsT0FBTztvQkFDTFEsWUFBWUosV0FBV0csS0FBS3ZCLEVBQUUsR0FBRztvQkFDakNDLFFBQVEsQ0FBQyxVQUFVLEVBQUVtQixXQUFXRyxLQUFLdEIsTUFBTSxHQUFHLGVBQWUsQ0FBQztvQkFDOUR3QixjQUFjO29CQUNkQyxTQUFTO29CQUNUVCxTQUFTO29CQUNUVSxlQUFlO29CQUNmQyxZQUFZO29CQUNaVCxLQUFLO29CQUNMVSxXQUFXO29CQUNYQyxTQUFTVixXQUFXLElBQUk7b0JBQ3hCVyxZQUFZO2dCQUNkOztrQ0FFQSw4REFBQ0M7d0JBQUtoQixPQUFPOzRCQUFFaUIsVUFBVTs0QkFBUUMsWUFBWTt3QkFBRTtrQ0FBSXBCLE1BQU1xQixJQUFJOzs7Ozs7a0NBQzdELDhEQUFDSDt3QkFDQ2hCLE9BQU87NEJBQ0xpQixVQUFVOzRCQUNWRyxZQUFZOzRCQUNaQyxPQUFPakIsV0FBV0csS0FBS3JCLEtBQUssR0FBRzs0QkFDL0JnQyxZQUFZO3dCQUNkO2tDQUVDcEIsTUFBTVosS0FBSzs7Ozs7O2tDQUVkLDhEQUFDOEI7d0JBQ0NoQixPQUFPOzRCQUNMaUIsVUFBVTs0QkFDVkssWUFBWTs0QkFDWkMsZUFBZTs0QkFDZkMsZUFBZTs0QkFDZkgsT0FBT2pCLFdBQVdHLEtBQUtyQixLQUFLLEdBQUc7NEJBQy9CNEIsU0FBUzt3QkFDWDtrQ0FFQ2hCLE1BQU1TLElBQUk7Ozs7OztvQkFFWkgsMEJBQ0MsOERBQUNZO3dCQUNDaEIsT0FBTzs0QkFDTGlCLFVBQVU7NEJBQ1ZLLFlBQVk7NEJBQ1pELE9BQU9qQixXQUFXRyxLQUFLckIsS0FBSyxHQUFHOzRCQUMvQjRCLFNBQVM7d0JBQ1g7a0NBRUNoQixNQUFNMkIsV0FBVzs7Ozs7OztlQS9DakIzQixNQUFNUSxFQUFFOzs7OztRQW9EbkI7Ozs7OztBQUdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy9nYW1pZmljYXRpb24vQmFkZ2VHcmlkLnRzeD80YjU4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBCYWRnZSwgRW1wbG95ZWVCYWRnZSB9IGZyb20gJ0AvdHlwZXMnXG5cbmludGVyZmFjZSBCYWRnZUdyaWRQcm9wcyB7XG4gIGFsbEJhZGdlczogQmFkZ2VbXVxuICBlYXJuZWQ6IEVtcGxveWVlQmFkZ2VbXVxufVxuXG5jb25zdCBUSUVSX0NPTE9SUzogUmVjb3JkPEJhZGdlWyd0aWVyJ10sIHsgYmc6IHN0cmluZzsgYm9yZGVyOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfT4gPSB7XG4gIGJyb256ZTogeyBiZzogJyNmNWUwYzgnLCBib3JkZXI6ICcjYzg5MTRmJywgbGFiZWw6ICcjN2E0ZjJhJyB9LFxuICBzaWx2ZXI6IHsgYmc6ICcjZWNlY2VjJywgYm9yZGVyOiAnI2E4YThhOCcsIGxhYmVsOiAnIzU1NScgfSxcbiAgZ29sZDogeyBiZzogJyNmZmYzY2MnLCBib3JkZXI6ICcjZTZiODAwJywgbGFiZWw6ICcjNmI1MDAwJyB9LFxuICBsZWdlbmRhcnk6IHsgYmc6ICcjZWRlMGZmJywgYm9yZGVyOiAndmFyKC0tcHVycGxlKScsIGxhYmVsOiAndmFyKC0tcHVycGxlLTcwMCknIH0sXG4gIGNvbnRlbnQ6IHsgYmc6ICd2YXIoLS1iZy13YXJtKScsIGJvcmRlcjogJ3ZhcigtLWNyZWFtKScsIGxhYmVsOiAndmFyKC0tZmctbXV0ZWQpJyB9LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gQmFkZ2VHcmlkKHsgYWxsQmFkZ2VzLCBlYXJuZWQgfTogQmFkZ2VHcmlkUHJvcHMpIHtcbiAgY29uc3QgZWFybmVkS2V5cyA9IG5ldyBTZXQoZWFybmVkLm1hcCgoZSkgPT4gZS5iYWRnZSkpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBzdHlsZT17e1xuICAgICAgICBkaXNwbGF5OiAnZ3JpZCcsXG4gICAgICAgIGdyaWRUZW1wbGF0ZUNvbHVtbnM6ICdyZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTQwcHgsIDFmcikpJyxcbiAgICAgICAgZ2FwOiAndmFyKC0tcy0zKScsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHthbGxCYWRnZXMubWFwKChiYWRnZSkgPT4ge1xuICAgICAgICBjb25zdCBpc0Vhcm5lZCA9IGVhcm5lZEtleXMuaGFzKGJhZGdlLmlkKVxuICAgICAgICBjb25zdCB0aWVyID0gVElFUl9DT0xPUlNbYmFkZ2UudGllcl1cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBrZXk9e2JhZGdlLmlkfVxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogaXNFYXJuZWQgPyB0aWVyLmJnIDogJ3ZhcigtLWJnLXdhcm0pJyxcbiAgICAgICAgICAgICAgYm9yZGVyOiBgMnB4IHNvbGlkICR7aXNFYXJuZWQgPyB0aWVyLmJvcmRlciA6ICd2YXIoLS1jcmVhbSknfWAsXG4gICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJ3ZhcigtLXItbWQpJyxcbiAgICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtNCknLFxuICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgZ2FwOiAndmFyKC0tcy0yKScsXG4gICAgICAgICAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgICAgICAgICAgIG9wYWNpdHk6IGlzRWFybmVkID8gMSA6IDAuNDUsXG4gICAgICAgICAgICAgIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgZm9udFNpemU6ICcyOHB4JywgbGluZUhlaWdodDogMSB9fT57YmFkZ2UuaWNvbn08L3NwYW4+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1zbWFsbCknLFxuICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDYwMCxcbiAgICAgICAgICAgICAgICBjb2xvcjogaXNFYXJuZWQgPyB0aWVyLmxhYmVsIDogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgICAgICAgbGluZUhlaWdodDogMS4zLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7YmFkZ2UubGFiZWx9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1sYWJlbCknLFxuICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LW1vbm8pJyxcbiAgICAgICAgICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcbiAgICAgICAgICAgICAgICBsZXR0ZXJTcGFjaW5nOiAndmFyKC0tbGFiZWwtbHMpJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogaXNFYXJuZWQgPyB0aWVyLmxhYmVsIDogJ3ZhcigtLWZnLXN1YnRsZSknLFxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNzUsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtiYWRnZS50aWVyfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAge2lzRWFybmVkICYmIChcbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWxhYmVsKScsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vKScsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogaXNFYXJuZWQgPyB0aWVyLmxhYmVsIDogJ3ZhcigtLWZnLXN1YnRsZSknLFxuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC43LFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7YmFkZ2UuZGVzY3JpcHRpb259XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICAgIH0pfVxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJUSUVSX0NPTE9SUyIsImJyb256ZSIsImJnIiwiYm9yZGVyIiwibGFiZWwiLCJzaWx2ZXIiLCJnb2xkIiwibGVnZW5kYXJ5IiwiY29udGVudCIsIkJhZGdlR3JpZCIsImFsbEJhZGdlcyIsImVhcm5lZCIsImVhcm5lZEtleXMiLCJTZXQiLCJtYXAiLCJlIiwiYmFkZ2UiLCJkaXYiLCJzdHlsZSIsImRpc3BsYXkiLCJncmlkVGVtcGxhdGVDb2x1bW5zIiwiZ2FwIiwiaXNFYXJuZWQiLCJoYXMiLCJpZCIsInRpZXIiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyUmFkaXVzIiwicGFkZGluZyIsImZsZXhEaXJlY3Rpb24iLCJhbGlnbkl0ZW1zIiwidGV4dEFsaWduIiwib3BhY2l0eSIsInRyYW5zaXRpb24iLCJzcGFuIiwiZm9udFNpemUiLCJsaW5lSGVpZ2h0IiwiaWNvbiIsImZvbnRXZWlnaHQiLCJjb2xvciIsImZvbnRGYW1pbHkiLCJ0ZXh0VHJhbnNmb3JtIiwibGV0dGVyU3BhY2luZyIsImRlc2NyaXB0aW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/gamification/BadgeGrid.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/gamification/Heatmap.tsx": +/*!*************************************************!*\ + !*** ./src/components/gamification/Heatmap.tsx ***! + \*************************************************/ +/***/ ((__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 */ Heatmap: () => (/* binding */ Heatmap)\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/* __next_internal_client_entry_do_not_use__ Heatmap auto */ \n\nfunction getHeatLevel(count) {\n if (count === 0) return 0;\n if (count === 1) return 1;\n if (count <= 3) return 2;\n return 3;\n}\nconst HEAT_COLORS = [\n \"var(--heatmap-0)\",\n \"var(--heatmap-1)\",\n \"var(--heatmap-2)\",\n \"var(--heatmap-3)\"\n];\nfunction Heatmap({ completions, totalWeeks = 26 }) {\n const [tooltip, setTooltip] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n // Group completions by week_number\n const weekMap = new Map();\n for (const c of completions){\n weekMap.set(c.week_number, (weekMap.get(c.week_number) ?? 0) + 1);\n }\n const weeks = Array.from({\n length: totalWeeks\n }, (_, i)=>i + 1);\n return /*#__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 style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n color: \"var(--fg-muted)\",\n marginBottom: \"var(--s-3)\"\n },\n children: \"26-week activity\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Heatmap.tsx\",\n lineNumber: 37,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"grid\",\n gridTemplateColumns: \"repeat(13, 1fr)\",\n gap: \"4px\",\n position: \"relative\"\n },\n children: weeks.map((week)=>{\n const count = weekMap.get(week) ?? 0;\n const level = getHeatLevel(count);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n onMouseEnter: ()=>setTooltip({\n week,\n count\n }),\n onMouseLeave: ()=>setTooltip(null),\n onFocus: ()=>setTooltip({\n week,\n count\n }),\n onBlur: ()=>setTooltip(null),\n tabIndex: 0,\n role: \"gridcell\",\n \"aria-label\": `Week ${week}: ${count} completion${count !== 1 ? \"s\" : \"\"}`,\n style: {\n aspectRatio: \"1\",\n borderRadius: \"var(--r-sm)\",\n background: HEAT_COLORS[level],\n cursor: \"pointer\",\n transition: \"transform 100ms\",\n outline: \"none\"\n },\n onMouseDown: (e)=>{\n e.currentTarget.style.transform = \"scale(0.9)\";\n },\n onMouseUp: (e)=>{\n e.currentTarget.style.transform = \"scale(1)\";\n }\n }, week, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Heatmap.tsx\",\n lineNumber: 61,\n columnNumber: 13\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Heatmap.tsx\",\n lineNumber: 49,\n columnNumber: 7\n }, this),\n tooltip && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n marginTop: \"var(--s-2)\",\n fontSize: \"var(--t-small)\",\n color: \"var(--fg-muted)\",\n textAlign: \"center\"\n },\n children: [\n \"Week \",\n tooltip.week,\n \": \",\n tooltip.count,\n \" completion\",\n tooltip.count !== 1 ? \"s\" : \"\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Heatmap.tsx\",\n lineNumber: 90,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-2)\",\n marginTop: \"var(--s-3)\",\n justifyContent: \"flex-end\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n color: \"var(--fg-subtle)\"\n },\n children: \"Less\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Heatmap.tsx\",\n lineNumber: 111,\n columnNumber: 9\n }, this),\n HEAT_COLORS.map((color, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n width: \"12px\",\n height: \"12px\",\n borderRadius: \"3px\",\n background: color\n }\n }, i, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Heatmap.tsx\",\n lineNumber: 115,\n columnNumber: 11\n }, this)),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n color: \"var(--fg-subtle)\"\n },\n children: \"More\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Heatmap.tsx\",\n lineNumber: 125,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Heatmap.tsx\",\n lineNumber: 102,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Heatmap.tsx\",\n lineNumber: 36,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9nYW1pZmljYXRpb24vSGVhdG1hcC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ3VDO0FBUXZDLFNBQVNFLGFBQWFDLEtBQWE7SUFDakMsSUFBSUEsVUFBVSxHQUFHLE9BQU87SUFDeEIsSUFBSUEsVUFBVSxHQUFHLE9BQU87SUFDeEIsSUFBSUEsU0FBUyxHQUFHLE9BQU87SUFDdkIsT0FBTztBQUNUO0FBRUEsTUFBTUMsY0FBYztJQUNsQjtJQUNBO0lBQ0E7SUFDQTtDQUNEO0FBRU0sU0FBU0MsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLGFBQWEsRUFBRSxFQUFnQjtJQUNwRSxNQUFNLENBQUNDLFNBQVNDLFdBQVcsR0FBR1IsK0NBQVFBLENBQXlDO0lBRS9FLG1DQUFtQztJQUNuQyxNQUFNUyxVQUFVLElBQUlDO0lBQ3BCLEtBQUssTUFBTUMsS0FBS04sWUFBYTtRQUMzQkksUUFBUUcsR0FBRyxDQUFDRCxFQUFFRSxXQUFXLEVBQUUsQ0FBQ0osUUFBUUssR0FBRyxDQUFDSCxFQUFFRSxXQUFXLEtBQUssS0FBSztJQUNqRTtJQUVBLE1BQU1FLFFBQVFDLE1BQU1DLElBQUksQ0FBQztRQUFFQyxRQUFRWjtJQUFXLEdBQUcsQ0FBQ2EsR0FBR0MsSUFBTUEsSUFBSTtJQUUvRCxxQkFDRSw4REFBQ0M7OzBCQUNDLDhEQUFDQTtnQkFDQ0MsT0FBTztvQkFDTEMsVUFBVTtvQkFDVkMsWUFBWTtvQkFDWkMsZUFBZTtvQkFDZkMsZUFBZTtvQkFDZkMsT0FBTztvQkFDUEMsY0FBYztnQkFDaEI7MEJBQ0Q7Ozs7OzswQkFHRCw4REFBQ1A7Z0JBQ0NDLE9BQU87b0JBQ0xPLFNBQVM7b0JBQ1RDLHFCQUFxQjtvQkFDckJDLEtBQUs7b0JBQ0xDLFVBQVU7Z0JBQ1o7MEJBRUNqQixNQUFNa0IsR0FBRyxDQUFDLENBQUNDO29CQUNWLE1BQU1oQyxRQUFRTyxRQUFRSyxHQUFHLENBQUNvQixTQUFTO29CQUNuQyxNQUFNQyxRQUFRbEMsYUFBYUM7b0JBQzNCLHFCQUNFLDhEQUFDbUI7d0JBRUNlLGNBQWMsSUFBTTVCLFdBQVc7Z0NBQUUwQjtnQ0FBTWhDOzRCQUFNO3dCQUM3Q21DLGNBQWMsSUFBTTdCLFdBQVc7d0JBQy9COEIsU0FBUyxJQUFNOUIsV0FBVztnQ0FBRTBCO2dDQUFNaEM7NEJBQU07d0JBQ3hDcUMsUUFBUSxJQUFNL0IsV0FBVzt3QkFDekJnQyxVQUFVO3dCQUNWQyxNQUFLO3dCQUNMQyxjQUFZLENBQUMsS0FBSyxFQUFFUixLQUFLLEVBQUUsRUFBRWhDLE1BQU0sV0FBVyxFQUFFQSxVQUFVLElBQUksTUFBTSxHQUFHLENBQUM7d0JBQ3hFb0IsT0FBTzs0QkFDTHFCLGFBQWE7NEJBQ2JDLGNBQWM7NEJBQ2RDLFlBQVkxQyxXQUFXLENBQUNnQyxNQUFNOzRCQUM5QlcsUUFBUTs0QkFDUkMsWUFBWTs0QkFDWkMsU0FBUzt3QkFDWDt3QkFDQUMsYUFBYSxDQUFDQzs0QkFDWkEsRUFBRUMsYUFBYSxDQUFDN0IsS0FBSyxDQUFDOEIsU0FBUyxHQUFHO3dCQUNwQzt3QkFDQUMsV0FBVyxDQUFDSDs0QkFDVkEsRUFBRUMsYUFBYSxDQUFDN0IsS0FBSyxDQUFDOEIsU0FBUyxHQUFHO3dCQUNwQzt1QkFyQktsQjs7Ozs7Z0JBd0JYOzs7Ozs7WUFHRDNCLHlCQUNDLDhEQUFDYztnQkFDQ0MsT0FBTztvQkFDTGdDLFdBQVc7b0JBQ1gvQixVQUFVO29CQUNWSSxPQUFPO29CQUNQNEIsV0FBVztnQkFDYjs7b0JBQ0Q7b0JBQ09oRCxRQUFRMkIsSUFBSTtvQkFBQztvQkFBRzNCLFFBQVFMLEtBQUs7b0JBQUM7b0JBQVlLLFFBQVFMLEtBQUssS0FBSyxJQUFJLE1BQU07Ozs7Ozs7MEJBSWhGLDhEQUFDbUI7Z0JBQ0NDLE9BQU87b0JBQ0xPLFNBQVM7b0JBQ1QyQixZQUFZO29CQUNaekIsS0FBSztvQkFDTHVCLFdBQVc7b0JBQ1hHLGdCQUFnQjtnQkFDbEI7O2tDQUVBLDhEQUFDQzt3QkFBS3BDLE9BQU87NEJBQUVDLFVBQVU7NEJBQWtCQyxZQUFZOzRCQUFvQkcsT0FBTzt3QkFBbUI7a0NBQUc7Ozs7OztvQkFHdkd4QixZQUFZOEIsR0FBRyxDQUFDLENBQUNOLE9BQU9QLGtCQUN2Qiw4REFBQ0M7NEJBRUNDLE9BQU87Z0NBQ0xxQyxPQUFPO2dDQUNQQyxRQUFRO2dDQUNSaEIsY0FBYztnQ0FDZEMsWUFBWWxCOzRCQUNkOzJCQU5LUDs7Ozs7a0NBU1QsOERBQUNzQzt3QkFBS3BDLE9BQU87NEJBQUVDLFVBQVU7NEJBQWtCQyxZQUFZOzRCQUFvQkcsT0FBTzt3QkFBbUI7a0NBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1oSCIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2NvbXBvbmVudHMvZ2FtaWZpY2F0aW9uL0hlYXRtYXAudHN4P2Y3ZDgiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgU2Vzc2lvbkNvbXBsZXRpb24gfSBmcm9tICdAL3R5cGVzJ1xuXG5pbnRlcmZhY2UgSGVhdG1hcFByb3BzIHtcbiAgY29tcGxldGlvbnM6IFNlc3Npb25Db21wbGV0aW9uW11cbiAgdG90YWxXZWVrcz86IG51bWJlclxufVxuXG5mdW5jdGlvbiBnZXRIZWF0TGV2ZWwoY291bnQ6IG51bWJlcik6IDAgfCAxIHwgMiB8IDMge1xuICBpZiAoY291bnQgPT09IDApIHJldHVybiAwXG4gIGlmIChjb3VudCA9PT0gMSkgcmV0dXJuIDFcbiAgaWYgKGNvdW50IDw9IDMpIHJldHVybiAyXG4gIHJldHVybiAzXG59XG5cbmNvbnN0IEhFQVRfQ09MT1JTID0gW1xuICAndmFyKC0taGVhdG1hcC0wKScsXG4gICd2YXIoLS1oZWF0bWFwLTEpJyxcbiAgJ3ZhcigtLWhlYXRtYXAtMiknLFxuICAndmFyKC0taGVhdG1hcC0zKScsXG5dXG5cbmV4cG9ydCBmdW5jdGlvbiBIZWF0bWFwKHsgY29tcGxldGlvbnMsIHRvdGFsV2Vla3MgPSAyNiB9OiBIZWF0bWFwUHJvcHMpIHtcbiAgY29uc3QgW3Rvb2x0aXAsIHNldFRvb2x0aXBdID0gdXNlU3RhdGU8eyB3ZWVrOiBudW1iZXI7IGNvdW50OiBudW1iZXIgfSB8IG51bGw+KG51bGwpXG5cbiAgLy8gR3JvdXAgY29tcGxldGlvbnMgYnkgd2Vla19udW1iZXJcbiAgY29uc3Qgd2Vla01hcCA9IG5ldyBNYXA8bnVtYmVyLCBudW1iZXI+KClcbiAgZm9yIChjb25zdCBjIG9mIGNvbXBsZXRpb25zKSB7XG4gICAgd2Vla01hcC5zZXQoYy53ZWVrX251bWJlciwgKHdlZWtNYXAuZ2V0KGMud2Vla19udW1iZXIpID8/IDApICsgMSlcbiAgfVxuXG4gIGNvbnN0IHdlZWtzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogdG90YWxXZWVrcyB9LCAoXywgaSkgPT4gaSArIDEpXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1sYWJlbCknLFxuICAgICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LW1vbm8pJyxcbiAgICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcbiAgICAgICAgICBsZXR0ZXJTcGFjaW5nOiAndmFyKC0tbGFiZWwtbHMpJyxcbiAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgbWFyZ2luQm90dG9tOiAndmFyKC0tcy0zKScsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDI2LXdlZWsgYWN0aXZpdHlcbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdncmlkJyxcbiAgICAgICAgICBncmlkVGVtcGxhdGVDb2x1bW5zOiAncmVwZWF0KDEzLCAxZnIpJyxcbiAgICAgICAgICBnYXA6ICc0cHgnLFxuICAgICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7d2Vla3MubWFwKCh3ZWVrKSA9PiB7XG4gICAgICAgICAgY29uc3QgY291bnQgPSB3ZWVrTWFwLmdldCh3ZWVrKSA/PyAwXG4gICAgICAgICAgY29uc3QgbGV2ZWwgPSBnZXRIZWF0TGV2ZWwoY291bnQpXG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAga2V5PXt3ZWVrfVxuICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI9eygpID0+IHNldFRvb2x0aXAoeyB3ZWVrLCBjb3VudCB9KX1cbiAgICAgICAgICAgICAgb25Nb3VzZUxlYXZlPXsoKSA9PiBzZXRUb29sdGlwKG51bGwpfVxuICAgICAgICAgICAgICBvbkZvY3VzPXsoKSA9PiBzZXRUb29sdGlwKHsgd2VlaywgY291bnQgfSl9XG4gICAgICAgICAgICAgIG9uQmx1cj17KCkgPT4gc2V0VG9vbHRpcChudWxsKX1cbiAgICAgICAgICAgICAgdGFiSW5kZXg9ezB9XG4gICAgICAgICAgICAgIHJvbGU9XCJncmlkY2VsbFwiXG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2BXZWVrICR7d2Vla306ICR7Y291bnR9IGNvbXBsZXRpb24ke2NvdW50ICE9PSAxID8gJ3MnIDogJyd9YH1cbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBhc3BlY3RSYXRpbzogJzEnLFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJ3ZhcigtLXItc20pJyxcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBIRUFUX0NPTE9SU1tsZXZlbF0sXG4gICAgICAgICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ3RyYW5zZm9ybSAxMDBtcycsXG4gICAgICAgICAgICAgICAgb3V0bGluZTogJ25vbmUnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBvbk1vdXNlRG93bj17KGUpID0+IHtcbiAgICAgICAgICAgICAgICBlLmN1cnJlbnRUYXJnZXQuc3R5bGUudHJhbnNmb3JtID0gJ3NjYWxlKDAuOSknXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG9uTW91c2VVcD17KGUpID0+IHtcbiAgICAgICAgICAgICAgICBlLmN1cnJlbnRUYXJnZXQuc3R5bGUudHJhbnNmb3JtID0gJ3NjYWxlKDEpJ1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApXG4gICAgICAgIH0pfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIHt0b29sdGlwICYmIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBtYXJnaW5Ub3A6ICd2YXIoLS1zLTIpJyxcbiAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1zbWFsbCknLFxuICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknLFxuICAgICAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgV2VlayB7dG9vbHRpcC53ZWVrfToge3Rvb2x0aXAuY291bnR9IGNvbXBsZXRpb257dG9vbHRpcC5jb3VudCAhPT0gMSA/ICdzJyA6ICcnfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgZ2FwOiAndmFyKC0tcy0yKScsXG4gICAgICAgICAgbWFyZ2luVG9wOiAndmFyKC0tcy0zKScsXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdmbGV4LWVuZCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxzcGFuIHN0eWxlPXt7IGZvbnRTaXplOiAndmFyKC0tdC1sYWJlbCknLCBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vKScsIGNvbG9yOiAndmFyKC0tZmctc3VidGxlKScgfX0+XG4gICAgICAgICAgTGVzc1xuICAgICAgICA8L3NwYW4+XG4gICAgICAgIHtIRUFUX0NPTE9SUy5tYXAoKGNvbG9yLCBpKSA9PiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAga2V5PXtpfVxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgd2lkdGg6ICcxMnB4JyxcbiAgICAgICAgICAgICAgaGVpZ2h0OiAnMTJweCcsXG4gICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzNweCcsXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IGNvbG9yLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICApKX1cbiAgICAgICAgPHNwYW4gc3R5bGU9e3sgZm9udFNpemU6ICd2YXIoLS10LWxhYmVsKScsIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LW1vbm8pJywgY29sb3I6ICd2YXIoLS1mZy1zdWJ0bGUpJyB9fT5cbiAgICAgICAgICBNb3JlXG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsImdldEhlYXRMZXZlbCIsImNvdW50IiwiSEVBVF9DT0xPUlMiLCJIZWF0bWFwIiwiY29tcGxldGlvbnMiLCJ0b3RhbFdlZWtzIiwidG9vbHRpcCIsInNldFRvb2x0aXAiLCJ3ZWVrTWFwIiwiTWFwIiwiYyIsInNldCIsIndlZWtfbnVtYmVyIiwiZ2V0Iiwid2Vla3MiLCJBcnJheSIsImZyb20iLCJsZW5ndGgiLCJfIiwiaSIsImRpdiIsInN0eWxlIiwiZm9udFNpemUiLCJmb250RmFtaWx5IiwidGV4dFRyYW5zZm9ybSIsImxldHRlclNwYWNpbmciLCJjb2xvciIsIm1hcmdpbkJvdHRvbSIsImRpc3BsYXkiLCJncmlkVGVtcGxhdGVDb2x1bW5zIiwiZ2FwIiwicG9zaXRpb24iLCJtYXAiLCJ3ZWVrIiwibGV2ZWwiLCJvbk1vdXNlRW50ZXIiLCJvbk1vdXNlTGVhdmUiLCJvbkZvY3VzIiwib25CbHVyIiwidGFiSW5kZXgiLCJyb2xlIiwiYXJpYS1sYWJlbCIsImFzcGVjdFJhdGlvIiwiYm9yZGVyUmFkaXVzIiwiYmFja2dyb3VuZCIsImN1cnNvciIsInRyYW5zaXRpb24iLCJvdXRsaW5lIiwib25Nb3VzZURvd24iLCJlIiwiY3VycmVudFRhcmdldCIsInRyYW5zZm9ybSIsIm9uTW91c2VVcCIsIm1hcmdpblRvcCIsInRleHRBbGlnbiIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsInNwYW4iLCJ3aWR0aCIsImhlaWdodCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/gamification/Heatmap.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/gamification/Leaderboard.tsx": +/*!*****************************************************!*\ + !*** ./src/components/gamification/Leaderboard.tsx ***! + \*****************************************************/ +/***/ ((__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 */ Leaderboard: () => (/* binding */ Leaderboard)\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/* __next_internal_client_entry_do_not_use__ Leaderboard auto */ \n\nconst LEVEL_EMOJI = {\n intern: \"\\uD83C\\uDF31\",\n junior: \"\\uD83D\\uDCD7\",\n medior: \"\\uD83D\\uDCD8\",\n senior: \"\\uD83D\\uDCD9\",\n staff: \"\\uD83D\\uDD37\",\n principal: \"\\uD83C\\uDFC6\"\n};\nfunction Leaderboard({ entries, currentUserId }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n overflowX: \"auto\",\n WebkitOverflowScrolling: \"touch\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"table\", {\n style: {\n width: \"100%\",\n borderCollapse: \"collapse\",\n fontSize: \"var(--t-small)\",\n minWidth: \"480px\"\n },\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 \"#\",\n \"Name\",\n \"Commits\",\n \"Streak\",\n \"Types\",\n \"Badges\",\n \"Level\"\n ].map((col)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n style: {\n padding: \"var(--s-2) var(--s-3)\",\n textAlign: col === \"#\" || col === \"Name\" ? \"left\" : \"center\",\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n color: \"var(--fg-muted)\",\n borderBottom: \"2px solid var(--cream)\",\n background: \"var(--bg)\",\n position: col === \"Name\" ? \"sticky\" : undefined,\n left: col === \"Name\" ? \"28px\" : undefined,\n whiteSpace: \"nowrap\"\n },\n children: col\n }, col, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Leaderboard.tsx\",\n lineNumber: 33,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Leaderboard.tsx\",\n lineNumber: 31,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Leaderboard.tsx\",\n lineNumber: 30,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tbody\", {\n children: entries.map((entry, idx)=>{\n const isMe = entry.userId === currentUserId;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n style: {\n background: isMe ? \"var(--accent-soft)\" : idx % 2 === 0 ? \"var(--bg)\" : \"var(--bg-warm)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n style: {\n padding: \"var(--s-2) var(--s-3)\",\n color: \"var(--fg-muted)\",\n fontWeight: idx < 3 ? 700 : 400,\n whiteSpace: \"nowrap\"\n },\n children: idx === 0 ? \"\\uD83E\\uDD47\" : idx === 1 ? \"\\uD83E\\uDD48\" : idx === 2 ? \"\\uD83E\\uDD49\" : idx + 1\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Leaderboard.tsx\",\n lineNumber: 65,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n style: {\n padding: \"var(--s-2) var(--s-3)\",\n fontWeight: isMe ? 700 : 500,\n color: isMe ? \"var(--teal-900)\" : \"var(--fg)\",\n position: \"sticky\",\n left: \"28px\",\n background: isMe ? \"var(--accent-soft)\" : idx % 2 === 0 ? \"var(--bg)\" : \"var(--bg-warm)\",\n whiteSpace: \"nowrap\"\n },\n children: [\n entry.displayName,\n isMe && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n marginLeft: \"var(--s-2)\",\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n color: \"var(--teal-700)\"\n },\n children: \"you\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Leaderboard.tsx\",\n lineNumber: 88,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Leaderboard.tsx\",\n lineNumber: 75,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n style: {\n padding: \"var(--s-2) var(--s-3)\",\n textAlign: \"center\",\n fontWeight: 600\n },\n children: entry.totalCommits\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Leaderboard.tsx\",\n lineNumber: 101,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n style: {\n padding: \"var(--s-2) var(--s-3)\",\n textAlign: \"center\"\n },\n children: [\n entry.currentStreak,\n \"w\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Leaderboard.tsx\",\n lineNumber: 104,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n style: {\n padding: \"var(--s-2) var(--s-3)\",\n textAlign: \"center\"\n },\n children: entry.typesUsed\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Leaderboard.tsx\",\n lineNumber: 107,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n style: {\n padding: \"var(--s-2) var(--s-3)\",\n textAlign: \"center\"\n },\n children: entry.badgeCount\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Leaderboard.tsx\",\n lineNumber: 110,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n style: {\n padding: \"var(--s-2) var(--s-3)\",\n textAlign: \"center\",\n whiteSpace: \"nowrap\"\n },\n children: [\n LEVEL_EMOJI[entry.level] ?? \"\",\n \" \",\n entry.level\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Leaderboard.tsx\",\n lineNumber: 113,\n columnNumber: 17\n }, this)\n ]\n }, entry.userId, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Leaderboard.tsx\",\n lineNumber: 59,\n columnNumber: 15\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Leaderboard.tsx\",\n lineNumber: 55,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Leaderboard.tsx\",\n lineNumber: 22,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\gamification\\\\Leaderboard.tsx\",\n lineNumber: 21,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9nYW1pZmljYXRpb24vTGVhZGVyYm9hcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUN5QjtBQUd6QixNQUFNQyxjQUFzQztJQUMxQ0MsUUFBUTtJQUNSQyxRQUFRO0lBQ1JDLFFBQVE7SUFDUkMsUUFBUTtJQUNSQyxPQUFPO0lBQ1BDLFdBQVc7QUFDYjtBQU9PLFNBQVNDLFlBQVksRUFBRUMsT0FBTyxFQUFFQyxhQUFhLEVBQW9CO0lBQ3RFLHFCQUNFLDhEQUFDQztRQUFJQyxPQUFPO1lBQUVDLFdBQVc7WUFBUUMseUJBQXlCO1FBQVE7a0JBQ2hFLDRFQUFDQztZQUNDSCxPQUFPO2dCQUNMSSxPQUFPO2dCQUNQQyxnQkFBZ0I7Z0JBQ2hCQyxVQUFVO2dCQUNWQyxVQUFVO1lBQ1o7OzhCQUVBLDhEQUFDQzs4QkFDQyw0RUFBQ0M7a0NBQ0U7NEJBQUM7NEJBQUs7NEJBQVE7NEJBQVc7NEJBQVU7NEJBQVM7NEJBQVU7eUJBQVEsQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLG9CQUNuRSw4REFBQ0M7Z0NBRUNaLE9BQU87b0NBQ0xhLFNBQVM7b0NBQ1RDLFdBQVdILFFBQVEsT0FBT0EsUUFBUSxTQUFTLFNBQVM7b0NBQ3BETCxVQUFVO29DQUNWUyxZQUFZO29DQUNaQyxlQUFlO29DQUNmQyxlQUFlO29DQUNmQyxPQUFPO29DQUNQQyxjQUFjO29DQUNkQyxZQUFZO29DQUNaQyxVQUFVVixRQUFRLFNBQVMsV0FBV1c7b0NBQ3RDQyxNQUFNWixRQUFRLFNBQVMsU0FBU1c7b0NBQ2hDRSxZQUFZO2dDQUNkOzBDQUVDYjsrQkFoQklBOzs7Ozs7Ozs7Ozs7Ozs7OEJBcUJiLDhEQUFDYzs4QkFDRTVCLFFBQVFhLEdBQUcsQ0FBQyxDQUFDZ0IsT0FBT0M7d0JBQ25CLE1BQU1DLE9BQU9GLE1BQU1HLE1BQU0sS0FBSy9CO3dCQUM5QixxQkFDRSw4REFBQ1c7NEJBRUNULE9BQU87Z0NBQ0xvQixZQUFZUSxPQUFPLHVCQUF1QkQsTUFBTSxNQUFNLElBQUksY0FBYzs0QkFDMUU7OzhDQUVBLDhEQUFDRztvQ0FDQzlCLE9BQU87d0NBQ0xhLFNBQVM7d0NBQ1RLLE9BQU87d0NBQ1BhLFlBQVlKLE1BQU0sSUFBSSxNQUFNO3dDQUM1QkgsWUFBWTtvQ0FDZDs4Q0FFQ0csUUFBUSxJQUFJLGlCQUFPQSxRQUFRLElBQUksaUJBQU9BLFFBQVEsSUFBSSxpQkFBT0EsTUFBTTs7Ozs7OzhDQUVsRSw4REFBQ0c7b0NBQ0M5QixPQUFPO3dDQUNMYSxTQUFTO3dDQUNUa0IsWUFBWUgsT0FBTyxNQUFNO3dDQUN6QlYsT0FBT1UsT0FBTyxvQkFBb0I7d0NBQ2xDUCxVQUFVO3dDQUNWRSxNQUFNO3dDQUNOSCxZQUFZUSxPQUFPLHVCQUF1QkQsTUFBTSxNQUFNLElBQUksY0FBYzt3Q0FDeEVILFlBQVk7b0NBQ2Q7O3dDQUVDRSxNQUFNTSxXQUFXO3dDQUNqQkosc0JBQ0MsOERBQUNLOzRDQUNDakMsT0FBTztnREFDTGtDLFlBQVk7Z0RBQ1o1QixVQUFVO2dEQUNWUyxZQUFZO2dEQUNaQyxlQUFlO2dEQUNmRSxPQUFPOzRDQUNUO3NEQUNEOzs7Ozs7Ozs7Ozs7OENBS0wsOERBQUNZO29DQUFHOUIsT0FBTzt3Q0FBRWEsU0FBUzt3Q0FBeUJDLFdBQVc7d0NBQVVpQixZQUFZO29DQUFJOzhDQUNqRkwsTUFBTVMsWUFBWTs7Ozs7OzhDQUVyQiw4REFBQ0w7b0NBQUc5QixPQUFPO3dDQUFFYSxTQUFTO3dDQUF5QkMsV0FBVztvQ0FBUzs7d0NBQ2hFWSxNQUFNVSxhQUFhO3dDQUFDOzs7Ozs7OzhDQUV2Qiw4REFBQ047b0NBQUc5QixPQUFPO3dDQUFFYSxTQUFTO3dDQUF5QkMsV0FBVztvQ0FBUzs4Q0FDaEVZLE1BQU1XLFNBQVM7Ozs7Ozs4Q0FFbEIsOERBQUNQO29DQUFHOUIsT0FBTzt3Q0FBRWEsU0FBUzt3Q0FBeUJDLFdBQVc7b0NBQVM7OENBQ2hFWSxNQUFNWSxVQUFVOzs7Ozs7OENBRW5CLDhEQUFDUjtvQ0FBRzlCLE9BQU87d0NBQUVhLFNBQVM7d0NBQXlCQyxXQUFXO3dDQUFVVSxZQUFZO29DQUFTOzt3Q0FDdEZuQyxXQUFXLENBQUNxQyxNQUFNYSxLQUFLLENBQUMsSUFBSTt3Q0FBRzt3Q0FBRWIsTUFBTWEsS0FBSzs7Ozs7Ozs7MkJBdEQxQ2IsTUFBTUcsTUFBTTs7Ozs7b0JBMER2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLViIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2NvbXBvbmVudHMvZ2FtaWZpY2F0aW9uL0xlYWRlcmJvYXJkLnRzeD8yZmM3Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBMZWFkZXJib2FyZEVudHJ5IH0gZnJvbSAnQC90eXBlcydcblxuY29uc3QgTEVWRUxfRU1PSkk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGludGVybjogJ/CfjLEnLFxuICBqdW5pb3I6ICfwn5OXJyxcbiAgbWVkaW9yOiAn8J+TmCcsXG4gIHNlbmlvcjogJ/Cfk5knLFxuICBzdGFmZjogJ/CflLcnLFxuICBwcmluY2lwYWw6ICfwn4+GJyxcbn1cblxuaW50ZXJmYWNlIExlYWRlcmJvYXJkUHJvcHMge1xuICBlbnRyaWVzOiBMZWFkZXJib2FyZEVudHJ5W11cbiAgY3VycmVudFVzZXJJZD86IHN0cmluZ1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTGVhZGVyYm9hcmQoeyBlbnRyaWVzLCBjdXJyZW50VXNlcklkIH06IExlYWRlcmJvYXJkUHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IHN0eWxlPXt7IG92ZXJmbG93WDogJ2F1dG8nLCBXZWJraXRPdmVyZmxvd1Njcm9sbGluZzogJ3RvdWNoJyB9fT5cbiAgICAgIDx0YWJsZVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgYm9yZGVyQ29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LXNtYWxsKScsXG4gICAgICAgICAgbWluV2lkdGg6ICc0ODBweCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDx0aGVhZD5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICB7WycjJywgJ05hbWUnLCAnQ29tbWl0cycsICdTdHJlYWsnLCAnVHlwZXMnLCAnQmFkZ2VzJywgJ0xldmVsJ10ubWFwKChjb2wpID0+IChcbiAgICAgICAgICAgICAgPHRoXG4gICAgICAgICAgICAgICAga2V5PXtjb2x9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTIpIHZhcigtLXMtMyknLFxuICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiBjb2wgPT09ICcjJyB8fCBjb2wgPT09ICdOYW1lJyA/ICdsZWZ0JyA6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWxhYmVsKScsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vKScsXG4gICAgICAgICAgICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcbiAgICAgICAgICAgICAgICAgIGxldHRlclNwYWNpbmc6ICd2YXIoLS1sYWJlbC1scyknLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyQm90dG9tOiAnMnB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmcpJyxcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBjb2wgPT09ICdOYW1lJyA/ICdzdGlja3knIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgbGVmdDogY29sID09PSAnTmFtZScgPyAnMjhweCcgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2NvbH1cbiAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGhlYWQ+XG4gICAgICAgIDx0Ym9keT5cbiAgICAgICAgICB7ZW50cmllcy5tYXAoKGVudHJ5LCBpZHgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzTWUgPSBlbnRyeS51c2VySWQgPT09IGN1cnJlbnRVc2VySWRcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDx0clxuICAgICAgICAgICAgICAgIGtleT17ZW50cnkudXNlcklkfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBpc01lID8gJ3ZhcigtLWFjY2VudC1zb2Z0KScgOiBpZHggJSAyID09PSAwID8gJ3ZhcigtLWJnKScgOiAndmFyKC0tYmctd2FybSknLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTIpIHZhcigtLXMtMyknLFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IGlkeCA8IDMgPyA3MDAgOiA0MDAsXG4gICAgICAgICAgICAgICAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7aWR4ID09PSAwID8gJ/CfpYcnIDogaWR4ID09PSAxID8gJ/CfpYgnIDogaWR4ID09PSAyID8gJ/CfpYknIDogaWR4ICsgMX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtMikgdmFyKC0tcy0zKScsXG4gICAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IGlzTWUgPyA3MDAgOiA1MDAsXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpc01lID8gJ3ZhcigtLXRlYWwtOTAwKScgOiAndmFyKC0tZmcpJyxcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdzdGlja3knLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAnMjhweCcsXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGlzTWUgPyAndmFyKC0tYWNjZW50LXNvZnQpJyA6IGlkeCAlIDIgPT09IDAgPyAndmFyKC0tYmcpJyA6ICd2YXIoLS1iZy13YXJtKScsXG4gICAgICAgICAgICAgICAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7ZW50cnkuZGlzcGxheU5hbWV9XG4gICAgICAgICAgICAgICAgICB7aXNNZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbkxlZnQ6ICd2YXIoLS1zLTIpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1sYWJlbCknLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogJ3ZhcigtLWZvbnQtbW9ubyknLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLXRlYWwtNzAwKScsXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHlvdVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIHN0eWxlPXt7IHBhZGRpbmc6ICd2YXIoLS1zLTIpIHZhcigtLXMtMyknLCB0ZXh0QWxpZ246ICdjZW50ZXInLCBmb250V2VpZ2h0OiA2MDAgfX0+XG4gICAgICAgICAgICAgICAgICB7ZW50cnkudG90YWxDb21taXRzfVxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIHN0eWxlPXt7IHBhZGRpbmc6ICd2YXIoLS1zLTIpIHZhcigtLXMtMyknLCB0ZXh0QWxpZ246ICdjZW50ZXInIH19PlxuICAgICAgICAgICAgICAgICAge2VudHJ5LmN1cnJlbnRTdHJlYWt9d1xuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIHN0eWxlPXt7IHBhZGRpbmc6ICd2YXIoLS1zLTIpIHZhcigtLXMtMyknLCB0ZXh0QWxpZ246ICdjZW50ZXInIH19PlxuICAgICAgICAgICAgICAgICAge2VudHJ5LnR5cGVzVXNlZH1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT17eyBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTMpJywgdGV4dEFsaWduOiAnY2VudGVyJyB9fT5cbiAgICAgICAgICAgICAgICAgIHtlbnRyeS5iYWRnZUNvdW50fVxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIHN0eWxlPXt7IHBhZGRpbmc6ICd2YXIoLS1zLTIpIHZhcigtLXMtMyknLCB0ZXh0QWxpZ246ICdjZW50ZXInLCB3aGl0ZVNwYWNlOiAnbm93cmFwJyB9fT5cbiAgICAgICAgICAgICAgICAgIHtMRVZFTF9FTU9KSVtlbnRyeS5sZXZlbF0gPz8gJyd9IHtlbnRyeS5sZXZlbH1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgKVxuICAgICAgICAgIH0pfVxuICAgICAgICA8L3Rib2R5PlxuICAgICAgPC90YWJsZT5cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiTEVWRUxfRU1PSkkiLCJpbnRlcm4iLCJqdW5pb3IiLCJtZWRpb3IiLCJzZW5pb3IiLCJzdGFmZiIsInByaW5jaXBhbCIsIkxlYWRlcmJvYXJkIiwiZW50cmllcyIsImN1cnJlbnRVc2VySWQiLCJkaXYiLCJzdHlsZSIsIm92ZXJmbG93WCIsIldlYmtpdE92ZXJmbG93U2Nyb2xsaW5nIiwidGFibGUiLCJ3aWR0aCIsImJvcmRlckNvbGxhcHNlIiwiZm9udFNpemUiLCJtaW5XaWR0aCIsInRoZWFkIiwidHIiLCJtYXAiLCJjb2wiLCJ0aCIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJmb250RmFtaWx5IiwidGV4dFRyYW5zZm9ybSIsImxldHRlclNwYWNpbmciLCJjb2xvciIsImJvcmRlckJvdHRvbSIsImJhY2tncm91bmQiLCJwb3NpdGlvbiIsInVuZGVmaW5lZCIsImxlZnQiLCJ3aGl0ZVNwYWNlIiwidGJvZHkiLCJlbnRyeSIsImlkeCIsImlzTWUiLCJ1c2VySWQiLCJ0ZCIsImZvbnRXZWlnaHQiLCJkaXNwbGF5TmFtZSIsInNwYW4iLCJtYXJnaW5MZWZ0IiwidG90YWxDb21taXRzIiwiY3VycmVudFN0cmVhayIsInR5cGVzVXNlZCIsImJhZGdlQ291bnQiLCJsZXZlbCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/gamification/Leaderboard.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/r42/R42Button.tsx": +/*!******************************************!*\ + !*** ./src/components/r42/R42Button.tsx ***! + \******************************************/ +/***/ ((__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 */ R42Button: () => (/* binding */ R42Button)\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/* __next_internal_client_entry_do_not_use__ R42Button auto */ \n\nfunction R42Button({ onClick }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: onClick,\n \"aria-label\": \"Open R42 assistant\",\n style: {\n position: \"fixed\",\n bottom: \"calc(var(--nav-height) + 16px)\",\n right: \"16px\",\n width: \"var(--r42-size)\",\n height: \"var(--r42-size)\",\n borderRadius: \"50%\",\n background: \"var(--accent)\",\n border: \"none\",\n cursor: \"pointer\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n boxShadow: \"var(--shadow-pill)\",\n zIndex: 200,\n transition: \"transform 150ms, box-shadow 150ms\",\n color: \"var(--paper)\",\n fontSize: \"22px\"\n },\n onMouseEnter: (e)=>{\n e.currentTarget.style.transform = \"scale(1.08)\";\n },\n onMouseLeave: (e)=>{\n e.currentTarget.style.transform = \"scale(1)\";\n },\n children: \"R\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Button.tsx\",\n lineNumber: 10,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9yNDIvUjQyQnV0dG9uLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDeUI7QUFNbEIsU0FBU0MsVUFBVSxFQUFFQyxPQUFPLEVBQWtCO0lBQ25ELHFCQUNFLDhEQUFDQztRQUNDRCxTQUFTQTtRQUNURSxjQUFXO1FBQ1hDLE9BQU87WUFDTEMsVUFBVTtZQUNWQyxRQUFRO1lBQ1JDLE9BQU87WUFDUEMsT0FBTztZQUNQQyxRQUFRO1lBQ1JDLGNBQWM7WUFDZEMsWUFBWTtZQUNaQyxRQUFRO1lBQ1JDLFFBQVE7WUFDUkMsU0FBUztZQUNUQyxZQUFZO1lBQ1pDLGdCQUFnQjtZQUNoQkMsV0FBVztZQUNYQyxRQUFRO1lBQ1JDLFlBQVk7WUFDWkMsT0FBTztZQUNQQyxVQUFVO1FBQ1o7UUFDQUMsY0FBYyxDQUFDQztZQUNiQSxFQUFFQyxhQUFhLENBQUNwQixLQUFLLENBQUNxQixTQUFTLEdBQUc7UUFDcEM7UUFDQUMsY0FBYyxDQUFDSDtZQUNiQSxFQUFFQyxhQUFhLENBQUNwQixLQUFLLENBQUNxQixTQUFTLEdBQUc7UUFDcEM7a0JBQ0Q7Ozs7OztBQUlMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy9yNDIvUjQyQnV0dG9uLnRzeD83MWM5Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5pbnRlcmZhY2UgUjQyQnV0dG9uUHJvcHMge1xuICBvbkNsaWNrOiAoKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSNDJCdXR0b24oeyBvbkNsaWNrIH06IFI0MkJ1dHRvblByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPGJ1dHRvblxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIGFyaWEtbGFiZWw9XCJPcGVuIFI0MiBhc3Npc3RhbnRcIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgIGJvdHRvbTogJ2NhbGModmFyKC0tbmF2LWhlaWdodCkgKyAxNnB4KScsXG4gICAgICAgIHJpZ2h0OiAnMTZweCcsXG4gICAgICAgIHdpZHRoOiAndmFyKC0tcjQyLXNpemUpJyxcbiAgICAgICAgaGVpZ2h0OiAndmFyKC0tcjQyLXNpemUpJyxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAnNTAlJyxcbiAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWFjY2VudCknLFxuICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgYm94U2hhZG93OiAndmFyKC0tc2hhZG93LXBpbGwpJyxcbiAgICAgICAgekluZGV4OiAyMDAsXG4gICAgICAgIHRyYW5zaXRpb246ICd0cmFuc2Zvcm0gMTUwbXMsIGJveC1zaGFkb3cgMTUwbXMnLFxuICAgICAgICBjb2xvcjogJ3ZhcigtLXBhcGVyKScsXG4gICAgICAgIGZvbnRTaXplOiAnMjJweCcsXG4gICAgICB9fVxuICAgICAgb25Nb3VzZUVudGVyPXsoZSkgPT4ge1xuICAgICAgICBlLmN1cnJlbnRUYXJnZXQuc3R5bGUudHJhbnNmb3JtID0gJ3NjYWxlKDEuMDgpJ1xuICAgICAgfX1cbiAgICAgIG9uTW91c2VMZWF2ZT17KGUpID0+IHtcbiAgICAgICAgZS5jdXJyZW50VGFyZ2V0LnN0eWxlLnRyYW5zZm9ybSA9ICdzY2FsZSgxKSdcbiAgICAgIH19XG4gICAgPlxuICAgICAgUlxuICAgIDwvYnV0dG9uPlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJSNDJCdXR0b24iLCJvbkNsaWNrIiwiYnV0dG9uIiwiYXJpYS1sYWJlbCIsInN0eWxlIiwicG9zaXRpb24iLCJib3R0b20iLCJyaWdodCIsIndpZHRoIiwiaGVpZ2h0IiwiYm9yZGVyUmFkaXVzIiwiYmFja2dyb3VuZCIsImJvcmRlciIsImN1cnNvciIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJib3hTaGFkb3ciLCJ6SW5kZXgiLCJ0cmFuc2l0aW9uIiwiY29sb3IiLCJmb250U2l6ZSIsIm9uTW91c2VFbnRlciIsImUiLCJjdXJyZW50VGFyZ2V0IiwidHJhbnNmb3JtIiwib25Nb3VzZUxlYXZlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/r42/R42Button.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/r42/R42Drawer.tsx": +/*!******************************************!*\ + !*** ./src/components/r42/R42Drawer.tsx ***! + \******************************************/ +/***/ ((__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 */ R42Drawer: () => (/* binding */ R42Drawer)\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 _components_ui_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ R42Drawer auto */ \n\n\nconst CHAT_URL = \"http://localhost:3004\" ?? 0;\nfunction R42Drawer({ open, onClose, userId }) {\n const [messages, setMessages] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [input, setInput] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [streaming, setStreaming] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const bottomRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const abortRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (open) {\n bottomRef.current?.scrollIntoView({\n behavior: \"smooth\"\n });\n }\n }, [\n messages,\n open\n ]);\n const handleClose = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n abortRef.current?.abort();\n onClose();\n }, [\n onClose\n ]);\n async function sendMessage() {\n const text = input.trim();\n if (!text || streaming) return;\n setInput(\"\");\n setError(null);\n const userMsg = {\n role: \"user\",\n text\n };\n setMessages((prev)=>[\n ...prev,\n userMsg\n ]);\n const ctrl = new AbortController();\n abortRef.current = ctrl;\n setStreaming(true);\n let assistantText = \"\";\n let citations = [];\n let outOfScope = false;\n setMessages((prev)=>[\n ...prev,\n {\n role: \"assistant\",\n text: \"\"\n }\n ]);\n try {\n const res = await fetch(`${CHAT_URL}/chat`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n userId,\n message: text\n }),\n signal: ctrl.signal\n });\n if (!res.ok) {\n throw new Error(`Chat service error: ${res.status}`);\n }\n const reader = res.body?.getReader();\n if (!reader) throw new Error(\"No response body\");\n const decoder = new TextDecoder();\n let buffer = \"\";\n while(true){\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, {\n stream: true\n });\n const lines = buffer.split(\"\\n\");\n buffer = lines.pop() ?? \"\";\n for (const line of lines){\n if (!line.startsWith(\"data: \")) continue;\n const raw = line.slice(6).trim();\n if (raw === \"[DONE]\") continue;\n try {\n const event = JSON.parse(raw);\n if (event.type === \"chunk\") {\n assistantText += event.text;\n setMessages((prev)=>{\n const copy = [\n ...prev\n ];\n copy[copy.length - 1] = {\n role: \"assistant\",\n text: assistantText\n };\n return copy;\n });\n } else if (event.type === \"citations\") {\n citations = event.topics;\n } else if (event.type === \"out_of_scope\") {\n outOfScope = true;\n assistantText = event.text;\n setMessages((prev)=>{\n const copy = [\n ...prev\n ];\n copy[copy.length - 1] = {\n role: \"assistant\",\n text: assistantText,\n outOfScope: true\n };\n return copy;\n });\n } else if (event.type === \"done\") {\n setMessages((prev)=>{\n const copy = [\n ...prev\n ];\n copy[copy.length - 1] = {\n role: \"assistant\",\n text: assistantText,\n citations: citations.length > 0 ? citations : undefined,\n outOfScope\n };\n return copy;\n });\n }\n } catch {\n // skip malformed SSE lines\n }\n }\n }\n } catch (err) {\n if (err.name === \"AbortError\") return;\n setError(err instanceof Error ? err.message : \"Failed to send message\");\n setMessages((prev)=>prev.slice(0, -1));\n } finally{\n setStreaming(false);\n }\n }\n function handleKeyDown(e) {\n if (e.key === \"Enter\" && !e.shiftKey) {\n e.preventDefault();\n void sendMessage();\n }\n }\n if (!open) return null;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n onClick: handleClose,\n style: {\n position: \"fixed\",\n inset: 0,\n background: \"rgba(0,0,0,0.35)\",\n zIndex: 300\n },\n \"aria-hidden\": \"true\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 152,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n role: \"dialog\",\n \"aria-label\": \"R42 Assistant\",\n style: {\n position: \"fixed\",\n bottom: 0,\n left: 0,\n right: 0,\n top: \"auto\",\n maxHeight: \"85dvh\",\n background: \"var(--bg)\",\n borderTopLeftRadius: \"var(--r-xl)\",\n borderTopRightRadius: \"var(--r-xl)\",\n boxShadow: \"0 -8px 40px rgba(0,0,0,0.18)\",\n zIndex: 301,\n display: \"flex\",\n flexDirection: \"column\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n padding: \"var(--s-4) var(--s-5)\",\n borderBottom: \"1px solid var(--cream)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n flexShrink: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-3)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n width: \"32px\",\n height: \"32px\",\n borderRadius: \"50%\",\n background: \"var(--accent)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n color: \"var(--paper)\",\n fontWeight: 700,\n fontSize: \"var(--t-small)\"\n },\n children: \"R\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 196,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontWeight: 600,\n fontSize: \"var(--t-body)\",\n color: \"var(--fg)\"\n },\n children: \"R42\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 212,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 195,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: handleClose,\n \"aria-label\": \"Close R42\",\n style: {\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n color: \"var(--fg-muted)\",\n fontSize: \"24px\",\n lineHeight: 1,\n padding: \"var(--s-1)\",\n minWidth: \"44px\",\n minHeight: \"44px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n children: \"\\xd7\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 216,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 185,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n flex: 1,\n overflowY: \"auto\",\n padding: \"var(--s-4) var(--s-5)\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: [\n messages.length === 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n textAlign: \"center\",\n color: \"var(--fg-muted)\",\n fontSize: \"var(--t-body)\",\n marginTop: \"var(--s-6)\"\n },\n children: \"Ask R42 anything about the knowledge base.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 250,\n columnNumber: 13\n }, this),\n messages.map((msg, idx)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: msg.role === \"user\" ? \"flex-end\" : \"flex-start\",\n gap: \"var(--s-2)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n maxWidth: \"85%\",\n background: msg.role === \"user\" ? \"var(--accent)\" : \"var(--bg-warm)\",\n color: msg.role === \"user\" ? \"var(--paper)\" : \"var(--fg)\",\n borderRadius: msg.role === \"user\" ? \"var(--r-md) var(--r-md) var(--r-sm) var(--r-md)\" : \"var(--r-md) var(--r-md) var(--r-md) var(--r-sm)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-body)\",\n lineHeight: 1.6,\n opacity: msg.outOfScope ? 0.75 : 1\n },\n children: msg.text || (msg.role === \"assistant\" && streaming && idx === messages.length - 1 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(StreamingDots, {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 288,\n columnNumber: 19\n }, this) : null)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 272,\n columnNumber: 15\n }, this),\n msg.citations && msg.citations.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: \"var(--s-2)\",\n maxWidth: \"85%\"\n },\n children: msg.citations.map((c)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n display: \"inline-block\",\n background: \"var(--accent-soft)\",\n color: \"var(--teal-900)\",\n borderRadius: \"var(--r-pill)\",\n fontSize: \"var(--t-small)\",\n padding: \"2px var(--s-3)\"\n },\n children: c.title\n }, c.id, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 294,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 292,\n columnNumber: 17\n }, this)\n ]\n }, idx, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 263,\n columnNumber: 13\n }, this)),\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n color: \"#c0392b\",\n fontSize: \"var(--t-small)\",\n padding: \"var(--s-2) var(--s-4)\",\n background: \"#f8d7da\",\n borderRadius: \"var(--r-sm)\"\n },\n children: error\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 314,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: bottomRef\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 326,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 239,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n padding: \"var(--s-3) var(--s-5) var(--s-5)\",\n borderTop: \"1px solid var(--cream)\",\n display: \"flex\",\n gap: \"var(--s-2)\",\n alignItems: \"flex-end\",\n flexShrink: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"textarea\", {\n value: input,\n onChange: (e)=>setInput(e.target.value),\n onKeyDown: handleKeyDown,\n placeholder: \"Ask anything…\",\n rows: 1,\n disabled: streaming,\n style: {\n flex: 1,\n borderRadius: \"var(--r-md)\",\n border: \"1.5px solid var(--cream)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-body)\",\n fontFamily: \"var(--font-sans)\",\n color: \"var(--fg)\",\n background: \"var(--bg)\",\n resize: \"none\",\n outline: \"none\",\n lineHeight: 1.5,\n minHeight: \"44px\",\n maxHeight: \"120px\",\n overflowY: \"auto\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 340,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"primary\",\n size: \"md\",\n onClick: ()=>void sendMessage(),\n loading: streaming,\n disabled: !input.trim() || streaming,\n style: {\n flexShrink: 0,\n minWidth: \"44px\",\n minHeight: \"44px\"\n },\n children: streaming ? \"\" : \"↑\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 364,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 330,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 164,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"style\", {\n children: `\n @media (min-width: 768px) {\n [role=\"dialog\"][aria-label=\"R42 Assistant\"] {\n right: 0;\n left: auto;\n top: 0;\n bottom: 0;\n max-height: 100dvh;\n width: 400px;\n border-radius: var(--r-lg) 0 0 var(--r-lg);\n }\n }\n `\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 377,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n}\nfunction StreamingDots() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n display: \"inline-flex\",\n gap: \"4px\",\n alignItems: \"center\"\n },\n children: [\n [\n 0,\n 1,\n 2\n ].map((i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n width: \"6px\",\n height: \"6px\",\n borderRadius: \"50%\",\n background: \"var(--fg-muted)\",\n animation: `bounce 1s ${i * 0.15}s infinite`\n }\n }, i, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 398,\n columnNumber: 9\n }, this)),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"style\", {\n children: `\n @keyframes bounce {\n 0%, 80%, 100% { transform: scale(0.7); opacity: 0.5; }\n 40% { transform: scale(1); opacity: 1; }\n }\n `\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 409,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 396,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9yNDIvUjQyRHJhd2VyLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQ3VFO0FBRXhCO0FBb0IvQyxNQUFNTSxXQUFXQyx1QkFBZ0MsSUFBSTtBQUU5QyxTQUFTRyxVQUFVLEVBQUVDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQWtCO0lBQ2pFLE1BQU0sQ0FBQ0MsVUFBVUMsWUFBWSxHQUFHZCwrQ0FBUUEsQ0FBWSxFQUFFO0lBQ3RELE1BQU0sQ0FBQ2UsT0FBT0MsU0FBUyxHQUFHaEIsK0NBQVFBLENBQUM7SUFDbkMsTUFBTSxDQUFDaUIsV0FBV0MsYUFBYSxHQUFHbEIsK0NBQVFBLENBQUM7SUFDM0MsTUFBTSxDQUFDbUIsT0FBT0MsU0FBUyxHQUFHcEIsK0NBQVFBLENBQWdCO0lBQ2xELE1BQU1xQixZQUFZcEIsNkNBQU1BLENBQWlCO0lBQ3pDLE1BQU1xQixXQUFXckIsNkNBQU1BLENBQXlCO0lBRWhEQyxnREFBU0EsQ0FBQztRQUNSLElBQUlRLE1BQU07WUFDUlcsVUFBVUUsT0FBTyxFQUFFQyxlQUFlO2dCQUFFQyxVQUFVO1lBQVM7UUFDekQ7SUFDRixHQUFHO1FBQUNaO1FBQVVIO0tBQUs7SUFFbkIsTUFBTWdCLGNBQWN2QixrREFBV0EsQ0FBQztRQUM5Qm1CLFNBQVNDLE9BQU8sRUFBRUk7UUFDbEJoQjtJQUNGLEdBQUc7UUFBQ0E7S0FBUTtJQUVaLGVBQWVpQjtRQUNiLE1BQU1DLE9BQU9kLE1BQU1lLElBQUk7UUFDdkIsSUFBSSxDQUFDRCxRQUFRWixXQUFXO1FBRXhCRCxTQUFTO1FBQ1RJLFNBQVM7UUFDVCxNQUFNVyxVQUFtQjtZQUFFQyxNQUFNO1lBQVFIO1FBQUs7UUFDOUNmLFlBQVksQ0FBQ21CLE9BQVM7bUJBQUlBO2dCQUFNRjthQUFRO1FBRXhDLE1BQU1HLE9BQU8sSUFBSUM7UUFDakJiLFNBQVNDLE9BQU8sR0FBR1c7UUFDbkJoQixhQUFhO1FBRWIsSUFBSWtCLGdCQUFnQjtRQUNw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ZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2NvbXBvbmVudHMvcjQyL1I0MkRyYXdlci50c3g/NDA4YSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IFI0MlNTRUV2ZW50IH0gZnJvbSAnQC90eXBlcydcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy91aS9CdXR0b24nXG5cbmludGVyZmFjZSBDaXRhdGlvblRvcGljIHtcbiAgaWQ6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nXG59XG5cbmludGVyZmFjZSBNZXNzYWdlIHtcbiAgcm9sZTogJ3VzZXInIHwgJ2Fzc2lzdGFudCdcbiAgdGV4dDogc3RyaW5nXG4gIGNpdGF0aW9ucz86IENpdGF0aW9uVG9waWNbXVxuICBvdXRPZlNjb3BlPzogYm9vbGVhblxufVxuXG5pbnRlcmZhY2UgUjQyRHJhd2VyUHJvcHMge1xuICBvcGVuOiBib29sZWFuXG4gIG9uQ2xvc2U6ICgpID0+IHZvaWRcbiAgdXNlcklkOiBzdHJpbmdcbn1cblxuY29uc3QgQ0hBVF9VUkwgPSBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19DSEFUX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDA0J1xuXG5leHBvcnQgZnVuY3Rpb24gUjQyRHJhd2VyKHsgb3Blbiwgb25DbG9zZSwgdXNlcklkIH06IFI0MkRyYXdlclByb3BzKSB7XG4gIGNvbnN0IFttZXNzYWdlcywgc2V0TWVzc2FnZXNdID0gdXNlU3RhdGU8TWVzc2FnZVtdPihbXSlcbiAgY29uc3QgW2lucHV0LCBzZXRJbnB1dF0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3QgW3N0cmVhbWluZywgc2V0U3RyZWFtaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGJvdHRvbVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgYWJvcnRSZWYgPSB1c2VSZWY8QWJvcnRDb250cm9sbGVyIHwgbnVsbD4obnVsbClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcGVuKSB7XG4gICAgICBib3R0b21SZWYuY3VycmVudD8uc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSlcbiAgICB9XG4gIH0sIFttZXNzYWdlcywgb3Blbl0pXG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgYWJvcnRSZWYuY3VycmVudD8uYWJvcnQoKVxuICAgIG9uQ2xvc2UoKVxuICB9LCBbb25DbG9zZV0pXG5cbiAgYXN5bmMgZnVuY3Rpb24gc2VuZE1lc3NhZ2UoKSB7XG4gICAgY29uc3QgdGV4dCA9IGlucHV0LnRyaW0oKVxuICAgIGlmICghdGV4dCB8fCBzdHJlYW1pbmcpIHJldHVyblxuXG4gICAgc2V0SW5wdXQoJycpXG4gICAgc2V0RXJyb3IobnVsbClcbiAgICBjb25zdCB1c2VyTXNnOiBNZXNzYWdlID0geyByb2xlOiAndXNlcicsIHRleHQgfVxuICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiBbLi4ucHJldiwgdXNlck1zZ10pXG5cbiAgICBjb25zdCBjdHJsID0gbmV3IEFib3J0Q29udHJvbGxlcigpXG4gICAgYWJvcnRSZWYuY3VycmVudCA9IGN0cmxcbiAgICBzZXRTdHJlYW1pbmcodHJ1ZSlcblxuICAgIGxldCBhc3Npc3RhbnRUZXh0ID0gJydcbiAgICBsZXQgY2l0YXRpb25zOiBDaXRhdGlvblRvcGljW10gPSBbXVxuICAgIGxldCBvdXRPZlNjb3BlID0gZmFsc2VcblxuICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiBbLi4ucHJldiwgeyByb2xlOiAnYXNzaXN0YW50JywgdGV4dDogJycgfV0pXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYCR7Q0hBVF9VUkx9L2NoYXRgLCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyB1c2VySWQsIG1lc3NhZ2U6IHRleHQgfSksXG4gICAgICAgIHNpZ25hbDogY3RybC5zaWduYWwsXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENoYXQgc2VydmljZSBlcnJvcjogJHtyZXMuc3RhdHVzfWApXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlYWRlciA9IHJlcy5ib2R5Py5nZXRSZWFkZXIoKVxuICAgICAgaWYgKCFyZWFkZXIpIHRocm93IG5ldyBFcnJvcignTm8gcmVzcG9uc2UgYm9keScpXG5cbiAgICAgIGNvbnN0IGRlY29kZXIgPSBuZXcgVGV4dERlY29kZXIoKVxuICAgICAgbGV0IGJ1ZmZlciA9ICcnXG5cbiAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIGNvbnN0IHsgZG9uZSwgdmFsdWUgfSA9IGF3YWl0IHJlYWRlci5yZWFkKClcbiAgICAgICAgaWYgKGRvbmUpIGJyZWFrXG5cbiAgICAgICAgYnVmZmVyICs9IGRlY29kZXIuZGVjb2RlKHZhbHVlLCB7IHN0cmVhbTogdHJ1ZSB9KVxuICAgICAgICBjb25zdCBsaW5lcyA9IGJ1ZmZlci5zcGxpdCgnXFxuJylcbiAgICAgICAgYnVmZmVyID0gbGluZXMucG9wKCkgPz8gJydcblxuICAgICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZXMpIHtcbiAgICAgICAgICBpZiAoIWxpbmUuc3RhcnRzV2l0aCgnZGF0YTogJykpIGNvbnRpbnVlXG4gICAgICAgICAgY29uc3QgcmF3ID0gbGluZS5zbGljZSg2KS50cmltKClcbiAgICAgICAgICBpZiAocmF3ID09PSAnW0RPTkVdJykgY29udGludWVcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBldmVudCA9IEpTT04ucGFyc2UocmF3KSBhcyBSNDJTU0VFdmVudFxuICAgICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjaHVuaycpIHtcbiAgICAgICAgICAgICAgYXNzaXN0YW50VGV4dCArPSBldmVudC50ZXh0XG4gICAgICAgICAgICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29weSA9IFsuLi5wcmV2XVxuICAgICAgICAgICAgICAgIGNvcHlbY29weS5sZW5ndGggLSAxXSA9IHsgcm9sZTogJ2Fzc2lzdGFudCcsIHRleHQ6IGFzc2lzdGFudFRleHQgfVxuICAgICAgICAgICAgICAgIHJldHVybiBjb3B5XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnR5cGUgPT09ICdjaXRhdGlvbnMnKSB7XG4gICAgICAgICAgICAgIGNpdGF0aW9ucyA9IGV2ZW50LnRvcGljc1xuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSAnb3V0X29mX3Njb3BlJykge1xuICAgICAgICAgICAgICBvdXRPZlNjb3BlID0gdHJ1ZVxuICAgICAgICAgICAgICBhc3Npc3RhbnRUZXh0ID0gZXZlbnQudGV4dFxuICAgICAgICAgICAgICBzZXRNZXNzYWdlcygocHJldikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvcHkgPSBbLi4ucHJldl1cbiAgICAgICAgICAgICAgICBjb3B5W2NvcHkubGVuZ3RoIC0gMV0gPSB7IHJvbGU6ICdhc3Npc3RhbnQnLCB0ZXh0OiBhc3Npc3RhbnRUZXh0LCBvdXRPZlNjb3BlOiB0cnVlIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gY29weVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSAnZG9uZScpIHtcbiAgICAgICAgICAgICAgc2V0TWVzc2FnZXMoKHByZXYpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb3B5ID0gWy4uLnByZXZdXG4gICAgICAgICAgICAgICAgY29weVtjb3B5Lmxlbmd0aCAtIDFdID0ge1xuICAgICAgICAgICAgICAgICAgcm9sZTogJ2Fzc2lzdGFudCcsXG4gICAgICAgICAgICAgICAgICB0ZXh0OiBhc3Npc3RhbnRUZXh0LFxuICAgICAgICAgICAgICAgICAgY2l0YXRpb25zOiBjaXRhdGlvbnMubGVuZ3RoID4gMCA/IGNpdGF0aW9ucyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIG91dE9mU2NvcGUsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBjb3B5XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAvLyBza2lwIG1hbGZvcm1lZCBTU0UgbGluZXNcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGlmICgoZXJyIGFzIEVycm9yKS5uYW1lID09PSAnQWJvcnRFcnJvcicpIHJldHVyblxuICAgICAgc2V0RXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdGYWlsZWQgdG8gc2VuZCBtZXNzYWdlJylcbiAgICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiBwcmV2LnNsaWNlKDAsIC0xKSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0U3RyZWFtaW5nKGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUtleURvd24oZTogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50Pikge1xuICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJyAmJiAhZS5zaGlmdEtleSkge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB2b2lkIHNlbmRNZXNzYWdlKClcbiAgICB9XG4gIH1cblxuICBpZiAoIW9wZW4pIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgey8qIEJhY2tkcm9wICovfVxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgICAgICBpbnNldDogMCxcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAncmdiYSgwLDAsMCwwLjM1KScsXG4gICAgICAgICAgekluZGV4OiAzMDAsXG4gICAgICAgIH19XG4gICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAvPlxuXG4gICAgICB7LyogUGFuZWwgKi99XG4gICAgICA8ZGl2XG4gICAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiUjQyIEFzc2lzdGFudFwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgYm90dG9tOiAwLFxuICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgdG9wOiAnYXV0bycsXG4gICAgICAgICAgbWF4SGVpZ2h0OiAnODVkdmgnLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZyknLFxuICAgICAgICAgIGJvcmRlclRvcExlZnRSYWRpdXM6ICd2YXIoLS1yLXhsKScsXG4gICAgICAgICAgYm9yZGVyVG9wUmlnaHRSYWRpdXM6ICd2YXIoLS1yLXhsKScsXG4gICAgICAgICAgYm94U2hhZG93OiAnMCAtOHB4IDQwcHggcmdiYSgwLDAsMCwwLjE4KScsXG4gICAgICAgICAgekluZGV4OiAzMDEsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgIC8vIERlc2t0b3A6IHNpZGUgcGFuZWxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgey8qIEhlYWRlciAqL31cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy00KSB2YXIoLS1zLTUpJyxcbiAgICAgICAgICAgIGJvcmRlckJvdHRvbTogJzFweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICd2YXIoLS1zLTMpJyB9fT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICB3aWR0aDogJzMycHgnLFxuICAgICAgICAgICAgICAgIGhlaWdodDogJzMycHgnLFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWFjY2VudCknLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDcwMCxcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgUlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250V2VpZ2h0OiA2MDAsIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsIGNvbG9yOiAndmFyKC0tZmcpJyB9fT5cbiAgICAgICAgICAgICAgUjQyXG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2UgUjQyXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICdub25lJyxcbiAgICAgICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgICAgIGZvbnRTaXplOiAnMjRweCcsXG4gICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTEpJyxcbiAgICAgICAgICAgICAgbWluV2lkdGg6ICc0NHB4JyxcbiAgICAgICAgICAgICAgbWluSGVpZ2h0OiAnNDRweCcsXG4gICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgw5dcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIE1lc3NhZ2VzICovfVxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICBvdmVyZmxvd1k6ICdhdXRvJyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTQpIHZhcigtLXMtNSknLFxuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTQpJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge21lc3NhZ2VzLmxlbmd0aCA9PT0gMCAmJiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6ICd2YXIoLS1zLTYpJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQXNrIFI0MiBhbnl0aGluZyBhYm91dCB0aGUga25vd2xlZGdlIGJhc2UuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge21lc3NhZ2VzLm1hcCgobXNnLCBpZHgpID0+IChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAga2V5PXtpZHh9XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6IG1zZy5yb2xlID09PSAndXNlcicgPyAnZmxleC1lbmQnIDogJ2ZsZXgtc3RhcnQnLFxuICAgICAgICAgICAgICAgIGdhcDogJ3ZhcigtLXMtMiknLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIG1heFdpZHRoOiAnODUlJyxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1zZy5yb2xlID09PSAndXNlcicgPyAndmFyKC0tYWNjZW50KScgOiAndmFyKC0tYmctd2FybSknLFxuICAgICAgICAgICAgICAgICAgY29sb3I6IG1zZy5yb2xlID09PSAndXNlcicgPyAndmFyKC0tcGFwZXIpJyA6ICd2YXIoLS1mZyknLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOlxuICAgICAgICAgICAgICAgICAgICBtc2cucm9sZSA9PT0gJ3VzZXInXG4gICAgICAgICAgICAgICAgICAgICAgPyAndmFyKC0tci1tZCkgdmFyKC0tci1tZCkgdmFyKC0tci1zbSkgdmFyKC0tci1tZCknXG4gICAgICAgICAgICAgICAgICAgICAgOiAndmFyKC0tci1tZCkgdmFyKC0tci1tZCkgdmFyKC0tci1tZCkgdmFyKC0tci1zbSknLFxuICAgICAgICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtMykgdmFyKC0tcy00KScsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogMS42LFxuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogbXNnLm91dE9mU2NvcGUgPyAwLjc1IDogMSxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge21zZy50ZXh0IHx8IChtc2cucm9sZSA9PT0gJ2Fzc2lzdGFudCcgJiYgc3RyZWFtaW5nICYmIGlkeCA9PT0gbWVzc2FnZXMubGVuZ3RoIC0gMSA/IChcbiAgICAgICAgICAgICAgICAgIDxTdHJlYW1pbmdEb3RzIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGwpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAge21zZy5jaXRhdGlvbnMgJiYgbXNnLmNpdGF0aW9ucy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleFdyYXA6ICd3cmFwJywgZ2FwOiAndmFyKC0tcy0yKScsIG1heFdpZHRoOiAnODUlJyB9fT5cbiAgICAgICAgICAgICAgICAgIHttc2cuY2l0YXRpb25zLm1hcCgoYykgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgIGtleT17Yy5pZH1cbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYWNjZW50LXNvZnQpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tdGVhbC05MDApJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJ3ZhcigtLXItcGlsbCknLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LXNtYWxsKScsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAnMnB4IHZhcigtLXMtMyknLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7Yy50aXRsZX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApKX1cblxuICAgICAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgY29sb3I6ICcjYzAzOTJiJyxcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTQpJyxcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2Y4ZDdkYScsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1zbSknLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7ZXJyb3J9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxkaXYgcmVmPXtib3R0b21SZWZ9IC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBJbnB1dCAqL31cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTUpIHZhcigtLXMtNSknLFxuICAgICAgICAgICAgYm9yZGVyVG9wOiAnMXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTIpJyxcbiAgICAgICAgICAgIGFsaWduSXRlbXM6ICdmbGV4LWVuZCcsXG4gICAgICAgICAgICBmbGV4U2hyaW5rOiAwLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIHZhbHVlPXtpbnB1dH1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0SW5wdXQoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJBc2sgYW55dGhpbmfigKZcIlxuICAgICAgICAgICAgcm93cz17MX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtzdHJlYW1pbmd9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLW1kKScsXG4gICAgICAgICAgICAgIGJvcmRlcjogJzEuNXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTMpIHZhcigtLXMtNCknLFxuICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1zYW5zKScsXG4gICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnKScsXG4gICAgICAgICAgICAgIHJlc2l6ZTogJ25vbmUnLFxuICAgICAgICAgICAgICBvdXRsaW5lOiAnbm9uZScsXG4gICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNSxcbiAgICAgICAgICAgICAgbWluSGVpZ2h0OiAnNDRweCcsXG4gICAgICAgICAgICAgIG1heEhlaWdodDogJzEyMHB4JyxcbiAgICAgICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgICAgc2l6ZT1cIm1kXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHZvaWQgc2VuZE1lc3NhZ2UoKX1cbiAgICAgICAgICAgIGxvYWRpbmc9e3N0cmVhbWluZ31cbiAgICAgICAgICAgIGRpc2FibGVkPXshaW5wdXQudHJpbSgpIHx8IHN0cmVhbWluZ31cbiAgICAgICAgICAgIHN0eWxlPXt7IGZsZXhTaHJpbms6IDAsIG1pbldpZHRoOiAnNDRweCcsIG1pbkhlaWdodDogJzQ0cHgnIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3N0cmVhbWluZyA/ICcnIDogJ+KGkSd9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxzdHlsZT57YFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICBbcm9sZT1cImRpYWxvZ1wiXVthcmlhLWxhYmVsPVwiUjQyIEFzc2lzdGFudFwiXSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBkdmg7XG4gICAgICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLWxnKSAwIDAgdmFyKC0tci1sZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBgfTwvc3R5bGU+XG4gICAgPC8+XG4gIClcbn1cblxuZnVuY3Rpb24gU3RyZWFtaW5nRG90cygpIHtcbiAgcmV0dXJuIChcbiAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLCBnYXA6ICc0cHgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJyB9fT5cbiAgICAgIHtbMCwgMSwgMl0ubWFwKChpKSA9PiAoXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAga2V5PXtpfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICB3aWR0aDogJzZweCcsXG4gICAgICAgICAgICBoZWlnaHQ6ICc2cHgnLFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNTAlJyxcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1mZy1tdXRlZCknLFxuICAgICAgICAgICAgYW5pbWF0aW9uOiBgYm91bmNlIDFzICR7aSAqIDAuMTV9cyBpbmZpbml0ZWAsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICkpfVxuICAgICAgPHN0eWxlPntgXG4gICAgICAgIEBrZXlmcmFtZXMgYm91bmNlIHtcbiAgICAgICAgICAwJSwgODAlLCAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyBvcGFjaXR5OiAwLjU7IH1cbiAgICAgICAgICA0MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAxOyB9XG4gICAgICAgIH1cbiAgICAgIGB9PC9zdHlsZT5cbiAgICA8L3NwYW4+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlUmVmIiwidXNlRWZmZWN0IiwidXNlQ2FsbGJhY2siLCJCdXR0b24iLCJDSEFUX1VSTCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19DSEFUX1VSTCIsIlI0MkRyYXdlciIsIm9wZW4iLCJvbkNsb3NlIiwidXNlcklkIiwibWVzc2FnZXMiLCJzZXRNZXNzYWdlcyIsImlucHV0Iiwic2V0SW5wdXQiLCJzdHJlYW1pbmciLCJzZXRTdHJlYW1pbmciLCJlcnJvciIsInNldEVycm9yIiwiYm90dG9tUmVmIiwiYWJvcnRSZWYiLCJjdXJyZW50Iiwic2Nyb2xsSW50b1ZpZXciLCJiZWhhdmlvciIsImhhbmRsZUNsb3NlIiwiYWJvcnQiLCJzZW5kTWVzc2FnZSIsInRleHQiLCJ0cmltIiwidXNlck1zZyIsInJvbGUiLCJwcmV2IiwiY3RybCIsIkFib3J0Q29udHJvbGxlciIsImFzc2lzdGFudFRleHQiLCJjaXRhdGlvbnMiLCJvdXRPZlNjb3BlIiwicmVzIiwiZmV0Y2giLCJtZXRob2QiLCJoZWFkZXJzIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJtZXNzYWdlIiwic2lnbmFsIiwib2siLCJFcnJvciIsInN0YXR1cyIsInJlYWRlciIsImdldFJlYWRlciIsImRlY29kZXIiLCJUZXh0RGVjb2RlciIsImJ1ZmZlciIsImRvbmUiLCJ2YWx1ZSIsInJlYWQiLCJkZWNvZGUiLCJzdHJlYW0iLCJsaW5lcyIsInNwbGl0IiwicG9wIiwibGluZSIsInN0YXJ0c1dpdGgiLCJyYXciLCJzbGljZSIsImV2ZW50IiwicGFyc2UiLCJ0eXBlIiwiY29weSIsImxlbmd0aCIsInRvcGljcyIsInVuZGVmaW5lZCIsImVyciIsIm5hbWUiLCJoYW5kbGVLZXlEb3duIiwiZSIsImtleSIsInNoaWZ0S2V5IiwicHJldmVudERlZmF1bHQiLCJkaXYiLCJvbkNsaWNrIiwic3R5bGUiLCJwb3NpdGlvbiIsImluc2V0IiwiYmFja2dyb3VuZCIsInpJbmRleCIsImFyaWEtaGlkZGVuIiwiYXJpYS1sYWJlbCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsInRvcCIsIm1heEhlaWdodCIsImJvcmRlclRvcExlZnRSYWRpdXMiLCJib3JkZXJUb3BSaWdodFJhZGl1cyIsImJveFNoYWRvdyIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwicGFkZGluZyIsImJvcmRlckJvdHRvbSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImZsZXhTaHJpbmsiLCJnYXAiLCJ3aWR0aCIsImhlaWdodCIsImJvcmRlclJhZGl1cyIsImNvbG9yIiwiZm9udFdlaWdodCIsImZvbnRTaXplIiwic3BhbiIsImJ1dHRvbiIsImJvcmRlciIsImN1cnNvciIsImxpbmVIZWlnaHQiLCJtaW5XaWR0aCIsIm1pbkhlaWdodCIsImZsZXgiLCJvdmVyZmxvd1kiLCJ0ZXh0QWxpZ24iLCJtYXJnaW5Ub3AiLCJtYXAiLCJtc2ciLCJpZHgiLCJtYXhXaWR0aCIsIm9wYWNpdHkiLCJTdHJlYW1pbmdEb3RzIiwiZmxleFdyYXAiLCJjIiwidGl0bGUiLCJpZCIsInJlZiIsImJvcmRlclRvcCIsInRleHRhcmVhIiwib25DaGFuZ2UiLCJ0YXJnZXQiLCJvbktleURvd24iLCJwbGFjZWhvbGRlciIsInJvd3MiLCJkaXNhYmxlZCIsImZvbnRGYW1pbHkiLCJyZXNpemUiLCJvdXRsaW5lIiwidmFyaWFudCIsInNpemUiLCJsb2FkaW5nIiwiaSIsImFuaW1hdGlvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/r42/R42Drawer.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/Button.tsx": +/*!**************************************!*\ + !*** ./src/components/ui/Button.tsx ***! + \**************************************/ +/***/ ((__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 */ Button: () => (/* binding */ Button)\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/* __next_internal_client_entry_do_not_use__ Button auto */ \n\nconst variantStyles = {\n primary: {\n background: \"var(--accent)\",\n color: \"var(--paper)\",\n border: \"none\"\n },\n secondary: {\n background: \"var(--bg-warm)\",\n color: \"var(--fg)\",\n border: \"1.5px solid var(--cream)\"\n },\n danger: {\n background: \"#c0392b\",\n color: \"var(--paper)\",\n border: \"none\"\n },\n ghost: {\n background: \"transparent\",\n color: \"var(--fg)\",\n border: \"1.5px solid var(--cream)\"\n }\n};\nconst sizeStyles = {\n sm: {\n fontSize: \"var(--t-small)\",\n padding: \"var(--s-2) var(--s-3)\",\n minHeight: \"36px\",\n borderRadius: \"var(--r-sm)\"\n },\n md: {\n fontSize: \"var(--t-body)\",\n padding: \"var(--s-2) var(--s-5)\",\n minHeight: \"44px\",\n borderRadius: \"var(--r-md)\"\n },\n lg: {\n fontSize: \"var(--t-lead)\",\n padding: \"var(--s-3) var(--s-6)\",\n minHeight: \"52px\",\n borderRadius: \"var(--r-lg)\"\n }\n};\nfunction Button({ variant = \"primary\", size = \"md\", loading = false, disabled, children, style, ...rest }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n disabled: disabled ?? loading,\n style: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"var(--s-2)\",\n fontFamily: \"var(--font-sans)\",\n fontWeight: 500,\n cursor: disabled ?? loading ? \"not-allowed\" : \"pointer\",\n opacity: disabled ?? loading ? 0.6 : 1,\n transition: \"opacity 150ms, transform 100ms\",\n ...variantStyles[variant],\n ...sizeStyles[size],\n ...style\n },\n ...rest,\n children: loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Spinner, {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 88,\n columnNumber: 11\n }, this),\n children\n ]\n }, void 0, true) : children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 68,\n columnNumber: 5\n }, this);\n}\nfunction Spinner() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n width: \"16px\",\n height: \"16px\",\n border: \"2px solid currentColor\",\n borderTopColor: \"transparent\",\n borderRadius: \"50%\",\n display: \"inline-block\",\n animation: \"spin 0.7s linear infinite\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 100,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9CdXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUN5QjtBQVl6QixNQUFNQyxnQkFBNEQ7SUFDaEVDLFNBQVM7UUFDUEMsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtJQUNBQyxXQUFXO1FBQ1RILFlBQVk7UUFDWkMsT0FBTztRQUNQQyxRQUFRO0lBQ1Y7SUFDQUUsUUFBUTtRQUNOSixZQUFZO1FBQ1pDLE9BQU87UUFDUEMsUUFBUTtJQUNWO0lBQ0FHLE9BQU87UUFDTEwsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtBQUNGO0FBRUEsTUFBTUksYUFBc0Q7SUFDMURDLElBQUk7UUFDRkMsVUFBVTtRQUNWQyxTQUFTO1FBQ1RDLFdBQVc7UUFDWEMsY0FBYztJQUNoQjtJQUNBQyxJQUFJO1FBQ0ZKLFVBQVU7UUFDVkMsU0FBUztRQUNUQyxXQUFXO1FBQ1hDLGNBQWM7SUFDaEI7SUFDQUUsSUFBSTtRQUNGTCxVQUFVO1FBQ1ZDLFNBQVM7UUFDVEMsV0FBVztRQUNYQyxjQUFjO0lBQ2hCO0FBQ0Y7QUFFTyxTQUFTRyxPQUFPLEVBQ3JCQyxVQUFVLFNBQVMsRUFDbkJDLE9BQU8sSUFBSSxFQUNYQyxVQUFVLEtBQUssRUFDZkMsUUFBUSxFQUNSQyxRQUFRLEVBQ1JDLEtBQUssRUFDTCxHQUFHQyxNQUNTO0lBQ1oscUJBQ0UsOERBQUNDO1FBQ0NKLFVBQVVBLFlBQVlEO1FBQ3RCRyxPQUFPO1lBQ0xHLFNBQVM7WUFDVEMsWUFBWTtZQUNaQyxnQkFBZ0I7WUFDaEJDLEtBQUs7WUFDTEMsWUFBWTtZQUNaQyxZQUFZO1lBQ1pDLFFBQVFYLFlBQVlELFVBQVUsZ0JBQWdCO1lBQzlDYSxTQUFTWixZQUFZRCxVQUFVLE1BQU07WUFDckNjLFlBQVk7WUFDWixHQUFHakMsYUFBYSxDQUFDaUIsUUFBUTtZQUN6QixHQUFHVCxVQUFVLENBQUNVLEtBQUs7WUFDbkIsR0FBR0ksS0FBSztRQUNWO1FBQ0MsR0FBR0MsSUFBSTtrQkFFUEosd0JBQ0M7OzhCQUNFLDhEQUFDZTs7Ozs7Z0JBQ0FiOzsyQkFHSEE7Ozs7OztBQUlSO0FBRUEsU0FBU2E7SUFDUCxxQkFDRSw4REFBQ0M7UUFDQ2IsT0FBTztZQUNMYyxPQUFPO1lBQ1BDLFFBQVE7WUFDUmpDLFFBQVE7WUFDUmtDLGdCQUFnQjtZQUNoQnpCLGNBQWM7WUFDZFksU0FBUztZQUNUYyxXQUFXO1FBQ2I7Ozs7OztBQUdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy91aS9CdXR0b24udHN4PzAxM2EiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbnR5cGUgQnV0dG9uVmFyaWFudCA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2RhbmdlcicgfCAnZ2hvc3QnXG50eXBlIEJ1dHRvblNpemUgPSAnc20nIHwgJ21kJyB8ICdsZydcblxuaW50ZXJmYWNlIEJ1dHRvblByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcbiAgdmFyaWFudD86IEJ1dHRvblZhcmlhbnRcbiAgc2l6ZT86IEJ1dHRvblNpemVcbiAgbG9hZGluZz86IGJvb2xlYW5cbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG5jb25zdCB2YXJpYW50U3R5bGVzOiBSZWNvcmQ8QnV0dG9uVmFyaWFudCwgUmVhY3QuQ1NTUHJvcGVydGllcz4gPSB7XG4gIHByaW1hcnk6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYWNjZW50KScsXG4gICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBzZWNvbmRhcnk6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctd2FybSknLFxuICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICBib3JkZXI6ICcxLjVweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICB9LFxuICBkYW5nZXI6IHtcbiAgICBiYWNrZ3JvdW5kOiAnI2MwMzkyYicsXG4gICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBnaG9zdDoge1xuICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXG4gICAgY29sb3I6ICd2YXIoLS1mZyknLFxuICAgIGJvcmRlcjogJzEuNXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gIH0sXG59XG5cbmNvbnN0IHNpemVTdHlsZXM6IFJlY29yZDxCdXR0b25TaXplLCBSZWFjdC5DU1NQcm9wZXJ0aWVzPiA9IHtcbiAgc206IHtcbiAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTMpJyxcbiAgICBtaW5IZWlnaHQ6ICczNnB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXNtKScsXG4gIH0sXG4gIG1kOiB7XG4gICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTUpJyxcbiAgICBtaW5IZWlnaHQ6ICc0NHB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLW1kKScsXG4gIH0sXG4gIGxnOiB7XG4gICAgZm9udFNpemU6ICd2YXIoLS10LWxlYWQpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTYpJyxcbiAgICBtaW5IZWlnaHQ6ICc1MnB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLWxnKScsXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b24oe1xuICB2YXJpYW50ID0gJ3ByaW1hcnknLFxuICBzaXplID0gJ21kJyxcbiAgbG9hZGluZyA9IGZhbHNlLFxuICBkaXNhYmxlZCxcbiAgY2hpbGRyZW4sXG4gIHN0eWxlLFxuICAuLi5yZXN0XG59OiBCdXR0b25Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZCA/PyBsb2FkaW5nfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgZ2FwOiAndmFyKC0tcy0yKScsXG4gICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICBjdXJzb3I6IGRpc2FibGVkID8/IGxvYWRpbmcgPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInLFxuICAgICAgICBvcGFjaXR5OiBkaXNhYmxlZCA/PyBsb2FkaW5nID8gMC42IDogMSxcbiAgICAgICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMTUwbXMsIHRyYW5zZm9ybSAxMDBtcycsXG4gICAgICAgIC4uLnZhcmlhbnRTdHlsZXNbdmFyaWFudF0sXG4gICAgICAgIC4uLnNpemVTdHlsZXNbc2l6ZV0sXG4gICAgICAgIC4uLnN0eWxlLFxuICAgICAgfX1cbiAgICAgIHsuLi5yZXN0fVxuICAgID5cbiAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxTcGlubmVyIC8+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGNoaWxkcmVuXG4gICAgICApfVxuICAgIDwvYnV0dG9uPlxuICApXG59XG5cbmZ1bmN0aW9uIFNwaW5uZXIoKSB7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHdpZHRoOiAnMTZweCcsXG4gICAgICAgIGhlaWdodDogJzE2cHgnLFxuICAgICAgICBib3JkZXI6ICcycHggc29saWQgY3VycmVudENvbG9yJyxcbiAgICAgICAgYm9yZGVyVG9wQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICBhbmltYXRpb246ICdzcGluIDAuN3MgbGluZWFyIGluZmluaXRlJyxcbiAgICAgIH19XG4gICAgLz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidmFyaWFudFN0eWxlcyIsInByaW1hcnkiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJib3JkZXIiLCJzZWNvbmRhcnkiLCJkYW5nZXIiLCJnaG9zdCIsInNpemVTdHlsZXMiLCJzbSIsImZvbnRTaXplIiwicGFkZGluZyIsIm1pbkhlaWdodCIsImJvcmRlclJhZGl1cyIsIm1kIiwibGciLCJCdXR0b24iLCJ2YXJpYW50Iiwic2l6ZSIsImxvYWRpbmciLCJkaXNhYmxlZCIsImNoaWxkcmVuIiwic3R5bGUiLCJyZXN0IiwiYnV0dG9uIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImdhcCIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiY3Vyc29yIiwib3BhY2l0eSIsInRyYW5zaXRpb24iLCJTcGlubmVyIiwic3BhbiIsIndpZHRoIiwiaGVpZ2h0IiwiYm9yZGVyVG9wQ29sb3IiLCJhbmltYXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/Button.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/Toast.tsx": +/*!*************************************!*\ + !*** ./src/components/ui/Toast.tsx ***! + \*************************************/ +/***/ ((__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 */ ToastProvider: () => (/* binding */ ToastProvider),\n/* harmony export */ useToast: () => (/* binding */ useToast)\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/* __next_internal_client_entry_do_not_use__ ToastProvider,useToast auto */ \n\nconst ToastContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(null);\nfunction ToastProvider({ children }) {\n const [toasts, setToasts] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const showToast = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((message, type = \"info\")=>{\n const id = `toast-${Date.now()}-${Math.random()}`;\n setToasts((prev)=>[\n ...prev,\n {\n id,\n message,\n type\n }\n ]);\n }, []);\n const dismiss = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((id)=>{\n setToasts((prev)=>prev.filter((t)=>t.id !== id));\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ToastContext.Provider, {\n value: {\n showToast\n },\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n position: \"fixed\",\n bottom: \"calc(var(--nav-height) + var(--s-5))\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-2)\",\n zIndex: 1000,\n width: \"min(360px, 90vw)\"\n },\n children: toasts.map((t)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ToastItem, {\n toast: t,\n onDismiss: dismiss\n }, t.id, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 47,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 33,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 31,\n columnNumber: 5\n }, this);\n}\nfunction ToastItem({ toast, onDismiss }) {\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const timer = setTimeout(()=>onDismiss(toast.id), 4000);\n return ()=>clearTimeout(timer);\n }, [\n toast.id,\n onDismiss\n ]);\n const bgMap = {\n success: \"var(--success)\",\n error: \"#f8d7da\",\n info: \"var(--bg-dark)\"\n };\n const colorMap = {\n success: \"var(--teal-900)\",\n error: \"#c0392b\",\n info: \"var(--paper)\"\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: bgMap[toast.type],\n color: colorMap[toast.type],\n borderRadius: \"var(--r-md)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-small)\",\n fontFamily: \"var(--font-sans)\",\n boxShadow: \"var(--shadow-soft)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: \"var(--s-3)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: toast.message\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 87,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>onDismiss(toast.id),\n style: {\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n color: \"inherit\",\n fontSize: \"18px\",\n lineHeight: 1,\n padding: 0,\n minWidth: \"24px\",\n minHeight: \"24px\"\n },\n \"aria-label\": \"Dismiss\",\n children: \"\\xd7\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 88,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 72,\n columnNumber: 5\n }, this);\n}\nfunction useToast() {\n const ctx = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(ToastContext);\n if (!ctx) throw new Error(\"useToast must be used within ToastProvider\");\n return ctx;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9Ub2FzdC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUMwRjtBQWMxRixNQUFNTSw2QkFBZUwsb0RBQWFBLENBQTJCO0FBRXRELFNBQVNNLGNBQWMsRUFBRUMsUUFBUSxFQUFpQztJQUN2RSxNQUFNLENBQUNDLFFBQVFDLFVBQVUsR0FBR1AsK0NBQVFBLENBQWMsRUFBRTtJQUVwRCxNQUFNUSxZQUFZUCxrREFBV0EsQ0FBQyxDQUFDUSxTQUFpQkMsT0FBa0IsTUFBTTtRQUN0RSxNQUFNQyxLQUFLLENBQUMsTUFBTSxFQUFFQyxLQUFLQyxHQUFHLEdBQUcsQ0FBQyxFQUFFQyxLQUFLQyxNQUFNLEdBQUcsQ0FBQztRQUNqRFIsVUFBVSxDQUFDUyxPQUFTO21CQUFJQTtnQkFBTTtvQkFBRUw7b0JBQUlGO29CQUFTQztnQkFBSzthQUFFO0lBQ3RELEdBQUcsRUFBRTtJQUVMLE1BQU1PLFVBQVVoQixrREFBV0EsQ0FBQyxDQUFDVTtRQUMzQkosVUFBVSxDQUFDUyxPQUFTQSxLQUFLRSxNQUFNLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRVIsRUFBRSxLQUFLQTtJQUNsRCxHQUFHLEVBQUU7SUFFTCxxQkFDRSw4REFBQ1IsYUFBYWlCLFFBQVE7UUFBQ0MsT0FBTztZQUFFYjtRQUFVOztZQUN2Q0g7MEJBQ0QsOERBQUNpQjtnQkFDQ0MsT0FBTztvQkFDTEMsVUFBVTtvQkFDVkMsUUFBUTtvQkFDUkMsTUFBTTtvQkFDTkMsV0FBVztvQkFDWEMsU0FBUztvQkFDVEMsZUFBZTtvQkFDZkMsS0FBSztvQkFDTEMsUUFBUTtvQkFDUkMsT0FBTztnQkFDVDswQkFFQzFCLE9BQU8yQixHQUFHLENBQUMsQ0FBQ2Qsa0JBQ1gsOERBQUNlO3dCQUFxQkMsT0FBT2hCO3dCQUFHaUIsV0FBV25CO3VCQUEzQkUsRUFBRVIsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztBQUs5QjtBQUVBLFNBQVN1QixVQUFVLEVBQUVDLEtBQUssRUFBRUMsU0FBUyxFQUF5RDtJQUM1RmxDLGdEQUFTQSxDQUFDO1FBQ1IsTUFBTW1DLFFBQVFDLFdBQVcsSUFBTUYsVUFBVUQsTUFBTXhCLEVBQUUsR0FBRztRQUNwRCxPQUFPLElBQU00QixhQUFhRjtJQUM1QixHQUFHO1FBQUNGLE1BQU14QixFQUFFO1FBQUV5QjtLQUFVO0lBRXhCLE1BQU1JLFFBQW1DO1FBQ3ZDQyxTQUFTO1FBQ1RDLE9BQU87UUFDUEMsTUFBTTtJQUNSO0lBQ0EsTUFBTUMsV0FBc0M7UUFDMUNILFNBQVM7UUFDVEMsT0FBTztRQUNQQyxNQUFNO0lBQ1I7SUFFQSxxQkFDRSw4REFBQ3JCO1FBQ0NDLE9BQU87WUFDTHNCLFlBQVlMLEtBQUssQ0FBQ0wsTUFBTXpCLElBQUksQ0FBQztZQUM3Qm9DLE9BQU9GLFFBQVEsQ0FBQ1QsTUFBTXpCLElBQUksQ0FBQztZQUMzQnFDLGNBQWM7WUFDZEMsU0FBUztZQUNUQyxVQUFVO1lBQ1ZDLFlBQVk7WUFDWkMsV0FBVztZQUNYdkIsU0FBUztZQUNUd0IsWUFBWTtZQUNaQyxnQkFBZ0I7WUFDaEJ2QixLQUFLO1FBQ1A7OzBCQUVBLDhEQUFDd0I7MEJBQU1uQixNQUFNMUIsT0FBTzs7Ozs7OzBCQUNwQiw4REFBQzhDO2dCQUNDQyxTQUFTLElBQU1wQixVQUFVRCxNQUFNeEIsRUFBRTtnQkFDakNZLE9BQU87b0JBQ0xzQixZQUFZO29CQUNaWSxRQUFRO29CQUNSQyxRQUFRO29CQUNSWixPQUFPO29CQUNQRyxVQUFVO29CQUNWVSxZQUFZO29CQUNaWCxTQUFTO29CQUNUWSxVQUFVO29CQUNWQyxXQUFXO2dCQUNiO2dCQUNBQyxjQUFXOzBCQUNaOzs7Ozs7Ozs7Ozs7QUFLUDtBQUVPLFNBQVNDO0lBQ2QsTUFBTUMsTUFBTWpFLGlEQUFVQSxDQUFDSTtJQUN2QixJQUFJLENBQUM2RCxLQUFLLE1BQU0sSUFBSUMsTUFBTTtJQUMxQixPQUFPRDtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy91aS9Ub2FzdC50c3g/ZGE4MiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuXG50eXBlIFRvYXN0VHlwZSA9ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAnaW5mbydcblxuaW50ZXJmYWNlIFRvYXN0SXRlbSB7XG4gIGlkOiBzdHJpbmdcbiAgbWVzc2FnZTogc3RyaW5nXG4gIHR5cGU6IFRvYXN0VHlwZVxufVxuXG5pbnRlcmZhY2UgVG9hc3RDb250ZXh0VmFsdWUge1xuICBzaG93VG9hc3Q6IChtZXNzYWdlOiBzdHJpbmcsIHR5cGU/OiBUb2FzdFR5cGUpID0+IHZvaWRcbn1cblxuY29uc3QgVG9hc3RDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxUb2FzdENvbnRleHRWYWx1ZSB8IG51bGw+KG51bGwpXG5cbmV4cG9ydCBmdW5jdGlvbiBUb2FzdFByb3ZpZGVyKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgY29uc3QgW3RvYXN0cywgc2V0VG9hc3RzXSA9IHVzZVN0YXRlPFRvYXN0SXRlbVtdPihbXSlcblxuICBjb25zdCBzaG93VG9hc3QgPSB1c2VDYWxsYmFjaygobWVzc2FnZTogc3RyaW5nLCB0eXBlOiBUb2FzdFR5cGUgPSAnaW5mbycpID0+IHtcbiAgICBjb25zdCBpZCA9IGB0b2FzdC0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKX1gXG4gICAgc2V0VG9hc3RzKChwcmV2KSA9PiBbLi4ucHJldiwgeyBpZCwgbWVzc2FnZSwgdHlwZSB9XSlcbiAgfSwgW10pXG5cbiAgY29uc3QgZGlzbWlzcyA9IHVzZUNhbGxiYWNrKChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0VG9hc3RzKChwcmV2KSA9PiBwcmV2LmZpbHRlcigodCkgPT4gdC5pZCAhPT0gaWQpKVxuICB9LCBbXSlcblxuICByZXR1cm4gKFxuICAgIDxUb2FzdENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3sgc2hvd1RvYXN0IH19PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICAgIGJvdHRvbTogJ2NhbGModmFyKC0tbmF2LWhlaWdodCkgKyB2YXIoLS1zLTUpKScsXG4gICAgICAgICAgbGVmdDogJzUwJScsXG4gICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtNTAlKScsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgIGdhcDogJ3ZhcigtLXMtMiknLFxuICAgICAgICAgIHpJbmRleDogMTAwMCxcbiAgICAgICAgICB3aWR0aDogJ21pbigzNjBweCwgOTB2dyknLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7dG9hc3RzLm1hcCgodCkgPT4gKFxuICAgICAgICAgIDxUb2FzdEl0ZW0ga2V5PXt0LmlkfSB0b2FzdD17dH0gb25EaXNtaXNzPXtkaXNtaXNzfSAvPlxuICAgICAgICApKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvVG9hc3RDb250ZXh0LlByb3ZpZGVyPlxuICApXG59XG5cbmZ1bmN0aW9uIFRvYXN0SXRlbSh7IHRvYXN0LCBvbkRpc21pc3MgfTogeyB0b2FzdDogVG9hc3RJdGVtOyBvbkRpc21pc3M6IChpZDogc3RyaW5nKSA9PiB2b2lkIH0pIHtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4gb25EaXNtaXNzKHRvYXN0LmlkKSwgNDAwMClcbiAgICByZXR1cm4gKCkgPT4gY2xlYXJUaW1lb3V0KHRpbWVyKVxuICB9LCBbdG9hc3QuaWQsIG9uRGlzbWlzc10pXG5cbiAgY29uc3QgYmdNYXA6IFJlY29yZDxUb2FzdFR5cGUsIHN0cmluZz4gPSB7XG4gICAgc3VjY2VzczogJ3ZhcigtLXN1Y2Nlc3MpJyxcbiAgICBlcnJvcjogJyNmOGQ3ZGEnLFxuICAgIGluZm86ICd2YXIoLS1iZy1kYXJrKScsXG4gIH1cbiAgY29uc3QgY29sb3JNYXA6IFJlY29yZDxUb2FzdFR5cGUsIHN0cmluZz4gPSB7XG4gICAgc3VjY2VzczogJ3ZhcigtLXRlYWwtOTAwKScsXG4gICAgZXJyb3I6ICcjYzAzOTJiJyxcbiAgICBpbmZvOiAndmFyKC0tcGFwZXIpJyxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYmFja2dyb3VuZDogYmdNYXBbdG9hc3QudHlwZV0sXG4gICAgICAgIGNvbG9yOiBjb2xvck1hcFt0b2FzdC50eXBlXSxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1tZCknLFxuICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTQpJyxcbiAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LXNtYWxsKScsXG4gICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgYm94U2hhZG93OiAndmFyKC0tc2hhZG93LXNvZnQpJyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgZ2FwOiAndmFyKC0tcy0zKScsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxzcGFuPnt0b2FzdC5tZXNzYWdlfTwvc3Bhbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgb25DbGljaz17KCkgPT4gb25EaXNtaXNzKHRvYXN0LmlkKX1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAnbm9uZScsXG4gICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgY29sb3I6ICdpbmhlcml0JyxcbiAgICAgICAgICBmb250U2l6ZTogJzE4cHgnLFxuICAgICAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICAgICAgcGFkZGluZzogMCxcbiAgICAgICAgICBtaW5XaWR0aDogJzI0cHgnLFxuICAgICAgICAgIG1pbkhlaWdodDogJzI0cHgnLFxuICAgICAgICB9fVxuICAgICAgICBhcmlhLWxhYmVsPVwiRGlzbWlzc1wiXG4gICAgICA+XG4gICAgICAgIMOXXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlVG9hc3QoKTogVG9hc3RDb250ZXh0VmFsdWUge1xuICBjb25zdCBjdHggPSB1c2VDb250ZXh0KFRvYXN0Q29udGV4dClcbiAgaWYgKCFjdHgpIHRocm93IG5ldyBFcnJvcigndXNlVG9hc3QgbXVzdCBiZSB1c2VkIHdpdGhpbiBUb2FzdFByb3ZpZGVyJylcbiAgcmV0dXJuIGN0eFxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInVzZUNvbnRleHQiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwiVG9hc3RDb250ZXh0IiwiVG9hc3RQcm92aWRlciIsImNoaWxkcmVuIiwidG9hc3RzIiwic2V0VG9hc3RzIiwic2hvd1RvYXN0IiwibWVzc2FnZSIsInR5cGUiLCJpZCIsIkRhdGUiLCJub3ciLCJNYXRoIiwicmFuZG9tIiwicHJldiIsImRpc21pc3MiLCJmaWx0ZXIiLCJ0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsImRpdiIsInN0eWxlIiwicG9zaXRpb24iLCJib3R0b20iLCJsZWZ0IiwidHJhbnNmb3JtIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJ6SW5kZXgiLCJ3aWR0aCIsIm1hcCIsIlRvYXN0SXRlbSIsInRvYXN0Iiwib25EaXNtaXNzIiwidGltZXIiLCJzZXRUaW1lb3V0IiwiY2xlYXJUaW1lb3V0IiwiYmdNYXAiLCJzdWNjZXNzIiwiZXJyb3IiLCJpbmZvIiwiY29sb3JNYXAiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJib3JkZXJSYWRpdXMiLCJwYWRkaW5nIiwiZm9udFNpemUiLCJmb250RmFtaWx5IiwiYm94U2hhZG93IiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50Iiwic3BhbiIsImJ1dHRvbiIsIm9uQ2xpY2siLCJib3JkZXIiLCJjdXJzb3IiLCJsaW5lSGVpZ2h0IiwibWluV2lkdGgiLCJtaW5IZWlnaHQiLCJhcmlhLWxhYmVsIiwidXNlVG9hc3QiLCJjdHgiLCJFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/Toast.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/auth.ts": +/*!*************************!*\ + !*** ./src/lib/auth.ts ***! + \*************************/ +/***/ ((__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 */ clearAuthCookies: () => (/* binding */ clearAuthCookies),\n/* harmony export */ getAuthUser: () => (/* binding */ getAuthUser),\n/* harmony export */ logout: () => (/* binding */ logout),\n/* harmony export */ syncAuthCookies: () => (/* binding */ syncAuthCookies)\n/* harmony export */ });\n/* harmony import */ var _pocketbase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* __next_internal_client_entry_do_not_use__ getAuthUser,syncAuthCookies,clearAuthCookies,logout auto */ \nconst COOKIE_TOKEN = \"pb_token\";\nconst COOKIE_ROLE = \"pb_role\";\nconst COOKIE_MAX_AGE = 60 * 60 * 24 * 14 // 14 days\n;\nfunction getAuthUser() {\n if (!_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.isValid) return null;\n return _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.model;\n}\nfunction syncAuthCookies() {\n if (_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.isValid && _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.token) {\n const user = _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.model;\n const role = user?.role ?? \"\";\n document.cookie = `${COOKIE_TOKEN}=${_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.token}; path=/; max-age=${COOKIE_MAX_AGE}; SameSite=Lax`;\n document.cookie = `${COOKIE_ROLE}=${role}; path=/; max-age=${COOKIE_MAX_AGE}; SameSite=Lax`;\n } else {\n clearAuthCookies();\n }\n}\nfunction clearAuthCookies() {\n document.cookie = `${COOKIE_TOKEN}=; path=/; max-age=0`;\n document.cookie = `${COOKIE_ROLE}=; path=/; max-age=0`;\n}\nfunction logout() {\n _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.clear();\n clearAuthCookies();\n window.location.href = \"/auth\";\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL2F1dGgudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7eUdBQ2lDO0FBR2pDLE1BQU1DLGVBQWU7QUFDckIsTUFBTUMsY0FBYztBQUNwQixNQUFNQyxpQkFBaUIsS0FBSyxLQUFLLEtBQUssR0FBRyxVQUFVOztBQUU1QyxTQUFTQztJQUNkLElBQUksQ0FBQ0osMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0MsT0FBTyxFQUFFLE9BQU87SUFDbEMsT0FBT04sMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0UsS0FBSztBQUMzQjtBQUVPLFNBQVNDO0lBQ2QsSUFBSVIsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0MsT0FBTyxJQUFJTiwyQ0FBRUEsQ0FBQ0ssU0FBUyxDQUFDSSxLQUFLLEVBQUU7UUFDOUMsTUFBTUMsT0FBT1YsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0UsS0FBSztRQUMvQixNQUFNSSxPQUFPRCxNQUFNQyxRQUFRO1FBQzNCQyxTQUFTQyxNQUFNLEdBQUcsQ0FBQyxFQUFFWixhQUFhLENBQUMsRUFBRUQsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0ksS0FBSyxDQUFDLGtCQUFrQixFQUFFTixlQUFlLGNBQWMsQ0FBQztRQUMxR1MsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVgsWUFBWSxDQUFDLEVBQUVTLEtBQUssa0JBQWtCLEVBQUVSLGVBQWUsY0FBYyxDQUFDO0lBQzdGLE9BQU87UUFDTFc7SUFDRjtBQUNGO0FBRU8sU0FBU0E7SUFDZEYsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVosYUFBYSxvQkFBb0IsQ0FBQztJQUN2RFcsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVgsWUFBWSxvQkFBb0IsQ0FBQztBQUN4RDtBQUVPLFNBQVNhO0lBQ2RmLDJDQUFFQSxDQUFDSyxTQUFTLENBQUNXLEtBQUs7SUFDbEJGO0lBQ0FHLE9BQU9DLFFBQVEsQ0FBQ0MsSUFBSSxHQUFHO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL2F1dGgudHM/NjY5MiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB7IHBiIH0gZnJvbSAnLi9wb2NrZXRiYXNlJ1xuaW1wb3J0IHR5cGUgeyBQQlVzZXIgfSBmcm9tICdAL3R5cGVzJ1xuXG5jb25zdCBDT09LSUVfVE9LRU4gPSAncGJfdG9rZW4nXG5jb25zdCBDT09LSUVfUk9MRSA9ICdwYl9yb2xlJ1xuY29uc3QgQ09PS0lFX01BWF9BR0UgPSA2MCAqIDYwICogMjQgKiAxNCAvLyAxNCBkYXlzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBdXRoVXNlcigpOiBQQlVzZXIgfCBudWxsIHtcbiAgaWYgKCFwYi5hdXRoU3RvcmUuaXNWYWxpZCkgcmV0dXJuIG51bGxcbiAgcmV0dXJuIHBiLmF1dGhTdG9yZS5tb2RlbCBhcyBQQlVzZXIgfCBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzeW5jQXV0aENvb2tpZXMoKTogdm9pZCB7XG4gIGlmIChwYi5hdXRoU3RvcmUuaXNWYWxpZCAmJiBwYi5hdXRoU3RvcmUudG9rZW4pIHtcbiAgICBjb25zdCB1c2VyID0gcGIuYXV0aFN0b3JlLm1vZGVsIGFzIFBCVXNlciB8IG51bGxcbiAgICBjb25zdCByb2xlID0gdXNlcj8ucm9sZSA/PyAnJ1xuICAgIGRvY3VtZW50LmNvb2tpZSA9IGAke0NPT0tJRV9UT0tFTn09JHtwYi5hdXRoU3RvcmUudG9rZW59OyBwYXRoPS87IG1heC1hZ2U9JHtDT09LSUVfTUFYX0FHRX07IFNhbWVTaXRlPUxheGBcbiAgICBkb2N1bWVudC5jb29raWUgPSBgJHtDT09LSUVfUk9MRX09JHtyb2xlfTsgcGF0aD0vOyBtYXgtYWdlPSR7Q09PS0lFX01BWF9BR0V9OyBTYW1lU2l0ZT1MYXhgXG4gIH0gZWxzZSB7XG4gICAgY2xlYXJBdXRoQ29va2llcygpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyQXV0aENvb2tpZXMoKTogdm9pZCB7XG4gIGRvY3VtZW50LmNvb2tpZSA9IGAke0NPT0tJRV9UT0tFTn09OyBwYXRoPS87IG1heC1hZ2U9MGBcbiAgZG9jdW1lbnQuY29va2llID0gYCR7Q09PS0lFX1JPTEV9PTsgcGF0aD0vOyBtYXgtYWdlPTBgXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2dvdXQoKTogdm9pZCB7XG4gIHBiLmF1dGhTdG9yZS5jbGVhcigpXG4gIGNsZWFyQXV0aENvb2tpZXMoKVxuICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvYXV0aCdcbn1cbiJdLCJuYW1lcyI6WyJwYiIsIkNPT0tJRV9UT0tFTiIsIkNPT0tJRV9ST0xFIiwiQ09PS0lFX01BWF9BR0UiLCJnZXRBdXRoVXNlciIsImF1dGhTdG9yZSIsImlzVmFsaWQiLCJtb2RlbCIsInN5bmNBdXRoQ29va2llcyIsInRva2VuIiwidXNlciIsInJvbGUiLCJkb2N1bWVudCIsImNvb2tpZSIsImNsZWFyQXV0aENvb2tpZXMiLCJsb2dvdXQiLCJjbGVhciIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/auth.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/pocketbase.ts": +/*!*******************************!*\ + !*** ./src/lib/pocketbase.ts ***! + \*******************************/ +/***/ ((__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 */ pb: () => (/* binding */ pb)\n/* harmony export */ });\n/* harmony import */ var pocketbase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pocketbase */ \"(ssr)/./node_modules/pocketbase/dist/pocketbase.es.mjs\");\n/* __next_internal_client_entry_do_not_use__ pb auto */ \nconst pb = new pocketbase__WEBPACK_IMPORTED_MODULE_0__[\"default\"](\"http://localhost:8090\" ?? 0);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL3BvY2tldGJhc2UudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7d0RBQ21DO0FBRTVCLE1BQU1DLEtBQUssSUFBSUQsa0RBQVVBLENBQUNFLHVCQUFzQyxJQUFJLEdBQXdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL3BvY2tldGJhc2UudHM/ZTY1NyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBQb2NrZXRCYXNlIGZyb20gJ3BvY2tldGJhc2UnXG5cbmV4cG9ydCBjb25zdCBwYiA9IG5ldyBQb2NrZXRCYXNlKHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX1BPQ0tFVEJBU0VfVVJMID8/ICdodHRwOi8vbG9jYWxob3N0OjgwOTAnKVxuIl0sIm5hbWVzIjpbIlBvY2tldEJhc2UiLCJwYiIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19QT0NLRVRCQVNFX1VSTCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/pocketbase.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/services.ts": +/*!*****************************!*\ + !*** ./src/lib/services.ts ***! + \*****************************/ +/***/ ((__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 */ getFeed: () => (/* binding */ getFeed),\n/* harmony export */ getIngestionStatus: () => (/* binding */ getIngestionStatus),\n/* harmony export */ getLeaderboard: () => (/* binding */ getLeaderboard),\n/* harmony export */ patchCurriculumWeekOrder: () => (/* binding */ patchCurriculumWeekOrder),\n/* harmony export */ postComplete: () => (/* binding */ postComplete),\n/* harmony export */ postCurriculumConfirm: () => (/* binding */ postCurriculumConfirm),\n/* harmony export */ postGenerateAll: () => (/* binding */ postGenerateAll),\n/* harmony export */ postIngest: () => (/* binding */ postIngest)\n/* harmony export */ });\nconst INGESTION_URL = \"http://localhost:3001\" ?? 0;\nconst GENERATION_URL = \"http://localhost:3002\" ?? 0;\nconst CURRICULUM_URL = \"http://localhost:3003\" ?? 0;\nconst PROGRESS_URL = \"http://localhost:3005\" ?? 0;\nasync function handleResponse(res) {\n if (!res.ok) {\n const text = await res.text().catch(()=>res.statusText);\n throw new Error(`HTTP ${res.status}: ${text}`);\n }\n return res.json();\n}\nasync function postIngest(formData) {\n const res = await fetch(`${INGESTION_URL}/ingest`, {\n method: \"POST\",\n body: formData\n });\n return handleResponse(res);\n}\nasync function getIngestionStatus(jobId) {\n const res = await fetch(`${INGESTION_URL}/ingest/${encodeURIComponent(jobId)}/status`);\n return handleResponse(res);\n}\nasync function postGenerateAll(themeId) {\n const res = await fetch(`${GENERATION_URL}/generate/theme/${encodeURIComponent(themeId)}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n }\n });\n return handleResponse(res);\n}\nasync function postComplete(payload) {\n const res = await fetch(`${PROGRESS_URL}/complete`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(payload)\n });\n return handleResponse(res);\n}\nasync function getLeaderboard() {\n const res = await fetch(`${PROGRESS_URL}/leaderboard`);\n return handleResponse(res);\n}\nasync function getFeed() {\n const res = await fetch(`${PROGRESS_URL}/feed`);\n return handleResponse(res);\n}\nasync function postCurriculumConfirm(versionId) {\n const res = await fetch(`${CURRICULUM_URL}/curriculum/versions/${encodeURIComponent(versionId)}/confirm`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n }\n });\n if (!res.ok) {\n const text = await res.text().catch(()=>res.statusText);\n throw new Error(`HTTP ${res.status}: ${text}`);\n }\n}\nasync function patchCurriculumWeekOrder(weekId, position) {\n const res = await fetch(`${CURRICULUM_URL}/curriculum/weeks/${encodeURIComponent(weekId)}/order`, {\n method: \"PATCH\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n position\n })\n });\n if (!res.ok) {\n const text = await res.text().catch(()=>res.statusText);\n throw new Error(`HTTP ${res.status}: ${text}`);\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUNsQztJQUVGLElBQUksQ0FBQzdCLElBQUlDLEVBQUUsRUFBRTtRQUNYLE1BQU1DLE9BQU8sTUFBTUYsSUFBSUUsSUFBSSxHQUFHQyxLQUFLLENBQUMsSUFBTUgsSUFBSUksVUFBVTtRQUN4RCxNQUFNLElBQUlDLE1BQU0sQ0FBQyxLQUFLLEVBQUVMLElBQUlNLE1BQU0sQ0FBQyxFQUFFLEVBQUVKLEtBQUssQ0FBQztJQUMvQztBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL3NlcnZpY2VzLnRzPzA3MDEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBJbmdlc3Rpb25Kb2JTdGF0dXMsXG4gIENvbXBsZXRlUGF5bG9hZCxcbiAgQ29tcGxldGVSZXNwb25zZSxcbiAgTGVhZGVyYm9hcmRFbnRyeSxcbiAgRmVlZEVudHJ5LFxufSBmcm9tICdAL3R5cGVzJ1xuXG5jb25zdCBJTkdFU1RJT05fVVJMID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfSU5HRVNUSU9OX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDAxJ1xuY29uc3QgR0VORVJBVElPTl9VUkwgPSBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19HRU5FUkFUSU9OX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDAyJ1xuY29uc3QgQ1VSUklDVUxVTV9VUkwgPSBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19DVVJSSUNVTFVNX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDAzJ1xuY29uc3QgUFJPR1JFU1NfVVJMID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfUFJPR1JFU1NfVVJMID8/ICdodHRwOi8vbG9jYWxob3N0OjMwMDUnXG5cbmFzeW5jIGZ1bmN0aW9uIGhhbmRsZVJlc3BvbnNlPFQ+KHJlczogUmVzcG9uc2UpOiBQcm9taXNlPFQ+IHtcbiAgaWYgKCFyZXMub2spIHtcbiAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVzLnRleHQoKS5jYXRjaCgoKSA9PiByZXMuc3RhdHVzVGV4dClcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEhUVFAgJHtyZXMuc3RhdHVzfTogJHt0ZXh0fWApXG4gIH1cbiAgcmV0dXJuIHJlcy5qc29uKCkgYXMgUHJvbWlzZTxUPlxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcG9zdEluZ2VzdChmb3JtRGF0YTogRm9ybURhdGEpOiBQcm9taXNlPHsgam9iSWQ6IHN0cmluZyB9PiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke0lOR0VTVElPTl9VUkx9L2luZ2VzdGAsIHtcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBib2R5OiBmb3JtRGF0YSxcbiAgfSlcbiAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlPHsgam9iSWQ6IHN0cmluZyB9PihyZXMpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRJbmdlc3Rpb25TdGF0dXMoam9iSWQ6IHN0cmluZyk6IFByb21pc2U8SW5nZXN0aW9uSm9iU3RhdHVzPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke0lOR0VTVElPTl9VUkx9L2luZ2VzdC8ke2VuY29kZVVSSUNvbXBvbmVudChqb2JJZCl9L3N0YXR1c2ApXG4gIHJldHVybiBoYW5kbGVSZXNwb25zZTxJbmdlc3Rpb25Kb2JTdGF0dXM+KHJlcylcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBvc3RHZW5lcmF0ZUFsbCh0aGVtZUlkOiBzdHJpbmcpOiBQcm9taXNlPHsgcXVldWVkOiBudW1iZXIgfT4ge1xuICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtHRU5FUkFUSU9OX1VSTH0vZ2VuZXJhdGUvdGhlbWUvJHtlbmNvZGVVUklDb21wb25lbnQodGhlbWVJZCl9YCwge1xuICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICB9KVxuICByZXR1cm4gaGFuZGxlUmVzcG9uc2U8eyBxdWV1ZWQ6IG51bWJlciB9PihyZXMpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwb3N0Q29tcGxldGUocGF5bG9hZDogQ29tcGxldGVQYXlsb2FkKTogUHJvbWlzZTxDb21wbGV0ZVJlc3BvbnNlPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke1BST0dSRVNTX1VSTH0vY29tcGxldGVgLCB7XG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgYm9keTogSlNPTi5zdHJpbmdpZnkocGF5bG9hZCksXG4gIH0pXG4gIHJldHVybiBoYW5kbGVSZXNwb25zZTxDb21wbGV0ZVJlc3BvbnNlPihyZXMpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRMZWFkZXJib2FyZCgpOiBQcm9taXNlPExlYWRlcmJvYXJkRW50cnlbXT4ge1xuICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtQUk9HUkVTU19VUkx9L2xlYWRlcmJvYXJkYClcbiAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlPExlYWRlcmJvYXJkRW50cnlbXT4ocmVzKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RmVlZCgpOiBQcm9taXNlPEZlZWRFbnRyeVtdPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke1BST0dSRVNTX1VSTH0vZmVlZGApXG4gIHJldHVybiBoYW5kbGVSZXNwb25zZTxGZWVkRW50cnlbXT4ocmVzKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcG9zdEN1cnJpY3VsdW1Db25maXJtKHZlcnNpb25JZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKFxuICAgIGAke0NVUlJJQ1VMVU1fVVJMfS9jdXJyaWN1bHVtL3ZlcnNpb25zLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHZlcnNpb25JZCl9L2NvbmZpcm1gLFxuICAgIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgfSxcbiAgKVxuICBpZiAoIXJlcy5vaykge1xuICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpLmNhdGNoKCgpID0+IHJlcy5zdGF0dXNUZXh0KVxuICAgIHRocm93IG5ldyBFcnJvcihgSFRUUCAke3Jlcy5zdGF0dXN9OiAke3RleHR9YClcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGF0Y2hDdXJyaWN1bHVtV2Vla09yZGVyKHdlZWtJZDogc3RyaW5nLCBwb3NpdGlvbjogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKFxuICAgIGAke0NVUlJJQ1VMVU1fVVJMfS9jdXJyaWN1bHVtL3dlZWtzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHdlZWtJZCl9L29yZGVyYCxcbiAgICB7XG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgcG9zaXRpb24gfSksXG4gICAgfSxcbiAgKVxuICBpZiAoIXJlcy5vaykge1xuICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpLmNhdGNoKCgpID0+IHJlcy5zdGF0dXNUZXh0KVxuICAgIHRocm93IG5ldyBFcnJvcihgSFRUUCAke3Jlcy5zdGF0dXN9OiAke3RleHR9YClcbiAgfVxufVxuIl0sIm5hbWVzIjpbIklOR0VTVElPTl9VUkwiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9QVUJMSUNfSU5HRVNUSU9OX1VSTCIsIkdFTkVSQVRJT05fVVJMIiwiTkVYVF9QVUJMSUNfR0VORVJBVElPTl9VUkwiLCJDVVJSSUNVTFVNX1VSTCIsIk5FWFRfUFVCTElDX0NVUlJJQ1VMVU1fVVJMIiwiUFJPR1JFU1NfVVJMIiwiTkVYVF9QVUJMSUNfUFJPR1JFU1NfVVJMIiwiaGFuZGxlUmVzcG9uc2UiLCJyZXMiLCJvayIsInRleHQiLCJjYXRjaCIsInN0YXR1c1RleHQiLCJFcnJvciIsInN0YXR1cyIsImpzb24iLCJwb3N0SW5nZXN0IiwiZm9ybURhdGEiLCJmZXRjaCIsIm1ldGhvZCIsImJvZHkiLCJnZXRJbmdlc3Rpb25TdGF0dXMiLCJqb2JJZCIsImVuY29kZVVSSUNvbXBvbmVudCIsInBvc3RHZW5lcmF0ZUFsbCIsInRoZW1lSWQiLCJoZWFkZXJzIiwicG9zdENvbXBsZXRlIiwicGF5bG9hZCIsIkpTT04iLCJzdHJpbmdpZnkiLCJnZXRMZWFkZXJib2FyZCIsImdldEZlZWQiLCJwb3N0Q3VycmljdWx1bUNvbmZpcm0iLCJ2ZXJzaW9uSWQiLCJwYXRjaEN1cnJpY3VsdW1XZWVrT3JkZXIiLCJ3ZWVrSWQiLCJwb3NpdGlvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/services.ts\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__ = (\"a462ed02aa71\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL2dsb2JhbHMuY3NzPzU5MTYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgXCJhNDYyZWQwMmFhNzFcIlxuaWYgKG1vZHVsZS5ob3QpIHsgbW9kdWxlLmhvdC5hY2NlcHQoKSB9XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); + +/***/ }), + +/***/ "(rsc)/../../stylesheet.css": +/*!****************************!*\ + !*** ../../stylesheet.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__ = (\"5511d51fa1af\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi4vLi4vc3R5bGVzaGVldC5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi9zdHlsZXNoZWV0LmNzcz9mYjhjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNTUxMWQ1MWZhMWFmXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/../../stylesheet.css\n"); + +/***/ }), + +/***/ "(rsc)/./src/app/app/layout.tsx": +/*!********************************!*\ + !*** ./src/app/app/layout.tsx ***! + \********************************/ +/***/ ((__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`C:\Users\RaymondVerhoef\Gitea\learning-platform\app\frontend\src\app\app\layout.tsx#default`)); + + +/***/ }), + +/***/ "(rsc)/./src/app/app/profile/page.tsx": +/*!**************************************!*\ + !*** ./src/app/app/profile/page.tsx ***! + \**************************************/ +/***/ ((__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`C:\Users\RaymondVerhoef\Gitea\learning-platform\app\frontend\src\app\app\profile\page.tsx#default`)); + + +/***/ }), + +/***/ "(rsc)/./src/app/layout.tsx": +/*!****************************!*\ + !*** ./src/app/layout.tsx ***! + \****************************/ +/***/ ((__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 */ viewport: () => (/* binding */ viewport)\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 _stylesheet_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../stylesheet.css */ \"(rsc)/../../stylesheet.css\");\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n\n\n\nconst metadata = {\n title: \"Learning Platform\",\n description: \"Employee knowledge and learning\",\n manifest: \"/manifest.json\",\n appleWebApp: {\n capable: true,\n statusBarStyle: \"default\",\n title: \"Learning Platform\"\n }\n};\nconst viewport = {\n themeColor: \"#1F5560\",\n width: \"device-width\",\n initialScale: 1,\n maximumScale: 1\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 29,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDbUM7QUFDYjtBQUVmLE1BQU1BLFdBQXFCO0lBQ2hDQyxPQUFPO0lBQ1BDLGFBQWE7SUFDYkMsVUFBVTtJQUNWQyxhQUFhO1FBQ1hDLFNBQVM7UUFDVEMsZ0JBQWdCO1FBQ2hCTCxPQUFPO0lBQ1Q7QUFDRixFQUFDO0FBRU0sTUFBTU0sV0FBcUI7SUFDaENDLFlBQVk7SUFDWkMsT0FBTztJQUNQQyxjQUFjO0lBQ2RDLGNBQWM7QUFDaEIsRUFBQztBQUVjLFNBQVNDLFdBQVcsRUFDakNDLFFBQVEsRUFHVDtJQUNDLHFCQUNFLDhEQUFDQztRQUFLQyxNQUFLO2tCQUNULDRFQUFDQztzQkFBTUg7Ozs7Ozs7Ozs7O0FBR2IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9hcHAvbGF5b3V0LnRzeD81N2E5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEsIFZpZXdwb3J0IH0gZnJvbSAnbmV4dCdcbmltcG9ydCAnLi4vLi4vLi4vLi4vc3R5bGVzaGVldC5jc3MnXG5pbXBvcnQgJy4vZ2xvYmFscy5jc3MnXG5cbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XG4gIHRpdGxlOiAnTGVhcm5pbmcgUGxhdGZvcm0nLFxuICBkZXNjcmlwdGlvbjogJ0VtcGxveWVlIGtub3dsZWRnZSBhbmQgbGVhcm5pbmcnLFxuICBtYW5pZmVzdDogJy9tYW5pZmVzdC5qc29uJyxcbiAgYXBwbGVXZWJBcHA6IHtcbiAgICBjYXBhYmxlOiB0cnVlLFxuICAgIHN0YXR1c0JhclN0eWxlOiAnZGVmYXVsdCcsXG4gICAgdGl0bGU6ICdMZWFybmluZyBQbGF0Zm9ybScsXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCB2aWV3cG9ydDogVmlld3BvcnQgPSB7XG4gIHRoZW1lQ29sb3I6ICcjMUY1NTYwJyxcbiAgd2lkdGg6ICdkZXZpY2Utd2lkdGgnLFxuICBpbml0aWFsU2NhbGU6IDEsXG4gIG1heGltdW1TY2FsZTogMSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7XG4gIGNoaWxkcmVuLFxufToge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8Ym9keT57Y2hpbGRyZW59PC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIm1hbmlmZXN0IiwiYXBwbGVXZWJBcHAiLCJjYXBhYmxlIiwic3RhdHVzQmFyU3R5bGUiLCJ2aWV3cG9ydCIsInRoZW1lQ29sb3IiLCJ3aWR0aCIsImluaXRpYWxTY2FsZSIsIm1heGltdW1TY2FsZSIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwiYm9keSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\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","vendor-chunks/pocketbase"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp%2Fprofile%2Fpage&page=%2Fapp%2Fprofile%2Fpage&appPaths=%2Fapp%2Fprofile%2Fpage&pagePath=private-next-app-dir%2Fapp%2Fprofile%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); +module.exports = __webpack_exports__; + +})(); \ No newline at end of file diff --git a/app/frontend/.next/server/app/app/profile/page_client-reference-manifest.js b/app/frontend/.next/server/app/app/profile/page_client-reference-manifest.js new file mode 100644 index 0000000..443f37a --- /dev/null +++ b/app/frontend/.next/server/app/app/profile/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/app/profile/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/auth/page.tsx":{"*":{"id":"(ssr)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/layout.tsx":{"*":{"id":"(ssr)/./src/app/admin/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/documents/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/knowledge/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/curriculum/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/layout.tsx":{"*":{"id":"(ssr)/./src/app/app/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/session/page.tsx":{"*":{"id":"(ssr)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/library/page.tsx":{"*":{"id":"(ssr)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\stylesheet.css":{"id":"(app-pages-browser)/../../stylesheet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\auth\\page.tsx":{"id":"(app-pages-browser)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\layout.tsx":{"id":"(app-pages-browser)/./src/app/admin/layout.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\documents\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\knowledge\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\curriculum\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\layout.tsx":{"id":"(app-pages-browser)/./src/app/app/layout.tsx","name":"*","chunks":["app/app/layout","static/chunks/app/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\session\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\library\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/profile/page.tsx","name":"*","chunks":["app/app/profile/page","static/chunks/app/app/profile/page.js"],"async":false}},"entryCSSFiles":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\layout":["static/css/app/layout.css"],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\layout":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\profile\\page":[]}} \ No newline at end of file diff --git a/app/frontend/.next/server/app/app/session/page.js b/app/frontend/.next/server/app/app/session/page.js new file mode 100644 index 0000000..fb57bac --- /dev/null +++ b/app/frontend/.next/server/app/app/session/page.js @@ -0,0 +1,453 @@ +/* + * 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/app/session/page"; +exports.ids = ["app/app/session/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%2Fapp%2Fsession%2Fpage&page=%2Fapp%2Fsession%2Fpage&appPaths=%2Fapp%2Fsession%2Fpage&pagePath=private-next-app-dir%2Fapp%2Fsession%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%2Fapp%2Fsession%2Fpage&page=%2Fapp%2Fsession%2Fpage&appPaths=%2Fapp%2Fsession%2Fpage&pagePath=private-next-app-dir%2Fapp%2Fsession%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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?d969\");\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 'app',\n {\n children: [\n 'session',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/app/session/page.tsx */ \"(rsc)/./src/app/app/session/page.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\session\\\\page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/app/layout.tsx */ \"(rsc)/./src/app/app/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\"],\n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\"],\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 = [\"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\session\\\\page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/app/session/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: \"/app/session/page\",\n pathname: \"/app/session\",\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/bmFtZT1hcHAlMkZhcHAlMkZzZXNzaW9uJTJGcGFnZSZwYWdlPSUyRmFwcCUyRnNlc3Npb24lMkZwYWdlJmFwcFBhdGhzPSUyRmFwcCUyRnNlc3Npb24lMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGYXBwJTJGc2Vzc2lvbiUyRnBhZ2UudHN4JmFwcERpcj1DJTNBJTVDVXNlcnMlNUNSYXltb25kVmVyaG9lZiU1Q0dpdGVhJTVDbGVhcm5pbmctcGxhdGZvcm0lNUNhcHAlNUNmcm9udGVuZCU1Q3NyYyU1Q2FwcCZwYWdlRXh0ZW5zaW9ucz10c3gmcGFnZUV4dGVuc2lvbnM9dHMmcGFnZUV4dGVuc2lvbnM9anN4JnBhZ2VFeHRlbnNpb25zPWpzJnJvb3REaXI9QyUzQSU1Q1VzZXJzJTVDUmF5bW9uZFZlcmhvZWYlNUNHaXRlYSU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDYXBwJTVDZnJvbnRlbmQmaXNEZXY9dHJ1ZSZ0c2NvbmZpZ1BhdGg9dHNjb25maWcuanNvbiZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JnByZWZlcnJlZFJlZ2lvbj0mbWlkZGxld2FyZUNvbmZpZz1lMzAlM0QhIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxhQUFhLHNCQUFzQjtBQUNpRTtBQUNyQztBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakMsdUJBQXVCLHdLQUF5STtBQUNoSztBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLHlCQUF5Qiw0SkFBa0k7QUFDM0o7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EseUJBQXlCLG9KQUE2SDtBQUN0SixvQkFBb0IsME5BQWdGO0FBQ3BHO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUN1QjtBQUM2RDtBQUNwRiw2QkFBNkIsbUJBQW1CO0FBQ2hEO0FBQ087QUFDQTtBQUNQO0FBQ0E7QUFDQTtBQUN1RDtBQUN2RDtBQUNPLHdCQUF3Qiw4R0FBa0I7QUFDakQ7QUFDQSxjQUFjLHlFQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvP2I3ZWQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJUVVJCT1BBQ0sgeyB0cmFuc2l0aW9uOiBuZXh0LXNzciB9XCI7XG5pbXBvcnQgeyBBcHBQYWdlUm91dGVNb2R1bGUgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS9tb2R1bGUuY29tcGlsZWRcIjtcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kXCI7XG4vLyBXZSBpbmplY3QgdGhlIHRyZWUgYW5kIHBhZ2VzIGhlcmUgc28gdGhhdCB3ZSBjYW4gdXNlIHRoZW0gaW4gdGhlIHJvdXRlXG4vLyBtb2R1bGUuXG5jb25zdCB0cmVlID0ge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAnJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAnYXBwJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAnc2Vzc2lvbicsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFsnX19QQUdFX18nLCB7fSwge1xuICAgICAgICAgIHBhZ2U6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFwcFxcXFxzZXNzaW9uXFxcXHBhZ2UudHN4XCIpLCBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFwcFxcXFxzZXNzaW9uXFxcXHBhZ2UudHN4XCJdLFxuICAgICAgICAgIFxuICAgICAgICB9XVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICdsYXlvdXQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxhcHBcXFxcbGF5b3V0LnRzeFwiKSwgXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxhcHBcXFxcbGF5b3V0LnRzeFwiXSxcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICdsYXlvdXQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxsYXlvdXQudHN4XCIpLCBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGxheW91dC50c3hcIl0sXG4nbm90LWZvdW5kJzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiKSwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCJdLFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0uY2hpbGRyZW47XG5jb25zdCBwYWdlcyA9IFtcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFwcFxcXFxzZXNzaW9uXFxcXHBhZ2UudHN4XCJdO1xuZXhwb3J0IHsgdHJlZSwgcGFnZXMgfTtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgR2xvYmFsRXJyb3IgfSBmcm9tIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5XCI7XG5jb25zdCBfX25leHRfYXBwX3JlcXVpcmVfXyA9IF9fd2VicGFja19yZXF1aXJlX19cbmNvbnN0IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKClcbmV4cG9ydCBjb25zdCBvcmlnaW5hbFBhdGhuYW1lID0gXCIvYXBwL3Nlc3Npb24vcGFnZVwiO1xuZXhwb3J0IGNvbnN0IF9fbmV4dF9hcHBfXyA9IHtcbiAgICByZXF1aXJlOiBfX25leHRfYXBwX3JlcXVpcmVfXyxcbiAgICBsb2FkQ2h1bms6IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fXG59O1xuZXhwb3J0ICogZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9lbnRyeS1iYXNlXCI7XG4vLyBDcmVhdGUgYW5kIGV4cG9ydCB0aGUgcm91dGUgbW9kdWxlIHRoYXQgd2lsbCBiZSBjb25zdW1lZC5cbmV4cG9ydCBjb25zdCByb3V0ZU1vZHVsZSA9IG5ldyBBcHBQYWdlUm91dGVNb2R1bGUoe1xuICAgIGRlZmluaXRpb246IHtcbiAgICAgICAga2luZDogUm91dGVLaW5kLkFQUF9QQUdFLFxuICAgICAgICBwYWdlOiBcIi9hcHAvc2Vzc2lvbi9wYWdlXCIsXG4gICAgICAgIHBhdGhuYW1lOiBcIi9hcHAvc2Vzc2lvblwiLFxuICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGFyZW4ndCB1c2VkIGluIHByb2R1Y3Rpb24uXG4gICAgICAgIGJ1bmRsZVBhdGg6IFwiXCIsXG4gICAgICAgIGZpbGVuYW1lOiBcIlwiLFxuICAgICAgICBhcHBQYXRoczogW11cbiAgICB9LFxuICAgIHVzZXJsYW5kOiB7XG4gICAgICAgIGxvYWRlclRyZWU6IHRyZWVcbiAgICB9XG59KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp%2Fsession%2Fpage&page=%2Fapp%2Fsession%2Fpage&appPaths=%2Fapp%2Fsession%2Fpage&pagePath=private-next-app-dir%2Fapp%2Fsession%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJDJTNBJTVDJTVDVXNlcnMlNUMlNUNSYXltb25kVmVyaG9lZiU1QyU1Q0dpdGVhJTVDJTVDbGVhcm5pbmctcGxhdGZvcm0lNUMlNUNhcHAlNUMlNUNmcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2NsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyQyUzQSU1QyU1Q1VzZXJzJTVDJTVDUmF5bW9uZFZlcmhvZWYlNUMlNUNHaXRlYSU1QyU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDJTVDYXBwJTVDJTVDZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQW9LO0FBQ3BLO0FBQ0Esb09BQXFLO0FBQ3JLO0FBQ0EsME9BQXdLO0FBQ3hLO0FBQ0Esd09BQXVLO0FBQ3ZLO0FBQ0Esa1BBQTRLO0FBQzVLO0FBQ0Esc1FBQXNMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzcyOWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxhcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxcZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXGxheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXG5vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxccmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Clayout.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Clayout.tsx%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/app/layout.tsx */ \"(ssr)/./src/app/app/layout.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDYXBwJTVDJTVDbGF5b3V0LnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsNEpBQWtJIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzliOTYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxhcHBcXFxcbGF5b3V0LnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Clayout.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Csession%5C%5Cpage.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Csession%5C%5Cpage.tsx%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/app/session/page.tsx */ \"(ssr)/./src/app/app/session/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDYXBwJTVDJTVDc2Vzc2lvbiU1QyU1Q3BhZ2UudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSx3S0FBeUkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8/YmZmOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGFwcFxcXFxzZXNzaW9uXFxcXHBhZ2UudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Capp%5C%5Csession%5C%5Cpage.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! + \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ (() => { + + + +/***/ }), + +/***/ "(ssr)/./src/app/app/layout.tsx": +/*!********************************!*\ + !*** ./src/app/app/layout.tsx ***! + \********************************/ +/***/ ((__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 */ AppLayout)\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_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _components_r42_R42Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/r42/R42Button */ \"(ssr)/./src/components/r42/R42Button.tsx\");\n/* harmony import */ var _components_r42_R42Drawer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/r42/R42Drawer */ \"(ssr)/./src/components/r42/R42Drawer.tsx\");\n/* harmony import */ var _components_ui_Toast__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/ui/Toast */ \"(ssr)/./src/components/ui/Toast.tsx\");\n/* harmony import */ var _lib_auth__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/lib/auth */ \"(ssr)/./src/lib/auth.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\n\nconst NAV_ITEMS = [\n {\n href: \"/app\",\n label: \"Session\",\n icon: \"▶\"\n },\n {\n href: \"/app/library\",\n label: \"Library\",\n icon: \"\\uD83D\\uDCDA\"\n },\n {\n href: \"/app/profile\",\n label: \"Profile\",\n icon: \"\\uD83D\\uDC64\"\n }\n];\nfunction AppLayout({ children }) {\n const pathname = (0,next_navigation__WEBPACK_IMPORTED_MODULE_3__.usePathname)();\n const [r42Open, setR42Open] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const user = (0,_lib_auth__WEBPACK_IMPORTED_MODULE_7__.getAuthUser)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Toast__WEBPACK_IMPORTED_MODULE_6__.ToastProvider, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n minHeight: \"100dvh\",\n display: \"flex\",\n flexDirection: \"column\",\n background: \"var(--bg)\",\n paddingBottom: \"var(--nav-height)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n style: {\n flex: 1,\n padding: \"var(--s-4)\",\n maxWidth: \"640px\",\n margin: \"0 auto\",\n width: \"100%\"\n },\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 33,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_r42_R42Button__WEBPACK_IMPORTED_MODULE_4__.R42Button, {\n onClick: ()=>setR42Open(true)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_r42_R42Drawer__WEBPACK_IMPORTED_MODULE_5__.R42Drawer, {\n open: r42Open,\n onClose: ()=>setR42Open(false),\n userId: user?.id ?? \"\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 41,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n style: {\n position: \"fixed\",\n bottom: 0,\n left: 0,\n right: 0,\n height: \"var(--nav-height)\",\n background: \"var(--bg)\",\n borderTop: \"1px solid var(--cream)\",\n display: \"flex\",\n zIndex: 150\n },\n children: NAV_ITEMS.map((item)=>{\n const active = item.href === \"/app\" ? pathname === \"/app\" || pathname === \"/app/\" : pathname.startsWith(item.href);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: item.href,\n style: {\n flex: 1,\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"2px\",\n textDecoration: \"none\",\n color: active ? \"var(--accent)\" : \"var(--fg-muted)\",\n fontSize: \"20px\",\n minHeight: \"44px\",\n transition: \"color 150ms\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.icon\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 85,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n fontWeight: active ? 700 : 400\n },\n children: item.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 86,\n columnNumber: 17\n }, this)\n ]\n }, item.href, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 68,\n columnNumber: 15\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 48,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 23,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\layout.tsx\",\n lineNumber: 22,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvYXBwL2FwcC9sYXlvdXQudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUN1QztBQUNYO0FBQ2lCO0FBQ1M7QUFDQTtBQUNEO0FBQ2I7QUFFeEMsTUFBTVEsWUFBWTtJQUNoQjtRQUFFQyxNQUFNO1FBQVFDLE9BQU87UUFBV0MsTUFBTTtJQUFJO0lBQzVDO1FBQUVGLE1BQU07UUFBZ0JDLE9BQU87UUFBV0MsTUFBTTtJQUFLO0lBQ3JEO1FBQUVGLE1BQU07UUFBZ0JDLE9BQU87UUFBV0MsTUFBTTtJQUFLO0NBQ3REO0FBRWMsU0FBU0MsVUFBVSxFQUFFQyxRQUFRLEVBQWlDO0lBQzNFLE1BQU1DLFdBQVdYLDREQUFXQTtJQUM1QixNQUFNLENBQUNZLFNBQVNDLFdBQVcsR0FBR2YsK0NBQVFBLENBQUM7SUFDdkMsTUFBTWdCLE9BQU9WLHNEQUFXQTtJQUV4QixxQkFDRSw4REFBQ0QsK0RBQWFBO2tCQUNaLDRFQUFDWTtZQUNDQyxPQUFPO2dCQUNMQyxXQUFXO2dCQUNYQyxTQUFTO2dCQUNUQyxlQUFlO2dCQUNmQyxZQUFZO2dCQUNaQyxlQUFlO1lBQ2pCOzs4QkFHQSw4REFBQ0M7b0JBQUtOLE9BQU87d0JBQUVPLE1BQU07d0JBQUdDLFNBQVM7d0JBQWNDLFVBQVU7d0JBQVNDLFFBQVE7d0JBQVVDLE9BQU87b0JBQU87OEJBQy9GakI7Ozs7Ozs4QkFJSCw4REFBQ1QsZ0VBQVNBO29CQUFDMkIsU0FBUyxJQUFNZixXQUFXOzs7Ozs7OEJBR3JDLDhEQUFDWCxnRUFBU0E7b0JBQ1IyQixNQUFNakI7b0JBQ05rQixTQUFTLElBQU1qQixXQUFXO29CQUMxQmtCLFFBQVFqQixNQUFNa0IsTUFBTTs7Ozs7OzhCQUl0Qiw4REFBQ0M7b0JBQ0NqQixPQUFPO3dCQUNMa0IsVUFBVTt3QkFDVkMsUUFBUTt3QkFDUkMsTUFBTTt3QkFDTkMsT0FBTzt3QkFDUEMsUUFBUTt3QkFDUmxCLFlBQVk7d0JBQ1ptQixXQUFXO3dCQUNYckIsU0FBUzt3QkFDVHNCLFFBQVE7b0JBQ1Y7OEJBRUNuQyxVQUFVb0MsR0FBRyxDQUFDLENBQUNDO3dCQUNkLE1BQU1DLFNBQ0pELEtBQUtwQyxJQUFJLEtBQUssU0FDVkssYUFBYSxVQUFVQSxhQUFhLFVBQ3BDQSxTQUFTaUMsVUFBVSxDQUFDRixLQUFLcEMsSUFBSTt3QkFFbkMscUJBQ0UsOERBQUNQLGlEQUFJQTs0QkFFSE8sTUFBTW9DLEtBQUtwQyxJQUFJOzRCQUNmVSxPQUFPO2dDQUNMTyxNQUFNO2dDQUNOTCxTQUFTO2dDQUNUQyxlQUFlO2dDQUNmMEIsWUFBWTtnQ0FDWkMsZ0JBQWdCO2dDQUNoQkMsS0FBSztnQ0FDTEMsZ0JBQWdCO2dDQUNoQkMsT0FBT04sU0FBUyxrQkFBa0I7Z0NBQ2xDTyxVQUFVO2dDQUNWakMsV0FBVztnQ0FDWGtDLFlBQVk7NEJBQ2Q7OzhDQUVBLDhEQUFDQzs4Q0FBTVYsS0FBS2xDLElBQUk7Ozs7Ozs4Q0FDaEIsOERBQUM0QztvQ0FDQ3BDLE9BQU87d0NBQ0xrQyxVQUFVO3dDQUNWRyxZQUFZO3dDQUNaQyxlQUFlO3dDQUNmQyxlQUFlO3dDQUNmQyxZQUFZYixTQUFTLE1BQU07b0NBQzdCOzhDQUVDRCxLQUFLbkMsS0FBSzs7Ozs7OzsyQkExQlJtQyxLQUFLcEMsSUFBSTs7Ozs7b0JBOEJwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLViIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2FwcC9hcHAvbGF5b3V0LnRzeD9mZDE2Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgTGluayBmcm9tICduZXh0L2xpbmsnXG5pbXBvcnQgeyB1c2VQYXRobmFtZSB9IGZyb20gJ25leHQvbmF2aWdhdGlvbidcbmltcG9ydCB7IFI0MkJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy9yNDIvUjQyQnV0dG9uJ1xuaW1wb3J0IHsgUjQyRHJhd2VyIH0gZnJvbSAnQC9jb21wb25lbnRzL3I0Mi9SNDJEcmF3ZXInXG5pbXBvcnQgeyBUb2FzdFByb3ZpZGVyIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL1RvYXN0J1xuaW1wb3J0IHsgZ2V0QXV0aFVzZXIgfSBmcm9tICdAL2xpYi9hdXRoJ1xuXG5jb25zdCBOQVZfSVRFTVMgPSBbXG4gIHsgaHJlZjogJy9hcHAnLCBsYWJlbDogJ1Nlc3Npb24nLCBpY29uOiAn4pa2JyB9LFxuICB7IGhyZWY6ICcvYXBwL2xpYnJhcnknLCBsYWJlbDogJ0xpYnJhcnknLCBpY29uOiAn8J+TmicgfSxcbiAgeyBocmVmOiAnL2FwcC9wcm9maWxlJywgbGFiZWw6ICdQcm9maWxlJywgaWNvbjogJ/CfkaQnIH0sXG5dXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEFwcExheW91dCh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9KSB7XG4gIGNvbnN0IHBhdGhuYW1lID0gdXNlUGF0aG5hbWUoKVxuICBjb25zdCBbcjQyT3Blbiwgc2V0UjQyT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgdXNlciA9IGdldEF1dGhVc2VyKClcblxuICByZXR1cm4gKFxuICAgIDxUb2FzdFByb3ZpZGVyPlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIG1pbkhlaWdodDogJzEwMGR2aCcsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZyknLFxuICAgICAgICAgIHBhZGRpbmdCb3R0b206ICd2YXIoLS1uYXYtaGVpZ2h0KScsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHsvKiBNYWluIGNvbnRlbnQgKi99XG4gICAgICAgIDxtYWluIHN0eWxlPXt7IGZsZXg6IDEsIHBhZGRpbmc6ICd2YXIoLS1zLTQpJywgbWF4V2lkdGg6ICc2NDBweCcsIG1hcmdpbjogJzAgYXV0bycsIHdpZHRoOiAnMTAwJScgfX0+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L21haW4+XG5cbiAgICAgICAgey8qIFI0MiBmbG9hdGluZyBidXR0b24gKi99XG4gICAgICAgIDxSNDJCdXR0b24gb25DbGljaz17KCkgPT4gc2V0UjQyT3Blbih0cnVlKX0gLz5cblxuICAgICAgICB7LyogUjQyIGRyYXdlciAqL31cbiAgICAgICAgPFI0MkRyYXdlclxuICAgICAgICAgIG9wZW49e3I0Mk9wZW59XG4gICAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0UjQyT3BlbihmYWxzZSl9XG4gICAgICAgICAgdXNlcklkPXt1c2VyPy5pZCA/PyAnJ31cbiAgICAgICAgLz5cblxuICAgICAgICB7LyogQm90dG9tIG5hdmlnYXRpb24gKi99XG4gICAgICAgIDxuYXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgICBib3R0b206IDAsXG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICBoZWlnaHQ6ICd2YXIoLS1uYXYtaGVpZ2h0KScsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmcpJyxcbiAgICAgICAgICAgIGJvcmRlclRvcDogJzFweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgekluZGV4OiAxNTAsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtOQVZfSVRFTVMubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmUgPVxuICAgICAgICAgICAgICBpdGVtLmhyZWYgPT09ICcvYXBwJ1xuICAgICAgICAgICAgICAgID8gcGF0aG5hbWUgPT09ICcvYXBwJyB8fCBwYXRobmFtZSA9PT0gJy9hcHAvJ1xuICAgICAgICAgICAgICAgIDogcGF0aG5hbWUuc3RhcnRzV2l0aChpdGVtLmhyZWYpXG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAga2V5PXtpdGVtLmhyZWZ9XG4gICAgICAgICAgICAgICAgaHJlZj17aXRlbS5ocmVmfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgIGdhcDogJzJweCcsXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZSA/ICd2YXIoLS1hY2NlbnQpJyA6ICd2YXIoLS1mZy1tdXRlZCknLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICcyMHB4JyxcbiAgICAgICAgICAgICAgICAgIG1pbkhlaWdodDogJzQ0cHgnLFxuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4+e2l0ZW0uaWNvbn08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1sYWJlbCknLFxuICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vKScsXG4gICAgICAgICAgICAgICAgICAgIHRleHRUcmFuc2Zvcm06ICd1cHBlcmNhc2UnLFxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXJTcGFjaW5nOiAndmFyKC0tbGFiZWwtbHMpJyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogYWN0aXZlID8gNzAwIDogNDAwLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7aXRlbS5sYWJlbH1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9uYXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L1RvYXN0UHJvdmlkZXI+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwiTGluayIsInVzZVBhdGhuYW1lIiwiUjQyQnV0dG9uIiwiUjQyRHJhd2VyIiwiVG9hc3RQcm92aWRlciIsImdldEF1dGhVc2VyIiwiTkFWX0lURU1TIiwiaHJlZiIsImxhYmVsIiwiaWNvbiIsIkFwcExheW91dCIsImNoaWxkcmVuIiwicGF0aG5hbWUiLCJyNDJPcGVuIiwic2V0UjQyT3BlbiIsInVzZXIiLCJkaXYiLCJzdHlsZSIsIm1pbkhlaWdodCIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYmFja2dyb3VuZCIsInBhZGRpbmdCb3R0b20iLCJtYWluIiwiZmxleCIsInBhZGRpbmciLCJtYXhXaWR0aCIsIm1hcmdpbiIsIndpZHRoIiwib25DbGljayIsIm9wZW4iLCJvbkNsb3NlIiwidXNlcklkIiwiaWQiLCJuYXYiLCJwb3NpdGlvbiIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsImhlaWdodCIsImJvcmRlclRvcCIsInpJbmRleCIsIm1hcCIsIml0ZW0iLCJhY3RpdmUiLCJzdGFydHNXaXRoIiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwiZ2FwIiwidGV4dERlY29yYXRpb24iLCJjb2xvciIsImZvbnRTaXplIiwidHJhbnNpdGlvbiIsInNwYW4iLCJmb250RmFtaWx5IiwidGV4dFRyYW5zZm9ybSIsImxldHRlclNwYWNpbmciLCJmb250V2VpZ2h0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/app/app/layout.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/app/app/session/page.tsx": +/*!**************************************!*\ + !*** ./src/app/app/session/page.tsx ***! + \**************************************/ +/***/ ((__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 */ SessionPage)\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 _lib_pocketbase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* harmony import */ var _lib_auth__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/auth */ \"(ssr)/./src/lib/auth.ts\");\n/* harmony import */ var _components_employee_WeekHeader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/employee/WeekHeader */ \"(ssr)/./src/components/employee/WeekHeader.tsx\");\n/* harmony import */ var _components_employee_TopicCard__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/employee/TopicCard */ \"(ssr)/./src/components/employee/TopicCard.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\nfunction SessionPage() {\n const user = (0,_lib_auth__WEBPACK_IMPORTED_MODULE_3__.getAuthUser)();\n const [curriculumState, setCurriculumState] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [week, setWeek] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [topics, setTopics] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [completions, setCompletions] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n async function load() {\n if (!user) return;\n setLoading(true);\n try {\n let state;\n try {\n const results = await _lib_pocketbase__WEBPACK_IMPORTED_MODULE_2__.pb.collection(\"employee_curriculum_state\").getFullList({\n filter: `user=\"${user.id}\"`\n });\n if (results.length > 0 && results[0]) {\n state = results[0];\n } else {\n state = await _lib_pocketbase__WEBPACK_IMPORTED_MODULE_2__.pb.collection(\"employee_curriculum_state\").create({\n user: user.id,\n current_cycle: 1,\n current_week: 1,\n start_date: new Date().toISOString()\n });\n }\n } catch {\n setLoading(false);\n return;\n }\n setCurriculumState(state);\n const weekResult = await _lib_pocketbase__WEBPACK_IMPORTED_MODULE_2__.pb.collection(\"curriculum_weeks\").getFullList({\n filter: `week_number=${state.current_week}`,\n expand: \"theme,topics\"\n });\n const currentWeek = weekResult[0];\n if (!currentWeek) {\n setLoading(false);\n return;\n }\n setWeek(currentWeek);\n if (currentWeek.expand?.topics && currentWeek.expand.topics.length > 0) {\n setTopics(currentWeek.expand.topics);\n } else if (currentWeek.topics.length > 0) {\n const topicList = await _lib_pocketbase__WEBPACK_IMPORTED_MODULE_2__.pb.collection(\"topics\").getFullList({\n filter: currentWeek.topics.map((id)=>`id=\"${id}\"`).join(\"||\")\n });\n setTopics(topicList);\n }\n const compList = await _lib_pocketbase__WEBPACK_IMPORTED_MODULE_2__.pb.collection(\"session_completions\").getFullList({\n filter: `user=\"${user.id}\" && week_number=${state.current_week} && cycle=${state.current_cycle}`\n });\n setCompletions(compList);\n setError(null);\n } catch (err) {\n setError(err instanceof Error ? err.message : \"Failed to load session\");\n } finally{\n setLoading(false);\n }\n }\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n void load();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n user?.id\n ]);\n function handleTopicComplete(topicId) {\n setCompletions((prev)=>[\n ...prev,\n {\n id: `temp-${topicId}`,\n user: user?.id ?? \"\",\n topic: topicId,\n micro_learning: \"\",\n week_number: curriculumState?.current_week ?? 1,\n cycle: curriculumState?.current_cycle ?? 1,\n completed_at: new Date().toISOString()\n }\n ]);\n }\n const completedTopicIds = new Set(completions.map((c)=>c.topic));\n if (!user) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n color: \"var(--fg-muted)\",\n padding: \"var(--s-6)\",\n textAlign: \"center\"\n },\n children: \"Not logged in.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\session\\\\page.tsx\",\n lineNumber: 116,\n columnNumber: 7\n }, this);\n }\n if (loading) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n color: \"var(--fg-muted)\",\n padding: \"var(--s-6)\"\n },\n children: \"Loading your session…\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\session\\\\page.tsx\",\n lineNumber: 124,\n columnNumber: 7\n }, this);\n }\n if (error) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"#f8d7da\",\n color: \"#c0392b\",\n borderRadius: \"var(--r-sm)\",\n padding: \"var(--s-4)\",\n margin: \"var(--s-4)\"\n },\n children: error\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\session\\\\page.tsx\",\n lineNumber: 132,\n columnNumber: 7\n }, this);\n }\n if (!curriculumState || !week) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n textAlign: \"center\",\n padding: \"var(--s-8) var(--s-5)\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\",\n alignItems: \"center\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-h3)\",\n color: \"var(--fg)\"\n },\n children: \"No curriculum yet\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\session\\\\page.tsx\",\n lineNumber: 158,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-body)\",\n color: \"var(--fg-muted)\"\n },\n children: \"Ask your admin to generate and activate a curriculum.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\session\\\\page.tsx\",\n lineNumber: 161,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\session\\\\page.tsx\",\n lineNumber: 148,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_employee_WeekHeader__WEBPACK_IMPORTED_MODULE_4__.WeekHeader, {\n curriculumState: curriculumState,\n week: week,\n completedCount: completedTopicIds.size,\n totalCount: topics.length\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\session\\\\page.tsx\",\n lineNumber: 170,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-3)\"\n },\n children: topics.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n color: \"var(--fg-muted)\",\n fontSize: \"var(--t-body)\",\n textAlign: \"center\",\n padding: \"var(--s-6)\"\n },\n children: \"No topics this week.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\session\\\\page.tsx\",\n lineNumber: 179,\n columnNumber: 11\n }, this) : topics.map((topic)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_employee_TopicCard__WEBPACK_IMPORTED_MODULE_5__.TopicCard, {\n topic: topic,\n weekNumber: curriculumState.current_week,\n userId: user.id,\n isCompleted: completedTopicIds.has(topic.id),\n onComplete: handleTopicComplete\n }, topic.id, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\session\\\\page.tsx\",\n lineNumber: 184,\n columnNumber: 13\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\session\\\\page.tsx\",\n lineNumber: 177,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\app\\\\session\\\\page.tsx\",\n lineNumber: 169,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QkFDVEMsZUFBZTtnQkFDZkMsS0FBSztnQkFDTEMsWUFBWTtZQUNkOzs4QkFFQSw4REFBQ0M7b0JBQUdYLE9BQU87d0JBQUVNLFFBQVE7d0JBQUdNLFVBQVU7d0JBQWVYLE9BQU87b0JBQVk7OEJBQUc7Ozs7Ozs4QkFHdkUsOERBQUNZO29CQUFFYixPQUFPO3dCQUFFTSxRQUFRO3dCQUFHTSxVQUFVO3dCQUFpQlgsT0FBTztvQkFBa0I7OEJBQUc7Ozs7Ozs7Ozs7OztJQUtwRjtJQUVBLHFCQUNFLDhEQUFDRjtRQUFJQyxPQUFPO1lBQUVPLFNBQVM7WUFBUUMsZUFBZTtZQUFVQyxLQUFLO1FBQWE7OzBCQUN4RSw4REFBQzdELHVFQUFVQTtnQkFDVEksaUJBQWlCQTtnQkFDakJFLE1BQU1BO2dCQUNONEQsZ0JBQWdCbEIsa0JBQWtCbUIsSUFBSTtnQkFDdENDLFlBQVk1RCxPQUFPZSxNQUFNOzs7Ozs7MEJBRzNCLDhEQUFDNEI7Z0JBQUlDLE9BQU87b0JBQUVPLFNBQVM7b0JBQVFDLGVBQWU7b0JBQVVDLEtBQUs7Z0JBQWE7MEJBQ3ZFckQsT0FBT2UsTUFBTSxLQUFLLGtCQUNqQiw4REFBQzRCO29CQUFJQyxPQUFPO3dCQUFFQyxPQUFPO3dCQUFtQlcsVUFBVTt3QkFBaUJULFdBQVc7d0JBQVVELFNBQVM7b0JBQWE7OEJBQUc7Ozs7OzJCQUlqSDlDLE9BQU8wQixHQUFHLENBQUMsQ0FBQ1Msc0JBQ1YsOERBQUMxQyxxRUFBU0E7d0JBRVIwQyxPQUFPQTt3QkFDUDBCLFlBQVlqRSxnQkFBZ0JzQixZQUFZO3dCQUN4QzRDLFFBQVFuRSxLQUFLbUIsRUFBRTt3QkFDZmlELGFBQWF2QixrQkFBa0J3QixHQUFHLENBQUM3QixNQUFNckIsRUFBRTt3QkFDM0NtRCxZQUFZakM7dUJBTFBHLE1BQU1yQixFQUFFOzs7Ozs7Ozs7Ozs7Ozs7O0FBWTNCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL2FwcC9zZXNzaW9uL3BhZ2UudHN4P2JhMWQiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgcGIgfSBmcm9tICdAL2xpYi9wb2NrZXRiYXNlJ1xuaW1wb3J0IHsgZ2V0QXV0aFVzZXIgfSBmcm9tICdAL2xpYi9hdXRoJ1xuaW1wb3J0IHsgV2Vla0hlYWRlciB9IGZyb20gJ0AvY29tcG9uZW50cy9lbXBsb3llZS9XZWVrSGVhZGVyJ1xuaW1wb3J0IHsgVG9waWNDYXJkIH0gZnJvbSAnQC9jb21wb25lbnRzL2VtcGxveWVlL1RvcGljQ2FyZCdcbmltcG9ydCB0eXBlIHtcbiAgRW1wbG95ZWVDdXJyaWN1bHVtU3RhdGUsXG4gIEN1cnJpY3VsdW1XZWVrLFxuICBUb3BpYyxcbiAgU2Vzc2lvbkNvbXBsZXRpb24sXG59IGZyb20gJ0AvdHlwZXMnXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFNlc3Npb25QYWdlKCkge1xuICBjb25zdCB1c2VyID0gZ2V0QXV0aFVzZXIoKVxuXG4gIGNvbnN0IFtjdXJyaWN1bHVtU3RhdGUsIHNldEN1cnJpY3VsdW1TdGF0ZV0gPSB1c2VTdGF0ZTxFbXBsb3llZUN1cnJpY3VsdW1TdGF0ZSB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFt3ZWVrLCBzZXRXZWVrXSA9IHVzZVN0YXRlPEN1cnJpY3VsdW1XZWVrIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW3RvcGljcywgc2V0VG9waWNzXSA9IHVzZVN0YXRlPFRvcGljW10+KFtdKVxuICBjb25zdCBbY29tcGxldGlvbnMsIHNldENvbXBsZXRpb25zXSA9IHVzZVN0YXRlPFNlc3Npb25Db21wbGV0aW9uW10+KFtdKVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG5cbiAgYXN5bmMgZnVuY3Rpb24gbG9hZCgpIHtcbiAgICBpZiAoIXVzZXIpIHJldHVyblxuICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICB0cnkge1xuICAgICAgbGV0IHN0YXRlOiBFbXBsb3llZUN1cnJpY3VsdW1TdGF0ZVxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHBiXG4gICAgICAgICAgLmNvbGxlY3Rpb24oJ2VtcGxveWVlX2N1cnJpY3VsdW1fc3RhdGUnKVxuICAgICAgICAgIC5nZXRGdWxsTGlzdDxFbXBsb3llZUN1cnJpY3VsdW1TdGF0ZT4oe1xuICAgICAgICAgICAgZmlsdGVyOiBgdXNlcj1cIiR7dXNlci5pZH1cImAsXG4gICAgICAgICAgfSlcbiAgICAgICAgaWYgKHJlc3VsdHMubGVuZ3RoID4gMCAmJiByZXN1bHRzWzBdKSB7XG4gICAgICAgICAgc3RhdGUgPSByZXN1bHRzWzBdXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhdGUgPSBhd2FpdCBwYlxuICAgICAgICAgICAgLmNvbGxlY3Rpb24oJ2VtcGxveWVlX2N1cnJpY3VsdW1fc3RhdGUnKVxuICAgICAgICAgICAgLmNyZWF0ZTxFbXBsb3llZUN1cnJpY3VsdW1TdGF0ZT4oe1xuICAgICAgICAgICAgICB1c2VyOiB1c2VyLmlkLFxuICAgICAgICAgICAgICBjdXJyZW50X2N5Y2xlOiAxLFxuICAgICAgICAgICAgICBjdXJyZW50X3dlZWs6IDEsXG4gICAgICAgICAgICAgIHN0YXJ0X2RhdGU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgc2V0Q3VycmljdWx1bVN0YXRlKHN0YXRlKVxuXG4gICAgICBjb25zdCB3ZWVrUmVzdWx0ID0gYXdhaXQgcGJcbiAgICAgICAgLmNvbGxlY3Rpb24oJ2N1cnJpY3VsdW1fd2Vla3MnKVxuICAgICAgICAuZ2V0RnVsbExpc3Q8Q3VycmljdWx1bVdlZWs+KHtcbiAgICAgICAgICBmaWx0ZXI6IGB3ZWVrX251bWJlcj0ke3N0YXRlLmN1cnJlbnRfd2Vla31gLFxuICAgICAgICAgIGV4cGFuZDogJ3RoZW1lLHRvcGljcycsXG4gICAgICAgIH0pXG5cbiAgICAgIGNvbnN0IGN1cnJlbnRXZWVrID0gd2Vla1Jlc3VsdFswXVxuICAgICAgaWYgKCFjdXJyZW50V2Vlaykge1xuICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHNldFdlZWsoY3VycmVudFdlZWspXG5cbiAgICAgIGlmIChjdXJyZW50V2Vlay5leHBhbmQ/LnRvcGljcyAmJiBjdXJyZW50V2Vlay5leHBhbmQudG9waWNzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgc2V0VG9waWNzKGN1cnJlbnRXZWVrLmV4cGFuZC50b3BpY3MpXG4gICAgICB9IGVsc2UgaWYgKGN1cnJlbnRXZWVrLnRvcGljcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHRvcGljTGlzdCA9IGF3YWl0IHBiLmNvbGxlY3Rpb24oJ3RvcGljcycpLmdldEZ1bGxMaXN0PFRvcGljPih7XG4gICAgICAgICAgZmlsdGVyOiBjdXJyZW50V2Vlay50b3BpY3MubWFwKChpZCkgPT4gYGlkPVwiJHtpZH1cImApLmpvaW4oJ3x8JyksXG4gICAgICAgIH0pXG4gICAgICAgIHNldFRvcGljcyh0b3BpY0xpc3QpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbXBMaXN0ID0gYXdhaXQgcGJcbiAgICAgICAgLmNvbGxlY3Rpb24oJ3Nlc3Npb25fY29tcGxldGlvbnMnKVxuICAgICAgICAuZ2V0RnVsbExpc3Q8U2Vzc2lvbkNvbXBsZXRpb24+KHtcbiAgICAgICAgICBmaWx0ZXI6IGB1c2VyPVwiJHt1c2VyLmlkfVwiICYmIHdlZWtfbnVtYmVyPSR7c3RhdGUuY3VycmVudF93ZWVrfSAmJiBjeWNsZT0ke3N0YXRlLmN1cnJlbnRfY3ljbGV9YCxcbiAgICAgICAgfSlcbiAgICAgIHNldENvbXBsZXRpb25zKGNvbXBMaXN0KVxuXG4gICAgICBzZXRFcnJvcihudWxsKVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgc2V0RXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdGYWlsZWQgdG8gbG9hZCBzZXNzaW9uJylcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICB9XG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHZvaWQgbG9hZCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbdXNlcj8uaWRdKVxuXG4gIGZ1bmN0aW9uIGhhbmRsZVRvcGljQ29tcGxldGUodG9waWNJZDogc3RyaW5nKSB7XG4gICAgc2V0Q29tcGxldGlvbnMoKHByZXYpID0+IFtcbiAgICAgIC4uLnByZXYsXG4gICAgICB7XG4gICAgICAgIGlkOiBgdGVtcC0ke3RvcGljSWR9YCxcbiAgICAgICAgdXNlcjogdXNlcj8uaWQgPz8gJycsXG4gICAgICAgIHRvcGljOiB0b3BpY0lkLFxuICAgICAgICBtaWNyb19sZWFybmluZzogJycsXG4gICAgICAgIHdlZWtfbnVtYmVyOiBjdXJyaWN1bHVtU3RhdGU/LmN1cnJlbnRfd2VlayA/PyAxLFxuICAgICAgICBjeWNsZTogY3VycmljdWx1bVN0YXRlPy5jdXJyZW50X2N5Y2xlID8/IDEsXG4gICAgICAgIGNvbXBsZXRlZF9hdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgfSxcbiAgICBdKVxuICB9XG5cbiAgY29uc3QgY29tcGxldGVkVG9waWNJZHMgPSBuZXcgU2V0KGNvbXBsZXRpb25zLm1hcCgoYykgPT4gYy50b3BpYykpXG5cbiAgaWYgKCF1c2VyKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgc3R5bGU9e3sgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknLCBwYWRkaW5nOiAndmFyKC0tcy02KScsIHRleHRBbGlnbjogJ2NlbnRlcicgfX0+XG4gICAgICAgIE5vdCBsb2dnZWQgaW4uXG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cblxuICBpZiAobG9hZGluZykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IHN0eWxlPXt7IGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJywgcGFkZGluZzogJ3ZhcigtLXMtNiknIH19PlxuICAgICAgICBMb2FkaW5nIHlvdXIgc2Vzc2lvbuKAplxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgaWYgKGVycm9yKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2Y4ZDdkYScsXG4gICAgICAgICAgY29sb3I6ICcjYzAzOTJiJyxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXNtKScsXG4gICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtNCknLFxuICAgICAgICAgIG1hcmdpbjogJ3ZhcigtLXMtNCknLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7ZXJyb3J9XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cblxuICBpZiAoIWN1cnJpY3VsdW1TdGF0ZSB8fCAhd2Vlaykge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy04KSB2YXIoLS1zLTUpJyxcbiAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgZ2FwOiAndmFyKC0tcy00KScsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxoMiBzdHlsZT17eyBtYXJnaW46IDAsIGZvbnRTaXplOiAndmFyKC0tdC1oMyknLCBjb2xvcjogJ3ZhcigtLWZnKScgfX0+XG4gICAgICAgICAgTm8gY3VycmljdWx1bSB5ZXRcbiAgICAgICAgPC9oMj5cbiAgICAgICAgPHAgc3R5bGU9e3sgbWFyZ2luOiAwLCBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLCBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScgfX0+XG4gICAgICAgICAgQXNrIHlvdXIgYWRtaW4gdG8gZ2VuZXJhdGUgYW5kIGFjdGl2YXRlIGEgY3VycmljdWx1bS5cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogJ3ZhcigtLXMtNCknIH19PlxuICAgICAgPFdlZWtIZWFkZXJcbiAgICAgICAgY3VycmljdWx1bVN0YXRlPXtjdXJyaWN1bHVtU3RhdGV9XG4gICAgICAgIHdlZWs9e3dlZWt9XG4gICAgICAgIGNvbXBsZXRlZENvdW50PXtjb21wbGV0ZWRUb3BpY0lkcy5zaXplfVxuICAgICAgICB0b3RhbENvdW50PXt0b3BpY3MubGVuZ3RofVxuICAgICAgLz5cblxuICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBnYXA6ICd2YXIoLS1zLTMpJyB9fT5cbiAgICAgICAge3RvcGljcy5sZW5ndGggPT09IDAgPyAoXG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsIHRleHRBbGlnbjogJ2NlbnRlcicsIHBhZGRpbmc6ICd2YXIoLS1zLTYpJyB9fT5cbiAgICAgICAgICAgIE5vIHRvcGljcyB0aGlzIHdlZWsuXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgdG9waWNzLm1hcCgodG9waWMpID0+IChcbiAgICAgICAgICAgIDxUb3BpY0NhcmRcbiAgICAgICAgICAgICAga2V5PXt0b3BpYy5pZH1cbiAgICAgICAgICAgICAgdG9waWM9e3RvcGljfVxuICAgICAgICAgICAgICB3ZWVrTnVtYmVyPXtjdXJyaWN1bHVtU3RhdGUuY3VycmVudF93ZWVrfVxuICAgICAgICAgICAgICB1c2VySWQ9e3VzZXIuaWR9XG4gICAgICAgICAgICAgIGlzQ29tcGxldGVkPXtjb21wbGV0ZWRUb3BpY0lkcy5oYXModG9waWMuaWQpfVxuICAgICAgICAgICAgICBvbkNvbXBsZXRlPXtoYW5kbGVUb3BpY0NvbXBsZXRlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKVxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwicGIiLCJnZXRBdXRoVXNlciIsIldlZWtIZWFkZXIiLCJUb3BpY0NhcmQiLCJTZXNzaW9uUGFnZSIsInVzZXIiLCJjdXJyaWN1bHVtU3RhdGUiLCJzZXRDdXJyaWN1bHVtU3RhdGUiLCJ3ZWVrIiwic2V0V2VlayIsInRvcGljcyIsInNldFRvcGljcyIsImNvbXBsZXRpb25zIiwic2V0Q29tcGxldGlvbnMiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsImVycm9yIiwic2V0RXJyb3IiLCJsb2FkIiwic3RhdGUiLCJyZXN1bHRzIiwiY29sbGVjdGlvbiIsImdldEZ1bGxMaXN0IiwiZmlsdGVyIiwiaWQiLCJsZW5ndGgiLCJjcmVhdGUiLCJjdXJyZW50X2N5Y2xlIiwiY3VycmVudF93ZWVrIiwic3RhcnRfZGF0ZSIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsIndlZWtSZXN1bHQiLCJleHBhbmQiLCJjdXJyZW50V2VlayIsInRvcGljTGlzdCIsIm1hcCIsImpvaW4iLCJjb21wTGlzdCIsImVyciIsIkVycm9yIiwibWVzc2FnZSIsImhhbmRsZVRvcGljQ29tcGxldGUiLCJ0b3BpY0lkIiwicHJldiIsInRvcGljIiwibWljcm9fbGVhcm5pbmciLCJ3ZWVrX251bWJlciIsImN5Y2xlIiwiY29tcGxldGVkX2F0IiwiY29tcGxldGVkVG9waWNJZHMiLCJTZXQiLCJjIiwiZGl2Iiwic3R5bGUiLCJjb2xvciIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJiYWNrZ3JvdW5kIiwiYm9yZGVyUmFkaXVzIiwibWFyZ2luIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJhbGlnbkl0ZW1zIiwiaDIiLCJmb250U2l6ZSIsInAiLCJjb21wbGV0ZWRDb3VudCIsInNpemUiLCJ0b3RhbENvdW50Iiwid2Vla051bWJlciIsInVzZXJJZCIsImlzQ29tcGxldGVkIiwiaGFzIiwib25Db21wbGV0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/app/app/session/page.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/employee/TopicCard.tsx": +/*!***********************************************!*\ + !*** ./src/components/employee/TopicCard.tsx ***! + \***********************************************/ +/***/ ((__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 */ TopicCard: () => (/* binding */ TopicCard)\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 _components_micro_learnings_MicroLearningRenderer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/micro-learnings/MicroLearningRenderer */ \"(ssr)/./src/components/micro-learnings/MicroLearningRenderer.tsx\");\n/* harmony import */ var _components_ui_StatusBadge__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/StatusBadge */ \"(ssr)/./src/components/ui/StatusBadge.tsx\");\n/* harmony import */ var _lib_services__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/lib/services */ \"(ssr)/./src/lib/services.ts\");\n/* harmony import */ var _lib_hooks_usePBCollection__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/lib/hooks/usePBCollection */ \"(ssr)/./src/lib/hooks/usePBCollection.ts\");\n/* __next_internal_client_entry_do_not_use__ TopicCard auto */ \n\n\n\n\n\nconst TYPE_LABELS = {\n concept_explainer: \"Explainer\",\n scenario_quiz: \"Quiz\",\n misconceptions: \"Myths\",\n how_to: \"How-to\",\n comparison_card: \"Compare\",\n reflection_prompt: \"Reflect\",\n flashcard_set: \"Flashcards\",\n case_study: \"Case study\",\n glossary_anchor: \"Glossary\",\n myth_vs_evidence: \"Evidence\"\n};\nfunction TopicCard({ topic, weekNumber, userId, isCompleted, onComplete }) {\n const [expanded, setExpanded] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [selectedMlId, setSelectedMlId] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [completing, setCompleting] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const { items: microLearnings } = (0,_lib_hooks_usePBCollection__WEBPACK_IMPORTED_MODULE_5__.usePBCollection)(\"micro_learnings\", {\n filter: `topic=\"${topic.id}\" && status=\"published\"`\n });\n const selectedMl = microLearnings.find((ml)=>ml.id === selectedMlId);\n async function handleComplete() {\n if (!selectedMl) return;\n setCompleting(true);\n try {\n const payload = {\n userId,\n topicId: topic.id,\n microLearningId: selectedMl.id,\n weekNumber\n };\n await (0,_lib_services__WEBPACK_IMPORTED_MODULE_4__.postComplete)(payload);\n onComplete(topic.id);\n } catch {\n // user can retry\n } finally{\n setCompleting(false);\n }\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: isCompleted ? \"var(--bg-warm)\" : \"var(--bg)\",\n border: `1.5px solid ${isCompleted ? \"var(--success)\" : \"var(--cream)\"}`,\n borderRadius: \"var(--r-md)\",\n overflow: \"hidden\",\n transition: \"border-color 200ms\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setExpanded((e)=>!e),\n style: {\n width: \"100%\",\n background: \"none\",\n border: \"none\",\n padding: \"var(--s-4)\",\n textAlign: \"left\",\n cursor: \"pointer\",\n display: \"flex\",\n gap: \"var(--s-3)\",\n alignItems: \"flex-start\",\n minHeight: \"44px\",\n fontFamily: \"var(--font-sans)\"\n },\n \"aria-expanded\": expanded,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n width: \"24px\",\n height: \"24px\",\n borderRadius: \"50%\",\n background: isCompleted ? \"var(--success)\" : \"var(--bg-warm)\",\n color: isCompleted ? \"var(--teal-900)\" : \"var(--fg-muted)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n fontSize: \"14px\",\n fontWeight: 700,\n flexShrink: 0,\n marginTop: \"2px\"\n },\n children: isCompleted ? \"✓\" : \"○\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\TopicCard.tsx\",\n lineNumber: 88,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n flex: 1,\n minWidth: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n style: {\n margin: \"0 0 var(--s-1)\",\n fontSize: \"var(--t-body)\",\n fontWeight: 600,\n color: isCompleted ? \"var(--fg-muted)\" : \"var(--fg)\",\n textDecoration: isCompleted ? \"line-through\" : \"none\"\n },\n children: topic.title\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\TopicCard.tsx\",\n lineNumber: 107,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n gap: \"var(--s-2)\",\n flexWrap: \"wrap\",\n alignItems: \"center\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_StatusBadge__WEBPACK_IMPORTED_MODULE_3__.StatusBadge, {\n status: topic.difficulty\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\TopicCard.tsx\",\n lineNumber: 119,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n color: \"var(--fg-subtle)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\"\n },\n children: [\n microLearnings.length,\n \" activities\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\TopicCard.tsx\",\n lineNumber: 120,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\TopicCard.tsx\",\n lineNumber: 118,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\TopicCard.tsx\",\n lineNumber: 106,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n color: \"var(--fg-muted)\",\n fontSize: \"18px\",\n flexShrink: 0\n },\n children: expanded ? \"−\" : \"+\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\TopicCard.tsx\",\n lineNumber: 133,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\TopicCard.tsx\",\n lineNumber: 71,\n columnNumber: 7\n }, this),\n expanded && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n padding: \"var(--s-4)\",\n borderTop: \"1px solid var(--cream)\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-body)\",\n lineHeight: 1.65,\n color: \"var(--fg)\"\n },\n children: topic.body\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\TopicCard.tsx\",\n lineNumber: 149,\n columnNumber: 11\n }, this),\n microLearnings.length > 0 && /*#__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)(\"p\", {\n style: {\n margin: \"0 0 var(--s-2)\",\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n color: \"var(--fg-muted)\"\n },\n children: \"Choose an activity\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\TopicCard.tsx\",\n lineNumber: 156,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: \"var(--s-2)\"\n },\n children: microLearnings.map((ml)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setSelectedMlId(ml.id === selectedMlId ? null : ml.id),\n style: {\n background: selectedMlId === ml.id ? \"var(--accent)\" : \"var(--bg-warm)\",\n color: selectedMlId === ml.id ? \"var(--paper)\" : \"var(--fg)\",\n border: `1.5px solid ${selectedMlId === ml.id ? \"var(--accent)\" : \"var(--cream)\"}`,\n borderRadius: \"var(--r-pill)\",\n padding: \"var(--s-1) var(--s-3)\",\n fontSize: \"var(--t-small)\",\n fontFamily: \"var(--font-sans)\",\n fontWeight: 500,\n cursor: \"pointer\",\n minHeight: \"36px\",\n transition: \"background 150ms, color 150ms\"\n },\n children: TYPE_LABELS[ml.type] ?? ml.type\n }, ml.id, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\TopicCard.tsx\",\n lineNumber: 170,\n columnNumber: 19\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\TopicCard.tsx\",\n lineNumber: 168,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\TopicCard.tsx\",\n lineNumber: 155,\n columnNumber: 13\n }, this),\n selectedMl && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"var(--bg-warm)\",\n borderRadius: \"var(--r-md)\",\n padding: \"var(--s-4)\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_micro_learnings_MicroLearningRenderer__WEBPACK_IMPORTED_MODULE_2__.MicroLearningRenderer, {\n content: selectedMl.content,\n onComplete: ()=>void handleComplete()\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\TopicCard.tsx\",\n lineNumber: 204,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\TopicCard.tsx\",\n lineNumber: 197,\n columnNumber: 13\n }, this),\n isCompleted && !selectedMl && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n textAlign: \"center\",\n color: \"var(--teal-700)\",\n fontSize: \"var(--t-small)\",\n fontWeight: 500\n },\n children: \"Completed — well done!\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\TopicCard.tsx\",\n lineNumber: 212,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\TopicCard.tsx\",\n lineNumber: 139,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\TopicCard.tsx\",\n lineNumber: 62,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9lbXBsb3llZS9Ub3BpY0NhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFDdUM7QUFFbUQ7QUFDakM7QUFFWjtBQUNnQjtBQVU3RCxNQUFNTSxjQUFzQztJQUMxQ0MsbUJBQW1CO0lBQ25CQyxlQUFlO0lBQ2ZDLGdCQUFnQjtJQUNoQkMsUUFBUTtJQUNSQyxpQkFBaUI7SUFDakJDLG1CQUFtQjtJQUNuQkMsZUFBZTtJQUNmQyxZQUFZO0lBQ1pDLGlCQUFpQjtJQUNqQkMsa0JBQWtCO0FBQ3BCO0FBRU8sU0FBU0MsVUFBVSxFQUFFQyxLQUFLLEVBQUVDLFVBQVUsRUFBRUMsTUFBTSxFQUFFQyxXQUFXLEVBQUVDLFVBQVUsRUFBa0I7SUFDOUYsTUFBTSxDQUFDQyxVQUFVQyxZQUFZLEdBQUd2QiwrQ0FBUUEsQ0FBQztJQUN6QyxNQUFNLENBQUN3QixjQUFjQyxnQkFBZ0IsR0FBR3pCLCtDQUFRQSxDQUFnQjtJQUNoRSxNQUFNLENBQUMwQixZQUFZQyxjQUFjLEdBQUczQiwrQ0FBUUEsQ0FBQztJQUU3QyxNQUFNLEVBQUU0QixPQUFPQyxjQUFjLEVBQUUsR0FBR3pCLDJFQUFlQSxDQUFnQixtQkFBbUI7UUFDbEYwQixRQUFRLENBQUMsT0FBTyxFQUFFYixNQUFNYyxFQUFFLENBQUMsdUJBQXVCLENBQUM7SUFDckQ7SUFFQSxNQUFNQyxhQUFhSCxlQUFlSSxJQUFJLENBQUMsQ0FBQ0MsS0FBT0EsR0FBR0gsRUFBRSxLQUFLUDtJQUV6RCxlQUFlVztRQUNiLElBQUksQ0FBQ0gsWUFBWTtRQUNqQkwsY0FBYztRQUNkLElBQUk7WUFDRixNQUFNUyxVQUEyQjtnQkFDL0JqQjtnQkFDQWtCLFNBQVNwQixNQUFNYyxFQUFFO2dCQUNqQk8saUJBQWlCTixXQUFXRCxFQUFFO2dCQUM5QmI7WUFDRjtZQUNBLE1BQU1mLDJEQUFZQSxDQUFDaUM7WUFDbkJmLFdBQVdKLE1BQU1jLEVBQUU7UUFDckIsRUFBRSxPQUFNO1FBQ04s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LE9BQU87NENBQ0xDLFlBQ0VqQixpQkFBaUJVLEdBQUdILEVBQUUsR0FBRyxrQkFBa0I7NENBQzdDOEIsT0FBT3JDLGlCQUFpQlUsR0FBR0gsRUFBRSxHQUFHLGlCQUFpQjs0Q0FDakRXLFFBQVEsQ0FBQyxZQUFZLEVBQUVsQixpQkFBaUJVLEdBQUdILEVBQUUsR0FBRyxrQkFBa0IsZUFBZSxDQUFDOzRDQUNsRlksY0FBYzs0Q0FDZE8sU0FBUzs0Q0FDVGEsVUFBVTs0Q0FDVk4sWUFBWTs0Q0FDWk8sWUFBWTs0Q0FDWlosUUFBUTs0Q0FDUkksV0FBVzs0Q0FDWFgsWUFBWTt3Q0FDZDtrREFFQ3hDLFdBQVcsQ0FBQzZCLEdBQUdtRCxJQUFJLENBQUMsSUFBSW5ELEdBQUdtRCxJQUFJO3VDQWpCM0JuRCxHQUFHSCxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7O29CQXlCbkJDLDRCQUNDLDhEQUFDTzt3QkFDQ0MsT0FBTzs0QkFDTEMsWUFBWTs0QkFDWkUsY0FBYzs0QkFDZE8sU0FBUzt3QkFDWDtrQ0FFQSw0RUFBQ2pELG9HQUFxQkE7NEJBQ3BCcUYsU0FBU3RELFdBQVdzRCxPQUFPOzRCQUMzQmpFLFlBQVksSUFBTSxLQUFLYzs7Ozs7Ozs7Ozs7b0JBSzVCZixlQUFlLENBQUNZLDRCQUNmLDhEQUFDTzt3QkFDQ0MsT0FBTzs0QkFDTFcsV0FBVzs0QkFDWFUsT0FBTzs0QkFDUEUsVUFBVTs0QkFDVkMsWUFBWTt3QkFDZDtrQ0FDRDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUWIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9jb21wb25lbnRzL2VtcGxveWVlL1RvcGljQ2FyZC50c3g/ZGY5NCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBUb3BpYywgTWljcm9MZWFybmluZywgQ29tcGxldGVQYXlsb2FkIH0gZnJvbSAnQC90eXBlcydcbmltcG9ydCB7IE1pY3JvTGVhcm5pbmdSZW5kZXJlciB9IGZyb20gJ0AvY29tcG9uZW50cy9taWNyby1sZWFybmluZ3MvTWljcm9MZWFybmluZ1JlbmRlcmVyJ1xuaW1wb3J0IHsgU3RhdHVzQmFkZ2UgfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvU3RhdHVzQmFkZ2UnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvQnV0dG9uJ1xuaW1wb3J0IHsgcG9zdENvbXBsZXRlIH0gZnJvbSAnQC9saWIvc2VydmljZXMnXG5pbXBvcnQgeyB1c2VQQkNvbGxlY3Rpb24gfSBmcm9tICdAL2xpYi9ob29rcy91c2VQQkNvbGxlY3Rpb24nXG5cbmludGVyZmFjZSBUb3BpY0NhcmRQcm9wcyB7XG4gIHRvcGljOiBUb3BpY1xuICB3ZWVrTnVtYmVyOiBudW1iZXJcbiAgdXNlcklkOiBzdHJpbmdcbiAgaXNDb21wbGV0ZWQ/OiBib29sZWFuXG4gIG9uQ29tcGxldGU6ICh0b3BpY0lkOiBzdHJpbmcpID0+IHZvaWRcbn1cblxuY29uc3QgVFlQRV9MQUJFTFM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGNvbmNlcHRfZXhwbGFpbmVyOiAnRXhwbGFpbmVyJyxcbiAgc2NlbmFyaW9fcXVpejogJ1F1aXonLFxuICBtaXNjb25jZXB0aW9uczogJ015dGhzJyxcbiAgaG93X3RvOiAnSG93LXRvJyxcbiAgY29tcGFyaXNvbl9jYXJkOiAnQ29tcGFyZScsXG4gIHJlZmxlY3Rpb25fcHJvbXB0OiAnUmVmbGVjdCcsXG4gIGZsYXNoY2FyZF9zZXQ6ICdGbGFzaGNhcmRzJyxcbiAgY2FzZV9zdHVkeTogJ0Nhc2Ugc3R1ZHknLFxuICBnbG9zc2FyeV9hbmNob3I6ICdHbG9zc2FyeScsXG4gIG15dGhfdnNfZXZpZGVuY2U6ICdFdmlkZW5jZScsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUb3BpY0NhcmQoeyB0b3BpYywgd2Vla051bWJlciwgdXNlcklkLCBpc0NvbXBsZXRlZCwgb25Db21wbGV0ZSB9OiBUb3BpY0NhcmRQcm9wcykge1xuICBjb25zdCBbZXhwYW5kZWQsIHNldEV4cGFuZGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2VsZWN0ZWRNbElkLCBzZXRTZWxlY3RlZE1sSWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2NvbXBsZXRpbmcsIHNldENvbXBsZXRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgeyBpdGVtczogbWljcm9MZWFybmluZ3MgfSA9IHVzZVBCQ29sbGVjdGlvbjxNaWNyb0xlYXJuaW5nPignbWljcm9fbGVhcm5pbmdzJywge1xuICAgIGZpbHRlcjogYHRvcGljPVwiJHt0b3BpYy5pZH1cIiAmJiBzdGF0dXM9XCJwdWJsaXNoZWRcImAsXG4gIH0pXG5cbiAgY29uc3Qgc2VsZWN0ZWRNbCA9IG1pY3JvTGVhcm5pbmdzLmZpbmQoKG1sKSA9PiBtbC5pZCA9PT0gc2VsZWN0ZWRNbElkKVxuXG4gIGFzeW5jIGZ1bmN0aW9uIGhhbmRsZUNvbXBsZXRlKCkge1xuICAgIGlmICghc2VsZWN0ZWRNbCkgcmV0dXJuXG4gICAgc2V0Q29tcGxldGluZyh0cnVlKVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXlsb2FkOiBDb21wbGV0ZVBheWxvYWQgPSB7XG4gICAgICAgIHVzZXJJZCxcbiAgICAgICAgdG9waWNJZDogdG9waWMuaWQsXG4gICAgICAgIG1pY3JvTGVhcm5pbmdJZDogc2VsZWN0ZWRNbC5pZCxcbiAgICAgICAgd2Vla051bWJlcixcbiAgICAgIH1cbiAgICAgIGF3YWl0IHBvc3RDb21wbGV0ZShwYXlsb2FkKVxuICAgICAgb25Db21wbGV0ZSh0b3BpYy5pZClcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIHVzZXIgY2FuIHJldHJ5XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldENvbXBsZXRpbmcoZmFsc2UpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBzdHlsZT17e1xuICAgICAgICBiYWNrZ3JvdW5kOiBpc0NvbXBsZXRlZCA/ICd2YXIoLS1iZy13YXJtKScgOiAndmFyKC0tYmcpJyxcbiAgICAgICAgYm9yZGVyOiBgMS41cHggc29saWQgJHtpc0NvbXBsZXRlZCA/ICd2YXIoLS1zdWNjZXNzKScgOiAndmFyKC0tY3JlYW0pJ31gLFxuICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLW1kKScsXG4gICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgdHJhbnNpdGlvbjogJ2JvcmRlci1jb2xvciAyMDBtcycsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxidXR0b25cbiAgICAgICAgb25DbGljaz17KCkgPT4gc2V0RXhwYW5kZWQoKGUpID0+ICFlKX1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICdub25lJyxcbiAgICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy00KScsXG4gICAgICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXG4gICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGdhcDogJ3ZhcigtLXMtMyknLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdmbGV4LXN0YXJ0JyxcbiAgICAgICAgICBtaW5IZWlnaHQ6ICc0NHB4JyxcbiAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1zYW5zKScsXG4gICAgICAgIH19XG4gICAgICAgIGFyaWEtZXhwYW5kZWQ9e2V4cGFuZGVkfVxuICAgICAgPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICB3aWR0aDogJzI0cHgnLFxuICAgICAgICAgICAgaGVpZ2h0OiAnMjRweCcsXG4gICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgICAgICAgICAgYmFja2dyb3VuZDogaXNDb21wbGV0ZWQgPyAndmFyKC0tc3VjY2VzcyknIDogJ3ZhcigtLWJnLXdhcm0pJyxcbiAgICAgICAgICAgIGNvbG9yOiBpc0NvbXBsZXRlZCA/ICd2YXIoLS10ZWFsLTkwMCknIDogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgIGZvbnRTaXplOiAnMTRweCcsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiA3MDAsXG4gICAgICAgICAgICBmbGV4U2hyaW5rOiAwLFxuICAgICAgICAgICAgbWFyZ2luVG9wOiAnMnB4JyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge2lzQ29tcGxldGVkID8gJ+KckycgOiAn4peLJ31cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8ZGl2IHN0eWxlPXt7IGZsZXg6IDEsIG1pbldpZHRoOiAwIH19PlxuICAgICAgICAgIDxoNFxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgbWFyZ2luOiAnMCAwIHZhcigtLXMtMSknLFxuICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgICBmb250V2VpZ2h0OiA2MDAsXG4gICAgICAgICAgICAgIGNvbG9yOiBpc0NvbXBsZXRlZCA/ICd2YXIoLS1mZy1tdXRlZCknIDogJ3ZhcigtLWZnKScsXG4gICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uOiBpc0NvbXBsZXRlZCA/ICdsaW5lLXRocm91Z2gnIDogJ25vbmUnLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dG9waWMudGl0bGV9XG4gICAgICAgICAgPC9oND5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZ2FwOiAndmFyKC0tcy0yKScsIGZsZXhXcmFwOiAnd3JhcCcsIGFsaWduSXRlbXM6ICdjZW50ZXInIH19PlxuICAgICAgICAgICAgPFN0YXR1c0JhZGdlIHN0YXR1cz17dG9waWMuZGlmZmljdWx0eX0gLz5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWxhYmVsKScsXG4gICAgICAgICAgICAgICAgZm9udEZhbWlseTogJ3ZhcigtLWZvbnQtbW9ubyknLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmctc3VidGxlKScsXG4gICAgICAgICAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsXG4gICAgICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogJ3ZhcigtLWxhYmVsLWxzKScsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHttaWNyb0xlYXJuaW5ncy5sZW5ndGh9IGFjdGl2aXRpZXNcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIHN0eWxlPXt7IGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJywgZm9udFNpemU6ICcxOHB4JywgZmxleFNocmluazogMCB9fT5cbiAgICAgICAgICB7ZXhwYW5kZWQgPyAn4oiSJyA6ICcrJ31cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIHtleHBhbmRlZCAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtNCknLFxuICAgICAgICAgICAgYm9yZGVyVG9wOiAnMXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICAgIGdhcDogJ3ZhcigtLXMtNCknLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICB7LyogVG9waWMgYm9keSAqL31cbiAgICAgICAgICA8cCBzdHlsZT17eyBtYXJnaW46IDAsIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsIGxpbmVIZWlnaHQ6IDEuNjUsIGNvbG9yOiAndmFyKC0tZmcpJyB9fT5cbiAgICAgICAgICAgIHt0b3BpYy5ib2R5fVxuICAgICAgICAgIDwvcD5cblxuICAgICAgICAgIHsvKiBUeXBlIHBpY2tlciAqL31cbiAgICAgICAgICB7bWljcm9MZWFybmluZ3MubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46ICcwIDAgdmFyKC0tcy0yKScsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtbGFiZWwpJyxcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LW1vbm8pJyxcbiAgICAgICAgICAgICAgICAgIHRleHRUcmFuc2Zvcm06ICd1cHBlcmNhc2UnLFxuICAgICAgICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogJ3ZhcigtLWxhYmVsLWxzKScsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIENob29zZSBhbiBhY3Rpdml0eVxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4V3JhcDogJ3dyYXAnLCBnYXA6ICd2YXIoLS1zLTIpJyB9fT5cbiAgICAgICAgICAgICAgICB7bWljcm9MZWFybmluZ3MubWFwKChtbCkgPT4gKFxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBrZXk9e21sLmlkfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTZWxlY3RlZE1sSWQobWwuaWQgPT09IHNlbGVjdGVkTWxJZCA/IG51bGwgOiBtbC5pZCl9XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTWxJZCA9PT0gbWwuaWQgPyAndmFyKC0tYWNjZW50KScgOiAndmFyKC0tYmctd2FybSknLFxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBzZWxlY3RlZE1sSWQgPT09IG1sLmlkID8gJ3ZhcigtLXBhcGVyKScgOiAndmFyKC0tZmcpJyxcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IGAxLjVweCBzb2xpZCAke3NlbGVjdGVkTWxJZCA9PT0gbWwuaWQgPyAndmFyKC0tYWNjZW50KScgOiAndmFyKC0tY3JlYW0pJ31gLFxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJ3ZhcigtLXItcGlsbCknLFxuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTEpIHZhcigtLXMtMyknLFxuICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1zbWFsbCknLFxuICAgICAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiA1MDAsXG4gICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgbWluSGVpZ2h0OiAnMzZweCcsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ2JhY2tncm91bmQgMTUwbXMsIGNvbG9yIDE1MG1zJyxcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge1RZUEVfTEFCRUxTW21sLnR5cGVdID8/IG1sLnR5cGV9XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAgey8qIFNlbGVjdGVkIG1pY3JvLWxlYXJuaW5nICovfVxuICAgICAgICAgIHtzZWxlY3RlZE1sICYmIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctd2FybSknLFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJ3ZhcigtLXItbWQpJyxcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy00KScsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxNaWNyb0xlYXJuaW5nUmVuZGVyZXJcbiAgICAgICAgICAgICAgICBjb250ZW50PXtzZWxlY3RlZE1sLmNvbnRlbnR9XG4gICAgICAgICAgICAgICAgb25Db21wbGV0ZT17KCkgPT4gdm9pZCBoYW5kbGVDb21wbGV0ZSgpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtpc0NvbXBsZXRlZCAmJiAhc2VsZWN0ZWRNbCAmJiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLXRlYWwtNzAwKScsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LXNtYWxsKScsXG4gICAgICAgICAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBDb21wbGV0ZWQg4oCUIHdlbGwgZG9uZSFcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlU3RhdGUiLCJNaWNyb0xlYXJuaW5nUmVuZGVyZXIiLCJTdGF0dXNCYWRnZSIsInBvc3RDb21wbGV0ZSIsInVzZVBCQ29sbGVjdGlvbiIsIlRZUEVfTEFCRUxTIiwiY29uY2VwdF9leHBsYWluZXIiLCJzY2VuYXJpb19xdWl6IiwibWlzY29uY2VwdGlvbnMiLCJob3dfdG8iLCJjb21wYXJpc29uX2NhcmQiLCJyZWZsZWN0aW9uX3Byb21wdCIsImZsYXNoY2FyZF9zZXQiLCJjYXNlX3N0dWR5IiwiZ2xvc3NhcnlfYW5jaG9yIiwibXl0aF92c19ldmlkZW5jZSIsIlRvcGljQ2FyZCIsInRvcGljIiwid2Vla051bWJlciIsInVzZXJJZCIsImlzQ29tcGxldGVkIiwib25Db21wbGV0ZSIsImV4cGFuZGVkIiwic2V0RXhwYW5kZWQiLCJzZWxlY3RlZE1sSWQiLCJzZXRTZWxlY3RlZE1sSWQiLCJjb21wbGV0aW5nIiwic2V0Q29tcGxldGluZyIsIml0ZW1zIiwibWljcm9MZWFybmluZ3MiLCJmaWx0ZXIiLCJpZCIsInNlbGVjdGVkTWwiLCJmaW5kIiwibWwiLCJoYW5kbGVDb21wbGV0ZSIsInBheWxvYWQiLCJ0b3BpY0lkIiwibWljcm9MZWFybmluZ0lkIiwiZGl2Iiwic3R5bGUiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyIiwiYm9yZGVyUmFkaXVzIiwib3ZlcmZsb3ciLCJ0cmFuc2l0aW9uIiwiYnV0dG9uIiwib25DbGljayIsImUiLCJ3aWR0aCIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJjdXJzb3IiLCJkaXNwbGF5IiwiZ2FwIiwiYWxpZ25JdGVtcyIsIm1pbkhlaWdodCIsImZvbnRGYW1pbHkiLCJhcmlhLWV4cGFuZGVkIiwic3BhbiIsImhlaWdodCIsImNvbG9yIiwianVzdGlmeUNvbnRlbnQiLCJmb250U2l6ZSIsImZvbnRXZWlnaHQiLCJmbGV4U2hyaW5rIiwibWFyZ2luVG9wIiwiZmxleCIsIm1pbldpZHRoIiwiaDQiLCJtYXJnaW4iLCJ0ZXh0RGVjb3JhdGlvbiIsInRpdGxlIiwiZmxleFdyYXAiLCJzdGF0dXMiLCJkaWZmaWN1bHR5IiwidGV4dFRyYW5zZm9ybSIsImxldHRlclNwYWNpbmciLCJsZW5ndGgiLCJib3JkZXJUb3AiLCJmbGV4RGlyZWN0aW9uIiwicCIsImxpbmVIZWlnaHQiLCJib2R5IiwibWFwIiwidHlwZSIsImNvbnRlbnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/employee/TopicCard.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/employee/WeekHeader.tsx": +/*!************************************************!*\ + !*** ./src/components/employee/WeekHeader.tsx ***! + \************************************************/ +/***/ ((__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 */ WeekHeader: () => (/* binding */ WeekHeader)\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/* __next_internal_client_entry_do_not_use__ WeekHeader auto */ \n\nfunction WeekHeader({ curriculumState, week, completedCount, totalCount }) {\n const themeName = week.expand?.theme?.title ?? \"—\";\n const pct = totalCount > 0 ? Math.round(completedCount / totalCount * 100) : 0;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"var(--bg-dark)\",\n color: \"var(--paper)\",\n borderRadius: \"var(--r-lg)\",\n padding: \"var(--s-5)\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-3)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"flex-start\"\n },\n children: [\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)(\"p\", {\n style: {\n margin: \"0 0 var(--s-1)\",\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n opacity: 0.65\n },\n children: [\n \"Cycle \",\n curriculumState.current_cycle,\n \" \\xb7 Week \",\n curriculumState.current_week\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\WeekHeader.tsx\",\n lineNumber: 30,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-h3)\",\n fontWeight: 700,\n lineHeight: 1.25\n },\n children: themeName\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\WeekHeader.tsx\",\n lineNumber: 42,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\WeekHeader.tsx\",\n lineNumber: 29,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n textAlign: \"right\",\n flexShrink: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-h3)\",\n fontWeight: 700\n },\n children: [\n completedCount,\n \"/\",\n totalCount\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\WeekHeader.tsx\",\n lineNumber: 54,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-small)\",\n opacity: 0.7\n },\n children: \"topics\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\WeekHeader.tsx\",\n lineNumber: 57,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\WeekHeader.tsx\",\n lineNumber: 53,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\WeekHeader.tsx\",\n lineNumber: 28,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n width: \"100%\",\n height: \"6px\",\n background: \"rgba(255,255,255,0.2)\",\n borderRadius: \"var(--r-pill)\",\n overflow: \"hidden\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n width: `${pct}%`,\n height: \"100%\",\n background: \"var(--paper)\",\n borderRadius: \"var(--r-pill)\",\n transition: \"width 400ms ease\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\WeekHeader.tsx\",\n lineNumber: 79,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\WeekHeader.tsx\",\n lineNumber: 70,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n gap: \"var(--s-4)\",\n flexWrap: \"wrap\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-small)\",\n opacity: 0.75\n },\n children: [\n week.estimated_duration_minutes,\n \" min estimated\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\WeekHeader.tsx\",\n lineNumber: 91,\n columnNumber: 9\n }, this),\n pct === 100 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-small)\",\n fontWeight: 600\n },\n children: \"Week complete!\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\WeekHeader.tsx\",\n lineNumber: 95,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\WeekHeader.tsx\",\n lineNumber: 90,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\employee\\\\WeekHeader.tsx\",\n lineNumber: 17,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9lbXBsb3llZS9XZWVrSGVhZGVyLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDeUI7QUFVbEIsU0FBU0MsV0FBVyxFQUFFQyxlQUFlLEVBQUVDLElBQUksRUFBRUMsY0FBYyxFQUFFQyxVQUFVLEVBQW1CO0lBQy9GLE1BQU1DLFlBQVlILEtBQUtJLE1BQU0sRUFBRUMsT0FBT0MsU0FBUztJQUMvQyxNQUFNQyxNQUFNTCxhQUFhLElBQUlNLEtBQUtDLEtBQUssQ0FBQyxpQkFBa0JQLGFBQWMsT0FBTztJQUUvRSxxQkFDRSw4REFBQ1E7UUFDQ0MsT0FBTztZQUNMQyxZQUFZO1lBQ1pDLE9BQU87WUFDUEMsY0FBYztZQUNkQyxTQUFTO1lBQ1RDLFNBQVM7WUFDVEMsZUFBZTtZQUNmQyxLQUFLO1FBQ1A7OzBCQUVBLDhEQUFDUjtnQkFBSUMsT0FBTztvQkFBRUssU0FBUztvQkFBUUcsZ0JBQWdCO29CQUFpQkMsWUFBWTtnQkFBYTs7a0NBQ3ZGLDhEQUFDVjs7MENBQ0MsOERBQUNXO2dDQUNDVixPQUFPO29DQUNMVyxRQUFRO29DQUNSQyxVQUFVO29DQUNWQyxZQUFZO29DQUNaQyxlQUFlO29DQUNmQyxlQUFlO29DQUNmQyxTQUFTO2dDQUNYOztvQ0FDRDtvQ0FDUTVCLGdCQUFnQjZCLGFBQWE7b0NBQUM7b0NBQVM3QixnQkFBZ0I4QixZQUFZOzs7Ozs7OzBDQUU1RSw4REFBQ0M7Z0NBQ0NuQixPQUFPO29DQUNMVyxRQUFRO29DQUNSQyxVQUFVO29DQUNWUSxZQUFZO29DQUNaQyxZQUFZO2dDQUNkOzBDQUVDN0I7Ozs7Ozs7Ozs7OztrQ0FHTCw4REFBQ087d0JBQUlDLE9BQU87NEJBQUVzQixXQUFXOzRCQUFTQyxZQUFZO3dCQUFFOzswQ0FDOUMsOERBQUNiO2dDQUFFVixPQUFPO29DQUFFVyxRQUFRO29DQUFHQyxVQUFVO29DQUFlUSxZQUFZO2dDQUFJOztvQ0FDN0Q5QjtvQ0FBZTtvQ0FBRUM7Ozs7Ozs7MENBRXBCLDhEQUFDbUI7Z0NBQ0NWLE9BQU87b0NBQ0xXLFFBQVE7b0NBQ1JDLFVBQVU7b0NBQ1ZJLFNBQVM7Z0NBQ1g7MENBQ0Q7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkFPTCw4REFBQ2pCO2dCQUNDQyxPQUFPO29CQUNMd0IsT0FBTztvQkFDUEMsUUFBUTtvQkFDUnhCLFlBQVk7b0JBQ1pFLGNBQWM7b0JBQ2R1QixVQUFVO2dCQUNaOzBCQUVBLDRFQUFDM0I7b0JBQ0NDLE9BQU87d0JBQ0x3QixPQUFPLENBQUMsRUFBRTVCLElBQUksQ0FBQyxDQUFDO3dCQUNoQjZCLFFBQVE7d0JBQ1J4QixZQUFZO3dCQUNaRSxjQUFjO3dCQUNkd0IsWUFBWTtvQkFDZDs7Ozs7Ozs7Ozs7MEJBSUosOERBQUM1QjtnQkFBSUMsT0FBTztvQkFBRUssU0FBUztvQkFBUUUsS0FBSztvQkFBY3FCLFVBQVU7Z0JBQU87O2tDQUNqRSw4REFBQ0M7d0JBQUs3QixPQUFPOzRCQUFFWSxVQUFVOzRCQUFrQkksU0FBUzt3QkFBSzs7NEJBQ3REM0IsS0FBS3lDLDBCQUEwQjs0QkFBQzs7Ozs7OztvQkFFbENsQyxRQUFRLHFCQUNQLDhEQUFDaUM7d0JBQUs3QixPQUFPOzRCQUFFWSxVQUFVOzRCQUFrQlEsWUFBWTt3QkFBSTtrQ0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3hFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy9lbXBsb3llZS9XZWVrSGVhZGVyLnRzeD9lZjkyIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBFbXBsb3llZUN1cnJpY3VsdW1TdGF0ZSwgQ3VycmljdWx1bVdlZWssIFRoZW1lIH0gZnJvbSAnQC90eXBlcydcblxuaW50ZXJmYWNlIFdlZWtIZWFkZXJQcm9wcyB7XG4gIGN1cnJpY3VsdW1TdGF0ZTogRW1wbG95ZWVDdXJyaWN1bHVtU3RhdGVcbiAgd2VlazogQ3VycmljdWx1bVdlZWsgJiB7IGV4cGFuZD86IHsgdGhlbWU/OiBUaGVtZSB9IH1cbiAgY29tcGxldGVkQ291bnQ6IG51bWJlclxuICB0b3RhbENvdW50OiBudW1iZXJcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFdlZWtIZWFkZXIoeyBjdXJyaWN1bHVtU3RhdGUsIHdlZWssIGNvbXBsZXRlZENvdW50LCB0b3RhbENvdW50IH06IFdlZWtIZWFkZXJQcm9wcykge1xuICBjb25zdCB0aGVtZU5hbWUgPSB3ZWVrLmV4cGFuZD8udGhlbWU/LnRpdGxlID8/ICfigJQnXG4gIGNvbnN0IHBjdCA9IHRvdGFsQ291bnQgPiAwID8gTWF0aC5yb3VuZCgoY29tcGxldGVkQ291bnQgLyB0b3RhbENvdW50KSAqIDEwMCkgOiAwXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBzdHlsZT17e1xuICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctZGFyayknLFxuICAgICAgICBjb2xvcjogJ3ZhcigtLXBhcGVyKScsXG4gICAgICAgIGJvcmRlclJhZGl1czogJ3ZhcigtLXItbGcpJyxcbiAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtNSknLFxuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICBnYXA6ICd2YXIoLS1zLTMpJyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsIGFsaWduSXRlbXM6ICdmbGV4LXN0YXJ0JyB9fT5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8cFxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgbWFyZ2luOiAnMCAwIHZhcigtLXMtMSknLFxuICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtbGFiZWwpJyxcbiAgICAgICAgICAgICAgZm9udEZhbWlseTogJ3ZhcigtLWZvbnQtbW9ubyknLFxuICAgICAgICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcbiAgICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogJ3ZhcigtLWxhYmVsLWxzKScsXG4gICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjUsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIEN5Y2xlIHtjdXJyaWN1bHVtU3RhdGUuY3VycmVudF9jeWNsZX0gwrcgV2VlayB7Y3VycmljdWx1bVN0YXRlLmN1cnJlbnRfd2Vla31cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGgyXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBtYXJnaW46IDAsXG4gICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1oMyknLFxuICAgICAgICAgICAgICBmb250V2VpZ2h0OiA3MDAsXG4gICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuMjUsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt0aGVtZU5hbWV9XG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgc3R5bGU9e3sgdGV4dEFsaWduOiAncmlnaHQnLCBmbGV4U2hyaW5rOiAwIH19PlxuICAgICAgICAgIDxwIHN0eWxlPXt7IG1hcmdpbjogMCwgZm9udFNpemU6ICd2YXIoLS10LWgzKScsIGZvbnRXZWlnaHQ6IDcwMCB9fT5cbiAgICAgICAgICAgIHtjb21wbGV0ZWRDb3VudH0ve3RvdGFsQ291bnR9XG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBtYXJnaW46IDAsXG4gICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1zbWFsbCknLFxuICAgICAgICAgICAgICBvcGFjaXR5OiAwLjcsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHRvcGljc1xuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgey8qIFByb2dyZXNzIGJhciAqL31cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIGhlaWdodDogJzZweCcsXG4gICAgICAgICAgYmFja2dyb3VuZDogJ3JnYmEoMjU1LDI1NSwyNTUsMC4yKScsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1waWxsKScsXG4gICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHdpZHRoOiBgJHtwY3R9JWAsXG4gICAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1wYXBlciknLFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1waWxsKScsXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAnd2lkdGggNDAwbXMgZWFzZScsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZ2FwOiAndmFyKC0tcy00KScsIGZsZXhXcmFwOiAnd3JhcCcgfX0+XG4gICAgICAgIDxzcGFuIHN0eWxlPXt7IGZvbnRTaXplOiAndmFyKC0tdC1zbWFsbCknLCBvcGFjaXR5OiAwLjc1IH19PlxuICAgICAgICAgIHt3ZWVrLmVzdGltYXRlZF9kdXJhdGlvbl9taW51dGVzfSBtaW4gZXN0aW1hdGVkXG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAge3BjdCA9PT0gMTAwICYmIChcbiAgICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJywgZm9udFdlaWdodDogNjAwIH19PlxuICAgICAgICAgICAgV2VlayBjb21wbGV0ZSFcbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiV2Vla0hlYWRlciIsImN1cnJpY3VsdW1TdGF0ZSIsIndlZWsiLCJjb21wbGV0ZWRDb3VudCIsInRvdGFsQ291bnQiLCJ0aGVtZU5hbWUiLCJleHBhbmQiLCJ0aGVtZSIsInRpdGxlIiwicGN0IiwiTWF0aCIsInJvdW5kIiwiZGl2Iiwic3R5bGUiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJib3JkZXJSYWRpdXMiLCJwYWRkaW5nIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJqdXN0aWZ5Q29udGVudCIsImFsaWduSXRlbXMiLCJwIiwibWFyZ2luIiwiZm9udFNpemUiLCJmb250RmFtaWx5IiwidGV4dFRyYW5zZm9ybSIsImxldHRlclNwYWNpbmciLCJvcGFjaXR5IiwiY3VycmVudF9jeWNsZSIsImN1cnJlbnRfd2VlayIsImgyIiwiZm9udFdlaWdodCIsImxpbmVIZWlnaHQiLCJ0ZXh0QWxpZ24iLCJmbGV4U2hyaW5rIiwid2lkdGgiLCJoZWlnaHQiLCJvdmVyZmxvdyIsInRyYW5zaXRpb24iLCJmbGV4V3JhcCIsInNwYW4iLCJlc3RpbWF0ZWRfZHVyYXRpb25fbWludXRlcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/employee/WeekHeader.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/micro-learnings/CaseStudy.tsx": +/*!******************************************************!*\ + !*** ./src/components/micro-learnings/CaseStudy.tsx ***! + \******************************************************/ +/***/ ((__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 */ CaseStudy: () => (/* binding */ CaseStudy)\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 _components_ui_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ CaseStudy auto */ \n\n\nfunction CaseStudy({ content, onComplete }) {\n const [answers, setAnswers] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({});\n const allAnswered = content.questions.every((_, i)=>(answers[i] ?? \"\").trim().length > 10);\n function setAnswer(idx, val) {\n setAnswers((prev)=>({\n ...prev,\n [idx]: val\n }));\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-5)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"var(--bg-warm)\",\n borderRadius: \"var(--r-md)\",\n padding: \"var(--s-5)\",\n fontSize: \"var(--t-body)\",\n lineHeight: 1.7,\n color: \"var(--fg)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: \"0 0 var(--s-3)\",\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n color: \"var(--fg-muted)\"\n },\n children: \"Scenario\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\CaseStudy.tsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this),\n content.scenario\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\CaseStudy.tsx\",\n lineNumber: 26,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: content.questions.map((q, idx)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-2)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n style: {\n fontSize: \"var(--t-body)\",\n fontWeight: 600,\n color: \"var(--fg)\",\n lineHeight: 1.5\n },\n children: [\n idx + 1,\n \". \",\n q\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\CaseStudy.tsx\",\n lineNumber: 54,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"textarea\", {\n value: answers[idx] ?? \"\",\n onChange: (e)=>setAnswer(idx, e.target.value),\n placeholder: \"Your answer…\",\n rows: 3,\n style: {\n width: \"100%\",\n borderRadius: \"var(--r-sm)\",\n border: \"1.5px solid var(--cream)\",\n padding: \"var(--s-3)\",\n fontSize: \"var(--t-body)\",\n fontFamily: \"var(--font-sans)\",\n color: \"var(--fg)\",\n background: \"var(--bg)\",\n resize: \"vertical\",\n outline: \"none\",\n lineHeight: 1.5\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\CaseStudy.tsx\",\n lineNumber: 64,\n columnNumber: 13\n }, this)\n ]\n }, idx, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\CaseStudy.tsx\",\n lineNumber: 53,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\CaseStudy.tsx\",\n lineNumber: 51,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"primary\",\n onClick: onComplete,\n disabled: !allAnswered,\n style: {\n alignSelf: \"flex-end\"\n },\n children: \"Submit reflections\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\CaseStudy.tsx\",\n lineNumber: 87,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\CaseStudy.tsx\",\n lineNumber: 25,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9taWNyby1sZWFybmluZ3MvQ2FzZVN0dWR5LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQ3VDO0FBQ1E7QUFheEMsU0FBU0csVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBUztJQUN0RCxNQUFNLENBQUNDLFNBQVNDLFdBQVcsR0FBR04sK0NBQVFBLENBQXlCLENBQUM7SUFDaEUsTUFBTU8sY0FBY0osUUFBUUssU0FBUyxDQUFDQyxLQUFLLENBQUMsQ0FBQ0MsR0FBR0MsSUFBTSxDQUFDTixPQUFPLENBQUNNLEVBQUUsSUFBSSxFQUFDLEVBQUdDLElBQUksR0FBR0MsTUFBTSxHQUFHO0lBRXpGLFNBQVNDLFVBQVVDLEdBQVcsRUFBRUMsR0FBVztRQUN6Q1YsV0FBVyxDQUFDVyxPQUFVO2dCQUFFLEdBQUdBLElBQUk7Z0JBQUUsQ0FBQ0YsSUFBSSxFQUFFQztZQUFJO0lBQzlDO0lBRUEscUJBQ0UsOERBQUNFO1FBQUlDLE9BQU87WUFBRUMsU0FBUztZQUFRQyxlQUFlO1lBQVVDLEtBQUs7UUFBYTs7MEJBQ3hFLDhEQUFDSjtnQkFDQ0MsT0FBTztvQkFDTEksWUFBWTtvQkFDWkMsY0FBYztvQkFDZEMsU0FBUztvQkFDVEMsVUFBVTtvQkFDVkMsWUFBWTtvQkFDWkMsT0FBTztnQkFDVDs7a0NBRUEsOERBQUNDO3dCQUNDVixPQUFPOzRCQUNMVyxRQUFROzRCQUNSSixVQUFVOzRCQUNWSyxZQUFZOzRCQUNaQyxlQUFlOzRCQUNmQyxlQUFlOzRCQUNmTCxPQUFPO3dCQUNUO2tDQUNEOzs7Ozs7b0JBR0F6QixRQUFRK0IsUUFBUTs7Ozs7OzswQkFHbkIsOERBQUNoQjtnQkFBSUMsT0FBTztvQkFBRUMsU0FBUztvQkFBUUMsZUFBZTtvQkFBVUMsS0FBSztnQkFBYTswQkFDdkVuQixRQUFRSyxTQUFTLENBQUMyQixHQUFHLENBQUMsQ0FBQ0MsR0FBR3JCLG9CQUN6Qiw4REFBQ0c7d0JBQWNDLE9BQU87NEJBQUVDLFNBQVM7NEJBQVFDLGVBQWU7NEJBQVVDLEtBQUs7d0JBQWE7OzBDQUNsRiw4REFBQ2U7Z0NBQ0NsQixPQUFPO29DQUNMTyxVQUFVO29DQUNWWSxZQUFZO29DQUNaVixPQUFPO29DQUNQRCxZQUFZO2dDQUNkOztvQ0FFQ1osTUFBTTtvQ0FBRTtvQ0FBR3FCOzs7Ozs7OzBDQUVkLDhEQUFDRztnQ0FDQ0MsT0FBT25DLE9BQU8sQ0FBQ1UsSUFBSSxJQUFJO2dDQUN2QjBCLFVBQVUsQ0FBQ0MsSUFBTTVCLFVBQVVDLEtBQUsyQixFQUFFQyxNQUFNLENBQUNILEtBQUs7Z0NBQzlDSSxhQUFZO2dDQUNaQyxNQUFNO2dDQUNOMUIsT0FBTztvQ0FDTDJCLE9BQU87b0NBQ1B0QixjQUFjO29DQUNkdUIsUUFBUTtvQ0FDUnRCLFNBQVM7b0NBQ1RDLFVBQVU7b0NBQ1ZLLFlBQVk7b0NBQ1pILE9BQU87b0NBQ1BMLFlBQVk7b0NBQ1p5QixRQUFRO29DQUNSQyxTQUFTO29DQUNUdEIsWUFBWTtnQ0FDZDs7Ozs7Ozt1QkE1Qk1aOzs7Ozs7Ozs7OzBCQWtDZCw4REFBQ2QseURBQU1BO2dCQUNMaUQsU0FBUTtnQkFDUkMsU0FBUy9DO2dCQUNUZ0QsVUFBVSxDQUFDN0M7Z0JBQ1hZLE9BQU87b0JBQUVrQyxXQUFXO2dCQUFXOzBCQUNoQzs7Ozs7Ozs7Ozs7O0FBS1AiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9jb21wb25lbnRzL21pY3JvLWxlYXJuaW5ncy9DYXNlU3R1ZHkudHN4PzUyNDEiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy91aS9CdXR0b24nXG5cbmludGVyZmFjZSBDYXNlU3R1ZHlDb250ZW50IHtcbiAgdHlwZTogJ2Nhc2Vfc3R1ZHknXG4gIHNjZW5hcmlvOiBzdHJpbmdcbiAgcXVlc3Rpb25zOiBzdHJpbmdbXVxufVxuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBjb250ZW50OiBDYXNlU3R1ZHlDb250ZW50XG4gIG9uQ29tcGxldGU6ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENhc2VTdHVkeSh7IGNvbnRlbnQsIG9uQ29tcGxldGUgfTogUHJvcHMpIHtcbiAgY29uc3QgW2Fuc3dlcnMsIHNldEFuc3dlcnNdID0gdXNlU3RhdGU8UmVjb3JkPG51bWJlciwgc3RyaW5nPj4oe30pXG4gIGNvbnN0IGFsbEFuc3dlcmVkID0gY29udGVudC5xdWVzdGlvbnMuZXZlcnkoKF8sIGkpID0+IChhbnN3ZXJzW2ldID8/ICcnKS50cmltKCkubGVuZ3RoID4gMTApXG5cbiAgZnVuY3Rpb24gc2V0QW5zd2VyKGlkeDogbnVtYmVyLCB2YWw6IHN0cmluZykge1xuICAgIHNldEFuc3dlcnMoKHByZXYpID0+ICh7IC4uLnByZXYsIFtpZHhdOiB2YWwgfSkpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAndmFyKC0tcy01KScgfX0+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnLXdhcm0pJyxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLW1kKScsXG4gICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtNSknLFxuICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsXG4gICAgICAgICAgbGluZUhlaWdodDogMS43LFxuICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPHBcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgbWFyZ2luOiAnMCAwIHZhcigtLXMtMyknLFxuICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWxhYmVsKScsXG4gICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vKScsXG4gICAgICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcbiAgICAgICAgICAgIGxldHRlclNwYWNpbmc6ICd2YXIoLS1sYWJlbC1scyknLFxuICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICBTY2VuYXJpb1xuICAgICAgICA8L3A+XG4gICAgICAgIHtjb250ZW50LnNjZW5hcmlvfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAndmFyKC0tcy00KScgfX0+XG4gICAgICAgIHtjb250ZW50LnF1ZXN0aW9ucy5tYXAoKHEsIGlkeCkgPT4gKFxuICAgICAgICAgIDxkaXYga2V5PXtpZHh9IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogJ3ZhcigtLXMtMiknIH19PlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiA2MDAsXG4gICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZyknLFxuICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2lkeCArIDF9LiB7cX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgdmFsdWU9e2Fuc3dlcnNbaWR4XSA/PyAnJ31cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXRBbnN3ZXIoaWR4LCBlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiWW91ciBhbnN3ZXLigKZcIlxuICAgICAgICAgICAgICByb3dzPXszfVxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1zbSknLFxuICAgICAgICAgICAgICAgIGJvcmRlcjogJzEuNXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtMyknLFxuICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsXG4gICAgICAgICAgICAgICAgZm9udEZhbWlseTogJ3ZhcigtLWZvbnQtc2FucyknLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmcpJyxcbiAgICAgICAgICAgICAgICByZXNpemU6ICd2ZXJ0aWNhbCcsXG4gICAgICAgICAgICAgICAgb3V0bGluZTogJ25vbmUnLFxuICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICkpfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxCdXR0b25cbiAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICBvbkNsaWNrPXtvbkNvbXBsZXRlfVxuICAgICAgICBkaXNhYmxlZD17IWFsbEFuc3dlcmVkfVxuICAgICAgICBzdHlsZT17eyBhbGlnblNlbGY6ICdmbGV4LWVuZCcgfX1cbiAgICAgID5cbiAgICAgICAgU3VibWl0IHJlZmxlY3Rpb25zXG4gICAgICA8L0J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlU3RhdGUiLCJCdXR0b24iLCJDYXNlU3R1ZHkiLCJjb250ZW50Iiwib25Db21wbGV0ZSIsImFuc3dlcnMiLCJzZXRBbnN3ZXJzIiwiYWxsQW5zd2VyZWQiLCJxdWVzdGlvbnMiLCJldmVyeSIsIl8iLCJpIiwidHJpbSIsImxlbmd0aCIsInNldEFuc3dlciIsImlkeCIsInZhbCIsInByZXYiLCJkaXYiLCJzdHlsZSIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiZ2FwIiwiYmFja2dyb3VuZCIsImJvcmRlclJhZGl1cyIsInBhZGRpbmciLCJmb250U2l6ZSIsImxpbmVIZWlnaHQiLCJjb2xvciIsInAiLCJtYXJnaW4iLCJmb250RmFtaWx5IiwidGV4dFRyYW5zZm9ybSIsImxldHRlclNwYWNpbmciLCJzY2VuYXJpbyIsIm1hcCIsInEiLCJsYWJlbCIsImZvbnRXZWlnaHQiLCJ0ZXh0YXJlYSIsInZhbHVlIiwib25DaGFuZ2UiLCJlIiwidGFyZ2V0IiwicGxhY2Vob2xkZXIiLCJyb3dzIiwid2lkdGgiLCJib3JkZXIiLCJyZXNpemUiLCJvdXRsaW5lIiwidmFyaWFudCIsIm9uQ2xpY2siLCJkaXNhYmxlZCIsImFsaWduU2VsZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/micro-learnings/CaseStudy.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/micro-learnings/ComparisonCard.tsx": +/*!***********************************************************!*\ + !*** ./src/components/micro-learnings/ComparisonCard.tsx ***! + \***********************************************************/ +/***/ ((__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 */ ComparisonCard: () => (/* binding */ ComparisonCard)\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 _components_ui_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ ComparisonCard auto */ \n\n\nfunction ComparisonCard({ content, onComplete }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n overflowX: \"auto\",\n WebkitOverflowScrolling: \"touch\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"table\", {\n style: {\n width: \"100%\",\n borderCollapse: \"collapse\",\n fontSize: \"var(--t-body)\",\n minWidth: \"320px\"\n },\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 style: {\n width: \"28%\",\n padding: \"var(--s-2) var(--s-3)\",\n textAlign: \"left\",\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n color: \"var(--fg-muted)\",\n border: \"1px solid var(--cream)\",\n background: \"var(--bg-warm)\"\n },\n children: \"Dimension\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ComparisonCard.tsx\",\n lineNumber: 37,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n style: {\n width: \"36%\",\n padding: \"var(--s-2) var(--s-3)\",\n textAlign: \"left\",\n fontWeight: 700,\n color: \"var(--teal)\",\n border: \"1px solid var(--cream)\",\n background: \"var(--bg-warm)\"\n },\n children: content.subject_a\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ComparisonCard.tsx\",\n lineNumber: 53,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n style: {\n width: \"36%\",\n padding: \"var(--s-2) var(--s-3)\",\n textAlign: \"left\",\n fontWeight: 700,\n color: \"var(--accent)\",\n border: \"1px solid var(--cream)\",\n background: \"var(--bg-warm)\"\n },\n children: content.subject_b\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ComparisonCard.tsx\",\n lineNumber: 66,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ComparisonCard.tsx\",\n lineNumber: 36,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ComparisonCard.tsx\",\n lineNumber: 35,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tbody\", {\n children: content.dimensions.map((dim, idx)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n style: {\n background: idx % 2 === 0 ? \"var(--bg)\" : \"var(--bg-warm)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n style: {\n padding: \"var(--s-2) var(--s-3)\",\n fontWeight: 600,\n fontSize: \"var(--t-small)\",\n color: \"var(--fg-muted)\",\n border: \"1px solid var(--cream)\",\n verticalAlign: \"top\"\n },\n children: dim.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ComparisonCard.tsx\",\n lineNumber: 84,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n style: {\n padding: \"var(--s-2) var(--s-3)\",\n border: \"1px solid var(--cream)\",\n verticalAlign: \"top\",\n lineHeight: 1.5\n },\n children: dim.a\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ComparisonCard.tsx\",\n lineNumber: 96,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n style: {\n padding: \"var(--s-2) var(--s-3)\",\n border: \"1px solid var(--cream)\",\n verticalAlign: \"top\",\n lineHeight: 1.5\n },\n children: dim.b\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ComparisonCard.tsx\",\n lineNumber: 106,\n columnNumber: 17\n }, this)\n ]\n }, idx, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ComparisonCard.tsx\",\n lineNumber: 83,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ComparisonCard.tsx\",\n lineNumber: 81,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ComparisonCard.tsx\",\n lineNumber: 27,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ComparisonCard.tsx\",\n lineNumber: 26,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"primary\",\n onClick: onComplete,\n style: {\n alignSelf: \"flex-end\"\n },\n children: \"Mark complete\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ComparisonCard.tsx\",\n lineNumber: 122,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ComparisonCard.tsx\",\n lineNumber: 25,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9taWNyby1sZWFybmluZ3MvQ29tcGFyaXNvbkNhcmQudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFDeUI7QUFDc0I7QUFvQnhDLFNBQVNFLGVBQWUsRUFBRUMsT0FBTyxFQUFFQyxVQUFVLEVBQVM7SUFDM0QscUJBQ0UsOERBQUNDO1FBQUlDLE9BQU87WUFBRUMsU0FBUztZQUFRQyxlQUFlO1lBQVVDLEtBQUs7UUFBYTs7MEJBQ3hFLDhEQUFDSjtnQkFBSUMsT0FBTztvQkFBRUksV0FBVztvQkFBUUMseUJBQXlCO2dCQUFROzBCQUNoRSw0RUFBQ0M7b0JBQ0NOLE9BQU87d0JBQ0xPLE9BQU87d0JBQ1BDLGdCQUFnQjt3QkFDaEJDLFVBQVU7d0JBQ1ZDLFVBQVU7b0JBQ1o7O3NDQUVBLDhEQUFDQztzQ0FDQyw0RUFBQ0M7O2tEQUNDLDhEQUFDQzt3Q0FDQ2IsT0FBTzs0Q0FDTE8sT0FBTzs0Q0FDUE8sU0FBUzs0Q0FDVEMsV0FBVzs0Q0FDWE4sVUFBVTs0Q0FDVk8sWUFBWTs0Q0FDWkMsZUFBZTs0Q0FDZkMsZUFBZTs0Q0FDZkMsT0FBTzs0Q0FDUEMsUUFBUTs0Q0FDUkMsWUFBWTt3Q0FDZDtrREFDRDs7Ozs7O2tEQUdELDhEQUFDUjt3Q0FDQ2IsT0FBTzs0Q0FDTE8sT0FBTzs0Q0FDUE8sU0FBUzs0Q0FDVEMsV0FBVzs0Q0FDWE8sWUFBWTs0Q0FDWkgsT0FBTzs0Q0FDUEMsUUFBUTs0Q0FDUkMsWUFBWTt3Q0FDZDtrREFFQ3hCLFFBQVEwQixTQUFTOzs7Ozs7a0RBRXBCLDhEQUFDVjt3Q0FDQ2IsT0FBTzs0Q0FDTE8sT0FBTzs0Q0FDUE8sU0FBUzs0Q0FDVEMsV0FBVzs0Q0FDWE8sWUFBWTs0Q0FDWkgsT0FBTzs0Q0FDUEMsUUFBUTs0Q0FDUkMsWUFBWTt3Q0FDZDtrREFFQ3hCLFFBQVEyQixTQUFTOzs7Ozs7Ozs7Ozs7Ozs7OztzQ0FJeEIsOERBQUNDO3NDQUNFNUIsUUFBUTZCLFVBQVUsQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLEtBQUtDLG9CQUM1Qiw4REFBQ2pCO29DQUFhWixPQUFPO3dDQUFFcUIsWUFBWVEsTUFBTSxNQUFNLElBQUksY0FBYztvQ0FBaUI7O3NEQUNoRiw4REFBQ0M7NENBQ0M5QixPQUFPO2dEQUNMYyxTQUFTO2dEQUNUUSxZQUFZO2dEQUNaYixVQUFVO2dEQUNWVSxPQUFPO2dEQUNQQyxRQUFRO2dEQUNSVyxlQUFlOzRDQUNqQjtzREFFQ0gsSUFBSUksS0FBSzs7Ozs7O3NEQUVaLDhEQUFDRjs0Q0FDQzlCLE9BQU87Z0RBQ0xjLFNBQVM7Z0RBQ1RNLFFBQVE7Z0RBQ1JXLGVBQWU7Z0RBQ2ZFLFlBQVk7NENBQ2Q7c0RBRUNMLElBQUlNLENBQUM7Ozs7OztzREFFUiw4REFBQ0o7NENBQ0M5QixPQUFPO2dEQUNMYyxTQUFTO2dEQUNUTSxRQUFRO2dEQUNSVyxlQUFlO2dEQUNmRSxZQUFZOzRDQUNkO3NEQUVDTCxJQUFJTyxDQUFDOzs7Ozs7O21DQS9CRE47Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkF1Q2pCLDhEQUFDbEMseURBQU1BO2dCQUFDeUMsU0FBUTtnQkFBVUMsU0FBU3ZDO2dCQUFZRSxPQUFPO29CQUFFc0MsV0FBVztnQkFBVzswQkFBRzs7Ozs7Ozs7Ozs7O0FBS3ZGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy9taWNyby1sZWFybmluZ3MvQ29tcGFyaXNvbkNhcmQudHN4PzQxMTAiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvQnV0dG9uJ1xuXG5pbnRlcmZhY2UgQ29tcGFyaXNvbkRpbWVuc2lvbiB7XG4gIGxhYmVsOiBzdHJpbmdcbiAgYTogc3RyaW5nXG4gIGI6IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgQ29tcGFyaXNvbkNhcmRDb250ZW50IHtcbiAgdHlwZTogJ2NvbXBhcmlzb25fY2FyZCdcbiAgc3ViamVjdF9hOiBzdHJpbmdcbiAgc3ViamVjdF9iOiBzdHJpbmdcbiAgZGltZW5zaW9uczogQ29tcGFyaXNvbkRpbWVuc2lvbltdXG59XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGNvbnRlbnQ6IENvbXBhcmlzb25DYXJkQ29udGVudFxuICBvbkNvbXBsZXRlOiAoKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDb21wYXJpc29uQ2FyZCh7IGNvbnRlbnQsIG9uQ29tcGxldGUgfTogUHJvcHMpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogJ3ZhcigtLXMtNCknIH19PlxuICAgICAgPGRpdiBzdHlsZT17eyBvdmVyZmxvd1g6ICdhdXRvJywgV2Via2l0T3ZlcmZsb3dTY3JvbGxpbmc6ICd0b3VjaCcgfX0+XG4gICAgICAgIDx0YWJsZVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgYm9yZGVyQ29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgbWluV2lkdGg6ICczMjBweCcsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgPHRoXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMjglJyxcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTIpIHZhcigtLXMtMyknLFxuICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtbGFiZWwpJyxcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LW1vbm8pJyxcbiAgICAgICAgICAgICAgICAgIHRleHRUcmFuc2Zvcm06ICd1cHBlcmNhc2UnLFxuICAgICAgICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogJ3ZhcigtLWxhYmVsLWxzKScsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgdmFyKC0tY3JlYW0pJyxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZy13YXJtKScsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIERpbWVuc2lvblxuICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICA8dGhcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgd2lkdGg6ICczNiUnLFxuICAgICAgICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtMikgdmFyKC0tcy0zKScsXG4gICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICdsZWZ0JyxcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDcwMCxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tdGVhbCknLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctd2FybSknLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y29udGVudC5zdWJqZWN0X2F9XG4gICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgIDx0aFxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogJzM2JScsXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTMpJyxcbiAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogJ2xlZnQnLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogNzAwLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1hY2NlbnQpJyxcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogJzFweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnLXdhcm0pJyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2NvbnRlbnQuc3ViamVjdF9ifVxuICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgIHtjb250ZW50LmRpbWVuc2lvbnMubWFwKChkaW0sIGlkeCkgPT4gKFxuICAgICAgICAgICAgICA8dHIga2V5PXtpZHh9IHN0eWxlPXt7IGJhY2tncm91bmQ6IGlkeCAlIDIgPT09IDAgPyAndmFyKC0tYmcpJyA6ICd2YXIoLS1iZy13YXJtKScgfX0+XG4gICAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTMpJyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogNjAwLFxuICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknLFxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgdmFyKC0tY3JlYW0pJyxcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtkaW0ubGFiZWx9XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8dGRcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTIpIHZhcigtLXMtMyknLFxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgdmFyKC0tY3JlYW0pJyxcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNSxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2RpbS5hfVxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTMpJyxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsQWxpZ246ICd0b3AnLFxuICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAxLjUsXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtkaW0uYn1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJwcmltYXJ5XCIgb25DbGljaz17b25Db21wbGV0ZX0gc3R5bGU9e3sgYWxpZ25TZWxmOiAnZmxleC1lbmQnIH19PlxuICAgICAgICBNYXJrIGNvbXBsZXRlXG4gICAgICA8L0J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiQnV0dG9uIiwiQ29tcGFyaXNvbkNhcmQiLCJjb250ZW50Iiwib25Db21wbGV0ZSIsImRpdiIsInN0eWxlIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJvdmVyZmxvd1giLCJXZWJraXRPdmVyZmxvd1Njcm9sbGluZyIsInRhYmxlIiwid2lkdGgiLCJib3JkZXJDb2xsYXBzZSIsImZvbnRTaXplIiwibWluV2lkdGgiLCJ0aGVhZCIsInRyIiwidGgiLCJwYWRkaW5nIiwidGV4dEFsaWduIiwiZm9udEZhbWlseSIsInRleHRUcmFuc2Zvcm0iLCJsZXR0ZXJTcGFjaW5nIiwiY29sb3IiLCJib3JkZXIiLCJiYWNrZ3JvdW5kIiwiZm9udFdlaWdodCIsInN1YmplY3RfYSIsInN1YmplY3RfYiIsInRib2R5IiwiZGltZW5zaW9ucyIsIm1hcCIsImRpbSIsImlkeCIsInRkIiwidmVydGljYWxBbGlnbiIsImxhYmVsIiwibGluZUhlaWdodCIsImEiLCJiIiwidmFyaWFudCIsIm9uQ2xpY2siLCJhbGlnblNlbGYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/micro-learnings/ComparisonCard.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/micro-learnings/ConceptExplainer.tsx": +/*!*************************************************************!*\ + !*** ./src/components/micro-learnings/ConceptExplainer.tsx ***! + \*************************************************************/ +/***/ ((__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 */ ConceptExplainer: () => (/* binding */ ConceptExplainer)\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 _components_ui_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ ConceptExplainer auto */ \n\n\nfunction ConceptExplainer({ content, onComplete }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-3)\"\n },\n children: content.paragraphs.map((para, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-body)\",\n lineHeight: 1.65,\n color: \"var(--fg)\"\n },\n children: para\n }, i, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ConceptExplainer.tsx\",\n lineNumber: 21,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ConceptExplainer.tsx\",\n lineNumber: 19,\n columnNumber: 7\n }, this),\n content.example && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"var(--bg-warm)\",\n borderLeft: \"4px solid var(--accent)\",\n borderRadius: \"var(--r-sm)\",\n padding: \"var(--s-4)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: \"0 0 var(--s-2)\",\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n color: \"var(--fg-muted)\"\n },\n children: \"Example\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ConceptExplainer.tsx\",\n lineNumber: 44,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-body)\",\n lineHeight: 1.6\n },\n children: content.example\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ConceptExplainer.tsx\",\n lineNumber: 56,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ConceptExplainer.tsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"primary\",\n onClick: onComplete,\n style: {\n alignSelf: \"flex-end\"\n },\n children: \"Mark complete\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ConceptExplainer.tsx\",\n lineNumber: 62,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ConceptExplainer.tsx\",\n lineNumber: 18,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9taWNyby1sZWFybmluZ3MvQ29uY2VwdEV4cGxhaW5lci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUN5QjtBQUNzQjtBQWF4QyxTQUFTRSxpQkFBaUIsRUFBRUMsT0FBTyxFQUFFQyxVQUFVLEVBQVM7SUFDN0QscUJBQ0UsOERBQUNDO1FBQUlDLE9BQU87WUFBRUMsU0FBUztZQUFRQyxlQUFlO1lBQVVDLEtBQUs7UUFBYTs7MEJBQ3hFLDhEQUFDSjtnQkFBSUMsT0FBTztvQkFBRUMsU0FBUztvQkFBUUMsZUFBZTtvQkFBVUMsS0FBSztnQkFBYTswQkFDdkVOLFFBQVFPLFVBQVUsQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLE1BQU1DLGtCQUM3Qiw4REFBQ0M7d0JBRUNSLE9BQU87NEJBQ0xTLFFBQVE7NEJBQ1JDLFVBQVU7NEJBQ1ZDLFlBQVk7NEJBQ1pDLE9BQU87d0JBQ1Q7a0NBRUNOO3VCQVJJQzs7Ozs7Ozs7OztZQWFWVixRQUFRZ0IsT0FBTyxrQkFDZCw4REFBQ2Q7Z0JBQ0NDLE9BQU87b0JBQ0xjLFlBQVk7b0JBQ1pDLFlBQVk7b0JBQ1pDLGNBQWM7b0JBQ2RDLFNBQVM7Z0JBQ1g7O2tDQUVBLDhEQUFDVDt3QkFDQ1IsT0FBTzs0QkFDTFMsUUFBUTs0QkFDUkMsVUFBVTs0QkFDVlEsWUFBWTs0QkFDWkMsZUFBZTs0QkFDZkMsZUFBZTs0QkFDZlIsT0FBTzt3QkFDVDtrQ0FDRDs7Ozs7O2tDQUdELDhEQUFDSjt3QkFBRVIsT0FBTzs0QkFBRVMsUUFBUTs0QkFBR0MsVUFBVTs0QkFBaUJDLFlBQVk7d0JBQUk7a0NBQy9EZCxRQUFRZ0IsT0FBTzs7Ozs7Ozs7Ozs7OzBCQUt0Qiw4REFBQ2xCLHlEQUFNQTtnQkFBQzBCLFNBQVE7Z0JBQVVDLFNBQVN4QjtnQkFBWUUsT0FBTztvQkFBRXVCLFdBQVc7Z0JBQVc7MEJBQUc7Ozs7Ozs7Ozs7OztBQUt2RiIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2NvbXBvbmVudHMvbWljcm8tbGVhcm5pbmdzL0NvbmNlcHRFeHBsYWluZXIudHN4P2QxMTkiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvQnV0dG9uJ1xuXG5pbnRlcmZhY2UgQ29uY2VwdEV4cGxhaW5lckNvbnRlbnQge1xuICB0eXBlOiAnY29uY2VwdF9leHBsYWluZXInXG4gIHBhcmFncmFwaHM6IHN0cmluZ1tdXG4gIGV4YW1wbGU6IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBjb250ZW50OiBDb25jZXB0RXhwbGFpbmVyQ29udGVudFxuICBvbkNvbXBsZXRlOiAoKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDb25jZXB0RXhwbGFpbmVyKHsgY29udGVudCwgb25Db21wbGV0ZSB9OiBQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAndmFyKC0tcy00KScgfX0+XG4gICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogJ3ZhcigtLXMtMyknIH19PlxuICAgICAgICB7Y29udGVudC5wYXJhZ3JhcGhzLm1hcCgocGFyYSwgaSkgPT4gKFxuICAgICAgICAgIDxwXG4gICAgICAgICAgICBrZXk9e2l9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBtYXJnaW46IDAsXG4gICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsXG4gICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNjUsXG4gICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3BhcmF9XG4gICAgICAgICAgPC9wPlxuICAgICAgICApKX1cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7Y29udGVudC5leGFtcGxlICYmIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctd2FybSknLFxuICAgICAgICAgICAgYm9yZGVyTGVmdDogJzRweCBzb2xpZCB2YXIoLS1hY2NlbnQpJyxcbiAgICAgICAgICAgIGJvcmRlclJhZGl1czogJ3ZhcigtLXItc20pJyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTQpJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPHBcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIG1hcmdpbjogJzAgMCB2YXIoLS1zLTIpJyxcbiAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWxhYmVsKScsXG4gICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LW1vbm8pJyxcbiAgICAgICAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsXG4gICAgICAgICAgICAgIGxldHRlclNwYWNpbmc6ICd2YXIoLS1sYWJlbC1scyknLFxuICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIEV4YW1wbGVcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHAgc3R5bGU9e3sgbWFyZ2luOiAwLCBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLCBsaW5lSGVpZ2h0OiAxLjYgfX0+XG4gICAgICAgICAgICB7Y29udGVudC5leGFtcGxlfVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuXG4gICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJwcmltYXJ5XCIgb25DbGljaz17b25Db21wbGV0ZX0gc3R5bGU9e3sgYWxpZ25TZWxmOiAnZmxleC1lbmQnIH19PlxuICAgICAgICBNYXJrIGNvbXBsZXRlXG4gICAgICA8L0J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiQnV0dG9uIiwiQ29uY2VwdEV4cGxhaW5lciIsImNvbnRlbnQiLCJvbkNvbXBsZXRlIiwiZGl2Iiwic3R5bGUiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImdhcCIsInBhcmFncmFwaHMiLCJtYXAiLCJwYXJhIiwiaSIsInAiLCJtYXJnaW4iLCJmb250U2l6ZSIsImxpbmVIZWlnaHQiLCJjb2xvciIsImV4YW1wbGUiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyTGVmdCIsImJvcmRlclJhZGl1cyIsInBhZGRpbmciLCJmb250RmFtaWx5IiwidGV4dFRyYW5zZm9ybSIsImxldHRlclNwYWNpbmciLCJ2YXJpYW50Iiwib25DbGljayIsImFsaWduU2VsZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/micro-learnings/ConceptExplainer.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/micro-learnings/FlashcardSet.tsx": +/*!*********************************************************!*\ + !*** ./src/components/micro-learnings/FlashcardSet.tsx ***! + \*********************************************************/ +/***/ ((__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 */ FlashcardSet: () => (/* binding */ FlashcardSet)\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 _components_ui_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ FlashcardSet auto */ \n\n\nfunction FlashcardSet({ content, onComplete }) {\n const [currentIdx, setCurrentIdx] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n const [flipped, setFlipped] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [done, setDone] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const card = content.cards[currentIdx];\n const isLast = currentIdx === content.cards.length - 1;\n function handleNext() {\n if (isLast) {\n setDone(true);\n } else {\n setCurrentIdx((i)=>i + 1);\n setFlipped(false);\n }\n }\n function handlePrev() {\n if (currentIdx > 0) {\n setCurrentIdx((i)=>i - 1);\n setFlipped(false);\n }\n }\n if (!card) return null;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\",\n alignItems: \"center\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n fontSize: \"var(--t-small)\",\n color: \"var(--fg-muted)\",\n alignSelf: \"flex-end\"\n },\n children: [\n currentIdx + 1,\n \" / \",\n content.cards.length\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\FlashcardSet.tsx\",\n lineNumber: 48,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setFlipped((f)=>!f),\n style: {\n width: \"100%\",\n minHeight: \"200px\",\n borderRadius: \"var(--r-lg)\",\n border: \"1.5px solid var(--cream)\",\n background: flipped ? \"var(--bg-dark)\" : \"var(--bg)\",\n color: flipped ? \"var(--paper)\" : \"var(--fg)\",\n padding: \"var(--s-6)\",\n fontSize: \"var(--t-lead)\",\n lineHeight: 1.6,\n cursor: \"pointer\",\n textAlign: \"center\",\n fontFamily: \"var(--font-sans)\",\n transition: \"background 250ms, color 250ms\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"var(--s-3)\",\n boxShadow: \"var(--shadow-soft)\"\n },\n \"aria-label\": flipped ? \"Answer — tap to see question\" : \"Question — tap to reveal answer\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n opacity: 0.65\n },\n children: flipped ? \"Answer\" : \"Question\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\FlashcardSet.tsx\",\n lineNumber: 77,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: flipped ? card.answer : card.question\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\FlashcardSet.tsx\",\n lineNumber: 88,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-small)\",\n opacity: 0.5,\n marginTop: \"var(--s-2)\"\n },\n children: \"Tap to flip\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\FlashcardSet.tsx\",\n lineNumber: 89,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\FlashcardSet.tsx\",\n lineNumber: 52,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n gap: \"var(--s-3)\",\n width: \"100%\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"secondary\",\n onClick: handlePrev,\n disabled: currentIdx === 0,\n style: {\n flex: 1\n },\n children: \"Previous\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\FlashcardSet.tsx\",\n lineNumber: 95,\n columnNumber: 9\n }, this),\n flipped ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"primary\",\n onClick: handleNext,\n style: {\n flex: 1\n },\n children: isLast ? \"Finish\" : \"Next\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\FlashcardSet.tsx\",\n lineNumber: 104,\n columnNumber: 11\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"ghost\",\n onClick: ()=>setFlipped(true),\n style: {\n flex: 1\n },\n children: \"Reveal\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\FlashcardSet.tsx\",\n lineNumber: 108,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\FlashcardSet.tsx\",\n lineNumber: 94,\n columnNumber: 7\n }, this),\n done && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"primary\",\n onClick: onComplete,\n style: {\n width: \"100%\"\n },\n children: \"All cards done — mark complete\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\FlashcardSet.tsx\",\n lineNumber: 115,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\FlashcardSet.tsx\",\n lineNumber: 47,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9taWNyby1sZWFybmluZ3MvRmxhc2hjYXJkU2V0LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQ3VDO0FBQ1E7QUFpQnhDLFNBQVNHLGFBQWEsRUFBRUMsT0FBTyxFQUFFQyxVQUFVLEVBQVM7SUFDekQsTUFBTSxDQUFDQyxZQUFZQyxjQUFjLEdBQUdOLCtDQUFRQSxDQUFDO0lBQzdDLE1BQU0sQ0FBQ08sU0FBU0MsV0FBVyxHQUFHUiwrQ0FBUUEsQ0FBQztJQUN2QyxNQUFNLENBQUNTLE1BQU1DLFFBQVEsR0FBR1YsK0NBQVFBLENBQUM7SUFFakMsTUFBTVcsT0FBT1IsUUFBUVMsS0FBSyxDQUFDUCxXQUFXO0lBQ3RDLE1BQU1RLFNBQVNSLGVBQWVGLFFBQVFTLEtBQUssQ0FBQ0UsTUFBTSxHQUFHO0lBRXJELFNBQVNDO1FBQ1AsSUFBSUYsUUFBUTtZQUNWSCxRQUFRO1FBQ1YsT0FBTztZQUNMSixjQUFjLENBQUNVLElBQU1BLElBQUk7WUFDekJSLFdBQVc7UUFDYjtJQUNGO0lBRUEsU0FBU1M7UUFDUCxJQUFJWixhQUFhLEdBQUc7WUFDbEJDLGNBQWMsQ0FBQ1UsSUFBTUEsSUFBSTtZQUN6QlIsV0FBVztRQUNiO0lBQ0Y7SUFFQSxJQUFJLENBQUNHLE1BQU0sT0FBTztJQUVsQixxQkFDRSw4REFBQ087UUFBSUMsT0FBTztZQUFFQyxTQUFTO1lBQVFDLGVBQWU7WUFBVUMsS0FBSztZQUFjQyxZQUFZO1FBQVM7OzBCQUM5Riw4REFBQ0w7Z0JBQUlDLE9BQU87b0JBQUVLLFVBQVU7b0JBQWtCQyxPQUFPO29CQUFtQkMsV0FBVztnQkFBVzs7b0JBQ3ZGckIsYUFBYTtvQkFBRTtvQkFBSUYsUUFBUVMsS0FBSyxDQUFDRSxNQUFNOzs7Ozs7OzBCQUcxQyw4REFBQ2E7Z0JBQ0NDLFNBQVMsSUFBTXBCLFdBQVcsQ0FBQ3FCLElBQU0sQ0FBQ0E7Z0JBQ2xDVixPQUFPO29CQUNMVyxPQUFPO29CQUNQQyxXQUFXO29CQUNYQyxjQUFjO29CQUNkQyxRQUFRO29CQUNSQyxZQUFZM0IsVUFBVSxtQkFBbUI7b0JBQ3pDa0IsT0FBT2xCLFVBQVUsaUJBQWlCO29CQUNsQzRCLFNBQVM7b0JBQ1RYLFVBQVU7b0JBQ1ZZLFlBQVk7b0JBQ1pDLFFBQVE7b0JBQ1JDLFdBQVc7b0JBQ1hDLFlBQVk7b0JBQ1pDLFlBQVk7b0JBQ1pwQixTQUFTO29CQUNUQyxlQUFlO29CQUNmRSxZQUFZO29CQUNaa0IsZ0JBQWdCO29CQUNoQm5CLEtBQUs7b0JBQ0xvQixXQUFXO2dCQUNiO2dCQUNBQyxjQUFZcEMsVUFBVSxpQ0FBaUM7O2tDQUV2RCw4REFBQ3FDO3dCQUNDekIsT0FBTzs0QkFDTEssVUFBVTs0QkFDVmUsWUFBWTs0QkFDWk0sZUFBZTs0QkFDZkMsZUFBZTs0QkFDZkMsU0FBUzt3QkFDWDtrQ0FFQ3hDLFVBQVUsV0FBVzs7Ozs7O2tDQUV4Qiw4REFBQ3FDO2tDQUFNckMsVUFBVUksS0FBS3FDLE1BQU0sR0FBR3JDLEtBQUtzQyxRQUFROzs7Ozs7a0NBQzVDLDhEQUFDTDt3QkFBS3pCLE9BQU87NEJBQUVLLFVBQVU7NEJBQWtCdUIsU0FBUzs0QkFBS0csV0FBVzt3QkFBYTtrQ0FBRzs7Ozs7Ozs7Ozs7OzBCQUt0Riw4REFBQ2hDO2dCQUFJQyxPQUFPO29CQUFFQyxTQUFTO29CQUFRRSxLQUFLO29CQUFjUSxPQUFPO2dCQUFPOztrQ0FDOUQsOERBQUM3Qix5REFBTUE7d0JBQ0xrRCxTQUFRO3dCQUNSdkIsU0FBU1g7d0JBQ1RtQyxVQUFVL0MsZUFBZTt3QkFDekJjLE9BQU87NEJBQUVrQyxNQUFNO3dCQUFFO2tDQUNsQjs7Ozs7O29CQUdBOUMsd0JBQ0MsOERBQUNOLHlEQUFNQTt3QkFBQ2tELFNBQVE7d0JBQVV2QixTQUFTYjt3QkFBWUksT0FBTzs0QkFBRWtDLE1BQU07d0JBQUU7a0NBQzdEeEMsU0FBUyxXQUFXOzs7Ozs2Q0FHdkIsOERBQUNaLHlEQUFNQTt3QkFBQ2tELFNBQVE7d0JBQVF2QixTQUFTLElBQU1wQixXQUFXO3dCQUFPVyxPQUFPOzRCQUFFa0MsTUFBTTt3QkFBRTtrQ0FBRzs7Ozs7Ozs7Ozs7O1lBTWhGNUMsc0JBQ0MsOERBQUNSLHlEQUFNQTtnQkFBQ2tELFNBQVE7Z0JBQVV2QixTQUFTeEI7Z0JBQVllLE9BQU87b0JBQUVXLE9BQU87Z0JBQU87MEJBQUc7Ozs7Ozs7Ozs7OztBQU1qRiIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2NvbXBvbmVudHMvbWljcm8tbGVhcm5pbmdzL0ZsYXNoY2FyZFNldC50c3g/MTJkMSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL0J1dHRvbidcblxuaW50ZXJmYWNlIEZsYXNoY2FyZCB7XG4gIHF1ZXN0aW9uOiBzdHJpbmdcbiAgYW5zd2VyOiBzdHJpbmdcbn1cblxuaW50ZXJmYWNlIEZsYXNoY2FyZFNldENvbnRlbnQge1xuICB0eXBlOiAnZmxhc2hjYXJkX3NldCdcbiAgY2FyZHM6IEZsYXNoY2FyZFtdXG59XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGNvbnRlbnQ6IEZsYXNoY2FyZFNldENvbnRlbnRcbiAgb25Db21wbGV0ZTogKCkgPT4gdm9pZFxufVxuXG5leHBvcnQgZnVuY3Rpb24gRmxhc2hjYXJkU2V0KHsgY29udGVudCwgb25Db21wbGV0ZSB9OiBQcm9wcykge1xuICBjb25zdCBbY3VycmVudElkeCwgc2V0Q3VycmVudElkeF0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCBbZmxpcHBlZCwgc2V0RmxpcHBlZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2RvbmUsIHNldERvbmVdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgY2FyZCA9IGNvbnRlbnQuY2FyZHNbY3VycmVudElkeF1cbiAgY29uc3QgaXNMYXN0ID0gY3VycmVudElkeCA9PT0gY29udGVudC5jYXJkcy5sZW5ndGggLSAxXG5cbiAgZnVuY3Rpb24gaGFuZGxlTmV4dCgpIHtcbiAgICBpZiAoaXNMYXN0KSB7XG4gICAgICBzZXREb25lKHRydWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEN1cnJlbnRJZHgoKGkpID0+IGkgKyAxKVxuICAgICAgc2V0RmxpcHBlZChmYWxzZSlcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVQcmV2KCkge1xuICAgIGlmIChjdXJyZW50SWR4ID4gMCkge1xuICAgICAgc2V0Q3VycmVudElkeCgoaSkgPT4gaSAtIDEpXG4gICAgICBzZXRGbGlwcGVkKGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGlmICghY2FyZCkgcmV0dXJuIG51bGxcblxuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAndmFyKC0tcy00KScsIGFsaWduSXRlbXM6ICdjZW50ZXInIH19PlxuICAgICAgPGRpdiBzdHlsZT17eyBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJywgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknLCBhbGlnblNlbGY6ICdmbGV4LWVuZCcgfX0+XG4gICAgICAgIHtjdXJyZW50SWR4ICsgMX0gLyB7Y29udGVudC5jYXJkcy5sZW5ndGh9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGJ1dHRvblxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRGbGlwcGVkKChmKSA9PiAhZil9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICBtaW5IZWlnaHQ6ICcyMDBweCcsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1sZyknLFxuICAgICAgICAgIGJvcmRlcjogJzEuNXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gICAgICAgICAgYmFja2dyb3VuZDogZmxpcHBlZCA/ICd2YXIoLS1iZy1kYXJrKScgOiAndmFyKC0tYmcpJyxcbiAgICAgICAgICBjb2xvcjogZmxpcHBlZCA/ICd2YXIoLS1wYXBlciknIDogJ3ZhcigtLWZnKScsXG4gICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtNiknLFxuICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1sZWFkKScsXG4gICAgICAgICAgbGluZUhlaWdodDogMS42LFxuICAgICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgICAgICAgZm9udEZhbWlseTogJ3ZhcigtLWZvbnQtc2FucyknLFxuICAgICAgICAgIHRyYW5zaXRpb246ICdiYWNrZ3JvdW5kIDI1MG1zLCBjb2xvciAyNTBtcycsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICBnYXA6ICd2YXIoLS1zLTMpJyxcbiAgICAgICAgICBib3hTaGFkb3c6ICd2YXIoLS1zaGFkb3ctc29mdCknLFxuICAgICAgICB9fVxuICAgICAgICBhcmlhLWxhYmVsPXtmbGlwcGVkID8gJ0Fuc3dlciDigJQgdGFwIHRvIHNlZSBxdWVzdGlvbicgOiAnUXVlc3Rpb24g4oCUIHRhcCB0byByZXZlYWwgYW5zd2VyJ31cbiAgICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWxhYmVsKScsXG4gICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vKScsXG4gICAgICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcbiAgICAgICAgICAgIGxldHRlclNwYWNpbmc6ICd2YXIoLS1sYWJlbC1scyknLFxuICAgICAgICAgICAgb3BhY2l0eTogMC42NSxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge2ZsaXBwZWQgPyAnQW5zd2VyJyA6ICdRdWVzdGlvbid9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e2ZsaXBwZWQgPyBjYXJkLmFuc3dlciA6IGNhcmQucXVlc3Rpb259PC9zcGFuPlxuICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJywgb3BhY2l0eTogMC41LCBtYXJnaW5Ub3A6ICd2YXIoLS1zLTIpJyB9fT5cbiAgICAgICAgICBUYXAgdG8gZmxpcFxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGdhcDogJ3ZhcigtLXMtMyknLCB3aWR0aDogJzEwMCUnIH19PlxuICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgb25DbGljaz17aGFuZGxlUHJldn1cbiAgICAgICAgICBkaXNhYmxlZD17Y3VycmVudElkeCA9PT0gMH1cbiAgICAgICAgICBzdHlsZT17eyBmbGV4OiAxIH19XG4gICAgICAgID5cbiAgICAgICAgICBQcmV2aW91c1xuICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAge2ZsaXBwZWQgPyAoXG4gICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwicHJpbWFyeVwiIG9uQ2xpY2s9e2hhbmRsZU5leHR9IHN0eWxlPXt7IGZsZXg6IDEgfX0+XG4gICAgICAgICAgICB7aXNMYXN0ID8gJ0ZpbmlzaCcgOiAnTmV4dCd9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwiZ2hvc3RcIiBvbkNsaWNrPXsoKSA9PiBzZXRGbGlwcGVkKHRydWUpfSBzdHlsZT17eyBmbGV4OiAxIH19PlxuICAgICAgICAgICAgUmV2ZWFsXG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cblxuICAgICAge2RvbmUgJiYgKFxuICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJwcmltYXJ5XCIgb25DbGljaz17b25Db21wbGV0ZX0gc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fT5cbiAgICAgICAgICBBbGwgY2FyZHMgZG9uZSDigJQgbWFyayBjb21wbGV0ZVxuICAgICAgICA8L0J1dHRvbj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwiQnV0dG9uIiwiRmxhc2hjYXJkU2V0IiwiY29udGVudCIsIm9uQ29tcGxldGUiLCJjdXJyZW50SWR4Iiwic2V0Q3VycmVudElkeCIsImZsaXBwZWQiLCJzZXRGbGlwcGVkIiwiZG9uZSIsInNldERvbmUiLCJjYXJkIiwiY2FyZHMiLCJpc0xhc3QiLCJsZW5ndGgiLCJoYW5kbGVOZXh0IiwiaSIsImhhbmRsZVByZXYiLCJkaXYiLCJzdHlsZSIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiZ2FwIiwiYWxpZ25JdGVtcyIsImZvbnRTaXplIiwiY29sb3IiLCJhbGlnblNlbGYiLCJidXR0b24iLCJvbkNsaWNrIiwiZiIsIndpZHRoIiwibWluSGVpZ2h0IiwiYm9yZGVyUmFkaXVzIiwiYm9yZGVyIiwiYmFja2dyb3VuZCIsInBhZGRpbmciLCJsaW5lSGVpZ2h0IiwiY3Vyc29yIiwidGV4dEFsaWduIiwiZm9udEZhbWlseSIsInRyYW5zaXRpb24iLCJqdXN0aWZ5Q29udGVudCIsImJveFNoYWRvdyIsImFyaWEtbGFiZWwiLCJzcGFuIiwidGV4dFRyYW5zZm9ybSIsImxldHRlclNwYWNpbmciLCJvcGFjaXR5IiwiYW5zd2VyIiwicXVlc3Rpb24iLCJtYXJnaW5Ub3AiLCJ2YXJpYW50IiwiZGlzYWJsZWQiLCJmbGV4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/micro-learnings/FlashcardSet.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/micro-learnings/GlossaryAnchor.tsx": +/*!***********************************************************!*\ + !*** ./src/components/micro-learnings/GlossaryAnchor.tsx ***! + \***********************************************************/ +/***/ ((__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 */ GlossaryAnchor: () => (/* binding */ GlossaryAnchor)\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 _components_ui_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ GlossaryAnchor auto */ \n\n\nfunction GlossaryAnchor({ content, onComplete }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"var(--bg-dark)\",\n color: \"var(--paper)\",\n borderRadius: \"var(--r-lg)\",\n padding: \"var(--s-5)\",\n textAlign: \"center\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: \"0 0 var(--s-2)\",\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n opacity: 0.65\n },\n children: \"Term\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\GlossaryAnchor.tsx\",\n lineNumber: 30,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n style: {\n margin: \"0 0 var(--s-4)\",\n fontSize: \"var(--t-h3)\",\n fontWeight: 700,\n fontFamily: \"var(--font-sans)\"\n },\n children: content.term\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\GlossaryAnchor.tsx\",\n lineNumber: 42,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-body)\",\n lineHeight: 1.65,\n opacity: 0.9\n },\n children: content.definition\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\GlossaryAnchor.tsx\",\n lineNumber: 52,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\GlossaryAnchor.tsx\",\n lineNumber: 21,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-3)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Section, {\n label: \"Correct use\",\n text: content.correct_use,\n borderColor: \"var(--success)\",\n labelColor: \"var(--teal-700)\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\GlossaryAnchor.tsx\",\n lineNumber: 58,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Section, {\n label: \"Common misuse\",\n text: content.misuse,\n borderColor: \"#f5c6cb\",\n labelColor: \"#c0392b\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\GlossaryAnchor.tsx\",\n lineNumber: 64,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\GlossaryAnchor.tsx\",\n lineNumber: 57,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"primary\",\n onClick: onComplete,\n style: {\n alignSelf: \"flex-end\"\n },\n children: \"Got it\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\GlossaryAnchor.tsx\",\n lineNumber: 72,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\GlossaryAnchor.tsx\",\n lineNumber: 20,\n columnNumber: 5\n }, this);\n}\nfunction Section({ label, text, borderColor, labelColor }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n borderLeft: `4px solid ${borderColor}`,\n background: \"var(--bg-warm)\",\n borderRadius: \"var(--r-sm)\",\n padding: \"var(--s-4)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: \"0 0 var(--s-2)\",\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n color: labelColor\n },\n children: label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\GlossaryAnchor.tsx\",\n lineNumber: 99,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-body)\",\n lineHeight: 1.6,\n color: \"var(--fg)\"\n },\n children: text\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\GlossaryAnchor.tsx\",\n lineNumber: 111,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\GlossaryAnchor.tsx\",\n lineNumber: 91,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9taWNyby1sZWFybmluZ3MvR2xvc3NhcnlBbmNob3IudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFDeUI7QUFDc0I7QUFleEMsU0FBU0UsZUFBZSxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBUztJQUMzRCxxQkFDRSw4REFBQ0M7UUFBSUMsT0FBTztZQUFFQyxTQUFTO1lBQVFDLGVBQWU7WUFBVUMsS0FBSztRQUFhOzswQkFDeEUsOERBQUNKO2dCQUNDQyxPQUFPO29CQUNMSSxZQUFZO29CQUNaQyxPQUFPO29CQUNQQyxjQUFjO29CQUNkQyxTQUFTO29CQUNUQyxXQUFXO2dCQUNiOztrQ0FFQSw4REFBQ0M7d0JBQ0NULE9BQU87NEJBQ0xVLFFBQVE7NEJBQ1JDLFVBQVU7NEJBQ1ZDLFlBQVk7NEJBQ1pDLGVBQWU7NEJBQ2ZDLGVBQWU7NEJBQ2ZDLFNBQVM7d0JBQ1g7a0NBQ0Q7Ozs7OztrQ0FHRCw4REFBQ0M7d0JBQ0NoQixPQUFPOzRCQUNMVSxRQUFROzRCQUNSQyxVQUFVOzRCQUNWTSxZQUFZOzRCQUNaTCxZQUFZO3dCQUNkO2tDQUVDZixRQUFRcUIsSUFBSTs7Ozs7O2tDQUVmLDhEQUFDVDt3QkFBRVQsT0FBTzs0QkFBRVUsUUFBUTs0QkFBR0MsVUFBVTs0QkFBaUJRLFlBQVk7NEJBQU1KLFNBQVM7d0JBQUk7a0NBQzlFbEIsUUFBUXVCLFVBQVU7Ozs7Ozs7Ozs7OzswQkFJdkIsOERBQUNyQjtnQkFBSUMsT0FBTztvQkFBRUMsU0FBUztvQkFBUUMsZUFBZTtvQkFBVUMsS0FBSztnQkFBYTs7a0NBQ3hFLDhEQUFDa0I7d0JBQ0NDLE9BQU07d0JBQ05DLE1BQU0xQixRQUFRMkIsV0FBVzt3QkFDekJDLGFBQVk7d0JBQ1pDLFlBQVc7Ozs7OztrQ0FFYiw4REFBQ0w7d0JBQ0NDLE9BQU07d0JBQ05DLE1BQU0xQixRQUFROEIsTUFBTTt3QkFDcEJGLGFBQVk7d0JBQ1pDLFlBQVc7Ozs7Ozs7Ozs7OzswQkFJZiw4REFBQy9CLHlEQUFNQTtnQkFBQ2lDLFNBQVE7Z0JBQVVDLFNBQVMvQjtnQkFBWUUsT0FBTztvQkFBRThCLFdBQVc7Z0JBQVc7MEJBQUc7Ozs7Ozs7Ozs7OztBQUt2RjtBQUVBLFNBQVNULFFBQVEsRUFDZkMsS0FBSyxFQUNMQyxJQUFJLEVBQ0pFLFdBQVcsRUFDWEMsVUFBVSxFQU1YO0lBQ0MscUJBQ0UsOERBQUMzQjtRQUNDQyxPQUFPO1lBQ0wrQixZQUFZLENBQUMsVUFBVSxFQUFFTixZQUFZLENBQUM7WUFDdENyQixZQUFZO1lBQ1pFLGNBQWM7WUFDZEMsU0FBUztRQUNYOzswQkFFQSw4REFBQ0U7Z0JBQ0NULE9BQU87b0JBQ0xVLFFBQVE7b0JBQ1JDLFVBQVU7b0JBQ1ZDLFlBQVk7b0JBQ1pDLGVBQWU7b0JBQ2ZDLGVBQWU7b0JBQ2ZULE9BQU9xQjtnQkFDVDswQkFFQ0o7Ozs7OzswQkFFSCw4REFBQ2I7Z0JBQUVULE9BQU87b0JBQUVVLFFBQVE7b0JBQUdDLFVBQVU7b0JBQWlCUSxZQUFZO29CQUFLZCxPQUFPO2dCQUFZOzBCQUNuRmtCOzs7Ozs7Ozs7Ozs7QUFJVCIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2NvbXBvbmVudHMvbWljcm8tbGVhcm5pbmdzL0dsb3NzYXJ5QW5jaG9yLnRzeD8xYTgwIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL0J1dHRvbidcblxuaW50ZXJmYWNlIEdsb3NzYXJ5QW5jaG9yQ29udGVudCB7XG4gIHR5cGU6ICdnbG9zc2FyeV9hbmNob3InXG4gIHRlcm06IHN0cmluZ1xuICBkZWZpbml0aW9uOiBzdHJpbmdcbiAgY29ycmVjdF91c2U6IHN0cmluZ1xuICBtaXN1c2U6IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBjb250ZW50OiBHbG9zc2FyeUFuY2hvckNvbnRlbnRcbiAgb25Db21wbGV0ZTogKCkgPT4gdm9pZFxufVxuXG5leHBvcnQgZnVuY3Rpb24gR2xvc3NhcnlBbmNob3IoeyBjb250ZW50LCBvbkNvbXBsZXRlIH06IFByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBnYXA6ICd2YXIoLS1zLTQpJyB9fT5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctZGFyayknLFxuICAgICAgICAgIGNvbG9yOiAndmFyKC0tcGFwZXIpJyxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLWxnKScsXG4gICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtNSknLFxuICAgICAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxwXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIG1hcmdpbjogJzAgMCB2YXIoLS1zLTIpJyxcbiAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1sYWJlbCknLFxuICAgICAgICAgICAgZm9udEZhbWlseTogJ3ZhcigtLWZvbnQtbW9ubyknLFxuICAgICAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsXG4gICAgICAgICAgICBsZXR0ZXJTcGFjaW5nOiAndmFyKC0tbGFiZWwtbHMpJyxcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjUsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIFRlcm1cbiAgICAgICAgPC9wPlxuICAgICAgICA8aDJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgbWFyZ2luOiAnMCAwIHZhcigtLXMtNCknLFxuICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWgzKScsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiA3MDAsXG4gICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1zYW5zKScsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtjb250ZW50LnRlcm19XG4gICAgICAgIDwvaDI+XG4gICAgICAgIDxwIHN0eWxlPXt7IG1hcmdpbjogMCwgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJywgbGluZUhlaWdodDogMS42NSwgb3BhY2l0eTogMC45IH19PlxuICAgICAgICAgIHtjb250ZW50LmRlZmluaXRpb259XG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogJ3ZhcigtLXMtMyknIH19PlxuICAgICAgICA8U2VjdGlvblxuICAgICAgICAgIGxhYmVsPVwiQ29ycmVjdCB1c2VcIlxuICAgICAgICAgIHRleHQ9e2NvbnRlbnQuY29ycmVjdF91c2V9XG4gICAgICAgICAgYm9yZGVyQ29sb3I9XCJ2YXIoLS1zdWNjZXNzKVwiXG4gICAgICAgICAgbGFiZWxDb2xvcj1cInZhcigtLXRlYWwtNzAwKVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxTZWN0aW9uXG4gICAgICAgICAgbGFiZWw9XCJDb21tb24gbWlzdXNlXCJcbiAgICAgICAgICB0ZXh0PXtjb250ZW50Lm1pc3VzZX1cbiAgICAgICAgICBib3JkZXJDb2xvcj1cIiNmNWM2Y2JcIlxuICAgICAgICAgIGxhYmVsQ29sb3I9XCIjYzAzOTJiXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJwcmltYXJ5XCIgb25DbGljaz17b25Db21wbGV0ZX0gc3R5bGU9e3sgYWxpZ25TZWxmOiAnZmxleC1lbmQnIH19PlxuICAgICAgICBHb3QgaXRcbiAgICAgIDwvQnV0dG9uPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmZ1bmN0aW9uIFNlY3Rpb24oe1xuICBsYWJlbCxcbiAgdGV4dCxcbiAgYm9yZGVyQ29sb3IsXG4gIGxhYmVsQ29sb3IsXG59OiB7XG4gIGxhYmVsOiBzdHJpbmdcbiAgdGV4dDogc3RyaW5nXG4gIGJvcmRlckNvbG9yOiBzdHJpbmdcbiAgbGFiZWxDb2xvcjogc3RyaW5nXG59KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYm9yZGVyTGVmdDogYDRweCBzb2xpZCAke2JvcmRlckNvbG9yfWAsXG4gICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZy13YXJtKScsXG4gICAgICAgIGJvcmRlclJhZGl1czogJ3ZhcigtLXItc20pJyxcbiAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtNCknLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8cFxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIG1hcmdpbjogJzAgMCB2YXIoLS1zLTIpJyxcbiAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtbGFiZWwpJyxcbiAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vKScsXG4gICAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsXG4gICAgICAgICAgbGV0dGVyU3BhY2luZzogJ3ZhcigtLWxhYmVsLWxzKScsXG4gICAgICAgICAgY29sb3I6IGxhYmVsQ29sb3IsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtsYWJlbH1cbiAgICAgIDwvcD5cbiAgICAgIDxwIHN0eWxlPXt7IG1hcmdpbjogMCwgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJywgbGluZUhlaWdodDogMS42LCBjb2xvcjogJ3ZhcigtLWZnKScgfX0+XG4gICAgICAgIHt0ZXh0fVxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJCdXR0b24iLCJHbG9zc2FyeUFuY2hvciIsImNvbnRlbnQiLCJvbkNvbXBsZXRlIiwiZGl2Iiwic3R5bGUiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImdhcCIsImJhY2tncm91bmQiLCJjb2xvciIsImJvcmRlclJhZGl1cyIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJwIiwibWFyZ2luIiwiZm9udFNpemUiLCJmb250RmFtaWx5IiwidGV4dFRyYW5zZm9ybSIsImxldHRlclNwYWNpbmciLCJvcGFjaXR5IiwiaDIiLCJmb250V2VpZ2h0IiwidGVybSIsImxpbmVIZWlnaHQiLCJkZWZpbml0aW9uIiwiU2VjdGlvbiIsImxhYmVsIiwidGV4dCIsImNvcnJlY3RfdXNlIiwiYm9yZGVyQ29sb3IiLCJsYWJlbENvbG9yIiwibWlzdXNlIiwidmFyaWFudCIsIm9uQ2xpY2siLCJhbGlnblNlbGYiLCJib3JkZXJMZWZ0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/micro-learnings/GlossaryAnchor.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/micro-learnings/HowTo.tsx": +/*!**************************************************!*\ + !*** ./src/components/micro-learnings/HowTo.tsx ***! + \**************************************************/ +/***/ ((__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 */ HowTo: () => (/* binding */ HowTo)\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 _components_ui_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ HowTo auto */ \n\n\nfunction HowTo({ content, onComplete }) {\n const [checked, setChecked] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(new Set());\n const allDone = checked.size === content.steps.length;\n function toggle(num) {\n setChecked((prev)=>{\n const next = new Set(prev);\n if (next.has(num)) {\n next.delete(num);\n } else {\n next.add(num);\n }\n return next;\n });\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ol\", {\n style: {\n margin: 0,\n padding: 0,\n listStyle: \"none\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-2)\"\n },\n children: content.steps.map((step)=>{\n const done = checked.has(step.number);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>toggle(step.number),\n style: {\n width: \"100%\",\n background: done ? \"var(--bg-warm)\" : \"var(--bg)\",\n border: \"1.5px solid var(--cream)\",\n borderRadius: \"var(--r-sm)\",\n padding: \"var(--s-3) var(--s-4)\",\n textAlign: \"left\",\n fontSize: \"var(--t-body)\",\n color: done ? \"var(--fg-muted)\" : \"var(--fg)\",\n fontFamily: \"var(--font-sans)\",\n cursor: \"pointer\",\n minHeight: \"44px\",\n display: \"flex\",\n gap: \"var(--s-3)\",\n alignItems: \"flex-start\",\n transition: \"background 150ms\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n width: \"28px\",\n height: \"28px\",\n borderRadius: \"50%\",\n background: done ? \"var(--success)\" : \"var(--cream)\",\n color: done ? \"var(--teal-900)\" : \"var(--fg-muted)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n fontSize: \"var(--t-small)\",\n fontWeight: 700,\n flexShrink: 0\n },\n children: done ? \"✓\" : step.number\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\HowTo.tsx\",\n lineNumber: 63,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n textDecoration: done ? \"line-through\" : \"none\",\n lineHeight: 1.6\n },\n children: step.instruction\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\HowTo.tsx\",\n lineNumber: 80,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\HowTo.tsx\",\n lineNumber: 43,\n columnNumber: 15\n }, this)\n }, step.number, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\HowTo.tsx\",\n lineNumber: 42,\n columnNumber: 13\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\HowTo.tsx\",\n lineNumber: 38,\n columnNumber: 7\n }, this),\n allDone && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"primary\",\n onClick: onComplete,\n style: {\n alignSelf: \"flex-end\"\n },\n children: \"All done — continue\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\HowTo.tsx\",\n lineNumber: 90,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\HowTo.tsx\",\n lineNumber: 37,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9taWNyby1sZWFybmluZ3MvSG93VG8udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFDdUM7QUFDUTtBQWlCeEMsU0FBU0csTUFBTSxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBUztJQUNsRCxNQUFNLENBQUNDLFNBQVNDLFdBQVcsR0FBR04sK0NBQVFBLENBQWMsSUFBSU87SUFDeEQsTUFBTUMsVUFBVUgsUUFBUUksSUFBSSxLQUFLTixRQUFRTyxLQUFLLENBQUNDLE1BQU07SUFFckQsU0FBU0MsT0FBT0MsR0FBVztRQUN6QlAsV0FBVyxDQUFDUTtZQUNWLE1BQU1DLE9BQU8sSUFBSVIsSUFBSU87WUFDckIsSUFBSUMsS0FBS0MsR0FBRyxDQUFDSCxNQUFNO2dCQUNqQkUsS0FBS0UsTUFBTSxDQUFDSjtZQUNkLE9BQU87Z0JBQ0xFLEtBQUtHLEdBQUcsQ0FBQ0w7WUFDWDtZQUNBLE9BQU9FO1FBQ1Q7SUFDRjtJQUVBLHFCQUNFLDhEQUFDSTtRQUFJQyxPQUFPO1lBQUVDLFNBQVM7WUFBUUMsZUFBZTtZQUFVQyxLQUFLO1FBQWE7OzBCQUN4RSw4REFBQ0M7Z0JBQUdKLE9BQU87b0JBQUVLLFFBQVE7b0JBQUdDLFNBQVM7b0JBQUdDLFdBQVc7b0JBQVFOLFNBQVM7b0JBQVFDLGVBQWU7b0JBQVVDLEtBQUs7Z0JBQWE7MEJBQ2hIcEIsUUFBUU8sS0FBSyxDQUFDa0IsR0FBRyxDQUFDLENBQUNDO29CQUNsQixNQUFNQyxPQUFPekIsUUFBUVcsR0FBRyxDQUFDYSxLQUFLRSxNQUFNO29CQUNwQyxxQkFDRSw4REFBQ0M7a0NBQ0MsNEVBQUNDOzRCQUNDQyxTQUFTLElBQU10QixPQUFPaUIsS0FBS0UsTUFBTTs0QkFDakNYLE9BQU87Z0NBQ0xlLE9BQU87Z0NBQ1BDLFlBQVlOLE9BQU8sbUJBQW1CO2dDQUN0Q08sUUFBUTtnQ0FDUkMsY0FBYztnQ0FDZFosU0FBUztnQ0FDVGEsV0FBVztnQ0FDWEMsVUFBVTtnQ0FDVkMsT0FBT1gsT0FBTyxvQkFBb0I7Z0NBQ2xDWSxZQUFZO2dDQUNaQyxRQUFRO2dDQUNSQyxXQUFXO2dDQUNYdkIsU0FBUztnQ0FDVEUsS0FBSztnQ0FDTHNCLFlBQVk7Z0NBQ1pDLFlBQVk7NEJBQ2Q7OzhDQUVBLDhEQUFDQztvQ0FDQzNCLE9BQU87d0NBQ0xlLE9BQU87d0NBQ1BhLFFBQVE7d0NBQ1JWLGNBQWM7d0NBQ2RGLFlBQVlOLE9BQU8sbUJBQW1CO3dDQUN0Q1csT0FBT1gsT0FBTyxvQkFBb0I7d0NBQ2xDVCxTQUFTO3dDQUNUd0IsWUFBWTt3Q0FDWkksZ0JBQWdCO3dDQUNoQlQsVUFBVTt3Q0FDVlUsWUFBWTt3Q0FDWkMsWUFBWTtvQ0FDZDs4Q0FFQ3JCLE9BQU8sTUFBTUQsS0FBS0UsTUFBTTs7Ozs7OzhDQUUzQiw4REFBQ2dCO29DQUFLM0IsT0FBTzt3Q0FBRWdDLGdCQUFnQnRCLE9BQU8saUJBQWlCO3dDQUFRdUIsWUFBWTtvQ0FBSTs4Q0FDNUV4QixLQUFLeUIsV0FBVzs7Ozs7Ozs7Ozs7O3VCQXZDZHpCLEtBQUtFLE1BQU07Ozs7O2dCQTRDeEI7Ozs7OztZQUdEdkIseUJBQ0MsOERBQUNQLHlEQUFNQTtnQkFBQ3NELFNBQVE7Z0JBQVVyQixTQUFTOUI7Z0JBQVlnQixPQUFPO29CQUFFb0MsV0FBVztnQkFBVzswQkFBRzs7Ozs7Ozs7Ozs7O0FBTXpGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy9taWNyby1sZWFybmluZ3MvSG93VG8udHN4PzVlNzEiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy91aS9CdXR0b24nXG5cbmludGVyZmFjZSBIb3dUb1N0ZXAge1xuICBudW1iZXI6IG51bWJlclxuICBpbnN0cnVjdGlvbjogc3RyaW5nXG59XG5cbmludGVyZmFjZSBIb3dUb0NvbnRlbnQge1xuICB0eXBlOiAnaG93X3RvJ1xuICBzdGVwczogSG93VG9TdGVwW11cbn1cblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgY29udGVudDogSG93VG9Db250ZW50XG4gIG9uQ29tcGxldGU6ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEhvd1RvKHsgY29udGVudCwgb25Db21wbGV0ZSB9OiBQcm9wcykge1xuICBjb25zdCBbY2hlY2tlZCwgc2V0Q2hlY2tlZF0gPSB1c2VTdGF0ZTxTZXQ8bnVtYmVyPj4obmV3IFNldCgpKVxuICBjb25zdCBhbGxEb25lID0gY2hlY2tlZC5zaXplID09PSBjb250ZW50LnN0ZXBzLmxlbmd0aFxuXG4gIGZ1bmN0aW9uIHRvZ2dsZShudW06IG51bWJlcikge1xuICAgIHNldENoZWNrZWQoKHByZXYpID0+IHtcbiAgICAgIGNvbnN0IG5leHQgPSBuZXcgU2V0KHByZXYpXG4gICAgICBpZiAobmV4dC5oYXMobnVtKSkge1xuICAgICAgICBuZXh0LmRlbGV0ZShudW0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXh0LmFkZChudW0pXG4gICAgICB9XG4gICAgICByZXR1cm4gbmV4dFxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAndmFyKC0tcy00KScgfX0+XG4gICAgICA8b2wgc3R5bGU9e3sgbWFyZ2luOiAwLCBwYWRkaW5nOiAwLCBsaXN0U3R5bGU6ICdub25lJywgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAndmFyKC0tcy0yKScgfX0+XG4gICAgICAgIHtjb250ZW50LnN0ZXBzLm1hcCgoc3RlcCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRvbmUgPSBjaGVja2VkLmhhcyhzdGVwLm51bWJlcilcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGxpIGtleT17c3RlcC5udW1iZXJ9PlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdG9nZ2xlKHN0ZXAubnVtYmVyKX1cbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGRvbmUgPyAndmFyKC0tYmctd2FybSknIDogJ3ZhcigtLWJnKScsXG4gICAgICAgICAgICAgICAgICBib3JkZXI6ICcxLjVweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1zbSknLFxuICAgICAgICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtMykgdmFyKC0tcy00KScsXG4gICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICdsZWZ0JyxcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogZG9uZSA/ICd2YXIoLS1mZy1tdXRlZCknIDogJ3ZhcigtLWZnKScsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1zYW5zKScsXG4gICAgICAgICAgICAgICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgICAgICAgICAgICAgIG1pbkhlaWdodDogJzQ0cHgnLFxuICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgZ2FwOiAndmFyKC0tcy0zKScsXG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnZmxleC1zdGFydCcsXG4gICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAnYmFja2dyb3VuZCAxNTBtcycsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzI4cHgnLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICcyOHB4JyxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNTAlJyxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZG9uZSA/ICd2YXIoLS1zdWNjZXNzKScgOiAndmFyKC0tY3JlYW0pJyxcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRvbmUgPyAndmFyKC0tdGVhbC05MDApJyA6ICd2YXIoLS1mZy1tdXRlZCknLFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1zbWFsbCknLFxuICAgICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiA3MDAsXG4gICAgICAgICAgICAgICAgICAgIGZsZXhTaHJpbms6IDAsXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtkb25lID8gJ+KckycgOiBzdGVwLm51bWJlcn1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgdGV4dERlY29yYXRpb246IGRvbmUgPyAnbGluZS10aHJvdWdoJyA6ICdub25lJywgbGluZUhlaWdodDogMS42IH19PlxuICAgICAgICAgICAgICAgICAge3N0ZXAuaW5zdHJ1Y3Rpb259XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgKVxuICAgICAgICB9KX1cbiAgICAgIDwvb2w+XG5cbiAgICAgIHthbGxEb25lICYmIChcbiAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwicHJpbWFyeVwiIG9uQ2xpY2s9e29uQ29tcGxldGV9IHN0eWxlPXt7IGFsaWduU2VsZjogJ2ZsZXgtZW5kJyB9fT5cbiAgICAgICAgICBBbGwgZG9uZSDigJQgY29udGludWVcbiAgICAgICAgPC9CdXR0b24+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsIkJ1dHRvbiIsIkhvd1RvIiwiY29udGVudCIsIm9uQ29tcGxldGUiLCJjaGVja2VkIiwic2V0Q2hlY2tlZCIsIlNldCIsImFsbERvbmUiLCJzaXplIiwic3RlcHMiLCJsZW5ndGgiLCJ0b2dnbGUiLCJudW0iLCJwcmV2IiwibmV4dCIsImhhcyIsImRlbGV0ZSIsImFkZCIsImRpdiIsInN0eWxlIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJvbCIsIm1hcmdpbiIsInBhZGRpbmciLCJsaXN0U3R5bGUiLCJtYXAiLCJzdGVwIiwiZG9uZSIsIm51bWJlciIsImxpIiwiYnV0dG9uIiwib25DbGljayIsIndpZHRoIiwiYmFja2dyb3VuZCIsImJvcmRlciIsImJvcmRlclJhZGl1cyIsInRleHRBbGlnbiIsImZvbnRTaXplIiwiY29sb3IiLCJmb250RmFtaWx5IiwiY3Vyc29yIiwibWluSGVpZ2h0IiwiYWxpZ25JdGVtcyIsInRyYW5zaXRpb24iLCJzcGFuIiwiaGVpZ2h0IiwianVzdGlmeUNvbnRlbnQiLCJmb250V2VpZ2h0IiwiZmxleFNocmluayIsInRleHREZWNvcmF0aW9uIiwibGluZUhlaWdodCIsImluc3RydWN0aW9uIiwidmFyaWFudCIsImFsaWduU2VsZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/micro-learnings/HowTo.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/micro-learnings/MicroLearningRenderer.tsx": +/*!******************************************************************!*\ + !*** ./src/components/micro-learnings/MicroLearningRenderer.tsx ***! + \******************************************************************/ +/***/ ((__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 */ MicroLearningRenderer: () => (/* binding */ MicroLearningRenderer)\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 _ConceptExplainer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ConceptExplainer */ \"(ssr)/./src/components/micro-learnings/ConceptExplainer.tsx\");\n/* harmony import */ var _ScenarioQuiz__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ScenarioQuiz */ \"(ssr)/./src/components/micro-learnings/ScenarioQuiz.tsx\");\n/* harmony import */ var _Misconceptions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Misconceptions */ \"(ssr)/./src/components/micro-learnings/Misconceptions.tsx\");\n/* harmony import */ var _HowTo__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./HowTo */ \"(ssr)/./src/components/micro-learnings/HowTo.tsx\");\n/* harmony import */ var _ComparisonCard__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ComparisonCard */ \"(ssr)/./src/components/micro-learnings/ComparisonCard.tsx\");\n/* harmony import */ var _ReflectionPrompt__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ReflectionPrompt */ \"(ssr)/./src/components/micro-learnings/ReflectionPrompt.tsx\");\n/* harmony import */ var _FlashcardSet__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./FlashcardSet */ \"(ssr)/./src/components/micro-learnings/FlashcardSet.tsx\");\n/* harmony import */ var _CaseStudy__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./CaseStudy */ \"(ssr)/./src/components/micro-learnings/CaseStudy.tsx\");\n/* harmony import */ var _GlossaryAnchor__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./GlossaryAnchor */ \"(ssr)/./src/components/micro-learnings/GlossaryAnchor.tsx\");\n/* harmony import */ var _MythVsEvidence__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./MythVsEvidence */ \"(ssr)/./src/components/micro-learnings/MythVsEvidence.tsx\");\n/* __next_internal_client_entry_do_not_use__ MicroLearningRenderer auto */ \n\n\n\n\n\n\n\n\n\n\n\nfunction MicroLearningRenderer({ content, onComplete }) {\n switch(content.type){\n case \"concept_explainer\":\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ConceptExplainer__WEBPACK_IMPORTED_MODULE_2__.ConceptExplainer, {\n content: content,\n onComplete: onComplete\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MicroLearningRenderer.tsx\",\n lineNumber: 23,\n columnNumber: 14\n }, this);\n case \"scenario_quiz\":\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ScenarioQuiz__WEBPACK_IMPORTED_MODULE_3__.ScenarioQuiz, {\n content: content,\n onComplete: onComplete\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MicroLearningRenderer.tsx\",\n lineNumber: 25,\n columnNumber: 14\n }, this);\n case \"misconceptions\":\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Misconceptions__WEBPACK_IMPORTED_MODULE_4__.Misconceptions, {\n content: content,\n onComplete: onComplete\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MicroLearningRenderer.tsx\",\n lineNumber: 27,\n columnNumber: 14\n }, this);\n case \"how_to\":\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_HowTo__WEBPACK_IMPORTED_MODULE_5__.HowTo, {\n content: content,\n onComplete: onComplete\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MicroLearningRenderer.tsx\",\n lineNumber: 29,\n columnNumber: 14\n }, this);\n case \"comparison_card\":\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ComparisonCard__WEBPACK_IMPORTED_MODULE_6__.ComparisonCard, {\n content: content,\n onComplete: onComplete\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MicroLearningRenderer.tsx\",\n lineNumber: 31,\n columnNumber: 14\n }, this);\n case \"reflection_prompt\":\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ReflectionPrompt__WEBPACK_IMPORTED_MODULE_7__.ReflectionPrompt, {\n content: content,\n onComplete: onComplete\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MicroLearningRenderer.tsx\",\n lineNumber: 33,\n columnNumber: 14\n }, this);\n case \"flashcard_set\":\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_FlashcardSet__WEBPACK_IMPORTED_MODULE_8__.FlashcardSet, {\n content: content,\n onComplete: onComplete\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MicroLearningRenderer.tsx\",\n lineNumber: 35,\n columnNumber: 14\n }, this);\n case \"case_study\":\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_CaseStudy__WEBPACK_IMPORTED_MODULE_9__.CaseStudy, {\n content: content,\n onComplete: onComplete\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MicroLearningRenderer.tsx\",\n lineNumber: 37,\n columnNumber: 14\n }, this);\n case \"glossary_anchor\":\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_GlossaryAnchor__WEBPACK_IMPORTED_MODULE_10__.GlossaryAnchor, {\n content: content,\n onComplete: onComplete\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MicroLearningRenderer.tsx\",\n lineNumber: 39,\n columnNumber: 14\n }, this);\n case \"myth_vs_evidence\":\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_MythVsEvidence__WEBPACK_IMPORTED_MODULE_11__.MythVsEvidence, {\n content: content,\n onComplete: onComplete\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MicroLearningRenderer.tsx\",\n lineNumber: 41,\n columnNumber: 14\n }, this);\n default:\n {\n const _exhaustive = content;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n color: \"var(--fg-muted)\",\n fontSize: \"var(--t-body)\"\n },\n children: \"Unknown content type.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MicroLearningRenderer.tsx\",\n lineNumber: 45,\n columnNumber: 9\n }, this);\n }\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9taWNyby1sZWFybmluZ3MvTWljcm9MZWFybmluZ1JlbmRlcmVyLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ3lCO0FBRTRCO0FBQ1I7QUFDSTtBQUNsQjtBQUNrQjtBQUNJO0FBQ1I7QUFDTjtBQUNVO0FBQ0E7QUFPMUMsU0FBU1csc0JBQXNCLEVBQUVDLE9BQU8sRUFBRUMsVUFBVSxFQUFTO0lBQ2xFLE9BQVFELFFBQVFFLElBQUk7UUFDbEIsS0FBSztZQUNILHFCQUFPLDhEQUFDYiwrREFBZ0JBO2dCQUFDVyxTQUFTQTtnQkFBU0MsWUFBWUE7Ozs7OztRQUN6RCxLQUFLO1lBQ0gscUJBQU8sOERBQUNYLHVEQUFZQTtnQkFBQ1UsU0FBU0E7Z0JBQVNDLFlBQVlBOzs7Ozs7UUFDckQsS0FBSztZQUNILHFCQUFPLDhEQUFDViwyREFBY0E7Z0JBQUNTLFNBQVNBO2dCQUFTQyxZQUFZQTs7Ozs7O1FBQ3ZELEtBQUs7WUFDSCxxQkFBTyw4REFBQ1QseUNBQUtBO2dCQUFDUSxTQUFTQTtnQkFBU0MsWUFBWUE7Ozs7OztRQUM5QyxLQUFLO1lBQ0gscUJBQU8sOERBQUNSLDJEQUFjQTtnQkFBQ08sU0FBU0E7Z0JBQVNDLFlBQVlBOzs7Ozs7UUFDdkQsS0FBSztZQUNILHFCQUFPLDhEQUFDUCwrREFBZ0JBO2dCQUFDTSxTQUFTQTtnQkFBU0MsWUFBWUE7Ozs7OztRQUN6RCxLQUFLO1lBQ0gscUJBQU8sOERBQUNOLHVEQUFZQTtnQkFBQ0ssU0FBU0E7Z0JBQVNDLFlBQVlBOzs7Ozs7UUFDckQsS0FBSztZQUNILHFCQUFPLDhEQUFDTCxpREFBU0E7Z0JBQUNJLFNBQVNBO2dCQUFTQyxZQUFZQTs7Ozs7O1FBQ2xELEtBQUs7WUFDSCxxQkFBTyw4REFBQ0osNERBQWNBO2dCQUFDRyxTQUFTQTtnQkFBU0MsWUFBWUE7Ozs7OztRQUN2RCxLQUFLO1lBQ0gscUJBQU8sOERBQUNILDREQUFjQTtnQkFBQ0UsU0FBU0E7Z0JBQVNDLFlBQVlBOzs7Ozs7UUFDdkQ7WUFBUztnQkFDUCxNQUFNRSxjQUFxQkg7Z0JBQzNCLHFCQUNFLDhEQUFDSTtvQkFBSUMsT0FBTzt3QkFBRUMsT0FBTzt3QkFBbUJDLFVBQVU7b0JBQWdCOzhCQUFHOzs7Ozs7WUFJekU7SUFDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy9taWNyby1sZWFybmluZ3MvTWljcm9MZWFybmluZ1JlbmRlcmVyLnRzeD85ZjEzIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHR5cGUgeyBNaWNyb0xlYXJuaW5nQ29udGVudCB9IGZyb20gJ0AvdHlwZXMnXG5pbXBvcnQgeyBDb25jZXB0RXhwbGFpbmVyIH0gZnJvbSAnLi9Db25jZXB0RXhwbGFpbmVyJ1xuaW1wb3J0IHsgU2NlbmFyaW9RdWl6IH0gZnJvbSAnLi9TY2VuYXJpb1F1aXonXG5pbXBvcnQgeyBNaXNjb25jZXB0aW9ucyB9IGZyb20gJy4vTWlzY29uY2VwdGlvbnMnXG5pbXBvcnQgeyBIb3dUbyB9IGZyb20gJy4vSG93VG8nXG5pbXBvcnQgeyBDb21wYXJpc29uQ2FyZCB9IGZyb20gJy4vQ29tcGFyaXNvbkNhcmQnXG5pbXBvcnQgeyBSZWZsZWN0aW9uUHJvbXB0IH0gZnJvbSAnLi9SZWZsZWN0aW9uUHJvbXB0J1xuaW1wb3J0IHsgRmxhc2hjYXJkU2V0IH0gZnJvbSAnLi9GbGFzaGNhcmRTZXQnXG5pbXBvcnQgeyBDYXNlU3R1ZHkgfSBmcm9tICcuL0Nhc2VTdHVkeSdcbmltcG9ydCB7IEdsb3NzYXJ5QW5jaG9yIH0gZnJvbSAnLi9HbG9zc2FyeUFuY2hvcidcbmltcG9ydCB7IE15dGhWc0V2aWRlbmNlIH0gZnJvbSAnLi9NeXRoVnNFdmlkZW5jZSdcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgY29udGVudDogTWljcm9MZWFybmluZ0NvbnRlbnRcbiAgb25Db21wbGV0ZTogKCkgPT4gdm9pZFxufVxuXG5leHBvcnQgZnVuY3Rpb24gTWljcm9MZWFybmluZ1JlbmRlcmVyKHsgY29udGVudCwgb25Db21wbGV0ZSB9OiBQcm9wcykge1xuICBzd2l0Y2ggKGNvbnRlbnQudHlwZSkge1xuICAgIGNhc2UgJ2NvbmNlcHRfZXhwbGFpbmVyJzpcbiAgICAgIHJldHVybiA8Q29uY2VwdEV4cGxhaW5lciBjb250ZW50PXtjb250ZW50fSBvbkNvbXBsZXRlPXtvbkNvbXBsZXRlfSAvPlxuICAgIGNhc2UgJ3NjZW5hcmlvX3F1aXonOlxuICAgICAgcmV0dXJuIDxTY2VuYXJpb1F1aXogY29udGVudD17Y29udGVudH0gb25Db21wbGV0ZT17b25Db21wbGV0ZX0gLz5cbiAgICBjYXNlICdtaXNjb25jZXB0aW9ucyc6XG4gICAgICByZXR1cm4gPE1pc2NvbmNlcHRpb25zIGNvbnRlbnQ9e2NvbnRlbnR9IG9uQ29tcGxldGU9e29uQ29tcGxldGV9IC8+XG4gICAgY2FzZSAnaG93X3RvJzpcbiAgICAgIHJldHVybiA8SG93VG8gY29udGVudD17Y29udGVudH0gb25Db21wbGV0ZT17b25Db21wbGV0ZX0gLz5cbiAgICBjYXNlICdjb21wYXJpc29uX2NhcmQnOlxuICAgICAgcmV0dXJuIDxDb21wYXJpc29uQ2FyZCBjb250ZW50PXtjb250ZW50fSBvbkNvbXBsZXRlPXtvbkNvbXBsZXRlfSAvPlxuICAgIGNhc2UgJ3JlZmxlY3Rpb25fcHJvbXB0JzpcbiAgICAgIHJldHVybiA8UmVmbGVjdGlvblByb21wdCBjb250ZW50PXtjb250ZW50fSBvbkNvbXBsZXRlPXtvbkNvbXBsZXRlfSAvPlxuICAgIGNhc2UgJ2ZsYXNoY2FyZF9zZXQnOlxuICAgICAgcmV0dXJuIDxGbGFzaGNhcmRTZXQgY29udGVudD17Y29udGVudH0gb25Db21wbGV0ZT17b25Db21wbGV0ZX0gLz5cbiAgICBjYXNlICdjYXNlX3N0dWR5JzpcbiAgICAgIHJldHVybiA8Q2FzZVN0dWR5IGNvbnRlbnQ9e2NvbnRlbnR9IG9uQ29tcGxldGU9e29uQ29tcGxldGV9IC8+XG4gICAgY2FzZSAnZ2xvc3NhcnlfYW5jaG9yJzpcbiAgICAgIHJldHVybiA8R2xvc3NhcnlBbmNob3IgY29udGVudD17Y29udGVudH0gb25Db21wbGV0ZT17b25Db21wbGV0ZX0gLz5cbiAgICBjYXNlICdteXRoX3ZzX2V2aWRlbmNlJzpcbiAgICAgIHJldHVybiA8TXl0aFZzRXZpZGVuY2UgY29udGVudD17Y29udGVudH0gb25Db21wbGV0ZT17b25Db21wbGV0ZX0gLz5cbiAgICBkZWZhdWx0OiB7XG4gICAgICBjb25zdCBfZXhoYXVzdGl2ZTogbmV2ZXIgPSBjb250ZW50XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IHN0eWxlPXt7IGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJywgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyB9fT5cbiAgICAgICAgICBVbmtub3duIGNvbnRlbnQgdHlwZS5cbiAgICAgICAgPC9kaXY+XG4gICAgICApXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJDb25jZXB0RXhwbGFpbmVyIiwiU2NlbmFyaW9RdWl6IiwiTWlzY29uY2VwdGlvbnMiLCJIb3dUbyIsIkNvbXBhcmlzb25DYXJkIiwiUmVmbGVjdGlvblByb21wdCIsIkZsYXNoY2FyZFNldCIsIkNhc2VTdHVkeSIsIkdsb3NzYXJ5QW5jaG9yIiwiTXl0aFZzRXZpZGVuY2UiLCJNaWNyb0xlYXJuaW5nUmVuZGVyZXIiLCJjb250ZW50Iiwib25Db21wbGV0ZSIsInR5cGUiLCJfZXhoYXVzdGl2ZSIsImRpdiIsInN0eWxlIiwiY29sb3IiLCJmb250U2l6ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/micro-learnings/MicroLearningRenderer.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/micro-learnings/Misconceptions.tsx": +/*!***********************************************************!*\ + !*** ./src/components/micro-learnings/Misconceptions.tsx ***! + \***********************************************************/ +/***/ ((__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 */ Misconceptions: () => (/* binding */ Misconceptions)\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 _components_ui_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ Misconceptions auto */ \n\n\nfunction Misconceptions({ content, onComplete }) {\n const [expanded, setExpanded] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(new Set());\n function toggle(idx) {\n setExpanded((prev)=>{\n const next = new Set(prev);\n if (next.has(idx)) {\n next.delete(idx);\n } else {\n next.add(idx);\n }\n return next;\n });\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-2)\"\n },\n children: content.items.map((item, idx)=>{\n const open = expanded.has(idx);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n border: \"1.5px solid var(--cream)\",\n borderRadius: \"var(--r-sm)\",\n overflow: \"hidden\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>toggle(idx),\n style: {\n width: \"100%\",\n background: open ? \"var(--bg-warm)\" : \"var(--bg)\",\n border: \"none\",\n padding: \"var(--s-3) var(--s-4)\",\n textAlign: \"left\",\n fontSize: \"var(--t-body)\",\n color: \"var(--fg)\",\n fontFamily: \"var(--font-sans)\",\n cursor: \"pointer\",\n minHeight: \"44px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: \"var(--s-3)\",\n fontWeight: 500\n },\n \"aria-expanded\": open,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n color: \"#c0392b\",\n marginRight: \"var(--s-2)\"\n },\n children: \"Myth\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\Misconceptions.tsx\",\n lineNumber: 71,\n columnNumber: 19\n }, this),\n item.misconception\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\Misconceptions.tsx\",\n lineNumber: 70,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n flexShrink: 0,\n fontSize: \"18px\",\n color: \"var(--fg-muted)\"\n },\n children: open ? \"−\" : \"+\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\Misconceptions.tsx\",\n lineNumber: 85,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\Misconceptions.tsx\",\n lineNumber: 49,\n columnNumber: 15\n }, this),\n open && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n padding: \"var(--s-3) var(--s-4)\",\n background: \"var(--bg)\",\n borderTop: \"1px solid var(--cream)\",\n fontSize: \"var(--t-body)\",\n lineHeight: 1.6,\n color: \"var(--fg)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n color: \"var(--teal-700)\",\n marginRight: \"var(--s-2)\"\n },\n children: \"Correction\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\Misconceptions.tsx\",\n lineNumber: 100,\n columnNumber: 19\n }, this),\n item.correction\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\Misconceptions.tsx\",\n lineNumber: 90,\n columnNumber: 17\n }, this)\n ]\n }, idx, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\Misconceptions.tsx\",\n lineNumber: 41,\n columnNumber: 13\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\Misconceptions.tsx\",\n lineNumber: 37,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"primary\",\n onClick: onComplete,\n style: {\n alignSelf: \"flex-end\"\n },\n children: \"Mark complete\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\Misconceptions.tsx\",\n lineNumber: 120,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\Misconceptions.tsx\",\n lineNumber: 36,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9taWNyby1sZWFybmluZ3MvTWlzY29uY2VwdGlvbnMudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFDdUM7QUFDUTtBQWlCeEMsU0FBU0csZUFBZSxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBUztJQUMzRCxNQUFNLENBQUNDLFVBQVVDLFlBQVksR0FBR04sK0NBQVFBLENBQWMsSUFBSU87SUFFMUQsU0FBU0MsT0FBT0MsR0FBVztRQUN6QkgsWUFBWSxDQUFDSTtZQUNYLE1BQU1DLE9BQU8sSUFBSUosSUFBSUc7WUFDckIsSUFBSUMsS0FBS0MsR0FBRyxDQUFDSCxNQUFNO2dCQUNqQkUsS0FBS0UsTUFBTSxDQUFDSjtZQUNkLE9BQU87Z0JBQ0xFLEtBQUtHLEdBQUcsQ0FBQ0w7WUFDWDtZQUNBLE9BQU9FO1FBQ1Q7SUFDRjtJQUVBLHFCQUNFLDhEQUFDSTtRQUFJQyxPQUFPO1lBQUVDLFNBQVM7WUFBUUMsZUFBZTtZQUFVQyxLQUFLO1FBQWE7OzBCQUN4RSw4REFBQ0o7Z0JBQUlDLE9BQU87b0JBQUVDLFNBQVM7b0JBQVFDLGVBQWU7b0JBQVVDLEtBQUs7Z0JBQWE7MEJBQ3ZFaEIsUUFBUWlCLEtBQUssQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLE1BQU1iO29CQUN4QixNQUFNYyxPQUFPbEIsU0FBU08sR0FBRyxDQUFDSDtvQkFDMUIscUJBQ0UsOERBQUNNO3dCQUVDQyxPQUFPOzRCQUNMUSxRQUFROzRCQUNSQyxjQUFjOzRCQUNkQyxVQUFVO3dCQUNaOzswQ0FFQSw4REFBQ0M7Z0NBQ0NDLFNBQVMsSUFBTXBCLE9BQU9DO2dDQUN0Qk8sT0FBTztvQ0FDTGEsT0FBTztvQ0FDUEMsWUFBWVAsT0FBTyxtQkFBbUI7b0NBQ3RDQyxRQUFRO29DQUNSTyxTQUFTO29DQUNUQyxXQUFXO29DQUNYQyxVQUFVO29DQUNWQyxPQUFPO29DQUNQQyxZQUFZO29DQUNaQyxRQUFRO29DQUNSQyxXQUFXO29DQUNYcEIsU0FBUztvQ0FDVHFCLFlBQVk7b0NBQ1pDLGdCQUFnQjtvQ0FDaEJwQixLQUFLO29DQUNMcUIsWUFBWTtnQ0FDZDtnQ0FDQUMsaUJBQWVsQjs7a0RBRWYsOERBQUNtQjs7MERBQ0MsOERBQUNBO2dEQUNDMUIsT0FBTztvREFDTGlCLFVBQVU7b0RBQ1ZFLFlBQVk7b0RBQ1pRLGVBQWU7b0RBQ2ZDLGVBQWU7b0RBQ2ZWLE9BQU87b0RBQ1BXLGFBQWE7Z0RBQ2Y7MERBQ0Q7Ozs7Ozs0Q0FHQXZCLEtBQUt3QixhQUFhOzs7Ozs7O2tEQUVyQiw4REFBQ0o7d0NBQUsxQixPQUFPOzRDQUFFK0IsWUFBWTs0Q0FBR2QsVUFBVTs0Q0FBUUMsT0FBTzt3Q0FBa0I7a0RBQ3RFWCxPQUFPLE1BQU07Ozs7Ozs7Ozs7Ozs0QkFHakJBLHNCQUNDLDhEQUFDUjtnQ0FDQ0MsT0FBTztvQ0FDTGUsU0FBUztvQ0FDVEQsWUFBWTtvQ0FDWmtCLFdBQVc7b0NBQ1hmLFVBQVU7b0NBQ1ZnQixZQUFZO29DQUNaZixPQUFPO2dDQUNUOztrREFFQSw4REFBQ1E7d0NBQ0MxQixPQUFPOzRDQUNMaUIsVUFBVTs0Q0FDVkUsWUFBWTs0Q0FDWlEsZUFBZTs0Q0FDZkMsZUFBZTs0Q0FDZlYsT0FBTzs0Q0FDUFcsYUFBYTt3Q0FDZjtrREFDRDs7Ozs7O29DQUdBdkIsS0FBSzRCLFVBQVU7Ozs7Ozs7O3VCQXRFZnpDOzs7OztnQkEyRVg7Ozs7OzswQkFHRiw4REFBQ1IseURBQU1BO2dCQUFDa0QsU0FBUTtnQkFBVXZCLFNBQVN4QjtnQkFBWVksT0FBTztvQkFBRW9DLFdBQVc7Z0JBQVc7MEJBQUc7Ozs7Ozs7Ozs7OztBQUt2RiIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2NvbXBvbmVudHMvbWljcm8tbGVhcm5pbmdzL01pc2NvbmNlcHRpb25zLnRzeD80ZjNkIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvQnV0dG9uJ1xuXG5pbnRlcmZhY2UgTWlzY29uY2VwdGlvbkl0ZW0ge1xuICBtaXNjb25jZXB0aW9uOiBzdHJpbmdcbiAgY29ycmVjdGlvbjogc3RyaW5nXG59XG5cbmludGVyZmFjZSBNaXNjb25jZXB0aW9uc0NvbnRlbnQge1xuICB0eXBlOiAnbWlzY29uY2VwdGlvbnMnXG4gIGl0ZW1zOiBNaXNjb25jZXB0aW9uSXRlbVtdXG59XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGNvbnRlbnQ6IE1pc2NvbmNlcHRpb25zQ29udGVudFxuICBvbkNvbXBsZXRlOiAoKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBNaXNjb25jZXB0aW9ucyh7IGNvbnRlbnQsIG9uQ29tcGxldGUgfTogUHJvcHMpIHtcbiAgY29uc3QgW2V4cGFuZGVkLCBzZXRFeHBhbmRlZF0gPSB1c2VTdGF0ZTxTZXQ8bnVtYmVyPj4obmV3IFNldCgpKVxuXG4gIGZ1bmN0aW9uIHRvZ2dsZShpZHg6IG51bWJlcikge1xuICAgIHNldEV4cGFuZGVkKChwcmV2KSA9PiB7XG4gICAgICBjb25zdCBuZXh0ID0gbmV3IFNldChwcmV2KVxuICAgICAgaWYgKG5leHQuaGFzKGlkeCkpIHtcbiAgICAgICAgbmV4dC5kZWxldGUoaWR4KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV4dC5hZGQoaWR4KVxuICAgICAgfVxuICAgICAgcmV0dXJuIG5leHRcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogJ3ZhcigtLXMtNCknIH19PlxuICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBnYXA6ICd2YXIoLS1zLTIpJyB9fT5cbiAgICAgICAge2NvbnRlbnQuaXRlbXMubWFwKChpdGVtLCBpZHgpID0+IHtcbiAgICAgICAgICBjb25zdCBvcGVuID0gZXhwYW5kZWQuaGFzKGlkeClcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBrZXk9e2lkeH1cbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBib3JkZXI6ICcxLjVweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJ3ZhcigtLXItc20pJyxcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0b2dnbGUoaWR4KX1cbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG9wZW4gPyAndmFyKC0tYmctd2FybSknIDogJ3ZhcigtLWJnKScsXG4gICAgICAgICAgICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTMpIHZhcigtLXMtNCknLFxuICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZyknLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogJ3ZhcigtLWZvbnQtc2FucyknLFxuICAgICAgICAgICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6ICc0NHB4JyxcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgICAgICAgICAgIGdhcDogJ3ZhcigtLXMtMyknLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgYXJpYS1leHBhbmRlZD17b3Blbn1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtbGFiZWwpJyxcbiAgICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vKScsXG4gICAgICAgICAgICAgICAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsXG4gICAgICAgICAgICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogJ3ZhcigtLWxhYmVsLWxzKScsXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjYzAzOTJiJyxcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogJ3ZhcigtLXMtMiknLFxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBNeXRoXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICB7aXRlbS5taXNjb25jZXB0aW9ufVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBmbGV4U2hyaW5rOiAwLCBmb250U2l6ZTogJzE4cHgnLCBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScgfX0+XG4gICAgICAgICAgICAgICAgICB7b3BlbiA/ICfiiJInIDogJysnfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIHtvcGVuICYmIChcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTQpJyxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnKScsXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlclRvcDogJzFweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAxLjYsXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtbGFiZWwpJyxcbiAgICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vKScsXG4gICAgICAgICAgICAgICAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsXG4gICAgICAgICAgICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogJ3ZhcigtLWxhYmVsLWxzKScsXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS10ZWFsLTcwMCknLFxuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpblJpZ2h0OiAndmFyKC0tcy0yKScsXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIENvcnJlY3Rpb25cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIHtpdGVtLmNvcnJlY3Rpb259XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApXG4gICAgICAgIH0pfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxCdXR0b24gdmFyaWFudD1cInByaW1hcnlcIiBvbkNsaWNrPXtvbkNvbXBsZXRlfSBzdHlsZT17eyBhbGlnblNlbGY6ICdmbGV4LWVuZCcgfX0+XG4gICAgICAgIE1hcmsgY29tcGxldGVcbiAgICAgIDwvQnV0dG9uPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsIkJ1dHRvbiIsIk1pc2NvbmNlcHRpb25zIiwiY29udGVudCIsIm9uQ29tcGxldGUiLCJleHBhbmRlZCIsInNldEV4cGFuZGVkIiwiU2V0IiwidG9nZ2xlIiwiaWR4IiwicHJldiIsIm5leHQiLCJoYXMiLCJkZWxldGUiLCJhZGQiLCJkaXYiLCJzdHlsZSIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiZ2FwIiwiaXRlbXMiLCJtYXAiLCJpdGVtIiwib3BlbiIsImJvcmRlciIsImJvcmRlclJhZGl1cyIsIm92ZXJmbG93IiwiYnV0dG9uIiwib25DbGljayIsIndpZHRoIiwiYmFja2dyb3VuZCIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJmb250U2l6ZSIsImNvbG9yIiwiZm9udEZhbWlseSIsImN1cnNvciIsIm1pbkhlaWdodCIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImZvbnRXZWlnaHQiLCJhcmlhLWV4cGFuZGVkIiwic3BhbiIsInRleHRUcmFuc2Zvcm0iLCJsZXR0ZXJTcGFjaW5nIiwibWFyZ2luUmlnaHQiLCJtaXNjb25jZXB0aW9uIiwiZmxleFNocmluayIsImJvcmRlclRvcCIsImxpbmVIZWlnaHQiLCJjb3JyZWN0aW9uIiwidmFyaWFudCIsImFsaWduU2VsZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/micro-learnings/Misconceptions.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/micro-learnings/MythVsEvidence.tsx": +/*!***********************************************************!*\ + !*** ./src/components/micro-learnings/MythVsEvidence.tsx ***! + \***********************************************************/ +/***/ ((__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 */ MythVsEvidence: () => (/* binding */ MythVsEvidence)\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 _components_ui_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ MythVsEvidence auto */ \n\n\nfunction MythVsEvidence({ content, onComplete }) {\n const [revealed, setRevealed] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"#f8d7da\",\n borderRadius: \"var(--r-md)\",\n padding: \"var(--s-5)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: \"0 0 var(--s-2)\",\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n color: \"#c0392b\"\n },\n children: \"Myth\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MythVsEvidence.tsx\",\n lineNumber: 29,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-body)\",\n lineHeight: 1.65,\n color: \"var(--fg)\"\n },\n children: content.myth\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MythVsEvidence.tsx\",\n lineNumber: 41,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MythVsEvidence.tsx\",\n lineNumber: 22,\n columnNumber: 7\n }, this),\n !revealed ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"secondary\",\n onClick: ()=>setRevealed(true),\n children: \"Reveal the evidence\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MythVsEvidence.tsx\",\n lineNumber: 47,\n columnNumber: 9\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"var(--bg-warm)\",\n borderLeft: \"4px solid var(--success)\",\n borderRadius: \"var(--r-sm)\",\n padding: \"var(--s-5)\",\n animation: \"fadeIn 300ms ease\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: \"0 0 var(--s-2)\",\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n color: \"var(--teal-700)\"\n },\n children: \"Evidence\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MythVsEvidence.tsx\",\n lineNumber: 61,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-body)\",\n lineHeight: 1.65,\n color: \"var(--fg)\"\n },\n children: content.evidence\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MythVsEvidence.tsx\",\n lineNumber: 73,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MythVsEvidence.tsx\",\n lineNumber: 52,\n columnNumber: 11\n }, this),\n content.sources.length > 0 && /*#__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)(\"p\", {\n style: {\n margin: \"0 0 var(--s-2)\",\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n color: \"var(--fg-subtle)\"\n },\n children: \"Sources\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MythVsEvidence.tsx\",\n lineNumber: 80,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n style: {\n margin: 0,\n padding: \"0 0 0 var(--s-4)\"\n },\n children: content.sources.map((src, i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n style: {\n fontSize: \"var(--t-small)\",\n color: \"var(--fg-muted)\",\n lineHeight: 1.6\n },\n children: src\n }, i, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MythVsEvidence.tsx\",\n lineNumber: 94,\n columnNumber: 19\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MythVsEvidence.tsx\",\n lineNumber: 92,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MythVsEvidence.tsx\",\n lineNumber: 79,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"primary\",\n onClick: onComplete,\n style: {\n alignSelf: \"flex-end\"\n },\n children: \"Mark complete\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MythVsEvidence.tsx\",\n lineNumber: 105,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\MythVsEvidence.tsx\",\n lineNumber: 21,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9taWNyby1sZWFybmluZ3MvTXl0aFZzRXZpZGVuY2UudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFDdUM7QUFDUTtBQWN4QyxTQUFTRyxlQUFlLEVBQUVDLE9BQU8sRUFBRUMsVUFBVSxFQUFTO0lBQzNELE1BQU0sQ0FBQ0MsVUFBVUMsWUFBWSxHQUFHTiwrQ0FBUUEsQ0FBQztJQUV6QyxxQkFDRSw4REFBQ087UUFBSUMsT0FBTztZQUFFQyxTQUFTO1lBQVFDLGVBQWU7WUFBVUMsS0FBSztRQUFhOzswQkFDeEUsOERBQUNKO2dCQUNDQyxPQUFPO29CQUNMSSxZQUFZO29CQUNaQyxjQUFjO29CQUNkQyxTQUFTO2dCQUNYOztrQ0FFQSw4REFBQ0M7d0JBQ0NQLE9BQU87NEJBQ0xRLFFBQVE7NEJBQ1JDLFVBQVU7NEJBQ1ZDLFlBQVk7NEJBQ1pDLGVBQWU7NEJBQ2ZDLGVBQWU7NEJBQ2ZDLE9BQU87d0JBQ1Q7a0NBQ0Q7Ozs7OztrQ0FHRCw4REFBQ047d0JBQUVQLE9BQU87NEJBQUVRLFFBQVE7NEJBQUdDLFVBQVU7NEJBQWlCSyxZQUFZOzRCQUFNRCxPQUFPO3dCQUFZO2tDQUNwRmxCLFFBQVFvQixJQUFJOzs7Ozs7Ozs7Ozs7WUFJaEIsQ0FBQ2xCLHlCQUNBLDhEQUFDSix5REFBTUE7Z0JBQUN1QixTQUFRO2dCQUFZQyxTQUFTLElBQU1uQixZQUFZOzBCQUFPOzs7OztxQ0FJOUQ7O2tDQUNFLDhEQUFDQzt3QkFDQ0MsT0FBTzs0QkFDTEksWUFBWTs0QkFDWmMsWUFBWTs0QkFDWmIsY0FBYzs0QkFDZEMsU0FBUzs0QkFDVGEsV0FBVzt3QkFDYjs7MENBRUEsOERBQUNaO2dDQUNDUCxPQUFPO29DQUNMUSxRQUFRO29DQUNSQyxVQUFVO29DQUNWQyxZQUFZO29DQUNaQyxlQUFlO29DQUNmQyxlQUFlO29DQUNmQyxPQUFPO2dDQUNUOzBDQUNEOzs7Ozs7MENBR0QsOERBQUNOO2dDQUFFUCxPQUFPO29DQUFFUSxRQUFRO29DQUFHQyxVQUFVO29DQUFpQkssWUFBWTtvQ0FBTUQsT0FBTztnQ0FBWTswQ0FDcEZsQixRQUFReUIsUUFBUTs7Ozs7Ozs7Ozs7O29CQUlwQnpCLFFBQVEwQixPQUFPLENBQUNDLE1BQU0sR0FBRyxtQkFDeEIsOERBQUN2Qjs7MENBQ0MsOERBQUNRO2dDQUNDUCxPQUFPO29DQUNMUSxRQUFRO29DQUNSQyxVQUFVO29DQUNWQyxZQUFZO29DQUNaQyxlQUFlO29DQUNmQyxlQUFlO29DQUNmQyxPQUFPO2dDQUNUOzBDQUNEOzs7Ozs7MENBR0QsOERBQUNVO2dDQUFHdkIsT0FBTztvQ0FBRVEsUUFBUTtvQ0FBR0YsU0FBUztnQ0FBbUI7MENBQ2pEWCxRQUFRMEIsT0FBTyxDQUFDRyxHQUFHLENBQUMsQ0FBQ0MsS0FBS0Msa0JBQ3pCLDhEQUFDQzt3Q0FFQzNCLE9BQU87NENBQUVTLFVBQVU7NENBQWtCSSxPQUFPOzRDQUFtQkMsWUFBWTt3Q0FBSTtrREFFOUVXO3VDQUhJQzs7Ozs7Ozs7Ozs7Ozs7OztrQ0FVZiw4REFBQ2pDLHlEQUFNQTt3QkFBQ3VCLFNBQVE7d0JBQVVDLFNBQVNyQjt3QkFBWUksT0FBTzs0QkFBRTRCLFdBQVc7d0JBQVc7a0NBQUc7Ozs7Ozs7Ozs7Ozs7O0FBTzNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy9taWNyby1sZWFybmluZ3MvTXl0aFZzRXZpZGVuY2UudHN4P2VhNTQiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy91aS9CdXR0b24nXG5cbmludGVyZmFjZSBNeXRoVnNFdmlkZW5jZUNvbnRlbnQge1xuICB0eXBlOiAnbXl0aF92c19ldmlkZW5jZSdcbiAgbXl0aDogc3RyaW5nXG4gIGV2aWRlbmNlOiBzdHJpbmdcbiAgc291cmNlczogc3RyaW5nW11cbn1cblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgY29udGVudDogTXl0aFZzRXZpZGVuY2VDb250ZW50XG4gIG9uQ29tcGxldGU6ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE15dGhWc0V2aWRlbmNlKHsgY29udGVudCwgb25Db21wbGV0ZSB9OiBQcm9wcykge1xuICBjb25zdCBbcmV2ZWFsZWQsIHNldFJldmVhbGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBnYXA6ICd2YXIoLS1zLTQpJyB9fT5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2Y4ZDdkYScsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1tZCknLFxuICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTUpJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPHBcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgbWFyZ2luOiAnMCAwIHZhcigtLXMtMiknLFxuICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWxhYmVsKScsXG4gICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vKScsXG4gICAgICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcbiAgICAgICAgICAgIGxldHRlclNwYWNpbmc6ICd2YXIoLS1sYWJlbC1scyknLFxuICAgICAgICAgICAgY29sb3I6ICcjYzAzOTJiJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgTXl0aFxuICAgICAgICA8L3A+XG4gICAgICAgIDxwIHN0eWxlPXt7IG1hcmdpbjogMCwgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJywgbGluZUhlaWdodDogMS42NSwgY29sb3I6ICd2YXIoLS1mZyknIH19PlxuICAgICAgICAgIHtjb250ZW50Lm15dGh9XG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7IXJldmVhbGVkID8gKFxuICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBvbkNsaWNrPXsoKSA9PiBzZXRSZXZlYWxlZCh0cnVlKX0+XG4gICAgICAgICAgUmV2ZWFsIHRoZSBldmlkZW5jZVxuICAgICAgICA8L0J1dHRvbj5cbiAgICAgICkgOiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnLXdhcm0pJyxcbiAgICAgICAgICAgICAgYm9yZGVyTGVmdDogJzRweCBzb2xpZCB2YXIoLS1zdWNjZXNzKScsXG4gICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJ3ZhcigtLXItc20pJyxcbiAgICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtNSknLFxuICAgICAgICAgICAgICBhbmltYXRpb246ICdmYWRlSW4gMzAwbXMgZWFzZScsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAnMCAwIHZhcigtLXMtMiknLFxuICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1sYWJlbCknLFxuICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LW1vbm8pJyxcbiAgICAgICAgICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcbiAgICAgICAgICAgICAgICBsZXR0ZXJTcGFjaW5nOiAndmFyKC0tbGFiZWwtbHMpJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLXRlYWwtNzAwKScsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIEV2aWRlbmNlXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cCBzdHlsZT17eyBtYXJnaW46IDAsIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsIGxpbmVIZWlnaHQ6IDEuNjUsIGNvbG9yOiAndmFyKC0tZmcpJyB9fT5cbiAgICAgICAgICAgICAge2NvbnRlbnQuZXZpZGVuY2V9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICB7Y29udGVudC5zb3VyY2VzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAnMCAwIHZhcigtLXMtMiknLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWxhYmVsKScsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vKScsXG4gICAgICAgICAgICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcbiAgICAgICAgICAgICAgICAgIGxldHRlclNwYWNpbmc6ICd2YXIoLS1sYWJlbC1scyknLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZy1zdWJ0bGUpJyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgU291cmNlc1xuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDx1bCBzdHlsZT17eyBtYXJnaW46IDAsIHBhZGRpbmc6ICcwIDAgMCB2YXIoLS1zLTQpJyB9fT5cbiAgICAgICAgICAgICAgICB7Y29udGVudC5zb3VyY2VzLm1hcCgoc3JjLCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAga2V5PXtpfVxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJywgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknLCBsaW5lSGVpZ2h0OiAxLjYgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3NyY31cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwicHJpbWFyeVwiIG9uQ2xpY2s9e29uQ29tcGxldGV9IHN0eWxlPXt7IGFsaWduU2VsZjogJ2ZsZXgtZW5kJyB9fT5cbiAgICAgICAgICAgIE1hcmsgY29tcGxldGVcbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPC8+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsIkJ1dHRvbiIsIk15dGhWc0V2aWRlbmNlIiwiY29udGVudCIsIm9uQ29tcGxldGUiLCJyZXZlYWxlZCIsInNldFJldmVhbGVkIiwiZGl2Iiwic3R5bGUiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImdhcCIsImJhY2tncm91bmQiLCJib3JkZXJSYWRpdXMiLCJwYWRkaW5nIiwicCIsIm1hcmdpbiIsImZvbnRTaXplIiwiZm9udEZhbWlseSIsInRleHRUcmFuc2Zvcm0iLCJsZXR0ZXJTcGFjaW5nIiwiY29sb3IiLCJsaW5lSGVpZ2h0IiwibXl0aCIsInZhcmlhbnQiLCJvbkNsaWNrIiwiYm9yZGVyTGVmdCIsImFuaW1hdGlvbiIsImV2aWRlbmNlIiwic291cmNlcyIsImxlbmd0aCIsInVsIiwibWFwIiwic3JjIiwiaSIsImxpIiwiYWxpZ25TZWxmIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/micro-learnings/MythVsEvidence.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/micro-learnings/ReflectionPrompt.tsx": +/*!*************************************************************!*\ + !*** ./src/components/micro-learnings/ReflectionPrompt.tsx ***! + \*************************************************************/ +/***/ ((__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 */ ReflectionPrompt: () => (/* binding */ ReflectionPrompt)\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 _components_ui_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ ReflectionPrompt auto */ \n\n\nfunction ReflectionPrompt({ content, onComplete }) {\n const [answer, setAnswer] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [showModel, setShowModel] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"var(--bg-dark)\",\n color: \"var(--paper)\",\n borderRadius: \"var(--r-md)\",\n padding: \"var(--s-5)\",\n fontSize: \"var(--t-lead)\",\n lineHeight: 1.6,\n fontWeight: 500\n },\n children: content.prompt\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ReflectionPrompt.tsx\",\n lineNumber: 22,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"textarea\", {\n value: answer,\n onChange: (e)=>setAnswer(e.target.value),\n placeholder: \"Write your reflection here…\",\n rows: 5,\n style: {\n width: \"100%\",\n borderRadius: \"var(--r-sm)\",\n border: \"1.5px solid var(--cream)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-body)\",\n fontFamily: \"var(--font-sans)\",\n color: \"var(--fg)\",\n background: \"var(--bg)\",\n resize: \"vertical\",\n outline: \"none\",\n lineHeight: 1.6\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ReflectionPrompt.tsx\",\n lineNumber: 36,\n columnNumber: 7\n }, this),\n answer.trim().length > 20 && !showModel && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"secondary\",\n onClick: ()=>setShowModel(true),\n children: \"Show model answer\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ReflectionPrompt.tsx\",\n lineNumber: 57,\n columnNumber: 9\n }, this),\n showModel && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"var(--bg-warm)\",\n borderRadius: \"var(--r-sm)\",\n padding: \"var(--s-4)\",\n borderLeft: \"4px solid var(--success)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: \"0 0 var(--s-2)\",\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n color: \"var(--teal-700)\"\n },\n children: \"Model answer\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ReflectionPrompt.tsx\",\n lineNumber: 71,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-body)\",\n lineHeight: 1.65\n },\n children: content.model_answer\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ReflectionPrompt.tsx\",\n lineNumber: 83,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ReflectionPrompt.tsx\",\n lineNumber: 63,\n columnNumber: 9\n }, this),\n showModel && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"primary\",\n onClick: onComplete,\n style: {\n alignSelf: \"flex-end\"\n },\n children: \"Continue\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ReflectionPrompt.tsx\",\n lineNumber: 90,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ReflectionPrompt.tsx\",\n lineNumber: 21,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9taWNyby1sZWFybmluZ3MvUmVmbGVjdGlvblByb21wdC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUN1QztBQUNRO0FBYXhDLFNBQVNHLGlCQUFpQixFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBUztJQUM3RCxNQUFNLENBQUNDLFFBQVFDLFVBQVUsR0FBR04sK0NBQVFBLENBQUM7SUFDckMsTUFBTSxDQUFDTyxXQUFXQyxhQUFhLEdBQUdSLCtDQUFRQSxDQUFDO0lBRTNDLHFCQUNFLDhEQUFDUztRQUFJQyxPQUFPO1lBQUVDLFNBQVM7WUFBUUMsZUFBZTtZQUFVQyxLQUFLO1FBQWE7OzBCQUN4RSw4REFBQ0o7Z0JBQ0NDLE9BQU87b0JBQ0xJLFlBQVk7b0JBQ1pDLE9BQU87b0JBQ1BDLGNBQWM7b0JBQ2RDLFNBQVM7b0JBQ1RDLFVBQVU7b0JBQ1ZDLFlBQVk7b0JBQ1pDLFlBQVk7Z0JBQ2Q7MEJBRUNqQixRQUFRa0IsTUFBTTs7Ozs7OzBCQUdqQiw4REFBQ0M7Z0JBQ0NDLE9BQU9sQjtnQkFDUG1CLFVBQVUsQ0FBQ0MsSUFBTW5CLFVBQVVtQixFQUFFQyxNQUFNLENBQUNILEtBQUs7Z0JBQ3pDSSxhQUFZO2dCQUNaQyxNQUFNO2dCQUNObEIsT0FBTztvQkFDTG1CLE9BQU87b0JBQ1BiLGNBQWM7b0JBQ2RjLFFBQVE7b0JBQ1JiLFNBQVM7b0JBQ1RDLFVBQVU7b0JBQ1ZhLFlBQVk7b0JBQ1poQixPQUFPO29CQUNQRCxZQUFZO29CQUNaa0IsUUFBUTtvQkFDUkMsU0FBUztvQkFDVGQsWUFBWTtnQkFDZDs7Ozs7O1lBR0RkLE9BQU82QixJQUFJLEdBQUdDLE1BQU0sR0FBRyxNQUFNLENBQUM1QiwyQkFDN0IsOERBQUNOLHlEQUFNQTtnQkFBQ21DLFNBQVE7Z0JBQVlDLFNBQVMsSUFBTTdCLGFBQWE7MEJBQU87Ozs7OztZQUtoRUQsMkJBQ0MsOERBQUNFO2dCQUNDQyxPQUFPO29CQUNMSSxZQUFZO29CQUNaRSxjQUFjO29CQUNkQyxTQUFTO29CQUNUcUIsWUFBWTtnQkFDZDs7a0NBRUEsOERBQUNDO3dCQUNDN0IsT0FBTzs0QkFDTDhCLFFBQVE7NEJBQ1J0QixVQUFVOzRCQUNWYSxZQUFZOzRCQUNaVSxlQUFlOzRCQUNmQyxlQUFlOzRCQUNmM0IsT0FBTzt3QkFDVDtrQ0FDRDs7Ozs7O2tDQUdELDhEQUFDd0I7d0JBQUU3QixPQUFPOzRCQUFFOEIsUUFBUTs0QkFBR3RCLFVBQVU7NEJBQWlCQyxZQUFZO3dCQUFLO2tDQUNoRWhCLFFBQVF3QyxZQUFZOzs7Ozs7Ozs7Ozs7WUFLMUJwQywyQkFDQyw4REFBQ04seURBQU1BO2dCQUFDbUMsU0FBUTtnQkFBVUMsU0FBU2pDO2dCQUFZTSxPQUFPO29CQUFFa0MsV0FBVztnQkFBVzswQkFBRzs7Ozs7Ozs7Ozs7O0FBTXpGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy9taWNyby1sZWFybmluZ3MvUmVmbGVjdGlvblByb21wdC50c3g/YmY1MiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL0J1dHRvbidcblxuaW50ZXJmYWNlIFJlZmxlY3Rpb25Qcm9tcHRDb250ZW50IHtcbiAgdHlwZTogJ3JlZmxlY3Rpb25fcHJvbXB0J1xuICBwcm9tcHQ6IHN0cmluZ1xuICBtb2RlbF9hbnN3ZXI6IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBjb250ZW50OiBSZWZsZWN0aW9uUHJvbXB0Q29udGVudFxuICBvbkNvbXBsZXRlOiAoKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSZWZsZWN0aW9uUHJvbXB0KHsgY29udGVudCwgb25Db21wbGV0ZSB9OiBQcm9wcykge1xuICBjb25zdCBbYW5zd2VyLCBzZXRBbnN3ZXJdID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFtzaG93TW9kZWwsIHNldFNob3dNb2RlbF0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAndmFyKC0tcy00KScgfX0+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnLWRhcmspJyxcbiAgICAgICAgICBjb2xvcjogJ3ZhcigtLXBhcGVyKScsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1tZCknLFxuICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTUpJyxcbiAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtbGVhZCknLFxuICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNixcbiAgICAgICAgICBmb250V2VpZ2h0OiA1MDAsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtjb250ZW50LnByb21wdH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8dGV4dGFyZWFcbiAgICAgICAgdmFsdWU9e2Fuc3dlcn1cbiAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXRBbnN3ZXIoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICBwbGFjZWhvbGRlcj1cIldyaXRlIHlvdXIgcmVmbGVjdGlvbiBoZXJl4oCmXCJcbiAgICAgICAgcm93cz17NX1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIGJvcmRlclJhZGl1czogJ3ZhcigtLXItc20pJyxcbiAgICAgICAgICBib3JkZXI6ICcxLjVweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTMpIHZhcigtLXMtNCknLFxuICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsXG4gICAgICAgICAgZm9udEZhbWlseTogJ3ZhcigtLWZvbnQtc2FucyknLFxuICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmcpJyxcbiAgICAgICAgICByZXNpemU6ICd2ZXJ0aWNhbCcsXG4gICAgICAgICAgb3V0bGluZTogJ25vbmUnLFxuICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNixcbiAgICAgICAgfX1cbiAgICAgIC8+XG5cbiAgICAgIHthbnN3ZXIudHJpbSgpLmxlbmd0aCA+IDIwICYmICFzaG93TW9kZWwgJiYgKFxuICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBvbkNsaWNrPXsoKSA9PiBzZXRTaG93TW9kZWwodHJ1ZSl9PlxuICAgICAgICAgIFNob3cgbW9kZWwgYW5zd2VyXG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgKX1cblxuICAgICAge3Nob3dNb2RlbCAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnLXdhcm0pJyxcbiAgICAgICAgICAgIGJvcmRlclJhZGl1czogJ3ZhcigtLXItc20pJyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTQpJyxcbiAgICAgICAgICAgIGJvcmRlckxlZnQ6ICc0cHggc29saWQgdmFyKC0tc3VjY2VzcyknLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8cFxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgbWFyZ2luOiAnMCAwIHZhcigtLXMtMiknLFxuICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtbGFiZWwpJyxcbiAgICAgICAgICAgICAgZm9udEZhbWlseTogJ3ZhcigtLWZvbnQtbW9ubyknLFxuICAgICAgICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcbiAgICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogJ3ZhcigtLWxhYmVsLWxzKScsXG4gICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tdGVhbC03MDApJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgTW9kZWwgYW5zd2VyXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwIHN0eWxlPXt7IG1hcmdpbjogMCwgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJywgbGluZUhlaWdodDogMS42NSB9fT5cbiAgICAgICAgICAgIHtjb250ZW50Lm1vZGVsX2Fuc3dlcn1cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cblxuICAgICAge3Nob3dNb2RlbCAmJiAoXG4gICAgICAgIDxCdXR0b24gdmFyaWFudD1cInByaW1hcnlcIiBvbkNsaWNrPXtvbkNvbXBsZXRlfSBzdHlsZT17eyBhbGlnblNlbGY6ICdmbGV4LWVuZCcgfX0+XG4gICAgICAgICAgQ29udGludWVcbiAgICAgICAgPC9CdXR0b24+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsIkJ1dHRvbiIsIlJlZmxlY3Rpb25Qcm9tcHQiLCJjb250ZW50Iiwib25Db21wbGV0ZSIsImFuc3dlciIsInNldEFuc3dlciIsInNob3dNb2RlbCIsInNldFNob3dNb2RlbCIsImRpdiIsInN0eWxlIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJib3JkZXJSYWRpdXMiLCJwYWRkaW5nIiwiZm9udFNpemUiLCJsaW5lSGVpZ2h0IiwiZm9udFdlaWdodCIsInByb21wdCIsInRleHRhcmVhIiwidmFsdWUiLCJvbkNoYW5nZSIsImUiLCJ0YXJnZXQiLCJwbGFjZWhvbGRlciIsInJvd3MiLCJ3aWR0aCIsImJvcmRlciIsImZvbnRGYW1pbHkiLCJyZXNpemUiLCJvdXRsaW5lIiwidHJpbSIsImxlbmd0aCIsInZhcmlhbnQiLCJvbkNsaWNrIiwiYm9yZGVyTGVmdCIsInAiLCJtYXJnaW4iLCJ0ZXh0VHJhbnNmb3JtIiwibGV0dGVyU3BhY2luZyIsIm1vZGVsX2Fuc3dlciIsImFsaWduU2VsZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/micro-learnings/ReflectionPrompt.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/micro-learnings/ScenarioQuiz.tsx": +/*!*********************************************************!*\ + !*** ./src/components/micro-learnings/ScenarioQuiz.tsx ***! + \*********************************************************/ +/***/ ((__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 */ ScenarioQuiz: () => (/* binding */ ScenarioQuiz)\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 _components_ui_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ ScenarioQuiz auto */ \n\n\nfunction ScenarioQuiz({ content, onComplete }) {\n const [selected, setSelected] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [revealed, setRevealed] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n function handleSelect(idx) {\n if (revealed) return;\n setSelected(idx);\n setRevealed(true);\n }\n const isCorrect = selected !== null && content.options[selected]?.correct;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"var(--bg-warm)\",\n borderRadius: \"var(--r-md)\",\n padding: \"var(--s-4)\",\n fontSize: \"var(--t-body)\",\n lineHeight: 1.65,\n color: \"var(--fg)\"\n },\n children: content.scenario\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ScenarioQuiz.tsx\",\n lineNumber: 37,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-2)\"\n },\n children: content.options.map((opt, idx)=>{\n let bg = \"var(--bg-warm)\";\n let border = \"1.5px solid var(--cream)\";\n let color = \"var(--fg)\";\n if (revealed && selected === idx) {\n if (opt.correct) {\n bg = \"var(--success)\";\n border = \"1.5px solid var(--teal-700)\";\n color = \"var(--teal-900)\";\n } else {\n bg = \"#f8d7da\";\n border = \"1.5px solid #f5c6cb\";\n color = \"#c0392b\";\n }\n } else if (revealed && opt.correct) {\n bg = \"var(--success)\";\n border = \"1.5px solid var(--teal-700)\";\n color = \"var(--teal-900)\";\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-2)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>handleSelect(idx),\n disabled: revealed,\n style: {\n background: bg,\n border,\n borderRadius: \"var(--r-sm)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-body)\",\n color,\n textAlign: \"left\",\n cursor: revealed ? \"default\" : \"pointer\",\n minHeight: \"44px\",\n transition: \"background 200ms, border-color 200ms\",\n display: \"flex\",\n gap: \"var(--s-3)\",\n alignItems: \"flex-start\",\n fontFamily: \"var(--font-sans)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n fontWeight: 700,\n textTransform: \"uppercase\",\n flexShrink: 0,\n paddingTop: \"2px\"\n },\n children: opt.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ScenarioQuiz.tsx\",\n lineNumber: 94,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: opt.text\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ScenarioQuiz.tsx\",\n lineNumber: 106,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ScenarioQuiz.tsx\",\n lineNumber: 74,\n columnNumber: 15\n }, this),\n revealed && selected === idx && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n fontSize: \"var(--t-small)\",\n color: \"var(--fg-muted)\",\n padding: \"0 var(--s-4)\",\n lineHeight: 1.5\n },\n children: opt.explanation\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ScenarioQuiz.tsx\",\n lineNumber: 109,\n columnNumber: 17\n }, this)\n ]\n }, idx, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ScenarioQuiz.tsx\",\n lineNumber: 73,\n columnNumber: 13\n }, this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ScenarioQuiz.tsx\",\n lineNumber: 50,\n columnNumber: 7\n }, this),\n revealed && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n padding: \"var(--s-3) var(--s-4)\",\n borderRadius: \"var(--r-sm)\",\n background: isCorrect ? \"var(--success)\" : \"#f8d7da\",\n color: isCorrect ? \"var(--teal-900)\" : \"#c0392b\",\n fontSize: \"var(--t-body)\",\n fontWeight: 500\n },\n children: isCorrect ? \"Correct!\" : \"Not quite — see the highlighted answer above.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ScenarioQuiz.tsx\",\n lineNumber: 126,\n columnNumber: 9\n }, this),\n revealed && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"primary\",\n onClick: onComplete,\n style: {\n alignSelf: \"flex-end\"\n },\n children: \"Continue\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ScenarioQuiz.tsx\",\n lineNumber: 141,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\micro-learnings\\\\ScenarioQuiz.tsx\",\n lineNumber: 36,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9taWNyby1sZWFybmluZ3MvU2NlbmFyaW9RdWl6LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQ3VDO0FBQ1E7QUFvQnhDLFNBQVNHLGFBQWEsRUFBRUMsT0FBTyxFQUFFQyxVQUFVLEVBQVM7SUFDekQsTUFBTSxDQUFDQyxVQUFVQyxZQUFZLEdBQUdOLCtDQUFRQSxDQUFnQjtJQUN4RCxNQUFNLENBQUNPLFVBQVVDLFlBQVksR0FBR1IsK0NBQVFBLENBQUM7SUFFekMsU0FBU1MsYUFBYUMsR0FBVztRQUMvQixJQUFJSCxVQUFVO1FBQ2RELFlBQVlJO1FBQ1pGLFlBQVk7SUFDZDtJQUVBLE1BQU1HLFlBQVlOLGFBQWEsUUFBUUYsUUFBUVMsT0FBTyxDQUFDUCxTQUFTLEVBQUVRO0lBRWxFLHFCQUNFLDhEQUFDQztRQUFJQyxPQUFPO1lBQUVDLFNBQVM7WUFBUUMsZUFBZTtZQUFVQyxLQUFLO1FBQWE7OzBCQUN4RSw4REFBQ0o7Z0JBQ0NDLE9BQU87b0JBQ0xJLFlBQVk7b0JBQ1pDLGNBQWM7b0JBQ2RDLFNBQVM7b0JBQ1RDLFVBQVU7b0JBQ1ZDLFlBQVk7b0JBQ1pDLE9BQU87Z0JBQ1Q7MEJBRUNyQixRQUFRc0IsUUFBUTs7Ozs7OzBCQUduQiw4REFBQ1g7Z0JBQUlDLE9BQU87b0JBQUVDLFNBQVM7b0JBQVFDLGVBQWU7b0JBQVVDLEtBQUs7Z0JBQWE7MEJBQ3ZFZixRQUFRUyxPQUFPLENBQUNjLEdBQUcsQ0FBQyxDQUFDQyxLQUFLakI7b0JBQ3pCLElBQUlrQixLQUFLO29CQUNULElBQUlDLFNBQVM7b0JBQ2IsSUFBSUwsUUFBUTtvQkFFWixJQUFJakIsWUFBWUYsYUFBYUssS0FBSzt3QkFDaEMsSUFBSWlCLElBQUlkLE9BQU8sRUFBRTs0QkFDZmUsS0FBSzs0QkFDTEMsU0FBUzs0QkFDVEwsUUFBUTt3QkFDVixPQUFPOzRCQUNMSSxLQUFLOzRCQUNMQyxTQUFTOzRCQUNUTCxRQUFRO3dCQUNWO29CQUNGLE9BQU8sSUFBSWpCLFlBQVlvQixJQUFJZCxPQUFPLEVBQUU7d0JBQ2xDZSxLQUFLO3dCQUNMQyxTQUFTO3dCQUNUTCxRQUFRO29CQUNWO29CQUVBLHFCQUNFLDhEQUFDVjt3QkFBY0MsT0FBTzs0QkFBRUMsU0FBUzs0QkFBUUMsZUFBZTs0QkFBVUMsS0FBSzt3QkFBYTs7MENBQ2xGLDhEQUFDWTtnQ0FDQ0MsU0FBUyxJQUFNdEIsYUFBYUM7Z0NBQzVCc0IsVUFBVXpCO2dDQUNWUSxPQUFPO29DQUNMSSxZQUFZUztvQ0FDWkM7b0NBQ0FULGNBQWM7b0NBQ2RDLFNBQVM7b0NBQ1RDLFVBQVU7b0NBQ1ZFO29DQUNBUyxXQUFXO29DQUNYQyxRQUFRM0IsV0FBVyxZQUFZO29DQUMvQjRCLFdBQVc7b0NBQ1hDLFlBQVk7b0NBQ1pwQixTQUFTO29DQUNURSxLQUFLO29DQUNMbUIsWUFBWTtvQ0FDWkMsWUFBWTtnQ0FDZDs7a0RBRUEsOERBQUNDO3dDQUNDeEIsT0FBTzs0Q0FDTE8sVUFBVTs0Q0FDVmdCLFlBQVk7NENBQ1pFLFlBQVk7NENBQ1pDLGVBQWU7NENBQ2ZDLFlBQVk7NENBQ1pDLFlBQVk7d0NBQ2Q7a0RBRUNoQixJQUFJaUIsS0FBSzs7Ozs7O2tEQUVaLDhEQUFDTDtrREFBTVosSUFBSWtCLElBQUk7Ozs7Ozs7Ozs7Ozs0QkFFaEJ0QyxZQUFZRixhQUFhSyxxQkFDeEIsOERBQUNJO2dDQUNDQyxPQUFPO29DQUNMTyxVQUFVO29DQUNWRSxPQUFPO29DQUNQSCxTQUFTO29DQUNURSxZQUFZO2dDQUNkOzBDQUVDSSxJQUFJbUIsV0FBVzs7Ozs7Ozt1QkE1Q1pwQzs7Ozs7Z0JBaURkOzs7Ozs7WUFHREgsMEJBQ0MsOERBQUNPO2dCQUNDQyxPQUFPO29CQUNMTSxTQUFTO29CQUNURCxjQUFjO29CQUNkRCxZQUFZUixZQUFZLG1CQUFtQjtvQkFDM0NhLE9BQU9iLFlBQVksb0JBQW9CO29CQUN2Q1csVUFBVTtvQkFDVmtCLFlBQVk7Z0JBQ2Q7MEJBRUM3QixZQUFZLGFBQWE7Ozs7OztZQUk3QkosMEJBQ0MsOERBQUNOLHlEQUFNQTtnQkFBQzhDLFNBQVE7Z0JBQVVoQixTQUFTM0I7Z0JBQVlXLE9BQU87b0JBQUVpQyxXQUFXO2dCQUFXOzBCQUFHOzs7Ozs7Ozs7Ozs7QUFNekYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9jb21wb25lbnRzL21pY3JvLWxlYXJuaW5ncy9TY2VuYXJpb1F1aXoudHN4PzUwNTUiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy91aS9CdXR0b24nXG5cbmludGVyZmFjZSBRdWl6T3B0aW9uIHtcbiAgbGFiZWw6IHN0cmluZ1xuICB0ZXh0OiBzdHJpbmdcbiAgY29ycmVjdDogYm9vbGVhblxuICBleHBsYW5hdGlvbjogc3RyaW5nXG59XG5cbmludGVyZmFjZSBTY2VuYXJpb1F1aXpDb250ZW50IHtcbiAgdHlwZTogJ3NjZW5hcmlvX3F1aXonXG4gIHNjZW5hcmlvOiBzdHJpbmdcbiAgb3B0aW9uczogUXVpek9wdGlvbltdXG59XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGNvbnRlbnQ6IFNjZW5hcmlvUXVpekNvbnRlbnRcbiAgb25Db21wbGV0ZTogKCkgPT4gdm9pZFxufVxuXG5leHBvcnQgZnVuY3Rpb24gU2NlbmFyaW9RdWl6KHsgY29udGVudCwgb25Db21wbGV0ZSB9OiBQcm9wcykge1xuICBjb25zdCBbc2VsZWN0ZWQsIHNldFNlbGVjdGVkXSA9IHVzZVN0YXRlPG51bWJlciB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtyZXZlYWxlZCwgc2V0UmV2ZWFsZWRdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgZnVuY3Rpb24gaGFuZGxlU2VsZWN0KGlkeDogbnVtYmVyKSB7XG4gICAgaWYgKHJldmVhbGVkKSByZXR1cm5cbiAgICBzZXRTZWxlY3RlZChpZHgpXG4gICAgc2V0UmV2ZWFsZWQodHJ1ZSlcbiAgfVxuXG4gIGNvbnN0IGlzQ29ycmVjdCA9IHNlbGVjdGVkICE9PSBudWxsICYmIGNvbnRlbnQub3B0aW9uc1tzZWxlY3RlZF0/LmNvcnJlY3RcblxuICByZXR1cm4gKFxuICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAndmFyKC0tcy00KScgfX0+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnLXdhcm0pJyxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLW1kKScsXG4gICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtNCknLFxuICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsXG4gICAgICAgICAgbGluZUhlaWdodDogMS42NSxcbiAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnKScsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtjb250ZW50LnNjZW5hcmlvfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAndmFyKC0tcy0yKScgfX0+XG4gICAgICAgIHtjb250ZW50Lm9wdGlvbnMubWFwKChvcHQsIGlkeCkgPT4ge1xuICAgICAgICAgIGxldCBiZyA9ICd2YXIoLS1iZy13YXJtKSdcbiAgICAgICAgICBsZXQgYm9yZGVyID0gJzEuNXB4IHNvbGlkIHZhcigtLWNyZWFtKSdcbiAgICAgICAgICBsZXQgY29sb3IgPSAndmFyKC0tZmcpJ1xuXG4gICAgICAgICAgaWYgKHJldmVhbGVkICYmIHNlbGVjdGVkID09PSBpZHgpIHtcbiAgICAgICAgICAgIGlmIChvcHQuY29ycmVjdCkge1xuICAgICAgICAgICAgICBiZyA9ICd2YXIoLS1zdWNjZXNzKSdcbiAgICAgICAgICAgICAgYm9yZGVyID0gJzEuNXB4IHNvbGlkIHZhcigtLXRlYWwtNzAwKSdcbiAgICAgICAgICAgICAgY29sb3IgPSAndmFyKC0tdGVhbC05MDApJ1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgYmcgPSAnI2Y4ZDdkYSdcbiAgICAgICAgICAgICAgYm9yZGVyID0gJzEuNXB4IHNvbGlkICNmNWM2Y2InXG4gICAgICAgICAgICAgIGNvbG9yID0gJyNjMDM5MmInXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmIChyZXZlYWxlZCAmJiBvcHQuY29ycmVjdCkge1xuICAgICAgICAgICAgYmcgPSAndmFyKC0tc3VjY2VzcyknXG4gICAgICAgICAgICBib3JkZXIgPSAnMS41cHggc29saWQgdmFyKC0tdGVhbC03MDApJ1xuICAgICAgICAgICAgY29sb3IgPSAndmFyKC0tdGVhbC05MDApJ1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGtleT17aWR4fSBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBnYXA6ICd2YXIoLS1zLTIpJyB9fT5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVNlbGVjdChpZHgpfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtyZXZlYWxlZH1cbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogYmcsXG4gICAgICAgICAgICAgICAgICBib3JkZXIsXG4gICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXNtKScsXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTQpJyxcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsXG4gICAgICAgICAgICAgICAgICBjb2xvcixcbiAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogJ2xlZnQnLFxuICAgICAgICAgICAgICAgICAgY3Vyc29yOiByZXZlYWxlZCA/ICdkZWZhdWx0JyA6ICdwb2ludGVyJyxcbiAgICAgICAgICAgICAgICAgIG1pbkhlaWdodDogJzQ0cHgnLFxuICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ2JhY2tncm91bmQgMjAwbXMsIGJvcmRlci1jb2xvciAyMDBtcycsXG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTMpJyxcbiAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdmbGV4LXN0YXJ0JyxcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1sYWJlbCknLFxuICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1tb25vKScsXG4gICAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDcwMCxcbiAgICAgICAgICAgICAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsXG4gICAgICAgICAgICAgICAgICAgIGZsZXhTaHJpbms6IDAsXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmdUb3A6ICcycHgnLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7b3B0LmxhYmVsfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3Bhbj57b3B0LnRleHR9PC9zcGFuPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAge3JldmVhbGVkICYmIHNlbGVjdGVkID09PSBpZHggJiYgKFxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1zbWFsbCknLFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICcwIHZhcigtLXMtNCknLFxuICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAxLjUsXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtvcHQuZXhwbGFuYXRpb259XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApXG4gICAgICAgIH0pfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIHtyZXZlYWxlZCAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtMykgdmFyKC0tcy00KScsXG4gICAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXNtKScsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBpc0NvcnJlY3QgPyAndmFyKC0tc3VjY2VzcyknIDogJyNmOGQ3ZGEnLFxuICAgICAgICAgICAgY29sb3I6IGlzQ29ycmVjdCA/ICd2YXIoLS10ZWFsLTkwMCknIDogJyNjMDM5MmInLFxuICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge2lzQ29ycmVjdCA/ICdDb3JyZWN0IScgOiAnTm90IHF1aXRlIOKAlCBzZWUgdGhlIGhpZ2hsaWdodGVkIGFuc3dlciBhYm92ZS4nfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG5cbiAgICAgIHtyZXZlYWxlZCAmJiAoXG4gICAgICAgIDxCdXR0b24gdmFyaWFudD1cInByaW1hcnlcIiBvbkNsaWNrPXtvbkNvbXBsZXRlfSBzdHlsZT17eyBhbGlnblNlbGY6ICdmbGV4LWVuZCcgfX0+XG4gICAgICAgICAgQ29udGludWVcbiAgICAgICAgPC9CdXR0b24+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VTdGF0ZSIsIkJ1dHRvbiIsIlNjZW5hcmlvUXVpeiIsImNvbnRlbnQiLCJvbkNvbXBsZXRlIiwic2VsZWN0ZWQiLCJzZXRTZWxlY3RlZCIsInJldmVhbGVkIiwic2V0UmV2ZWFsZWQiLCJoYW5kbGVTZWxlY3QiLCJpZHgiLCJpc0NvcnJlY3QiLCJvcHRpb25zIiwiY29ycmVjdCIsImRpdiIsInN0eWxlIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyUmFkaXVzIiwicGFkZGluZyIsImZvbnRTaXplIiwibGluZUhlaWdodCIsImNvbG9yIiwic2NlbmFyaW8iLCJtYXAiLCJvcHQiLCJiZyIsImJvcmRlciIsImJ1dHRvbiIsIm9uQ2xpY2siLCJkaXNhYmxlZCIsInRleHRBbGlnbiIsImN1cnNvciIsIm1pbkhlaWdodCIsInRyYW5zaXRpb24iLCJhbGlnbkl0ZW1zIiwiZm9udEZhbWlseSIsInNwYW4iLCJmb250V2VpZ2h0IiwidGV4dFRyYW5zZm9ybSIsImZsZXhTaHJpbmsiLCJwYWRkaW5nVG9wIiwibGFiZWwiLCJ0ZXh0IiwiZXhwbGFuYXRpb24iLCJ2YXJpYW50IiwiYWxpZ25TZWxmIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/micro-learnings/ScenarioQuiz.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/r42/R42Button.tsx": +/*!******************************************!*\ + !*** ./src/components/r42/R42Button.tsx ***! + \******************************************/ +/***/ ((__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 */ R42Button: () => (/* binding */ R42Button)\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/* __next_internal_client_entry_do_not_use__ R42Button auto */ \n\nfunction R42Button({ onClick }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: onClick,\n \"aria-label\": \"Open R42 assistant\",\n style: {\n position: \"fixed\",\n bottom: \"calc(var(--nav-height) + 16px)\",\n right: \"16px\",\n width: \"var(--r42-size)\",\n height: \"var(--r42-size)\",\n borderRadius: \"50%\",\n background: \"var(--accent)\",\n border: \"none\",\n cursor: \"pointer\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n boxShadow: \"var(--shadow-pill)\",\n zIndex: 200,\n transition: \"transform 150ms, box-shadow 150ms\",\n color: \"var(--paper)\",\n fontSize: \"22px\"\n },\n onMouseEnter: (e)=>{\n e.currentTarget.style.transform = \"scale(1.08)\";\n },\n onMouseLeave: (e)=>{\n e.currentTarget.style.transform = \"scale(1)\";\n },\n children: \"R\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Button.tsx\",\n lineNumber: 10,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9yNDIvUjQyQnV0dG9uLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDeUI7QUFNbEIsU0FBU0MsVUFBVSxFQUFFQyxPQUFPLEVBQWtCO0lBQ25ELHFCQUNFLDhEQUFDQztRQUNDRCxTQUFTQTtRQUNURSxjQUFXO1FBQ1hDLE9BQU87WUFDTEMsVUFBVTtZQUNWQyxRQUFRO1lBQ1JDLE9BQU87WUFDUEMsT0FBTztZQUNQQyxRQUFRO1lBQ1JDLGNBQWM7WUFDZEMsWUFBWTtZQUNaQyxRQUFRO1lBQ1JDLFFBQVE7WUFDUkMsU0FBUztZQUNUQyxZQUFZO1lBQ1pDLGdCQUFnQjtZQUNoQkMsV0FBVztZQUNYQyxRQUFRO1lBQ1JDLFlBQVk7WUFDWkMsT0FBTztZQUNQQyxVQUFVO1FBQ1o7UUFDQUMsY0FBYyxDQUFDQztZQUNiQSxFQUFFQyxhQUFhLENBQUNwQixLQUFLLENBQUNxQixTQUFTLEdBQUc7UUFDcEM7UUFDQUMsY0FBYyxDQUFDSDtZQUNiQSxFQUFFQyxhQUFhLENBQUNwQixLQUFLLENBQUNxQixTQUFTLEdBQUc7UUFDcEM7a0JBQ0Q7Ozs7OztBQUlMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy9yNDIvUjQyQnV0dG9uLnRzeD83MWM5Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5pbnRlcmZhY2UgUjQyQnV0dG9uUHJvcHMge1xuICBvbkNsaWNrOiAoKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSNDJCdXR0b24oeyBvbkNsaWNrIH06IFI0MkJ1dHRvblByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPGJ1dHRvblxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIGFyaWEtbGFiZWw9XCJPcGVuIFI0MiBhc3Npc3RhbnRcIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgIGJvdHRvbTogJ2NhbGModmFyKC0tbmF2LWhlaWdodCkgKyAxNnB4KScsXG4gICAgICAgIHJpZ2h0OiAnMTZweCcsXG4gICAgICAgIHdpZHRoOiAndmFyKC0tcjQyLXNpemUpJyxcbiAgICAgICAgaGVpZ2h0OiAndmFyKC0tcjQyLXNpemUpJyxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAnNTAlJyxcbiAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWFjY2VudCknLFxuICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgYm94U2hhZG93OiAndmFyKC0tc2hhZG93LXBpbGwpJyxcbiAgICAgICAgekluZGV4OiAyMDAsXG4gICAgICAgIHRyYW5zaXRpb246ICd0cmFuc2Zvcm0gMTUwbXMsIGJveC1zaGFkb3cgMTUwbXMnLFxuICAgICAgICBjb2xvcjogJ3ZhcigtLXBhcGVyKScsXG4gICAgICAgIGZvbnRTaXplOiAnMjJweCcsXG4gICAgICB9fVxuICAgICAgb25Nb3VzZUVudGVyPXsoZSkgPT4ge1xuICAgICAgICBlLmN1cnJlbnRUYXJnZXQuc3R5bGUudHJhbnNmb3JtID0gJ3NjYWxlKDEuMDgpJ1xuICAgICAgfX1cbiAgICAgIG9uTW91c2VMZWF2ZT17KGUpID0+IHtcbiAgICAgICAgZS5jdXJyZW50VGFyZ2V0LnN0eWxlLnRyYW5zZm9ybSA9ICdzY2FsZSgxKSdcbiAgICAgIH19XG4gICAgPlxuICAgICAgUlxuICAgIDwvYnV0dG9uPlxuICApXG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJSNDJCdXR0b24iLCJvbkNsaWNrIiwiYnV0dG9uIiwiYXJpYS1sYWJlbCIsInN0eWxlIiwicG9zaXRpb24iLCJib3R0b20iLCJyaWdodCIsIndpZHRoIiwiaGVpZ2h0IiwiYm9yZGVyUmFkaXVzIiwiYmFja2dyb3VuZCIsImJvcmRlciIsImN1cnNvciIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJib3hTaGFkb3ciLCJ6SW5kZXgiLCJ0cmFuc2l0aW9uIiwiY29sb3IiLCJmb250U2l6ZSIsIm9uTW91c2VFbnRlciIsImUiLCJjdXJyZW50VGFyZ2V0IiwidHJhbnNmb3JtIiwib25Nb3VzZUxlYXZlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/r42/R42Button.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/r42/R42Drawer.tsx": +/*!******************************************!*\ + !*** ./src/components/r42/R42Drawer.tsx ***! + \******************************************/ +/***/ ((__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 */ R42Drawer: () => (/* binding */ R42Drawer)\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 _components_ui_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ R42Drawer auto */ \n\n\nconst CHAT_URL = \"http://localhost:3004\" ?? 0;\nfunction R42Drawer({ open, onClose, userId }) {\n const [messages, setMessages] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [input, setInput] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [streaming, setStreaming] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const bottomRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const abortRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (open) {\n bottomRef.current?.scrollIntoView({\n behavior: \"smooth\"\n });\n }\n }, [\n messages,\n open\n ]);\n const handleClose = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n abortRef.current?.abort();\n onClose();\n }, [\n onClose\n ]);\n async function sendMessage() {\n const text = input.trim();\n if (!text || streaming) return;\n setInput(\"\");\n setError(null);\n const userMsg = {\n role: \"user\",\n text\n };\n setMessages((prev)=>[\n ...prev,\n userMsg\n ]);\n const ctrl = new AbortController();\n abortRef.current = ctrl;\n setStreaming(true);\n let assistantText = \"\";\n let citations = [];\n let outOfScope = false;\n setMessages((prev)=>[\n ...prev,\n {\n role: \"assistant\",\n text: \"\"\n }\n ]);\n try {\n const res = await fetch(`${CHAT_URL}/chat`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n userId,\n message: text\n }),\n signal: ctrl.signal\n });\n if (!res.ok) {\n throw new Error(`Chat service error: ${res.status}`);\n }\n const reader = res.body?.getReader();\n if (!reader) throw new Error(\"No response body\");\n const decoder = new TextDecoder();\n let buffer = \"\";\n while(true){\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, {\n stream: true\n });\n const lines = buffer.split(\"\\n\");\n buffer = lines.pop() ?? \"\";\n for (const line of lines){\n if (!line.startsWith(\"data: \")) continue;\n const raw = line.slice(6).trim();\n if (raw === \"[DONE]\") continue;\n try {\n const event = JSON.parse(raw);\n if (event.type === \"chunk\") {\n assistantText += event.text;\n setMessages((prev)=>{\n const copy = [\n ...prev\n ];\n copy[copy.length - 1] = {\n role: \"assistant\",\n text: assistantText\n };\n return copy;\n });\n } else if (event.type === \"citations\") {\n citations = event.topics;\n } else if (event.type === \"out_of_scope\") {\n outOfScope = true;\n assistantText = event.text;\n setMessages((prev)=>{\n const copy = [\n ...prev\n ];\n copy[copy.length - 1] = {\n role: \"assistant\",\n text: assistantText,\n outOfScope: true\n };\n return copy;\n });\n } else if (event.type === \"done\") {\n setMessages((prev)=>{\n const copy = [\n ...prev\n ];\n copy[copy.length - 1] = {\n role: \"assistant\",\n text: assistantText,\n citations: citations.length > 0 ? citations : undefined,\n outOfScope\n };\n return copy;\n });\n }\n } catch {\n // skip malformed SSE lines\n }\n }\n }\n } catch (err) {\n if (err.name === \"AbortError\") return;\n setError(err instanceof Error ? err.message : \"Failed to send message\");\n setMessages((prev)=>prev.slice(0, -1));\n } finally{\n setStreaming(false);\n }\n }\n function handleKeyDown(e) {\n if (e.key === \"Enter\" && !e.shiftKey) {\n e.preventDefault();\n void sendMessage();\n }\n }\n if (!open) return null;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n onClick: handleClose,\n style: {\n position: \"fixed\",\n inset: 0,\n background: \"rgba(0,0,0,0.35)\",\n zIndex: 300\n },\n \"aria-hidden\": \"true\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 152,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n role: \"dialog\",\n \"aria-label\": \"R42 Assistant\",\n style: {\n position: \"fixed\",\n bottom: 0,\n left: 0,\n right: 0,\n top: \"auto\",\n maxHeight: \"85dvh\",\n background: \"var(--bg)\",\n borderTopLeftRadius: \"var(--r-xl)\",\n borderTopRightRadius: \"var(--r-xl)\",\n boxShadow: \"0 -8px 40px rgba(0,0,0,0.18)\",\n zIndex: 301,\n display: \"flex\",\n flexDirection: \"column\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n padding: \"var(--s-4) var(--s-5)\",\n borderBottom: \"1px solid var(--cream)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n flexShrink: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"var(--s-3)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n width: \"32px\",\n height: \"32px\",\n borderRadius: \"50%\",\n background: \"var(--accent)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n color: \"var(--paper)\",\n fontWeight: 700,\n fontSize: \"var(--t-small)\"\n },\n children: \"R\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 196,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n fontWeight: 600,\n fontSize: \"var(--t-body)\",\n color: \"var(--fg)\"\n },\n children: \"R42\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 212,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 195,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: handleClose,\n \"aria-label\": \"Close R42\",\n style: {\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n color: \"var(--fg-muted)\",\n fontSize: \"24px\",\n lineHeight: 1,\n padding: \"var(--s-1)\",\n minWidth: \"44px\",\n minHeight: \"44px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n children: \"\\xd7\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 216,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 185,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n flex: 1,\n overflowY: \"auto\",\n padding: \"var(--s-4) var(--s-5)\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: [\n messages.length === 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n textAlign: \"center\",\n color: \"var(--fg-muted)\",\n fontSize: \"var(--t-body)\",\n marginTop: \"var(--s-6)\"\n },\n children: \"Ask R42 anything about the knowledge base.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 250,\n columnNumber: 13\n }, this),\n messages.map((msg, idx)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: msg.role === \"user\" ? \"flex-end\" : \"flex-start\",\n gap: \"var(--s-2)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n maxWidth: \"85%\",\n background: msg.role === \"user\" ? \"var(--accent)\" : \"var(--bg-warm)\",\n color: msg.role === \"user\" ? \"var(--paper)\" : \"var(--fg)\",\n borderRadius: msg.role === \"user\" ? \"var(--r-md) var(--r-md) var(--r-sm) var(--r-md)\" : \"var(--r-md) var(--r-md) var(--r-md) var(--r-sm)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-body)\",\n lineHeight: 1.6,\n opacity: msg.outOfScope ? 0.75 : 1\n },\n children: msg.text || (msg.role === \"assistant\" && streaming && idx === messages.length - 1 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(StreamingDots, {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 288,\n columnNumber: 19\n }, this) : null)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 272,\n columnNumber: 15\n }, this),\n msg.citations && msg.citations.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: \"var(--s-2)\",\n maxWidth: \"85%\"\n },\n children: msg.citations.map((c)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n display: \"inline-block\",\n background: \"var(--accent-soft)\",\n color: \"var(--teal-900)\",\n borderRadius: \"var(--r-pill)\",\n fontSize: \"var(--t-small)\",\n padding: \"2px var(--s-3)\"\n },\n children: c.title\n }, c.id, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 294,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 292,\n columnNumber: 17\n }, this)\n ]\n }, idx, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 263,\n columnNumber: 13\n }, this)),\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n color: \"#c0392b\",\n fontSize: \"var(--t-small)\",\n padding: \"var(--s-2) var(--s-4)\",\n background: \"#f8d7da\",\n borderRadius: \"var(--r-sm)\"\n },\n children: error\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 314,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: bottomRef\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 326,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 239,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n padding: \"var(--s-3) var(--s-5) var(--s-5)\",\n borderTop: \"1px solid var(--cream)\",\n display: \"flex\",\n gap: \"var(--s-2)\",\n alignItems: \"flex-end\",\n flexShrink: 0\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"textarea\", {\n value: input,\n onChange: (e)=>setInput(e.target.value),\n onKeyDown: handleKeyDown,\n placeholder: \"Ask anything…\",\n rows: 1,\n disabled: streaming,\n style: {\n flex: 1,\n borderRadius: \"var(--r-md)\",\n border: \"1.5px solid var(--cream)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-body)\",\n fontFamily: \"var(--font-sans)\",\n color: \"var(--fg)\",\n background: \"var(--bg)\",\n resize: \"none\",\n outline: \"none\",\n lineHeight: 1.5,\n minHeight: \"44px\",\n maxHeight: \"120px\",\n overflowY: \"auto\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 340,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_2__.Button, {\n variant: \"primary\",\n size: \"md\",\n onClick: ()=>void sendMessage(),\n loading: streaming,\n disabled: !input.trim() || streaming,\n style: {\n flexShrink: 0,\n minWidth: \"44px\",\n minHeight: \"44px\"\n },\n children: streaming ? \"\" : \"↑\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 364,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 330,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 164,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"style\", {\n children: `\n @media (min-width: 768px) {\n [role=\"dialog\"][aria-label=\"R42 Assistant\"] {\n right: 0;\n left: auto;\n top: 0;\n bottom: 0;\n max-height: 100dvh;\n width: 400px;\n border-radius: var(--r-lg) 0 0 var(--r-lg);\n }\n }\n `\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 377,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true);\n}\nfunction StreamingDots() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n display: \"inline-flex\",\n gap: \"4px\",\n alignItems: \"center\"\n },\n children: [\n [\n 0,\n 1,\n 2\n ].map((i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n width: \"6px\",\n height: \"6px\",\n borderRadius: \"50%\",\n background: \"var(--fg-muted)\",\n animation: `bounce 1s ${i * 0.15}s infinite`\n }\n }, i, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 398,\n columnNumber: 9\n }, this)),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"style\", {\n children: `\n @keyframes bounce {\n 0%, 80%, 100% { transform: scale(0.7); opacity: 0.5; }\n 40% { transform: scale(1); opacity: 1; }\n }\n `\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 409,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\r42\\\\R42Drawer.tsx\",\n lineNumber: 396,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9yNDIvUjQyRHJhd2VyLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQ3VFO0FBRXhCO0FBb0IvQyxNQUFNTSxXQUFXQyx1QkFBZ0MsSUFBSTtBQUU5QyxTQUFTRyxVQUFVLEVBQUVDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQWtCO0lBQ2pFLE1BQU0sQ0FBQ0MsVUFBVUMsWUFBWSxHQUFHZCwrQ0FBUUEsQ0FBWSxFQUFFO0lBQ3RELE1BQU0sQ0FBQ2UsT0FBT0MsU0FBUyxHQUFHaEIsK0NBQVFBLENBQUM7SUFDbkMsTUFBTSxDQUFDaUIsV0FBV0MsYUFBYSxHQUFHbEIsK0NBQVFBLENBQUM7SUFDM0MsTUFBTSxDQUFDbUIsT0FBT0MsU0FBUyxHQUFHcEIsK0NBQVFBLENBQWdCO0lBQ2xELE1BQU1xQixZQUFZcEIsNkNBQU1BLENBQWlCO0lBQ3pDLE1BQU1xQixXQUFXckIsNkNBQU1BLENBQXlCO0lBRWhEQyxnREFBU0EsQ0FBQztRQUNSLElBQUlRLE1BQU07WUFDUlcsVUFBVUUsT0FBTyxFQUFFQyxlQUFlO2dCQUFFQyxVQUFVO1lBQVM7UUFDekQ7SUFDRixHQUFHO1FBQUNaO1FBQVVIO0tBQUs7SUFFbkIsTUFBTWdCLGNBQWN2QixrREFBV0EsQ0FBQztRQUM5Qm1CLFNBQVNDLE9BQU8sRUFBRUk7UUFDbEJoQjtJQUNGLEdBQUc7UUFBQ0E7S0FBUTtJQUVaLGVBQWVpQjtRQUNiLE1BQU1DLE9BQU9kLE1BQU1lLElBQUk7UUFDdkIsSUFBSSxDQUFDRCxRQUFRWixXQUFXO1FBRXhCRCxTQUFTO1FBQ1RJLFNBQVM7UUFDVCxNQUFNVyxVQUFtQjtZQUFFQyxNQUFNO1lBQVFIO1FBQUs7UUFDOUNmLFlBQVksQ0FBQ21CLE9BQVM7bUJBQUlBO2dCQUFNRjthQUFRO1FBRXhDLE1BQU1HLE9BQU8sSUFBSUM7UUFDakJiLFNBQVNDLE9BQU8sR0FBR1c7UUFDbkJoQixhQUFhO1FBRWIsSUFBSWtCLGdCQUFnQjtRQUNw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ZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vc3JjL2NvbXBvbmVudHMvcjQyL1I0MkRyYXdlci50c3g/NDA4YSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IFI0MlNTRUV2ZW50IH0gZnJvbSAnQC90eXBlcydcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy91aS9CdXR0b24nXG5cbmludGVyZmFjZSBDaXRhdGlvblRvcGljIHtcbiAgaWQ6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nXG59XG5cbmludGVyZmFjZSBNZXNzYWdlIHtcbiAgcm9sZTogJ3VzZXInIHwgJ2Fzc2lzdGFudCdcbiAgdGV4dDogc3RyaW5nXG4gIGNpdGF0aW9ucz86IENpdGF0aW9uVG9waWNbXVxuICBvdXRPZlNjb3BlPzogYm9vbGVhblxufVxuXG5pbnRlcmZhY2UgUjQyRHJhd2VyUHJvcHMge1xuICBvcGVuOiBib29sZWFuXG4gIG9uQ2xvc2U6ICgpID0+IHZvaWRcbiAgdXNlcklkOiBzdHJpbmdcbn1cblxuY29uc3QgQ0hBVF9VUkwgPSBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19DSEFUX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDA0J1xuXG5leHBvcnQgZnVuY3Rpb24gUjQyRHJhd2VyKHsgb3Blbiwgb25DbG9zZSwgdXNlcklkIH06IFI0MkRyYXdlclByb3BzKSB7XG4gIGNvbnN0IFttZXNzYWdlcywgc2V0TWVzc2FnZXNdID0gdXNlU3RhdGU8TWVzc2FnZVtdPihbXSlcbiAgY29uc3QgW2lucHV0LCBzZXRJbnB1dF0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3QgW3N0cmVhbWluZywgc2V0U3RyZWFtaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGJvdHRvbVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgYWJvcnRSZWYgPSB1c2VSZWY8QWJvcnRDb250cm9sbGVyIHwgbnVsbD4obnVsbClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcGVuKSB7XG4gICAgICBib3R0b21SZWYuY3VycmVudD8uc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSlcbiAgICB9XG4gIH0sIFttZXNzYWdlcywgb3Blbl0pXG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgYWJvcnRSZWYuY3VycmVudD8uYWJvcnQoKVxuICAgIG9uQ2xvc2UoKVxuICB9LCBbb25DbG9zZV0pXG5cbiAgYXN5bmMgZnVuY3Rpb24gc2VuZE1lc3NhZ2UoKSB7XG4gICAgY29uc3QgdGV4dCA9IGlucHV0LnRyaW0oKVxuICAgIGlmICghdGV4dCB8fCBzdHJlYW1pbmcpIHJldHVyblxuXG4gICAgc2V0SW5wdXQoJycpXG4gICAgc2V0RXJyb3IobnVsbClcbiAgICBjb25zdCB1c2VyTXNnOiBNZXNzYWdlID0geyByb2xlOiAndXNlcicsIHRleHQgfVxuICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiBbLi4ucHJldiwgdXNlck1zZ10pXG5cbiAgICBjb25zdCBjdHJsID0gbmV3IEFib3J0Q29udHJvbGxlcigpXG4gICAgYWJvcnRSZWYuY3VycmVudCA9IGN0cmxcbiAgICBzZXRTdHJlYW1pbmcodHJ1ZSlcblxuICAgIGxldCBhc3Npc3RhbnRUZXh0ID0gJydcbiAgICBsZXQgY2l0YXRpb25zOiBDaXRhdGlvblRvcGljW10gPSBbXVxuICAgIGxldCBvdXRPZlNjb3BlID0gZmFsc2VcblxuICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiBbLi4ucHJldiwgeyByb2xlOiAnYXNzaXN0YW50JywgdGV4dDogJycgfV0pXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYCR7Q0hBVF9VUkx9L2NoYXRgLCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyB1c2VySWQsIG1lc3NhZ2U6IHRleHQgfSksXG4gICAgICAgIHNpZ25hbDogY3RybC5zaWduYWwsXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENoYXQgc2VydmljZSBlcnJvcjogJHtyZXMuc3RhdHVzfWApXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlYWRlciA9IHJlcy5ib2R5Py5nZXRSZWFkZXIoKVxuICAgICAgaWYgKCFyZWFkZXIpIHRocm93IG5ldyBFcnJvcignTm8gcmVzcG9uc2UgYm9keScpXG5cbiAgICAgIGNvbnN0IGRlY29kZXIgPSBuZXcgVGV4dERlY29kZXIoKVxuICAgICAgbGV0IGJ1ZmZlciA9ICcnXG5cbiAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIGNvbnN0IHsgZG9uZSwgdmFsdWUgfSA9IGF3YWl0IHJlYWRlci5yZWFkKClcbiAgICAgICAgaWYgKGRvbmUpIGJyZWFrXG5cbiAgICAgICAgYnVmZmVyICs9IGRlY29kZXIuZGVjb2RlKHZhbHVlLCB7IHN0cmVhbTogdHJ1ZSB9KVxuICAgICAgICBjb25zdCBsaW5lcyA9IGJ1ZmZlci5zcGxpdCgnXFxuJylcbiAgICAgICAgYnVmZmVyID0gbGluZXMucG9wKCkgPz8gJydcblxuICAgICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZXMpIHtcbiAgICAgICAgICBpZiAoIWxpbmUuc3RhcnRzV2l0aCgnZGF0YTogJykpIGNvbnRpbnVlXG4gICAgICAgICAgY29uc3QgcmF3ID0gbGluZS5zbGljZSg2KS50cmltKClcbiAgICAgICAgICBpZiAocmF3ID09PSAnW0RPTkVdJykgY29udGludWVcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBldmVudCA9IEpTT04ucGFyc2UocmF3KSBhcyBSNDJTU0VFdmVudFxuICAgICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjaHVuaycpIHtcbiAgICAgICAgICAgICAgYXNzaXN0YW50VGV4dCArPSBldmVudC50ZXh0XG4gICAgICAgICAgICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29weSA9IFsuLi5wcmV2XVxuICAgICAgICAgICAgICAgIGNvcHlbY29weS5sZW5ndGggLSAxXSA9IHsgcm9sZTogJ2Fzc2lzdGFudCcsIHRleHQ6IGFzc2lzdGFudFRleHQgfVxuICAgICAgICAgICAgICAgIHJldHVybiBjb3B5XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnR5cGUgPT09ICdjaXRhdGlvbnMnKSB7XG4gICAgICAgICAgICAgIGNpdGF0aW9ucyA9IGV2ZW50LnRvcGljc1xuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSAnb3V0X29mX3Njb3BlJykge1xuICAgICAgICAgICAgICBvdXRPZlNjb3BlID0gdHJ1ZVxuICAgICAgICAgICAgICBhc3Npc3RhbnRUZXh0ID0gZXZlbnQudGV4dFxuICAgICAgICAgICAgICBzZXRNZXNzYWdlcygocHJldikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvcHkgPSBbLi4ucHJldl1cbiAgICAgICAgICAgICAgICBjb3B5W2NvcHkubGVuZ3RoIC0gMV0gPSB7IHJvbGU6ICdhc3Npc3RhbnQnLCB0ZXh0OiBhc3Npc3RhbnRUZXh0LCBvdXRPZlNjb3BlOiB0cnVlIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gY29weVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSAnZG9uZScpIHtcbiAgICAgICAgICAgICAgc2V0TWVzc2FnZXMoKHByZXYpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb3B5ID0gWy4uLnByZXZdXG4gICAgICAgICAgICAgICAgY29weVtjb3B5Lmxlbmd0aCAtIDFdID0ge1xuICAgICAgICAgICAgICAgICAgcm9sZTogJ2Fzc2lzdGFudCcsXG4gICAgICAgICAgICAgICAgICB0ZXh0OiBhc3Npc3RhbnRUZXh0LFxuICAgICAgICAgICAgICAgICAgY2l0YXRpb25zOiBjaXRhdGlvbnMubGVuZ3RoID4gMCA/IGNpdGF0aW9ucyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIG91dE9mU2NvcGUsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBjb3B5XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAvLyBza2lwIG1hbGZvcm1lZCBTU0UgbGluZXNcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGlmICgoZXJyIGFzIEVycm9yKS5uYW1lID09PSAnQWJvcnRFcnJvcicpIHJldHVyblxuICAgICAgc2V0RXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdGYWlsZWQgdG8gc2VuZCBtZXNzYWdlJylcbiAgICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiBwcmV2LnNsaWNlKDAsIC0xKSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0U3RyZWFtaW5nKGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUtleURvd24oZTogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50Pikge1xuICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJyAmJiAhZS5zaGlmdEtleSkge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB2b2lkIHNlbmRNZXNzYWdlKClcbiAgICB9XG4gIH1cblxuICBpZiAoIW9wZW4pIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgey8qIEJhY2tkcm9wICovfVxuICAgICAgPGRpdlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgICAgICBpbnNldDogMCxcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAncmdiYSgwLDAsMCwwLjM1KScsXG4gICAgICAgICAgekluZGV4OiAzMDAsXG4gICAgICAgIH19XG4gICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAvPlxuXG4gICAgICB7LyogUGFuZWwgKi99XG4gICAgICA8ZGl2XG4gICAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiUjQyIEFzc2lzdGFudFwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgYm90dG9tOiAwLFxuICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgdG9wOiAnYXV0bycsXG4gICAgICAgICAgbWF4SGVpZ2h0OiAnODVkdmgnLFxuICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZyknLFxuICAgICAgICAgIGJvcmRlclRvcExlZnRSYWRpdXM6ICd2YXIoLS1yLXhsKScsXG4gICAgICAgICAgYm9yZGVyVG9wUmlnaHRSYWRpdXM6ICd2YXIoLS1yLXhsKScsXG4gICAgICAgICAgYm94U2hhZG93OiAnMCAtOHB4IDQwcHggcmdiYSgwLDAsMCwwLjE4KScsXG4gICAgICAgICAgekluZGV4OiAzMDEsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgIC8vIERlc2t0b3A6IHNpZGUgcGFuZWxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgey8qIEhlYWRlciAqL31cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy00KSB2YXIoLS1zLTUpJyxcbiAgICAgICAgICAgIGJvcmRlckJvdHRvbTogJzFweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICd2YXIoLS1zLTMpJyB9fT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICB3aWR0aDogJzMycHgnLFxuICAgICAgICAgICAgICAgIGhlaWdodDogJzMycHgnLFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWFjY2VudCknLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDcwMCxcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgUlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250V2VpZ2h0OiA2MDAsIGZvbnRTaXplOiAndmFyKC0tdC1ib2R5KScsIGNvbG9yOiAndmFyKC0tZmcpJyB9fT5cbiAgICAgICAgICAgICAgUjQyXG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2UgUjQyXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICdub25lJyxcbiAgICAgICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgICAgIGZvbnRTaXplOiAnMjRweCcsXG4gICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTEpJyxcbiAgICAgICAgICAgICAgbWluV2lkdGg6ICc0NHB4JyxcbiAgICAgICAgICAgICAgbWluSGVpZ2h0OiAnNDRweCcsXG4gICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgw5dcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIE1lc3NhZ2VzICovfVxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZsZXg6IDEsXG4gICAgICAgICAgICBvdmVyZmxvd1k6ICdhdXRvJyxcbiAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTQpIHZhcigtLXMtNSknLFxuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTQpJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge21lc3NhZ2VzLmxlbmd0aCA9PT0gMCAmJiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6ICd2YXIoLS1zLTYpJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQXNrIFI0MiBhbnl0aGluZyBhYm91dCB0aGUga25vd2xlZGdlIGJhc2UuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge21lc3NhZ2VzLm1hcCgobXNnLCBpZHgpID0+IChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAga2V5PXtpZHh9XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6IG1zZy5yb2xlID09PSAndXNlcicgPyAnZmxleC1lbmQnIDogJ2ZsZXgtc3RhcnQnLFxuICAgICAgICAgICAgICAgIGdhcDogJ3ZhcigtLXMtMiknLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIG1heFdpZHRoOiAnODUlJyxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1zZy5yb2xlID09PSAndXNlcicgPyAndmFyKC0tYWNjZW50KScgOiAndmFyKC0tYmctd2FybSknLFxuICAgICAgICAgICAgICAgICAgY29sb3I6IG1zZy5yb2xlID09PSAndXNlcicgPyAndmFyKC0tcGFwZXIpJyA6ICd2YXIoLS1mZyknLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOlxuICAgICAgICAgICAgICAgICAgICBtc2cucm9sZSA9PT0gJ3VzZXInXG4gICAgICAgICAgICAgICAgICAgICAgPyAndmFyKC0tci1tZCkgdmFyKC0tci1tZCkgdmFyKC0tci1zbSkgdmFyKC0tci1tZCknXG4gICAgICAgICAgICAgICAgICAgICAgOiAndmFyKC0tci1tZCkgdmFyKC0tci1tZCkgdmFyKC0tci1tZCkgdmFyKC0tci1zbSknLFxuICAgICAgICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtMykgdmFyKC0tcy00KScsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogMS42LFxuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogbXNnLm91dE9mU2NvcGUgPyAwLjc1IDogMSxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge21zZy50ZXh0IHx8IChtc2cucm9sZSA9PT0gJ2Fzc2lzdGFudCcgJiYgc3RyZWFtaW5nICYmIGlkeCA9PT0gbWVzc2FnZXMubGVuZ3RoIC0gMSA/IChcbiAgICAgICAgICAgICAgICAgIDxTdHJlYW1pbmdEb3RzIC8+XG4gICAgICAgICAgICAgICAgKSA6IG51bGwpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAge21zZy5jaXRhdGlvbnMgJiYgbXNnLmNpdGF0aW9ucy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleFdyYXA6ICd3cmFwJywgZ2FwOiAndmFyKC0tcy0yKScsIG1heFdpZHRoOiAnODUlJyB9fT5cbiAgICAgICAgICAgICAgICAgIHttc2cuY2l0YXRpb25zLm1hcCgoYykgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgIGtleT17Yy5pZH1cbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYWNjZW50LXNvZnQpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tdGVhbC05MDApJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJ3ZhcigtLXItcGlsbCknLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LXNtYWxsKScsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAnMnB4IHZhcigtLXMtMyknLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7Yy50aXRsZX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApKX1cblxuICAgICAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgY29sb3I6ICcjYzAzOTJiJyxcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTQpJyxcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2Y4ZDdkYScsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1zbSknLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7ZXJyb3J9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxkaXYgcmVmPXtib3R0b21SZWZ9IC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBJbnB1dCAqL31cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTUpIHZhcigtLXMtNSknLFxuICAgICAgICAgICAgYm9yZGVyVG9wOiAnMXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICBnYXA6ICd2YXIoLS1zLTIpJyxcbiAgICAgICAgICAgIGFsaWduSXRlbXM6ICdmbGV4LWVuZCcsXG4gICAgICAgICAgICBmbGV4U2hyaW5rOiAwLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIHZhbHVlPXtpbnB1dH1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0SW5wdXQoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJBc2sgYW55dGhpbmfigKZcIlxuICAgICAgICAgICAgcm93cz17MX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtzdHJlYW1pbmd9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLW1kKScsXG4gICAgICAgICAgICAgIGJvcmRlcjogJzEuNXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTMpIHZhcigtLXMtNCknLFxuICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1zYW5zKScsXG4gICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnKScsXG4gICAgICAgICAgICAgIHJlc2l6ZTogJ25vbmUnLFxuICAgICAgICAgICAgICBvdXRsaW5lOiAnbm9uZScsXG4gICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuNSxcbiAgICAgICAgICAgICAgbWluSGVpZ2h0OiAnNDRweCcsXG4gICAgICAgICAgICAgIG1heEhlaWdodDogJzEyMHB4JyxcbiAgICAgICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgICAgc2l6ZT1cIm1kXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHZvaWQgc2VuZE1lc3NhZ2UoKX1cbiAgICAgICAgICAgIGxvYWRpbmc9e3N0cmVhbWluZ31cbiAgICAgICAgICAgIGRpc2FibGVkPXshaW5wdXQudHJpbSgpIHx8IHN0cmVhbWluZ31cbiAgICAgICAgICAgIHN0eWxlPXt7IGZsZXhTaHJpbms6IDAsIG1pbldpZHRoOiAnNDRweCcsIG1pbkhlaWdodDogJzQ0cHgnIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3N0cmVhbWluZyA/ICcnIDogJ+KGkSd9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxzdHlsZT57YFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICBbcm9sZT1cImRpYWxvZ1wiXVthcmlhLWxhYmVsPVwiUjQyIEFzc2lzdGFudFwiXSB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBkdmg7XG4gICAgICAgICAgICB3aWR0aDogNDAwcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yLWxnKSAwIDAgdmFyKC0tci1sZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBgfTwvc3R5bGU+XG4gICAgPC8+XG4gIClcbn1cblxuZnVuY3Rpb24gU3RyZWFtaW5nRG90cygpIHtcbiAgcmV0dXJuIChcbiAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLCBnYXA6ICc0cHgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJyB9fT5cbiAgICAgIHtbMCwgMSwgMl0ubWFwKChpKSA9PiAoXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAga2V5PXtpfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICB3aWR0aDogJzZweCcsXG4gICAgICAgICAgICBoZWlnaHQ6ICc2cHgnLFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNTAlJyxcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1mZy1tdXRlZCknLFxuICAgICAgICAgICAgYW5pbWF0aW9uOiBgYm91bmNlIDFzICR7aSAqIDAuMTV9cyBpbmZpbml0ZWAsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICkpfVxuICAgICAgPHN0eWxlPntgXG4gICAgICAgIEBrZXlmcmFtZXMgYm91bmNlIHtcbiAgICAgICAgICAwJSwgODAlLCAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyBvcGFjaXR5OiAwLjU7IH1cbiAgICAgICAgICA0MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAxOyB9XG4gICAgICAgIH1cbiAgICAgIGB9PC9zdHlsZT5cbiAgICA8L3NwYW4+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlUmVmIiwidXNlRWZmZWN0IiwidXNlQ2FsbGJhY2siLCJCdXR0b24iLCJDSEFUX1VSTCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19DSEFUX1VSTCIsIlI0MkRyYXdlciIsIm9wZW4iLCJvbkNsb3NlIiwidXNlcklkIiwibWVzc2FnZXMiLCJzZXRNZXNzYWdlcyIsImlucHV0Iiwic2V0SW5wdXQiLCJzdHJlYW1pbmciLCJzZXRTdHJlYW1pbmciLCJlcnJvciIsInNldEVycm9yIiwiYm90dG9tUmVmIiwiYWJvcnRSZWYiLCJjdXJyZW50Iiwic2Nyb2xsSW50b1ZpZXciLCJiZWhhdmlvciIsImhhbmRsZUNsb3NlIiwiYWJvcnQiLCJzZW5kTWVzc2FnZSIsInRleHQiLCJ0cmltIiwidXNlck1zZyIsInJvbGUiLCJwcmV2IiwiY3RybCIsIkFib3J0Q29udHJvbGxlciIsImFzc2lzdGFudFRleHQiLCJjaXRhdGlvbnMiLCJvdXRPZlNjb3BlIiwicmVzIiwiZmV0Y2giLCJtZXRob2QiLCJoZWFkZXJzIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJtZXNzYWdlIiwic2lnbmFsIiwib2siLCJFcnJvciIsInN0YXR1cyIsInJlYWRlciIsImdldFJlYWRlciIsImRlY29kZXIiLCJUZXh0RGVjb2RlciIsImJ1ZmZlciIsImRvbmUiLCJ2YWx1ZSIsInJlYWQiLCJkZWNvZGUiLCJzdHJlYW0iLCJsaW5lcyIsInNwbGl0IiwicG9wIiwibGluZSIsInN0YXJ0c1dpdGgiLCJyYXciLCJzbGljZSIsImV2ZW50IiwicGFyc2UiLCJ0eXBlIiwiY29weSIsImxlbmd0aCIsInRvcGljcyIsInVuZGVmaW5lZCIsImVyciIsIm5hbWUiLCJoYW5kbGVLZXlEb3duIiwiZSIsImtleSIsInNoaWZ0S2V5IiwicHJldmVudERlZmF1bHQiLCJkaXYiLCJvbkNsaWNrIiwic3R5bGUiLCJwb3NpdGlvbiIsImluc2V0IiwiYmFja2dyb3VuZCIsInpJbmRleCIsImFyaWEtaGlkZGVuIiwiYXJpYS1sYWJlbCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsInRvcCIsIm1heEhlaWdodCIsImJvcmRlclRvcExlZnRSYWRpdXMiLCJib3JkZXJUb3BSaWdodFJhZGl1cyIsImJveFNoYWRvdyIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwicGFkZGluZyIsImJvcmRlckJvdHRvbSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImZsZXhTaHJpbmsiLCJnYXAiLCJ3aWR0aCIsImhlaWdodCIsImJvcmRlclJhZGl1cyIsImNvbG9yIiwiZm9udFdlaWdodCIsImZvbnRTaXplIiwic3BhbiIsImJ1dHRvbiIsImJvcmRlciIsImN1cnNvciIsImxpbmVIZWlnaHQiLCJtaW5XaWR0aCIsIm1pbkhlaWdodCIsImZsZXgiLCJvdmVyZmxvd1kiLCJ0ZXh0QWxpZ24iLCJtYXJnaW5Ub3AiLCJtYXAiLCJtc2ciLCJpZHgiLCJtYXhXaWR0aCIsIm9wYWNpdHkiLCJTdHJlYW1pbmdEb3RzIiwiZmxleFdyYXAiLCJjIiwidGl0bGUiLCJpZCIsInJlZiIsImJvcmRlclRvcCIsInRleHRhcmVhIiwib25DaGFuZ2UiLCJ0YXJnZXQiLCJvbktleURvd24iLCJwbGFjZWhvbGRlciIsInJvd3MiLCJkaXNhYmxlZCIsImZvbnRGYW1pbHkiLCJyZXNpemUiLCJvdXRsaW5lIiwidmFyaWFudCIsInNpemUiLCJsb2FkaW5nIiwiaSIsImFuaW1hdGlvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/r42/R42Drawer.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/Button.tsx": +/*!**************************************!*\ + !*** ./src/components/ui/Button.tsx ***! + \**************************************/ +/***/ ((__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 */ Button: () => (/* binding */ Button)\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/* __next_internal_client_entry_do_not_use__ Button auto */ \n\nconst variantStyles = {\n primary: {\n background: \"var(--accent)\",\n color: \"var(--paper)\",\n border: \"none\"\n },\n secondary: {\n background: \"var(--bg-warm)\",\n color: \"var(--fg)\",\n border: \"1.5px solid var(--cream)\"\n },\n danger: {\n background: \"#c0392b\",\n color: \"var(--paper)\",\n border: \"none\"\n },\n ghost: {\n background: \"transparent\",\n color: \"var(--fg)\",\n border: \"1.5px solid var(--cream)\"\n }\n};\nconst sizeStyles = {\n sm: {\n fontSize: \"var(--t-small)\",\n padding: \"var(--s-2) var(--s-3)\",\n minHeight: \"36px\",\n borderRadius: \"var(--r-sm)\"\n },\n md: {\n fontSize: \"var(--t-body)\",\n padding: \"var(--s-2) var(--s-5)\",\n minHeight: \"44px\",\n borderRadius: \"var(--r-md)\"\n },\n lg: {\n fontSize: \"var(--t-lead)\",\n padding: \"var(--s-3) var(--s-6)\",\n minHeight: \"52px\",\n borderRadius: \"var(--r-lg)\"\n }\n};\nfunction Button({ variant = \"primary\", size = \"md\", loading = false, disabled, children, style, ...rest }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n disabled: disabled ?? loading,\n style: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"var(--s-2)\",\n fontFamily: \"var(--font-sans)\",\n fontWeight: 500,\n cursor: disabled ?? loading ? \"not-allowed\" : \"pointer\",\n opacity: disabled ?? loading ? 0.6 : 1,\n transition: \"opacity 150ms, transform 100ms\",\n ...variantStyles[variant],\n ...sizeStyles[size],\n ...style\n },\n ...rest,\n children: loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Spinner, {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 88,\n columnNumber: 11\n }, this),\n children\n ]\n }, void 0, true) : children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 68,\n columnNumber: 5\n }, this);\n}\nfunction Spinner() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n width: \"16px\",\n height: \"16px\",\n border: \"2px solid currentColor\",\n borderTopColor: \"transparent\",\n borderRadius: \"50%\",\n display: \"inline-block\",\n animation: \"spin 0.7s linear infinite\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 100,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9CdXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUN5QjtBQVl6QixNQUFNQyxnQkFBNEQ7SUFDaEVDLFNBQVM7UUFDUEMsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtJQUNBQyxXQUFXO1FBQ1RILFlBQVk7UUFDWkMsT0FBTztRQUNQQyxRQUFRO0lBQ1Y7SUFDQUUsUUFBUTtRQUNOSixZQUFZO1FBQ1pDLE9BQU87UUFDUEMsUUFBUTtJQUNWO0lBQ0FHLE9BQU87UUFDTEwsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtBQUNGO0FBRUEsTUFBTUksYUFBc0Q7SUFDMURDLElBQUk7UUFDRkMsVUFBVTtRQUNWQyxTQUFTO1FBQ1RDLFdBQVc7UUFDWEMsY0FBYztJQUNoQjtJQUNBQyxJQUFJO1FBQ0ZKLFVBQVU7UUFDVkMsU0FBUztRQUNUQyxXQUFXO1FBQ1hDLGNBQWM7SUFDaEI7SUFDQUUsSUFBSTtRQUNGTCxVQUFVO1FBQ1ZDLFNBQVM7UUFDVEMsV0FBVztRQUNYQyxjQUFjO0lBQ2hCO0FBQ0Y7QUFFTyxTQUFTRyxPQUFPLEVBQ3JCQyxVQUFVLFNBQVMsRUFDbkJDLE9BQU8sSUFBSSxFQUNYQyxVQUFVLEtBQUssRUFDZkMsUUFBUSxFQUNSQyxRQUFRLEVBQ1JDLEtBQUssRUFDTCxHQUFHQyxNQUNTO0lBQ1oscUJBQ0UsOERBQUNDO1FBQ0NKLFVBQVVBLFlBQVlEO1FBQ3RCRyxPQUFPO1lBQ0xHLFNBQVM7WUFDVEMsWUFBWTtZQUNaQyxnQkFBZ0I7WUFDaEJDLEtBQUs7WUFDTEMsWUFBWTtZQUNaQyxZQUFZO1lBQ1pDLFFBQVFYLFlBQVlELFVBQVUsZ0JBQWdCO1lBQzlDYSxTQUFTWixZQUFZRCxVQUFVLE1BQU07WUFDckNjLFlBQVk7WUFDWixHQUFHakMsYUFBYSxDQUFDaUIsUUFBUTtZQUN6QixHQUFHVCxVQUFVLENBQUNVLEtBQUs7WUFDbkIsR0FBR0ksS0FBSztRQUNWO1FBQ0MsR0FBR0MsSUFBSTtrQkFFUEosd0JBQ0M7OzhCQUNFLDhEQUFDZTs7Ozs7Z0JBQ0FiOzsyQkFHSEE7Ozs7OztBQUlSO0FBRUEsU0FBU2E7SUFDUCxxQkFDRSw4REFBQ0M7UUFDQ2IsT0FBTztZQUNMYyxPQUFPO1lBQ1BDLFFBQVE7WUFDUmpDLFFBQVE7WUFDUmtDLGdCQUFnQjtZQUNoQnpCLGNBQWM7WUFDZFksU0FBUztZQUNUYyxXQUFXO1FBQ2I7Ozs7OztBQUdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy91aS9CdXR0b24udHN4PzAxM2EiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbnR5cGUgQnV0dG9uVmFyaWFudCA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2RhbmdlcicgfCAnZ2hvc3QnXG50eXBlIEJ1dHRvblNpemUgPSAnc20nIHwgJ21kJyB8ICdsZydcblxuaW50ZXJmYWNlIEJ1dHRvblByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcbiAgdmFyaWFudD86IEJ1dHRvblZhcmlhbnRcbiAgc2l6ZT86IEJ1dHRvblNpemVcbiAgbG9hZGluZz86IGJvb2xlYW5cbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG5jb25zdCB2YXJpYW50U3R5bGVzOiBSZWNvcmQ8QnV0dG9uVmFyaWFudCwgUmVhY3QuQ1NTUHJvcGVydGllcz4gPSB7XG4gIHByaW1hcnk6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYWNjZW50KScsXG4gICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBzZWNvbmRhcnk6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctd2FybSknLFxuICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICBib3JkZXI6ICcxLjVweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICB9LFxuICBkYW5nZXI6IHtcbiAgICBiYWNrZ3JvdW5kOiAnI2MwMzkyYicsXG4gICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBnaG9zdDoge1xuICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXG4gICAgY29sb3I6ICd2YXIoLS1mZyknLFxuICAgIGJvcmRlcjogJzEuNXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gIH0sXG59XG5cbmNvbnN0IHNpemVTdHlsZXM6IFJlY29yZDxCdXR0b25TaXplLCBSZWFjdC5DU1NQcm9wZXJ0aWVzPiA9IHtcbiAgc206IHtcbiAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTMpJyxcbiAgICBtaW5IZWlnaHQ6ICczNnB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXNtKScsXG4gIH0sXG4gIG1kOiB7XG4gICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTUpJyxcbiAgICBtaW5IZWlnaHQ6ICc0NHB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLW1kKScsXG4gIH0sXG4gIGxnOiB7XG4gICAgZm9udFNpemU6ICd2YXIoLS10LWxlYWQpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTYpJyxcbiAgICBtaW5IZWlnaHQ6ICc1MnB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLWxnKScsXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b24oe1xuICB2YXJpYW50ID0gJ3ByaW1hcnknLFxuICBzaXplID0gJ21kJyxcbiAgbG9hZGluZyA9IGZhbHNlLFxuICBkaXNhYmxlZCxcbiAgY2hpbGRyZW4sXG4gIHN0eWxlLFxuICAuLi5yZXN0XG59OiBCdXR0b25Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZCA/PyBsb2FkaW5nfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgZ2FwOiAndmFyKC0tcy0yKScsXG4gICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICBjdXJzb3I6IGRpc2FibGVkID8/IGxvYWRpbmcgPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInLFxuICAgICAgICBvcGFjaXR5OiBkaXNhYmxlZCA/PyBsb2FkaW5nID8gMC42IDogMSxcbiAgICAgICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMTUwbXMsIHRyYW5zZm9ybSAxMDBtcycsXG4gICAgICAgIC4uLnZhcmlhbnRTdHlsZXNbdmFyaWFudF0sXG4gICAgICAgIC4uLnNpemVTdHlsZXNbc2l6ZV0sXG4gICAgICAgIC4uLnN0eWxlLFxuICAgICAgfX1cbiAgICAgIHsuLi5yZXN0fVxuICAgID5cbiAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxTcGlubmVyIC8+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGNoaWxkcmVuXG4gICAgICApfVxuICAgIDwvYnV0dG9uPlxuICApXG59XG5cbmZ1bmN0aW9uIFNwaW5uZXIoKSB7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHdpZHRoOiAnMTZweCcsXG4gICAgICAgIGhlaWdodDogJzE2cHgnLFxuICAgICAgICBib3JkZXI6ICcycHggc29saWQgY3VycmVudENvbG9yJyxcbiAgICAgICAgYm9yZGVyVG9wQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICBhbmltYXRpb246ICdzcGluIDAuN3MgbGluZWFyIGluZmluaXRlJyxcbiAgICAgIH19XG4gICAgLz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidmFyaWFudFN0eWxlcyIsInByaW1hcnkiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJib3JkZXIiLCJzZWNvbmRhcnkiLCJkYW5nZXIiLCJnaG9zdCIsInNpemVTdHlsZXMiLCJzbSIsImZvbnRTaXplIiwicGFkZGluZyIsIm1pbkhlaWdodCIsImJvcmRlclJhZGl1cyIsIm1kIiwibGciLCJCdXR0b24iLCJ2YXJpYW50Iiwic2l6ZSIsImxvYWRpbmciLCJkaXNhYmxlZCIsImNoaWxkcmVuIiwic3R5bGUiLCJyZXN0IiwiYnV0dG9uIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImdhcCIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiY3Vyc29yIiwib3BhY2l0eSIsInRyYW5zaXRpb24iLCJTcGlubmVyIiwic3BhbiIsIndpZHRoIiwiaGVpZ2h0IiwiYm9yZGVyVG9wQ29sb3IiLCJhbmltYXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/Button.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/StatusBadge.tsx": +/*!*******************************************!*\ + !*** ./src/components/ui/StatusBadge.tsx ***! + \*******************************************/ +/***/ ((__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 */ StatusBadge: () => (/* binding */ StatusBadge)\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/* __next_internal_client_entry_do_not_use__ StatusBadge auto */ \n\nconst STATUS_CONFIG = {\n queued: {\n label: \"Queued\",\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n },\n extracting: {\n label: \"Extracting\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n chunking: {\n label: \"Chunking\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n structuring: {\n label: \"Structuring\",\n background: \"#cce5ff\",\n color: \"#004085\"\n },\n writing: {\n label: \"Writing\",\n background: \"#cce5ff\",\n color: \"#004085\"\n },\n embedding: {\n label: \"Embedding\",\n background: \"#d4edda\",\n color: \"#155724\"\n },\n done: {\n label: \"Done\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n failed: {\n label: \"Failed\",\n background: \"#f8d7da\",\n color: \"#c0392b\"\n },\n processing: {\n label: \"Processing\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n processed: {\n label: \"Processed\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n draft: {\n label: \"Draft\",\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n },\n published: {\n label: \"Published\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n rejected: {\n label: \"Rejected\",\n background: \"#f8d7da\",\n color: \"#c0392b\"\n },\n generated: {\n label: \"Generated\",\n background: \"#cce5ff\",\n color: \"#004085\"\n },\n active: {\n label: \"Active\",\n background: \"var(--success)\",\n color: \"var(--teal-900)\"\n },\n superseded: {\n label: \"Superseded\",\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n },\n introductory: {\n label: \"Introductory\",\n background: \"var(--accent-soft)\",\n color: \"var(--teal-900)\"\n },\n intermediate: {\n label: \"Intermediate\",\n background: \"#fff3cd\",\n color: \"#856404\"\n },\n advanced: {\n label: \"Advanced\",\n background: \"var(--peri)\",\n color: \"var(--teal-900)\"\n }\n};\nfunction StatusBadge({ status }) {\n const config = STATUS_CONFIG[status] ?? {\n label: status,\n background: \"var(--cream)\",\n color: \"var(--fg-muted)\"\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n display: \"inline-block\",\n padding: \"2px var(--s-2)\",\n borderRadius: \"var(--r-pill)\",\n fontSize: \"var(--t-label)\",\n fontFamily: \"var(--font-mono)\",\n fontWeight: 500,\n textTransform: \"uppercase\",\n letterSpacing: \"var(--label-ls)\",\n background: config.background,\n color: config.color\n },\n children: config.label\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\StatusBadge.tsx\",\n lineNumber: 58,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9TdGF0dXNCYWRnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ3lCO0FBbUJ6QixNQUFNQyxnQkFHRjtJQUNGQyxRQUFRO1FBQUVDLE9BQU87UUFBVUMsWUFBWTtRQUFnQkMsT0FBTztJQUFrQjtJQUNoRkMsWUFBWTtRQUFFSCxPQUFPO1FBQWNDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQzNFRSxVQUFVO1FBQUVKLE9BQU87UUFBWUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDdkVHLGFBQWE7UUFBRUwsT0FBTztRQUFlQyxZQUFZO1FBQVdDLE9BQU87SUFBVTtJQUM3RUksU0FBUztRQUFFTixPQUFPO1FBQVdDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQ3JFSyxXQUFXO1FBQUVQLE9BQU87UUFBYUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDekVNLE1BQU07UUFBRVIsT0FBTztRQUFRQyxZQUFZO1FBQWtCQyxPQUFPO0lBQWtCO0lBQzlFTyxRQUFRO1FBQUVULE9BQU87UUFBVUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDbkVRLFlBQVk7UUFBRVYsT0FBTztRQUFjQyxZQUFZO1FBQVdDLE9BQU87SUFBVTtJQUMzRVMsV0FBVztRQUFFWCxPQUFPO1FBQWFDLFlBQVk7UUFBa0JDLE9BQU87SUFBa0I7SUFDeEZVLE9BQU87UUFBRVosT0FBTztRQUFTQyxZQUFZO1FBQWdCQyxPQUFPO0lBQWtCO0lBQzlFVyxXQUFXO1FBQUViLE9BQU87UUFBYUMsWUFBWTtRQUFrQkMsT0FBTztJQUFrQjtJQUN4RlksVUFBVTtRQUFFZCxPQUFPO1FBQVlDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQ3ZFYSxXQUFXO1FBQUVmLE9BQU87UUFBYUMsWUFBWTtRQUFXQyxPQUFPO0lBQVU7SUFDekVjLFFBQVE7UUFBRWhCLE9BQU87UUFBVUMsWUFBWTtRQUFrQkMsT0FBTztJQUFrQjtJQUNsRmUsWUFBWTtRQUFFakIsT0FBTztRQUFjQyxZQUFZO1FBQWdCQyxPQUFPO0lBQWtCO0lBQ3hGZ0IsY0FBYztRQUFFbEIsT0FBTztRQUFnQkMsWUFBWTtRQUFzQkMsT0FBTztJQUFrQjtJQUNsR2lCLGNBQWM7UUFBRW5CLE9BQU87UUFBZ0JDLFlBQVk7UUFBV0MsT0FBTztJQUFVO0lBQy9Fa0IsVUFBVTtRQUFFcEIsT0FBTztRQUFZQyxZQUFZO1FBQWVDLE9BQU87SUFBa0I7QUFDckY7QUFNTyxTQUFTbUIsWUFBWSxFQUFFQyxNQUFNLEVBQW9CO0lBQ3RELE1BQU1DLFNBQVN6QixhQUFhLENBQUN3QixPQUFPLElBQUk7UUFDdEN0QixPQUFPc0I7UUFDUHJCLFlBQVk7UUFDWkMsT0FBTztJQUNUO0lBRUEscUJBQ0UsOERBQUNzQjtRQUNDQyxPQUFPO1lBQ0xDLFNBQVM7WUFDVEMsU0FBUztZQUNUQyxjQUFjO1lBQ2RDLFVBQVU7WUFDVkMsWUFBWTtZQUNaQyxZQUFZO1lBQ1pDLGVBQWU7WUFDZkMsZUFBZTtZQUNmaEMsWUFBWXNCLE9BQU90QixVQUFVO1lBQzdCQyxPQUFPcUIsT0FBT3JCLEtBQUs7UUFDckI7a0JBRUNxQixPQUFPdkIsS0FBSzs7Ozs7O0FBR25CIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy91aS9TdGF0dXNCYWRnZS50c3g/MDcxZSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgSW5nZXN0aW9uSm9iU3RhdHVzIH0gZnJvbSAnQC90eXBlcydcblxudHlwZSBBbnlTdGF0dXMgPVxuICB8IEluZ2VzdGlvbkpvYlN0YXR1c1snc3RhdHVzJ11cbiAgfCAncHJvY2Vzc2luZydcbiAgfCAncHJvY2Vzc2VkJ1xuICB8ICdmYWlsZWQnXG4gIHwgJ2RyYWZ0J1xuICB8ICdwdWJsaXNoZWQnXG4gIHwgJ3JlamVjdGVkJ1xuICB8ICdxdWV1ZWQnXG4gIHwgJ2dlbmVyYXRlZCdcbiAgfCAnYWN0aXZlJ1xuICB8ICdzdXBlcnNlZGVkJ1xuICB8ICdpbnRyb2R1Y3RvcnknXG4gIHwgJ2ludGVybWVkaWF0ZSdcbiAgfCAnYWR2YW5jZWQnXG5cbmNvbnN0IFNUQVRVU19DT05GSUc6IFJlY29yZDxcbiAgQW55U3RhdHVzLFxuICB7IGxhYmVsOiBzdHJpbmc7IGJhY2tncm91bmQ6IHN0cmluZzsgY29sb3I6IHN0cmluZyB9XG4+ID0ge1xuICBxdWV1ZWQ6IHsgbGFiZWw6ICdRdWV1ZWQnLCBiYWNrZ3JvdW5kOiAndmFyKC0tY3JlYW0pJywgY29sb3I6ICd2YXIoLS1mZy1tdXRlZCknIH0sXG4gIGV4dHJhY3Rpbmc6IHsgbGFiZWw6ICdFeHRyYWN0aW5nJywgYmFja2dyb3VuZDogJyNmZmYzY2QnLCBjb2xvcjogJyM4NTY0MDQnIH0sXG4gIGNodW5raW5nOiB7IGxhYmVsOiAnQ2h1bmtpbmcnLCBiYWNrZ3JvdW5kOiAnI2ZmZjNjZCcsIGNvbG9yOiAnIzg1NjQwNCcgfSxcbiAgc3RydWN0dXJpbmc6IHsgbGFiZWw6ICdTdHJ1Y3R1cmluZycsIGJhY2tncm91bmQ6ICcjY2NlNWZmJywgY29sb3I6ICcjMDA0MDg1JyB9LFxuICB3cml0aW5nOiB7IGxhYmVsOiAnV3JpdGluZycsIGJhY2tncm91bmQ6ICcjY2NlNWZmJywgY29sb3I6ICcjMDA0MDg1JyB9LFxuICBlbWJlZGRpbmc6IHsgbGFiZWw6ICdFbWJlZGRpbmcnLCBiYWNrZ3JvdW5kOiAnI2Q0ZWRkYScsIGNvbG9yOiAnIzE1NTcyNCcgfSxcbiAgZG9uZTogeyBsYWJlbDogJ0RvbmUnLCBiYWNrZ3JvdW5kOiAndmFyKC0tc3VjY2VzcyknLCBjb2xvcjogJ3ZhcigtLXRlYWwtOTAwKScgfSxcbiAgZmFpbGVkOiB7IGxhYmVsOiAnRmFpbGVkJywgYmFja2dyb3VuZDogJyNmOGQ3ZGEnLCBjb2xvcjogJyNjMDM5MmInIH0sXG4gIHByb2Nlc3Npbmc6IHsgbGFiZWw6ICdQcm9jZXNzaW5nJywgYmFja2dyb3VuZDogJyNmZmYzY2QnLCBjb2xvcjogJyM4NTY0MDQnIH0sXG4gIHByb2Nlc3NlZDogeyBsYWJlbDogJ1Byb2Nlc3NlZCcsIGJhY2tncm91bmQ6ICd2YXIoLS1zdWNjZXNzKScsIGNvbG9yOiAndmFyKC0tdGVhbC05MDApJyB9LFxuICBkcmFmdDogeyBsYWJlbDogJ0RyYWZ0JywgYmFja2dyb3VuZDogJ3ZhcigtLWNyZWFtKScsIGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJyB9LFxuICBwdWJsaXNoZWQ6IHsgbGFiZWw6ICdQdWJsaXNoZWQnLCBiYWNrZ3JvdW5kOiAndmFyKC0tc3VjY2VzcyknLCBjb2xvcjogJ3ZhcigtLXRlYWwtOTAwKScgfSxcbiAgcmVqZWN0ZWQ6IHsgbGFiZWw6ICdSZWplY3RlZCcsIGJhY2tncm91bmQ6ICcjZjhkN2RhJywgY29sb3I6ICcjYzAzOTJiJyB9LFxuICBnZW5lcmF0ZWQ6IHsgbGFiZWw6ICdHZW5lcmF0ZWQnLCBiYWNrZ3JvdW5kOiAnI2NjZTVmZicsIGNvbG9yOiAnIzAwNDA4NScgfSxcbiAgYWN0aXZlOiB7IGxhYmVsOiAnQWN0aXZlJywgYmFja2dyb3VuZDogJ3ZhcigtLXN1Y2Nlc3MpJywgY29sb3I6ICd2YXIoLS10ZWFsLTkwMCknIH0sXG4gIHN1cGVyc2VkZWQ6IHsgbGFiZWw6ICdTdXBlcnNlZGVkJywgYmFja2dyb3VuZDogJ3ZhcigtLWNyZWFtKScsIGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJyB9LFxuICBpbnRyb2R1Y3Rvcnk6IHsgbGFiZWw6ICdJbnRyb2R1Y3RvcnknLCBiYWNrZ3JvdW5kOiAndmFyKC0tYWNjZW50LXNvZnQpJywgY29sb3I6ICd2YXIoLS10ZWFsLTkwMCknIH0sXG4gIGludGVybWVkaWF0ZTogeyBsYWJlbDogJ0ludGVybWVkaWF0ZScsIGJhY2tncm91bmQ6ICcjZmZmM2NkJywgY29sb3I6ICcjODU2NDA0JyB9LFxuICBhZHZhbmNlZDogeyBsYWJlbDogJ0FkdmFuY2VkJywgYmFja2dyb3VuZDogJ3ZhcigtLXBlcmkpJywgY29sb3I6ICd2YXIoLS10ZWFsLTkwMCknIH0sXG59XG5cbmludGVyZmFjZSBTdGF0dXNCYWRnZVByb3BzIHtcbiAgc3RhdHVzOiBBbnlTdGF0dXNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN0YXR1c0JhZGdlKHsgc3RhdHVzIH06IFN0YXR1c0JhZGdlUHJvcHMpIHtcbiAgY29uc3QgY29uZmlnID0gU1RBVFVTX0NPTkZJR1tzdGF0dXNdID8/IHtcbiAgICBsYWJlbDogc3RhdHVzLFxuICAgIGJhY2tncm91bmQ6ICd2YXIoLS1jcmVhbSknLFxuICAgIGNvbG9yOiAndmFyKC0tZmctbXV0ZWQpJyxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICBwYWRkaW5nOiAnMnB4IHZhcigtLXMtMiknLFxuICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXBpbGwpJyxcbiAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWxhYmVsKScsXG4gICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LW1vbm8pJyxcbiAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJyxcbiAgICAgICAgbGV0dGVyU3BhY2luZzogJ3ZhcigtLWxhYmVsLWxzKScsXG4gICAgICAgIGJhY2tncm91bmQ6IGNvbmZpZy5iYWNrZ3JvdW5kLFxuICAgICAgICBjb2xvcjogY29uZmlnLmNvbG9yLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7Y29uZmlnLmxhYmVsfVxuICAgIDwvc3Bhbj5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiU1RBVFVTX0NPTkZJRyIsInF1ZXVlZCIsImxhYmVsIiwiYmFja2dyb3VuZCIsImNvbG9yIiwiZXh0cmFjdGluZyIsImNodW5raW5nIiwic3RydWN0dXJpbmciLCJ3cml0aW5nIiwiZW1iZWRkaW5nIiwiZG9uZSIsImZhaWxlZCIsInByb2Nlc3NpbmciLCJwcm9jZXNzZWQiLCJkcmFmdCIsInB1Ymxpc2hlZCIsInJlamVjdGVkIiwiZ2VuZXJhdGVkIiwiYWN0aXZlIiwic3VwZXJzZWRlZCIsImludHJvZHVjdG9yeSIsImludGVybWVkaWF0ZSIsImFkdmFuY2VkIiwiU3RhdHVzQmFkZ2UiLCJzdGF0dXMiLCJjb25maWciLCJzcGFuIiwic3R5bGUiLCJkaXNwbGF5IiwicGFkZGluZyIsImJvcmRlclJhZGl1cyIsImZvbnRTaXplIiwiZm9udEZhbWlseSIsImZvbnRXZWlnaHQiLCJ0ZXh0VHJhbnNmb3JtIiwibGV0dGVyU3BhY2luZyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/StatusBadge.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/Toast.tsx": +/*!*************************************!*\ + !*** ./src/components/ui/Toast.tsx ***! + \*************************************/ +/***/ ((__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 */ ToastProvider: () => (/* binding */ ToastProvider),\n/* harmony export */ useToast: () => (/* binding */ useToast)\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/* __next_internal_client_entry_do_not_use__ ToastProvider,useToast auto */ \n\nconst ToastContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(null);\nfunction ToastProvider({ children }) {\n const [toasts, setToasts] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const showToast = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((message, type = \"info\")=>{\n const id = `toast-${Date.now()}-${Math.random()}`;\n setToasts((prev)=>[\n ...prev,\n {\n id,\n message,\n type\n }\n ]);\n }, []);\n const dismiss = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((id)=>{\n setToasts((prev)=>prev.filter((t)=>t.id !== id));\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ToastContext.Provider, {\n value: {\n showToast\n },\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n position: \"fixed\",\n bottom: \"calc(var(--nav-height) + var(--s-5))\",\n left: \"50%\",\n transform: \"translateX(-50%)\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-2)\",\n zIndex: 1000,\n width: \"min(360px, 90vw)\"\n },\n children: toasts.map((t)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ToastItem, {\n toast: t,\n onDismiss: dismiss\n }, t.id, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 47,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 33,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 31,\n columnNumber: 5\n }, this);\n}\nfunction ToastItem({ toast, onDismiss }) {\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const timer = setTimeout(()=>onDismiss(toast.id), 4000);\n return ()=>clearTimeout(timer);\n }, [\n toast.id,\n onDismiss\n ]);\n const bgMap = {\n success: \"var(--success)\",\n error: \"#f8d7da\",\n info: \"var(--bg-dark)\"\n };\n const colorMap = {\n success: \"var(--teal-900)\",\n error: \"#c0392b\",\n info: \"var(--paper)\"\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: bgMap[toast.type],\n color: colorMap[toast.type],\n borderRadius: \"var(--r-md)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-small)\",\n fontFamily: \"var(--font-sans)\",\n boxShadow: \"var(--shadow-soft)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: \"var(--s-3)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: toast.message\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 87,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>onDismiss(toast.id),\n style: {\n background: \"none\",\n border: \"none\",\n cursor: \"pointer\",\n color: \"inherit\",\n fontSize: \"18px\",\n lineHeight: 1,\n padding: 0,\n minWidth: \"24px\",\n minHeight: \"24px\"\n },\n \"aria-label\": \"Dismiss\",\n children: \"\\xd7\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 88,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Toast.tsx\",\n lineNumber: 72,\n columnNumber: 5\n }, this);\n}\nfunction useToast() {\n const ctx = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(ToastContext);\n if (!ctx) throw new Error(\"useToast must be used within ToastProvider\");\n return ctx;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9Ub2FzdC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUMwRjtBQWMxRixNQUFNTSw2QkFBZUwsb0RBQWFBLENBQTJCO0FBRXRELFNBQVNNLGNBQWMsRUFBRUMsUUFBUSxFQUFpQztJQUN2RSxNQUFNLENBQUNDLFFBQVFDLFVBQVUsR0FBR1AsK0NBQVFBLENBQWMsRUFBRTtJQUVwRCxNQUFNUSxZQUFZUCxrREFBV0EsQ0FBQyxDQUFDUSxTQUFpQkMsT0FBa0IsTUFBTTtRQUN0RSxNQUFNQyxLQUFLLENBQUMsTUFBTSxFQUFFQyxLQUFLQyxHQUFHLEdBQUcsQ0FBQyxFQUFFQyxLQUFLQyxNQUFNLEdBQUcsQ0FBQztRQUNqRFIsVUFBVSxDQUFDUyxPQUFTO21CQUFJQTtnQkFBTTtvQkFBRUw7b0JBQUlGO29CQUFTQztnQkFBSzthQUFFO0lBQ3RELEdBQUcsRUFBRTtJQUVMLE1BQU1PLFVBQVVoQixrREFBV0EsQ0FBQyxDQUFDVTtRQUMzQkosVUFBVSxDQUFDUyxPQUFTQSxLQUFLRSxNQUFNLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRVIsRUFBRSxLQUFLQTtJQUNsRCxHQUFHLEVBQUU7SUFFTCxxQkFDRSw4REFBQ1IsYUFBYWlCLFFBQVE7UUFBQ0MsT0FBTztZQUFFYjtRQUFVOztZQUN2Q0g7MEJBQ0QsOERBQUNpQjtnQkFDQ0MsT0FBTztvQkFDTEMsVUFBVTtvQkFDVkMsUUFBUTtvQkFDUkMsTUFBTTtvQkFDTkMsV0FBVztvQkFDWEMsU0FBUztvQkFDVEMsZUFBZTtvQkFDZkMsS0FBSztvQkFDTEMsUUFBUTtvQkFDUkMsT0FBTztnQkFDVDswQkFFQzFCLE9BQU8yQixHQUFHLENBQUMsQ0FBQ2Qsa0JBQ1gsOERBQUNlO3dCQUFxQkMsT0FBT2hCO3dCQUFHaUIsV0FBV25CO3VCQUEzQkUsRUFBRVIsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztBQUs5QjtBQUVBLFNBQVN1QixVQUFVLEVBQUVDLEtBQUssRUFBRUMsU0FBUyxFQUF5RDtJQUM1RmxDLGdEQUFTQSxDQUFDO1FBQ1IsTUFBTW1DLFFBQVFDLFdBQVcsSUFBTUYsVUFBVUQsTUFBTXhCLEVBQUUsR0FBRztRQUNwRCxPQUFPLElBQU00QixhQUFhRjtJQUM1QixHQUFHO1FBQUNGLE1BQU14QixFQUFFO1FBQUV5QjtLQUFVO0lBRXhCLE1BQU1JLFFBQW1DO1FBQ3ZDQyxTQUFTO1FBQ1RDLE9BQU87UUFDUEMsTUFBTTtJQUNSO0lBQ0EsTUFBTUMsV0FBc0M7UUFDMUNILFNBQVM7UUFDVEMsT0FBTztRQUNQQyxNQUFNO0lBQ1I7SUFFQSxxQkFDRSw4REFBQ3JCO1FBQ0NDLE9BQU87WUFDTHNCLFlBQVlMLEtBQUssQ0FBQ0wsTUFBTXpCLElBQUksQ0FBQztZQUM3Qm9DLE9BQU9GLFFBQVEsQ0FBQ1QsTUFBTXpCLElBQUksQ0FBQztZQUMzQnFDLGNBQWM7WUFDZEMsU0FBUztZQUNUQyxVQUFVO1lBQ1ZDLFlBQVk7WUFDWkMsV0FBVztZQUNYdkIsU0FBUztZQUNUd0IsWUFBWTtZQUNaQyxnQkFBZ0I7WUFDaEJ2QixLQUFLO1FBQ1A7OzBCQUVBLDhEQUFDd0I7MEJBQU1uQixNQUFNMUIsT0FBTzs7Ozs7OzBCQUNwQiw4REFBQzhDO2dCQUNDQyxTQUFTLElBQU1wQixVQUFVRCxNQUFNeEIsRUFBRTtnQkFDakNZLE9BQU87b0JBQ0xzQixZQUFZO29CQUNaWSxRQUFRO29CQUNSQyxRQUFRO29CQUNSWixPQUFPO29CQUNQRyxVQUFVO29CQUNWVSxZQUFZO29CQUNaWCxTQUFTO29CQUNUWSxVQUFVO29CQUNWQyxXQUFXO2dCQUNiO2dCQUNBQyxjQUFXOzBCQUNaOzs7Ozs7Ozs7Ozs7QUFLUDtBQUVPLFNBQVNDO0lBQ2QsTUFBTUMsTUFBTWpFLGlEQUFVQSxDQUFDSTtJQUN2QixJQUFJLENBQUM2RCxLQUFLLE1BQU0sSUFBSUMsTUFBTTtJQUMxQixPQUFPRDtBQUNUIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy91aS9Ub2FzdC50c3g/ZGE4MiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuXG50eXBlIFRvYXN0VHlwZSA9ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAnaW5mbydcblxuaW50ZXJmYWNlIFRvYXN0SXRlbSB7XG4gIGlkOiBzdHJpbmdcbiAgbWVzc2FnZTogc3RyaW5nXG4gIHR5cGU6IFRvYXN0VHlwZVxufVxuXG5pbnRlcmZhY2UgVG9hc3RDb250ZXh0VmFsdWUge1xuICBzaG93VG9hc3Q6IChtZXNzYWdlOiBzdHJpbmcsIHR5cGU/OiBUb2FzdFR5cGUpID0+IHZvaWRcbn1cblxuY29uc3QgVG9hc3RDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxUb2FzdENvbnRleHRWYWx1ZSB8IG51bGw+KG51bGwpXG5cbmV4cG9ydCBmdW5jdGlvbiBUb2FzdFByb3ZpZGVyKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgY29uc3QgW3RvYXN0cywgc2V0VG9hc3RzXSA9IHVzZVN0YXRlPFRvYXN0SXRlbVtdPihbXSlcblxuICBjb25zdCBzaG93VG9hc3QgPSB1c2VDYWxsYmFjaygobWVzc2FnZTogc3RyaW5nLCB0eXBlOiBUb2FzdFR5cGUgPSAnaW5mbycpID0+IHtcbiAgICBjb25zdCBpZCA9IGB0b2FzdC0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKX1gXG4gICAgc2V0VG9hc3RzKChwcmV2KSA9PiBbLi4ucHJldiwgeyBpZCwgbWVzc2FnZSwgdHlwZSB9XSlcbiAgfSwgW10pXG5cbiAgY29uc3QgZGlzbWlzcyA9IHVzZUNhbGxiYWNrKChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0VG9hc3RzKChwcmV2KSA9PiBwcmV2LmZpbHRlcigodCkgPT4gdC5pZCAhPT0gaWQpKVxuICB9LCBbXSlcblxuICByZXR1cm4gKFxuICAgIDxUb2FzdENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3sgc2hvd1RvYXN0IH19PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICAgIGJvdHRvbTogJ2NhbGModmFyKC0tbmF2LWhlaWdodCkgKyB2YXIoLS1zLTUpKScsXG4gICAgICAgICAgbGVmdDogJzUwJScsXG4gICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtNTAlKScsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgIGdhcDogJ3ZhcigtLXMtMiknLFxuICAgICAgICAgIHpJbmRleDogMTAwMCxcbiAgICAgICAgICB3aWR0aDogJ21pbigzNjBweCwgOTB2dyknLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7dG9hc3RzLm1hcCgodCkgPT4gKFxuICAgICAgICAgIDxUb2FzdEl0ZW0ga2V5PXt0LmlkfSB0b2FzdD17dH0gb25EaXNtaXNzPXtkaXNtaXNzfSAvPlxuICAgICAgICApKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvVG9hc3RDb250ZXh0LlByb3ZpZGVyPlxuICApXG59XG5cbmZ1bmN0aW9uIFRvYXN0SXRlbSh7IHRvYXN0LCBvbkRpc21pc3MgfTogeyB0b2FzdDogVG9hc3RJdGVtOyBvbkRpc21pc3M6IChpZDogc3RyaW5nKSA9PiB2b2lkIH0pIHtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4gb25EaXNtaXNzKHRvYXN0LmlkKSwgNDAwMClcbiAgICByZXR1cm4gKCkgPT4gY2xlYXJUaW1lb3V0KHRpbWVyKVxuICB9LCBbdG9hc3QuaWQsIG9uRGlzbWlzc10pXG5cbiAgY29uc3QgYmdNYXA6IFJlY29yZDxUb2FzdFR5cGUsIHN0cmluZz4gPSB7XG4gICAgc3VjY2VzczogJ3ZhcigtLXN1Y2Nlc3MpJyxcbiAgICBlcnJvcjogJyNmOGQ3ZGEnLFxuICAgIGluZm86ICd2YXIoLS1iZy1kYXJrKScsXG4gIH1cbiAgY29uc3QgY29sb3JNYXA6IFJlY29yZDxUb2FzdFR5cGUsIHN0cmluZz4gPSB7XG4gICAgc3VjY2VzczogJ3ZhcigtLXRlYWwtOTAwKScsXG4gICAgZXJyb3I6ICcjYzAzOTJiJyxcbiAgICBpbmZvOiAndmFyKC0tcGFwZXIpJyxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYmFja2dyb3VuZDogYmdNYXBbdG9hc3QudHlwZV0sXG4gICAgICAgIGNvbG9yOiBjb2xvck1hcFt0b2FzdC50eXBlXSxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1tZCknLFxuICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTQpJyxcbiAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LXNtYWxsKScsXG4gICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgYm94U2hhZG93OiAndmFyKC0tc2hhZG93LXNvZnQpJyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICAgICAgZ2FwOiAndmFyKC0tcy0zKScsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxzcGFuPnt0b2FzdC5tZXNzYWdlfTwvc3Bhbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgb25DbGljaz17KCkgPT4gb25EaXNtaXNzKHRvYXN0LmlkKX1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAnbm9uZScsXG4gICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgY29sb3I6ICdpbmhlcml0JyxcbiAgICAgICAgICBmb250U2l6ZTogJzE4cHgnLFxuICAgICAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICAgICAgcGFkZGluZzogMCxcbiAgICAgICAgICBtaW5XaWR0aDogJzI0cHgnLFxuICAgICAgICAgIG1pbkhlaWdodDogJzI0cHgnLFxuICAgICAgICB9fVxuICAgICAgICBhcmlhLWxhYmVsPVwiRGlzbWlzc1wiXG4gICAgICA+XG4gICAgICAgIMOXXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlVG9hc3QoKTogVG9hc3RDb250ZXh0VmFsdWUge1xuICBjb25zdCBjdHggPSB1c2VDb250ZXh0KFRvYXN0Q29udGV4dClcbiAgaWYgKCFjdHgpIHRocm93IG5ldyBFcnJvcigndXNlVG9hc3QgbXVzdCBiZSB1c2VkIHdpdGhpbiBUb2FzdFByb3ZpZGVyJylcbiAgcmV0dXJuIGN0eFxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwiY3JlYXRlQ29udGV4dCIsInVzZUNvbnRleHQiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwiVG9hc3RDb250ZXh0IiwiVG9hc3RQcm92aWRlciIsImNoaWxkcmVuIiwidG9hc3RzIiwic2V0VG9hc3RzIiwic2hvd1RvYXN0IiwibWVzc2FnZSIsInR5cGUiLCJpZCIsIkRhdGUiLCJub3ciLCJNYXRoIiwicmFuZG9tIiwicHJldiIsImRpc21pc3MiLCJmaWx0ZXIiLCJ0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsImRpdiIsInN0eWxlIiwicG9zaXRpb24iLCJib3R0b20iLCJsZWZ0IiwidHJhbnNmb3JtIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJ6SW5kZXgiLCJ3aWR0aCIsIm1hcCIsIlRvYXN0SXRlbSIsInRvYXN0Iiwib25EaXNtaXNzIiwidGltZXIiLCJzZXRUaW1lb3V0IiwiY2xlYXJUaW1lb3V0IiwiYmdNYXAiLCJzdWNjZXNzIiwiZXJyb3IiLCJpbmZvIiwiY29sb3JNYXAiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJib3JkZXJSYWRpdXMiLCJwYWRkaW5nIiwiZm9udFNpemUiLCJmb250RmFtaWx5IiwiYm94U2hhZG93IiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50Iiwic3BhbiIsImJ1dHRvbiIsIm9uQ2xpY2siLCJib3JkZXIiLCJjdXJzb3IiLCJsaW5lSGVpZ2h0IiwibWluV2lkdGgiLCJtaW5IZWlnaHQiLCJhcmlhLWxhYmVsIiwidXNlVG9hc3QiLCJjdHgiLCJFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/Toast.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/auth.ts": +/*!*************************!*\ + !*** ./src/lib/auth.ts ***! + \*************************/ +/***/ ((__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 */ clearAuthCookies: () => (/* binding */ clearAuthCookies),\n/* harmony export */ getAuthUser: () => (/* binding */ getAuthUser),\n/* harmony export */ logout: () => (/* binding */ logout),\n/* harmony export */ syncAuthCookies: () => (/* binding */ syncAuthCookies)\n/* harmony export */ });\n/* harmony import */ var _pocketbase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* __next_internal_client_entry_do_not_use__ getAuthUser,syncAuthCookies,clearAuthCookies,logout auto */ \nconst COOKIE_TOKEN = \"pb_token\";\nconst COOKIE_ROLE = \"pb_role\";\nconst COOKIE_MAX_AGE = 60 * 60 * 24 * 14 // 14 days\n;\nfunction getAuthUser() {\n if (!_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.isValid) return null;\n return _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.model;\n}\nfunction syncAuthCookies() {\n if (_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.isValid && _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.token) {\n const user = _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.model;\n const role = user?.role ?? \"\";\n document.cookie = `${COOKIE_TOKEN}=${_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.token}; path=/; max-age=${COOKIE_MAX_AGE}; SameSite=Lax`;\n document.cookie = `${COOKIE_ROLE}=${role}; path=/; max-age=${COOKIE_MAX_AGE}; SameSite=Lax`;\n } else {\n clearAuthCookies();\n }\n}\nfunction clearAuthCookies() {\n document.cookie = `${COOKIE_TOKEN}=; path=/; max-age=0`;\n document.cookie = `${COOKIE_ROLE}=; path=/; max-age=0`;\n}\nfunction logout() {\n _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.clear();\n clearAuthCookies();\n window.location.href = \"/auth\";\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL2F1dGgudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7eUdBQ2lDO0FBR2pDLE1BQU1DLGVBQWU7QUFDckIsTUFBTUMsY0FBYztBQUNwQixNQUFNQyxpQkFBaUIsS0FBSyxLQUFLLEtBQUssR0FBRyxVQUFVOztBQUU1QyxTQUFTQztJQUNkLElBQUksQ0FBQ0osMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0MsT0FBTyxFQUFFLE9BQU87SUFDbEMsT0FBT04sMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0UsS0FBSztBQUMzQjtBQUVPLFNBQVNDO0lBQ2QsSUFBSVIsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0MsT0FBTyxJQUFJTiwyQ0FBRUEsQ0FBQ0ssU0FBUyxDQUFDSSxLQUFLLEVBQUU7UUFDOUMsTUFBTUMsT0FBT1YsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0UsS0FBSztRQUMvQixNQUFNSSxPQUFPRCxNQUFNQyxRQUFRO1FBQzNCQyxTQUFTQyxNQUFNLEdBQUcsQ0FBQyxFQUFFWixhQUFhLENBQUMsRUFBRUQsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0ksS0FBSyxDQUFDLGtCQUFrQixFQUFFTixlQUFlLGNBQWMsQ0FBQztRQUMxR1MsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVgsWUFBWSxDQUFDLEVBQUVTLEtBQUssa0JBQWtCLEVBQUVSLGVBQWUsY0FBYyxDQUFDO0lBQzdGLE9BQU87UUFDTFc7SUFDRjtBQUNGO0FBRU8sU0FBU0E7SUFDZEYsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVosYUFBYSxvQkFBb0IsQ0FBQztJQUN2RFcsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVgsWUFBWSxvQkFBb0IsQ0FBQztBQUN4RDtBQUVPLFNBQVNhO0lBQ2RmLDJDQUFFQSxDQUFDSyxTQUFTLENBQUNXLEtBQUs7SUFDbEJGO0lBQ0FHLE9BQU9DLFFBQVEsQ0FBQ0MsSUFBSSxHQUFHO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL2F1dGgudHM/NjY5MiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB7IHBiIH0gZnJvbSAnLi9wb2NrZXRiYXNlJ1xuaW1wb3J0IHR5cGUgeyBQQlVzZXIgfSBmcm9tICdAL3R5cGVzJ1xuXG5jb25zdCBDT09LSUVfVE9LRU4gPSAncGJfdG9rZW4nXG5jb25zdCBDT09LSUVfUk9MRSA9ICdwYl9yb2xlJ1xuY29uc3QgQ09PS0lFX01BWF9BR0UgPSA2MCAqIDYwICogMjQgKiAxNCAvLyAxNCBkYXlzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBdXRoVXNlcigpOiBQQlVzZXIgfCBudWxsIHtcbiAgaWYgKCFwYi5hdXRoU3RvcmUuaXNWYWxpZCkgcmV0dXJuIG51bGxcbiAgcmV0dXJuIHBiLmF1dGhTdG9yZS5tb2RlbCBhcyBQQlVzZXIgfCBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzeW5jQXV0aENvb2tpZXMoKTogdm9pZCB7XG4gIGlmIChwYi5hdXRoU3RvcmUuaXNWYWxpZCAmJiBwYi5hdXRoU3RvcmUudG9rZW4pIHtcbiAgICBjb25zdCB1c2VyID0gcGIuYXV0aFN0b3JlLm1vZGVsIGFzIFBCVXNlciB8IG51bGxcbiAgICBjb25zdCByb2xlID0gdXNlcj8ucm9sZSA/PyAnJ1xuICAgIGRvY3VtZW50LmNvb2tpZSA9IGAke0NPT0tJRV9UT0tFTn09JHtwYi5hdXRoU3RvcmUudG9rZW59OyBwYXRoPS87IG1heC1hZ2U9JHtDT09LSUVfTUFYX0FHRX07IFNhbWVTaXRlPUxheGBcbiAgICBkb2N1bWVudC5jb29raWUgPSBgJHtDT09LSUVfUk9MRX09JHtyb2xlfTsgcGF0aD0vOyBtYXgtYWdlPSR7Q09PS0lFX01BWF9BR0V9OyBTYW1lU2l0ZT1MYXhgXG4gIH0gZWxzZSB7XG4gICAgY2xlYXJBdXRoQ29va2llcygpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyQXV0aENvb2tpZXMoKTogdm9pZCB7XG4gIGRvY3VtZW50LmNvb2tpZSA9IGAke0NPT0tJRV9UT0tFTn09OyBwYXRoPS87IG1heC1hZ2U9MGBcbiAgZG9jdW1lbnQuY29va2llID0gYCR7Q09PS0lFX1JPTEV9PTsgcGF0aD0vOyBtYXgtYWdlPTBgXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2dvdXQoKTogdm9pZCB7XG4gIHBiLmF1dGhTdG9yZS5jbGVhcigpXG4gIGNsZWFyQXV0aENvb2tpZXMoKVxuICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvYXV0aCdcbn1cbiJdLCJuYW1lcyI6WyJwYiIsIkNPT0tJRV9UT0tFTiIsIkNPT0tJRV9ST0xFIiwiQ09PS0lFX01BWF9BR0UiLCJnZXRBdXRoVXNlciIsImF1dGhTdG9yZSIsImlzVmFsaWQiLCJtb2RlbCIsInN5bmNBdXRoQ29va2llcyIsInRva2VuIiwidXNlciIsInJvbGUiLCJkb2N1bWVudCIsImNvb2tpZSIsImNsZWFyQXV0aENvb2tpZXMiLCJsb2dvdXQiLCJjbGVhciIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/auth.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/hooks/usePBCollection.ts": +/*!******************************************!*\ + !*** ./src/lib/hooks/usePBCollection.ts ***! + \******************************************/ +/***/ ((__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 */ usePBCollection: () => (/* binding */ usePBCollection)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __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_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _lib_pocketbase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/lib/pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* __next_internal_client_entry_do_not_use__ usePBCollection auto */ \n\nfunction usePBCollection(collection, options) {\n const [items, setItems] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(true);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null);\n const [tick, setTick] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(0);\n const refresh = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{\n setTick((t)=>t + 1);\n }, []);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n let cancelled = false;\n async function load() {\n setLoading(true);\n setError(null);\n try {\n const result = await _lib_pocketbase__WEBPACK_IMPORTED_MODULE_1__.pb.collection(collection).getFullList({\n ...options ?? {}\n });\n if (!cancelled) {\n setItems(result);\n }\n } catch (err) {\n if (!cancelled) {\n setError(err instanceof Error ? err.message : \"Failed to load\");\n }\n } finally{\n if (!cancelled) {\n setLoading(false);\n }\n }\n }\n void load();\n return ()=>{\n cancelled = true;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n collection,\n tick\n ]);\n return {\n items,\n loading,\n error,\n refresh\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL2hvb2tzL3VzZVBCQ29sbGVjdGlvbi50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O3FFQUN3RDtBQUNuQjtBQVM5QixTQUFTSSxnQkFDZEMsVUFBa0IsRUFDbEJDLE9BQWlDO0lBRWpDLE1BQU0sQ0FBQ0MsT0FBT0MsU0FBUyxHQUFHUiwrQ0FBUUEsQ0FBTSxFQUFFO0lBQzFDLE1BQU0sQ0FBQ1MsU0FBU0MsV0FBVyxHQUFHViwrQ0FBUUEsQ0FBVTtJQUNoRCxNQUFNLENBQUNXLE9BQU9DLFNBQVMsR0FBR1osK0NBQVFBLENBQWdCO0lBQ2xELE1BQU0sQ0FBQ2EsTUFBTUMsUUFBUSxHQUFHZCwrQ0FBUUEsQ0FBUztJQUV6QyxNQUFNZSxVQUFVYixrREFBV0EsQ0FBQztRQUMxQlksUUFBUSxDQUFDRSxJQUFNQSxJQUFJO0lBQ3JCLEdBQUcsRUFBRTtJQUVMZixnREFBU0EsQ0FBQztRQUNSLElBQUlnQixZQUFZO1FBRWhCLGVBQWVDO1lBQ2JSLFdBQVc7WUFDWEUsU0FBUztZQUNULElBQUk7Z0JBQ0YsTUFBTU8sU0FBUyxNQUFNaEIsK0NBQUVBLENBQUNFLFVBQVUsQ0FBQ0EsWUFBWWUsV0FBVyxDQUFJO29CQUM1RCxHQUFJZCxXQUFXLENBQUMsQ0FBQztnQkFDbkI7Z0JBQ0EsSUFBSSxDQUFDVyxXQUFXO29CQUNkVCxTQUFTVztnQkFDWDtZQUNGLEVBQUUsT0FBT0UsS0FBSztnQkFDWixJQUFJLENBQUNKLFdBQVc7b0JBQ2RMLFNBQVNTLGVBQWVDLFFBQVFELElBQUlFLE9BQU8sR0FBRztnQkFDaEQ7WUFDRixTQUFVO2dCQUNSLElBQUksQ0FBQ04sV0FBVztvQkFDZFAsV0FBVztnQkFDYjtZQUNGO1FBQ0Y7UUFFQSxLQUFLUTtRQUNMLE9BQU87WUFDTEQsWUFBWTtRQUNkO0lBQ0EsdURBQXVEO0lBQ3pELEdBQUc7UUFBQ1o7UUFBWVE7S0FBSztJQUVyQixPQUFPO1FBQUVOO1FBQU9FO1FBQVNFO1FBQU9JO0lBQVE7QUFDMUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9saWIvaG9va3MvdXNlUEJDb2xsZWN0aW9uLnRzPzA2N2YiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgcGIgfSBmcm9tICdAL2xpYi9wb2NrZXRiYXNlJ1xuXG5pbnRlcmZhY2UgVXNlUEJDb2xsZWN0aW9uUmVzdWx0PFQ+IHtcbiAgaXRlbXM6IFRbXVxuICBsb2FkaW5nOiBib29sZWFuXG4gIGVycm9yOiBzdHJpbmcgfCBudWxsXG4gIHJlZnJlc2g6ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVBCQ29sbGVjdGlvbjxUPihcbiAgY29sbGVjdGlvbjogc3RyaW5nLFxuICBvcHRpb25zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4pOiBVc2VQQkNvbGxlY3Rpb25SZXN1bHQ8VD4ge1xuICBjb25zdCBbaXRlbXMsIHNldEl0ZW1zXSA9IHVzZVN0YXRlPFRbXT4oW10pXG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlPGJvb2xlYW4+KHRydWUpXG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW3RpY2ssIHNldFRpY2tdID0gdXNlU3RhdGU8bnVtYmVyPigwKVxuXG4gIGNvbnN0IHJlZnJlc2ggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0VGljaygodCkgPT4gdCArIDEpXG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGNhbmNlbGxlZCA9IGZhbHNlXG5cbiAgICBhc3luYyBmdW5jdGlvbiBsb2FkKCkge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKVxuICAgICAgc2V0RXJyb3IobnVsbClcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBiLmNvbGxlY3Rpb24oY29sbGVjdGlvbikuZ2V0RnVsbExpc3Q8VD4oe1xuICAgICAgICAgIC4uLihvcHRpb25zID8/IHt9KSxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKCFjYW5jZWxsZWQpIHtcbiAgICAgICAgICBzZXRJdGVtcyhyZXN1bHQpXG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoIWNhbmNlbGxlZCkge1xuICAgICAgICAgIHNldEVycm9yKGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiAnRmFpbGVkIHRvIGxvYWQnKVxuICAgICAgICB9XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpZiAoIWNhbmNlbGxlZCkge1xuICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB2b2lkIGxvYWQoKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjYW5jZWxsZWQgPSB0cnVlXG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW2NvbGxlY3Rpb24sIHRpY2tdKVxuXG4gIHJldHVybiB7IGl0ZW1zLCBsb2FkaW5nLCBlcnJvciwgcmVmcmVzaCB9XG59XG4iXSwibmFtZXMiOlsidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJ1c2VDYWxsYmFjayIsInBiIiwidXNlUEJDb2xsZWN0aW9uIiwiY29sbGVjdGlvbiIsIm9wdGlvbnMiLCJpdGVtcyIsInNldEl0ZW1zIiwibG9hZGluZyIsInNldExvYWRpbmciLCJlcnJvciIsInNldEVycm9yIiwidGljayIsInNldFRpY2siLCJyZWZyZXNoIiwidCIsImNhbmNlbGxlZCIsImxvYWQiLCJyZXN1bHQiLCJnZXRGdWxsTGlzdCIsImVyciIsIkVycm9yIiwibWVzc2FnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/hooks/usePBCollection.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/pocketbase.ts": +/*!*******************************!*\ + !*** ./src/lib/pocketbase.ts ***! + \*******************************/ +/***/ ((__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 */ pb: () => (/* binding */ pb)\n/* harmony export */ });\n/* harmony import */ var pocketbase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pocketbase */ \"(ssr)/./node_modules/pocketbase/dist/pocketbase.es.mjs\");\n/* __next_internal_client_entry_do_not_use__ pb auto */ \nconst pb = new pocketbase__WEBPACK_IMPORTED_MODULE_0__[\"default\"](\"http://localhost:8090\" ?? 0);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL3BvY2tldGJhc2UudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7d0RBQ21DO0FBRTVCLE1BQU1DLEtBQUssSUFBSUQsa0RBQVVBLENBQUNFLHVCQUFzQyxJQUFJLEdBQXdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL3BvY2tldGJhc2UudHM/ZTY1NyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBQb2NrZXRCYXNlIGZyb20gJ3BvY2tldGJhc2UnXG5cbmV4cG9ydCBjb25zdCBwYiA9IG5ldyBQb2NrZXRCYXNlKHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX1BPQ0tFVEJBU0VfVVJMID8/ICdodHRwOi8vbG9jYWxob3N0OjgwOTAnKVxuIl0sIm5hbWVzIjpbIlBvY2tldEJhc2UiLCJwYiIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19QT0NLRVRCQVNFX1VSTCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/pocketbase.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/services.ts": +/*!*****************************!*\ + !*** ./src/lib/services.ts ***! + \*****************************/ +/***/ ((__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 */ getFeed: () => (/* binding */ getFeed),\n/* harmony export */ getIngestionStatus: () => (/* binding */ getIngestionStatus),\n/* harmony export */ getLeaderboard: () => (/* binding */ getLeaderboard),\n/* harmony export */ patchCurriculumWeekOrder: () => (/* binding */ patchCurriculumWeekOrder),\n/* harmony export */ postComplete: () => (/* binding */ postComplete),\n/* harmony export */ postCurriculumConfirm: () => (/* binding */ postCurriculumConfirm),\n/* harmony export */ postGenerateAll: () => (/* binding */ postGenerateAll),\n/* harmony export */ postIngest: () => (/* binding */ postIngest)\n/* harmony export */ });\nconst INGESTION_URL = \"http://localhost:3001\" ?? 0;\nconst GENERATION_URL = \"http://localhost:3002\" ?? 0;\nconst CURRICULUM_URL = \"http://localhost:3003\" ?? 0;\nconst PROGRESS_URL = \"http://localhost:3005\" ?? 0;\nasync function handleResponse(res) {\n if (!res.ok) {\n const text = await res.text().catch(()=>res.statusText);\n throw new Error(`HTTP ${res.status}: ${text}`);\n }\n return res.json();\n}\nasync function postIngest(formData) {\n const res = await fetch(`${INGESTION_URL}/ingest`, {\n method: \"POST\",\n body: formData\n });\n return handleResponse(res);\n}\nasync function getIngestionStatus(jobId) {\n const res = await fetch(`${INGESTION_URL}/ingest/${encodeURIComponent(jobId)}/status`);\n return handleResponse(res);\n}\nasync function postGenerateAll(themeId) {\n const res = await fetch(`${GENERATION_URL}/generate/theme/${encodeURIComponent(themeId)}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n }\n });\n return handleResponse(res);\n}\nasync function postComplete(payload) {\n const res = await fetch(`${PROGRESS_URL}/complete`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(payload)\n });\n return handleResponse(res);\n}\nasync function getLeaderboard() {\n const res = await fetch(`${PROGRESS_URL}/leaderboard`);\n return handleResponse(res);\n}\nasync function getFeed() {\n const res = await fetch(`${PROGRESS_URL}/feed`);\n return handleResponse(res);\n}\nasync function postCurriculumConfirm(versionId) {\n const res = await fetch(`${CURRICULUM_URL}/curriculum/versions/${encodeURIComponent(versionId)}/confirm`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n }\n });\n if (!res.ok) {\n const text = await res.text().catch(()=>res.statusText);\n throw new Error(`HTTP ${res.status}: ${text}`);\n }\n}\nasync function patchCurriculumWeekOrder(weekId, position) {\n const res = await fetch(`${CURRICULUM_URL}/curriculum/weeks/${encodeURIComponent(weekId)}/order`, {\n method: \"PATCH\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n position\n })\n });\n if (!res.ok) {\n const text = await res.text().catch(()=>res.statusText);\n throw new Error(`HTTP ${res.status}: ${text}`);\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUNsQztJQUVGLElBQUksQ0FBQzdCLElBQUlDLEVBQUUsRUFBRTtRQUNYLE1BQU1DLE9BQU8sTUFBTUYsSUFBSUUsSUFBSSxHQUFHQyxLQUFLLENBQUMsSUFBTUgsSUFBSUksVUFBVTtRQUN4RCxNQUFNLElBQUlDLE1BQU0sQ0FBQyxLQUFLLEVBQUVMLElBQUlNLE1BQU0sQ0FBQyxFQUFFLEVBQUVKLEtBQUssQ0FBQztJQUMvQztBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL3NlcnZpY2VzLnRzPzA3MDEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBJbmdlc3Rpb25Kb2JTdGF0dXMsXG4gIENvbXBsZXRlUGF5bG9hZCxcbiAgQ29tcGxldGVSZXNwb25zZSxcbiAgTGVhZGVyYm9hcmRFbnRyeSxcbiAgRmVlZEVudHJ5LFxufSBmcm9tICdAL3R5cGVzJ1xuXG5jb25zdCBJTkdFU1RJT05fVVJMID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfSU5HRVNUSU9OX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDAxJ1xuY29uc3QgR0VORVJBVElPTl9VUkwgPSBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19HRU5FUkFUSU9OX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDAyJ1xuY29uc3QgQ1VSUklDVUxVTV9VUkwgPSBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19DVVJSSUNVTFVNX1VSTCA/PyAnaHR0cDovL2xvY2FsaG9zdDozMDAzJ1xuY29uc3QgUFJPR1JFU1NfVVJMID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfUFJPR1JFU1NfVVJMID8/ICdodHRwOi8vbG9jYWxob3N0OjMwMDUnXG5cbmFzeW5jIGZ1bmN0aW9uIGhhbmRsZVJlc3BvbnNlPFQ+KHJlczogUmVzcG9uc2UpOiBQcm9taXNlPFQ+IHtcbiAgaWYgKCFyZXMub2spIHtcbiAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVzLnRleHQoKS5jYXRjaCgoKSA9PiByZXMuc3RhdHVzVGV4dClcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEhUVFAgJHtyZXMuc3RhdHVzfTogJHt0ZXh0fWApXG4gIH1cbiAgcmV0dXJuIHJlcy5qc29uKCkgYXMgUHJvbWlzZTxUPlxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcG9zdEluZ2VzdChmb3JtRGF0YTogRm9ybURhdGEpOiBQcm9taXNlPHsgam9iSWQ6IHN0cmluZyB9PiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke0lOR0VTVElPTl9VUkx9L2luZ2VzdGAsIHtcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBib2R5OiBmb3JtRGF0YSxcbiAgfSlcbiAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlPHsgam9iSWQ6IHN0cmluZyB9PihyZXMpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRJbmdlc3Rpb25TdGF0dXMoam9iSWQ6IHN0cmluZyk6IFByb21pc2U8SW5nZXN0aW9uSm9iU3RhdHVzPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke0lOR0VTVElPTl9VUkx9L2luZ2VzdC8ke2VuY29kZVVSSUNvbXBvbmVudChqb2JJZCl9L3N0YXR1c2ApXG4gIHJldHVybiBoYW5kbGVSZXNwb25zZTxJbmdlc3Rpb25Kb2JTdGF0dXM+KHJlcylcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBvc3RHZW5lcmF0ZUFsbCh0aGVtZUlkOiBzdHJpbmcpOiBQcm9taXNlPHsgcXVldWVkOiBudW1iZXIgfT4ge1xuICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtHRU5FUkFUSU9OX1VSTH0vZ2VuZXJhdGUvdGhlbWUvJHtlbmNvZGVVUklDb21wb25lbnQodGhlbWVJZCl9YCwge1xuICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICB9KVxuICByZXR1cm4gaGFuZGxlUmVzcG9uc2U8eyBxdWV1ZWQ6IG51bWJlciB9PihyZXMpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwb3N0Q29tcGxldGUocGF5bG9hZDogQ29tcGxldGVQYXlsb2FkKTogUHJvbWlzZTxDb21wbGV0ZVJlc3BvbnNlPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke1BST0dSRVNTX1VSTH0vY29tcGxldGVgLCB7XG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgYm9keTogSlNPTi5zdHJpbmdpZnkocGF5bG9hZCksXG4gIH0pXG4gIHJldHVybiBoYW5kbGVSZXNwb25zZTxDb21wbGV0ZVJlc3BvbnNlPihyZXMpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRMZWFkZXJib2FyZCgpOiBQcm9taXNlPExlYWRlcmJvYXJkRW50cnlbXT4ge1xuICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtQUk9HUkVTU19VUkx9L2xlYWRlcmJvYXJkYClcbiAgcmV0dXJuIGhhbmRsZVJlc3BvbnNlPExlYWRlcmJvYXJkRW50cnlbXT4ocmVzKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RmVlZCgpOiBQcm9taXNlPEZlZWRFbnRyeVtdPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke1BST0dSRVNTX1VSTH0vZmVlZGApXG4gIHJldHVybiBoYW5kbGVSZXNwb25zZTxGZWVkRW50cnlbXT4ocmVzKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcG9zdEN1cnJpY3VsdW1Db25maXJtKHZlcnNpb25JZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKFxuICAgIGAke0NVUlJJQ1VMVU1fVVJMfS9jdXJyaWN1bHVtL3ZlcnNpb25zLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHZlcnNpb25JZCl9L2NvbmZpcm1gLFxuICAgIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgfSxcbiAgKVxuICBpZiAoIXJlcy5vaykge1xuICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpLmNhdGNoKCgpID0+IHJlcy5zdGF0dXNUZXh0KVxuICAgIHRocm93IG5ldyBFcnJvcihgSFRUUCAke3Jlcy5zdGF0dXN9OiAke3RleHR9YClcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGF0Y2hDdXJyaWN1bHVtV2Vla09yZGVyKHdlZWtJZDogc3RyaW5nLCBwb3NpdGlvbjogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKFxuICAgIGAke0NVUlJJQ1VMVU1fVVJMfS9jdXJyaWN1bHVtL3dlZWtzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHdlZWtJZCl9L29yZGVyYCxcbiAgICB7XG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgcG9zaXRpb24gfSksXG4gICAgfSxcbiAgKVxuICBpZiAoIXJlcy5vaykge1xuICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpLmNhdGNoKCgpID0+IHJlcy5zdGF0dXNUZXh0KVxuICAgIHRocm93IG5ldyBFcnJvcihgSFRUUCAke3Jlcy5zdGF0dXN9OiAke3RleHR9YClcbiAgfVxufVxuIl0sIm5hbWVzIjpbIklOR0VTVElPTl9VUkwiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9QVUJMSUNfSU5HRVNUSU9OX1VSTCIsIkdFTkVSQVRJT05fVVJMIiwiTkVYVF9QVUJMSUNfR0VORVJBVElPTl9VUkwiLCJDVVJSSUNVTFVNX1VSTCIsIk5FWFRfUFVCTElDX0NVUlJJQ1VMVU1fVVJMIiwiUFJPR1JFU1NfVVJMIiwiTkVYVF9QVUJMSUNfUFJPR1JFU1NfVVJMIiwiaGFuZGxlUmVzcG9uc2UiLCJyZXMiLCJvayIsInRleHQiLCJjYXRjaCIsInN0YXR1c1RleHQiLCJFcnJvciIsInN0YXR1cyIsImpzb24iLCJwb3N0SW5nZXN0IiwiZm9ybURhdGEiLCJmZXRjaCIsIm1ldGhvZCIsImJvZHkiLCJnZXRJbmdlc3Rpb25TdGF0dXMiLCJqb2JJZCIsImVuY29kZVVSSUNvbXBvbmVudCIsInBvc3RHZW5lcmF0ZUFsbCIsInRoZW1lSWQiLCJoZWFkZXJzIiwicG9zdENvbXBsZXRlIiwicGF5bG9hZCIsIkpTT04iLCJzdHJpbmdpZnkiLCJnZXRMZWFkZXJib2FyZCIsImdldEZlZWQiLCJwb3N0Q3VycmljdWx1bUNvbmZpcm0iLCJ2ZXJzaW9uSWQiLCJwYXRjaEN1cnJpY3VsdW1XZWVrT3JkZXIiLCJ3ZWVrSWQiLCJwb3NpdGlvbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/services.ts\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__ = (\"a462ed02aa71\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL2dsb2JhbHMuY3NzPzU5MTYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgXCJhNDYyZWQwMmFhNzFcIlxuaWYgKG1vZHVsZS5ob3QpIHsgbW9kdWxlLmhvdC5hY2NlcHQoKSB9XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); + +/***/ }), + +/***/ "(rsc)/../../stylesheet.css": +/*!****************************!*\ + !*** ../../stylesheet.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__ = (\"5511d51fa1af\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi4vLi4vc3R5bGVzaGVldC5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi9zdHlsZXNoZWV0LmNzcz9mYjhjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNTUxMWQ1MWZhMWFmXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/../../stylesheet.css\n"); + +/***/ }), + +/***/ "(rsc)/./src/app/app/layout.tsx": +/*!********************************!*\ + !*** ./src/app/app/layout.tsx ***! + \********************************/ +/***/ ((__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`C:\Users\RaymondVerhoef\Gitea\learning-platform\app\frontend\src\app\app\layout.tsx#default`)); + + +/***/ }), + +/***/ "(rsc)/./src/app/app/session/page.tsx": +/*!**************************************!*\ + !*** ./src/app/app/session/page.tsx ***! + \**************************************/ +/***/ ((__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`C:\Users\RaymondVerhoef\Gitea\learning-platform\app\frontend\src\app\app\session\page.tsx#default`)); + + +/***/ }), + +/***/ "(rsc)/./src/app/layout.tsx": +/*!****************************!*\ + !*** ./src/app/layout.tsx ***! + \****************************/ +/***/ ((__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 */ viewport: () => (/* binding */ viewport)\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 _stylesheet_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../stylesheet.css */ \"(rsc)/../../stylesheet.css\");\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n\n\n\nconst metadata = {\n title: \"Learning Platform\",\n description: \"Employee knowledge and learning\",\n manifest: \"/manifest.json\",\n appleWebApp: {\n capable: true,\n statusBarStyle: \"default\",\n title: \"Learning Platform\"\n }\n};\nconst viewport = {\n themeColor: \"#1F5560\",\n width: \"device-width\",\n initialScale: 1,\n maximumScale: 1\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 29,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDbUM7QUFDYjtBQUVmLE1BQU1BLFdBQXFCO0lBQ2hDQyxPQUFPO0lBQ1BDLGFBQWE7SUFDYkMsVUFBVTtJQUNWQyxhQUFhO1FBQ1hDLFNBQVM7UUFDVEMsZ0JBQWdCO1FBQ2hCTCxPQUFPO0lBQ1Q7QUFDRixFQUFDO0FBRU0sTUFBTU0sV0FBcUI7SUFDaENDLFlBQVk7SUFDWkMsT0FBTztJQUNQQyxjQUFjO0lBQ2RDLGNBQWM7QUFDaEIsRUFBQztBQUVjLFNBQVNDLFdBQVcsRUFDakNDLFFBQVEsRUFHVDtJQUNDLHFCQUNFLDhEQUFDQztRQUFLQyxNQUFLO2tCQUNULDRFQUFDQztzQkFBTUg7Ozs7Ozs7Ozs7O0FBR2IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9hcHAvbGF5b3V0LnRzeD81N2E5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEsIFZpZXdwb3J0IH0gZnJvbSAnbmV4dCdcbmltcG9ydCAnLi4vLi4vLi4vLi4vc3R5bGVzaGVldC5jc3MnXG5pbXBvcnQgJy4vZ2xvYmFscy5jc3MnXG5cbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XG4gIHRpdGxlOiAnTGVhcm5pbmcgUGxhdGZvcm0nLFxuICBkZXNjcmlwdGlvbjogJ0VtcGxveWVlIGtub3dsZWRnZSBhbmQgbGVhcm5pbmcnLFxuICBtYW5pZmVzdDogJy9tYW5pZmVzdC5qc29uJyxcbiAgYXBwbGVXZWJBcHA6IHtcbiAgICBjYXBhYmxlOiB0cnVlLFxuICAgIHN0YXR1c0JhclN0eWxlOiAnZGVmYXVsdCcsXG4gICAgdGl0bGU6ICdMZWFybmluZyBQbGF0Zm9ybScsXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCB2aWV3cG9ydDogVmlld3BvcnQgPSB7XG4gIHRoZW1lQ29sb3I6ICcjMUY1NTYwJyxcbiAgd2lkdGg6ICdkZXZpY2Utd2lkdGgnLFxuICBpbml0aWFsU2NhbGU6IDEsXG4gIG1heGltdW1TY2FsZTogMSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7XG4gIGNoaWxkcmVuLFxufToge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8Ym9keT57Y2hpbGRyZW59PC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIm1hbmlmZXN0IiwiYXBwbGVXZWJBcHAiLCJjYXBhYmxlIiwic3RhdHVzQmFyU3R5bGUiLCJ2aWV3cG9ydCIsInRoZW1lQ29sb3IiLCJ3aWR0aCIsImluaXRpYWxTY2FsZSIsIm1heGltdW1TY2FsZSIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwiYm9keSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\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","vendor-chunks/pocketbase"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp%2Fsession%2Fpage&page=%2Fapp%2Fsession%2Fpage&appPaths=%2Fapp%2Fsession%2Fpage&pagePath=private-next-app-dir%2Fapp%2Fsession%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); +module.exports = __webpack_exports__; + +})(); \ No newline at end of file diff --git a/app/frontend/.next/server/app/app/session/page_client-reference-manifest.js b/app/frontend/.next/server/app/app/session/page_client-reference-manifest.js new file mode 100644 index 0000000..babf12e --- /dev/null +++ b/app/frontend/.next/server/app/app/session/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/app/session/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/auth/page.tsx":{"*":{"id":"(ssr)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/layout.tsx":{"*":{"id":"(ssr)/./src/app/admin/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/documents/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/knowledge/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/curriculum/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/layout.tsx":{"*":{"id":"(ssr)/./src/app/app/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/session/page.tsx":{"*":{"id":"(ssr)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/library/page.tsx":{"*":{"id":"(ssr)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\stylesheet.css":{"id":"(app-pages-browser)/../../stylesheet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\auth\\page.tsx":{"id":"(app-pages-browser)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\layout.tsx":{"id":"(app-pages-browser)/./src/app/admin/layout.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\documents\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\knowledge\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\curriculum\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\layout.tsx":{"id":"(app-pages-browser)/./src/app/app/layout.tsx","name":"*","chunks":["app/app/layout","static/chunks/app/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\session\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/session/page.tsx","name":"*","chunks":["app/app/session/page","static/chunks/app/app/session/page.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\library\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\layout":["static/css/app/layout.css"],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\layout":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\session\\page":[]}} \ No newline at end of file diff --git a/app/frontend/.next/server/app/auth/page.js b/app/frontend/.next/server/app/auth/page.js new file mode 100644 index 0000000..7e58e5f --- /dev/null +++ b/app/frontend/.next/server/app/auth/page.js @@ -0,0 +1,205 @@ +/* + * 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/auth/page"; +exports.ids = ["app/auth/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%2Fauth%2Fpage&page=%2Fauth%2Fpage&appPaths=%2Fauth%2Fpage&pagePath=private-next-app-dir%2Fauth%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%2Fauth%2Fpage&page=%2Fauth%2Fpage&appPaths=%2Fauth%2Fpage&pagePath=private-next-app-dir%2Fauth%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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?d969\");\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 'auth',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/auth/page.tsx */ \"(rsc)/./src/app/auth/page.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\auth\\\\page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\"],\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 = [\"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\auth\\\\page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/auth/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: \"/auth/page\",\n pathname: \"/auth\",\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/bmFtZT1hcHAlMkZhdXRoJTJGcGFnZSZwYWdlPSUyRmF1dGglMkZwYWdlJmFwcFBhdGhzPSUyRmF1dGglMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGYXV0aCUyRnBhZ2UudHN4JmFwcERpcj1DJTNBJTVDVXNlcnMlNUNSYXltb25kVmVyaG9lZiU1Q0dpdGVhJTVDbGVhcm5pbmctcGxhdGZvcm0lNUNhcHAlNUNmcm9udGVuZCU1Q3NyYyU1Q2FwcCZwYWdlRXh0ZW5zaW9ucz10c3gmcGFnZUV4dGVuc2lvbnM9dHMmcGFnZUV4dGVuc2lvbnM9anN4JnBhZ2VFeHRlbnNpb25zPWpzJnJvb3REaXI9QyUzQSU1Q1VzZXJzJTVDUmF5bW9uZFZlcmhvZWYlNUNHaXRlYSU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDYXBwJTVDZnJvbnRlbmQmaXNEZXY9dHJ1ZSZ0c2NvbmZpZ1BhdGg9dHNjb25maWcuanNvbiZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JnByZWZlcnJlZFJlZ2lvbj0mbWlkZGxld2FyZUNvbmZpZz1lMzAlM0QhIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxhQUFhLHNCQUFzQjtBQUNpRTtBQUNyQztBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakMsdUJBQXVCLDBKQUFpSTtBQUN4SjtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLHlCQUF5QixvSkFBNkg7QUFDdEosb0JBQW9CLDBOQUFnRjtBQUNwRztBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDdUI7QUFDNkQ7QUFDcEYsNkJBQTZCLG1CQUFtQjtBQUNoRDtBQUNPO0FBQ0E7QUFDUDtBQUNBO0FBQ0E7QUFDdUQ7QUFDdkQ7QUFDTyx3QkFBd0IsOEdBQWtCO0FBQ2pEO0FBQ0EsY0FBYyx5RUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLz9iZGRlIl0sInNvdXJjZXNDb250ZW50IjpbIlwiVFVSQk9QQUNLIHsgdHJhbnNpdGlvbjogbmV4dC1zc3IgfVwiO1xuaW1wb3J0IHsgQXBwUGFnZVJvdXRlTW9kdWxlIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkXCI7XG5pbXBvcnQgeyBSb3V0ZUtpbmQgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZFwiO1xuLy8gV2UgaW5qZWN0IHRoZSB0cmVlIGFuZCBwYWdlcyBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxuLy8gbW9kdWxlLlxuY29uc3QgdHJlZSA9IHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJycsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJ2F1dGgnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbJ19fUEFHRV9fJywge30sIHtcbiAgICAgICAgICBwYWdlOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxhdXRoXFxcXHBhZ2UudHN4XCIpLCBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGF1dGhcXFxccGFnZS50c3hcIl0sXG4gICAgICAgICAgXG4gICAgICAgIH1dXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGxheW91dC50c3hcIiksIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcbGF5b3V0LnRzeFwiXSxcbidub3QtZm91bmQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCIpLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIl0sXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfS5jaGlsZHJlbjtcbmNvbnN0IHBhZ2VzID0gW1wiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcYXV0aFxcXFxwYWdlLnRzeFwiXTtcbmV4cG9ydCB7IHRyZWUsIHBhZ2VzIH07XG5leHBvcnQgeyBkZWZhdWx0IGFzIEdsb2JhbEVycm9yIH0gZnJvbSBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9lcnJvci1ib3VuZGFyeVwiO1xuY29uc3QgX19uZXh0X2FwcF9yZXF1aXJlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fXG5jb25zdCBfX25leHRfYXBwX2xvYWRfY2h1bmtfXyA9ICgpID0+IFByb21pc2UucmVzb2x2ZSgpXG5leHBvcnQgY29uc3Qgb3JpZ2luYWxQYXRobmFtZSA9IFwiL2F1dGgvcGFnZVwiO1xuZXhwb3J0IGNvbnN0IF9fbmV4dF9hcHBfXyA9IHtcbiAgICByZXF1aXJlOiBfX25leHRfYXBwX3JlcXVpcmVfXyxcbiAgICBsb2FkQ2h1bms6IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fXG59O1xuZXhwb3J0ICogZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9lbnRyeS1iYXNlXCI7XG4vLyBDcmVhdGUgYW5kIGV4cG9ydCB0aGUgcm91dGUgbW9kdWxlIHRoYXQgd2lsbCBiZSBjb25zdW1lZC5cbmV4cG9ydCBjb25zdCByb3V0ZU1vZHVsZSA9IG5ldyBBcHBQYWdlUm91dGVNb2R1bGUoe1xuICAgIGRlZmluaXRpb246IHtcbiAgICAgICAga2luZDogUm91dGVLaW5kLkFQUF9QQUdFLFxuICAgICAgICBwYWdlOiBcIi9hdXRoL3BhZ2VcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL2F1dGhcIixcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmVuJ3QgdXNlZCBpbiBwcm9kdWN0aW9uLlxuICAgICAgICBidW5kbGVQYXRoOiBcIlwiLFxuICAgICAgICBmaWxlbmFtZTogXCJcIixcbiAgICAgICAgYXBwUGF0aHM6IFtdXG4gICAgfSxcbiAgICB1c2VybGFuZDoge1xuICAgICAgICBsb2FkZXJUcmVlOiB0cmVlXG4gICAgfVxufSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1wYWdlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fauth%2Fpage&page=%2Fauth%2Fpage&appPaths=%2Fauth%2Fpage&pagePath=private-next-app-dir%2Fauth%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJDJTNBJTVDJTVDVXNlcnMlNUMlNUNSYXltb25kVmVyaG9lZiU1QyU1Q0dpdGVhJTVDJTVDbGVhcm5pbmctcGxhdGZvcm0lNUMlNUNhcHAlNUMlNUNmcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2NsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyQyUzQSU1QyU1Q1VzZXJzJTVDJTVDUmF5bW9uZFZlcmhvZWYlNUMlNUNHaXRlYSU1QyU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDJTVDYXBwJTVDJTVDZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQW9LO0FBQ3BLO0FBQ0Esb09BQXFLO0FBQ3JLO0FBQ0EsME9BQXdLO0FBQ3hLO0FBQ0Esd09BQXVLO0FBQ3ZLO0FBQ0Esa1BBQTRLO0FBQzVLO0FBQ0Esc1FBQXNMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzcyOWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxhcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxcZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXGxheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXG5vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxccmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cauth%5C%5Cpage.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cauth%5C%5Cpage.tsx%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/auth/page.tsx */ \"(ssr)/./src/app/auth/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDc3JjJTVDJTVDYXBwJTVDJTVDYXV0aCU1QyU1Q3BhZ2UudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSwwSkFBaUkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8/NTk1YSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXGF1dGhcXFxccGFnZS50c3hcIik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cauth%5C%5Cpage.tsx%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! + \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ (() => { + + + +/***/ }), + +/***/ "(ssr)/./src/app/auth/page.tsx": +/*!*******************************!*\ + !*** ./src/app/auth/page.tsx ***! + \*******************************/ +/***/ ((__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 */ AuthPage)\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_pocketbase__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* harmony import */ var _lib_auth__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/lib/auth */ \"(ssr)/./src/lib/auth.ts\");\n/* harmony import */ var _components_ui_Button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/Button */ \"(ssr)/./src/components/ui/Button.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\nfunction AuthPage() {\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)();\n const [email, setEmail] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [password, setPassword] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n async function handleSubmit(e) {\n e.preventDefault();\n if (!email || !password) return;\n setLoading(true);\n setError(null);\n try {\n await _lib_pocketbase__WEBPACK_IMPORTED_MODULE_3__.pb.collection(\"users\").authWithPassword(email, password);\n (0,_lib_auth__WEBPACK_IMPORTED_MODULE_4__.syncAuthCookies)();\n const user = _lib_pocketbase__WEBPACK_IMPORTED_MODULE_3__.pb.authStore.model;\n if (user?.role === \"admin\") {\n router.push(\"/admin\");\n } else {\n router.push(\"/app\");\n }\n } catch (err) {\n setError(err instanceof Error ? err.message : \"Login failed. Check your credentials.\");\n } finally{\n setLoading(false);\n }\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n style: {\n minHeight: \"100dvh\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n padding: \"var(--s-5)\",\n background: \"var(--bg)\"\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n width: \"100%\",\n maxWidth: \"400px\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-6)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n textAlign: \"center\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n width: \"64px\",\n height: \"64px\",\n borderRadius: \"50%\",\n background: \"var(--bg-dark)\",\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n color: \"var(--paper)\",\n fontSize: \"var(--t-h3)\",\n fontWeight: 700,\n marginBottom: \"var(--s-4)\"\n },\n children: \"L\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\auth\\\\page.tsx\",\n lineNumber: 63,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n style: {\n margin: \"0 0 var(--s-2)\",\n fontSize: \"var(--t-h3)\",\n fontWeight: 700,\n color: \"var(--fg)\"\n },\n children: \"Learning Platform\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\auth\\\\page.tsx\",\n lineNumber: 80,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n style: {\n margin: 0,\n fontSize: \"var(--t-body)\",\n color: \"var(--fg-muted)\"\n },\n children: \"Sign in to continue\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\auth\\\\page.tsx\",\n lineNumber: 90,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\auth\\\\page.tsx\",\n lineNumber: 62,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: (e)=>void handleSubmit(e),\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-4)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-2)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: \"email\",\n style: {\n fontSize: \"var(--t-small)\",\n fontWeight: 600,\n color: \"var(--fg)\"\n },\n children: \"Email\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\auth\\\\page.tsx\",\n lineNumber: 101,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n id: \"email\",\n type: \"email\",\n value: email,\n onChange: (e)=>setEmail(e.target.value),\n required: true,\n autoComplete: \"email\",\n placeholder: \"you@company.com\",\n style: {\n width: \"100%\",\n borderRadius: \"var(--r-sm)\",\n border: \"1.5px solid var(--cream)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-body)\",\n fontFamily: \"var(--font-sans)\",\n color: \"var(--fg)\",\n background: \"var(--bg)\",\n outline: \"none\",\n minHeight: \"44px\",\n boxSizing: \"border-box\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\auth\\\\page.tsx\",\n lineNumber: 111,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\auth\\\\page.tsx\",\n lineNumber: 100,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--s-2)\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: \"password\",\n style: {\n fontSize: \"var(--t-small)\",\n fontWeight: 600,\n color: \"var(--fg)\"\n },\n children: \"Password\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\auth\\\\page.tsx\",\n lineNumber: 136,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n id: \"password\",\n type: \"password\",\n value: password,\n onChange: (e)=>setPassword(e.target.value),\n required: true,\n autoComplete: \"current-password\",\n placeholder: \"••••••••\",\n style: {\n width: \"100%\",\n borderRadius: \"var(--r-sm)\",\n border: \"1.5px solid var(--cream)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-body)\",\n fontFamily: \"var(--font-sans)\",\n color: \"var(--fg)\",\n background: \"var(--bg)\",\n outline: \"none\",\n minHeight: \"44px\",\n boxSizing: \"border-box\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\auth\\\\page.tsx\",\n lineNumber: 146,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\auth\\\\page.tsx\",\n lineNumber: 135,\n columnNumber: 11\n }, this),\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n style: {\n background: \"#f8d7da\",\n color: \"#c0392b\",\n borderRadius: \"var(--r-sm)\",\n padding: \"var(--s-3) var(--s-4)\",\n fontSize: \"var(--t-small)\"\n },\n children: error\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\auth\\\\page.tsx\",\n lineNumber: 171,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_Button__WEBPACK_IMPORTED_MODULE_5__.Button, {\n type: \"submit\",\n variant: \"primary\",\n size: \"lg\",\n loading: loading,\n style: {\n width: \"100%\"\n },\n children: \"Sign in\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\auth\\\\page.tsx\",\n lineNumber: 184,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\auth\\\\page.tsx\",\n lineNumber: 96,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\auth\\\\page.tsx\",\n lineNumber: 52,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\auth\\\\page.tsx\",\n lineNumber: 41,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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ZW5kLy4vc3JjL2FwcC9hdXRoL3BhZ2UudHN4P2VjMmUiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVJvdXRlciB9IGZyb20gJ25leHQvbmF2aWdhdGlvbidcbmltcG9ydCB7IHBiIH0gZnJvbSAnQC9saWIvcG9ja2V0YmFzZSdcbmltcG9ydCB7IHN5bmNBdXRoQ29va2llcyB9IGZyb20gJ0AvbGliL2F1dGgnXG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdAL2NvbXBvbmVudHMvdWkvQnV0dG9uJ1xuaW1wb3J0IHR5cGUgeyBQQlVzZXIgfSBmcm9tICdAL3R5cGVzJ1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBBdXRoUGFnZSgpIHtcbiAgY29uc3Qgcm91dGVyID0gdXNlUm91dGVyKClcbiAgY29uc3QgW2VtYWlsLCBzZXRFbWFpbF0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3QgW3Bhc3N3b3JkLCBzZXRQYXNzd29yZF0gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcblxuICBhc3luYyBmdW5jdGlvbiBoYW5kbGVTdWJtaXQoZTogUmVhY3QuRm9ybUV2ZW50PEhUTUxGb3JtRWxlbWVudD4pIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBpZiAoIWVtYWlsIHx8ICFwYXNzd29yZCkgcmV0dXJuXG5cbiAgICBzZXRMb2FkaW5nKHRydWUpXG4gICAgc2V0RXJyb3IobnVsbClcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBwYi5jb2xsZWN0aW9uKCd1c2VycycpLmF1dGhXaXRoUGFzc3dvcmQoZW1haWwsIHBhc3N3b3JkKVxuICAgICAgc3luY0F1dGhDb29raWVzKClcblxuICAgICAgY29uc3QgdXNlciA9IHBiLmF1dGhTdG9yZS5tb2RlbCBhcyBQQlVzZXIgfCBudWxsXG4gICAgICBpZiAodXNlcj8ucm9sZSA9PT0gJ2FkbWluJykge1xuICAgICAgICByb3V0ZXIucHVzaCgnL2FkbWluJylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJvdXRlci5wdXNoKCcvYXBwJylcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHNldEVycm9yKGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiAnTG9naW4gZmFpbGVkLiBDaGVjayB5b3VyIGNyZWRlbnRpYWxzLicpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8bWFpblxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgbWluSGVpZ2h0OiAnMTAwZHZoJyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtNSknLFxuICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmcpJyxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgbWF4V2lkdGg6ICc0MDBweCcsXG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgIGdhcDogJ3ZhcigtLXMtNiknLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7LyogTG9nbyAvIGJyYW5kICovfVxuICAgICAgICA8ZGl2IHN0eWxlPXt7IHRleHRBbGlnbjogJ2NlbnRlcicgfX0+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgd2lkdGg6ICc2NHB4JyxcbiAgICAgICAgICAgICAgaGVpZ2h0OiAnNjRweCcsXG4gICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZy1kYXJrKScsXG4gICAgICAgICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsXG4gICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tcGFwZXIpJyxcbiAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWgzKScsXG4gICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDcwMCxcbiAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAndmFyKC0tcy00KScsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIExcbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8aDFcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIG1hcmdpbjogJzAgMCB2YXIoLS1zLTIpJyxcbiAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWgzKScsXG4gICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IDcwMCxcbiAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZyknLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICBMZWFybmluZyBQbGF0Zm9ybVxuICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgPHAgc3R5bGU9e3sgbWFyZ2luOiAwLCBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLCBjb2xvcjogJ3ZhcigtLWZnLW11dGVkKScgfX0+XG4gICAgICAgICAgICBTaWduIGluIHRvIGNvbnRpbnVlXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7LyogRm9ybSAqL31cbiAgICAgICAgPGZvcm1cbiAgICAgICAgICBvblN1Ym1pdD17KGUpID0+IHZvaWQgaGFuZGxlU3VibWl0KGUpfVxuICAgICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogJ3ZhcigtLXMtNCknIH19XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogJ3ZhcigtLXMtMiknIH19PlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGh0bWxGb3I9XCJlbWFpbFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LXNtYWxsKScsXG4gICAgICAgICAgICAgICAgZm9udFdlaWdodDogNjAwLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgRW1haWxcbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgaWQ9XCJlbWFpbFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgIHZhbHVlPXtlbWFpbH1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXRFbWFpbChlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ5b3VAY29tcGFueS5jb21cIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1zbSknLFxuICAgICAgICAgICAgICAgIGJvcmRlcjogJzEuNXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJ3ZhcigtLXMtMykgdmFyKC0tcy00KScsXG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICAgICAgICAgICAgICBmb250RmFtaWx5OiAndmFyKC0tZm9udC1zYW5zKScsXG4gICAgICAgICAgICAgICAgY29sb3I6ICd2YXIoLS1mZyknLFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1iZyknLFxuICAgICAgICAgICAgICAgIG91dGxpbmU6ICdub25lJyxcbiAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6ICc0NHB4JyxcbiAgICAgICAgICAgICAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogJ3ZhcigtLXMtMiknIH19PlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGh0bWxGb3I9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICd2YXIoLS10LXNtYWxsKScsXG4gICAgICAgICAgICAgICAgZm9udFdlaWdodDogNjAwLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgUGFzc3dvcmRcbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgaWQ9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgIHZhbHVlPXtwYXNzd29yZH1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXRQYXNzd29yZChlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cImN1cnJlbnQtcGFzc3dvcmRcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuKAouKAouKAouKAouKAouKAouKAouKAolwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXNtKScsXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAnMS41cHggc29saWQgdmFyKC0tY3JlYW0pJyxcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTQpJyxcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogJ3ZhcigtLXQtYm9keSknLFxuICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWZnKScsXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWJnKScsXG4gICAgICAgICAgICAgICAgb3V0bGluZTogJ25vbmUnLFxuICAgICAgICAgICAgICAgIG1pbkhlaWdodDogJzQ0cHgnLFxuICAgICAgICAgICAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJyNmOGQ3ZGEnLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnI2MwMzkyYicsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAndmFyKC0tci1zbSknLFxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICd2YXIoLS1zLTMpIHZhcigtLXMtNCknLFxuICAgICAgICAgICAgICAgIGZvbnRTaXplOiAndmFyKC0tdC1zbWFsbCknLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7ZXJyb3J9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAgPEJ1dHRvbiB0eXBlPVwic3VibWl0XCIgdmFyaWFudD1cInByaW1hcnlcIiBzaXplPVwibGdcIiBsb2FkaW5nPXtsb2FkaW5nfSBzdHlsZT17eyB3aWR0aDogJzEwMCUnIH19PlxuICAgICAgICAgICAgU2lnbiBpblxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICA8L2Zvcm0+XG4gICAgICA8L2Rpdj5cbiAgICA8L21haW4+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlUm91dGVyIiwicGIiLCJzeW5jQXV0aENvb2tpZXMiLCJCdXR0b24iLCJBdXRoUGFnZSIsInJvdXRlciIsImVtYWlsIiwic2V0RW1haWwiLCJwYXNzd29yZCIsInNldFBhc3N3b3JkIiwibG9hZGluZyIsInNldExvYWRpbmciLCJlcnJvciIsInNldEVycm9yIiwiaGFuZGxlU3VibWl0IiwiZSIsInByZXZlbnREZWZhdWx0IiwiY29sbGVjdGlvbiIsImF1dGhXaXRoUGFzc3dvcmQiLCJ1c2VyIiwiYXV0aFN0b3JlIiwibW9kZWwiLCJyb2xlIiwicHVzaCIsImVyciIsIkVycm9yIiwibWVzc2FnZSIsIm1haW4iLCJzdHlsZSIsIm1pbkhlaWdodCIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwicGFkZGluZyIsImJhY2tncm91bmQiLCJkaXYiLCJ3aWR0aCIsIm1heFdpZHRoIiwiZ2FwIiwidGV4dEFsaWduIiwiaGVpZ2h0IiwiYm9yZGVyUmFkaXVzIiwiY29sb3IiLCJmb250U2l6ZSIsImZvbnRXZWlnaHQiLCJtYXJnaW5Cb3R0b20iLCJoMSIsIm1hcmdpbiIsInAiLCJmb3JtIiwib25TdWJtaXQiLCJsYWJlbCIsImh0bWxGb3IiLCJpbnB1dCIsImlkIiwidHlwZSIsInZhbHVlIiwib25DaGFuZ2UiLCJ0YXJnZXQiLCJyZXF1aXJlZCIsImF1dG9Db21wbGV0ZSIsInBsYWNlaG9sZGVyIiwiYm9yZGVyIiwiZm9udEZhbWlseSIsIm91dGxpbmUiLCJib3hTaXppbmciLCJ2YXJpYW50Iiwic2l6ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/app/auth/page.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/components/ui/Button.tsx": +/*!**************************************!*\ + !*** ./src/components/ui/Button.tsx ***! + \**************************************/ +/***/ ((__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 */ Button: () => (/* binding */ Button)\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/* __next_internal_client_entry_do_not_use__ Button auto */ \n\nconst variantStyles = {\n primary: {\n background: \"var(--accent)\",\n color: \"var(--paper)\",\n border: \"none\"\n },\n secondary: {\n background: \"var(--bg-warm)\",\n color: \"var(--fg)\",\n border: \"1.5px solid var(--cream)\"\n },\n danger: {\n background: \"#c0392b\",\n color: \"var(--paper)\",\n border: \"none\"\n },\n ghost: {\n background: \"transparent\",\n color: \"var(--fg)\",\n border: \"1.5px solid var(--cream)\"\n }\n};\nconst sizeStyles = {\n sm: {\n fontSize: \"var(--t-small)\",\n padding: \"var(--s-2) var(--s-3)\",\n minHeight: \"36px\",\n borderRadius: \"var(--r-sm)\"\n },\n md: {\n fontSize: \"var(--t-body)\",\n padding: \"var(--s-2) var(--s-5)\",\n minHeight: \"44px\",\n borderRadius: \"var(--r-md)\"\n },\n lg: {\n fontSize: \"var(--t-lead)\",\n padding: \"var(--s-3) var(--s-6)\",\n minHeight: \"52px\",\n borderRadius: \"var(--r-lg)\"\n }\n};\nfunction Button({ variant = \"primary\", size = \"md\", loading = false, disabled, children, style, ...rest }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n disabled: disabled ?? loading,\n style: {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"var(--s-2)\",\n fontFamily: \"var(--font-sans)\",\n fontWeight: 500,\n cursor: disabled ?? loading ? \"not-allowed\" : \"pointer\",\n opacity: disabled ?? loading ? 0.6 : 1,\n transition: \"opacity 150ms, transform 100ms\",\n ...variantStyles[variant],\n ...sizeStyles[size],\n ...style\n },\n ...rest,\n children: loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Spinner, {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 88,\n columnNumber: 11\n }, this),\n children\n ]\n }, void 0, true) : children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 68,\n columnNumber: 5\n }, this);\n}\nfunction Spinner() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n style: {\n width: \"16px\",\n height: \"16px\",\n border: \"2px solid currentColor\",\n borderTopColor: \"transparent\",\n borderRadius: \"50%\",\n display: \"inline-block\",\n animation: \"spin 0.7s linear infinite\"\n }\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\components\\\\ui\\\\Button.tsx\",\n lineNumber: 100,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9CdXR0b24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUN5QjtBQVl6QixNQUFNQyxnQkFBNEQ7SUFDaEVDLFNBQVM7UUFDUEMsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtJQUNBQyxXQUFXO1FBQ1RILFlBQVk7UUFDWkMsT0FBTztRQUNQQyxRQUFRO0lBQ1Y7SUFDQUUsUUFBUTtRQUNOSixZQUFZO1FBQ1pDLE9BQU87UUFDUEMsUUFBUTtJQUNWO0lBQ0FHLE9BQU87UUFDTEwsWUFBWTtRQUNaQyxPQUFPO1FBQ1BDLFFBQVE7SUFDVjtBQUNGO0FBRUEsTUFBTUksYUFBc0Q7SUFDMURDLElBQUk7UUFDRkMsVUFBVTtRQUNWQyxTQUFTO1FBQ1RDLFdBQVc7UUFDWEMsY0FBYztJQUNoQjtJQUNBQyxJQUFJO1FBQ0ZKLFVBQVU7UUFDVkMsU0FBUztRQUNUQyxXQUFXO1FBQ1hDLGNBQWM7SUFDaEI7SUFDQUUsSUFBSTtRQUNGTCxVQUFVO1FBQ1ZDLFNBQVM7UUFDVEMsV0FBVztRQUNYQyxjQUFjO0lBQ2hCO0FBQ0Y7QUFFTyxTQUFTRyxPQUFPLEVBQ3JCQyxVQUFVLFNBQVMsRUFDbkJDLE9BQU8sSUFBSSxFQUNYQyxVQUFVLEtBQUssRUFDZkMsUUFBUSxFQUNSQyxRQUFRLEVBQ1JDLEtBQUssRUFDTCxHQUFHQyxNQUNTO0lBQ1oscUJBQ0UsOERBQUNDO1FBQ0NKLFVBQVVBLFlBQVlEO1FBQ3RCRyxPQUFPO1lBQ0xHLFNBQVM7WUFDVEMsWUFBWTtZQUNaQyxnQkFBZ0I7WUFDaEJDLEtBQUs7WUFDTEMsWUFBWTtZQUNaQyxZQUFZO1lBQ1pDLFFBQVFYLFlBQVlELFVBQVUsZ0JBQWdCO1lBQzlDYSxTQUFTWixZQUFZRCxVQUFVLE1BQU07WUFDckNjLFlBQVk7WUFDWixHQUFHakMsYUFBYSxDQUFDaUIsUUFBUTtZQUN6QixHQUFHVCxVQUFVLENBQUNVLEtBQUs7WUFDbkIsR0FBR0ksS0FBSztRQUNWO1FBQ0MsR0FBR0MsSUFBSTtrQkFFUEosd0JBQ0M7OzhCQUNFLDhEQUFDZTs7Ozs7Z0JBQ0FiOzsyQkFHSEE7Ozs7OztBQUlSO0FBRUEsU0FBU2E7SUFDUCxxQkFDRSw4REFBQ0M7UUFDQ2IsT0FBTztZQUNMYyxPQUFPO1lBQ1BDLFFBQVE7WUFDUmpDLFFBQVE7WUFDUmtDLGdCQUFnQjtZQUNoQnpCLGNBQWM7WUFDZFksU0FBUztZQUNUYyxXQUFXO1FBQ2I7Ozs7OztBQUdOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy91aS9CdXR0b24udHN4PzAxM2EiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbnR5cGUgQnV0dG9uVmFyaWFudCA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2RhbmdlcicgfCAnZ2hvc3QnXG50eXBlIEJ1dHRvblNpemUgPSAnc20nIHwgJ21kJyB8ICdsZydcblxuaW50ZXJmYWNlIEJ1dHRvblByb3BzIGV4dGVuZHMgUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+IHtcbiAgdmFyaWFudD86IEJ1dHRvblZhcmlhbnRcbiAgc2l6ZT86IEJ1dHRvblNpemVcbiAgbG9hZGluZz86IGJvb2xlYW5cbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG5jb25zdCB2YXJpYW50U3R5bGVzOiBSZWNvcmQ8QnV0dG9uVmFyaWFudCwgUmVhY3QuQ1NTUHJvcGVydGllcz4gPSB7XG4gIHByaW1hcnk6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYWNjZW50KScsXG4gICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBzZWNvbmRhcnk6IHtcbiAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYmctd2FybSknLFxuICAgIGNvbG9yOiAndmFyKC0tZmcpJyxcbiAgICBib3JkZXI6ICcxLjVweCBzb2xpZCB2YXIoLS1jcmVhbSknLFxuICB9LFxuICBkYW5nZXI6IHtcbiAgICBiYWNrZ3JvdW5kOiAnI2MwMzkyYicsXG4gICAgY29sb3I6ICd2YXIoLS1wYXBlciknLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBnaG9zdDoge1xuICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXG4gICAgY29sb3I6ICd2YXIoLS1mZyknLFxuICAgIGJvcmRlcjogJzEuNXB4IHNvbGlkIHZhcigtLWNyZWFtKScsXG4gIH0sXG59XG5cbmNvbnN0IHNpemVTdHlsZXM6IFJlY29yZDxCdXR0b25TaXplLCBSZWFjdC5DU1NQcm9wZXJ0aWVzPiA9IHtcbiAgc206IHtcbiAgICBmb250U2l6ZTogJ3ZhcigtLXQtc21hbGwpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTMpJyxcbiAgICBtaW5IZWlnaHQ6ICczNnB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLXNtKScsXG4gIH0sXG4gIG1kOiB7XG4gICAgZm9udFNpemU6ICd2YXIoLS10LWJvZHkpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0yKSB2YXIoLS1zLTUpJyxcbiAgICBtaW5IZWlnaHQ6ICc0NHB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLW1kKScsXG4gIH0sXG4gIGxnOiB7XG4gICAgZm9udFNpemU6ICd2YXIoLS10LWxlYWQpJyxcbiAgICBwYWRkaW5nOiAndmFyKC0tcy0zKSB2YXIoLS1zLTYpJyxcbiAgICBtaW5IZWlnaHQ6ICc1MnB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICd2YXIoLS1yLWxnKScsXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b24oe1xuICB2YXJpYW50ID0gJ3ByaW1hcnknLFxuICBzaXplID0gJ21kJyxcbiAgbG9hZGluZyA9IGZhbHNlLFxuICBkaXNhYmxlZCxcbiAgY2hpbGRyZW4sXG4gIHN0eWxlLFxuICAuLi5yZXN0XG59OiBCdXR0b25Qcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZCA/PyBsb2FkaW5nfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgZ2FwOiAndmFyKC0tcy0yKScsXG4gICAgICAgIGZvbnRGYW1pbHk6ICd2YXIoLS1mb250LXNhbnMpJyxcbiAgICAgICAgZm9udFdlaWdodDogNTAwLFxuICAgICAgICBjdXJzb3I6IGRpc2FibGVkID8/IGxvYWRpbmcgPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInLFxuICAgICAgICBvcGFjaXR5OiBkaXNhYmxlZCA/PyBsb2FkaW5nID8gMC42IDogMSxcbiAgICAgICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMTUwbXMsIHRyYW5zZm9ybSAxMDBtcycsXG4gICAgICAgIC4uLnZhcmlhbnRTdHlsZXNbdmFyaWFudF0sXG4gICAgICAgIC4uLnNpemVTdHlsZXNbc2l6ZV0sXG4gICAgICAgIC4uLnN0eWxlLFxuICAgICAgfX1cbiAgICAgIHsuLi5yZXN0fVxuICAgID5cbiAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxTcGlubmVyIC8+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGNoaWxkcmVuXG4gICAgICApfVxuICAgIDwvYnV0dG9uPlxuICApXG59XG5cbmZ1bmN0aW9uIFNwaW5uZXIoKSB7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHdpZHRoOiAnMTZweCcsXG4gICAgICAgIGhlaWdodDogJzE2cHgnLFxuICAgICAgICBib3JkZXI6ICcycHggc29saWQgY3VycmVudENvbG9yJyxcbiAgICAgICAgYm9yZGVyVG9wQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgICBhbmltYXRpb246ICdzcGluIDAuN3MgbGluZWFyIGluZmluaXRlJyxcbiAgICAgIH19XG4gICAgLz5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidmFyaWFudFN0eWxlcyIsInByaW1hcnkiLCJiYWNrZ3JvdW5kIiwiY29sb3IiLCJib3JkZXIiLCJzZWNvbmRhcnkiLCJkYW5nZXIiLCJnaG9zdCIsInNpemVTdHlsZXMiLCJzbSIsImZvbnRTaXplIiwicGFkZGluZyIsIm1pbkhlaWdodCIsImJvcmRlclJhZGl1cyIsIm1kIiwibGciLCJCdXR0b24iLCJ2YXJpYW50Iiwic2l6ZSIsImxvYWRpbmciLCJkaXNhYmxlZCIsImNoaWxkcmVuIiwic3R5bGUiLCJyZXN0IiwiYnV0dG9uIiwiZGlzcGxheSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImdhcCIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiY3Vyc29yIiwib3BhY2l0eSIsInRyYW5zaXRpb24iLCJTcGlubmVyIiwic3BhbiIsIndpZHRoIiwiaGVpZ2h0IiwiYm9yZGVyVG9wQ29sb3IiLCJhbmltYXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/Button.tsx\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/auth.ts": +/*!*************************!*\ + !*** ./src/lib/auth.ts ***! + \*************************/ +/***/ ((__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 */ clearAuthCookies: () => (/* binding */ clearAuthCookies),\n/* harmony export */ getAuthUser: () => (/* binding */ getAuthUser),\n/* harmony export */ logout: () => (/* binding */ logout),\n/* harmony export */ syncAuthCookies: () => (/* binding */ syncAuthCookies)\n/* harmony export */ });\n/* harmony import */ var _pocketbase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pocketbase */ \"(ssr)/./src/lib/pocketbase.ts\");\n/* __next_internal_client_entry_do_not_use__ getAuthUser,syncAuthCookies,clearAuthCookies,logout auto */ \nconst COOKIE_TOKEN = \"pb_token\";\nconst COOKIE_ROLE = \"pb_role\";\nconst COOKIE_MAX_AGE = 60 * 60 * 24 * 14 // 14 days\n;\nfunction getAuthUser() {\n if (!_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.isValid) return null;\n return _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.model;\n}\nfunction syncAuthCookies() {\n if (_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.isValid && _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.token) {\n const user = _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.model;\n const role = user?.role ?? \"\";\n document.cookie = `${COOKIE_TOKEN}=${_pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.token}; path=/; max-age=${COOKIE_MAX_AGE}; SameSite=Lax`;\n document.cookie = `${COOKIE_ROLE}=${role}; path=/; max-age=${COOKIE_MAX_AGE}; SameSite=Lax`;\n } else {\n clearAuthCookies();\n }\n}\nfunction clearAuthCookies() {\n document.cookie = `${COOKIE_TOKEN}=; path=/; max-age=0`;\n document.cookie = `${COOKIE_ROLE}=; path=/; max-age=0`;\n}\nfunction logout() {\n _pocketbase__WEBPACK_IMPORTED_MODULE_0__.pb.authStore.clear();\n clearAuthCookies();\n window.location.href = \"/auth\";\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL2F1dGgudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7eUdBQ2lDO0FBR2pDLE1BQU1DLGVBQWU7QUFDckIsTUFBTUMsY0FBYztBQUNwQixNQUFNQyxpQkFBaUIsS0FBSyxLQUFLLEtBQUssR0FBRyxVQUFVOztBQUU1QyxTQUFTQztJQUNkLElBQUksQ0FBQ0osMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0MsT0FBTyxFQUFFLE9BQU87SUFDbEMsT0FBT04sMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0UsS0FBSztBQUMzQjtBQUVPLFNBQVNDO0lBQ2QsSUFBSVIsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0MsT0FBTyxJQUFJTiwyQ0FBRUEsQ0FBQ0ssU0FBUyxDQUFDSSxLQUFLLEVBQUU7UUFDOUMsTUFBTUMsT0FBT1YsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0UsS0FBSztRQUMvQixNQUFNSSxPQUFPRCxNQUFNQyxRQUFRO1FBQzNCQyxTQUFTQyxNQUFNLEdBQUcsQ0FBQyxFQUFFWixhQUFhLENBQUMsRUFBRUQsMkNBQUVBLENBQUNLLFNBQVMsQ0FBQ0ksS0FBSyxDQUFDLGtCQUFrQixFQUFFTixlQUFlLGNBQWMsQ0FBQztRQUMxR1MsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVgsWUFBWSxDQUFDLEVBQUVTLEtBQUssa0JBQWtCLEVBQUVSLGVBQWUsY0FBYyxDQUFDO0lBQzdGLE9BQU87UUFDTFc7SUFDRjtBQUNGO0FBRU8sU0FBU0E7SUFDZEYsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVosYUFBYSxvQkFBb0IsQ0FBQztJQUN2RFcsU0FBU0MsTUFBTSxHQUFHLENBQUMsRUFBRVgsWUFBWSxvQkFBb0IsQ0FBQztBQUN4RDtBQUVPLFNBQVNhO0lBQ2RmLDJDQUFFQSxDQUFDSyxTQUFTLENBQUNXLEtBQUs7SUFDbEJGO0lBQ0FHLE9BQU9DLFFBQVEsQ0FBQ0MsSUFBSSxHQUFHO0FBQ3pCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL2F1dGgudHM/NjY5MiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB7IHBiIH0gZnJvbSAnLi9wb2NrZXRiYXNlJ1xuaW1wb3J0IHR5cGUgeyBQQlVzZXIgfSBmcm9tICdAL3R5cGVzJ1xuXG5jb25zdCBDT09LSUVfVE9LRU4gPSAncGJfdG9rZW4nXG5jb25zdCBDT09LSUVfUk9MRSA9ICdwYl9yb2xlJ1xuY29uc3QgQ09PS0lFX01BWF9BR0UgPSA2MCAqIDYwICogMjQgKiAxNCAvLyAxNCBkYXlzXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBdXRoVXNlcigpOiBQQlVzZXIgfCBudWxsIHtcbiAgaWYgKCFwYi5hdXRoU3RvcmUuaXNWYWxpZCkgcmV0dXJuIG51bGxcbiAgcmV0dXJuIHBiLmF1dGhTdG9yZS5tb2RlbCBhcyBQQlVzZXIgfCBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzeW5jQXV0aENvb2tpZXMoKTogdm9pZCB7XG4gIGlmIChwYi5hdXRoU3RvcmUuaXNWYWxpZCAmJiBwYi5hdXRoU3RvcmUudG9rZW4pIHtcbiAgICBjb25zdCB1c2VyID0gcGIuYXV0aFN0b3JlLm1vZGVsIGFzIFBCVXNlciB8IG51bGxcbiAgICBjb25zdCByb2xlID0gdXNlcj8ucm9sZSA/PyAnJ1xuICAgIGRvY3VtZW50LmNvb2tpZSA9IGAke0NPT0tJRV9UT0tFTn09JHtwYi5hdXRoU3RvcmUudG9rZW59OyBwYXRoPS87IG1heC1hZ2U9JHtDT09LSUVfTUFYX0FHRX07IFNhbWVTaXRlPUxheGBcbiAgICBkb2N1bWVudC5jb29raWUgPSBgJHtDT09LSUVfUk9MRX09JHtyb2xlfTsgcGF0aD0vOyBtYXgtYWdlPSR7Q09PS0lFX01BWF9BR0V9OyBTYW1lU2l0ZT1MYXhgXG4gIH0gZWxzZSB7XG4gICAgY2xlYXJBdXRoQ29va2llcygpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyQXV0aENvb2tpZXMoKTogdm9pZCB7XG4gIGRvY3VtZW50LmNvb2tpZSA9IGAke0NPT0tJRV9UT0tFTn09OyBwYXRoPS87IG1heC1hZ2U9MGBcbiAgZG9jdW1lbnQuY29va2llID0gYCR7Q09PS0lFX1JPTEV9PTsgcGF0aD0vOyBtYXgtYWdlPTBgXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2dvdXQoKTogdm9pZCB7XG4gIHBiLmF1dGhTdG9yZS5jbGVhcigpXG4gIGNsZWFyQXV0aENvb2tpZXMoKVxuICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvYXV0aCdcbn1cbiJdLCJuYW1lcyI6WyJwYiIsIkNPT0tJRV9UT0tFTiIsIkNPT0tJRV9ST0xFIiwiQ09PS0lFX01BWF9BR0UiLCJnZXRBdXRoVXNlciIsImF1dGhTdG9yZSIsImlzVmFsaWQiLCJtb2RlbCIsInN5bmNBdXRoQ29va2llcyIsInRva2VuIiwidXNlciIsInJvbGUiLCJkb2N1bWVudCIsImNvb2tpZSIsImNsZWFyQXV0aENvb2tpZXMiLCJsb2dvdXQiLCJjbGVhciIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/auth.ts\n"); + +/***/ }), + +/***/ "(ssr)/./src/lib/pocketbase.ts": +/*!*******************************!*\ + !*** ./src/lib/pocketbase.ts ***! + \*******************************/ +/***/ ((__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 */ pb: () => (/* binding */ pb)\n/* harmony export */ });\n/* harmony import */ var pocketbase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pocketbase */ \"(ssr)/./node_modules/pocketbase/dist/pocketbase.es.mjs\");\n/* __next_internal_client_entry_do_not_use__ pb auto */ \nconst pb = new pocketbase__WEBPACK_IMPORTED_MODULE_0__[\"default\"](\"http://localhost:8090\" ?? 0);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL3BvY2tldGJhc2UudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7d0RBQ21DO0FBRTVCLE1BQU1DLEtBQUssSUFBSUQsa0RBQVVBLENBQUNFLHVCQUFzQyxJQUFJLEdBQXdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvbGliL3BvY2tldGJhc2UudHM/ZTY1NyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBQb2NrZXRCYXNlIGZyb20gJ3BvY2tldGJhc2UnXG5cbmV4cG9ydCBjb25zdCBwYiA9IG5ldyBQb2NrZXRCYXNlKHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX1BPQ0tFVEJBU0VfVVJMID8/ICdodHRwOi8vbG9jYWxob3N0OjgwOTAnKVxuIl0sIm5hbWVzIjpbIlBvY2tldEJhc2UiLCJwYiIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19QT0NLRVRCQVNFX1VSTCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/pocketbase.ts\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__ = (\"a462ed02aa71\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL2dsb2JhbHMuY3NzPzU5MTYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgXCJhNDYyZWQwMmFhNzFcIlxuaWYgKG1vZHVsZS5ob3QpIHsgbW9kdWxlLmhvdC5hY2NlcHQoKSB9XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); + +/***/ }), + +/***/ "(rsc)/../../stylesheet.css": +/*!****************************!*\ + !*** ../../stylesheet.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__ = (\"5511d51fa1af\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi4vLi4vc3R5bGVzaGVldC5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi9zdHlsZXNoZWV0LmNzcz9mYjhjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNTUxMWQ1MWZhMWFmXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/../../stylesheet.css\n"); + +/***/ }), + +/***/ "(rsc)/./src/app/auth/page.tsx": +/*!*******************************!*\ + !*** ./src/app/auth/page.tsx ***! + \*******************************/ +/***/ ((__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`C:\Users\RaymondVerhoef\Gitea\learning-platform\app\frontend\src\app\auth\page.tsx#default`)); + + +/***/ }), + +/***/ "(rsc)/./src/app/layout.tsx": +/*!****************************!*\ + !*** ./src/app/layout.tsx ***! + \****************************/ +/***/ ((__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 */ viewport: () => (/* binding */ viewport)\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 _stylesheet_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../stylesheet.css */ \"(rsc)/../../stylesheet.css\");\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n\n\n\nconst metadata = {\n title: \"Learning Platform\",\n description: \"Employee knowledge and learning\",\n manifest: \"/manifest.json\",\n appleWebApp: {\n capable: true,\n statusBarStyle: \"default\",\n title: \"Learning Platform\"\n }\n};\nconst viewport = {\n themeColor: \"#1F5560\",\n width: \"device-width\",\n initialScale: 1,\n maximumScale: 1\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 29,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDbUM7QUFDYjtBQUVmLE1BQU1BLFdBQXFCO0lBQ2hDQyxPQUFPO0lBQ1BDLGFBQWE7SUFDYkMsVUFBVTtJQUNWQyxhQUFhO1FBQ1hDLFNBQVM7UUFDVEMsZ0JBQWdCO1FBQ2hCTCxPQUFPO0lBQ1Q7QUFDRixFQUFDO0FBRU0sTUFBTU0sV0FBcUI7SUFDaENDLFlBQVk7SUFDWkMsT0FBTztJQUNQQyxjQUFjO0lBQ2RDLGNBQWM7QUFDaEIsRUFBQztBQUVjLFNBQVNDLFdBQVcsRUFDakNDLFFBQVEsRUFHVDtJQUNDLHFCQUNFLDhEQUFDQztRQUFLQyxNQUFLO2tCQUNULDRFQUFDQztzQkFBTUg7Ozs7Ozs7Ozs7O0FBR2IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9hcHAvbGF5b3V0LnRzeD81N2E5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEsIFZpZXdwb3J0IH0gZnJvbSAnbmV4dCdcbmltcG9ydCAnLi4vLi4vLi4vLi4vc3R5bGVzaGVldC5jc3MnXG5pbXBvcnQgJy4vZ2xvYmFscy5jc3MnXG5cbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XG4gIHRpdGxlOiAnTGVhcm5pbmcgUGxhdGZvcm0nLFxuICBkZXNjcmlwdGlvbjogJ0VtcGxveWVlIGtub3dsZWRnZSBhbmQgbGVhcm5pbmcnLFxuICBtYW5pZmVzdDogJy9tYW5pZmVzdC5qc29uJyxcbiAgYXBwbGVXZWJBcHA6IHtcbiAgICBjYXBhYmxlOiB0cnVlLFxuICAgIHN0YXR1c0JhclN0eWxlOiAnZGVmYXVsdCcsXG4gICAgdGl0bGU6ICdMZWFybmluZyBQbGF0Zm9ybScsXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCB2aWV3cG9ydDogVmlld3BvcnQgPSB7XG4gIHRoZW1lQ29sb3I6ICcjMUY1NTYwJyxcbiAgd2lkdGg6ICdkZXZpY2Utd2lkdGgnLFxuICBpbml0aWFsU2NhbGU6IDEsXG4gIG1heGltdW1TY2FsZTogMSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7XG4gIGNoaWxkcmVuLFxufToge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8Ym9keT57Y2hpbGRyZW59PC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIm1hbmlmZXN0IiwiYXBwbGVXZWJBcHAiLCJjYXBhYmxlIiwic3RhdHVzQmFyU3R5bGUiLCJ2aWV3cG9ydCIsInRoZW1lQ29sb3IiLCJ3aWR0aCIsImluaXRpYWxTY2FsZSIsIm1heGltdW1TY2FsZSIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwiYm9keSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\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","vendor-chunks/pocketbase"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fauth%2Fpage&page=%2Fauth%2Fpage&appPaths=%2Fauth%2Fpage&pagePath=private-next-app-dir%2Fauth%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); +module.exports = __webpack_exports__; + +})(); \ No newline at end of file diff --git a/app/frontend/.next/server/app/auth/page_client-reference-manifest.js b/app/frontend/.next/server/app/auth/page_client-reference-manifest.js new file mode 100644 index 0000000..8d30567 --- /dev/null +++ b/app/frontend/.next/server/app/auth/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/auth/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/auth/page.tsx":{"*":{"id":"(ssr)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/layout.tsx":{"*":{"id":"(ssr)/./src/app/admin/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/documents/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/knowledge/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/curriculum/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/layout.tsx":{"*":{"id":"(ssr)/./src/app/app/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/session/page.tsx":{"*":{"id":"(ssr)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/library/page.tsx":{"*":{"id":"(ssr)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\stylesheet.css":{"id":"(app-pages-browser)/../../stylesheet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\auth\\page.tsx":{"id":"(app-pages-browser)/./src/app/auth/page.tsx","name":"*","chunks":["app/auth/page","static/chunks/app/auth/page.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\layout.tsx":{"id":"(app-pages-browser)/./src/app/admin/layout.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\documents\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\knowledge\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\curriculum\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\layout.tsx":{"id":"(app-pages-browser)/./src/app/app/layout.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\session\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\library\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\layout":["static/css/app/layout.css"],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\auth\\page":[]}} \ No newline at end of file diff --git a/app/frontend/.next/server/app/page.js b/app/frontend/.next/server/app/page.js new file mode 100644 index 0000000..ff01c08 --- /dev/null +++ b/app/frontend/.next/server/app/page.js @@ -0,0 +1,154 @@ +/* + * 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/page"; +exports.ids = ["app/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%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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?d969\");\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: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/page.tsx */ \"(rsc)/./src/app/page.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\page.tsx\"],\n \n }]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\")), \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\"],\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 = [\"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/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: \"/page\",\n pathname: \"/\",\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/bmFtZT1hcHAlMkZwYWdlJnBhZ2U9JTJGcGFnZSZhcHBQYXRocz0lMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGcGFnZS50c3gmYXBwRGlyPUMlM0ElNUNVc2VycyU1Q1JheW1vbmRWZXJob2VmJTVDR2l0ZWElNUNsZWFybmluZy1wbGF0Zm9ybSU1Q2FwcCU1Q2Zyb250ZW5kJTVDc3JjJTVDYXBwJnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMmcm9vdERpcj1DJTNBJTVDVXNlcnMlNUNSYXltb25kVmVyaG9lZiU1Q0dpdGVhJTVDbGVhcm5pbmctcGxhdGZvcm0lNUNhcHAlNUNmcm9udGVuZCZpc0Rldj10cnVlJnRzY29uZmlnUGF0aD10c2NvbmZpZy5qc29uJmJhc2VQYXRoPSZhc3NldFByZWZpeD0mbmV4dENvbmZpZ091dHB1dD0mcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCEiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGFBQWEsc0JBQXNCO0FBQ2lFO0FBQ3JDO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQyx1QkFBdUIsZ0pBQTJIO0FBQ2xKO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBLHlCQUF5QixvSkFBNkg7QUFDdEosb0JBQW9CLDBOQUFnRjtBQUNwRztBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDdUI7QUFDNkQ7QUFDcEYsNkJBQTZCLG1CQUFtQjtBQUNoRDtBQUNPO0FBQ0E7QUFDUDtBQUNBO0FBQ0E7QUFDdUQ7QUFDdkQ7QUFDTyx3QkFBd0IsOEdBQWtCO0FBQ2pEO0FBQ0EsY0FBYyx5RUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLz9hODAxIl0sInNvdXJjZXNDb250ZW50IjpbIlwiVFVSQk9QQUNLIHsgdHJhbnNpdGlvbjogbmV4dC1zc3IgfVwiO1xuaW1wb3J0IHsgQXBwUGFnZVJvdXRlTW9kdWxlIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkXCI7XG5pbXBvcnQgeyBSb3V0ZUtpbmQgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZFwiO1xuLy8gV2UgaW5qZWN0IHRoZSB0cmVlIGFuZCBwYWdlcyBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxuLy8gbW9kdWxlLlxuY29uc3QgdHJlZSA9IHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJycsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFsnX19QQUdFX18nLCB7fSwge1xuICAgICAgICAgIHBhZ2U6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXHBhZ2UudHN4XCIpLCBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxzcmNcXFxcYXBwXFxcXHBhZ2UudHN4XCJdLFxuICAgICAgICAgIFxuICAgICAgICB9XVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAnbGF5b3V0JzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXHNyY1xcXFxhcHBcXFxcbGF5b3V0LnRzeFwiKSwgXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxsYXlvdXQudHN4XCJdLFxuJ25vdC1mb3VuZCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIiksIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiXSxcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LmNoaWxkcmVuO1xuY29uc3QgcGFnZXMgPSBbXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcc3JjXFxcXGFwcFxcXFxwYWdlLnRzeFwiXTtcbmV4cG9ydCB7IHRyZWUsIHBhZ2VzIH07XG5leHBvcnQgeyBkZWZhdWx0IGFzIEdsb2JhbEVycm9yIH0gZnJvbSBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9lcnJvci1ib3VuZGFyeVwiO1xuY29uc3QgX19uZXh0X2FwcF9yZXF1aXJlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fXG5jb25zdCBfX25leHRfYXBwX2xvYWRfY2h1bmtfXyA9ICgpID0+IFByb21pc2UucmVzb2x2ZSgpXG5leHBvcnQgY29uc3Qgb3JpZ2luYWxQYXRobmFtZSA9IFwiL3BhZ2VcIjtcbmV4cG9ydCBjb25zdCBfX25leHRfYXBwX18gPSB7XG4gICAgcmVxdWlyZTogX19uZXh0X2FwcF9yZXF1aXJlX18sXG4gICAgbG9hZENodW5rOiBfX25leHRfYXBwX2xvYWRfY2h1bmtfX1xufTtcbmV4cG9ydCAqIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgQXBwUGFnZVJvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgcGFnZTogXCIvcGFnZVwiLFxuICAgICAgICBwYXRobmFtZTogXCIvXCIsXG4gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlbid0IHVzZWQgaW4gcHJvZHVjdGlvbi5cbiAgICAgICAgYnVuZGxlUGF0aDogXCJcIixcbiAgICAgICAgZmlsZW5hbWU6IFwiXCIsXG4gICAgICAgIGFwcFBhdGhzOiBbXVxuICAgIH0sXG4gICAgdXNlcmxhbmQ6IHtcbiAgICAgICAgbG9hZGVyVHJlZTogdHJlZVxuICAgIH1cbn0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcGFnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjJDJTNBJTVDJTVDVXNlcnMlNUMlNUNSYXltb25kVmVyaG9lZiU1QyU1Q0dpdGVhJTVDJTVDbGVhcm5pbmctcGxhdGZvcm0lNUMlNUNhcHAlNUMlNUNmcm9udGVuZCU1QyU1Q25vZGVfbW9kdWxlcyU1QyU1Q25leHQlNUMlNUNkaXN0JTVDJTVDY2xpZW50JTVDJTVDY29tcG9uZW50cyU1QyU1Q2NsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyQyUzQSU1QyU1Q1VzZXJzJTVDJTVDUmF5bW9uZFZlcmhvZWYlNUMlNUNHaXRlYSU1QyU1Q2xlYXJuaW5nLXBsYXRmb3JtJTVDJTVDYXBwJTVDJTVDZnJvbnRlbmQlNUMlNUNub2RlX21vZHVsZXMlNUMlNUNuZXh0JTVDJTVDZGlzdCU1QyU1Q2NsaWVudCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMkMlM0ElNUMlNUNVc2VycyU1QyU1Q1JheW1vbmRWZXJob2VmJTVDJTVDR2l0ZWElNUMlNUNsZWFybmluZy1wbGF0Zm9ybSU1QyU1Q2FwcCU1QyU1Q2Zyb250ZW5kJTVDJTVDbm9kZV9tb2R1bGVzJTVDJTVDbmV4dCU1QyU1Q2Rpc3QlNUMlNUNjbGllbnQlNUMlNUNjb21wb25lbnRzJTVDJTVDcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQW9LO0FBQ3BLO0FBQ0Esb09BQXFLO0FBQ3JLO0FBQ0EsME9BQXdLO0FBQ3hLO0FBQ0Esd09BQXVLO0FBQ3ZLO0FBQ0Esa1BBQTRLO0FBQzVLO0FBQ0Esc1FBQXNMIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvPzcyOWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxhcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJDOlxcXFxVc2Vyc1xcXFxSYXltb25kVmVyaG9lZlxcXFxHaXRlYVxcXFxsZWFybmluZy1wbGF0Zm9ybVxcXFxhcHBcXFxcZnJvbnRlbmRcXFxcbm9kZV9tb2R1bGVzXFxcXG5leHRcXFxcZGlzdFxcXFxjbGllbnRcXFxcY29tcG9uZW50c1xcXFxjbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxcZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXGxheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIkM6XFxcXFVzZXJzXFxcXFJheW1vbmRWZXJob2VmXFxcXEdpdGVhXFxcXGxlYXJuaW5nLXBsYXRmb3JtXFxcXGFwcFxcXFxmcm9udGVuZFxcXFxub2RlX21vZHVsZXNcXFxcbmV4dFxcXFxkaXN0XFxcXGNsaWVudFxcXFxjb21wb25lbnRzXFxcXG5vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiQzpcXFxcVXNlcnNcXFxcUmF5bW9uZFZlcmhvZWZcXFxcR2l0ZWFcXFxcbGVhcm5pbmctcGxhdGZvcm1cXFxcYXBwXFxcXGZyb250ZW5kXFxcXG5vZGVfbW9kdWxlc1xcXFxuZXh0XFxcXGRpc3RcXFxcY2xpZW50XFxcXGNvbXBvbmVudHNcXFxccmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%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%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Cstylesheet.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CRaymondVerhoef%5C%5CGitea%5C%5Clearning-platform%5C%5Capp%5C%5Cfrontend%5C%5Csrc%5C%5Capp%5C%5Cglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! + \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ +/***/ (() => { + + + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?server=true!": +/*!******************************************************************************************************!*\ + !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?server=true! ***! + \******************************************************************************************************/ +/***/ (() => { + + + +/***/ }), + +/***/ "(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__ = (\"a462ed02aa71\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL2dsb2JhbHMuY3NzPzU5MTYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgXCJhNDYyZWQwMmFhNzFcIlxuaWYgKG1vZHVsZS5ob3QpIHsgbW9kdWxlLmhvdC5hY2NlcHQoKSB9XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n"); + +/***/ }), + +/***/ "(rsc)/../../stylesheet.css": +/*!****************************!*\ + !*** ../../stylesheet.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__ = (\"5511d51fa1af\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi4vLi4vc3R5bGVzaGVldC5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi9zdHlsZXNoZWV0LmNzcz9mYjhjIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiNTUxMWQ1MWZhMWFmXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/../../stylesheet.css\n"); + +/***/ }), + +/***/ "(rsc)/./src/app/layout.tsx": +/*!****************************!*\ + !*** ./src/app/layout.tsx ***! + \****************************/ +/***/ ((__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 */ viewport: () => (/* binding */ viewport)\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 _stylesheet_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../stylesheet.css */ \"(rsc)/../../stylesheet.css\");\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n\n\n\nconst metadata = {\n title: \"Learning Platform\",\n description: \"Employee knowledge and learning\",\n manifest: \"/manifest.json\",\n appleWebApp: {\n capable: true,\n statusBarStyle: \"default\",\n title: \"Learning Platform\"\n }\n};\nconst viewport = {\n themeColor: \"#1F5560\",\n width: \"device-width\",\n initialScale: 1,\n maximumScale: 1\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n children: children\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 30,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\RaymondVerhoef\\\\Gitea\\\\learning-platform\\\\app\\\\frontend\\\\src\\\\app\\\\layout.tsx\",\n lineNumber: 29,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDbUM7QUFDYjtBQUVmLE1BQU1BLFdBQXFCO0lBQ2hDQyxPQUFPO0lBQ1BDLGFBQWE7SUFDYkMsVUFBVTtJQUNWQyxhQUFhO1FBQ1hDLFNBQVM7UUFDVEMsZ0JBQWdCO1FBQ2hCTCxPQUFPO0lBQ1Q7QUFDRixFQUFDO0FBRU0sTUFBTU0sV0FBcUI7SUFDaENDLFlBQVk7SUFDWkMsT0FBTztJQUNQQyxjQUFjO0lBQ2RDLGNBQWM7QUFDaEIsRUFBQztBQUVjLFNBQVNDLFdBQVcsRUFDakNDLFFBQVEsRUFHVDtJQUNDLHFCQUNFLDhEQUFDQztRQUFLQyxNQUFLO2tCQUNULDRFQUFDQztzQkFBTUg7Ozs7Ozs7Ozs7O0FBR2IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL3NyYy9hcHAvbGF5b3V0LnRzeD81N2E5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEsIFZpZXdwb3J0IH0gZnJvbSAnbmV4dCdcbmltcG9ydCAnLi4vLi4vLi4vLi4vc3R5bGVzaGVldC5jc3MnXG5pbXBvcnQgJy4vZ2xvYmFscy5jc3MnXG5cbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XG4gIHRpdGxlOiAnTGVhcm5pbmcgUGxhdGZvcm0nLFxuICBkZXNjcmlwdGlvbjogJ0VtcGxveWVlIGtub3dsZWRnZSBhbmQgbGVhcm5pbmcnLFxuICBtYW5pZmVzdDogJy9tYW5pZmVzdC5qc29uJyxcbiAgYXBwbGVXZWJBcHA6IHtcbiAgICBjYXBhYmxlOiB0cnVlLFxuICAgIHN0YXR1c0JhclN0eWxlOiAnZGVmYXVsdCcsXG4gICAgdGl0bGU6ICdMZWFybmluZyBQbGF0Zm9ybScsXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCB2aWV3cG9ydDogVmlld3BvcnQgPSB7XG4gIHRoZW1lQ29sb3I6ICcjMUY1NTYwJyxcbiAgd2lkdGg6ICdkZXZpY2Utd2lkdGgnLFxuICBpbml0aWFsU2NhbGU6IDEsXG4gIG1heGltdW1TY2FsZTogMSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7XG4gIGNoaWxkcmVuLFxufToge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8Ym9keT57Y2hpbGRyZW59PC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIm1hbmlmZXN0IiwiYXBwbGVXZWJBcHAiLCJjYXBhYmxlIiwic3RhdHVzQmFyU3R5bGUiLCJ2aWV3cG9ydCIsInRoZW1lQ29sb3IiLCJ3aWR0aCIsImluaXRpYWxTY2FsZSIsIm1heGltdW1TY2FsZSIsIlJvb3RMYXlvdXQiLCJjaGlsZHJlbiIsImh0bWwiLCJsYW5nIiwiYm9keSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\n"); + +/***/ }), + +/***/ "(rsc)/./src/app/page.tsx": +/*!**************************!*\ + !*** ./src/app/page.tsx ***! + \**************************/ +/***/ ((__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 */ RootPage)\n/* harmony export */ });\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/navigation */ \"(rsc)/./node_modules/next/dist/api/navigation.react-server.js\");\n\nfunction RootPage() {\n (0,next_navigation__WEBPACK_IMPORTED_MODULE_0__.redirect)(\"/auth\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL3BhZ2UudHN4IiwibWFwcGluZ3MiOiI7Ozs7O0FBQTBDO0FBRTNCLFNBQVNDO0lBQ3RCRCx5REFBUUEsQ0FBQztBQUNYIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi9zcmMvYXBwL3BhZ2UudHN4P2Y2OGEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVkaXJlY3QgfSBmcm9tICduZXh0L25hdmlnYXRpb24nXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFJvb3RQYWdlKCkge1xuICByZWRpcmVjdCgnL2F1dGgnKVxufVxuIl0sIm5hbWVzIjpbInJlZGlyZWN0IiwiUm9vdFBhZ2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./src/app/page.tsx\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%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend%5Csrc%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CRaymondVerhoef%5CGitea%5Clearning-platform%5Capp%5Cfrontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); +module.exports = __webpack_exports__; + +})(); \ No newline at end of file diff --git a/app/frontend/.next/server/app/page_client-reference-manifest.js b/app/frontend/.next/server/app/page_client-reference-manifest.js new file mode 100644 index 0000000..bf5d8aa --- /dev/null +++ b/app/frontend/.next/server/app/page_client-reference-manifest.js @@ -0,0 +1 @@ +globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/auth/page.tsx":{"*":{"id":"(ssr)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/layout.tsx":{"*":{"id":"(ssr)/./src/app/admin/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/documents/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/knowledge/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/admin/curriculum/page.tsx":{"*":{"id":"(ssr)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/layout.tsx":{"*":{"id":"(ssr)/./src/app/app/layout.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/session/page.tsx":{"*":{"id":"(ssr)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/library/page.tsx":{"*":{"id":"(ssr)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./src/app/app/profile/page.tsx":{"*":{"id":"(ssr)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\stylesheet.css":{"id":"(app-pages-browser)/../../stylesheet.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\globals.css":{"id":"(app-pages-browser)/./src/app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\node_modules\\next\\dist\\esm\\client\\components\\render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\auth\\page.tsx":{"id":"(app-pages-browser)/./src/app/auth/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\layout.tsx":{"id":"(app-pages-browser)/./src/app/admin/layout.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\documents\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/documents/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\knowledge\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/knowledge/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\admin\\curriculum\\page.tsx":{"id":"(app-pages-browser)/./src/app/admin/curriculum/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\layout.tsx":{"id":"(app-pages-browser)/./src/app/app/layout.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\session\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/session/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\library\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/library/page.tsx","name":"*","chunks":[],"async":false},"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\app\\profile\\page.tsx":{"id":"(app-pages-browser)/./src/app/app/profile/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\page":[],"C:\\Users\\RaymondVerhoef\\Gitea\\learning-platform\\app\\frontend\\src\\app\\layout":["static/css/app/layout.css"]}} \ No newline at end of file diff --git a/app/frontend/.next/server/interception-route-rewrite-manifest.js b/app/frontend/.next/server/interception-route-rewrite-manifest.js new file mode 100644 index 0000000..82d3ab1 --- /dev/null +++ b/app/frontend/.next/server/interception-route-rewrite-manifest.js @@ -0,0 +1 @@ +self.__INTERCEPTION_ROUTE_REWRITE_MANIFEST="[]" \ No newline at end of file diff --git a/app/frontend/.next/server/middleware-build-manifest.js b/app/frontend/.next/server/middleware-build-manifest.js new file mode 100644 index 0000000..36489d8 --- /dev/null +++ b/app/frontend/.next/server/middleware-build-manifest.js @@ -0,0 +1,21 @@ +self.__BUILD_MANIFEST = { + "polyfillFiles": [ + "static/chunks/polyfills.js" + ], + "devFiles": [], + "ampDevFiles": [], + "lowPriorityFiles": [], + "rootMainFiles": [ + "static/chunks/webpack.js", + "static/chunks/main-app.js" + ], + "pages": { + "/_app": [] + }, + "ampFirstPages": [] +}; +self.__BUILD_MANIFEST.lowPriorityFiles = [ +"/static/" + process.env.__NEXT_BUILD_ID + "/_buildManifest.js", +,"/static/" + process.env.__NEXT_BUILD_ID + "/_ssgManifest.js", + +]; \ No newline at end of file diff --git a/app/frontend/.next/server/middleware-manifest.json b/app/frontend/.next/server/middleware-manifest.json new file mode 100644 index 0000000..33872a3 --- /dev/null +++ b/app/frontend/.next/server/middleware-manifest.json @@ -0,0 +1,6 @@ +{ + "version": 3, + "middleware": {}, + "functions": {}, + "sortedMiddleware": [] +} \ No newline at end of file diff --git a/app/frontend/.next/server/middleware-react-loadable-manifest.js b/app/frontend/.next/server/middleware-react-loadable-manifest.js new file mode 100644 index 0000000..ca34f09 --- /dev/null +++ b/app/frontend/.next/server/middleware-react-loadable-manifest.js @@ -0,0 +1 @@ +self.__REACT_LOADABLE_MANIFEST="{}" \ No newline at end of file diff --git a/app/frontend/.next/server/next-font-manifest.js b/app/frontend/.next/server/next-font-manifest.js new file mode 100644 index 0000000..5cc97eb --- /dev/null +++ b/app/frontend/.next/server/next-font-manifest.js @@ -0,0 +1 @@ +self.__NEXT_FONT_MANIFEST="{\"pages\":{},\"app\":{},\"appUsingSizeAdjust\":false,\"pagesUsingSizeAdjust\":false}" \ No newline at end of file diff --git a/app/frontend/.next/server/next-font-manifest.json b/app/frontend/.next/server/next-font-manifest.json new file mode 100644 index 0000000..25f78e7 --- /dev/null +++ b/app/frontend/.next/server/next-font-manifest.json @@ -0,0 +1 @@ +{"pages":{},"app":{},"appUsingSizeAdjust":false,"pagesUsingSizeAdjust":false} \ No newline at end of file diff --git a/app/frontend/.next/server/pages-manifest.json b/app/frontend/.next/server/pages-manifest.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/app/frontend/.next/server/pages-manifest.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/app/frontend/.next/server/server-reference-manifest.js b/app/frontend/.next/server/server-reference-manifest.js new file mode 100644 index 0000000..cc0af96 --- /dev/null +++ b/app/frontend/.next/server/server-reference-manifest.js @@ -0,0 +1 @@ +self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY\"\n}" \ No newline at end of file diff --git a/app/frontend/.next/server/server-reference-manifest.json b/app/frontend/.next/server/server-reference-manifest.json new file mode 100644 index 0000000..6a91e6f --- /dev/null +++ b/app/frontend/.next/server/server-reference-manifest.json @@ -0,0 +1,5 @@ +{ + "node": {}, + "edge": {}, + "encryptionKey": "QnzKIJRR8GrjaHk7QhiM928LOJzfdW5Af6gmYU5xeZs=" +} \ No newline at end of file diff --git a/app/frontend/.next/server/vendor-chunks/@swc.js b/app/frontend/.next/server/vendor-chunks/@swc.js new file mode 100644 index 0000000..4949856 --- /dev/null +++ b/app/frontend/.next/server/vendor-chunks/@swc.js @@ -0,0 +1,75 @@ +"use strict"; +/* + * 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/). + */ +exports.id = "vendor-chunks/@swc"; +exports.ids = ["vendor-chunks/@swc"]; +exports.modules = { + +/***/ "(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js": +/*!**************************************************************************!*\ + !*** ./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js ***! + \**************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: () => (/* binding */ _class_private_field_loose_base),\n/* harmony export */ _class_private_field_loose_base: () => (/* binding */ _class_private_field_loose_base)\n/* harmony export */ });\nfunction _class_private_field_loose_base(receiver, privateKey) {\n if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {\n throw new TypeError(\"attempted to use private field on non-instance\");\n }\n\n return receiver;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9fY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNnRCIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vbm9kZV9tb2R1bGVzL0Bzd2MvaGVscGVycy9lc20vX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5qcz9kY2RiIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlKHJlY2VpdmVyLCBwcml2YXRlS2V5KSB7XG4gICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocmVjZWl2ZXIsIHByaXZhdGVLZXkpKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhdHRlbXB0ZWQgdG8gdXNlIHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlXCIpO1xuICAgIH1cblxuICAgIHJldHVybiByZWNlaXZlcjtcbn1cbmV4cG9ydCB7IF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UgYXMgXyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: () => (/* binding */ _class_private_field_loose_key),\n/* harmony export */ _class_private_field_loose_key: () => (/* binding */ _class_private_field_loose_key)\n/* harmony export */ });\nvar id = 0;\n\nfunction _class_private_field_loose_key(name) {\n return \"__private_\" + id++ + \"_\" + name;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9fY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9rZXkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7QUFFTztBQUNQO0FBQ0E7QUFDK0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL19jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleS5qcz9hZjBiIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBpZCA9IDA7XG5cbmV4cG9ydCBmdW5jdGlvbiBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9rZXkobmFtZSkge1xuICAgIHJldHVybiBcIl9fcHJpdmF0ZV9cIiArIGlkKysgKyBcIl9cIiArIG5hbWU7XG59XG5leHBvcnQgeyBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9rZXkgYXMgXyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@swc/helpers/esm/_interop_require_default.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: () => (/* binding */ _interop_require_default),\n/* harmony export */ _interop_require_default: () => (/* binding */ _interop_require_default)\n/* harmony export */ });\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQLDJDQUEyQztBQUMzQztBQUN5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vbm9kZV9tb2R1bGVzL0Bzd2MvaGVscGVycy9lc20vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0LmpzPzY4ZDkiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChvYmopIHtcbiAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTtcbn1cbmV4cG9ydCB7IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCBhcyBfIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js": +/*!********************************************************************!*\ + !*** ./node_modules/@swc/helpers/esm/_interop_require_wildcard.js ***! + \********************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: () => (/* binding */ _interop_require_wildcard),\n/* harmony export */ _interop_require_wildcard: () => (/* binding */ _interop_require_wildcard)\n/* harmony export */ });\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDTztBQUNQO0FBQ0EsdUZBQXVGOztBQUV2Rjs7QUFFQTs7QUFFQSxtQkFBbUI7QUFDbkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUMwQyIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vbm9kZV9tb2R1bGVzL0Bzd2MvaGVscGVycy9lc20vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5qcz9hYjM4Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCkge1xuICAgIGlmICh0eXBlb2YgV2Vha01hcCAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm4gbnVsbDtcblxuICAgIHZhciBjYWNoZUJhYmVsSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7XG4gICAgdmFyIGNhY2hlTm9kZUludGVyb3AgPSBuZXcgV2Vha01hcCgpO1xuXG4gICAgcmV0dXJuIChfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUgPSBmdW5jdGlvbihub2RlSW50ZXJvcCkge1xuICAgICAgICByZXR1cm4gbm9kZUludGVyb3AgPyBjYWNoZU5vZGVJbnRlcm9wIDogY2FjaGVCYWJlbEludGVyb3A7XG4gICAgfSkobm9kZUludGVyb3ApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQob2JqLCBub2RlSW50ZXJvcCkge1xuICAgIGlmICghbm9kZUludGVyb3AgJiYgb2JqICYmIG9iai5fX2VzTW9kdWxlKSByZXR1cm4gb2JqO1xuICAgIGlmIChvYmogPT09IG51bGwgfHwgdHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIiAmJiB0eXBlb2Ygb2JqICE9PSBcImZ1bmN0aW9uXCIpIHJldHVybiB7IGRlZmF1bHQ6IG9iaiB9O1xuXG4gICAgdmFyIGNhY2hlID0gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKTtcblxuICAgIGlmIChjYWNoZSAmJiBjYWNoZS5oYXMob2JqKSkgcmV0dXJuIGNhY2hlLmdldChvYmopO1xuXG4gICAgdmFyIG5ld09iaiA9IHsgX19wcm90b19fOiBudWxsIH07XG4gICAgdmFyIGhhc1Byb3BlcnR5RGVzY3JpcHRvciA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuXG4gICAgZm9yICh2YXIga2V5IGluIG9iaikge1xuICAgICAgICBpZiAoa2V5ICE9PSBcImRlZmF1bHRcIiAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSB7XG4gICAgICAgICAgICB2YXIgZGVzYyA9IGhhc1Byb3BlcnR5RGVzY3JpcHRvciA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBrZXkpIDogbnVsbDtcbiAgICAgICAgICAgIGlmIChkZXNjICYmIChkZXNjLmdldCB8fCBkZXNjLnNldCkpIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXdPYmosIGtleSwgZGVzYyk7XG4gICAgICAgICAgICBlbHNlIG5ld09ialtrZXldID0gb2JqW2tleV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZXdPYmouZGVmYXVsdCA9IG9iajtcblxuICAgIGlmIChjYWNoZSkgY2FjaGUuc2V0KG9iaiwgbmV3T2JqKTtcblxuICAgIHJldHVybiBuZXdPYmo7XG59XG5leHBvcnQgeyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIGFzIF8gfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js": +/*!*************************************************************************!*\ + !*** ./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js ***! + \*************************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: () => (/* binding */ _tagged_template_literal_loose),\n/* harmony export */ _tagged_template_literal_loose: () => (/* binding */ _tagged_template_literal_loose)\n/* harmony export */ });\nfunction _tagged_template_literal_loose(strings, raw) {\n if (!raw) raw = strings.slice(0);\n\n strings.raw = raw;\n\n return strings;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQOztBQUVBOztBQUVBO0FBQ0E7QUFDK0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL190YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZS5qcz83YjYyIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2Uoc3RyaW5ncywgcmF3KSB7XG4gICAgaWYgKCFyYXcpIHJhdyA9IHN0cmluZ3Muc2xpY2UoMCk7XG5cbiAgICBzdHJpbmdzLnJhdyA9IHJhdztcblxuICAgIHJldHVybiBzdHJpbmdzO1xufVxuZXhwb3J0IHsgX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlIGFzIF8gfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\n"); + +/***/ }), + +/***/ "(rsc)/./node_modules/@swc/helpers/esm/_interop_require_default.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@swc/helpers/esm/_interop_require_default.js ***! + \*******************************************************************/ +/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: () => (/* binding */ _interop_require_default),\n/* harmony export */ _interop_require_default: () => (/* binding */ _interop_require_default)\n/* harmony export */ });\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQLDJDQUEyQztBQUMzQztBQUN5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vbm9kZV9tb2R1bGVzL0Bzd2MvaGVscGVycy9lc20vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0LmpzPzFhYjAiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChvYmopIHtcbiAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTtcbn1cbmV4cG9ydCB7IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCBhcyBfIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@swc/helpers/esm/_interop_require_default.js\n"); + +/***/ }) + +}; +; \ No newline at end of file diff --git a/app/frontend/.next/server/vendor-chunks/next.js b/app/frontend/.next/server/vendor-chunks/next.js new file mode 100644 index 0000000..a6b8317 --- /dev/null +++ b/app/frontend/.next/server/vendor-chunks/next.js @@ -0,0 +1,2453 @@ +/* + * 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/). + */ +exports.id = "vendor-chunks/next"; +exports.ids = ["vendor-chunks/next"]; +exports.modules = { + +/***/ "(ssr)/./node_modules/next/dist/api/link.js": +/*!********************************************!*\ + !*** ./node_modules/next/dist/api/link.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\": () => (/* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a)\n/* harmony export */ });\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/link */ \"(ssr)/./node_modules/next/dist/client/link.js\");\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _client_link__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _client_link__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=link.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9saW5rLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF5QztBQUNWOztBQUUvQiIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9hcGkvbGluay5qcz81MWNkIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tIFwiLi4vY2xpZW50L2xpbmtcIjtcbmV4cG9ydCAqIGZyb20gXCIuLi9jbGllbnQvbGlua1wiO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1saW5rLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/api/link.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/api/navigation.js": +/*!**************************************************!*\ + !*** ./node_modules/next/dist/api/navigation.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/components/navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\n/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n//# sourceMappingURL=navigation.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9uYXZpZ2F0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFnRDs7QUFFaEQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL25hdmlnYXRpb24uanM/ZWJiMSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi4vY2xpZW50L2NvbXBvbmVudHMvbmF2aWdhdGlvblwiO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1uYXZpZ2F0aW9uLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/api/navigation.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/add-base-path.js": +/*!********************************************************!*\ + !*** ./node_modules/next/dist/client/add-base-path.js ***! + \********************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addBasePath\", ({\n enumerable: true,\n get: function() {\n return addBasePath;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ../shared/lib/router/utils/add-path-prefix */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction addBasePath(path, required) {\n return (0, _normalizetrailingslash.normalizePathTrailingSlash)( false ? 0 : (0, _addpathprefix.addPathPrefix)(path, basePath));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-base-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBS2dCQTs7O2VBQUFBOzs7MkNBTGM7b0RBQ2E7QUFFM0MsTUFBTUMsV0FBV0MsTUFBbUMsSUFBZTtBQUU1RCxTQUFTRixZQUFZSyxJQUFZLEVBQUVDLFFBQWtCO0lBQzFELE9BQU9DLENBQUFBLEdBQUFBLHdCQUFBQSwwQkFBMEIsRUFDL0JMLE1BQStDSSxHQUMzQ0QsQ0FBQUEsR0FDQUksQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUFDSixNQUFNSjtBQUU1QiIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4uLy4uL3NyYy9jbGllbnQvYWRkLWJhc2UtcGF0aC50cz81MTcxIl0sIm5hbWVzIjpbImFkZEJhc2VQYXRoIiwiYmFzZVBhdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInBhdGgiLCJyZXF1aXJlZCIsIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoIiwiX19ORVhUX01BTlVBTF9DTElFTlRfQkFTRV9QQVRIIiwiYWRkUGF0aFByZWZpeCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/add-base-path.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/add-locale.js": +/*!*****************************************************!*\ + !*** ./node_modules/next/dist/client/add-locale.js ***! + \*****************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst addLocale = function(path) {\n for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n args[_key - 1] = arguments[_key];\n }\n if (false) {}\n return path;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-locale.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtbG9jYWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7NkNBR2FBOzs7ZUFBQUE7OztvREFGOEI7QUFFcEMsTUFBTUEsWUFBdUIsU0FBQ0MsSUFBQUE7cUNBQVNDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLElBQUFBLE9BQUFBLElBQUFBLElBQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1FBQUFBLElBQUFBLENBQUFBLE9BQUFBLEVBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztJQUM1QyxJQUFJQyxLQUErQixFQUFFLEVBSXJDO0lBQ0EsT0FBT0Y7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4uLy4uL3NyYy9jbGllbnQvYWRkLWxvY2FsZS50cz9mYWFlIl0sIm5hbWVzIjpbImFkZExvY2FsZSIsInBhdGgiLCJhcmdzIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCIsInJlcXVpcmUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/add-locale.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/app-call-server.js": +/*!**********************************************************!*\ + !*** ./node_modules/next/dist/client/app-call-server.js ***! + \**********************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"callServer\", ({\n enumerable: true,\n get: function() {\n return callServer;\n }\n}));\nconst _approuter = __webpack_require__(/*! ./components/app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nasync function callServer(actionId, actionArgs) {\n const actionDispatcher = (0, _approuter.getServerActionDispatcher)();\n if (!actionDispatcher) {\n throw new Error(\"Invariant: missing action dispatcher.\");\n }\n return new Promise((resolve, reject)=>{\n actionDispatcher({\n actionId,\n actionArgs,\n resolve,\n reject\n });\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-call-server.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hcHAtY2FsbC1zZXJ2ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs4Q0FFc0JBOzs7ZUFBQUE7Ozt1Q0FGb0I7QUFFbkMsZUFBZUEsV0FBV0MsUUFBZ0IsRUFBRUMsVUFBaUI7SUFDbEUsTUFBTUMsbUJBQW1CQyxDQUFBQSxHQUFBQSxXQUFBQSx5QkFBeUI7SUFFbEQsSUFBSSxDQUFDRCxrQkFBa0I7UUFDckIsTUFBTSxJQUFJRSxNQUFNO0lBQ2xCO0lBRUEsT0FBTyxJQUFJQyxRQUFRLENBQUNDLFNBQVNDO1FBQzNCTCxpQkFBaUI7WUFDZkY7WUFDQUM7WUFDQUs7WUFDQUM7UUFDRjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi9zcmMvY2xpZW50L2FwcC1jYWxsLXNlcnZlci50cz80OTRhIl0sIm5hbWVzIjpbImNhbGxTZXJ2ZXIiLCJhY3Rpb25JZCIsImFjdGlvbkFyZ3MiLCJhY3Rpb25EaXNwYXRjaGVyIiwiZ2V0U2VydmVyQWN0aW9uRGlzcGF0Y2hlciIsIkVycm9yIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/app-call-server.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/app-router-announcer.js": +/*!**************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/app-router-announcer.js ***! + \**************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AppRouterAnnouncer\", ({\n enumerable: true,\n get: function() {\n return AppRouterAnnouncer;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _reactdom = __webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\");\nconst ANNOUNCER_TYPE = \"next-route-announcer\";\nconst ANNOUNCER_ID = \"__next-route-announcer__\";\nfunction getAnnouncerNode() {\n var _existingAnnouncer_shadowRoot;\n const existingAnnouncer = document.getElementsByName(ANNOUNCER_TYPE)[0];\n if (existingAnnouncer == null ? void 0 : (_existingAnnouncer_shadowRoot = existingAnnouncer.shadowRoot) == null ? void 0 : _existingAnnouncer_shadowRoot.childNodes[0]) {\n return existingAnnouncer.shadowRoot.childNodes[0];\n } else {\n const container = document.createElement(ANNOUNCER_TYPE);\n container.style.cssText = \"position:absolute\";\n const announcer = document.createElement(\"div\");\n announcer.ariaLive = \"assertive\";\n announcer.id = ANNOUNCER_ID;\n announcer.role = \"alert\";\n announcer.style.cssText = \"position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal\";\n // Use shadow DOM here to avoid any potential CSS bleed\n const shadow = container.attachShadow({\n mode: \"open\"\n });\n shadow.appendChild(announcer);\n document.body.appendChild(container);\n return announcer;\n }\n}\nfunction AppRouterAnnouncer(param) {\n let { tree } = param;\n const [portalNode, setPortalNode] = (0, _react.useState)(null);\n (0, _react.useEffect)(()=>{\n const announcer = getAnnouncerNode();\n setPortalNode(announcer);\n return ()=>{\n const container = document.getElementsByTagName(ANNOUNCER_TYPE)[0];\n if (container == null ? void 0 : container.isConnected) {\n document.body.removeChild(container);\n }\n };\n }, []);\n const [routeAnnouncement, setRouteAnnouncement] = (0, _react.useState)(\"\");\n const previousTitle = (0, _react.useRef)();\n (0, _react.useEffect)(()=>{\n let currentTitle = \"\";\n if (document.title) {\n currentTitle = document.title;\n } else {\n const pageHeader = document.querySelector(\"h1\");\n if (pageHeader) {\n currentTitle = pageHeader.innerText || pageHeader.textContent || \"\";\n }\n }\n // Only announce the title change, but not for the first load because screen\n // readers do that automatically.\n if (previousTitle.current !== undefined && previousTitle.current !== currentTitle) {\n setRouteAnnouncement(currentTitle);\n }\n previousTitle.current = currentTitle;\n }, [\n tree\n ]);\n return portalNode ? /*#__PURE__*/ (0, _reactdom.createPortal)(routeAnnouncement, portalNode) : null;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router-announcer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItYW5ub3VuY2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7c0RBNkJnQkE7OztlQUFBQTs7O21DQTdCNEI7c0NBQ2Y7QUFHN0IsTUFBTUMsaUJBQWlCO0FBQ3ZCLE1BQU1DLGVBQWU7QUFFckIsU0FBU0M7UUFFSEM7SUFESixNQUFNQSxvQkFBb0JDLFNBQVNDLGlCQUFpQixDQUFDTCxlQUFlLENBQUMsRUFBRTtJQUN2RSxJQUFJRyxxQkFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLGtCQUFtQkcsVUFBVSxxQkFBN0JILDhCQUErQkksVUFBVSxDQUFDLEVBQUUsRUFBRTtRQUNoRCxPQUFPSixrQkFBa0JHLFVBQVUsQ0FBQ0MsVUFBVSxDQUFDLEVBQUU7SUFDbkQsT0FBTztRQUNMLE1BQU1DLFlBQVlKLFNBQVNLLGFBQWEsQ0FBQ1Q7UUFDekNRLFVBQVVFLEtBQUssQ0FBQ0MsT0FBTyxHQUFHO1FBQzFCLE1BQU1DLFlBQVlSLFNBQVNLLGFBQWEsQ0FBQztRQUN6Q0csVUFBVUMsUUFBUSxHQUFHO1FBQ3JCRCxVQUFVRSxFQUFFLEdBQUdiO1FBQ2ZXLFVBQVVHLElBQUksR0FBRztRQUNqQkgsVUFBVUYsS0FBSyxDQUFDQyxPQUFPLEdBQ3JCO1FBRUYsdURBQXVEO1FBQ3ZELE1BQU1LLFNBQVNSLFVBQVVTLFlBQVksQ0FBQztZQUFFQyxNQUFNO1FBQU87UUFDckRGLE9BQU9HLFdBQVcsQ0FBQ1A7UUFDbkJSLFNBQVNnQixJQUFJLENBQUNELFdBQVcsQ0FBQ1g7UUFDMUIsT0FBT0k7SUFDVDtBQUNGO0FBRU8sU0FBU2IsbUJBQW1Cc0IsS0FBcUM7SUFBckMsTUFBRUMsSUFBSSxFQUErQixHQUFyQ0Q7SUFDakMsTUFBTSxDQUFDRSxZQUFZQyxjQUFjLEdBQUdDLENBQUFBLEdBQUFBLE9BQUFBLFFBQVEsRUFBcUI7SUFFakVDLENBQUFBLEdBQUFBLE9BQUFBLFNBQVMsRUFBQztRQUNSLE1BQU1kLFlBQVlWO1FBQ2xCc0IsY0FBY1o7UUFDZCxPQUFPO1lBQ0wsTUFBTUosWUFBWUosU0FBU3VCLG9CQUFvQixDQUFDM0IsZUFBZSxDQUFDLEVBQUU7WUFDbEUsSUFBSVEsYUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsVUFBV29CLFdBQVcsRUFBRTtnQkFDMUJ4QixTQUFTZ0IsSUFBSSxDQUFDUyxXQUFXLENBQUNyQjtZQUM1QjtRQUNGO0lBQ0YsR0FBRyxFQUFFO0lBRUwsTUFBTSxDQUFDc0IsbUJBQW1CQyxxQkFBcUIsR0FBR04sQ0FBQUEsR0FBQUEsT0FBQUEsUUFBUSxFQUFDO0lBQzNELE1BQU1PLGdCQUFnQkMsQ0FBQUEsR0FBQUEsT0FBQUEsTUFBTTtJQUU1QlAsQ0FBQUEsR0FBQUEsT0FBQUEsU0FBUyxFQUFDO1FBQ1IsSUFBSVEsZUFBZTtRQUNuQixJQUFJOUIsU0FBUytCLEtBQUssRUFBRTtZQUNsQkQsZUFBZTlCLFNBQVMrQixLQUFLO1FBQy9CLE9BQU87WUFDTCxNQUFNQyxhQUFhaEMsU0FBU2lDLGFBQWEsQ0FBQztZQUMxQyxJQUFJRCxZQUFZO2dCQUNkRixlQUFlRSxXQUFXRSxTQUFTLElBQUlGLFdBQVdHLFdBQVcsSUFBSTtZQUNuRTtRQUNGO1FBRUEsNEVBQTRFO1FBQzVFLGlDQUFpQztRQUNqQyxJQUNFUCxjQUFjUSxPQUFPLEtBQUtDLGFBQzFCVCxjQUFjUSxPQUFPLEtBQUtOLGNBQzFCO1lBQ0FILHFCQUFxQkc7UUFDdkI7UUFDQUYsY0FBY1EsT0FBTyxHQUFHTjtJQUMxQixHQUFHO1FBQUNaO0tBQUs7SUFFVCxPQUFPQyxhQUFhbUIsV0FBYm5CLEdBQWFtQixDQUFBQSxHQUFBQSxVQUFBQSxZQUFZLEVBQUNaLG1CQUFtQlAsY0FBYztBQUNwRSIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLWFubm91bmNlci50c3g/YWRlMyJdLCJuYW1lcyI6WyJBcHBSb3V0ZXJBbm5vdW5jZXIiLCJBTk5PVU5DRVJfVFlQRSIsIkFOTk9VTkNFUl9JRCIsImdldEFubm91bmNlck5vZGUiLCJleGlzdGluZ0Fubm91bmNlciIsImRvY3VtZW50IiwiZ2V0RWxlbWVudHNCeU5hbWUiLCJzaGFkb3dSb290IiwiY2hpbGROb2RlcyIsImNvbnRhaW5lciIsImNyZWF0ZUVsZW1lbnQiLCJzdHlsZSIsImNzc1RleHQiLCJhbm5vdW5jZXIiLCJhcmlhTGl2ZSIsImlkIiwicm9sZSIsInNoYWRvdyIsImF0dGFjaFNoYWRvdyIsIm1vZGUiLCJhcHBlbmRDaGlsZCIsImJvZHkiLCJwYXJhbSIsInRyZWUiLCJwb3J0YWxOb2RlIiwic2V0UG9ydGFsTm9kZSIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJpc0Nvbm5lY3RlZCIsInJlbW92ZUNoaWxkIiwicm91dGVBbm5vdW5jZW1lbnQiLCJzZXRSb3V0ZUFubm91bmNlbWVudCIsInByZXZpb3VzVGl0bGUiLCJ1c2VSZWYiLCJjdXJyZW50VGl0bGUiLCJ0aXRsZSIsInBhZ2VIZWFkZXIiLCJxdWVyeVNlbGVjdG9yIiwiaW5uZXJUZXh0IiwidGV4dENvbnRlbnQiLCJjdXJyZW50IiwidW5kZWZpbmVkIiwiY3JlYXRlUG9ydGFsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/app-router-announcer.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/app-router-headers.js": +/*!************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/app-router-headers.js ***! + \************************************************************************/ +/***/ ((module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ACTION: function() {\n return ACTION;\n },\n FLIGHT_PARAMETERS: function() {\n return FLIGHT_PARAMETERS;\n },\n NEXT_DID_POSTPONE_HEADER: function() {\n return NEXT_DID_POSTPONE_HEADER;\n },\n NEXT_ROUTER_PREFETCH_HEADER: function() {\n return NEXT_ROUTER_PREFETCH_HEADER;\n },\n NEXT_ROUTER_STATE_TREE: function() {\n return NEXT_ROUTER_STATE_TREE;\n },\n NEXT_RSC_UNION_QUERY: function() {\n return NEXT_RSC_UNION_QUERY;\n },\n NEXT_URL: function() {\n return NEXT_URL;\n },\n RSC_CONTENT_TYPE_HEADER: function() {\n return RSC_CONTENT_TYPE_HEADER;\n },\n RSC_HEADER: function() {\n return RSC_HEADER;\n }\n});\nconst RSC_HEADER = \"RSC\";\nconst ACTION = \"Next-Action\";\nconst NEXT_ROUTER_STATE_TREE = \"Next-Router-State-Tree\";\nconst NEXT_ROUTER_PREFETCH_HEADER = \"Next-Router-Prefetch\";\nconst NEXT_URL = \"Next-Url\";\nconst RSC_CONTENT_TYPE_HEADER = \"text/x-component\";\nconst FLIGHT_PARAMETERS = [\n [\n RSC_HEADER\n ],\n [\n NEXT_ROUTER_STATE_TREE\n ],\n [\n NEXT_ROUTER_PREFETCH_HEADER\n ]\n];\nconst NEXT_RSC_UNION_QUERY = \"_rsc\";\nconst NEXT_DID_POSTPONE_HEADER = \"x-nextjs-postponed\";\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router-headers.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItaGVhZGVycy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFDYUEsUUFBTTtlQUFOQTs7SUFPQUMsbUJBQWlCO2VBQWpCQTs7SUFRQUMsMEJBQXdCO2VBQXhCQTs7SUFaQUMsNkJBQTJCO2VBQTNCQTs7SUFEQUMsd0JBQXNCO2VBQXRCQTs7SUFXQUMsc0JBQW9CO2VBQXBCQTs7SUFUQUMsVUFBUTtlQUFSQTs7SUFDQUMseUJBQXVCO2VBQXZCQTs7SUFOQUMsWUFBVTtlQUFWQTs7O0FBQU4sTUFBTUEsYUFBYTtBQUNuQixNQUFNUixTQUFTO0FBRWYsTUFBTUkseUJBQXlCO0FBQy9CLE1BQU1ELDhCQUE4QjtBQUNwQyxNQUFNRyxXQUFXO0FBQ2pCLE1BQU1DLDBCQUEwQjtBQUVoQyxNQUFNTixvQkFBb0I7SUFDL0I7UUFBQ087S0FBVztJQUNaO1FBQUNKO0tBQXVCO0lBQ3hCO1FBQUNEO0tBQTRCO0NBQzlCO0FBRU0sTUFBTUUsdUJBQXVCO0FBRTdCLE1BQU1ILDJCQUEyQiIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLWhlYWRlcnMudHM/Zjk0ZSJdLCJuYW1lcyI6WyJBQ1RJT04iLCJGTElHSFRfUEFSQU1FVEVSUyIsIk5FWFRfRElEX1BPU1RQT05FX0hFQURFUiIsIk5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUiIsIk5FWFRfUk9VVEVSX1NUQVRFX1RSRUUiLCJORVhUX1JTQ19VTklPTl9RVUVSWSIsIk5FWFRfVVJMIiwiUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIiLCJSU0NfSEVBREVSIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/app-router.js": +/*!****************************************************************!*\ + !*** ./node_modules/next/dist/client/components/app-router.js ***! + \****************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n createEmptyCacheNode: function() {\n return createEmptyCacheNode;\n },\n default: function() {\n return AppRouter;\n },\n getServerActionDispatcher: function() {\n return getServerActionDispatcher;\n },\n urlToUrlWithoutFlightMarker: function() {\n return urlToUrlWithoutFlightMarker;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer/router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _createhreffromurl = __webpack_require__(/*! ./router-reducer/create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../../shared/lib/hooks-client-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js\");\nconst _usereducerwithdevtools = __webpack_require__(/*! ./use-reducer-with-devtools */ \"(ssr)/./node_modules/next/dist/client/components/use-reducer-with-devtools.js\");\nconst _errorboundary = __webpack_require__(/*! ./error-boundary */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _createinitialrouterstate = __webpack_require__(/*! ./router-reducer/create-initial-router-state */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js\");\nconst _isbot = __webpack_require__(/*! ../../shared/lib/router/utils/is-bot */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-bot.js\");\nconst _addbasepath = __webpack_require__(/*! ../add-base-path */ \"(ssr)/./node_modules/next/dist/client/add-base-path.js\");\nconst _approuterannouncer = __webpack_require__(/*! ./app-router-announcer */ \"(ssr)/./node_modules/next/dist/client/components/app-router-announcer.js\");\nconst _redirectboundary = __webpack_require__(/*! ./redirect-boundary */ \"(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js\");\nconst _findheadincache = __webpack_require__(/*! ./router-reducer/reducers/find-head-in-cache */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js\");\nconst _unresolvedthenable = __webpack_require__(/*! ./unresolved-thenable */ \"(ssr)/./node_modules/next/dist/client/components/unresolved-thenable.js\");\nconst _approuterheaders = __webpack_require__(/*! ./app-router-headers */ \"(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _removebasepath = __webpack_require__(/*! ../remove-base-path */ \"(ssr)/./node_modules/next/dist/client/remove-base-path.js\");\nconst _hasbasepath = __webpack_require__(/*! ../has-base-path */ \"(ssr)/./node_modules/next/dist/client/has-base-path.js\");\nconst _segment = __webpack_require__(/*! ../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst isServer = \"undefined\" === \"undefined\";\n// Ensure the initialParallelRoutes are not combined because of double-rendering in the browser with Strict Mode.\nlet initialParallelRoutes = isServer ? null : new Map();\nlet globalServerActionDispatcher = null;\nfunction getServerActionDispatcher() {\n return globalServerActionDispatcher;\n}\nconst globalMutable = {};\nfunction urlToUrlWithoutFlightMarker(url) {\n const urlWithoutFlightParameters = new URL(url, location.origin);\n urlWithoutFlightParameters.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY);\n if (false) {}\n return urlWithoutFlightParameters;\n}\n// this function performs a depth-first search of the tree to find the selected\n// params\nfunction getSelectedParams(currentTree, params) {\n if (params === void 0) params = {};\n const parallelRoutes = currentTree[1];\n for (const parallelRoute of Object.values(parallelRoutes)){\n const segment = parallelRoute[0];\n const isDynamicParameter = Array.isArray(segment);\n const segmentValue = isDynamicParameter ? segment[1] : segment;\n if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) continue;\n // Ensure catchAll and optional catchall are turned into an array\n const isCatchAll = isDynamicParameter && (segment[2] === \"c\" || segment[2] === \"oc\");\n if (isCatchAll) {\n params[segment[0]] = segment[1].split(\"/\");\n } else if (isDynamicParameter) {\n params[segment[0]] = segment[1];\n }\n params = getSelectedParams(parallelRoute, params);\n }\n return params;\n}\nfunction isExternalURL(url) {\n return url.origin !== window.location.origin;\n}\nfunction HistoryUpdater(param) {\n let { appRouterState, sync } = param;\n (0, _react.useInsertionEffect)(()=>{\n const { tree, pushRef, canonicalUrl } = appRouterState;\n const historyState = {\n ...pushRef.preserveCustomHistoryState ? window.history.state : {},\n // Identifier is shortened intentionally.\n // __NA is used to identify if the history entry can be handled by the app-router.\n // __N is used to identify if the history entry can be handled by the old router.\n __NA: true,\n __PRIVATE_NEXTJS_INTERNALS_TREE: tree\n };\n if (pushRef.pendingPush && // Skip pushing an additional history entry if the canonicalUrl is the same as the current url.\n // This mirrors the browser behavior for normal navigation.\n (0, _createhreffromurl.createHrefFromUrl)(new URL(window.location.href)) !== canonicalUrl) {\n // This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry.\n pushRef.pendingPush = false;\n window.history.pushState(historyState, \"\", canonicalUrl);\n } else {\n window.history.replaceState(historyState, \"\", canonicalUrl);\n }\n sync(appRouterState);\n }, [\n appRouterState,\n sync\n ]);\n return null;\n}\nfunction createEmptyCacheNode() {\n return {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n lazyDataResolved: false,\n loading: null\n };\n}\nfunction useServerActionDispatcher(dispatch) {\n const serverActionDispatcher = (0, _react.useCallback)((actionPayload)=>{\n (0, _react.startTransition)(()=>{\n dispatch({\n ...actionPayload,\n type: _routerreducertypes.ACTION_SERVER_ACTION\n });\n });\n }, [\n dispatch\n ]);\n globalServerActionDispatcher = serverActionDispatcher;\n}\n/**\n * Server response that only patches the cache and tree.\n */ function useChangeByServerResponse(dispatch) {\n return (0, _react.useCallback)((param)=>{\n let { previousTree, serverResponse } = param;\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_SERVER_PATCH,\n previousTree,\n serverResponse\n });\n });\n }, [\n dispatch\n ]);\n}\nfunction useNavigate(dispatch) {\n return (0, _react.useCallback)((href, navigateType, shouldScroll)=>{\n const url = new URL((0, _addbasepath.addBasePath)(href), location.href);\n return dispatch({\n type: _routerreducertypes.ACTION_NAVIGATE,\n url,\n isExternalUrl: isExternalURL(url),\n locationSearch: location.search,\n shouldScroll: shouldScroll != null ? shouldScroll : true,\n navigateType\n });\n }, [\n dispatch\n ]);\n}\nfunction copyNextJsInternalHistoryState(data) {\n if (data == null) data = {};\n const currentState = window.history.state;\n const __NA = currentState == null ? void 0 : currentState.__NA;\n if (__NA) {\n data.__NA = __NA;\n }\n const __PRIVATE_NEXTJS_INTERNALS_TREE = currentState == null ? void 0 : currentState.__PRIVATE_NEXTJS_INTERNALS_TREE;\n if (__PRIVATE_NEXTJS_INTERNALS_TREE) {\n data.__PRIVATE_NEXTJS_INTERNALS_TREE = __PRIVATE_NEXTJS_INTERNALS_TREE;\n }\n return data;\n}\nfunction Head(param) {\n let { headCacheNode } = param;\n // If this segment has a `prefetchHead`, it's the statically prefetched data.\n // We should use that on initial render instead of `head`. Then we'll switch\n // to `head` when the dynamic response streams in.\n const head = headCacheNode !== null ? headCacheNode.head : null;\n const prefetchHead = headCacheNode !== null ? headCacheNode.prefetchHead : null;\n // If no prefetch data is available, then we go straight to rendering `head`.\n const resolvedPrefetchRsc = prefetchHead !== null ? prefetchHead : head;\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n //\n // @ts-expect-error The second argument to `useDeferredValue` is only\n // available in the experimental builds. When its disabled, it will always\n // return `head`.\n return (0, _react.useDeferredValue)(head, resolvedPrefetchRsc);\n}\n/**\n * The global router that wraps the application components.\n */ function Router(param) {\n let { buildId, initialHead, initialTree, urlParts, initialSeedData, couldBeIntercepted, assetPrefix, missingSlots } = param;\n const initialState = (0, _react.useMemo)(()=>(0, _createinitialrouterstate.createInitialRouterState)({\n buildId,\n initialSeedData,\n urlParts,\n initialTree,\n initialParallelRoutes,\n location: !isServer ? window.location : null,\n initialHead,\n couldBeIntercepted\n }), [\n buildId,\n initialSeedData,\n urlParts,\n initialTree,\n initialHead,\n couldBeIntercepted\n ]);\n const [reducerState, dispatch, sync] = (0, _usereducerwithdevtools.useReducerWithReduxDevtools)(initialState);\n (0, _react.useEffect)(()=>{\n // Ensure initialParallelRoutes is cleaned up from memory once it's used.\n initialParallelRoutes = null;\n }, []);\n const { canonicalUrl } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n // Add memoized pathname/query for useSearchParams and usePathname.\n const { searchParams, pathname } = (0, _react.useMemo)(()=>{\n const url = new URL(canonicalUrl, true ? \"http://n\" : 0);\n return {\n // This is turned into a readonly class in `useSearchParams`\n searchParams: url.searchParams,\n pathname: (0, _hasbasepath.hasBasePath)(url.pathname) ? (0, _removebasepath.removeBasePath)(url.pathname) : url.pathname\n };\n }, [\n canonicalUrl\n ]);\n const changeByServerResponse = useChangeByServerResponse(dispatch);\n const navigate = useNavigate(dispatch);\n useServerActionDispatcher(dispatch);\n /**\n * The app router that is exposed through `useRouter`. It's only concerned with dispatching actions to the reducer, does not hold state.\n */ const appRouter = (0, _react.useMemo)(()=>{\n const routerInstance = {\n back: ()=>window.history.back(),\n forward: ()=>window.history.forward(),\n prefetch: (href, options)=>{\n // Don't prefetch for bots as they don't navigate.\n if ((0, _isbot.isBot)(window.navigator.userAgent)) {\n return;\n }\n let url;\n try {\n url = new URL((0, _addbasepath.addBasePath)(href), window.location.href);\n } catch (_) {\n throw new Error(\"Cannot prefetch '\" + href + \"' because it cannot be converted to a URL.\");\n }\n // Don't prefetch during development (improves compilation performance)\n if (true) {\n return;\n }\n // External urls can't be prefetched in the same way.\n if (isExternalURL(url)) {\n return;\n }\n (0, _react.startTransition)(()=>{\n var _options_kind;\n dispatch({\n type: _routerreducertypes.ACTION_PREFETCH,\n url,\n kind: (_options_kind = options == null ? void 0 : options.kind) != null ? _options_kind : _routerreducertypes.PrefetchKind.FULL\n });\n });\n },\n replace: (href, options)=>{\n if (options === void 0) options = {};\n (0, _react.startTransition)(()=>{\n var _options_scroll;\n navigate(href, \"replace\", (_options_scroll = options.scroll) != null ? _options_scroll : true);\n });\n },\n push: (href, options)=>{\n if (options === void 0) options = {};\n (0, _react.startTransition)(()=>{\n var _options_scroll;\n navigate(href, \"push\", (_options_scroll = options.scroll) != null ? _options_scroll : true);\n });\n },\n refresh: ()=>{\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_REFRESH,\n origin: window.location.origin\n });\n });\n },\n fastRefresh: ()=>{\n if (false) {} else {\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_FAST_REFRESH,\n origin: window.location.origin\n });\n });\n }\n }\n };\n return routerInstance;\n }, [\n dispatch,\n navigate\n ]);\n (0, _react.useEffect)(()=>{\n // Exists for debugging purposes. Don't use in application code.\n if (window.next) {\n window.next.router = appRouter;\n }\n }, [\n appRouter\n ]);\n if (true) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const { cache, prefetchCache, tree } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, _react.useEffect)(()=>{\n // Add `window.nd` for debugging purposes.\n // This is not meant for use in applications as concurrent rendering will affect the cache/tree/router.\n // @ts-ignore this is for debugging\n window.nd = {\n router: appRouter,\n cache,\n prefetchCache,\n tree\n };\n }, [\n appRouter,\n cache,\n prefetchCache,\n tree\n ]);\n }\n (0, _react.useEffect)(()=>{\n // If the app is restored from bfcache, it's possible that\n // pushRef.mpaNavigation is true, which would mean that any re-render of this component\n // would trigger the mpa navigation logic again from the lines below.\n // This will restore the router to the initial state in the event that the app is restored from bfcache.\n function handlePageShow(event) {\n var _window_history_state;\n if (!event.persisted || !((_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE)) {\n return;\n }\n // Clear the pendingMpaPath value so that a subsequent MPA navigation to the same URL can be triggered.\n // This is necessary because if the browser restored from bfcache, the pendingMpaPath would still be set to the value\n // of the last MPA navigation.\n globalMutable.pendingMpaPath = undefined;\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(window.location.href),\n tree: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE\n });\n }\n window.addEventListener(\"pageshow\", handlePageShow);\n return ()=>{\n window.removeEventListener(\"pageshow\", handlePageShow);\n };\n }, [\n dispatch\n ]);\n // When mpaNavigation flag is set do a hard navigation to the new url.\n // Infinitely suspend because we don't actually want to rerender any child\n // components with the new URL and any entangled state updates shouldn't\n // commit either (eg: useTransition isPending should stay true until the page\n // unloads).\n //\n // This is a side effect in render. Don't try this at home, kids. It's\n // probably safe because we know this is a singleton component and it's never\n // in . At least I hope so. (It will run twice in dev strict mode,\n // but that's... fine?)\n const { pushRef } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n if (pushRef.mpaNavigation) {\n // if there's a re-render, we don't want to trigger another redirect if one is already in flight to the same URL\n if (globalMutable.pendingMpaPath !== canonicalUrl) {\n const location1 = window.location;\n if (pushRef.pendingPush) {\n location1.assign(canonicalUrl);\n } else {\n location1.replace(canonicalUrl);\n }\n globalMutable.pendingMpaPath = canonicalUrl;\n }\n // TODO-APP: Should we listen to navigateerror here to catch failed\n // navigations somehow? And should we call window.stop() if a SPA navigation\n // should interrupt an MPA one?\n (0, _react.use)(_unresolvedthenable.unresolvedThenable);\n }\n (0, _react.useEffect)(()=>{\n const originalPushState = window.history.pushState.bind(window.history);\n const originalReplaceState = window.history.replaceState.bind(window.history);\n // Ensure the canonical URL in the Next.js Router is updated when the URL is changed so that `usePathname` and `useSearchParams` hold the pushed values.\n const applyUrlFromHistoryPushReplace = (url)=>{\n var _window_history_state;\n const href = window.location.href;\n const tree = (_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE;\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(url != null ? url : href, href),\n tree\n });\n });\n };\n /**\n * Patch pushState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */ window.history.pushState = function pushState(data, _unused, url) {\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) {\n return originalPushState(data, _unused, url);\n }\n data = copyNextJsInternalHistoryState(data);\n if (url) {\n applyUrlFromHistoryPushReplace(url);\n }\n return originalPushState(data, _unused, url);\n };\n /**\n * Patch replaceState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */ window.history.replaceState = function replaceState(data, _unused, url) {\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) {\n return originalReplaceState(data, _unused, url);\n }\n data = copyNextJsInternalHistoryState(data);\n if (url) {\n applyUrlFromHistoryPushReplace(url);\n }\n return originalReplaceState(data, _unused, url);\n };\n /**\n * Handle popstate event, this is used to handle back/forward in the browser.\n * By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page.\n * That case can happen when the old router injected the history entry.\n */ const onPopState = (param)=>{\n let { state } = param;\n if (!state) {\n // TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case.\n return;\n }\n // This case happens when the history entry was pushed by the `pages` router.\n if (!state.__NA) {\n window.location.reload();\n return;\n }\n // TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously\n // Without startTransition works if the cache is there for this path\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(window.location.href),\n tree: state.__PRIVATE_NEXTJS_INTERNALS_TREE\n });\n });\n };\n // Register popstate event to call onPopstate.\n window.addEventListener(\"popstate\", onPopState);\n return ()=>{\n window.history.pushState = originalPushState;\n window.history.replaceState = originalReplaceState;\n window.removeEventListener(\"popstate\", onPopState);\n };\n }, [\n dispatch\n ]);\n const { cache, tree, nextUrl, focusAndScrollRef } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n const matchingHead = (0, _react.useMemo)(()=>{\n return (0, _findheadincache.findHeadInCache)(cache, tree[1]);\n }, [\n cache,\n tree\n ]);\n // Add memoized pathParams for useParams.\n const pathParams = (0, _react.useMemo)(()=>{\n return getSelectedParams(tree);\n }, [\n tree\n ]);\n let head;\n if (matchingHead !== null) {\n // The head is wrapped in an extra component so we can use\n // `useDeferredValue` to swap between the prefetched and final versions of\n // the head. (This is what LayoutRouter does for segment data, too.)\n //\n // The `key` is used to remount the component whenever the head moves to\n // a different segment.\n const [headCacheNode, headKey] = matchingHead;\n head = /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {\n headCacheNode: headCacheNode\n }, headKey);\n } else {\n head = null;\n }\n let content = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, {\n children: [\n head,\n cache.rsc,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuterannouncer.AppRouterAnnouncer, {\n tree: tree\n })\n ]\n });\n if (true) {\n if (false) {}\n const HotReloader = (__webpack_require__(/*! ./react-dev-overlay/app/hot-reloader-client */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js\")[\"default\"]);\n content = /*#__PURE__*/ (0, _jsxruntime.jsx)(HotReloader, {\n assetPrefix: assetPrefix,\n children: content\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HistoryUpdater, {\n appRouterState: (0, _usereducerwithdevtools.useUnwrapState)(reducerState),\n sync: sync\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathParamsContext.Provider, {\n value: pathParams,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathnameContext.Provider, {\n value: pathname,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.SearchParamsContext.Provider, {\n value: searchParams,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.GlobalLayoutRouterContext.Provider, {\n value: {\n buildId,\n changeByServerResponse,\n tree,\n focusAndScrollRef,\n nextUrl\n },\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.AppRouterContext.Provider, {\n value: appRouter,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {\n value: {\n childNodes: cache.parallelRoutes,\n tree,\n // Root node always has `url`\n // Provided in AppTreeContext to ensure it can be overwritten in layout-router\n url: canonicalUrl,\n loading: cache.loading\n },\n children: content\n })\n })\n })\n })\n })\n })\n ]\n });\n}\nfunction AppRouter(props) {\n const { globalErrorComponent, ...rest } = props;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {\n errorComponent: globalErrorComponent,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Router, {\n ...rest\n })\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFtTGdCQSxTQUFBQTswQkFBQUE7O0lBbWhCaEI7OztJQTNuQmdCQzsrQkFBQUE7O0lBUUFDO2lDQUFBQTs7Ozs7O3VEQWxFVEMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTt1Q0FlQUEsbUJBQUFBLENBQUE7Z0RBUTJCOzt5Q0FVM0JBLG1CQUFBQSxDQUFBO2dDQUN1QkEsbUJBQUFBLENBQUE7O2tDQUdSQSxtQkFBQUEsQ0FBQTs7O2dEQUdXOzhDQUNEOztnREFFSzs4Q0FDTjs0Q0FDSDt5Q0FDSztBQUdqQyxNQUFNQyxXQUFXRCxtQkFBQUEsQ0FBT0Usc0ZBQUFBO0FBRXhCLE1BQUFELFdBQUE7QUFDQSxpSEFFUUU7QUFFUixJQUFJQyx3QkFBQUEsV0FBK0IsV0FBQUQ7QUFFNUIsSUFBQUMsK0JBQVNQO1NBQ2RBO0lBQ0YsT0FBQU87QUFFQTtBQUlPLE1BQUFDLGdCQUFTUCxDQUFBQTtTQUNkQSw0QkFBTVEsR0FBNkI7SUFDbkNBLE1BQUFBLDZCQUEyQkMsSUFBWUMsSUFBQ0MsS0FBT0MsU0FBQUEsTUFBQUE7SUFDL0NKLDJCQUF3QkMsWUFBSyxDQUFBRSxNQUFjLENBQUFFLGtCQUFBRCxvQkFBQTtRQUN6Q0UsS0FDY0MsRUFBb0IsRUFTcEM7SUFDRixPQUFBUDtBQUVBO0FBQ0EsK0VBQVM7QUFDVCxTQUFTWTtTQUVQQyxrQkFBQUEsV0FBa0IsRUFBQUEsTUFBQTtJQUVsQixJQUFBQSxXQUFNQyxLQUFBQSxHQUFpQkMsU0FBQUEsQ0FBQUE7SUFFdkIsTUFBS0QsaUJBQU1FLFdBQWlCQyxDQUFPQyxFQUFBQTtTQUNqQyxNQUFNQyxpQkFBVUgsT0FBY0UsTUFBRSxDQUFBSixnQkFBQTtRQUNoQyxNQUFNTSxVQUFBQSxhQUFxQkMsQ0FBQUEsRUFBQUE7UUFDM0IsTUFBTUMscUJBQWVGLE1BQUFBLE9BQUFBLENB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QUFBO0lBRVIsUUFBQUEsb0JBQ0UsS0FBQUMsTUFBQSxHQUFDQztXQUE4QkYsV0FBaEJHLEdBQWdCSCxDQUFBQSxHQUFBQSxZQUFBQSxHQUFBQSxFQUFBQSxlQUFBQSxhQUFBQSxFQUFBQTt3QkFDN0JBO2tCQUFnQixrQkFBQWYsWUFBQUMsR0FBQSxFQUFBa0IsUUFBQTs7O0lBR3RCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXIudHN4PzM3ODEiXSwibmFtZXMiOlsiY3JlYXRlRW1wdHlDYWNoZU5vZGUiLCJnZXRTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyIiwidXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyIiwiXyIsInJlcXVpcmUiLCJpc1NlcnZlciIsIndpbmRvdyIsIk1hcCIsImdsb2JhbFNlcnZlckFjdGlvbkRpc3BhdGNoZXIiLCJnbG9iYWxNdXRhYmxlIiwidXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnMiLCJzZWFyY2hQYXJhbXMiLCJVUkwiLCJkZWxldGUiLCJORVhUX1JTQ19VTklPTl9RVUVSWSIsIl9hcHByb3V0ZXJoZWFkZXJzIiwicHJvY2VzcyIsIl9fTkVYVF9DT05GSUdfT1VUUFVUIiwicGF0aG5hbWUiLCJsZW5ndGgiLCJlbmRzV2l0aCIsInNsaWNlIiwiZ2V0U2VsZWN0ZWRQYXJhbXMiLCJwYXJhbXMiLCJwYXJhbGxlbFJvdXRlcyIsImN1cnJlbnRUcmVlIiwicGFyYWxsZWxSb3V0ZSIsIk9iamVjdCIsInZhbHVlcyIsInNlZ21lbnQiLCJpc0R5bmFtaWNQYXJhbWV0ZXIiLCJBcnJheSIsInNlZ21lbnRWYWx1ZSIsInN0YXJ0c1dpdGgiLCJQQUdFX1NFR01FTlRfS0VZIiwiX3NlZ21lbnQiLCJpc0NhdGNoQWxsIiwic3BsaXQiLCJpc0V4dGVybmFsVVJMIiwidXJsIiwib3JpZ2luIiwibG9jYXRpb24iLCJIaXN0b3J5VXBkYXRlciIsInBhcmFtIiwic3luYyIsInVzZUluc2VydGlvbkVmZmVjdCIsIl9yZWFjdCIsImNhbm9uaWNhbFVybCIsImhpc3RvcnlTdGF0ZSIsImFwcFJvdXRlclN0YXRlIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJwdXNoUmVmIiwiaGlzdG9yeSIsInN0YXRlIiwiX19OQSIsIl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUUiLCJ0cmVlIiwicGVuZGluZ1B1c2giLCJjcmVhdGVIcmVmRnJvbVVybCIsIl9jcmVhdGVocmVmZnJvbXVybCIsImhyZWYiLCJwdXNoU3RhdGUiLCJyZXBsYWNlU3RhdGUiLCJsYXp5RGF0YSIsInJzYyIsInByZWZldGNoUnNjIiwiaGVhZCIsInByZWZldGNoSGVhZCIsImxhenlEYXRhUmVzb2x2ZWQiLCJsb2FkaW5nIiwidXNlU2VydmVyQWN0aW9uRGlzcGF0Y2hlciIsInVzZUNhbGxiYWNrIiwic3RhcnRUcmFuc2l0aW9uIiwiYWN0aW9uUGF5bG9hZCIsImRpc3BhdGNoIiwidHlwZSIsIkFDVElPTl9TRVJWRVJfQUNUSU9OIiwiX3JvdXRlcnJlZHVjZXJ0eXBlcyIsInNlcnZlckFjdGlvbkRpc3BhdGNoZXIiLCJwcmV2aW91c1RyZWUiLCJzZXJ2ZXJSZXNwb25zZSIsInVzZU5hdmlnYXRlIiwiYWRkQmFzZVBhdGgiLCJzaG91bGRTY3JvbGwiLCJfYWRkYmFzZXBhdGgiLCJBQ1RJT05fTkFWSUdBVEUiLCJpc0V4dGVybmFsVXJsIiwibG9jYXRpb25TZWFyY2giLCJzZWFyY2giLCJuYXZpZ2F0ZVR5cGUiLCJkYXRhIiwiY3VycmVudFN0YXRlIiwiSGVhZCIsImhlYWRDYWNoZU5vZGUiLCJyZXNvbHZlZFByZWZldGNoUnNjIiwidXNlRGVmZXJyZWRWYWx1ZSIsImJ1aWxkSWQiLCJpbml0aWFsSGVhZCIsImluaXRpYWxTdGF0ZSIsInVzZU1lbW8iLCJ1cmxQYXJ0cyIsImNyZWF0ZUluaXRpYWxSb3V0ZXJTdGF0ZSIsIm1pc3NpbmdTbG90cyIsImluaXRpYWxTZWVkRGF0YSIsImluaXRpYWxUcmVlIiwiaW5pdGlhbFBhcmFsbGVsUm91dGVzIiwiY291bGRCZUludGVyY2VwdGVkIiwidXNlRWZmZWN0IiwiX3VzZXJlZHVjZXJ3aXRoZGV2dG9vbHMiLCJ1c2VSZWR1Y2VyV2l0aFJlZHV4RGV2dG9vbHMiLCJ1c2VVbndyYXBTdGF0ZSIsInJlZHVjZXJTdGF0ZSIsImhhc0Jhc2VQYXRoIiwiX2hhc2Jhc2VwYXRoIiwiX3JlbW92ZWJhc2VwYXRoIiwicmVtb3ZlQmFzZVBhdGgiLCJuYXZpZ2F0ZSIsImFwcFJvdXRlciIsInJvdXRlckluc3RhbmNlIiwiYmFjayIsImZvcndhcmQiLCJwcmVmZXRjaCIsIm9wdGlvbnMiLCJfaXNib3QiLCJpc0JvdCIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsIkVycm9yIiwia2luZCIsIl9vcHRpb25zX2tpbmQiLCJQcmVmZXRjaEtpbmQiLCJGVUxMIiwicmVwbGFjZSIsIl9vcHRpb25zX3Njcm9sbCIsInNjcm9sbCIsInB1c2giLCJyZWZyZXNoIiwiZmFzdFJlZnJlc2giLCJuZXh0Iiwicm91dGVyIiwiY2FjaGUiLCJwcmVmZXRjaENhY2hlIiwiX3dpbmRvd19oaXN0b3J5X3N0YXRlIiwiZXZlbnQiLCJwZXJzaXN0ZWQiLCJwZW5kaW5nTXBhUGF0aCIsInVuZGVmaW5lZCIsImFkZEV2ZW50TGlzdGVuZXIiLCJoYW5kbGVQYWdlU2hvdyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJtcGFOYXZpZ2F0aW9uIiwibG9jYXRpb24xIiwiYXNzaWduIiwidXNlIiwidW5yZXNvbHZlZFRoZW5hYmxlIiwiX3VucmVzb2x2ZWR0aGVuYWJsZSIsIm9yaWdpbmFsUHVzaFN0YXRlIiwib3JpZ2luYWxSZXBsYWNlU3RhdGUiLCJiaW5kIiwiX3VudXNlZCIsImFwcGx5VXJsRnJvbUhpc3RvcnlQdXNoUmVwbGFjZSIsInJlbG9hZCIsIm9uUG9wU3RhdGUiLCJtYXRjaGluZ0hlYWQiLCJmaW5kSGVhZEluQ2FjaGUiLCJfZmluZGhlYWRpbmNhY2hlIiwicGF0aFBhcmFtcyIsImhlYWRLZXkiLCJEZXZSb290Tm90Rm91bmRCb3VuZGFyeSIsImNvbnRlbnQiLCJfanN4cnVudGltZSIsImpzeCIsIk1pc3NpbmdTbG90Q29udGV4dCIsInZhbHVlIiwiSG90UmVsb2FkZXIiLCJhc3NldFByZWZpeCIsIl9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSIsIkdsb2JhbExheW91dFJvdXRlckNvbnRleHQiLCJQcm92aWRlciIsImNoYW5nZUJ5U2VydmVyUmVzcG9uc2UiLCJmb2N1c0FuZFNjcm9sbFJlZiIsIm5leHRVcmwiLCJMYXlvdXRSb3V0ZXJDb250ZXh0IiwiY2hpbGROb2RlcyIsIkFwcFJvdXRlciIsImdsb2JhbEVycm9yQ29tcG9uZW50IiwicmVzdCIsIkVycm9yQm91bmRhcnkiLCJlcnJvckNvbXBvbmVudCIsIlJvdXRlciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/app-router.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/bailout-to-client-rendering.js ***! + \*********************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"bailoutToClientRendering\", ({\n enumerable: true,\n get: function() {\n return bailoutToClientRendering;\n }\n}));\nconst _bailouttocsr = __webpack_require__(/*! ../../shared/lib/lazy-dynamic/bailout-to-csr */ \"(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\");\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"../../client/components/static-generation-async-storage.external\");\nfunction bailoutToClientRendering(reason) {\n const staticGenerationStore = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (staticGenerationStore == null ? void 0 : staticGenerationStore.forceStatic) return;\n if (staticGenerationStore == null ? void 0 : staticGenerationStore.isStaticGeneration) throw new _bailouttocsr.BailoutToCSRError(reason);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=bailout-to-client-rendering.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2JhaWxvdXQtdG8tY2xpZW50LXJlbmRlcmluZy5qcyIsIm1hcHBpbmdzIjoiOzs7OzREQUdnQkE7OztlQUFBQTs7OzBDQUhrQjtrRUFDVztBQUV0QyxTQUFTQSx5QkFBeUJDLE1BQWM7SUFDckQsTUFBTUMsd0JBQXdCQyxzQ0FBQUEsNEJBQTRCLENBQUNDLFFBQVE7SUFFbkUsSUFBSUYseUJBQUFBLE9BQUFBLEtBQUFBLElBQUFBLHNCQUF1QkcsV0FBVyxFQUFFO0lBRXhDLElBQUlILHlCQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxzQkFBdUJJLGtCQUFrQixFQUMzQyxNQUFNLElBQUlDLGNBQUFBLGlCQUFpQixDQUFDTjtBQUNoQyIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9iYWlsb3V0LXRvLWNsaWVudC1yZW5kZXJpbmcudHM/YmJkOCJdLCJuYW1lcyI6WyJiYWlsb3V0VG9DbGllbnRSZW5kZXJpbmciLCJyZWFzb24iLCJzdGF0aWNHZW5lcmF0aW9uU3RvcmUiLCJzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlIiwiZ2V0U3RvcmUiLCJmb3JjZVN0YXRpYyIsImlzU3RhdGljR2VuZXJhdGlvbiIsIkJhaWxvdXRUb0NTUkVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/client-page.js": +/*!*****************************************************************!*\ + !*** ./node_modules/next/dist/client/components/client-page.js ***! + \*****************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ClientPageRoot\", ({\n enumerable: true,\n get: function() {\n return ClientPageRoot;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _searchparams = __webpack_require__(/*! ./search-params */ \"(ssr)/./node_modules/next/dist/client/components/search-params.js\");\nfunction ClientPageRoot(param) {\n let { Component, props } = param;\n // We expect to be passed searchParams but even if we aren't we can construct one from\n // an empty object. We only do this if we are in a static generation as a performance\n // optimization. Ideally we'd unconditionally construct the tracked params but since\n // this creates a proxy which is slow and this would happen even for client navigations\n // that are done entirely dynamically and we know there the dynamic tracking is a noop\n // in this dynamic case we can safely elide it.\n props.searchParams = (0, _searchparams.createDynamicallyTrackedSearchParams)(props.searchParams || {});\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {\n ...props\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=client-page.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1wYWdlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR08sTUFBQUEsZ0JBQVNDLG1CQUFBQSxDQU1mO1NBTjhCQSxlQUU3QkMsS0FJRDtJQUNDLE1BQUFDLFNBQUEsRUFBQUQsS0FBQSxLQUFBRTtJQUNBLHNGQUFxRjtJQUNyRixxRkFBb0Y7SUFDcEY7SUFDQSx1RkFBc0Y7SUFDdEYsc0ZBQStDO0lBQy9DRiwrQ0FBcUJHO0lBR3JCSCxNQUFBSSxZQUFBLEdBQU8sSUFBQU4sY0FBQUssb0NBQUNGLEVBQUFBLE1BQUFBLFlBQUFBLElBQUFBLENBQUFBO1dBQW1CLGtCQUFBSSxZQUFBQyxHQUFBLEVBQUFMLFdBQUE7O0lBQzdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1wYWdlLnRzeD84NGM1Il0sIm5hbWVzIjpbIl9zZWFyY2hwYXJhbXMiLCJDbGllbnRQYWdlUm9vdCIsInByb3BzIiwiQ29tcG9uZW50IiwicGFyYW0iLCJjcmVhdGVEeW5hbWljYWxseVRyYWNrZWRTZWFyY2hQYXJhbXMiLCJzZWFyY2hQYXJhbXMiLCJfanN4cnVudGltZSIsImpzeCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/client-page.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/error-boundary.js": +/*!********************************************************************!*\ + !*** ./node_modules/next/dist/client/components/error-boundary.js ***! + \********************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ErrorBoundary: function() {\n return ErrorBoundary;\n },\n ErrorBoundaryHandler: function() {\n return ErrorBoundaryHandler;\n },\n GlobalError: function() {\n return GlobalError;\n },\n // Exported so that the import signature in the loaders can be identical to user\n // supplied custom global error signatures.\n default: function() {\n return _default;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _isnextroutererror = __webpack_require__(/*! ./is-next-router-error */ \"(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js\");\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"../../client/components/static-generation-async-storage.external\");\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily: 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: \"100vh\",\n textAlign: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n text: {\n fontSize: \"14px\",\n fontWeight: 400,\n lineHeight: \"28px\",\n margin: \"0 8px\"\n }\n};\n// if we are revalidating we want to re-throw the error so the\n// function crashes so we can maintain our previous cache\n// instead of caching the error page\nfunction HandleISRError(param) {\n let { error } = param;\n const store = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if ((store == null ? void 0 : store.isRevalidate) || (store == null ? void 0 : store.isStaticGeneration)) {\n console.error(error);\n throw error;\n }\n return null;\n}\nclass ErrorBoundaryHandler extends _react.default.Component {\n static getDerivedStateFromError(error) {\n if ((0, _isnextroutererror.isNextRouterError)(error)) {\n // Re-throw if an expected internal Next.js router error occurs\n // this means it should be handled by a different boundary (such as a NotFound boundary in a parent segment)\n throw error;\n }\n return {\n error\n };\n }\n static getDerivedStateFromProps(props, state) {\n /**\n * Handles reset of the error boundary when a navigation happens.\n * Ensures the error boundary does not stay enabled when navigating to a new page.\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */ if (props.pathname !== state.previousPathname && state.error) {\n return {\n error: null,\n previousPathname: props.pathname\n };\n }\n return {\n error: state.error,\n previousPathname: props.pathname\n };\n }\n // Explicit type is needed to avoid the generated `.d.ts` having a wide return type that could be specific the the `@types/react` version.\n render() {\n if (this.state.error) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleISRError, {\n error: this.state.error\n }),\n this.props.errorStyles,\n this.props.errorScripts,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(this.props.errorComponent, {\n error: this.state.error,\n reset: this.reset\n })\n ]\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.reset = ()=>{\n this.setState({\n error: null\n });\n };\n this.state = {\n error: null,\n previousPathname: this.props.pathname\n };\n }\n}\nfunction GlobalError(param) {\n let { error } = param;\n const digest = error == null ? void 0 : error.digest;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"html\", {\n id: \"__next_error__\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"head\", {}),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"body\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleISRError, {\n error: error\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n style: styles.error,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n style: styles.text,\n children: \"Application error: a \" + (digest ? \"server\" : \"client\") + \"-side exception has occurred (see the \" + (digest ? \"server logs\" : \"browser console\") + \" for more information).\"\n }),\n digest ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n style: styles.text,\n children: \"Digest: \" + digest\n }) : null\n ]\n })\n })\n ]\n })\n ]\n });\n}\nconst _default = GlobalError;\nfunction ErrorBoundary(param) {\n let { errorComponent, errorStyles, errorScripts, children } = param;\n const pathname = (0, _navigation.usePathname)();\n if (errorComponent) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorBoundaryHandler, {\n pathname: pathname,\n errorComponent: errorComponent,\n errorStyles: errorStyles,\n errorScripts: errorScripts,\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=error-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBb0tnQkEsU0FBYTttQkFBYkE7O0lBdEdIQzswQkFBQUE7O0lBaUVHQztpQkFBQUE7O0lBd0JoQjtJQUNBLGdGQUEyQztJQUMzQywyQ0FBMEI7Ozs7Ozs7NkJBdEpFQyx5QkFBQUMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTs7O0FBSTVCLE1BQU1DLHdDQUFTRCxtQkFBQUEsQ0FBQTtNQUNiRSxTQUFPO1dBQ0w7UUFDQUMsMEZBQ0U7UUFDRkMsWUFBUTtRQUNSQyxRQUFBQTtRQUNBQyxXQUFTO1FBQ1RDLFNBQUFBO1FBQ0FDLGVBQVk7UUFDWkMsWUFBQUE7UUFDRkEsZ0JBQUE7SUFDQUM7VUFDRUM7UUFDQUMsVUFBQUE7UUFDQUMsWUFBWTtRQUNaQyxZQUFRO1FBQ1ZBLFFBQUE7SUFDRjtBQXdCQTtBQUNBLDhEQUF5RDtBQUN6RCx5REFBb0M7QUFDcEMsb0NBQWlEO1NBQXpCQyxlQUFBQyxLQUFBO0lBQ3RCLE1BQU1DLEtBQUFBLEVBQUFBLEdBQVFDO0lBQ2QsTUFBSUQsUUFBQUEsc0NBQW1CQyw0QkFBSUQsQ0FBQUEsUUFBT0U7UUFDaENDLENBQUFBLFNBQVFsQixPQUFNQSxLQUFBQSxJQUFBQSxNQUFBQSxZQUFBQSxLQUFBQSxDQUFBQSxTQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxNQUFBQSxrQkFBQUEsR0FBQUE7UUFDZGtCLFFBQU1sQixLQUFBQSxDQUFBQTtRQUNSLE1BQUFBO0lBRUE7SUFDRjtBQUVPO01BU0xOLDZCQUFPeUIsT0FBcUNDLE9BQUUsQ0FBQUMsU0FBQTtXQUM1Q0YseUJBQUlHLEtBQUFBLEVBQUFBO1lBQ0YsSUFBQUMsbUJBQUFELGlCQUFBLEVBQUF0QixRQUFBO1lBQ0E7WUFDQSw0R0FBTUE7WUFDUixNQUFBQTtRQUVBO2VBQVNBO1lBQU1BO1FBQ2pCO0lBRUE7V0FJRXdCLHlCQUFBQyxLQUFBLEVBQUFDLEtBQUE7Ozs7OztZQU9FRCxNQUFBRSxRQUFPLEtBQUFELE1BQUFFLGdCQUFBLElBQUFGLE1BQUExQixLQUFBO21CQUNMQTtnQkFDQTRCLE9BQUFBO2dCQUNGQSxrQkFBQUgsTUFBQUUsUUFBQTtZQUNGO1FBQ0E7ZUFDRTNCO1lBQ0E0QixPQUFBQSxNQUFBQSxLQUFrQkg7WUFDcEJHLGtCQUFBSCxNQUFBRSxRQUFBO1FBQ0Y7SUFNQTtJQUNBRSwwSUFBMEI7YUFDcEI7WUFDRixLQUFBSCxLQUFBLENBQUExQixLQUFBOzs7K0JBRTJCLEdBQUksSUFBQzBCLFlBQVdJLEdBQUEsRUFBQWpCLGdCQUFBOztvQkFDdEM7b0JBQ0EsSUFBSSxDQUFDWSxLQUFLLENBQUNNLFdBQUFBOzJDQUNaOytCQUNTLEdBQUksSUFBQ0wsWUFBV0ksR0FBQSxPQUFBTCxLQUFBLENBQUFPLGNBQUE7d0JBQ3ZCQyxPQUFPLElBQUksQ0FBQ0EsS0FBSyxDQUFBakMsS0FBQTs7OztZQUl6QjtRQUVBO1FBQ0YsWUFBQXlCLEtBQUEsQ0FBQVMsUUFBQTtJQTFEQUM7Z0JBQ1FWLEtBQUFBLENBQUFBO2FBb0NSUSxDQUFBQTtZQUNFLENBQUFBLEtBQUtHLEdBQUFBO2dCQUFXcEMsQ0FBQUEsUUFBTztnQkFBS0EsT0FBQTtZQUM5QjtRQXJDRTtZQUFlQSxDQUFBQSxLQUFBQSxHQUFPO1lBQU00QixPQUFBQTtZQUFzQ0Esa0JBQUEsS0FBQUgsS0FBQSxDQUFBRSxRQUFBO1FBQ3BFO0lBd0RGO0FBRU87U0FBcUJoQyxZQUFBbUIsS0FBQTtJQUMxQixNQUFNdUIsS0FBQUEsRUFBQUEsR0FBNkJyQztJQUNuQyxNQUFBcUMsU0FBQXJDLFNBQ0UsZ0JBQUFBLE1BQUNzQyxNQUFBQTtXQUFRLGtCQUFBRSxZQUFBQyxJQUFBOzs7MEJBRVAsSUFBQUQsWUFBQVYsR0FBQSxVQUFDWSxDQUFBQTs7OytCQUN3QjFDLEdBQUFBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLGdCQUFBQTs7OytCQUNYRCxHQUFBQSxDQUFBQSxHQUFPQyxZQUFLOEIsR0FBQTtzQ0FDdEI5QixLQUFBOzs7MkNBQ2FELEdBQUFBLENBQUFBLEdBQU9TLFlBQUlzQixHQUFBO2tEQUNsQnRCLElBQUE7O2dDQU1INkI7eUNBQThCLFdBQUo3QixHQUFJLElBQUFnQyxZQUFBVixHQUFBO2tEQUFJdEIsSUFBQTs4Q0FBMEIsYUFBQTZCOzs7Ozs7OztJQU16RTs7QUFlTyxNQUFBTyxXQUFTbkQ7U0FBY0EsY0FDNUJ1QyxLQUNBYTtJQUlBLE1BQU1sQixjQUFXbUIsRUFBQUEsV0FBQUEsRUFBQUEsWUFBVyxFQUFBWixRQUFBLEtBQUFwQjtJQUM1QixNQUFJa0IsV0FBQUEsQ0FBQUEsR0FBZ0JlLFlBQUFELFdBQUE7UUFDbEJkLGdCQUFBO2VBRWNMLFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLHNCQUFBQTtZQUNWSyxVQUFBQTtZQUNBYSxnQkFBYUE7WUFDYmQsYUFBQUE7MEJBRUNHOztRQUdQO0lBRUE7V0FBVUEsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsWUFBQUEsUUFBQUEsRUFBQUE7O0lBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkudHN4PzY2NTkiXSwibmFtZXMiOlsiRXJyb3JCb3VuZGFyeSIsIkVycm9yQm91bmRhcnlIYW5kbGVyIiwiR2xvYmFsRXJyb3IiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJfIiwicmVxdWlyZSIsInN0eWxlcyIsImVycm9yIiwiZm9udEZhbWlseSIsImhlaWdodCIsInRleHRBbGlnbiIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwidGV4dCIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsImxpbmVIZWlnaHQiLCJtYXJnaW4iLCJIYW5kbGVJU1JFcnJvciIsInBhcmFtIiwic3RvcmUiLCJzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlIiwiaXNTdGF0aWNHZW5lcmF0aW9uIiwiY29uc29sZSIsImdldERlcml2ZWRTdGF0ZUZyb21FcnJvciIsImRlZmF1bHQiLCJDb21wb25lbnQiLCJpc05leHRSb3V0ZXJFcnJvciIsIl9pc25leHRyb3V0ZXJlcnJvciIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyIsInByb3BzIiwic3RhdGUiLCJwYXRobmFtZSIsInByZXZpb3VzUGF0aG5hbWUiLCJyZW5kZXIiLCJqc3giLCJlcnJvclNjcmlwdHMiLCJlcnJvckNvbXBvbmVudCIsInJlc2V0IiwiY2hpbGRyZW4iLCJjb25zdHJ1Y3RvciIsInNldFN0YXRlIiwiZGlnZXN0IiwiaHRtbCIsImlkIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiYm9keSIsInN0eWxlIiwiX2RlZmF1bHQiLCJlcnJvclN0eWxlcyIsInVzZVBhdGhuYW1lIiwiX25hdmlnYXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/error-boundary.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/hooks-server-context.js": +/*!**************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/hooks-server-context.js ***! + \**************************************************************************/ +/***/ ((module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DynamicServerError: function() {\n return DynamicServerError;\n },\n isDynamicServerError: function() {\n return isDynamicServerError;\n }\n});\nconst DYNAMIC_ERROR_CODE = \"DYNAMIC_SERVER_USAGE\";\nclass DynamicServerError extends Error {\n constructor(description){\n super(\"Dynamic server usage: \" + description);\n this.description = description;\n this.digest = DYNAMIC_ERROR_CODE;\n }\n}\nfunction isDynamicServerError(err) {\n if (typeof err !== \"object\" || err === null || !(\"digest\" in err) || typeof err.digest !== \"string\") {\n return false;\n }\n return err.digest === DYNAMIC_ERROR_CODE;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hooks-server-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2hvb2tzLXNlcnZlci1jb250ZXh0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUVhQSxvQkFBa0I7ZUFBbEJBOztJQVFHQyxzQkFBb0I7ZUFBcEJBOzs7QUFWaEIsTUFBTUMscUJBQXFCO0FBRXBCLE1BQU1GLDJCQUEyQkc7SUFHdENDLFlBQVlDLFdBQW1DLENBQUU7UUFDL0MsS0FBSyxDQUFDLDJCQUF5QkE7YUFETEEsV0FBQUEsR0FBQUE7YUFGNUJDLE1BQUFBLEdBQW9DSjtJQUlwQztBQUNGO0FBRU8sU0FBU0QscUJBQXFCTSxHQUFZO0lBQy9DLElBQ0UsT0FBT0EsUUFBUSxZQUNmQSxRQUFRLFFBQ1IsQ0FBRSxhQUFZQSxHQUFBQSxLQUNkLE9BQU9BLElBQUlELE1BQU0sS0FBSyxVQUN0QjtRQUNBLE9BQU87SUFDVDtJQUVBLE9BQU9DLElBQUlELE1BQU0sS0FBS0o7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvaG9va3Mtc2VydmVyLWNvbnRleHQudHM/ODIzOCJdLCJuYW1lcyI6WyJEeW5hbWljU2VydmVyRXJyb3IiLCJpc0R5bmFtaWNTZXJ2ZXJFcnJvciIsIkRZTkFNSUNfRVJST1JfQ09ERSIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJkZXNjcmlwdGlvbiIsImRpZ2VzdCIsImVyciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/hooks-server-context.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/is-hydration-error.js": +/*!************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/is-hydration-error.js ***! + \************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isHydrationError\", ({\n enumerable: true,\n get: function() {\n return isHydrationError;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _iserror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../../lib/is-error */ \"(ssr)/./node_modules/next/dist/lib/is-error.js\"));\nconst hydrationErrorRegex = /hydration failed|while hydrating|content does not match|did not match/i;\nfunction isHydrationError(error) {\n return (0, _iserror.default)(error) && hydrationErrorRegex.test(error.message);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=is-hydration-error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2lzLWh5ZHJhdGlvbi1lcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7O29EQUtnQkE7OztlQUFBQTs7Ozs4RUFMSTtBQUVwQixNQUFNQyxzQkFDSjtBQUVLLFNBQVNELGlCQUFpQkUsS0FBYztJQUM3QyxPQUFPQyxDQUFBQSxHQUFBQSxTQUFBQSxPQUFPLEVBQUNELFVBQVVELG9CQUFvQkcsSUFBSSxDQUFDRixNQUFNRyxPQUFPO0FBQ2pFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL2lzLWh5ZHJhdGlvbi1lcnJvci50cz82ZmJhIl0sIm5hbWVzIjpbImlzSHlkcmF0aW9uRXJyb3IiLCJoeWRyYXRpb25FcnJvclJlZ2V4IiwiZXJyb3IiLCJpc0Vycm9yIiwidGVzdCIsIm1lc3NhZ2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/is-hydration-error.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js": +/*!**************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/is-next-router-error.js ***! + \**************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isNextRouterError\", ({\n enumerable: true,\n get: function() {\n return isNextRouterError;\n }\n}));\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(ssr)/./node_modules/next/dist/client/components/not-found.js\");\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(ssr)/./node_modules/next/dist/client/components/redirect.js\");\nfunction isNextRouterError(error) {\n return error && error.digest && ((0, _redirect.isRedirectError)(error) || (0, _notfound.isNotFoundError)(error));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=is-next-router-error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2lzLW5leHQtcm91dGVyLWVycm9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7cURBR2dCQTs7O2VBQUFBOzs7c0NBSGdCO3NDQUNBO0FBRXpCLFNBQVNBLGtCQUFrQkMsS0FBVTtJQUMxQyxPQUNFQSxTQUFTQSxNQUFNQyxNQUFNLElBQUtDLENBQUFBLENBQUFBLEdBQUFBLFVBQUFBLGVBQWUsRUFBQ0YsVUFBVUcsQ0FBQUEsR0FBQUEsVUFBQUEsZUFBZSxFQUFDSCxNQUFBQTtBQUV4RSIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9pcy1uZXh0LXJvdXRlci1lcnJvci50cz9lNTA1Il0sIm5hbWVzIjpbImlzTmV4dFJvdXRlckVycm9yIiwiZXJyb3IiLCJkaWdlc3QiLCJpc1JlZGlyZWN0RXJyb3IiLCJpc05vdEZvdW5kRXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/layout-router.js": +/*!*******************************************************************!*\ + !*** ./node_modules/next/dist/client/components/layout-router.js ***! + \*******************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return OuterLayoutRouter;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _fetchserverresponse = __webpack_require__(/*! ./router-reducer/fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _unresolvedthenable = __webpack_require__(/*! ./unresolved-thenable */ \"(ssr)/./node_modules/next/dist/client/components/unresolved-thenable.js\");\nconst _errorboundary = __webpack_require__(/*! ./error-boundary */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _matchsegments = __webpack_require__(/*! ./match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\nconst _handlesmoothscroll = __webpack_require__(/*! ../../shared/lib/router/utils/handle-smooth-scroll */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\");\nconst _redirectboundary = __webpack_require__(/*! ./redirect-boundary */ \"(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js\");\nconst _notfoundboundary = __webpack_require__(/*! ./not-found-boundary */ \"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\");\nconst _getsegmentvalue = __webpack_require__(/*! ./router-reducer/reducers/get-segment-value */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./router-reducer/create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nconst _hasinterceptionrouteincurrenttree = __webpack_require__(/*! ./router-reducer/reducers/has-interception-route-in-current-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js\");\n/**\n * Add refetch marker to router state at the point of the current layout segment.\n * This ensures the response returned is not further down than the current layout segment.\n */ function walkAddRefetch(segmentPathToWalk, treeToRecreate) {\n if (segmentPathToWalk) {\n const [segment, parallelRouteKey] = segmentPathToWalk;\n const isLast = segmentPathToWalk.length === 2;\n if ((0, _matchsegments.matchSegment)(treeToRecreate[0], segment)) {\n if (treeToRecreate[1].hasOwnProperty(parallelRouteKey)) {\n if (isLast) {\n const subTree = walkAddRefetch(undefined, treeToRecreate[1][parallelRouteKey]);\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: [\n subTree[0],\n subTree[1],\n subTree[2],\n \"refetch\"\n ]\n }\n ];\n }\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: walkAddRefetch(segmentPathToWalk.slice(2), treeToRecreate[1][parallelRouteKey])\n }\n ];\n }\n }\n }\n return treeToRecreate;\n}\n// TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available\n/**\n * Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning\n */ function findDOMNode(instance) {\n // Tree-shake for server bundle\n if (true) return null;\n // Only apply strict mode warning when not in production\n if (true) {\n const originalConsoleError = console.error;\n try {\n console.error = function() {\n for(var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++){\n messages[_key] = arguments[_key];\n }\n // Ignore strict mode warning for the findDomNode call below\n if (!messages[0].includes(\"Warning: %s is deprecated in StrictMode.\")) {\n originalConsoleError(...messages);\n }\n };\n return _reactdom.default.findDOMNode(instance);\n } finally{\n console.error = originalConsoleError;\n }\n }\n return _reactdom.default.findDOMNode(instance);\n}\nconst rectProperties = [\n \"bottom\",\n \"height\",\n \"left\",\n \"right\",\n \"top\",\n \"width\",\n \"x\",\n \"y\"\n];\n/**\n * Check if a HTMLElement is hidden or fixed/sticky position\n */ function shouldSkipElement(element) {\n // we ignore fixed or sticky positioned elements since they'll likely pass the \"in-viewport\" check\n // and will result in a situation we bail on scroll because of something like a fixed nav,\n // even though the actual page content is offscreen\n if ([\n \"sticky\",\n \"fixed\"\n ].includes(getComputedStyle(element).position)) {\n if (true) {\n console.warn(\"Skipping auto-scroll behavior due to `position: sticky` or `position: fixed` on element:\", element);\n }\n return true;\n }\n // Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent`\n // because `offsetParent` doesn't consider document/body\n const rect = element.getBoundingClientRect();\n return rectProperties.every((item)=>rect[item] === 0);\n}\n/**\n * Check if the top corner of the HTMLElement is in the viewport.\n */ function topOfElementInViewport(element, viewportHeight) {\n const rect = element.getBoundingClientRect();\n return rect.top >= 0 && rect.top <= viewportHeight;\n}\n/**\n * Find the DOM node for a hash fragment.\n * If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior.\n * If the hash fragment is an id, the page has to scroll to the element with that id.\n * If the hash fragment is a name, the page has to scroll to the first element with that name.\n */ function getHashFragmentDomNode(hashFragment) {\n // If the hash fragment is `top` the page has to scroll to the top of the page.\n if (hashFragment === \"top\") {\n return document.body;\n }\n var _document_getElementById;\n // If the hash fragment is an id, the page has to scroll to the element with that id.\n return (_document_getElementById = document.getElementById(hashFragment)) != null ? _document_getElementById : document.getElementsByName(hashFragment)[0];\n}\nclass InnerScrollAndFocusHandler extends _react.default.Component {\n componentDidMount() {\n this.handlePotentialScroll();\n }\n componentDidUpdate() {\n // Because this property is overwritten in handlePotentialScroll it's fine to always run it when true as it'll be set to false for subsequent renders.\n if (this.props.focusAndScrollRef.apply) {\n this.handlePotentialScroll();\n }\n }\n render() {\n return this.props.children;\n }\n constructor(...args){\n super(...args);\n this.handlePotentialScroll = ()=>{\n // Handle scroll and focus, it's only applied once in the first useEffect that triggers that changed.\n const { focusAndScrollRef, segmentPath } = this.props;\n if (focusAndScrollRef.apply) {\n // segmentPaths is an array of segment paths that should be scrolled to\n // if the current segment path is not in the array, the scroll is not applied\n // unless the array is empty, in which case the scroll is always applied\n if (focusAndScrollRef.segmentPaths.length !== 0 && !focusAndScrollRef.segmentPaths.some((scrollRefSegmentPath)=>segmentPath.every((segment, index)=>(0, _matchsegments.matchSegment)(segment, scrollRefSegmentPath[index])))) {\n return;\n }\n let domNode = null;\n const hashFragment = focusAndScrollRef.hashFragment;\n if (hashFragment) {\n domNode = getHashFragmentDomNode(hashFragment);\n }\n // `findDOMNode` is tricky because it returns just the first child if the component is a fragment.\n // This already caused a bug where the first child was a in head.\n if (!domNode) {\n domNode = findDOMNode(this);\n }\n // If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree.\n if (!(domNode instanceof Element)) {\n return;\n }\n // Verify if the element is a HTMLElement and if we want to consider it for scroll behavior.\n // If the element is skipped, try to select the next sibling and try again.\n while(!(domNode instanceof HTMLElement) || shouldSkipElement(domNode)){\n // No siblings found that match the criteria are found, so handle scroll higher up in the tree instead.\n if (domNode.nextElementSibling === null) {\n return;\n }\n domNode = domNode.nextElementSibling;\n }\n // State is mutated to ensure that the focus and scroll is applied only once.\n focusAndScrollRef.apply = false;\n focusAndScrollRef.hashFragment = null;\n focusAndScrollRef.segmentPaths = [];\n (0, _handlesmoothscroll.handleSmoothScroll)(()=>{\n // In case of hash scroll, we only need to scroll the element into view\n if (hashFragment) {\n domNode.scrollIntoView();\n return;\n }\n // Store the current viewport height because reading `clientHeight` causes a reflow,\n // and it won't change during this function.\n const htmlElement = document.documentElement;\n const viewportHeight = htmlElement.clientHeight;\n // If the element's top edge is already in the viewport, exit early.\n if (topOfElementInViewport(domNode, viewportHeight)) {\n return;\n }\n // Otherwise, try scrolling go the top of the document to be backward compatible with pages\n // scrollIntoView() called on `` element scrolls horizontally on chrome and firefox (that shouldn't happen)\n // We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left\n // scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically\n htmlElement.scrollTop = 0;\n // Scroll to domNode if domNode is not in viewport when scrolled to top of document\n if (!topOfElementInViewport(domNode, viewportHeight)) {\n domNode.scrollIntoView();\n }\n }, {\n // We will force layout by querying domNode position\n dontForceLayout: true,\n onlyHashChange: focusAndScrollRef.onlyHashChange\n });\n // Mutate after scrolling so that it can be read by `handleSmoothScroll`\n focusAndScrollRef.onlyHashChange = false;\n // Set focus on the element\n domNode.focus();\n }\n };\n }\n}\nfunction ScrollAndFocusHandler(param) {\n let { segmentPath, children } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant global layout router not mounted\");\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerScrollAndFocusHandler, {\n segmentPath: segmentPath,\n focusAndScrollRef: context.focusAndScrollRef,\n children: children\n });\n}\n/**\n * InnerLayoutRouter handles rendering the provided segment based on the cache.\n */ function InnerLayoutRouter(param) {\n let { parallelRouterKey, url, childNodes, segmentPath, tree, // isActive,\n cacheKey } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant global layout router not mounted\");\n }\n const { buildId, changeByServerResponse, tree: fullTree } = context;\n // Read segment path from the parallel router cache node.\n let childNode = childNodes.get(cacheKey);\n // When data is not available during rendering client-side we need to fetch\n // it from the server.\n if (childNode === undefined) {\n const newLazyCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n lazyDataResolved: false,\n loading: null\n };\n /**\n * Flight data fetch kicked off during render and put into the cache.\n */ childNode = newLazyCacheNode;\n childNodes.set(cacheKey, newLazyCacheNode);\n }\n // `rsc` represents the renderable node for this segment.\n // If this segment has a `prefetchRsc`, it's the statically prefetched data.\n // We should use that on initial render instead of `rsc`. Then we'll switch\n // to `rsc` when the dynamic response streams in.\n //\n // If no prefetch data is available, then we go straight to rendering `rsc`.\n const resolvedPrefetchRsc = childNode.prefetchRsc !== null ? childNode.prefetchRsc : childNode.rsc;\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n //\n // @ts-expect-error The second argument to `useDeferredValue` is only\n // available in the experimental builds. When its disabled, it will always\n // return `rsc`.\n const rsc = (0, _react.useDeferredValue)(childNode.rsc, resolvedPrefetchRsc);\n // `rsc` is either a React node or a promise for a React node, except we\n // special case `null` to represent that this segment's data is missing. If\n // it's a promise, we need to unwrap it so we can determine whether or not the\n // data is missing.\n const resolvedRsc = typeof rsc === \"object\" && rsc !== null && typeof rsc.then === \"function\" ? (0, _react.use)(rsc) : rsc;\n if (!resolvedRsc) {\n // The data for this segment is not available, and there's no pending\n // navigation that will be able to fulfill it. We need to fetch more from\n // the server and patch the cache.\n // Check if there's already a pending request.\n let lazyData = childNode.lazyData;\n if (lazyData === null) {\n /**\n * Router state with refetch marker added\n */ // TODO-APP: remove ''\n const refetchTree = walkAddRefetch([\n \"\",\n ...segmentPath\n ], fullTree);\n const includeNextUrl = (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(fullTree);\n childNode.lazyData = lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(url, location.origin), refetchTree, includeNextUrl ? context.nextUrl : null, buildId);\n childNode.lazyDataResolved = false;\n }\n /**\n * Flight response data\n */ // When the data has not resolved yet `use` will suspend here.\n const serverResponse = (0, _react.use)(lazyData);\n if (!childNode.lazyDataResolved) {\n // setTimeout is used to start a new transition during render, this is an intentional hack around React.\n setTimeout(()=>{\n (0, _react.startTransition)(()=>{\n changeByServerResponse({\n previousTree: fullTree,\n serverResponse\n });\n });\n });\n // It's important that we mark this as resolved, in case this branch is replayed, we don't want to continously re-apply\n // the patch to the tree.\n childNode.lazyDataResolved = true;\n }\n // Suspend infinitely as `changeByServerResponse` will cause a different part of the tree to be rendered.\n // A falsey `resolvedRsc` indicates missing data -- we should not commit that branch, and we need to wait for the data to arrive.\n (0, _react.use)(_unresolvedthenable.unresolvedThenable);\n }\n // If we get to this point, then we know we have something we can render.\n const subtree = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {\n value: {\n tree: tree[1][parallelRouterKey],\n childNodes: childNode.parallelRoutes,\n // TODO-APP: overriding of url for parallel routes\n url: url,\n loading: childNode.loading\n },\n children: resolvedRsc\n });\n // Ensure root layout is not wrapped in a div as the root layout renders ``\n return subtree;\n}\n/**\n * Renders suspense boundary with the provided \"loading\" property as the fallback.\n * If no loading property is provided it renders the children without a suspense boundary.\n */ function LoadingBoundary(param) {\n let { children, hasLoading, loading, loadingStyles, loadingScripts } = param;\n // We have an explicit prop for checking if `loading` is provided, to disambiguate between a loading\n // component that returns `null` / `undefined`, vs not having a loading component at all.\n if (hasLoading) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {\n fallback: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n loadingStyles,\n loadingScripts,\n loading\n ]\n }),\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nfunction OuterLayoutRouter(param) {\n let { parallelRouterKey, segmentPath, error, errorStyles, errorScripts, templateStyles, templateScripts, template, notFound, notFoundStyles } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant expected layout router to be mounted\");\n }\n const { childNodes, tree, url, loading } = context;\n // Get the current parallelRouter cache node\n let childNodesForParallelRouter = childNodes.get(parallelRouterKey);\n // If the parallel router cache node does not exist yet, create it.\n // This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode.\n if (!childNodesForParallelRouter) {\n childNodesForParallelRouter = new Map();\n childNodes.set(parallelRouterKey, childNodesForParallelRouter);\n }\n // Get the active segment in the tree\n // The reason arrays are used in the data format is that these are transferred from the server to the browser so it's optimized to save bytes.\n const treeSegment = tree[1][parallelRouterKey][0];\n // If segment is an array it's a dynamic route and we want to read the dynamic route value as the segment to get from the cache.\n const currentChildSegmentValue = (0, _getsegmentvalue.getSegmentValue)(treeSegment);\n /**\n * Decides which segments to keep rendering, all segments that are not active will be wrapped in ``.\n */ // TODO-APP: Add handling of `` when it's available.\n const preservedSegments = [\n treeSegment\n ];\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: preservedSegments.map((preservedSegment)=>{\n const preservedSegmentValue = (0, _getsegmentvalue.getSegmentValue)(preservedSegment);\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(preservedSegment);\n return(/*\n - Error boundary\n - Only renders error boundary if error component is provided.\n - Rendered for each segment to ensure they have their own error state.\n - Loading boundary\n - Only renders suspense boundary if loading components is provided.\n - Rendered for each segment to ensure they have their own loading state.\n - Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch.\n */ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider, {\n value: /*#__PURE__*/ (0, _jsxruntime.jsx)(ScrollAndFocusHandler, {\n segmentPath: segmentPath,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {\n errorComponent: error,\n errorStyles: errorStyles,\n errorScripts: errorScripts,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingBoundary, {\n hasLoading: Boolean(loading),\n loading: loading == null ? void 0 : loading[0],\n loadingStyles: loading == null ? void 0 : loading[1],\n loadingScripts: loading == null ? void 0 : loading[2],\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_notfoundboundary.NotFoundBoundary, {\n notFound: notFound,\n notFoundStyles: notFoundStyles,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_redirectboundary.RedirectBoundary, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerLayoutRouter, {\n parallelRouterKey: parallelRouterKey,\n url: url,\n tree: tree,\n childNodes: childNodesForParallelRouter,\n segmentPath: segmentPath,\n cacheKey: cacheKey,\n isActive: currentChildSegmentValue === preservedSegmentValue\n })\n })\n })\n })\n })\n }),\n children: [\n templateStyles,\n templateScripts,\n template\n ]\n }, (0, _createroutercachekey.createRouterCacheKey)(preservedSegment, true)));\n })\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=layout-router.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7eURBMEJPQSxDQUFBLENBQUFDLG1CQUFBQSxDQUFBO3VDQUM2QkEsbUJBQUFBLENBQUE7aURBQ0Q7Z0RBQ0w7MkNBQ0Q7O2dEQUVJOzhDQUNBOzhDQUNEOzs7QUFJaEMsTUFBQUMscUNBQUFELG1CQUFBQSxDQUFBOzs7O0lBUUUsU0FBSUUsZUFBbUJBLGlCQUFBLEVBQUFDLGNBQUE7UUFDckJELG1CQUFnQkU7UUFDaEIsTUFBTUMsQ0FBQUEsU0FBU0gsaUJBQWtCSSxHQUFBQTtRQUVqQyxNQUFJQyxTQUFBQSxrQkFBQUEsTUFBYUosS0FBQUE7WUFDZixJQUFJQSxlQUFlSSxZQUFHQyxFQUFBQSxjQUFlSixDQUFBQSxFQUFBQSxFQUFBQSxVQUFtQjtnQkFDdERELGNBQVksSUFBQUssY0FBQSxDQUFBSixtQkFBQTtvQkFDVkMsUUFBTUk7b0JBSU4sTUFBQUEsVUFBT0MsZUFBQUMsV0FBQVIsY0FBQSxJQUFBQyxpQkFBQTsyQkFDTEQ7d0JBQ0FBLGNBQUE7OzRCQUVFLEdBQUNDLGNBQUFBLENBQWlCLEVBQUU7OENBQ1I7Z0NBQ1ZLLE9BQU8sQ0FBQyxFQUFFO2dDQUNWQSxPQUFPLENBQUMsRUFBRTtnQ0FDVkEsT0FBQTtnQ0FDRDs2QkFDSDt3QkFDRDtxQkFDSDtnQkFFQTt1QkFDRU47b0JBQ0FBLGNBQUE7O3dCQUVFLEdBQUNDLGNBQUFBLENBQWlCLEVBQUVNO3dCQUl0QixDQUFBTixpQkFBQSxFQUFBTSxlQUFBUixrQkFBQVUsS0FBQSxLQUFBVCxjQUFBLElBQUFDLGlCQUFBO29CQUNEO2lCQUNIO1lBQ0Y7UUFDRjtJQUVBO0lBQ0YsT0FBQUQ7QUFFQTtBQUNBOzs7SUFNRSxTQUFBVSxZQUFBQyxRQUFBO0lBQ0EsK0JBQXNCO0lBQ3RCO0lBQ0Esd0RBQTJDO1FBQ3pDQyxJQUFNQyxFQUErQkM7UUFD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QTs4Q0FDb0J2RSxXQUFuQkEsR0FBbUJBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLG1CQUFBQTt3Q0FDbkJDLG1CQUFLQTt3Q0FDTEUsS0FBQUE7d0NBQ0FELE1BQUFBO3dDQUNBOUIsWUFBQUE7d0NBQ0FnQyxhQUFVQTt3Q0FDVm9FLFVBQ0VqQjs7Ozs7Ozs7MEJBVWZrQjtvQkFDQUM7b0JBQ0F4Qjs7aUJBdkNJVztZQTBDWCxPQUFBQyxzQkFBQUQsb0JBQUEsRUFBQUYsa0JBQUE7O0lBR04iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvbGF5b3V0LXJvdXRlci50c3g/YzY5ZCJdLCJuYW1lcyI6WyJfIiwicmVxdWlyZSIsIl9oYXNpbnRlcmNlcHRpb25yb3V0ZWluY3VycmVudHRyZWUiLCJzZWdtZW50UGF0aFRvV2FsayIsInRyZWVUb1JlY3JlYXRlIiwicGFyYWxsZWxSb3V0ZUtleSIsImlzTGFzdCIsImxlbmd0aCIsIm1hdGNoU2VnbWVudCIsImhhc093blByb3BlcnR5Iiwic3ViVHJlZSIsIndhbGtBZGRSZWZldGNoIiwidW5kZWZpbmVkIiwic2xpY2UiLCJmaW5kRE9NTm9kZSIsImluc3RhbmNlIiwicHJvY2VzcyIsIm9yaWdpbmFsQ29uc29sZUVycm9yIiwiZXJyb3IiLCJjb25zb2xlIiwibWVzc2FnZXMiLCJfcmVhY3Rkb20iLCJkZWZhdWx0IiwicmVjdFByb3BlcnRpZXMiLCJzaG91bGRTa2lwRWxlbWVudCIsImVsZW1lbnQiLCJpbmNsdWRlcyIsInBvc2l0aW9uIiwid2FybiIsInJlY3QiLCJpdGVtIiwiZXZlcnkiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ0b3AiLCJ2aWV3cG9ydEhlaWdodCIsImdldEhhc2hGcmFnbWVudERvbU5vZGUiLCJoYXNoRnJhZ21lbnQiLCJib2R5IiwiZG9jdW1lbnQiLCJfZG9jdW1lbnRfZ2V0RWxlbWVudEJ5SWQiLCJnZXRFbGVtZW50QnlJZCIsImdldEVsZW1lbnRzQnlOYW1lIiwiY29tcG9uZW50RGlkTW91bnQiLCJfcmVhY3QiLCJDb21wb25lbnQiLCJoYW5kbGVQb3RlbnRpYWxTY3JvbGwiLCJjb21wb25lbnREaWRVcGRhdGUiLCJhcHBseSIsInJlbmRlciIsInByb3BzIiwiY2hpbGRyZW4iLCJmb2N1c0FuZFNjcm9sbFJlZiIsInNlZ21lbnRQYXRoIiwic2VnbWVudFBhdGhzIiwic29tZSIsInNjcm9sbFJlZlNlZ21lbnRQYXRoIiwic2VnbWVudCIsImluZGV4IiwiX21hdGNoc2VnbWVudHMiLCJkb21Ob2RlIiwiRWxlbWVudCIsIkhUTUxFbGVtZW50IiwibmV4dEVsZW1lbnRTaWJsaW5nIiwiaGFuZGxlU21vb3RoU2Nyb2xsIiwiX2hhbmRsZXNtb290aHNjcm9sbCIsInNjcm9sbEludG9WaWV3IiwiaHRtbEVsZW1lbnQiLCJjbGllbnRIZWlnaHQiLCJ0b3BPZkVsZW1lbnRJblZpZXdwb3J0Iiwic2Nyb2xsVG9wIiwiZG9udEZvcmNlTGF5b3V0Iiwib25seUhhc2hDaGFuZ2UiLCJmb2N1cyIsIlNjcm9sbEFuZEZvY3VzSGFuZGxlciIsInBhcmFtIiwiY29udGV4dCIsInVzZUNvbnRleHQiLCJfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0IiwiRXJyb3IiLCJwYXJhbGxlbFJvdXRlcktleSIsInVybCIsImNoaWxkTm9kZXMiLCJ0cmVlIiwiY2FjaGVLZXkiLCJidWlsZElkIiwiY2hhbmdlQnlTZXJ2ZXJSZXNwb25zZSIsImZ1bGxUcmVlIiwiY2hpbGROb2RlIiwiZ2V0IiwibmV3TGF6eUNhY2hlTm9kZSIsImxhenlEYXRhIiwicnNjIiwicHJlZmV0Y2hSc2MiLCJoZWFkIiwicHJlZmV0Y2hIZWFkIiwicGFyYWxsZWxSb3V0ZXMiLCJsYXp5RGF0YVJlc29sdmVkIiwiTWFwIiwibG9hZGluZyIsInNldCIsInJlc29sdmVkUHJlZmV0Y2hSc2MiLCJ1c2VEZWZlcnJlZFZhbHVlIiwicmVzb2x2ZWRSc2MiLCJ0aGVuIiwidXNlIiwicmVmZXRjaFRyZWUiLCJmZXRjaFNlcnZlclJlc3BvbnNlIiwibG9jYXRpb24iLCJfZmV0Y2hzZXJ2ZXJyZXNwb25zZSIsIlVSTCIsIm9yaWdpbiIsImluY2x1ZGVOZXh0VXJsIiwibmV4dFVybCIsInNldFRpbWVvdXQiLCJzdGFydFRyYW5zaXRpb24iLCJzZXJ2ZXJSZXNwb25zZSIsIl91bnJlc29sdmVkdGhlbmFibGUiLCJ1bnJlc29sdmVkVGhlbmFibGUiLCJfanN4cnVudGltZSIsImpzeCIsIkxheW91dFJvdXRlckNvbnRleHQiLCJQcm92aWRlciIsInN1YnRyZWUiLCJoYXNMb2FkaW5nIiwibG9hZGluZ1N0eWxlcyIsImxvYWRpbmdTY3JpcHRzIiwiZmFsbGJhY2siLCJTdXNwZW5zZSIsIk91dGVyTGF5b3V0Um91dGVyIiwidGVtcGxhdGUiLCJub3RGb3VuZCIsIm5vdEZvdW5kU3R5bGVzIiwiY2hpbGROb2Rlc0ZvclBhcmFsbGVsUm91dGVyIiwidHJlZVNlZ21lbnQiLCJjdXJyZW50Q2hpbGRTZWdtZW50VmFsdWUiLCJfZ2V0c2VnbWVudHZhbHVlIiwiZ2V0U2VnbWVudFZhbHVlIiwicHJlc2VydmVkU2VnbWVudHMiLCJwcmVzZXJ2ZWRTZWdtZW50IiwicHJlc2VydmVkU2VnbWVudFZhbHVlIiwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLCJfY3JlYXRlcm91dGVyY2FjaGVrZXkiLCJ2YWx1ZSIsImpzeHMiLCJlcnJvckNvbXBvbmVudCIsImVycm9yU3R5bGVzIiwiZXJyb3JTY3JpcHRzIiwiQm9vbGVhbiIsIk5vdEZvdW5kQm91bmRhcnkiLCJfcmVkaXJlY3Rib3VuZGFyeSIsIklubmVyTGF5b3V0Um91dGVyIiwiaXNBY3RpdmUiLCJ0ZW1wbGF0ZVN0eWxlcyIsInRlbXBsYXRlU2NyaXB0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/layout-router.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/match-segments.js": +/*!********************************************************************!*\ + !*** ./node_modules/next/dist/client/components/match-segments.js ***! + \********************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n canSegmentBeOverridden: function() {\n return canSegmentBeOverridden;\n },\n matchSegment: function() {\n return matchSegment;\n }\n});\nconst _getsegmentparam = __webpack_require__(/*! ../../server/app-render/get-segment-param */ \"(ssr)/./node_modules/next/dist/server/app-render/get-segment-param.js\");\nconst matchSegment = (existingSegment, segment)=>{\n // segment is either Array or string\n if (typeof existingSegment === \"string\") {\n if (typeof segment === \"string\") {\n // Common case: segment is just a string\n return existingSegment === segment;\n }\n return false;\n }\n if (typeof segment === \"string\") {\n return false;\n }\n return existingSegment[0] === segment[0] && existingSegment[1] === segment[1];\n};\nconst canSegmentBeOverridden = (existingSegment, segment)=>{\n var _getSegmentParam;\n if (Array.isArray(existingSegment) || !Array.isArray(segment)) {\n return false;\n }\n return ((_getSegmentParam = (0, _getsegmentparam.getSegmentParam)(existingSegment)) == null ? void 0 : _getSegmentParam.param) === segment[0];\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=match-segments.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL21hdGNoLXNlZ21lbnRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQXlCYUEsd0JBQXNCO2VBQXRCQTs7SUF0QkFDLGNBQVk7ZUFBWkE7Ozs2Q0FIbUI7QUFHekIsTUFBTUEsZUFBZSxDQUMxQkMsaUJBQ0FDO0lBRUEsb0NBQW9DO0lBQ3BDLElBQUksT0FBT0Qsb0JBQW9CLFVBQVU7UUFDdkMsSUFBSSxPQUFPQyxZQUFZLFVBQVU7WUFDL0Isd0NBQXdDO1lBQ3hDLE9BQU9ELG9CQUFvQkM7UUFDN0I7UUFDQSxPQUFPO0lBQ1Q7SUFFQSxJQUFJLE9BQU9BLFlBQVksVUFBVTtRQUMvQixPQUFPO0lBQ1Q7SUFDQSxPQUFPRCxlQUFlLENBQUMsRUFBRSxLQUFLQyxPQUFPLENBQUMsRUFBRSxJQUFJRCxlQUFlLENBQUMsRUFBRSxLQUFLQyxPQUFPLENBQUMsRUFBRTtBQUMvRTtBQUtPLE1BQU1ILHlCQUF5QixDQUNwQ0UsaUJBQ0FDO1FBTU9DO0lBSlAsSUFBSUMsTUFBTUMsT0FBTyxDQUFDSixvQkFBb0IsQ0FBQ0csTUFBTUMsT0FBTyxDQUFDSCxVQUFVO1FBQzdELE9BQU87SUFDVDtJQUVBLE9BQU9DLENBQUFBLENBQUFBLG1CQUFBQSxDQUFBQSxHQUFBQSxpQkFBQUEsZUFBZSxFQUFDRixnQkFBQUEsS0FBQUEsT0FBQUEsS0FBQUEsSUFBaEJFLGlCQUFrQ0csS0FBSyxNQUFLSixPQUFPLENBQUMsRUFBRTtBQUMvRCIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9tYXRjaC1zZWdtZW50cy50cz9mNjcwIl0sIm5hbWVzIjpbImNhblNlZ21lbnRCZU92ZXJyaWRkZW4iLCJtYXRjaFNlZ21lbnQiLCJleGlzdGluZ1NlZ21lbnQiLCJzZWdtZW50IiwiZ2V0U2VnbWVudFBhcmFtIiwiQXJyYXkiLCJpc0FycmF5IiwicGFyYW0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/match-segments.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/navigation.js": +/*!****************************************************************!*\ + !*** ./node_modules/next/dist/client/components/navigation.js ***! + \****************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ReadonlyURLSearchParams: function() {\n return _navigationreactserver.ReadonlyURLSearchParams;\n },\n RedirectType: function() {\n return _navigationreactserver.RedirectType;\n },\n ServerInsertedHTMLContext: function() {\n return _serverinsertedhtmlsharedruntime.ServerInsertedHTMLContext;\n },\n notFound: function() {\n return _navigationreactserver.notFound;\n },\n permanentRedirect: function() {\n return _navigationreactserver.permanentRedirect;\n },\n redirect: function() {\n return _navigationreactserver.redirect;\n },\n useParams: function() {\n return useParams;\n },\n usePathname: function() {\n return usePathname;\n },\n useRouter: function() {\n return useRouter;\n },\n useSearchParams: function() {\n return useSearchParams;\n },\n useSelectedLayoutSegment: function() {\n return useSelectedLayoutSegment;\n },\n useSelectedLayoutSegments: function() {\n return useSelectedLayoutSegments;\n },\n useServerInsertedHTML: function() {\n return _serverinsertedhtmlsharedruntime.useServerInsertedHTML;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../../shared/lib/hooks-client-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js\");\nconst _getsegmentvalue = __webpack_require__(/*! ./router-reducer/reducers/get-segment-value */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\");\nconst _segment = __webpack_require__(/*! ../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _navigationreactserver = __webpack_require__(/*! ./navigation.react-server */ \"(ssr)/./node_modules/next/dist/client/components/navigation.react-server.js\");\nconst _serverinsertedhtmlsharedruntime = __webpack_require__(/*! ../../shared/lib/server-inserted-html.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js\");\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you *read* the current URL's search parameters.\n *\n * Learn more about [`URLSearchParams` on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams)\n *\n * @example\n * ```ts\n * \"use client\"\n * import { useSearchParams } from 'next/navigation'\n *\n * export default function Page() {\n * const searchParams = useSearchParams()\n * searchParams.get('foo') // returns 'bar' when ?foo=bar\n * // ...\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useSearchParams`](https://nextjs.org/docs/app/api-reference/functions/use-search-params)\n */ function useSearchParams() {\n const searchParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.SearchParamsContext);\n // In the case where this is `null`, the compat types added in\n // `next-env.d.ts` will add a new overload that changes the return type to\n // include `null`.\n const readonlySearchParams = (0, _react.useMemo)(()=>{\n if (!searchParams) {\n // When the router is not ready in pages, we won't have the search params\n // available.\n return null;\n }\n return new _navigationreactserver.ReadonlyURLSearchParams(searchParams);\n }, [\n searchParams\n ]);\n if (true) {\n // AsyncLocalStorage should not be included in the client bundle.\n const { bailoutToClientRendering } = __webpack_require__(/*! ./bailout-to-client-rendering */ \"(ssr)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js\");\n // TODO-APP: handle dynamic = 'force-static' here and on the client\n bailoutToClientRendering(\"useSearchParams()\");\n }\n return readonlySearchParams;\n}\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read the current URL's pathname.\n *\n * @example\n * ```ts\n * \"use client\"\n * import { usePathname } from 'next/navigation'\n *\n * export default function Page() {\n * const pathname = usePathname() // returns \"/dashboard\" on /dashboard?foo=bar\n * // ...\n * }\n * ```\n *\n * Read more: [Next.js Docs: `usePathname`](https://nextjs.org/docs/app/api-reference/functions/use-pathname)\n */ function usePathname() {\n // In the case where this is `null`, the compat types added in `next-env.d.ts`\n // will add a new overload that changes the return type to include `null`.\n return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext);\n}\n/**\n *\n * This hook allows you to programmatically change routes inside [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components).\n *\n * @example\n * ```ts\n * \"use client\"\n * import { useRouter } from 'next/navigation'\n *\n * export default function Page() {\n * const router = useRouter()\n * // ...\n * router.push('/dashboard') // Navigate to /dashboard\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useRouter`](https://nextjs.org/docs/app/api-reference/functions/use-router)\n */ function useRouter() {\n const router = (0, _react.useContext)(_approutercontextsharedruntime.AppRouterContext);\n if (router === null) {\n throw new Error(\"invariant expected app router to be mounted\");\n }\n return router;\n}\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read a route's dynamic params filled in by the current URL.\n *\n * @example\n * ```ts\n * \"use client\"\n * import { useParams } from 'next/navigation'\n *\n * export default function Page() {\n * // on /dashboard/[team] where pathname is /dashboard/nextjs\n * const { team } = useParams() // team === \"nextjs\"\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useParams`](https://nextjs.org/docs/app/api-reference/functions/use-params)\n */ function useParams() {\n return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathParamsContext);\n}\n/** Get the canonical parameters from the current level to the leaf node. */ function getSelectedLayoutSegmentPath(tree, parallelRouteKey, first, segmentPath) {\n if (first === void 0) first = true;\n if (segmentPath === void 0) segmentPath = [];\n let node;\n if (first) {\n // Use the provided parallel route key on the first parallel route\n node = tree[1][parallelRouteKey];\n } else {\n // After first parallel route prefer children, if there's no children pick the first parallel route.\n const parallelRoutes = tree[1];\n var _parallelRoutes_children;\n node = (_parallelRoutes_children = parallelRoutes.children) != null ? _parallelRoutes_children : Object.values(parallelRoutes)[0];\n }\n if (!node) return segmentPath;\n const segment = node[0];\n const segmentValue = (0, _getsegmentvalue.getSegmentValue)(segment);\n if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) {\n return segmentPath;\n }\n segmentPath.push(segmentValue);\n return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath);\n}\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read the active route segments **below** the Layout it is called from.\n *\n * @example\n * ```ts\n * 'use client'\n *\n * import { useSelectedLayoutSegments } from 'next/navigation'\n *\n * export default function ExampleClientComponent() {\n * const segments = useSelectedLayoutSegments()\n *\n * return (\n *
    \n * {segments.map((segment, index) => (\n *
  • {segment}
  • \n * ))}\n *
\n * )\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useSelectedLayoutSegments`](https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segments)\n */ function useSelectedLayoutSegments(parallelRouteKey) {\n if (parallelRouteKey === void 0) parallelRouteKey = \"children\";\n const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);\n // @ts-expect-error This only happens in `pages`. Type is overwritten in navigation.d.ts\n if (!context) return null;\n return getSelectedLayoutSegmentPath(context.tree, parallelRouteKey);\n}\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read the active route segment **one level below** the Layout it is called from.\n *\n * @example\n * ```ts\n * 'use client'\n * import { useSelectedLayoutSegment } from 'next/navigation'\n *\n * export default function ExampleClientComponent() {\n * const segment = useSelectedLayoutSegment()\n *\n * return

Active segment: {segment}

\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useSelectedLayoutSegment`](https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segment)\n */ function useSelectedLayoutSegment(parallelRouteKey) {\n if (parallelRouteKey === void 0) parallelRouteKey = \"children\";\n const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey);\n if (!selectedLayoutSegments || selectedLayoutSegments.length === 0) {\n return null;\n }\n const selectedLayoutSegment = parallelRouteKey === \"children\" ? selectedLayoutSegments[0] : selectedLayoutSegments[selectedLayoutSegments.length - 1];\n // if the default slot is showing, we return null since it's not technically \"selected\" (it's a fallback)\n // and returning an internal value like `__DEFAULT__` would be confusing.\n return selectedLayoutSegment === _segment.DEFAULT_SEGMENT_KEY ? null : selectedLayoutSegment;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=navigation.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBOFFFQSx5QkFBdUI7ZUFBdkJBLHVCQUFBQSx1QkFBdUI7O0lBRHZCQyxjQUFZO2VBQVpBLHVCQUFBQSxZQUFZOztJQVJaQywyQkFBeUI7ZUFBekJBLGlDQUFBQSx5QkFBeUI7O0lBS3pCQyxVQUFRO2VBQVJBLHVCQUFBQSxRQUFROztJQUVSQyxtQkFBaUI7ZUFBakJBLHVCQUFBQSxpQkFBaUI7O0lBRGpCQyxVQUFRO2VBQVJBLHVCQUFBQSxRQUFROztJQVRSQyxXQUFTO2VBQVRBOztJQUhBQyxhQUFXO2VBQVhBOztJQUlBQyxXQUFTO2VBQVRBOztJQUxBQyxpQkFBZTtlQUFmQTs7SUFFQUMsMEJBQXdCO2VBQXhCQTs7SUFDQUMsMkJBQXlCO2VBQXpCQTs7SUFHQUMsdUJBQXFCO2VBQXJCQSxpQ0FBQUEscUJBQXFCOzs7bUNBcFFhOzJEQU03Qjs2REFLQTs2Q0FDeUI7cUNBQ3NCO21EQUNkOzZEQTJFakM7QUF6RVA7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FtQkMsR0FDRCxTQUFTSDtJQUNQLE1BQU1JLGVBQWVDLENBQUFBLEdBQUFBLE9BQUFBLFVBQVUsRUFBQ0MsaUNBQUFBLG1CQUFtQjtJQUVuRCw4REFBOEQ7SUFDOUQsMEVBQTBFO0lBQzFFLGtCQUFrQjtJQUNsQixNQUFNQyx1QkFBdUJDLENBQUFBLEdBQUFBLE9BQUFBLE9BQU8sRUFBQztRQUNuQyxJQUFJLENBQUNKLGNBQWM7WUFDakIseUVBQXlFO1lBQ3pFLGFBQWE7WUFDYixPQUFPO1FBQ1Q7UUFFQSxPQUFPLElBQUliLHVCQUFBQSx1QkFBdUIsQ0FBQ2E7SUFDckMsR0FBRztRQUFDQTtLQUFhO0lBRWpCLElBQUksSUFBa0IsRUFBYTtRQUNqQyxpRUFBaUU7UUFDakUsTUFBTSxFQUFFSyx3QkFBd0IsRUFBRSxHQUNoQ0MsbUJBQUFBLENBQVE7UUFDVixtRUFBbUU7UUFDbkVELHlCQUF5QjtJQUMzQjtJQUVBLE9BQU9GO0FBQ1Q7QUFFQTs7Ozs7Ozs7Ozs7Ozs7OztDQWdCQyxHQUNELFNBQVNUO0lBQ1AsOEVBQThFO0lBQzlFLDBFQUEwRTtJQUMxRSxPQUFPTyxDQUFBQSxHQUFBQSxPQUFBQSxVQUFVLEVBQUNNLGlDQUFBQSxlQUFlO0FBQ25DO0FBT0E7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBaUJDLEdBQ0QsU0FBU1o7SUFDUCxNQUFNYSxTQUFTUCxDQUFBQSxHQUFBQSxPQUFBQSxVQUFVLEVBQUNRLCtCQUFBQSxnQkFBZ0I7SUFDMUMsSUFBSUQsV0FBVyxNQUFNO1FBQ25CLE1BQU0sSUFBSUUsTUFBTTtJQUNsQjtJQUVBLE9BQU9GO0FBQ1Q7QUFNQTs7Ozs7Ozs7Ozs7Ozs7OztDQWdCQyxHQUNELFNBQVNmO0lBQ1AsT0FBT1EsQ0FBQUEsR0FBQUEsT0FBQUEsVUFBVSxFQUFDVSxpQ0FBQUEsaUJBQWlCO0FBQ3JDO0FBRUEsMEVBQTBFLEdBQzFFLFNBQVNDLDZCQUNQQyxJQUF1QixFQUN2QkMsZ0JBQXdCLEVBQ3hCQyxLQUFZLEVBQ1pDLFdBQTBCO0lBRDFCRCxJQUFBQSxVQUFBQSxLQUFBQSxHQUFBQSxRQUFRO0lBQ1JDLElBQUFBLGdCQUFBQSxLQUFBQSxHQUFBQSxjQUF3QixFQUFFO0lBRTFCLElBQUlDO0lBQ0osSUFBSUYsT0FBTztRQUNULGtFQUFrRTtRQUNsRUUsT0FBT0osSUFBSSxDQUFDLEVBQUUsQ0FBQ0MsaUJBQWlCO0lBQ2xDLE9BQU87UUFDTCxvR0FBb0c7UUFDcEcsTUFBTUksaUJBQWlCTCxJQUFJLENBQUMsRUFBRTtZQUN2Qks7UUFBUEQsT0FBT0MsQ0FBQUEsMkJBQUFBLGVBQWVDLFFBQVEsWUFBdkJELDJCQUEyQkUsT0FBT0MsTUFBTSxDQUFDSCxlQUFlLENBQUMsRUFBRTtJQUNwRTtJQUVBLElBQUksQ0FBQ0QsTUFBTSxPQUFPRDtJQUNsQixNQUFNTSxVQUFVTCxJQUFJLENBQUMsRUFBRTtJQUV2QixNQUFNTSxlQUFlQyxDQUFBQSxHQUFBQSxpQkFBQUEsZUFBZSxFQUFDRjtJQUNyQyxJQUFJLENBQUNDLGdCQUFnQkEsYUFBYUUsVUFBVSxDQUFDQyxTQUFBQSxnQkFBZ0IsR0FBRztRQUM5RCxPQUFPVjtJQUNUO0lBRUFBLFlBQVlXLElBQUksQ0FBQ0o7SUFFakIsT0FBT1gsNkJBQ0xLLE1BQ0FILGtCQUNBLE9BQ0FFO0FBRUo7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBd0JDLEdBQ0QsU0FBU2xCLDBCQUNQZ0IsZ0JBQXFDO0lBQXJDQSxJQUFBQSxxQkFBQUEsS0FBQUEsR0FBQUEsbUJBQTJCO0lBRTNCLE1BQU1jLFVBQVUzQixDQUFBQSxHQUFBQSxPQUFBQSxVQUFVLEVBQUM0QiwrQkFBQUEsbUJBQW1CO0lBQzlDLHdGQUF3RjtJQUN4RixJQUFJLENBQUNELFNBQVMsT0FBTztJQUVyQixPQUFPaEIsNkJBQTZCZ0IsUUFBUWYsSUFBSSxFQUFFQztBQUNwRDtBQUVBOzs7Ozs7Ozs7Ozs7Ozs7OztDQWlCQyxHQUNELFNBQVNqQix5QkFDUGlCLGdCQUFxQztJQUFyQ0EsSUFBQUEscUJBQUFBLEtBQUFBLEdBQUFBLG1CQUEyQjtJQUUzQixNQUFNZ0IseUJBQXlCaEMsMEJBQTBCZ0I7SUFFekQsSUFBSSxDQUFDZ0IsMEJBQTBCQSx1QkFBdUJDLE1BQU0sS0FBSyxHQUFHO1FBQ2xFLE9BQU87SUFDVDtJQUVBLE1BQU1DLHdCQUNKbEIscUJBQXFCLGFBQ2pCZ0Isc0JBQXNCLENBQUMsRUFBRSxHQUN6QkEsc0JBQXNCLENBQUNBLHVCQUF1QkMsTUFBTSxHQUFHLEVBQUU7SUFFL0QseUdBQXlHO0lBQ3pHLHlFQUF5RTtJQUN6RSxPQUFPQywwQkFBMEJDLFNBQUFBLG1CQUFtQixHQUNoRCxPQUNBRDtBQUNOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb24udHM/ZjYyNCJdLCJuYW1lcyI6WyJSZWFkb25seVVSTFNlYXJjaFBhcmFtcyIsIlJlZGlyZWN0VHlwZSIsIlNlcnZlckluc2VydGVkSFRNTENvbnRleHQiLCJub3RGb3VuZCIsInBlcm1hbmVudFJlZGlyZWN0IiwicmVkaXJlY3QiLCJ1c2VQYXJhbXMiLCJ1c2VQYXRobmFtZSIsInVzZVJvdXRlciIsInVzZVNlYXJjaFBhcmFtcyIsInVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudCIsInVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHMiLCJ1c2VTZXJ2ZXJJbnNlcnRlZEhUTUwiLCJzZWFyY2hQYXJhbXMiLCJ1c2VDb250ZXh0IiwiU2VhcmNoUGFyYW1zQ29udGV4dCIsInJlYWRvbmx5U2VhcmNoUGFyYW1zIiwidXNlTWVtbyIsImJhaWxvdXRUb0NsaWVudFJlbmRlcmluZyIsInJlcXVpcmUiLCJQYXRobmFtZUNvbnRleHQiLCJyb3V0ZXIiLCJBcHBSb3V0ZXJDb250ZXh0IiwiRXJyb3IiLCJQYXRoUGFyYW1zQ29udGV4dCIsImdldFNlbGVjdGVkTGF5b3V0U2VnbWVudFBhdGgiLCJ0cmVlIiwicGFyYWxsZWxSb3V0ZUtleSIsImZpcnN0Iiwic2VnbWVudFBhdGgiLCJub2RlIiwicGFyYWxsZWxSb3V0ZXMiLCJjaGlsZHJlbiIsIk9iamVjdCIsInZhbHVlcyIsInNlZ21lbnQiLCJzZWdtZW50VmFsdWUiLCJnZXRTZWdtZW50VmFsdWUiLCJzdGFydHNXaXRoIiwiUEFHRV9TRUdNRU5UX0tFWSIsInB1c2giLCJjb250ZXh0IiwiTGF5b3V0Um91dGVyQ29udGV4dCIsInNlbGVjdGVkTGF5b3V0U2VnbWVudHMiLCJsZW5ndGgiLCJzZWxlY3RlZExheW91dFNlZ21lbnQiLCJERUZBVUxUX1NFR01FTlRfS0VZIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/navigation.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/navigation.react-server.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/navigation.react-server.js ***! + \*****************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("/** @internal */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ReadonlyURLSearchParams: function() {\n return ReadonlyURLSearchParams;\n },\n RedirectType: function() {\n return _redirect.RedirectType;\n },\n notFound: function() {\n return _notfound.notFound;\n },\n permanentRedirect: function() {\n return _redirect.permanentRedirect;\n },\n redirect: function() {\n return _redirect.redirect;\n }\n});\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(ssr)/./node_modules/next/dist/client/components/redirect.js\");\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(ssr)/./node_modules/next/dist/client/components/not-found.js\");\nclass ReadonlyURLSearchParamsError extends Error {\n constructor(){\n super(\"Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams\");\n }\n}\nclass ReadonlyURLSearchParams extends URLSearchParams {\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ append() {\n throw new ReadonlyURLSearchParamsError();\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ delete() {\n throw new ReadonlyURLSearchParamsError();\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ set() {\n throw new ReadonlyURLSearchParamsError();\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ sort() {\n throw new ReadonlyURLSearchParamsError();\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=navigation.react-server.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb24ucmVhY3Qtc2VydmVyLmpzIiwibWFwcGluZ3MiOiJBQUFBLGNBQWM7Ozs7Ozs7Ozs7OztJQThCTEEseUJBQXVCO2VBQXZCQTs7SUFGNkJDLGNBQVk7ZUFBWkEsVUFBQUEsWUFBWTs7SUFDekNDLFVBQVE7ZUFBUkEsVUFBQUEsUUFBUTs7SUFERUMsbUJBQWlCO2VBQWpCQSxVQUFBQSxpQkFBaUI7O0lBQTNCQyxVQUFRO2VBQVJBLFVBQUFBLFFBQVE7OztzQ0FBeUM7c0NBQ2pDO0FBNUJ6QixNQUFNQyxxQ0FBcUNDO0lBQ3pDQyxhQUFjO1FBQ1osS0FBSyxDQUNIO0lBRUo7QUFDRjtBQUVBLE1BQU1QLGdDQUFnQ1E7SUFDcEMsd0tBQXdLLEdBQ3hLQyxTQUFTO1FBQ1AsTUFBTSxJQUFJSjtJQUNaO0lBQ0Esd0tBQXdLLEdBQ3hLSyxTQUFTO1FBQ1AsTUFBTSxJQUFJTDtJQUNaO0lBQ0Esd0tBQXdLLEdBQ3hLTSxNQUFNO1FBQ0osTUFBTSxJQUFJTjtJQUNaO0lBQ0Esd0tBQXdLLEdBQ3hLTyxPQUFPO1FBQ0wsTUFBTSxJQUFJUDtJQUNaO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvbmF2aWdhdGlvbi5yZWFjdC1zZXJ2ZXIudHM/ZGJjMCJdLCJuYW1lcyI6WyJSZWFkb25seVVSTFNlYXJjaFBhcmFtcyIsIlJlZGlyZWN0VHlwZSIsIm5vdEZvdW5kIiwicGVybWFuZW50UmVkaXJlY3QiLCJyZWRpcmVjdCIsIlJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zRXJyb3IiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwiVVJMU2VhcmNoUGFyYW1zIiwiYXBwZW5kIiwiZGVsZXRlIiwic2V0Iiwic29ydCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/navigation.react-server.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js": +/*!************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/not-found-boundary.js ***! + \************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"NotFoundBoundary\", ({\n enumerable: true,\n get: function() {\n return NotFoundBoundary;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(ssr)/./node_modules/next/dist/client/components/not-found.js\");\nconst _warnonce = __webpack_require__(/*! ../../shared/lib/utils/warn-once */ \"(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nclass NotFoundErrorBoundary extends _react.default.Component {\n componentDidCatch() {\n if ( true && // A missing children slot is the typical not-found case, so no need to warn\n !this.props.missingSlots.has(\"children\")) {\n let warningMessage = \"No default component was found for a parallel route rendered on this page. Falling back to nearest NotFound boundary.\\n\" + \"Learn more: https://nextjs.org/docs/app/building-your-application/routing/parallel-routes#defaultjs\\n\\n\";\n if (this.props.missingSlots.size > 0) {\n const formattedSlots = Array.from(this.props.missingSlots).sort((a, b)=>a.localeCompare(b)).map((slot)=>\"@\" + slot).join(\", \");\n warningMessage += \"Missing slots: \" + formattedSlots;\n }\n (0, _warnonce.warnOnce)(warningMessage);\n }\n }\n static getDerivedStateFromError(error) {\n if ((0, _notfound.isNotFoundError)(error)) {\n return {\n notFoundTriggered: true\n };\n }\n // Re-throw if error is not for 404\n throw error;\n }\n static getDerivedStateFromProps(props, state) {\n /**\n * Handles reset of the error boundary when a navigation happens.\n * Ensures the error boundary does not stay enabled when navigating to a new page.\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */ if (props.pathname !== state.previousPathname && state.notFoundTriggered) {\n return {\n notFoundTriggered: false,\n previousPathname: props.pathname\n };\n }\n return {\n notFoundTriggered: state.notFoundTriggered,\n previousPathname: props.pathname\n };\n }\n render() {\n if (this.state.notFoundTriggered) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"robots\",\n content: \"noindex\"\n }),\n true && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"next-error\",\n content: \"not-found\"\n }),\n this.props.notFoundStyles,\n this.props.notFound\n ]\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.state = {\n notFoundTriggered: !!props.asNotFound,\n previousPathname: props.pathname\n };\n }\n}\nfunction NotFoundBoundary(param) {\n let { notFound, notFoundStyles, asNotFound, children } = param;\n const pathname = (0, _navigation.usePathname)();\n const missingSlots = (0, _react.useContext)(_approutercontextsharedruntime.MissingSlotContext);\n return notFound ? /*#__PURE__*/ (0, _jsxruntime.jsx)(NotFoundErrorBoundary, {\n pathname: pathname,\n notFound: notFound,\n notFoundStyles: notFoundStyles,\n asNotFound: asNotFound,\n missingSlots: missingSlots,\n children: children\n }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=not-found-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7NkJBRzRCQSwwQkFBQUMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTt3Q0FDSTtzQ0FDUDs7QUFvQnpCLE1BQU1DLGlDQUE4QkMsbUJBQUFBLENBQUFBLHVLQUFBQTtNQVlsQ0MsOEJBQTBCQyxPQUFBQyxPQUFBLENBQUFDLFNBQUE7d0JBRVZDO1FBRVosSUFBQ0MsS0FBNEIsSUFDN0I7YUFDQSxDQUFBQyxLQUFJQyxDQUFBQSxZQUFBQSxDQUNGQyxHQUFBO1lBR0YsSUFBSUQsaUJBQVdFLDRIQUF1QjtnQkFDcEMsS0FBQUgsS0FBTUksQ0FBQUEsWUFBaUJDLENBQUFBLElBQUFBLEdBQU1DLEdBQUs7Z0JBS2xDTCxNQUFBQSxpQkFBa0JJLE1BQUFDLElBQUEsS0FBb0JGLENBQUFBLEtBQUFBLENBQUFBLFlBQUFBLEVBQUFBLElBQUFBLENBQUFBLENBQUFBLEdBQUFBLElBQUFBLEVBQUFBLGFBQUFBLENBQUFBLElBQUFBLEdBQUFBLENBQUFBLENBQUFBLE9BQUFBLE1BQUFBLE1BQUFBLElBQUFBLENBQUFBO2dCQUN4Q0gsa0JBQUEsb0JBQUFHO1lBRUFHO1lBQ0YsSUFBQUMsVUFBQUQsUUFBQSxFQUFBTjtRQUNGO0lBRUE7V0FDRVEseUJBQUlDLEtBQWUsRUFBQ0M7WUFDbEIsSUFBQUMsVUFBT0YsZUFBQSxFQUFBQyxRQUFBO21CQUNMRTtnQkFDRkEsbUJBQUE7WUFDRjtRQUNBO1FBQ0EsbUNBQU1GO1FBQ1IsTUFBQUE7SUFFQTtXQUlFRyx5QkFBQWQsS0FBQSxFQUFBZSxLQUFBOzs7Ozs7WUFPRWYsTUFBQWdCLFFBQU8sS0FBQUQsTUFBQUUsZ0JBQUEsSUFBQUYsTUFBQUYsaUJBQUE7bUJBQ0xBO2dCQUNBSSxtQkFBa0JqQjtnQkFDcEJpQixrQkFBQWpCLE1BQUFnQixRQUFBO1lBQ0Y7UUFDQTtlQUNFSDtZQUNBSSxtQkFBa0JqQixNQUFNZ0IsaUJBQVE7WUFDbENDLGtCQUFBakIsTUFBQWdCLFFBQUE7UUFDRjtJQUVBRTthQUNNO1lBQ0YsS0FBQUgsS0FBQSxDQUFBRixpQkFDRTs7OytCQUNhLE9BQUFNLFlBQUFDLEdBQUE7d0JBQVNDLE1BQUFBOztvQkFDbkJ0QjtvQkFqR1gsS0FrR3VCLHNCQUFBb0IsWUFBQUMsR0FBQTt3QkFBYUMsTUFBQUE7O29CQUV6QjtvQkFDQSxJQUFJLENBQUNyQixLQUFLLENBQUNzQixjQUFROzs7WUFHMUI7UUFFQTtRQUNGLFlBQUF0QixLQUFBLENBQUF1QixRQUFBO0lBOUVBQztnQkFDUXhCLEtBQUFBLENBQUFBO1FBQ04sS0FBS2UsQ0FBQUE7WUFDSEYsQ0FBQUEsS0FBQUEsR0FBQUE7WUFDQUksbUJBQWtCakIsQ0FBQUEsQ0FBQUEsTUFBTWdCLFVBQVE7WUFDbENDLGtCQUFBakIsTUFBQWdCLFFBQUE7UUFDRjtJQXlFRjtBQUVPO1NBQTBCUyxpQkFFL0JDLEtBQUFBO0lBSUEsTUFBTVYsUUFBQUEsRUFBQUEsY0FBV1csRUFBQUEsVUFBQUEsRUFBV0osUUFBQSxLQUFBSztJQUM1QixNQUFNekIsV0FBQUEsQ0FBQUEsR0FBZTBCLFlBQUFBLFdBQVdDO0lBQ2hDLE1BQUEzQixlQUFPbUIsQ0FBQUEsR0FBQUEsT0FDTE8sVUFBQSxFQUFBRSwrQkFBQ3ZDLGtCQUFBQTtXQUNDd0IsV0FBVUEsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsdUJBQUFBO1FBQ1ZNLFVBQVVBO1FBQ1ZJLFVBQUFBO1FBQ0FNLGdCQUFZQTtRQUNaN0IsWUFBQUE7c0JBRUNvQjs7U0FHQUEsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsWUFBQUEsUUFBQUEsRUFBQUE7O0lBRVAiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWJvdW5kYXJ5LnRzeD8xNzI0Il0sIm5hbWVzIjpbIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJfIiwicmVxdWlyZSIsIk5vdEZvdW5kRXJyb3JCb3VuZGFyeSIsIlJlYWN0IiwiY29tcG9uZW50RGlkQ2F0Y2giLCJfcmVhY3QiLCJkZWZhdWx0IiwiQ29tcG9uZW50IiwiTk9ERV9FTlYiLCJwcm9jZXNzIiwicHJvcHMiLCJ3YXJuaW5nTWVzc2FnZSIsImhhcyIsIm1pc3NpbmdTbG90cyIsImZvcm1hdHRlZFNsb3RzIiwiQXJyYXkiLCJmcm9tIiwid2Fybk9uY2UiLCJfd2Fybm9uY2UiLCJnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IiLCJpc05vdEZvdW5kRXJyb3IiLCJlcnJvciIsIl9ub3Rmb3VuZCIsIm5vdEZvdW5kVHJpZ2dlcmVkIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwic3RhdGUiLCJwYXRobmFtZSIsInByZXZpb3VzUGF0aG5hbWUiLCJyZW5kZXIiLCJfanN4cnVudGltZSIsImpzeCIsImNvbnRlbnQiLCJub3RGb3VuZCIsImNoaWxkcmVuIiwiY29uc3RydWN0b3IiLCJOb3RGb3VuZEJvdW5kYXJ5Iiwibm90Rm91bmRTdHlsZXMiLCJ1c2VQYXRobmFtZSIsInBhcmFtIiwidXNlQ29udGV4dCIsIk1pc3NpbmdTbG90Q29udGV4dCIsIl9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSIsImFzTm90Rm91bmQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/not-found.js": +/*!***************************************************************!*\ + !*** ./node_modules/next/dist/client/components/not-found.js ***! + \***************************************************************/ +/***/ ((module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isNotFoundError: function() {\n return isNotFoundError;\n },\n notFound: function() {\n return notFound;\n }\n});\nconst NOT_FOUND_ERROR_CODE = \"NEXT_NOT_FOUND\";\nfunction notFound() {\n // eslint-disable-next-line no-throw-literal\n const error = new Error(NOT_FOUND_ERROR_CODE);\n error.digest = NOT_FOUND_ERROR_CODE;\n throw error;\n}\nfunction isNotFoundError(error) {\n if (typeof error !== \"object\" || error === null || !(\"digest\" in error)) {\n return false;\n }\n return error.digest === NOT_FOUND_ERROR_CODE;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=not-found.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFnQ2dCQSxpQkFBZTtlQUFmQTs7SUFkQUMsVUFBUTtlQUFSQTs7O0FBbEJoQixNQUFNQyx1QkFBdUI7QUFrQnRCLFNBQVNEO0lBQ2QsNENBQTRDO0lBQzVDLE1BQU1FLFFBQVEsSUFBSUMsTUFBTUY7SUFDdEJDLE1BQXdCRSxNQUFNLEdBQUdIO0lBQ25DLE1BQU1DO0FBQ1I7QUFTTyxTQUFTSCxnQkFBZ0JHLEtBQWM7SUFDNUMsSUFBSSxPQUFPQSxVQUFVLFlBQVlBLFVBQVUsUUFBUSxDQUFFLGFBQVlBLEtBQUFBLEdBQVE7UUFDdkUsT0FBTztJQUNUO0lBRUEsT0FBT0EsTUFBTUUsTUFBTSxLQUFLSDtBQUMxQiIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQudHM/MDdmYiJdLCJuYW1lcyI6WyJpc05vdEZvdW5kRXJyb3IiLCJub3RGb3VuZCIsIk5PVF9GT1VORF9FUlJPUl9DT0RFIiwiZXJyb3IiLCJFcnJvciIsImRpZ2VzdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/not-found.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/promise-queue.js": +/*!*******************************************************************!*\ + !*** ./node_modules/next/dist/client/components/promise-queue.js ***! + \*******************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("/*\n This is a simple promise queue that allows you to limit the number of concurrent promises\n that are running at any given time. It's used to limit the number of concurrent\n prefetch requests that are being made to the server but could be used for other\n things as well.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"PromiseQueue\", ({\n enumerable: true,\n get: function() {\n return PromiseQueue;\n }\n}));\nconst _class_private_field_loose_base = __webpack_require__(/*! @swc/helpers/_/_class_private_field_loose_base */ \"(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js\");\nconst _class_private_field_loose_key = __webpack_require__(/*! @swc/helpers/_/_class_private_field_loose_key */ \"(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js\");\nvar _maxConcurrency = /*#__PURE__*/ _class_private_field_loose_key._(\"_maxConcurrency\"), _runningCount = /*#__PURE__*/ _class_private_field_loose_key._(\"_runningCount\"), _queue = /*#__PURE__*/ _class_private_field_loose_key._(\"_queue\"), _processNext = /*#__PURE__*/ _class_private_field_loose_key._(\"_processNext\");\nclass PromiseQueue {\n enqueue(promiseFn) {\n let taskResolve;\n let taskReject;\n const taskPromise = new Promise((resolve, reject)=>{\n taskResolve = resolve;\n taskReject = reject;\n });\n const task = async ()=>{\n try {\n _class_private_field_loose_base._(this, _runningCount)[_runningCount]++;\n const result = await promiseFn();\n taskResolve(result);\n } catch (error) {\n taskReject(error);\n } finally{\n _class_private_field_loose_base._(this, _runningCount)[_runningCount]--;\n _class_private_field_loose_base._(this, _processNext)[_processNext]();\n }\n };\n const enqueueResult = {\n promiseFn: taskPromise,\n task\n };\n // wonder if we should take a LIFO approach here\n _class_private_field_loose_base._(this, _queue)[_queue].push(enqueueResult);\n _class_private_field_loose_base._(this, _processNext)[_processNext]();\n return taskPromise;\n }\n bump(promiseFn) {\n const index = _class_private_field_loose_base._(this, _queue)[_queue].findIndex((item)=>item.promiseFn === promiseFn);\n if (index > -1) {\n const bumpedItem = _class_private_field_loose_base._(this, _queue)[_queue].splice(index, 1)[0];\n _class_private_field_loose_base._(this, _queue)[_queue].unshift(bumpedItem);\n _class_private_field_loose_base._(this, _processNext)[_processNext](true);\n }\n }\n constructor(maxConcurrency = 5){\n Object.defineProperty(this, _processNext, {\n value: processNext\n });\n Object.defineProperty(this, _maxConcurrency, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _runningCount, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _queue, {\n writable: true,\n value: void 0\n });\n _class_private_field_loose_base._(this, _maxConcurrency)[_maxConcurrency] = maxConcurrency;\n _class_private_field_loose_base._(this, _runningCount)[_runningCount] = 0;\n _class_private_field_loose_base._(this, _queue)[_queue] = [];\n }\n}\nfunction processNext(forced) {\n if (forced === void 0) forced = false;\n if ((_class_private_field_loose_base._(this, _runningCount)[_runningCount] < _class_private_field_loose_base._(this, _maxConcurrency)[_maxConcurrency] || forced) && _class_private_field_loose_base._(this, _queue)[_queue].length > 0) {\n var _class_private_field_loose_base__queue_shift;\n (_class_private_field_loose_base__queue_shift = _class_private_field_loose_base._(this, _queue)[_queue].shift()) == null ? void 0 : _class_private_field_loose_base__queue_shift.task();\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=promise-queue.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3Byb21pc2UtcXVldWUuanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0FBS0E7Ozs7Z0RBQ2FBOzs7ZUFBQUE7Ozs7O0lBQ1hDLGtCQUFBLGNBQUFDLCtCQUFBQyxDQUFBLHFCQUNBQyxnQkFBQSxjQUFBRiwrQkFBQUMsQ0FBQSxtQkFDQUUsU0FBQSxjQUFBSCwrQkFBQUMsQ0FBQSxZQW1EQUcsZUFBQSxjQUFBSiwrQkFBQUMsQ0FBQTtBQXRESyxNQUFNSDtJQWNYTyxRQUFXQyxTQUEyQixFQUFjO1FBQ2xELElBQUlDO1FBQ0osSUFBSUM7UUFFSixNQUFNQyxjQUFjLElBQUlDLFFBQVEsQ0FBQ0MsU0FBU0M7WUFDeENMLGNBQWNJO1lBQ2RILGFBQWFJO1FBQ2Y7UUFFQSxNQUFNQyxPQUFPO1lBQ1gsSUFBSTtnQkFDRkMsZ0NBQUFiLENBQUEsS0FBSSxFQUFFYyxjQUFBQSxDQUFBQSxjQUFBQTtnQkFDTixNQUFNQyxTQUFTLE1BQU1WO2dCQUNyQkMsWUFBWVM7WUFDZCxFQUFFLE9BQU9DLE9BQU87Z0JBQ2RULFdBQVdTO1lBQ2IsU0FBVTtnQkFDUkgsZ0NBQUFiLENBQUEsS0FBSSxFQUFFYyxjQUFBQSxDQUFBQSxjQUFBQTtnQkFDTkQsZ0NBQUFiLENBQUEsS0FBSSxFQUFFaUIsYUFBQUEsQ0FBQUEsYUFBQUE7WUFDUjtRQUNGO1FBRUEsTUFBTUMsZ0JBQWdCO1lBQUViLFdBQVdHO1lBQWFJO1FBQUs7UUFDckQsZ0RBQWdEO1FBQ2hEQyxnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVtQixPQUFBQSxDQUFBQSxPQUFBQSxDQUFNQyxJQUFJLENBQUNGO1FBQ2pCTCxnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVpQixhQUFBQSxDQUFBQSxhQUFBQTtRQUVOLE9BQU9UO0lBQ1Q7SUFFQWEsS0FBS2hCLFNBQXVCLEVBQUU7UUFDNUIsTUFBTWlCLFFBQVFULGdDQUFBYixDQUFBLEtBQUksRUFBRW1CLE9BQUFBLENBQUFBLE9BQUFBLENBQU1JLFNBQVMsQ0FBQyxDQUFDQyxPQUFTQSxLQUFLbkIsU0FBUyxLQUFLQTtRQUVqRSxJQUFJaUIsUUFBUSxDQUFDLEdBQUc7WUFDZCxNQUFNRyxhQUFhWixnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVtQixPQUFBQSxDQUFBQSxPQUFBQSxDQUFNTyxNQUFNLENBQUNKLE9BQU8sRUFBRSxDQUFDLEVBQUU7WUFDbERULGdDQUFBYixDQUFBLEtBQUksRUFBRW1CLE9BQUFBLENBQUFBLE9BQUFBLENBQU1RLE9BQU8sQ0FBQ0Y7WUFDcEJaLGdDQUFBYixDQUFBLEtBQUksRUFBRWlCLGFBQUFBLENBQUFBLGFBQUFBLENBQVk7UUFDcEI7SUFDRjtJQTVDQVcsWUFBWUMsaUJBQWlCLENBQUMsQ0FBRTtRQThDaENDLE9BQUFDLGNBQUEsT0FBQTVCLGNBQUE7bUJBQUFjOztRQXJEQWEsT0FBQUMsY0FBQSxPQUFBakMsaUJBQUE7O21CQUFBOztRQUNBZ0MsT0FBQUMsY0FBQSxPQUFBOUIsZUFBQTs7bUJBQUE7O1FBQ0E2QixPQUFBQyxjQUFBLE9BQUE3QixRQUFBOzttQkFBQTs7UUFNRVcsZ0NBQUFiLENBQUEsS0FBSSxFQUFFNkIsZ0JBQUFBLENBQUFBLGdCQUFBQSxHQUFpQkE7UUFDdkJoQixnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVjLGNBQUFBLENBQUFBLGNBQUFBLEdBQWU7UUFDckJELGdDQUFBYixDQUFBLEtBQUksRUFBRW1CLE9BQUFBLENBQUFBLE9BQUFBLEdBQVEsRUFBRTtJQUNsQjtBQWtERjtBQVJFLFNBQUFGLFlBQWFlLE1BQWM7SUFBZEEsSUFBQUEsV0FBQUEsS0FBQUEsR0FBQUEsU0FBUztJQUNwQixJQUNFLENBQUNuQixnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVjLGNBQUFBLENBQUFBLGNBQUFBLEdBQWVELGdDQUFBYixDQUFBLEtBQUksRUFBRTZCLGdCQUFBQSxDQUFBQSxnQkFBQUEsSUFBa0JHLE1BQUFBLEtBQzlDbkIsZ0NBQUFiLENBQUEsS0FBSSxFQUFFbUIsT0FBQUEsQ0FBQUEsT0FBQUEsQ0FBTWMsTUFBTSxHQUFHLEdBQ3JCO1lBQ0FDO1FBQUFBLENBQUFBLCtDQUFBckIsZ0NBQUFiLENBQUEsS0FBSSxFQUFFbUIsT0FBQUEsQ0FBQUEsT0FBQUEsQ0FBTWdCLEtBQUssdUJBQWpCRCw2Q0FBcUJ0QixJQUFJO0lBQzNCO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcHJvbWlzZS1xdWV1ZS50cz9lNzM0Il0sIm5hbWVzIjpbIlByb21pc2VRdWV1ZSIsIl9tYXhDb25jdXJyZW5jeSIsIl9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleSIsIl8iLCJfcnVubmluZ0NvdW50IiwiX3F1ZXVlIiwiX3Byb2Nlc3NOZXh0IiwiZW5xdWV1ZSIsInByb21pc2VGbiIsInRhc2tSZXNvbHZlIiwidGFza1JlamVjdCIsInRhc2tQcm9taXNlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJ0YXNrIiwiX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZSIsInJ1bm5pbmdDb3VudCIsInJlc3VsdCIsImVycm9yIiwicHJvY2Vzc05leHQiLCJlbnF1ZXVlUmVzdWx0IiwicXVldWUiLCJwdXNoIiwiYnVtcCIsImluZGV4IiwiZmluZEluZGV4IiwiaXRlbSIsImJ1bXBlZEl0ZW0iLCJzcGxpY2UiLCJ1bnNoaWZ0IiwiY29uc3RydWN0b3IiLCJtYXhDb25jdXJyZW5jeSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZm9yY2VkIiwibGVuZ3RoIiwiX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZV9fcXVldWVfc2hpZnQiLCJzaGlmdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/promise-queue.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js": +/*!*******************************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js ***! + \*******************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return ReactDevOverlay;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _shared = __webpack_require__(/*! ../shared */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _ShadowPortal = __webpack_require__(/*! ../internal/components/ShadowPortal */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js\");\nconst _BuildError = __webpack_require__(/*! ../internal/container/BuildError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\");\nconst _Errors = __webpack_require__(/*! ../internal/container/Errors */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\");\nconst _parseStack = __webpack_require__(/*! ../internal/helpers/parseStack */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\");\nconst _Base = __webpack_require__(/*! ../internal/styles/Base */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js\");\nconst _ComponentStyles = __webpack_require__(/*! ../internal/styles/ComponentStyles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js\");\nconst _CssReset = __webpack_require__(/*! ../internal/styles/CssReset */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js\");\nconst _rootlayoutmissingtagserror = __webpack_require__(/*! ../internal/container/root-layout-missing-tags-error */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/root-layout-missing-tags-error.js\");\nclass ReactDevOverlay extends _react.PureComponent {\n static getDerivedStateFromError(error) {\n if (!error.stack) return {\n reactError: null\n };\n return {\n reactError: {\n id: 0,\n event: {\n type: _shared.ACTION_UNHANDLED_ERROR,\n reason: error,\n frames: (0, _parseStack.parseStack)(error.stack)\n }\n }\n };\n }\n componentDidCatch(componentErr) {\n this.props.onReactError(componentErr);\n }\n render() {\n var _state_rootLayoutMissingTags, _state_rootLayoutMissingTags1;\n const { state, children } = this.props;\n const { reactError } = this.state;\n const hasBuildError = state.buildError != null;\n const hasRuntimeErrors = Boolean(state.errors.length);\n const hasMissingTags = Boolean((_state_rootLayoutMissingTags = state.rootLayoutMissingTags) == null ? void 0 : _state_rootLayoutMissingTags.length);\n const isMounted = hasBuildError || hasRuntimeErrors || reactError || hasMissingTags;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n reactError ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"html\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"head\", {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"body\", {})\n ]\n }) : children,\n isMounted ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_ShadowPortal.ShadowPortal, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_CssReset.CssReset, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Base.Base, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_ComponentStyles.ComponentStyles, {}),\n ((_state_rootLayoutMissingTags1 = state.rootLayoutMissingTags) == null ? void 0 : _state_rootLayoutMissingTags1.length) ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_rootlayoutmissingtagserror.RootLayoutMissingTagsError, {\n missingTags: state.rootLayoutMissingTags\n }) : hasBuildError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_BuildError.BuildError, {\n message: state.buildError,\n versionInfo: state.versionInfo\n }) : reactError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Errors.Errors, {\n isAppDir: true,\n versionInfo: state.versionInfo,\n initialDisplayState: \"fullscreen\",\n errors: [\n reactError\n ]\n }) : hasRuntimeErrors ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Errors.Errors, {\n isAppDir: true,\n initialDisplayState: \"minimized\",\n errors: state.errors,\n versionInfo: state.versionInfo\n }) : undefined\n ]\n }) : undefined\n ]\n });\n }\n constructor(...args){\n super(...args);\n this.state = {\n reactError: null\n };\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ReactDevOverlay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2FwcC9SZWFjdERldk92ZXJsYXkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztlQWdCcUJBOzs7Ozs2RUFoQkU7b0NBQ21DOzBDQUU3Qjt3Q0FDRjtvQ0FDSjt3Q0FFSTtrQ0FDTjs2Q0FDVztzQ0FDUDt3REFDa0I7QUFLNUIsTUFBTUEsd0JBQXdCQyxPQUFNQyxhQUFhO0lBVTlELE9BQU9DLHlCQUF5QkMsS0FBWSxFQUF3QjtRQUNsRSxJQUFJLENBQUNBLE1BQU1DLEtBQUssRUFBRSxPQUFPO1lBQUVDLFlBQVk7UUFBSztRQUM1QyxPQUFPO1lBQ0xBLFlBQVk7Z0JBQ1ZDLElBQUk7Z0JBQ0pDLE9BQU87b0JBQ0xDLE1BQU1DLFFBQUFBLHNCQUFzQjtvQkFDNUJDLFFBQVFQO29CQUNSUSxRQUFRQyxDQUFBQSxHQUFBQSxZQUFBQSxVQUFVLEVBQUNULE1BQU1DLEtBQUs7Z0JBQ2hDO1lBQ0Y7UUFDRjtJQUNGO0lBRUFTLGtCQUFrQkMsWUFBbUIsRUFBRTtRQUNyQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsWUFBWSxDQUFDRjtJQUMxQjtJQUVBRyxTQUFTO1lBTXdCQyw4QkFtQnRCQTtRQXhCVCxNQUFNLEVBQUVBLEtBQUssRUFBRUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDSixLQUFLO1FBQ3RDLE1BQU0sRUFBRVYsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDYSxLQUFLO1FBRWpDLE1BQU1FLGdCQUFnQkYsTUFBTUcsVUFBVSxJQUFJO1FBQzFDLE1BQU1DLG1CQUFtQkMsUUFBUUwsTUFBTU0sTUFBTSxDQUFDQyxNQUFNO1FBQ3BELE1BQU1DLGlCQUFpQkgsUUFBQUEsQ0FBUUwsK0JBQUFBLE1BQU1TLHFCQUFxQixxQkFBM0JULDZCQUE2Qk8sTUFBTTtRQUNsRSxNQUFNRyxZQUNKUixpQkFBaUJFLG9CQUFvQmpCLGNBQWNxQjtRQUVyRCxPQUNFLFdBREYsR0FDRSxJQUFBRyxZQUFBQyxJQUFBLEVBQUFELFlBQUFFLFFBQUE7O2dCQUNHMUIsYUFDQyxXQUREQSxHQUNDLElBQUF3QixZQUFBQyxJQUFBLEVBQUNFLFFBQUFBOztzQ0FDQyxJQUFBSCxZQUFBSSxHQUFBLEVBQUNDLFFBQUFBLENBQUFBO3NDQUNELElBQUFMLFlBQUFJLEdBQUEsRUFBQ0UsUUFBQUEsQ0FBQUE7O3FCQUdIaEI7Z0JBRURTLFlBQ0MsV0FEREEsR0FDQyxJQUFBQyxZQUFBQyxJQUFBLEVBQUNNLGNBQUFBLFlBQVk7O3NDQUNYLElBQUFQLFlBQUFJLEdBQUEsRUFBQ0ksVUFBQUEsUUFBUTtzQ0FDVCxJQUFBUixZQUFBSSxHQUFBLEVBQUNLLE1BQUFBLElBQUk7c0NBQ0wsSUFBQVQsWUFBQUksR0FBQSxFQUFDTSxpQkFBQUEsZUFBZTt3QkFDZnJCLENBQUFBLENBQUFBLGdDQUFBQSxNQUFNUyxxQkFBcUIscUJBQTNCVCw4QkFBNkJPLE1BQU0sSUFDbEMsV0FEa0MsR0FDbEMsSUFBQUksWUFBQUksR0FBQSxFQUFDTyw0QkFBQUEsMEJBQTBCOzRCQUN6QkMsYUFBYXZCLE1BQU1TLHFCQUFxQjs2QkFFeENQLGdCQUNGLFdBREVBLEdBQ0YsSUFBQVMsWUFBQUksR0FBQSxFQUFDUyxZQUFBQSxVQUFVOzRCQUNUQyxTQUFTekIsTUFBTUcsVUFBVTs0QkFDekJ1QixhQUFhMUIsTUFBTTBCLFdBQVc7NkJBRTlCdkMsYUFDRixXQURFQSxHQUNGLElBQUF3QixZQUFBSSxHQUFBLEVBQUNZLFFBQUFBLE1BQU07NEJBQ0xDLFVBQVU7NEJBQ1ZGLGFBQWExQixNQUFNMEIsV0FBVzs0QkFDOUJHLHFCQUFvQjs0QkFDcEJ2QixRQUFRO2dDQUFDbkI7NkJBQVc7NkJBRXBCaUIsbUJBQ0YsV0FERUEsR0FDRixJQUFBTyxZQUFBSSxHQUFBLEVBQUNZLFFBQUFBLE1BQU07NEJBQ0xDLFVBQVU7NEJBQ1ZDLHFCQUFvQjs0QkFDcEJ2QixRQUFRTixNQUFNTSxNQUFNOzRCQUNwQm9CLGFBQWExQixNQUFNMEIsV0FBVzs2QkFFOUJJOztxQkFFSkE7OztJQUdWOzs7YUF6RUE5QixLQUFBQSxHQUFRO1lBQUViLFlBQVk7UUFBSzs7QUEwRTdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2FwcC9SZWFjdERldk92ZXJsYXkudHN4P2YxYmYiXSwibmFtZXMiOlsiUmVhY3REZXZPdmVybGF5IiwiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiZXJyb3IiLCJzdGFjayIsInJlYWN0RXJyb3IiLCJpZCIsImV2ZW50IiwidHlwZSIsIkFDVElPTl9VTkhBTkRMRURfRVJST1IiLCJyZWFzb24iLCJmcmFtZXMiLCJwYXJzZVN0YWNrIiwiY29tcG9uZW50RGlkQ2F0Y2giLCJjb21wb25lbnRFcnIiLCJwcm9wcyIsIm9uUmVhY3RFcnJvciIsInJlbmRlciIsInN0YXRlIiwiY2hpbGRyZW4iLCJoYXNCdWlsZEVycm9yIiwiYnVpbGRFcnJvciIsImhhc1J1bnRpbWVFcnJvcnMiLCJCb29sZWFuIiwiZXJyb3JzIiwibGVuZ3RoIiwiaGFzTWlzc2luZ1RhZ3MiLCJyb290TGF5b3V0TWlzc2luZ1RhZ3MiLCJpc01vdW50ZWQiLCJfanN4cnVudGltZSIsImpzeHMiLCJGcmFnbWVudCIsImh0bWwiLCJqc3giLCJoZWFkIiwiYm9keSIsIlNoYWRvd1BvcnRhbCIsIkNzc1Jlc2V0IiwiQmFzZSIsIkNvbXBvbmVudFN0eWxlcyIsIlJvb3RMYXlvdXRNaXNzaW5nVGFnc0Vycm9yIiwibWlzc2luZ1RhZ3MiLCJCdWlsZEVycm9yIiwibWVzc2FnZSIsInZlcnNpb25JbmZvIiwiRXJyb3JzIiwiaXNBcHBEaXIiLCJpbml0aWFsRGlzcGxheVN0YXRlIiwidW5kZWZpbmVkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js": +/*!***********************************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js ***! + \***********************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("/* module decorator */ module = __webpack_require__.nmd(module);\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return HotReload;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _formatwebpackmessages = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../internal/helpers/format-webpack-messages */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js\"));\nconst _navigation = __webpack_require__(/*! ../../navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _shared = __webpack_require__(/*! ../shared */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _parseStack = __webpack_require__(/*! ../internal/helpers/parseStack */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\");\nconst _ReactDevOverlay = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./ReactDevOverlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js\"));\nconst _useerrorhandler = __webpack_require__(/*! ../internal/helpers/use-error-handler */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js\");\nconst _runtimeerrorhandler = __webpack_require__(/*! ../internal/helpers/runtime-error-handler */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-error-handler.js\");\nconst _usewebsocket = __webpack_require__(/*! ../internal/helpers/use-websocket */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js\");\nconst _parsecomponentstack = __webpack_require__(/*! ../internal/helpers/parse-component-stack */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js\");\nconst _hotreloadertypes = __webpack_require__(/*! ../../../../server/dev/hot-reloader-types */ \"(ssr)/./node_modules/next/dist/server/dev/hot-reloader-types.js\");\nconst _extractmodulesfromturbopackmessage = __webpack_require__(/*! ../../../../server/dev/extract-modules-from-turbopack-message */ \"(ssr)/./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js\");\nlet mostRecentCompilationHash = null;\nlet __nextDevClientId = Math.round(Math.random() * 100 + Date.now());\nlet reloading = false;\nlet startLatency = null;\nfunction onBeforeFastRefresh(dispatcher, hasUpdates) {\n if (hasUpdates) {\n dispatcher.onBeforeRefresh();\n }\n}\nfunction onFastRefresh(dispatcher, sendMessage, updatedModules) {\n dispatcher.onBuildOk();\n reportHmrLatency(sendMessage, updatedModules);\n dispatcher.onRefresh();\n}\nfunction reportHmrLatency(sendMessage, updatedModules) {\n if (!startLatency) return;\n let endLatency = Date.now();\n const latency = endLatency - startLatency;\n console.log(\"[Fast Refresh] done in \" + latency + \"ms\");\n sendMessage(JSON.stringify({\n event: \"client-hmr-latency\",\n id: window.__nextDevClientId,\n startTime: startLatency,\n endTime: endLatency,\n page: window.location.pathname,\n updatedModules,\n // Whether the page (tab) was hidden at the time the event occurred.\n // This can impact the accuracy of the event's timing.\n isPageHidden: document.visibilityState === \"hidden\"\n }));\n}\n// There is a newer version of the code available.\nfunction handleAvailableHash(hash) {\n // Update last known compilation hash.\n mostRecentCompilationHash = hash;\n}\n/**\n * Is there a newer version of this code available?\n * For webpack: Check if the hash changed compared to __webpack_hash__\n * For Turbopack: Always true because it doesn't have __webpack_hash__\n */ function isUpdateAvailable() {\n if (false) {}\n /* globals __webpack_hash__ */ // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by Webpack.\n return mostRecentCompilationHash !== __webpack_require__.h();\n}\n// Webpack disallows updates in other states.\nfunction canApplyUpdates() {\n // @ts-expect-error module.hot exists\n return module.hot.status() === \"idle\";\n}\nfunction afterApplyUpdates(fn) {\n if (canApplyUpdates()) {\n fn();\n } else {\n function handler(status) {\n if (status === \"idle\") {\n // @ts-expect-error module.hot exists\n module.hot.removeStatusHandler(handler);\n fn();\n }\n }\n // @ts-expect-error module.hot exists\n module.hot.addStatusHandler(handler);\n }\n}\nfunction performFullReload(err, sendMessage) {\n const stackTrace = err && (err.stack && err.stack.split(\"\\n\").slice(0, 5).join(\"\\n\") || err.message || err + \"\");\n sendMessage(JSON.stringify({\n event: \"client-full-reload\",\n stackTrace,\n hadRuntimeError: !!_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError,\n dependencyChain: err ? err.dependencyChain : undefined\n }));\n if (reloading) return;\n reloading = true;\n window.location.reload();\n}\n// Attempt to update code on the fly, fall back to a hard reload.\nfunction tryApplyUpdates(onBeforeUpdate, onHotUpdateSuccess, sendMessage, dispatcher) {\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n dispatcher.onBuildOk();\n return;\n }\n function handleApplyUpdates(err, updatedModules) {\n if (err || _runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError || !updatedModules) {\n if (err) {\n console.warn(\"[Fast Refresh] performing full reload\\n\\n\" + \"Fast Refresh will perform a full reload when you edit a file that's imported by modules outside of the React rendering tree.\\n\" + \"You might have a file which exports a React component but also exports a value that is imported by a non-React component file.\\n\" + \"Consider migrating the non-React component export to a separate file and importing it into both files.\\n\\n\" + \"It is also possible the parent component of the component you edited is a class component, which disables Fast Refresh.\\n\" + \"Fast Refresh requires at least one parent function component in your React tree.\");\n } else if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD_FROM_ERROR);\n }\n performFullReload(err, sendMessage);\n return;\n }\n const hasUpdates = Boolean(updatedModules.length);\n if (typeof onHotUpdateSuccess === \"function\") {\n // Maybe we want to do something.\n onHotUpdateSuccess(updatedModules);\n }\n if (isUpdateAvailable()) {\n // While we were updating, there was a new update! Do it again.\n tryApplyUpdates(hasUpdates ? ()=>{} : onBeforeUpdate, hasUpdates ? ()=>dispatcher.onBuildOk() : onHotUpdateSuccess, sendMessage, dispatcher);\n } else {\n dispatcher.onBuildOk();\n if (false) {}\n }\n }\n // https://webpack.js.org/api/hot-module-replacement/#check\n // @ts-expect-error module.hot exists\n module.hot.check(/* autoApply */ false).then((updatedModules)=>{\n if (!updatedModules) {\n return null;\n }\n if (typeof onBeforeUpdate === \"function\") {\n const hasUpdates = Boolean(updatedModules.length);\n onBeforeUpdate(hasUpdates);\n }\n // https://webpack.js.org/api/hot-module-replacement/#apply\n // @ts-expect-error module.hot exists\n return module.hot.apply();\n }).then((updatedModules)=>{\n handleApplyUpdates(null, updatedModules);\n }, (err)=>{\n handleApplyUpdates(err, null);\n });\n}\n/** Handles messages from the sevrer for the App Router. */ function processMessage(obj, sendMessage, processTurbopackMessage, router, dispatcher) {\n if (!(\"action\" in obj)) {\n return;\n }\n function handleErrors(errors) {\n // \"Massage\" webpack messages.\n const formatted = (0, _formatwebpackmessages.default)({\n errors: errors,\n warnings: []\n });\n // Only show the first error.\n dispatcher.onBuildError(formatted.errors[0]);\n // Also log them to the console.\n for(let i = 0; i < formatted.errors.length; i++){\n console.error((0, _stripansi.default)(formatted.errors[i]));\n }\n // Do not attempt to reload now.\n // We will reload on next success instead.\n if (false) {}\n }\n function handleHotUpdate() {\n if (false) {} else {\n tryApplyUpdates(function onBeforeHotUpdate(hasUpdates) {\n onBeforeFastRefresh(dispatcher, hasUpdates);\n }, function onSuccessfulHotUpdate(webpackUpdatedModules) {\n // Only dismiss it when we're sure it's a hot update.\n // Otherwise it would flicker right before the reload.\n onFastRefresh(dispatcher, sendMessage, webpackUpdatedModules);\n }, sendMessage, dispatcher);\n }\n }\n switch(obj.action){\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILDING:\n {\n startLatency = Date.now();\n console.log(\"[Fast Refresh] rebuilding\");\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT:\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SYNC:\n {\n if (obj.hash) {\n handleAvailableHash(obj.hash);\n }\n const { errors, warnings } = obj;\n // Is undefined when it's a 'built' event\n if (\"versionInfo\" in obj) dispatcher.onVersionInfo(obj.versionInfo);\n const hasErrors = Boolean(errors && errors.length);\n // Compilation with errors (e.g. syntax error or missing modules).\n if (hasErrors) {\n sendMessage(JSON.stringify({\n event: \"client-error\",\n errorCount: errors.length,\n clientId: __nextDevClientId\n }));\n handleErrors(errors);\n return;\n }\n const hasWarnings = Boolean(warnings && warnings.length);\n if (hasWarnings) {\n sendMessage(JSON.stringify({\n event: \"client-warning\",\n warningCount: warnings.length,\n clientId: __nextDevClientId\n }));\n // Print warnings to the console.\n const formattedMessages = (0, _formatwebpackmessages.default)({\n warnings: warnings,\n errors: []\n });\n for(let i = 0; i < formattedMessages.warnings.length; i++){\n if (i === 5) {\n console.warn(\"There were more warnings in other files.\\n\" + \"You can find a complete log in the terminal.\");\n break;\n }\n console.warn((0, _stripansi.default)(formattedMessages.warnings[i]));\n }\n // No early return here as we need to apply modules in the same way between warnings only and compiles without warnings\n }\n sendMessage(JSON.stringify({\n event: \"client-success\",\n clientId: __nextDevClientId\n }));\n if (obj.action === _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT) {\n // Handle hot updates\n handleHotUpdate();\n }\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED:\n {\n processTurbopackMessage({\n type: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED\n });\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE:\n {\n const updatedModules = (0, _extractmodulesfromturbopackmessage.extractModulesFromTurbopackMessage)(obj.data);\n dispatcher.onBeforeRefresh();\n processTurbopackMessage({\n type: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE,\n data: obj.data\n });\n dispatcher.onRefresh();\n if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD_FROM_ERROR);\n performFullReload(null, sendMessage);\n }\n reportHmrLatency(sendMessage, updatedModules);\n break;\n }\n // TODO-APP: make server component change more granular\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_COMPONENT_CHANGES:\n {\n sendMessage(JSON.stringify({\n event: \"server-component-reload-page\",\n clientId: __nextDevClientId\n }));\n if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n if (reloading) return;\n reloading = true;\n return window.location.reload();\n }\n (0, _react.startTransition)(()=>{\n router.fastRefresh();\n dispatcher.onRefresh();\n });\n if (false) {}\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE:\n {\n sendMessage(JSON.stringify({\n event: \"client-reload-page\",\n clientId: __nextDevClientId\n }));\n if (reloading) return;\n reloading = true;\n return window.location.reload();\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.ADDED_PAGE:\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.REMOVED_PAGE:\n {\n // TODO-APP: potentially only refresh if the currently viewed page was added/removed.\n return router.fastRefresh();\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ERROR:\n {\n const { errorJSON } = obj;\n if (errorJSON) {\n const { message, stack } = JSON.parse(errorJSON);\n const error = new Error(message);\n error.stack = stack;\n handleErrors([\n error\n ]);\n }\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.DEV_PAGES_MANIFEST_UPDATE:\n {\n return;\n }\n default:\n {}\n }\n}\nfunction HotReload(param) {\n let { assetPrefix, children } = param;\n const [state, dispatch] = (0, _shared.useErrorOverlayReducer)();\n const dispatcher = (0, _react.useMemo)(()=>{\n return {\n onBuildOk () {\n dispatch({\n type: _shared.ACTION_BUILD_OK\n });\n },\n onBuildError (message) {\n dispatch({\n type: _shared.ACTION_BUILD_ERROR,\n message\n });\n },\n onBeforeRefresh () {\n dispatch({\n type: _shared.ACTION_BEFORE_REFRESH\n });\n },\n onRefresh () {\n dispatch({\n type: _shared.ACTION_REFRESH\n });\n },\n onVersionInfo (versionInfo) {\n dispatch({\n type: _shared.ACTION_VERSION_INFO,\n versionInfo\n });\n }\n };\n }, [\n dispatch\n ]);\n const handleOnUnhandledError = (0, _react.useCallback)((error)=>{\n const errorDetails = error.details;\n // Component stack is added to the error in use-error-handler in case there was a hydration errror\n const componentStack = errorDetails == null ? void 0 : errorDetails.componentStack;\n const warning = errorDetails == null ? void 0 : errorDetails.warning;\n dispatch({\n type: _shared.ACTION_UNHANDLED_ERROR,\n reason: error,\n frames: (0, _parseStack.parseStack)(error.stack),\n componentStackFrames: componentStack ? (0, _parsecomponentstack.parseComponentStack)(componentStack) : undefined,\n warning\n });\n }, [\n dispatch\n ]);\n const handleOnUnhandledRejection = (0, _react.useCallback)((reason)=>{\n dispatch({\n type: _shared.ACTION_UNHANDLED_REJECTION,\n reason: reason,\n frames: (0, _parseStack.parseStack)(reason.stack)\n });\n }, [\n dispatch\n ]);\n const handleOnReactError = (0, _react.useCallback)(()=>{\n _runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError = true;\n }, []);\n (0, _useerrorhandler.useErrorHandler)(handleOnUnhandledError, handleOnUnhandledRejection);\n const webSocketRef = (0, _usewebsocket.useWebsocket)(assetPrefix);\n (0, _usewebsocket.useWebsocketPing)(webSocketRef);\n const sendMessage = (0, _usewebsocket.useSendMessage)(webSocketRef);\n const processTurbopackMessage = (0, _usewebsocket.useTurbopack)(sendMessage, (err)=>performFullReload(err, sendMessage));\n const router = (0, _navigation.useRouter)();\n (0, _react.useEffect)(()=>{\n const websocket = webSocketRef.current;\n if (!websocket) return;\n const handler = (event)=>{\n try {\n const obj = JSON.parse(event.data);\n processMessage(obj, sendMessage, processTurbopackMessage, router, dispatcher);\n } catch (err) {\n var _err_stack;\n console.warn(\"[HMR] Invalid message: \" + event.data + \"\\n\" + ((_err_stack = err == null ? void 0 : err.stack) != null ? _err_stack : \"\"));\n }\n };\n websocket.addEventListener(\"message\", handler);\n return ()=>websocket.removeEventListener(\"message\", handler);\n }, [\n sendMessage,\n router,\n webSocketRef,\n dispatcher,\n processTurbopackMessage\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_ReactDevOverlay.default, {\n onReactError: handleOnReactError,\n state: state,\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hot-reloader-client.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2FwcC9ob3QtcmVsb2FkZXItY2xpZW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7OzJDQWtjQTs7O2VBQXdCQTs7Ozs7bUNBamN5QztnRkFDM0M7NEZBQ1k7d0NBQ1I7b0NBVW5CO3dDQUNvQjtzRkFDQzs2Q0FDSTtpREFDSTswQ0FNN0I7aURBQzZCOzhDQUVRO2dFQUtPO0FBV25ELElBQUlDLDRCQUFpQztBQUNyQyxJQUFJQyxvQkFBb0JDLEtBQUtDLEtBQUssQ0FBQ0QsS0FBS0UsTUFBTSxLQUFLLE1BQU1DLEtBQUtDLEdBQUc7QUFDakUsSUFBSUMsWUFBWTtBQUNoQixJQUFJQyxlQUE4QjtBQUVsQyxTQUFTQyxvQkFBb0JDLFVBQXNCLEVBQUVDLFVBQW1CO0lBQ3RFLElBQUlBLFlBQVk7UUFDZEQsV0FBV0UsZUFBZTtJQUM1QjtBQUNGO0FBRUEsU0FBU0MsY0FDUEgsVUFBc0IsRUFDdEJJLFdBQXNDLEVBQ3RDQyxjQUFxQztJQUVyQ0wsV0FBV00sU0FBUztJQUVwQkMsaUJBQWlCSCxhQUFhQztJQUU5QkwsV0FBV1EsU0FBUztBQUN0QjtBQUVBLFNBQVNELGlCQUNQSCxXQUFzQyxFQUN0Q0MsY0FBcUM7SUFFckMsSUFBSSxDQUFDUCxjQUFjO0lBQ25CLElBQUlXLGFBQWFkLEtBQUtDLEdBQUc7SUFDekIsTUFBTWMsVUFBVUQsYUFBYVg7SUFDN0JhLFFBQVFDLEdBQUcsQ0FBQyw0QkFBMEJGLFVBQVE7SUFDOUNOLFlBQ0VTLEtBQUtDLFNBQVMsQ0FBQztRQUNiQyxPQUFPO1FBQ1BDLElBQUlDLE9BQU8xQixpQkFBaUI7UUFDNUIyQixXQUFXcEI7UUFDWHFCLFNBQVNWO1FBQ1RXLE1BQU1ILE9BQU9JLFFBQVEsQ0FBQ0MsUUFBUTtRQUM5QmpCO1FBQ0Esb0VBQW9FO1FBQ3BFLHNEQUFzRDtRQUN0RGtCLGNBQWNDLFNBQVNDLGVBQWUsS0FBSztJQUM3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L0csVUFBVSxDQUFDeEI7WUFDZixJQUFJO2dCQUNGLE1BQU11RCxNQUFNekQsS0FBS21HLEtBQUssQ0FBQ2pHLE1BQU13RixJQUFJO2dCQUNqQ2xDLGVBQ0VDLEtBQ0FsRSxhQUNBbUUseUJBQ0FDLFFBQ0F4RTtZQUVKLEVBQUUsT0FBTzJDLEtBQVU7b0JBRWtDQTtnQkFEbkRoQyxRQUFRZ0QsSUFBSSxDQUNWLDRCQUE0QjVDLE1BQU13RixJQUFJLEdBQUcsT0FBUTVELENBQUFBLENBQUFBLGFBQUFBLE9BQUFBLE9BQUFBLEtBQUFBLElBQUFBLElBQUtFLEtBQUssWUFBVkYsYUFBYztZQUVuRTtRQUNGO1FBRUEyRyxVQUFVRSxnQkFBZ0IsQ0FBQyxXQUFXakg7UUFDdEMsT0FBTyxJQUFNK0csVUFBVUcsbUJBQW1CLENBQUMsV0FBV2xIO0lBQ3hELEdBQUc7UUFBQ25DO1FBQWFvRTtRQUFRdUU7UUFBYy9JO1FBQVl1RTtLQUF3QjtJQUUzRSxPQUNFLFdBREYsR0FDRSxJQUFBbUYsWUFBQUMsR0FBQSxFQUFDQyxpQkFBQUEsT0FBZTtRQUFDQyxjQUFjaEI7UUFBb0J2QixPQUFPQTtrQkFDdkREOztBQUdQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2FwcC9ob3QtcmVsb2FkZXItY2xpZW50LnRzeD8wZGJhIl0sIm5hbWVzIjpbIkhvdFJlbG9hZCIsIm1vc3RSZWNlbnRDb21waWxhdGlvbkhhc2giLCJfX25leHREZXZDbGllbnRJZCIsIk1hdGgiLCJyb3VuZCIsInJhbmRvbSIsIkRhdGUiLCJub3ciLCJyZWxvYWRpbmciLCJzdGFydExhdGVuY3kiLCJvbkJlZm9yZUZhc3RSZWZyZXNoIiwiZGlzcGF0Y2hlciIsImhhc1VwZGF0ZXMiLCJvbkJlZm9yZVJlZnJlc2giLCJvbkZhc3RSZWZyZXNoIiwic2VuZE1lc3NhZ2UiLCJ1cGRhdGVkTW9kdWxlcyIsIm9uQnVpbGRPayIsInJlcG9ydEhtckxhdGVuY3kiLCJvblJlZnJlc2giLCJlbmRMYXRlbmN5IiwibGF0ZW5jeSIsImNvbnNvbGUiLCJsb2ciLCJKU09OIiwic3RyaW5naWZ5IiwiZXZlbnQiLCJpZCIsIndpbmRvdyIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJwYWdlIiwibG9jYXRpb24iLCJwYXRobmFtZSIsImlzUGFnZUhpZGRlbiIsImRvY3VtZW50IiwidmlzaWJpbGl0eVN0YXRlIiwiaGFuZGxlQXZhaWxhYmxlSGFzaCIsImhhc2giLCJpc1VwZGF0ZUF2YWlsYWJsZSIsInByb2Nlc3MiLCJlbnYiLCJUVVJCT1BBQ0siLCJfX3dlYnBhY2tfaGFzaF9fIiwiY2FuQXBwbHlVcGRhdGVzIiwibW9kdWxlIiwiaG90Iiwic3RhdHVzIiwiYWZ0ZXJBcHBseVVwZGF0ZXMiLCJmbiIsImhhbmRsZXIiLCJyZW1vdmVTdGF0dXNIYW5kbGVyIiwiYWRkU3RhdHVzSGFuZGxlciIsInBlcmZvcm1GdWxsUmVsb2FkIiwiZXJyIiwic3RhY2tUcmFjZSIsInN0YWNrIiwic3BsaXQiLCJzbGljZSIsImpvaW4iLCJtZXNzYWdlIiwiaGFkUnVudGltZUVycm9yIiwiUnVudGltZUVycm9ySGFuZGxlciIsImRlcGVuZGVuY3lDaGFpbiIsInVuZGVmaW5lZCIsInJlbG9hZCIsInRyeUFwcGx5VXBkYXRlcyIsIm9uQmVmb3JlVXBkYXRlIiwib25Ib3RVcGRhdGVTdWNjZXNzIiwiaGFuZGxlQXBwbHlVcGRhdGVzIiwid2FybiIsIlJFQUNUX1JFRlJFU0hfRlVMTF9SRUxPQURfRlJPTV9FUlJPUiIsIkJvb2xlYW4iLCJsZW5ndGgiLCJfX05FWFRfVEVTVF9NT0RFIiwic2VsZiIsIl9fTkVYVF9ITVJfQ0IiLCJjaGVjayIsInRoZW4iLCJhcHBseSIsInByb2Nlc3NNZXNzYWdlIiwib2JqIiwicHJvY2Vzc1R1cmJvcGFja01lc3NhZ2UiLCJyb3V0ZXIiLCJoYW5kbGVFcnJvcnMiLCJlcnJvcnMiLCJmb3JtYXR0ZWQiLCJmb3JtYXRXZWJwYWNrTWVzc2FnZXMiLCJ3YXJuaW5ncyIsIm9uQnVpbGRFcnJvciIsImkiLCJlcnJvciIsInN0cmlwQW5zaSIsImhhbmRsZUhvdFVwZGF0ZSIsIm9uQmVmb3JlSG90VXBkYXRlIiwib25TdWNjZXNzZnVsSG90VXBkYXRlIiwid2VicGFja1VwZGF0ZWRNb2R1bGVzIiwiYWN0aW9uIiwiSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSIiwiQlVJTERJTkciLCJCVUlMVCIsIlNZTkMiLCJvblZlcnNpb25JbmZvIiwidmVyc2lvbkluZm8iLCJoYXNFcnJvcnMiLCJlcnJvckNvdW50IiwiY2xpZW50SWQiLCJoYXNXYXJuaW5ncyIsIndhcm5pbmdDb3VudCIsImZvcm1hdHRlZE1lc3NhZ2VzIiwiVFVSQk9QQUNLX0NPTk5FQ1RFRCIsInR5cGUiLCJUVVJCT1BBQ0tfTUVTU0FHRSIsImV4dHJhY3RNb2R1bGVzRnJvbVR1cmJvcGFja01lc3NhZ2UiLCJkYXRhIiwiU0VSVkVSX0NPTVBPTkVOVF9DSEFOR0VTIiwic3RhcnRUcmFuc2l0aW9uIiwiZmFzdFJlZnJlc2giLCJSRUxPQURfUEFHRSIsIkFEREVEX1BBR0UiLCJSRU1PVkVEX1BBR0UiLCJTRVJWRVJfRVJST1IiLCJlcnJvckpTT04iLCJwYXJzZSIsIkVycm9yIiwiREVWX1BBR0VTX01BTklGRVNUX1VQREFURSIsInBhcmFtIiwiYXNzZXRQcmVmaXgiLCJjaGlsZHJlbiIsInN0YXRlIiwiZGlzcGF0Y2giLCJ1c2VFcnJvck92ZXJsYXlSZWR1Y2VyIiwidXNlTWVtbyIsIkFDVElPTl9CVUlMRF9PSyIsIkFDVElPTl9CVUlMRF9FUlJPUiIsIkFDVElPTl9CRUZPUkVfUkVGUkVTSCIsIkFDVElPTl9SRUZSRVNIIiwiQUNUSU9OX1ZFUlNJT05fSU5GTyIsImhhbmRsZU9uVW5oYW5kbGVkRXJyb3IiLCJ1c2VDYWxsYmFjayIsImVycm9yRGV0YWlscyIsImRldGFpbHMiLCJjb21wb25lbnRTdGFjayIsIndhcm5pbmciLCJBQ1RJT05fVU5IQU5ETEVEX0VSUk9SIiwicmVhc29uIiwiZnJhbWVzIiwicGFyc2VTdGFjayIsImNvbXBvbmVudFN0YWNrRnJhbWVzIiwicGFyc2VDb21wb25lbnRTdGFjayIsImhhbmRsZU9uVW5oYW5kbGVkUmVqZWN0aW9uIiwiQUNUSU9OX1VOSEFORExFRF9SRUpFQ1RJT04iLCJoYW5kbGVPblJlYWN0RXJyb3IiLCJ1c2VFcnJvckhhbmRsZXIiLCJ3ZWJTb2NrZXRSZWYiLCJ1c2VXZWJzb2NrZXQiLCJ1c2VXZWJzb2NrZXRQaW5nIiwidXNlU2VuZE1lc3NhZ2UiLCJ1c2VUdXJib3BhY2siLCJ1c2VSb3V0ZXIiLCJ1c2VFZmZlY3QiLCJ3ZWJzb2NrZXQiLCJjdXJyZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJfanN4cnVudGltZSIsImpzeCIsIlJlYWN0RGV2T3ZlcmxheSIsIm9uUmVhY3RFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js": +/*!***************************************************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js ***! + \***************************************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CodeFrame\", ({\n enumerable: true,\n get: function() {\n return CodeFrame;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _anser = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/anser */ \"(ssr)/./node_modules/next/dist/compiled/anser/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _stackframe = __webpack_require__(/*! ../../helpers/stack-frame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nconst _hotlinkedtext = __webpack_require__(/*! ../hot-linked-text */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst CodeFrame = function CodeFrame(param) {\n let { stackFrame, codeFrame } = param;\n // Strip leading spaces out of the code frame:\n const formattedFrame = _react.useMemo(()=>{\n const lines = codeFrame.split(/\\r?\\n/g);\n // Find the minimum length of leading spaces after `|` in the code frame\n const miniLeadingSpacesLength = lines.map((line)=>/^>? +\\d+ +\\| [ ]+/.exec((0, _stripansi.default)(line)) === null ? null : /^>? +\\d+ +\\| ( *)/.exec((0, _stripansi.default)(line))).filter(Boolean).map((v)=>v.pop()).reduce((c, n)=>isNaN(c) ? n.length : Math.min(c, n.length), NaN);\n // When the minimum length of leading spaces is greater than 1, remove them\n // from the code frame to help the indentation looks better when there's a lot leading spaces.\n if (miniLeadingSpacesLength > 1) {\n return lines.map((line, a)=>~(a = line.indexOf(\"|\")) ? line.substring(0, a) + line.substring(a).replace(\"^\\\\ {\" + miniLeadingSpacesLength + \"}\", \"\") : line).join(\"\\n\");\n }\n return lines.join(\"\\n\");\n }, [\n codeFrame\n ]);\n const decoded = _react.useMemo(()=>{\n return _anser.default.ansiToJson(formattedFrame, {\n json: true,\n use_classes: true,\n remove_empty: true\n });\n }, [\n formattedFrame\n ]);\n const open = (0, _useopenineditor.useOpenInEditor)({\n file: stackFrame.file,\n lineNumber: stackFrame.lineNumber,\n column: stackFrame.column\n });\n // TODO: make the caret absolute\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-codeframe\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"p\", {\n role: \"link\",\n onClick: open,\n tabIndex: 1,\n title: \"Click to open in your editor\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"span\", {\n children: [\n (0, _stackframe.getFrameSource)(stackFrame),\n \" @\",\n \" \",\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: stackFrame.methodName\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"pre\", {\n children: decoded.map((entry, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n style: {\n color: entry.fg ? \"var(--color-\" + entry.fg + \")\" : undefined,\n ...entry.decoration === \"bold\" ? {\n fontWeight: 800\n } : entry.decoration === \"italic\" ? {\n fontStyle: \"italic\"\n } : undefined\n },\n children: entry.content\n }, \"frame-\" + index))\n })\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CodeFrame.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL0NvZGVGcmFtZS5qcyIsIm1hcHBpbmdzIjoiOzs7OzZDQVVhQTs7O2VBQUFBOzs7Ozs7NEVBVks7NkVBQ0s7Z0ZBRUQ7d0NBQ1M7NkNBQ0M7MkNBQ0Y7QUFJdkIsTUFBTUEsWUFBc0MsU0FBU0EsVUFBVUMsS0FHckU7SUFIcUUsTUFDcEVDLFVBQVUsRUFDVkMsU0FBUyxFQUNWLEdBSHFFRjtJQUlwRSw4Q0FBOEM7SUFDOUMsTUFBTUcsaUJBQWlCQyxPQUFNQyxPQUFPLENBQVM7UUFDM0MsTUFBTUMsUUFBUUosVUFBVUssS0FBSyxDQUFDO1FBRTlCLHdFQUF3RTtRQUN4RSxNQUFNQywwQkFBMEJGLE1BQzdCRyxHQUFHLENBQUMsQ0FBQ0MsT0FDSixvQkFBb0JDLElBQUksQ0FBQ0MsQ0FBQUEsR0FBQUEsV0FBQUEsT0FBUyxFQUFDRixXQUFXLE9BQzFDLE9BQ0Esb0JBQW9CQyxJQUFJLENBQUNDLENBQUFBLEdBQUFBLFdBQUFBLE9BQVMsRUFBQ0YsUUFFeENHLE1BQU0sQ0FBQ0MsU0FDUEwsR0FBRyxDQUFDLENBQUNNLElBQU1BLEVBQUdDLEdBQUcsSUFDakJDLE1BQU0sQ0FBQyxDQUFDQyxHQUFHQyxJQUFPQyxNQUFNRixLQUFLQyxFQUFFRSxNQUFNLEdBQUdDLEtBQUtDLEdBQUcsQ0FBQ0wsR0FBR0MsRUFBRUUsTUFBTSxHQUFJRztRQUVuRSwyRUFBMkU7UUFDM0UsOEZBQThGO1FBQzlGLElBQUloQiwwQkFBMEIsR0FBRztZQUMvQixPQUFPRixNQUNKRyxHQUFHLENBQUMsQ0FBQ0MsTUFBTWUsSUFDVixDQUFFQSxDQUFBQSxJQUFJZixLQUFLZ0IsT0FBTyxDQUFDLFFBQ2ZoQixLQUFLaUIsU0FBUyxDQUFDLEdBQUdGLEtBQ2xCZixLQUFLaUIsU0FBUyxDQUFDRixHQUFHRyxPQUFPLENBQUMsVUFBUXBCLDBCQUF3QixLQUFJLE1BQzlERSxNQUVMbUIsSUFBSSxDQUFDO1FBQ1Y7UUFDQSxPQUFPdkIsTUFBTXVCLElBQUksQ0FBQztJQUNwQixHQUFHO1FBQUMzQjtLQUFVO0lBRWQsTUFBTTRCLFVBQVUxQixPQUFNQyxPQUFPLENBQUM7UUFDNUIsT0FBTzBCLE9BQUFBLE9BQUssQ0FBQ0MsVUFBVSxDQUFDN0IsZ0JBQWdCO1lBQ3RDOEIsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLGNBQWM7UUFDaEI7SUFDRixHQUFHO1FBQUNoQztLQUFlO0lBRW5CLE1BQU1pQyxPQUFPQyxDQUFBQSxHQUFBQSxpQkFBQUEsZUFBZSxFQUFDO1FBQzNCQyxNQUFNckMsV0FBV3FDLElBQUk7UUFDckJDLFlBQVl0QyxXQUFXc0MsVUFBVTtRQUNqQ0MsUUFBUXZDLFdBQVd1QyxNQUFNO0lBQzNCO0lBRUEsZ0NBQWdDO0lBQ2hDLE9BQ0UsV0FERixHQUNFLElBQUFDLFlBQUFDLElBQUEsRUFBQ0MsT0FBQUE7UUFBSUMseUJBQXFCOzswQkFDeEIsSUFBQUgsWUFBQUksR0FBQSxFQUFDRixPQUFBQTswQkFDQyxrQkFBQUYsWUFBQUMsSUFBQSxFQUFDSSxLQUFBQTtvQkFDQ0MsTUFBSztvQkFDTEMsU0FBU1o7b0JBQ1RhLFVBQVU7b0JBQ1ZDLE9BQU07O3NDQUVOLElBQUFULFlBQUFDLElBQUEsRUFBQ1MsUUFBQUE7O2dDQUNFQyxDQUFBQSxHQUFBQSxZQUFBQSxjQUFjLEVBQUNuRDtnQ0FBWTtnQ0FBRzs4Q0FDL0IsSUFBQXdDLFlBQUFJLEdBQUEsRUFBQ1EsZUFBQUEsYUFBYTtvQ0FBQ0MsTUFBTXJELFdBQVdzRCxVQUFVOzs7O3NDQUU1QyxJQUFBZCxZQUFBQyxJQUFBLEVBQUNjLE9BQUFBOzRCQUNDQyxPQUFNOzRCQUNOQyxTQUFROzRCQUNSQyxNQUFLOzRCQUNMQyxRQUFPOzRCQUNQQyxhQUFZOzRCQUNaQyxlQUFjOzRCQUNkQyxnQkFBZTs7OENBRWYsSUFBQXRCLFlBQUFJLEdBQUEsRUFBQ21CLFFBQUFBO29DQUFLQyxHQUFFOzs4Q0FDUixJQUFBeEIsWUFBQUksR0FBQSxFQUFDcUIsWUFBQUE7b0NBQVNDLFFBQU87OzhDQUNqQixJQUFBMUIsWUFBQUksR0FBQSxFQUFDbkMsUUFBQUE7b0NBQUswRCxJQUFHO29DQUFLQyxJQUFHO29DQUFLQyxJQUFHO29DQUFLQyxJQUFHOzs7Ozs7OzBCQUl2QyxJQUFBOUIsWUFBQUksR0FBQSxFQUFDMkIsT0FBQUE7MEJBQ0UxQyxRQUFRckIsR0FBRyxDQUFDLENBQUNnRSxPQUFPQyxRQUNuQixXQURtQkEsR0FDbkIsSUFBQWpDLFlBQUFJLEdBQUEsRUFBQ00sUUFBQUE7d0JBRUN3QixPQUFPOzRCQUNMQyxPQUFPSCxNQUFNSSxFQUFFLEdBQUcsaUJBQWVKLE1BQU1JLEVBQUUsR0FBQyxNQUFLQzs0QkFDL0MsR0FBSUwsTUFBTU0sVUFBVSxLQUFLLFNBQ3JCO2dDQUFFQyxZQUFZOzRCQUFJLElBQ2xCUCxNQUFNTSxVQUFVLEtBQUssV0FDckI7Z0NBQUVFLFdBQVc7NEJBQVMsSUFDdEJILFNBQVM7d0JBQ2Y7a0NBRUNMLE1BQU1TLE9BQU87dUJBVlQsV0FBU1I7Ozs7QUFnQjFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL0NvZGVGcmFtZS50c3g/ZGNiNCJdLCJuYW1lcyI6WyJDb2RlRnJhbWUiLCJwYXJhbSIsInN0YWNrRnJhbWUiLCJjb2RlRnJhbWUiLCJmb3JtYXR0ZWRGcmFtZSIsIlJlYWN0IiwidXNlTWVtbyIsImxpbmVzIiwic3BsaXQiLCJtaW5pTGVhZGluZ1NwYWNlc0xlbmd0aCIsIm1hcCIsImxpbmUiLCJleGVjIiwic3RyaXBBbnNpIiwiZmlsdGVyIiwiQm9vbGVhbiIsInYiLCJwb3AiLCJyZWR1Y2UiLCJjIiwibiIsImlzTmFOIiwibGVuZ3RoIiwiTWF0aCIsIm1pbiIsIk5hTiIsImEiLCJpbmRleE9mIiwic3Vic3RyaW5nIiwicmVwbGFjZSIsImpvaW4iLCJkZWNvZGVkIiwiQW5zZXIiLCJhbnNpVG9Kc29uIiwianNvbiIsInVzZV9jbGFzc2VzIiwicmVtb3ZlX2VtcHR5Iiwib3BlbiIsInVzZU9wZW5JbkVkaXRvciIsImZpbGUiLCJsaW5lTnVtYmVyIiwiY29sdW1uIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiZGl2IiwiZGF0YS1uZXh0anMtY29kZWZyYW1lIiwianN4IiwicCIsInJvbGUiLCJvbkNsaWNrIiwidGFiSW5kZXgiLCJ0aXRsZSIsInNwYW4iLCJnZXRGcmFtZVNvdXJjZSIsIkhvdGxpbmtlZFRleHQiLCJ0ZXh0IiwibWV0aG9kTmFtZSIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsInBhdGgiLCJkIiwicG9seWxpbmUiLCJwb2ludHMiLCJ4MSIsInkxIiwieDIiLCJ5MiIsInByZSIsImVudHJ5IiwiaW5kZXgiLCJzdHlsZSIsImNvbG9yIiwiZmciLCJ1bmRlZmluZWQiLCJkZWNvcmF0aW9uIiwiZm9udFdlaWdodCIsImZvbnRTdHlsZSIsImNvbnRlbnQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js": +/*!***********************************************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js ***! + \***********************************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CodeFrame\", ({\n enumerable: true,\n get: function() {\n return _CodeFrame.CodeFrame;\n }\n}));\nconst _CodeFrame = __webpack_require__(/*! ./CodeFrame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7NkNBQVNBOzs7ZUFBQUEsV0FBQUEsU0FBUzs7O3VDQUFRIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL2luZGV4LnRzeD85YTk1Il0sIm5hbWVzIjpbIkNvZGVGcmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js": +/*!************************************************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js ***! + \************************************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-codeframe] {\\n overflow: auto;\\n border-radius: var(--size-gap-half);\\n background-color: var(--color-ansi-bg);\\n color: var(--color-ansi-fg);\\n }\\n [data-nextjs-codeframe]::selection,\\n [data-nextjs-codeframe] *::selection {\\n background-color: var(--color-ansi-selection);\\n }\\n [data-nextjs-codeframe] * {\\n color: inherit;\\n background-color: transparent;\\n font-family: var(--font-stack-monospace);\\n }\\n\\n [data-nextjs-codeframe] > * {\\n margin: 0;\\n padding: calc(var(--size-gap) + var(--size-gap-half))\\n calc(var(--size-gap-double) + var(--size-gap-half));\\n }\\n [data-nextjs-codeframe] > div {\\n display: inline-block;\\n width: auto;\\n min-width: 100%;\\n border-bottom: 1px solid var(--color-ansi-bright-black);\\n }\\n [data-nextjs-codeframe] > div > p {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n cursor: pointer;\\n margin: 0;\\n }\\n [data-nextjs-codeframe] > div > p:hover {\\n text-decoration: underline dotted;\\n }\\n [data-nextjs-codeframe] div > p > svg {\\n width: auto;\\n height: 1em;\\n margin-left: 8px;\\n }\\n [data-nextjs-codeframe] div > pre {\\n overflow: hidden;\\n display: inline-block;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQW1EU0E7OztlQUFBQTs7OzswQ0FuRG1COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9Db2RlRnJhbWUvc3R5bGVzLnRzeD8yNjNhIl0sIm5hbWVzIjpbInN0eWxlcyIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js": +/*!*********************************************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js ***! + \*********************************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Dialog\", ({\n enumerable: true,\n get: function() {\n return Dialog;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _useonclickoutside = __webpack_require__(/*! ../../hooks/use-on-click-outside */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js\");\nconst Dialog = function Dialog(param) {\n let { children, type, onClose, ...props } = param;\n const [dialog, setDialog] = _react.useState(null);\n const [role, setRole] = _react.useState(typeof document !== \"undefined\" && document.hasFocus() ? \"dialog\" : undefined);\n const onDialog = _react.useCallback((node)=>{\n setDialog(node);\n }, []);\n (0, _useonclickoutside.useOnClickOutside)(dialog, (e)=>{\n e.preventDefault();\n return onClose == null ? void 0 : onClose();\n });\n // Make HTMLElements with `role=link` accessible to be triggered by the\n // keyboard, i.e. [Enter].\n _react.useEffect(()=>{\n if (dialog == null) {\n return;\n }\n const root = dialog.getRootNode();\n // Always true, but we do this for TypeScript:\n if (!(root instanceof ShadowRoot)) {\n return;\n }\n const shadowRoot = root;\n function handler(e) {\n const el = shadowRoot.activeElement;\n if (e.key === \"Enter\" && el instanceof HTMLElement && el.getAttribute(\"role\") === \"link\") {\n e.preventDefault();\n e.stopPropagation();\n el.click();\n }\n }\n function handleFocus() {\n // safari will force itself as the active application when a background page triggers any sort of autofocus\n // this is a workaround to only set the dialog role if the document has focus\n setRole(document.hasFocus() ? \"dialog\" : undefined);\n }\n shadowRoot.addEventListener(\"keydown\", handler);\n window.addEventListener(\"focus\", handleFocus);\n window.addEventListener(\"blur\", handleFocus);\n return ()=>{\n shadowRoot.removeEventListener(\"keydown\", handler);\n window.removeEventListener(\"focus\", handleFocus);\n window.removeEventListener(\"blur\", handleFocus);\n };\n }, [\n dialog\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n ref: onDialog,\n \"data-nextjs-dialog\": true,\n tabIndex: -1,\n role: role,\n \"aria-labelledby\": props[\"aria-labelledby\"],\n \"aria-describedby\": props[\"aria-describedby\"],\n \"aria-modal\": \"true\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-banner\": true,\n className: \"banner-\" + type\n }),\n children\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Dialog.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQTBGU0E7OztlQUFBQTs7Ozs7NkVBMUZjOytDQUNXO0FBVWxDLE1BQU1BLFNBQWdDLFNBQVNBLE9BQU9DLEtBS3JEO0lBTHFELE1BQ3BEQyxRQUFRLEVBQ1JDLElBQUksRUFDSkMsT0FBTyxFQUNQLEdBQUdDLE9BQ0osR0FMcURKO0lBTXBELE1BQU0sQ0FBQ0ssUUFBUUMsVUFBVSxHQUFHQyxPQUFNQyxRQUFRLENBQXdCO0lBQ2xFLE1BQU0sQ0FBQ0MsTUFBTUMsUUFBUSxHQUFHSCxPQUFNQyxRQUFRLENBQ3BDLE9BQU9HLGFBQWEsZUFBZUEsU0FBU0MsUUFBUSxLQUNoRCxXQUNBQztJQUVOLE1BQU1DLFdBQVdQLE9BQU1RLFdBQVcsQ0FBQyxDQUFDQztRQUNsQ1YsVUFBVVU7SUFDWixHQUFHLEVBQUU7SUFDTEMsQ0FBQUEsR0FBQUEsbUJBQUFBLGlCQUFpQixFQUFDWixRQUFRLENBQUNhO1FBQ3pCQSxFQUFFQyxjQUFjO1FBQ2hCLE9BQU9oQixXQUFBQSxPQUFBQSxLQUFBQSxJQUFBQTtJQUNUO0lBRUEsdUVBQXVFO0lBQ3ZFLDBCQUEwQjtJQUMxQkksT0FBTWEsU0FBUyxDQUFDO1FBQ2QsSUFBSWYsVUFBVSxNQUFNO1lBQ2xCO1FBQ0Y7UUFFQSxNQUFNZ0IsT0FBT2hCLE9BQU9pQixXQUFXO1FBQy9CLDhDQUE4QztRQUM5QyxJQUFJLENBQUVELENBQUFBLGdCQUFnQkUsVUFBQUEsR0FBYTtZQUNqQztRQUNGO1FBQ0EsTUFBTUMsYUFBYUg7UUFDbkIsU0FBU0ksUUFBUVAsQ0FBZ0I7WUFDL0IsTUFBTVEsS0FBS0YsV0FBV0csYUFBYTtZQUNuQyxJQUNFVCxFQUFFVSxHQUFHLEtBQUssV0FDVkYsY0FBY0csZUFDZEgsR0FBR0ksWUFBWSxDQUFDLFlBQVksUUFDNUI7Z0JBQ0FaLEVBQUVDLGNBQWM7Z0JBQ2hCRCxFQUFFYSxlQUFlO2dCQUVqQkwsR0FBR00sS0FBSztZQUNWO1FBQ0Y7UUFFQSxTQUFTQztZQUNQLDJHQUEyRztZQUMzRyw2RUFBNkU7WUFDN0V2QixRQUFRQyxTQUFTQyxRQUFRLEtBQUssV0FBV0M7UUFDM0M7UUFFQVcsV0FBV1UsZ0JBQWdCLENBQUMsV0FBV1Q7UUFDdkNVLE9BQU9ELGdCQUFnQixDQUFDLFNBQVNEO1FBQ2pDRSxPQUFPRCxnQkFBZ0IsQ0FBQyxRQUFRRDtRQUNoQyxPQUFPO1lBQ0xULFdBQVdZLG1CQUFtQixDQUFDLFdBQVdYO1lBQzFDVSxPQUFPQyxtQkFBbUIsQ0FBQyxTQUFTSDtZQUNwQ0UsT0FBT0MsbUJBQW1CLENBQUMsUUFBUUg7UUFDckM7SUFDRixHQUFHO1FBQUM1QjtLQUFPO0lBRVgsT0FDRSxXQURGLEdBQ0UsSUFBQWdDLFlBQUFDLElBQUEsRUFBQ0MsT0FBQUE7UUFDQ0MsS0FBSzFCO1FBQ0wyQixzQkFBa0I7UUFDbEJDLFVBQVUsQ0FBQztRQUNYakMsTUFBTUE7UUFDTmtDLG1CQUFpQnZDLEtBQUssQ0FBQyxrQkFBa0I7UUFDekN3QyxvQkFBa0J4QyxLQUFLLENBQUMsbUJBQW1CO1FBQzNDeUMsY0FBVzs7MEJBRVgsSUFBQVIsWUFBQVMsR0FBQSxFQUFDUCxPQUFBQTtnQkFBSVEsNkJBQXlCO2dCQUFDQyxXQUFXLFlBQVU5Qzs7WUFDbkREOzs7QUFHUCIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0RpYWxvZy9EaWFsb2cudHN4PzM4N2QiXSwibmFtZXMiOlsiRGlhbG9nIiwicGFyYW0iLCJjaGlsZHJlbiIsInR5cGUiLCJvbkNsb3NlIiwicHJvcHMiLCJkaWFsb2ciLCJzZXREaWFsb2ciLCJSZWFjdCIsInVzZVN0YXRlIiwicm9sZSIsInNldFJvbGUiLCJkb2N1bWVudCIsImhhc0ZvY3VzIiwidW5kZWZpbmVkIiwib25EaWFsb2ciLCJ1c2VDYWxsYmFjayIsIm5vZGUiLCJ1c2VPbkNsaWNrT3V0c2lkZSIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInVzZUVmZmVjdCIsInJvb3QiLCJnZXRSb290Tm9kZSIsIlNoYWRvd1Jvb3QiLCJzaGFkb3dSb290IiwiaGFuZGxlciIsImVsIiwiYWN0aXZlRWxlbWVudCIsImtleSIsIkhUTUxFbGVtZW50IiwiZ2V0QXR0cmlidXRlIiwic3RvcFByb3BhZ2F0aW9uIiwiY2xpY2siLCJoYW5kbGVGb2N1cyIsImFkZEV2ZW50TGlzdGVuZXIiLCJ3aW5kb3ciLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiZGl2IiwicmVmIiwiZGF0YS1uZXh0anMtZGlhbG9nIiwidGFiSW5kZXgiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwiYXJpYS1tb2RhbCIsImpzeCIsImRhdGEtbmV4dGpzLWRpYWxvZy1iYW5uZXIiLCJjbGFzc05hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js": +/*!*************************************************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js ***! + \*************************************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogBody\", ({\n enumerable: true,\n get: function() {\n return DialogBody;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst DialogBody = function DialogBody(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-body\": true,\n className: className,\n children: children\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogBody.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0JvZHkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs4Q0FrQlNBOzs7ZUFBQUE7Ozs7OzZFQWxCYztBQU92QixNQUFNQSxhQUF3QyxTQUFTQSxXQUFXQyxLQUdqRTtJQUhpRSxNQUNoRUMsUUFBUSxFQUNSQyxTQUFTLEVBQ1YsR0FIaUVGO0lBSWhFLE9BQ0UsV0FERixHQUNFLElBQUFHLFlBQUFDLEdBQUEsRUFBQ0MsT0FBQUE7UUFBSUMsMkJBQXVCO1FBQUNKLFdBQVdBO2tCQUNyQ0Q7O0FBR1AiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nQm9keS50c3g/MDFlYiJdLCJuYW1lcyI6WyJEaWFsb2dCb2R5IiwicGFyYW0iLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsIl9qc3hydW50aW1lIiwianN4IiwiZGl2IiwiZGF0YS1uZXh0anMtZGlhbG9nLWJvZHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js": +/*!****************************************************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js ***! + \****************************************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogContent\", ({\n enumerable: true,\n get: function() {\n return DialogContent;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst DialogContent = function DialogContent(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-content\": true,\n className: className,\n children: children\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogContent.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0NvbnRlbnQuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFrQlNBOzs7ZUFBQUE7Ozs7OzZFQWxCYztBQU92QixNQUFNQSxnQkFBOEMsU0FBU0EsY0FBY0MsS0FHMUU7SUFIMEUsTUFDekVDLFFBQVEsRUFDUkMsU0FBUyxFQUNWLEdBSDBFRjtJQUl6RSxPQUNFLFdBREYsR0FDRSxJQUFBRyxZQUFBQyxHQUFBLEVBQUNDLE9BQUFBO1FBQUlDLDhCQUEwQjtRQUFDSixXQUFXQTtrQkFDeENEOztBQUdQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0NvbnRlbnQudHN4PzE2NzgiXSwibmFtZXMiOlsiRGlhbG9nQ29udGVudCIsInBhcmFtIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJfanN4cnVudGltZSIsImpzeCIsImRpdiIsImRhdGEtbmV4dGpzLWRpYWxvZy1jb250ZW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js": +/*!***************************************************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js ***! + \***************************************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogHeader\", ({\n enumerable: true,\n get: function() {\n return DialogHeader;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst DialogHeader = function DialogHeader(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-header\": true,\n className: className,\n children: children\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogHeader.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0hlYWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7O2dEQWtCU0E7OztlQUFBQTs7Ozs7NkVBbEJjO0FBT3ZCLE1BQU1BLGVBQTRDLFNBQVNBLGFBQWFDLEtBR3ZFO0lBSHVFLE1BQ3RFQyxRQUFRLEVBQ1JDLFNBQVMsRUFDVixHQUh1RUY7SUFJdEUsT0FDRSxXQURGLEdBQ0UsSUFBQUcsWUFBQUMsR0FBQSxFQUFDQyxPQUFBQTtRQUFJQyw2QkFBeUI7UUFBQ0osV0FBV0E7a0JBQ3ZDRDs7QUFHUCIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0RpYWxvZy9EaWFsb2dIZWFkZXIudHN4P2E1ZGIiXSwibmFtZXMiOlsiRGlhbG9nSGVhZGVyIiwicGFyYW0iLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsIl9qc3hydW50aW1lIiwianN4IiwiZGl2IiwiZGF0YS1uZXh0anMtZGlhbG9nLWhlYWRlciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js": +/*!********************************************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js ***! + \********************************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Dialog: function() {\n return _Dialog.Dialog;\n },\n DialogBody: function() {\n return _DialogBody.DialogBody;\n },\n DialogContent: function() {\n return _DialogContent.DialogContent;\n },\n DialogHeader: function() {\n return _DialogHeader.DialogHeader;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _Dialog = __webpack_require__(/*! ./Dialog */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js\");\nconst _DialogBody = __webpack_require__(/*! ./DialogBody */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js\");\nconst _DialogContent = __webpack_require__(/*! ./DialogContent */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js\");\nconst _DialogHeader = __webpack_require__(/*! ./DialogHeader */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js\");\nconst _styles = __webpack_require__(/*! ./styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFTQSxRQUFNO2VBQU5BLFFBQUFBLE1BQU07O0lBQ05DLFlBQVU7ZUFBVkEsWUFBQUEsVUFBVTs7SUFDVkMsZUFBYTtlQUFiQSxlQUFBQSxhQUFhOztJQUNiQyxjQUFZO2VBQVpBLGNBQUFBLFlBQVk7O0lBQ1pDLFFBQU07ZUFBTkEsUUFBQUEsTUFBTTs7O29DQUpRO3dDQUNJOzJDQUNHOzBDQUNEO29DQUNOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL2luZGV4LnRzPzA1ZDIiXSwibmFtZXMiOlsiRGlhbG9nIiwiRGlhbG9nQm9keSIsIkRpYWxvZ0NvbnRlbnQiLCJEaWFsb2dIZWFkZXIiLCJzdHlsZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js": +/*!*********************************************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js ***! + \*********************************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog] {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n margin-right: auto;\\n margin-left: auto;\\n outline: none;\\n background: var(--color-background);\\n border-radius: var(--size-gap);\\n box-shadow: 0 var(--size-gap-half) var(--size-gap-double)\\n rgba(0, 0, 0, 0.25);\\n max-height: calc(100% - 56px);\\n overflow-y: hidden;\\n }\\n\\n @media (max-height: 812px) {\\n [data-nextjs-dialog-overlay] {\\n max-height: calc(100% - 15px);\\n }\\n }\\n\\n @media (min-width: 576px) {\\n [data-nextjs-dialog] {\\n max-width: 540px;\\n box-shadow: 0 var(--size-gap) var(--size-gap-quad) rgba(0, 0, 0, 0.25);\\n }\\n }\\n\\n @media (min-width: 768px) {\\n [data-nextjs-dialog] {\\n max-width: 720px;\\n }\\n }\\n\\n @media (min-width: 992px) {\\n [data-nextjs-dialog] {\\n max-width: 960px;\\n }\\n }\\n\\n [data-nextjs-dialog-banner] {\\n position: relative;\\n }\\n [data-nextjs-dialog-banner].banner-warning {\\n border-color: var(--color-ansi-yellow);\\n }\\n [data-nextjs-dialog-banner].banner-error {\\n border-color: var(--color-ansi-red);\\n }\\n\\n [data-nextjs-dialog-banner]::after {\\n z-index: 2;\\n content: '';\\n position: absolute;\\n top: 0;\\n right: 0;\\n width: 100%;\\n /* banner width: */\\n border-top-width: var(--size-gap-half);\\n border-bottom-width: 0;\\n border-top-style: solid;\\n border-bottom-style: solid;\\n border-top-color: inherit;\\n border-bottom-color: transparent;\\n }\\n\\n [data-nextjs-dialog-content] {\\n overflow-y: auto;\\n border: none;\\n margin: 0;\\n /* calc(padding + banner width offset) */\\n padding: calc(var(--size-gap-double) + var(--size-gap-half))\\n var(--size-gap-double);\\n height: 100%;\\n display: flex;\\n flex-direction: column;\\n }\\n [data-nextjs-dialog-content] > [data-nextjs-dialog-header] {\\n flex-shrink: 0;\\n margin-bottom: var(--size-gap-double);\\n }\\n [data-nextjs-dialog-content] > [data-nextjs-dialog-body] {\\n position: relative;\\n flex: 1 1 auto;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQTBGU0E7OztlQUFBQTs7OzswQ0ExRm1COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvc3R5bGVzLnRzPzE0ZGQiXSwibmFtZXMiOlsic3R5bGVzIiwiY3NzIiwiX3RlbXBsYXRlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js": +/*!***************************************************************************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js ***! + \***************************************************************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"LeftRightDialogHeader\", ({\n enumerable: true,\n get: function() {\n return LeftRightDialogHeader;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _CloseIcon = __webpack_require__(/*! ../../icons/CloseIcon */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\");\nconst LeftRightDialogHeader = function LeftRightDialogHeader(param) {\n let { children, className, previous, next, close } = param;\n const buttonLeft = _react.useRef(null);\n const buttonRight = _react.useRef(null);\n const buttonClose = _react.useRef(null);\n const [nav, setNav] = _react.useState(null);\n const onNav = _react.useCallback((el)=>{\n setNav(el);\n }, []);\n _react.useEffect(()=>{\n if (nav == null) {\n return;\n }\n const root = nav.getRootNode();\n const d = self.document;\n function handler(e) {\n if (e.key === \"ArrowLeft\") {\n e.preventDefault();\n e.stopPropagation();\n if (buttonLeft.current) {\n buttonLeft.current.focus();\n }\n previous && previous();\n } else if (e.key === \"ArrowRight\") {\n e.preventDefault();\n e.stopPropagation();\n if (buttonRight.current) {\n buttonRight.current.focus();\n }\n next && next();\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n e.stopPropagation();\n if (root instanceof ShadowRoot) {\n const a = root.activeElement;\n if (a && a !== buttonClose.current && a instanceof HTMLElement) {\n a.blur();\n return;\n }\n }\n close == null ? void 0 : close();\n }\n }\n root.addEventListener(\"keydown\", handler);\n if (root !== d) {\n d.addEventListener(\"keydown\", handler);\n }\n return function() {\n root.removeEventListener(\"keydown\", handler);\n if (root !== d) {\n d.removeEventListener(\"keydown\", handler);\n }\n };\n }, [\n close,\n nav,\n next,\n previous\n ]);\n // Unlock focus for browsers like Firefox, that break all user focus if the\n // currently focused item becomes disabled.\n _react.useEffect(()=>{\n if (nav == null) {\n return;\n }\n const root = nav.getRootNode();\n // Always true, but we do this for TypeScript:\n if (root instanceof ShadowRoot) {\n const a = root.activeElement;\n if (previous == null) {\n if (buttonLeft.current && a === buttonLeft.current) {\n buttonLeft.current.blur();\n }\n } else if (next == null) {\n if (buttonRight.current && a === buttonRight.current) {\n buttonRight.current.blur();\n }\n }\n }\n }, [\n nav,\n next,\n previous\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-dialog-left-right\": true,\n className: className,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"nav\", {\n ref: onNav,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n ref: buttonLeft,\n type: \"button\",\n disabled: previous == null ? true : undefined,\n \"aria-disabled\": previous == null ? true : undefined,\n onClick: previous != null ? previous : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: \"previous\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6.99996 1.16666L1.16663 6.99999L6.99996 12.8333M12.8333 6.99999H1.99996H12.8333Z\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n ref: buttonRight,\n type: \"button\",\n disabled: next == null ? true : undefined,\n \"aria-disabled\": next == null ? true : undefined,\n onClick: next != null ? next : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: \"next\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6.99996 1.16666L12.8333 6.99999L6.99996 12.8333M1.16663 6.99999H12H1.16663Z\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n })\n }),\n children\n ]\n }),\n close ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n \"data-nextjs-errors-dialog-left-right-close-button\": true,\n ref: buttonClose,\n type: \"button\",\n onClick: close,\n \"aria-label\": \"Close\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"aria-hidden\": \"true\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CloseIcon.CloseIcon, {})\n })\n }) : null\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=LeftRightDialogHeader.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL0xlZnRSaWdodERpYWxvZ0hlYWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7O3lEQXdLU0E7OztlQUFBQTs7Ozs7NkVBeEtjO3VDQUNHO0FBVTFCLE1BQU1BLHdCQUNKLFNBQVNBLHNCQUFzQkMsS0FNOUI7SUFOOEIsTUFDN0JDLFFBQVEsRUFDUkMsU0FBUyxFQUNUQyxRQUFRLEVBQ1JDLElBQUksRUFDSkMsS0FBSyxFQUNOLEdBTjhCTDtJQU83QixNQUFNTSxhQUFhQyxPQUFNQyxNQUFNLENBQTJCO0lBQzFELE1BQU1DLGNBQWNGLE9BQU1DLE1BQU0sQ0FBMkI7SUFDM0QsTUFBTUUsY0FBY0gsT0FBTUMsTUFBTSxDQUEyQjtJQUUzRCxNQUFNLENBQUNHLEtBQUtDLE9BQU8sR0FBR0wsT0FBTU0sUUFBUSxDQUFxQjtJQUN6RCxNQUFNQyxRQUFRUCxPQUFNUSxXQUFXLENBQUMsQ0FBQ0M7UUFDL0JKLE9BQU9JO0lBQ1QsR0FBRyxFQUFFO0lBRUxULE9BQU1VLFNBQVMsQ0FBQztRQUNkLElBQUlOLE9BQU8sTUFBTTtZQUNmO1FBQ0Y7UUFFQSxNQUFNTyxPQUFPUCxJQUFJUSxXQUFXO1FBQzVCLE1BQU1DLElBQUlDLEtBQUtDLFFBQVE7UUFFdkIsU0FBU0MsUUFBUUMsQ0FBZ0I7WUFDL0IsSUFBSUEsRUFBRUMsR0FBRyxLQUFLLGFBQWE7Z0JBQ3pCRCxFQUFFRSxjQUFjO2dCQUNoQkYsRUFBRUcsZUFBZTtnQkFDakIsSUFBSXJCLFdBQVdzQixPQUFPLEVBQUU7b0JBQ3RCdEIsV0FBV3NCLE9BQU8sQ0FBQ0MsS0FBSztnQkFDMUI7Z0JBQ0ExQixZQUFZQTtZQUNkLE9BQU8sSUFBSXFCLEVBQUVDLEdBQUcsS0FBSyxjQUFjO2dCQUNqQ0QsRUFBRUUsY0FBYztnQkFDaEJGLEVBQUVH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QUVOLElBQUFmLFlBQUFLLEdBQUEsRUFBQ1csU0FBQUE7OENBQU07OzhDQUNQLElBQUFoQixZQUFBSyxHQUFBLEVBQUNZLFFBQUFBO29DQUNDbEMsR0FBRTtvQ0FDRm1DLFFBQU87b0NBQ1BDLGFBQVk7b0NBQ1pDLGVBQWM7b0NBQ2RDLGdCQUFlOzs7OztvQkFJcEJ6RDs7O1lBRUZJLFFBQ0MsV0FEREEsR0FDQyxJQUFBZ0MsWUFBQUssR0FBQSxFQUFDQyxVQUFBQTtnQkFDQ2dCLHFEQUFpRDtnQkFDakRsQixLQUFLL0I7Z0JBQ0xrQyxNQUFLO2dCQUNMSSxTQUFTM0M7Z0JBQ1R1RCxjQUFXOzBCQUVYLGtCQUFBdkIsWUFBQUssR0FBQSxFQUFDbUIsUUFBQUE7b0JBQUtDLGVBQVk7OEJBQ2hCLGtCQUFBekIsWUFBQUssR0FBQSxFQUFDcUIsV0FBQUEsU0FBUzs7aUJBR1o7OztBQUdWIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGVhcm5pbmctcGxhdGZvcm0tZnJvbnRlbmQvLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL0xlZnRSaWdodERpYWxvZ0hlYWRlci50c3g/ZTM5MCJdLCJuYW1lcyI6WyJMZWZ0UmlnaHREaWFsb2dIZWFkZXIiLCJwYXJhbSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwicHJldmlvdXMiLCJuZXh0IiwiY2xvc2UiLCJidXR0b25MZWZ0IiwiUmVhY3QiLCJ1c2VSZWYiLCJidXR0b25SaWdodCIsImJ1dHRvbkNsb3NlIiwibmF2Iiwic2V0TmF2IiwidXNlU3RhdGUiLCJvbk5hdiIsInVzZUNhbGxiYWNrIiwiZWwiLCJ1c2VFZmZlY3QiLCJyb290IiwiZ2V0Um9vdE5vZGUiLCJkIiwic2VsZiIsImRvY3VtZW50IiwiaGFuZGxlciIsImUiLCJrZXkiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsImN1cnJlbnQiLCJmb2N1cyIsIlNoYWRvd1Jvb3QiLCJhIiwiYWN0aXZlRWxlbWVudCIsIkhUTUxFbGVtZW50IiwiYmx1ciIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiZGl2IiwiZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHQiLCJyZWYiLCJqc3giLCJidXR0b24iLCJ0eXBlIiwiZGlzYWJsZWQiLCJ1bmRlZmluZWQiLCJhcmlhLWRpc2FibGVkIiwib25DbGljayIsInN2ZyIsInZpZXdCb3giLCJmaWxsIiwieG1sbnMiLCJ0aXRsZSIsInBhdGgiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImRhdGEtbmV4dGpzLWVycm9ycy1kaWFsb2ctbGVmdC1yaWdodC1jbG9zZS1idXR0b24iLCJhcmlhLWxhYmVsIiwic3BhbiIsImFyaWEtaGlkZGVuIiwiQ2xvc2VJY29uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js": +/*!***********************************************************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js ***! + \***********************************************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n LeftRightDialogHeader: function() {\n return _LeftRightDialogHeader.LeftRightDialogHeader;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _LeftRightDialogHeader = __webpack_require__(/*! ./LeftRightDialogHeader */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js\");\nconst _styles = __webpack_require__(/*! ./styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFTQSx1QkFBcUI7ZUFBckJBLHVCQUFBQSxxQkFBcUI7O0lBQ3JCQyxRQUFNO2VBQU5BLFFBQUFBLE1BQU07OzttREFEdUI7b0NBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9MZWZ0UmlnaHREaWFsb2dIZWFkZXIvaW5kZXgudHM/NmYyMyJdLCJuYW1lcyI6WyJMZWZ0UmlnaHREaWFsb2dIZWFkZXIiLCJzdHlsZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js": +/*!************************************************************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js ***! + \************************************************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog-left-right] {\\n display: flex;\\n flex-direction: row;\\n align-content: center;\\n align-items: center;\\n justify-content: space-between;\\n }\\n [data-nextjs-dialog-left-right] > nav {\\n flex: 1;\\n display: flex;\\n align-items: center;\\n margin-right: var(--size-gap);\\n }\\n [data-nextjs-dialog-left-right] > nav > button {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n\\n width: calc(var(--size-gap-double) + var(--size-gap));\\n height: calc(var(--size-gap-double) + var(--size-gap));\\n font-size: 0;\\n border: none;\\n background-color: rgba(255, 85, 85, 0.1);\\n color: var(--color-ansi-red);\\n cursor: pointer;\\n transition: background-color 0.25s ease;\\n }\\n [data-nextjs-dialog-left-right] > nav > button > svg {\\n width: auto;\\n height: calc(var(--size-gap) + var(--size-gap-half));\\n }\\n [data-nextjs-dialog-left-right] > nav > button:hover {\\n background-color: rgba(255, 85, 85, 0.2);\\n }\\n [data-nextjs-dialog-left-right] > nav > button:disabled {\\n background-color: rgba(255, 85, 85, 0.1);\\n color: rgba(255, 85, 85, 0.4);\\n cursor: not-allowed;\\n }\\n\\n [data-nextjs-dialog-left-right] > nav > button:first-of-type {\\n border-radius: var(--size-gap-half) 0 0 var(--size-gap-half);\\n margin-right: 1px;\\n }\\n [data-nextjs-dialog-left-right] > nav > button:last-of-type {\\n border-radius: 0 var(--size-gap-half) var(--size-gap-half) 0;\\n }\\n\\n [data-nextjs-dialog-left-right] > button:last-of-type {\\n border: 0;\\n padding: 0;\\n\\n background-color: transparent;\\n appearance: none;\\n\\n opacity: 0.4;\\n transition: opacity 0.25s ease;\\n\\n color: var(--color-font);\\n }\\n [data-nextjs-dialog-left-right] > button:last-of-type:hover {\\n opacity: 0.7;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQW9FU0E7OztlQUFBQTs7OzswQ0FwRW1COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9sZWFybmluZy1wbGF0Zm9ybS1mcm9udGVuZC8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9MZWZ0UmlnaHREaWFsb2dIZWFkZXIvc3R5bGVzLnRzP2RkOGUiXSwibmFtZXMiOlsic3R5bGVzIiwiY3NzIiwiX3RlbXBsYXRlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js": +/*!***********************************************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js ***! + \***********************************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Overlay\", ({\n enumerable: true,\n get: function() {\n return Overlay;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _maintaintabfocus = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./maintain--tab-focus */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _bodylocker = __webpack_require__(/*! ./body-locker */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js\");\nconst Overlay = function Overlay(param) {\n let { className, children, fixed } = param;\n _react.useEffect(()=>{\n (0, _bodylocker.lock)();\n return ()=>{\n (0, _bodylocker.unlock)();\n };\n }, []);\n const [overlay, setOverlay] = _react.useState(null);\n const onOverlay = _react.useCallback((el)=>{\n setOverlay(el);\n }, []);\n _react.useEffect(()=>{\n if (overlay == null) {\n return;\n }\n const handle2 = (0, _maintaintabfocus.default)({\n context: overlay\n });\n return ()=>{\n handle2.disengage();\n };\n }, [\n overlay\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-dialog-overlay\": true,\n className: className,\n ref: onOverlay,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-backdrop\": true,\n \"data-nextjs-dialog-backdrop-fixed\": fixed ? true : undefined\n }),\n children\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Overlay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9PdmVybGF5LmpzIiwibWFwcGluZ3MiOiI7Ozs7MkNBaURTQTs7O2VBQUFBOzs7Ozs7dUZBakRZOzZFQUNFO3dDQUNNO0FBUTdCLE1BQU1BLFVBQWtDLFNBQVNBLFFBQVFDLEtBSXhEO0lBSndELE1BQ3ZEQyxTQUFTLEVBQ1RDLFFBQVEsRUFDUkMsS0FBSyxFQUNOLEdBSndESDtJQUt2REksT0FBTUMsU0FBUyxDQUFDO1FBQ2RDLENBQUFBLEdBQUFBLFlBQUFBLElBQUk7UUFDSixPQUFPO1lBQ0xDLENBQUFBLEdBQUFBLFlBQUFBLE1BQU07UUFDUjtJQUNGLEdBQUcsRUFBRTtJQUVMLE1BQU0sQ0FBQ0MsU0FBU0MsV0FBVyxHQUFHTCxPQUFNTSxRQUFRLENBQXdCO0lBQ3BFLE1BQU1DLFlBQVlQLE9BQU1RLFdBQVcsQ0FBQyxDQUFDQztRQUNuQ0osV0FBV0k7SUFDYixHQUFHLEVBQUU7SUFFTFQsT0FBTUMsU0FBUyxDQUFDO1FBQ2QsSUFBSUcsV0FBVyxNQUFNO1lBQ25CO1FBQ0Y7UUFFQSxNQUFNTSxVQUFVQyxDQUFBQSxHQUFBQSxrQkFBQUEsT0FBUSxFQUFDO1lBQUVDLFNBQVNSO1FBQVE7UUFDNUMsT0FBTztZQUNMTSxRQUFRRyxTQUFTO1FBQ25CO0lBQ0YsR0FBRztRQUFDVDtLQUFRO0lBRVosT0FDRSxXQURGLEdBQ0UsSUFBQVUsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtRQUFJQyw4QkFBMEI7UUFBQ3BCLFdBQVdBO1FBQVdxQixLQUFLWDs7MEJBQ3pELElBQUFPLFlBQUFLLEdBQUEsRUFBQ0gsT0FBQUE7Z0JBQ0NJLCtCQUEyQjtnQkFDM0JDLHFDQUFtQ3RCLFFBQVEsT0FBT3VCOztZQUVuRHhCOzs7QUFHUCIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL092ZXJsYXkvT3ZlcmxheS50c3g/MTE4OCJdLCJuYW1lcyI6WyJPdmVybGF5IiwicGFyYW0iLCJjbGFzc05hbWUiLCJjaGlsZHJlbiIsImZpeGVkIiwiUmVhY3QiLCJ1c2VFZmZlY3QiLCJsb2NrIiwidW5sb2NrIiwib3ZlcmxheSIsInNldE92ZXJsYXkiLCJ1c2VTdGF0ZSIsIm9uT3ZlcmxheSIsInVzZUNhbGxiYWNrIiwiZWwiLCJoYW5kbGUyIiwiYWxseVRyYXAiLCJjb250ZXh0IiwiZGlzZW5nYWdlIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiZGl2IiwiZGF0YS1uZXh0anMtZGlhbG9nLW92ZXJsYXkiLCJyZWYiLCJqc3giLCJkYXRhLW5leHRqcy1kaWFsb2ctYmFja2Ryb3AiLCJkYXRhLW5leHRqcy1kaWFsb2ctYmFja2Ryb3AtZml4ZWQiLCJ1bmRlZmluZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js": +/*!***************************************************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js ***! + \***************************************************************************************************************/ +/***/ ((module, exports) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n lock: function() {\n return lock;\n },\n unlock: function() {\n return unlock;\n }\n});\nlet previousBodyPaddingRight;\nlet previousBodyOverflowSetting;\nlet activeLocks = 0;\nfunction lock() {\n setTimeout(()=>{\n if (activeLocks++ > 0) {\n return;\n }\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n if (scrollBarGap > 0) {\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = \"\" + scrollBarGap + \"px\";\n }\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n });\n}\nfunction unlock() {\n setTimeout(()=>{\n if (activeLocks === 0 || --activeLocks !== 0) {\n return;\n }\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight;\n previousBodyPaddingRight = undefined;\n }\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting;\n previousBodyOverflowSetting = undefined;\n }\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=body-locker.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9ib2R5LWxvY2tlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFLZ0JBLE1BQUk7ZUFBSkE7O0lBbUJBQyxRQUFNO2VBQU5BOzs7QUF4QmhCLElBQUlDO0FBQ0osSUFBSUM7QUFFSixJQUFJQyxjQUFjO0FBRVgsU0FBU0o7SUFDZEssV0FBVztRQUNULElBQUlELGdCQUFnQixHQUFHO1lBQ3JCO1FBQ0Y7UUFFQSxNQUFNRSxlQUNKQyxPQUFPQyxVQUFVLEdBQUdDLFNBQVNDLGVBQWUsQ0FBQ0MsV0FBVztRQUUxRCxJQUFJTCxlQUFlLEdBQUc7WUFDcEJKLDJCQUEyQk8sU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNDLFlBQVk7WUFDM0RMLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxZQUFZLEdBQUcsS0FBR1IsZUFBYTtRQUNyRDtRQUVBSCw4QkFBOEJNLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDRSxRQUFRO1FBQzFETixTQUFTRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0UsUUFBUSxHQUFHO0lBQ2pDO0FBQ0Y7QUFFTyxTQUFTZDtJQUNkSSxXQUFXO1FBQ1QsSUFBSUQsZ0JBQWdCLEtBQUssRUFBRUEsZ0JBQWdCLEdBQUc7WUFDNUM7UUFDRjtRQUVBLElBQUlGLDZCQUE2QmMsV0FBVztZQUMxQ1AsU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNDLFlBQVksR0FBR1o7WUFDbkNBLDJCQUEyQmM7UUFDN0I7UUFFQSxJQUFJYixnQ0FBZ0NhLFdBQVc7WUFDN0NQLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDRSxRQUFRLEdBQUdaO1lBQy9CQSw4QkFBOEJhO1FBQ2hDO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL092ZXJsYXkvYm9keS1sb2NrZXIudHM/NmJjOSJdLCJuYW1lcyI6WyJsb2NrIiwidW5sb2NrIiwicHJldmlvdXNCb2R5UGFkZGluZ1JpZ2h0IiwicHJldmlvdXNCb2R5T3ZlcmZsb3dTZXR0aW5nIiwiYWN0aXZlTG9ja3MiLCJzZXRUaW1lb3V0Iiwic2Nyb2xsQmFyR2FwIiwid2luZG93IiwiaW5uZXJXaWR0aCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiY2xpZW50V2lkdGgiLCJib2R5Iiwic3R5bGUiLCJwYWRkaW5nUmlnaHQiLCJvdmVyZmxvdyIsInVuZGVmaW5lZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js": +/*!*********************************************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js ***! + \*********************************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Overlay\", ({\n enumerable: true,\n get: function() {\n return _Overlay.Overlay;\n }\n}));\nconst _Overlay = __webpack_require__(/*! ./Overlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7OzJDQUFTQTs7O2VBQUFBLFNBQUFBLE9BQU87OztxQ0FBUSIsInNvdXJjZXMiOlsid2VicGFjazovL2xlYXJuaW5nLXBsYXRmb3JtLWZyb250ZW5kLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL092ZXJsYXkvaW5kZXgudHN4P2Q0MmIiXSwibmFtZXMiOlsiT3ZlcmxheSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\n"); + +/***/ }), + +/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js": +/*!***********************************************************************************************************************!*\ + !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js ***! + \***********************************************************************************************************************/ +/***/ ((module, exports, __webpack_require__) => { + +"use strict"; +eval("/* eslint-disable */ // @ts-nocheck\n// Copied from https://github.com/medialize/ally.js\n// License: MIT\n// Copyright (c) 2015 Rodney Rehm\n//\n// Entrypoint: ally.js/maintain/tab-focus\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _platform = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/platform */ \"(ssr)/./node_modules/next/dist/compiled/platform/platform.js\"));\nconst _cssescape = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/css.escape */ \"(ssr)/./node_modules/next/dist/compiled/css.escape/css.escape.js\"));\n// input may be undefined, selector-tring, Node, NodeList, HTMLCollection, array of Nodes\n// yes, to some extent this is a bad replica of jQuery's constructor function\nfunction nodeArray(input) {\n if (!input) {\n return [];\n }\n if (Array.isArray(input)) {\n return input;\n }\n // instanceof Node - does not work with iframes\n if (input.nodeType !== undefined) {\n return [\n input\n ];\n }\n if (typeof input === \"string\") {\n input = document.querySelectorAll(input);\n }\n if (input.length !== undefined) {\n return [].slice.call(input, 0);\n }\n throw new TypeError(\"unexpected input \" + String(input));\n}\nfunction contextToElement(_ref) {\n var context = _ref.context, _ref$label = _ref.label, label = _ref$label === undefined ? \"context-to-element\" : _ref$label, resolveDocument = _ref.resolveDocument, defaultToDocument = _ref.defaultToDocument;\n var element = nodeArray(context)[0];\n if (resolveDocument && element && element.nodeType === Node.DOCUMENT_NODE) {\n element = element.documentElement;\n }\n if (!element && defaultToDocument) {\n return document.documentElement;\n }\n if (!element) {\n throw new TypeError(label + \" requires valid options.context\");\n }\n if (element.nodeType !== Node.ELEMENT_NODE && element.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {\n throw new TypeError(label + \" requires options.context to be an Element\");\n }\n return element;\n}\nfunction getShadowHost() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context;\n var element = contextToElement({\n label: \"get/shadow-host\",\n context: context\n });\n // walk up to the root\n var container = null;\n while(element){\n container = element;\n element = element.parentNode;\n }\n // https://developer.mozilla.org/docs/Web/API/Node.nodeType\n // NOTE: Firefox 34 does not expose ShadowRoot.host (but 37 does)\n if (container.nodeType === container.DOCUMENT_FRAGMENT_NODE && container.host) {\n // the root is attached to a fragment node that has a host\n return container.host;\n }\n return null;\n}\nfunction getDocument(node) {\n if (!node) {\n return document;\n }\n if (node.nodeType === Node.DOCUMENT_NODE) {\n return node;\n }\n return node.ownerDocument || document;\n}\nfunction isActiveElement(context) {\n var element = contextToElement({\n label: \"is/active-element\",\n resolveDocument: true,\n context: context\n });\n var _document = getDocument(element);\n if (_document.activeElement === element) {\n return true;\n }\n var shadowHost = getShadowHost({\n context: element\n });\n if (shadowHost && shadowHost.shadowRoot.activeElement === element) {\n return true;\n }\n return false;\n}\n// [elem, elem.parent, elem.parent.parent, …, html]\n// will not contain the shadowRoot (DOCUMENT_FRAGMENT_NODE) and shadowHost\nfunction getParents() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context;\n var list = [];\n var element = contextToElement({\n label: \"get/parents\",\n context: context\n });\n while(element){\n list.push(element);\n // IE does know support parentElement on SVGElement\n element = element.parentNode;\n if (element && element.nodeType !== Node.ELEMENT_NODE) {\n element = null;\n }\n }\n return list;\n}\n// Element.prototype.matches may be available at a different name\n// https://developer.mozilla.org/en/docs/Web/API/Element/matches\nvar names = [\n \"matches\",\n \"webkitMatchesSelector\",\n \"mozMatchesSelector\",\n \"msMatchesSelector\"\n];\nvar name = null;\nfunction findMethodName(element) {\n names.some(function(_name) {\n if (!element[_name]) {\n return false;\n }\n name = _name;\n return true;\n });\n}\nfunction elementMatches(element, selector) {\n if (!name) {\n findMethodName(element);\n }\n return element[name](selector);\n}\n// deep clone of original platform\nvar platform = JSON.parse(JSON.stringify(_platform.default));\n// operating system\nvar os = platform.os.family || \"\";\nvar ANDROID = os === \"Android\";\nvar WINDOWS = os.slice(0, 7) === \"Windows\";\nvar OSX = os === \"OS X\";\nvar IOS = os === \"iOS\";\n// layout\nvar BLINK = platform.layout === \"Blink\";\nvar GECKO = platform.layout === \"Gecko\";\nvar TRIDENT = platform.layout === \"Trident\";\nvar EDGE = platform.layout === \"EdgeHTML\";\nvar WEBKIT = platform.layout === \"WebKit\";\n// browser version (not layout engine version!)\nvar version = parseFloat(platform.version);\nvar majorVersion = Math.floor(version);\nplatform.majorVersion = majorVersion;\nplatform.is = {\n // operating system\n ANDROID: ANDROID,\n WINDOWS: WINDOWS,\n OSX: OSX,\n IOS: IOS,\n // layout\n BLINK: BLINK,\n GECKO: GECKO,\n TRIDENT: TRIDENT,\n EDGE: EDGE,\n WEBKIT: WEBKIT,\n // INTERNET EXPLORERS\n IE9: TRIDENT && majorVersion === 9,\n IE10: TRIDENT && majorVersion === 10,\n IE11: TRIDENT && majorVersion === 11\n};\nfunction before() {\n var data = {\n // remember what had focus to restore after test\n activeElement: document.activeElement,\n // remember scroll positions to restore after test\n windowScrollTop: window.scrollTop,\n windowScrollLeft: window.scrollLeft,\n bodyScrollTop: document.body.scrollTop,\n bodyScrollLeft: document.body.scrollLeft\n };\n // wrap tests in an element hidden from screen readers to prevent them\n // from announcing focus, which can be quite irritating to the user\n var iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"style\", \"position:absolute; position:fixed; top:0; left:-2px; width:1px; height:1px; overflow:hidden;\");\n iframe.setAttribute(\"aria-live\", \"off\");\n iframe.setAttribute(\"aria-busy\", \"true\");\n iframe.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(iframe);\n var _window = iframe.contentWindow;\n var _document = _window.document;\n _document.open();\n _document.close();\n var wrapper = _document.createElement(\"div\");\n _document.body.appendChild(wrapper);\n data.iframe = iframe;\n data.wrapper = wrapper;\n data.window = _window;\n data.document = _document;\n return data;\n}\n// options.element:\n// {string} element name\n// {function} callback(wrapper, document) to generate an element\n// options.mutate: (optional)\n// {function} callback(element, wrapper, document) to manipulate element prior to focus-test.\n// Can return DOMElement to define focus target (default: element)\n// options.validate: (optional)\n// {function} callback(element, focusTarget, document) to manipulate test-result\nfunction test(data, options) {\n // make sure we operate on a clean slate\n data.wrapper.innerHTML = \"\";\n // create dummy element to test focusability of\n var element = typeof options.element === \"string\" ? data.document.createElement(options.element) : options.element(data.wrapper, data.document);\n // allow callback to further specify dummy element\n // and optionally define element to focus\n var focus = options.mutate && options.mutate(element, data.wrapper, data.document);\n if (!focus && focus !== false) {\n focus = element;\n }\n // element needs to be part of the DOM to be focusable\n !element.parentNode && data.wrapper.appendChild(element);\n // test if the element with invalid tabindex can be focused\n focus && focus.focus && focus.focus();\n // validate test's result\n return options.validate ? options.validate(element, focus, data.document) : data.document.activeElement === focus;\n}\nfunction after(data) {\n // restore focus to what it was before test and cleanup\n if (data.activeElement === document.body) {\n document.activeElement && document.activeElement.blur && document.activeElement.blur();\n if (platform.is.IE10) {\n // IE10 does not redirect focus to when the activeElement is removed\n document.body.focus();\n }\n } else {\n data.activeElement && data.activeElement.focus && data.activeElement.focus();\n }\n document.body.removeChild(data.iframe);\n // restore scroll position\n window.scrollTop = data.windowScrollTop;\n window.scrollLeft = data.windowScrollLeft;\n document.body.scrollTop = data.bodyScrollTop;\n document.body.scrollLeft = data.bodyScrollLeft;\n}\nfunction detectFocus(tests) {\n var data = before();\n var results = {};\n Object.keys(tests).map(function(key) {\n results[key] = test(data, tests[key]);\n });\n after(data);\n return results;\n}\n// this file is overwritten by `npm run build:pre`\nvar version$1 = \"1.4.1\";\n/*\n Facility to cache test results in localStorage.\n\n USAGE:\n cache.get('key');\n cache.set('key', 'value');\n */ function readLocalStorage(key) {\n // allow reading from storage to retrieve previous support results\n // even while the document does not have focus\n var data = void 0;\n try {\n data = window.localStorage && window.localStorage.getItem(key);\n data = data ? JSON.parse(data) : {};\n } catch (e) {\n data = {};\n }\n return data;\n}\nfunction writeLocalStorage(key, value) {\n if (!document.hasFocus()) {\n // if the document does not have focus when tests are executed, focus() may\n // not be handled properly and events may not be dispatched immediately.\n // This can happen when a document is reloaded while Developer Tools have focus.\n try {\n window.localStorage && window.localStorage.removeItem(key);\n } catch (e) {\n // ignore\n }\n return;\n }\n try {\n window.localStorage && window.localStorage.setItem(key, JSON.stringify(value));\n } catch (e) {\n // ignore\n }\n}\nvar userAgent = false || \"\";\nvar cacheKey = \"ally-supports-cache\";\nvar cache = readLocalStorage(cacheKey);\n// update the cache if ally or the user agent changed (newer version, etc)\nif (cache.userAgent !== userAgent || cache.version !== version$1) {\n cache = {};\n}\ncache.userAgent = userAgent;\ncache.version = version$1;\nvar cache$1 = {\n get: function get() {\n return cache;\n },\n set: function set(values) {\n Object.keys(values).forEach(function(key) {\n cache[key] = values[key];\n });\n cache.time = new Date().toISOString();\n writeLocalStorage(cacheKey, cache);\n }\n};\nfunction cssShadowPiercingDeepCombinator() {\n var combinator = void 0;\n // see https://dev.w3.org/csswg/css-scoping-1/#deep-combinator\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1117572\n // https://code.google.com/p/chromium/issues/detail?id=446051\n try {\n document.querySelector(\"html >>> :first-child\");\n combinator = \">>>\";\n } catch (noArrowArrowArrow) {\n try {\n // old syntax supported at least up to Chrome 41\n // https://code.google.com/p/chromium/issues/detail?id=446051\n document.querySelector(\"html /deep/ :first-child\");\n combinator = \"/deep/\";\n } catch (noDeep) {\n combinator = \"\";\n }\n }\n return combinator;\n}\nvar gif = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\";\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaImgTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '' + '' + '\"\"';\n return element.querySelector(\"area\");\n }\n};\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '' + '' + '\"\"';\n return false;\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // fixes https://github.com/medialize/ally.js/issues/35\n // Firefox loads the DataURI asynchronously, causing a false-negative\n return true;\n }\n var focus = element.querySelector(\"area\");\n focus.focus();\n return _document.activeElement === focus;\n }\n};\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaWithoutHref = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '' + '' + '\"\"';\n return element.querySelector(\"area\");\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // fixes https://github.com/medialize/ally.js/issues/35\n // Firefox loads the DataURI asynchronously, causing a false-negative\n return true;\n }\n return _document.activeElement === focusTarget;\n }\n};\nvar focusAudioWithoutControls = {\n name: \"can-focus-audio-without-controls\",\n element: \"audio\",\n mutate: function mutate(element) {\n try {\n // invalid media file can trigger warning in console, data-uri to prevent HTTP request\n element.setAttribute(\"src\", gif);\n } catch (e) {\n // IE9 may throw \"Error: Not implemented\"\n }\n }\n};\nvar invalidGif = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\";\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusBrokenImageMap = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '' + '\"\"';\n return element.querySelector(\"area\");\n }\n};\n// Children of focusable elements with display:flex are focusable in IE10-11\nvar focusChildrenOfFocusableFlexbox = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"-1\");\n element.setAttribute(\"style\", \"display: -webkit-flex; display: -ms-flexbox; display: flex;\");\n element.innerHTML = 'hello';\n return element.querySelector(\"span\");\n }\n};\n// fieldset[tabindex=0][disabled] should not be focusable, but Blink and WebKit disagree\n// @specification https://www.w3.org/TR/html5/disabled-elements.html#concept-element-disabled\n// @browser-issue Chromium https://crbug.com/453847\n// @browser-issue WebKit https://bugs.webkit.org/show_bug.cgi?id=141086\nvar focusFieldsetDisabled = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", 0);\n element.setAttribute(\"disabled\", \"disabled\");\n }\n};\nvar focusFieldset = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.innerHTML = \"legend

content

\";\n }\n};\n// elements with display:flex are focusable in IE10-11\nvar focusFlexboxContainer = {\n element: \"span\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"display: -webkit-flex; display: -ms-flexbox; display: flex;\");\n element.innerHTML = 'hello';\n }\n};\n// form[tabindex=0][disabled] should be focusable as the\n// specification doesn't know the disabled attribute on the form element\n// @specification https://www.w3.org/TR/html5/forms.html#the-form-element\nvar focusFormDisabled = {\n element: \"form\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", 0);\n element.setAttribute(\"disabled\", \"disabled\");\n }\n};\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// fixes https://github.com/medialize/ally.js/issues/20\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-ismap\nvar focusImgIsmap = {\n element: \"a\",\n mutate: function mutate(element) {\n element.href = \"#void\";\n element.innerHTML = '\"\"';\n return element.querySelector(\"img\");\n }\n};\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusImgUsemapTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '' + '\"\"';\n return element.querySelector(\"img\");\n }\n};\nvar focusInHiddenIframe = {\n element: function element(wrapper, _document) {\n var iframe = _document.createElement(\"iframe\");\n // iframe must be part of the DOM before accessing the contentWindow is possible\n wrapper.appendChild(iframe);\n // create the iframe's default document ()\n var iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.close();\n return iframe;\n },\n mutate: function mutate(iframe) {\n iframe.style.visibility = \"hidden\";\n var iframeDocument = iframe.contentWindow.document;\n var input = iframeDocument.createElement(\"input\");\n iframeDocument.body.appendChild(input);\n return input;\n },\n validate: function validate(iframe) {\n var iframeDocument = iframe.contentWindow.document;\n var focus = iframeDocument.querySelector(\"input\");\n return iframeDocument.activeElement === focus;\n }\n};\nvar result = !platform.is.WEBKIT;\nfunction focusInZeroDimensionObject() {\n return result;\n}\n// Firefox allows *any* value and treats invalid values like tabindex=\"-1\"\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\nvar focusInvalidTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"invalid-value\");\n }\n};\nvar focusLabelTabindex = {\n element: \"label\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"-1\");\n },\n validate: function validate(element, focusTarget, _document) {\n // force layout in Chrome 49, otherwise the element won't be focusable\n /* eslint-disable no-unused-vars */ var variableToPreventDeadCodeElimination = element.offsetHeight;\n /* eslint-enable no-unused-vars */ element.focus();\n return _document.activeElement === element;\n }\n};\nvar svg = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtb\" + \"G5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnIj48dGV4dCB4PSIxMCIgeT0iMjAiIGlkPSJ\" + \"zdmctbGluay10ZXh0Ij50ZXh0PC90ZXh0Pjwvc3ZnPg==\";\n// Note: IE10 on BrowserStack does not like this test\nvar focusObjectSvgHidden = {\n element: \"object\",\n mutate: function mutate(element) {\n element.setAttribute(\"type\", \"image/svg+xml\");\n element.setAttribute(\"data\", svg);\n element.setAttribute(\"width\", \"200\");\n element.setAttribute(\"height\", \"50\");\n element.style.visibility = \"hidden\";\n }\n};\n// Note: IE10 on BrowserStack does not like this test\nvar focusObjectSvg = {\n name: \"can-focus-object-svg\",\n element: \"object\",\n mutate: function mutate(element) {\n element.setAttribute(\"type\", \"image/svg+xml\");\n element.setAttribute(\"data\", svg);\n element.setAttribute(\"width\", \"200\");\n element.setAttribute(\"height\", \"50\");\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // Firefox seems to be handling the object creation asynchronously and thereby produces a false negative test result.\n // Because we know Firefox is able to focus object elements referencing SVGs, we simply cheat by sniffing the user agent string\n return true;\n }\n return _document.activeElement === element;\n }\n};\n// Every Environment except IE9 considers SWF objects focusable\nvar result$1 = !platform.is.IE9;\nfunction focusObjectSwf() {\n return result$1;\n}\nvar focusRedirectImgUsemap = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '' + '\"\"';\n // focus the , not the
\n return element.querySelector(\"img\");\n },\n validate: function validate(element, focusTarget, _document) {\n var target = element.querySelector(\"area\");\n return _document.activeElement === target;\n }\n};\n// see https://jsbin.com/nenirisage/edit?html,js,console,output\nvar focusRedirectLegend = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.innerHTML = 'legend';\n // take care of focus in validate();\n return false;\n },\n validate: function validate(element, focusTarget, _document) {\n var focusable = element.querySelector('input[tabindex=\"-1\"]');\n var tabbable = element.querySelector('input[tabindex=\"0\"]');\n // Firefox requires this test to focus the
first, while this is not necessary in\n // https://jsbin.com/nenirisage/edit?html,js,console,output\n element.focus();\n element.querySelector(\"legend\").focus();\n return _document.activeElement === focusable && \"focusable\" || _document.activeElement === tabbable && \"tabbable\" || \"\";\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollBody = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px; overflow: auto;\");\n element.innerHTML = '
scrollable content
';\n return element.querySelector(\"div\");\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollContainerWithoutOverflow = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px;\");\n element.innerHTML = '
scrollable content
';\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollContainer = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px; overflow: auto;\");\n element.innerHTML = '
scrollable content
';\n }\n};\nvar focusSummary = {\n element: \"details\",\n mutate: function mutate(element) {\n element.innerHTML = \"foo

content

\";\n return element.firstElementChild;\n }\n};\nfunction makeFocusableForeignObject() {\n // Constructs \n // without raising a Trusted Types violation\n var foreignObject = document.createElementNS(\"http://www.w3.org/2000/svg\", \"foreignObject\");\n foreignObject.width.baseVal.value = 30;\n foreignObject.height.baseVal.value = 30;\n foreignObject.appendChild(document.createElement(\"input\"));\n foreignObject.lastChild.type = \"text\";\n return foreignObject;\n}\nfunction focusSvgForeignObjectHack(element) {\n // Edge13, Edge14: foreignObject focus hack\n // https://jsbin.com/kunehinugi/edit?html,js,output\n // https://jsbin.com/fajagi/3/edit?html,js,output\n var isSvgElement = element.ownerSVGElement || element.nodeName.toLowerCase() === \"svg\";\n if (!isSvgElement) {\n return false;\n }\n // inject and focus an element into the SVG element to receive focus\n var foreignObject = makeFocusableForeignObject();\n element.appendChild(foreignObject);\n var input = foreignObject.querySelector(\"input\");\n input.focus();\n // upon disabling the activeElement, IE and Edge\n // will not shift focus to like all the other\n // browsers, but instead find the first focusable\n // ancestor and shift focus to that\n input.disabled = true;\n // clean up\n element.removeChild(foreignObject);\n return true;\n}\nfunction generate(element) {\n return '' + element + \"\";\n}\nfunction focus(element) {\n if (element.focus) {\n return;\n }\n try {\n HTMLElement.prototype.focus.call(element);\n } catch (e) {\n focusSvgForeignObjectHack(element);\n }\n}\nfunction validate(element, focusTarget, _document) {\n focus(focusTarget);\n return _document.activeElement === focusTarget;\n}\nvar focusSvgFocusableAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('a');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgTabindexAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('a');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgNegativeTabindexAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('a');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgUseTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate([\n 'link',\n ''\n ].join(\"\"));\n return element.querySelector(\"use\");\n },\n validate: validate\n};\nvar focusSvgForeignobjectTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('');\n // Safari 8's querySelector() can't identify foreignObject, but getElementsByTagName() can\n return element.querySelector(\"foreignObject\") || element.getElementsByTagName(\"foreignObject\")[0];\n },\n validate: validate\n};\n// Firefox seems to be handling the SVG-document-in-iframe creation asynchronously\n// and thereby produces a false negative test result. Thus the test is pointless\n// and we resort to UA sniffing once again.\n// see http://jsbin.com/vunadohoko/1/edit?js,console,output\nvar result$2 = Boolean(platform.is.GECKO && typeof SVGElement !== \"undefined\" && SVGElement.prototype.focus);\nfunction focusSvgInIframe() {\n return result$2;\n}\nvar focusSvg = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate(\"\");\n return element.firstChild;\n },\n validate: validate\n};\n// Firefox allows *any* value and treats invalid values like tabindex=\"-1\"\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\nvar focusTabindexTrailingCharacters = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"3x\");\n }\n};\nvar focusTable = {\n element: \"table\",\n mutate: function mutate(element, wrapper, _document) {\n // IE9 has a problem replacing TBODY contents with innerHTML.\n // https://stackoverflow.com/a/8097055/515124\n // element.innerHTML = 'cell';\n var fragment = _document.createDocumentFragment();\n fragment.innerHTML = \"cell\";\n element.appendChild(fragment);\n }\n};\nvar focusVideoWithoutControls = {\n element: \"video\",\n mutate: function mutate(element) {\n try {\n // invalid media file can trigger warning in console, data-uri to prevent HTTP request\n element.setAttribute(\"src\", gif);\n } catch (e) {\n // IE9 may throw \"Error: Not implemented\"\n }\n }\n};\n// https://jsbin.com/vafaba/3/edit?html,js,console,output\nvar result$3 = platform.is.GECKO || platform.is.TRIDENT || platform.is.EDGE;\nfunction tabsequenceAreaAtImgPosition() {\n return result$3;\n}\nvar testCallbacks = {\n cssShadowPiercingDeepCombinator: cssShadowPiercingDeepCombinator,\n focusInZeroDimensionObject: focusInZeroDimensionObject,\n focusObjectSwf: focusObjectSwf,\n focusSvgInIframe: focusSvgInIframe,\n tabsequenceAreaAtImgPosition: tabsequenceAreaAtImgPosition\n};\nvar testDescriptions = {\n focusAreaImgTabindex: focusAreaImgTabindex,\n focusAreaTabindex: focusAreaTabindex,\n focusAreaWithoutHref: focusAreaWithoutHref,\n focusAudioWithoutControls: focusAudioWithoutControls,\n focusBrokenImageMap: focusBrokenImageMap,\n focusChildrenOfFocusableFlexbox: focusChildrenOfFocusableFlexbox,\n focusFieldsetDisabled: focusFieldsetDisabled,\n focusFieldset: focusFieldset,\n focusFlexboxContainer: focusFlexboxContainer,\n focusFormDisabled: focusFormDisabled,\n focusImgIsmap: focusImgIsmap,\n focusImgUsemapTabindex: focusImgUsemapTabindex,\n focusInHiddenIframe: focusInHiddenIframe,\n focusInvalidTabindex: focusInvalidTabindex,\n focusLabelTabindex: focusLabelTabindex,\n focusObjectSvg: focusObjectSvg,\n focusObjectSvgHidden: focusObjectSvgHidden,\n focusRedirectImgUsemap: focusRedirectImgUsemap,\n focusRedirectLegend: focusRedirectLegend,\n focusScrollBody: focusScrollBody,\n focusScrollContainerWithoutOverflow: focusScrollContainerWithoutOverflow,\n focusScrollContainer: focusScrollContainer,\n focusSummary: focusSummary,\n focusSvgFocusableAttribute: focusSvgFocusableAttribute,\n focusSvgTabindexAttribute: focusSvgTabindexAttribute,\n focusSvgNegativeTabindexAttribute: focusSvgNegativeTabindexAttribute,\n focusSvgUseTabindex: focusSvgUseTabindex,\n focusSvgForeignobjectTabindex: focusSvgForeignobjectTabindex,\n focusSvg: focusSvg,\n focusTabindexTrailingCharacters: focusTabindexTrailingCharacters,\n focusTable: focusTable,\n focusVideoWithoutControls: focusVideoWithoutControls\n};\nfunction executeTests() {\n var results = detectFocus(testDescriptions);\n Object.keys(testCallbacks).forEach(function(key) {\n results[key] = testCallbacks[key]();\n });\n return results;\n}\nvar supportsCache = null;\nfunction _supports() {\n if (supportsCache) {\n return supportsCache;\n }\n supportsCache = cache$1.get();\n if (!supportsCache.time) {\n cache$1.set(executeTests());\n supportsCache = cache$1.get();\n }\n return supportsCache;\n}\nvar supports = void 0;\n// https://www.w3.org/TR/html5/infrastructure.html#rules-for-parsing-integers\n// NOTE: all browsers agree to allow trailing spaces as well\nvar validIntegerPatternNoTrailing = /^\\s*(-|\\+)?[0-9]+\\s*$/;\nvar validIntegerPatternWithTrailing = /^\\s*(-|\\+)?[0-9]+.*$/;\nfunction isValidTabindex(context) {\n if (!supports) {\n supports = _supports();\n }\n var validIntegerPattern = supports.focusTabindexTrailingCharacters ? validIntegerPatternWithTrailing : validIntegerPatternNoTrailing;\n var element = contextToElement({\n label: \"is/valid-tabindex\",\n resolveDocument: true,\n context: context\n });\n // Edge 14 has a capitalization problem on SVG elements,\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/\n var hasTabindex = element.hasAttribute(\"tabindex\");\n var hasTabIndex = element.hasAttribute(\"tabIndex\");\n if (!hasTabindex && !hasTabIndex) {\n return false;\n }\n // older Firefox and Internet Explorer don't support tabindex on SVG elements\n var isSvgElement = element.ownerSVGElement || element.nodeName.toLowerCase() === \"svg\";\n if (isSvgElement && !supports.focusSvgTabindexAttribute) {\n return false;\n }\n // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n if (supports.focusInvalidTabindex) {\n return true;\n }\n // an element matches the tabindex selector even if its value is invalid\n var tabindex = element.getAttribute(hasTabindex ? \"tabindex\" : \"tabIndex\");\n // IE11 parses tabindex=\"\" as the value \"-32768\"\n // @browser-issue Trident https://connect.microsoft.com/IE/feedback/details/1072965\n if (tabindex === \"-32768\") {\n return false;\n }\n return Boolean(tabindex && validIntegerPattern.test(tabindex));\n}\nfunction tabindexValue(element) {\n if (!isValidTabindex(element)) {\n return null;\n }\n // Edge 14 has a capitalization problem on SVG elements,\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/\n var hasTabindex = element.hasAttribute(\"tabindex\");\n var attributeName = hasTabindex ? \"tabindex\" : \"tabIndex\";\n // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n var tabindex = parseInt(element.getAttribute(attributeName), 10);\n return isNaN(tabindex) ? -1 : tabindex;\n}\n// this is a shared utility file for focus-relevant.js and tabbable.js\n// separate testing of this file's functions is not necessary,\n// as they're implicitly tested by way of the consumers\nfunction isUserModifyWritable(style) {\n // https://www.w3.org/TR/1999/WD-css3-userint-19990916#user-modify\n // https://github.com/medialize/ally.js/issues/17\n var userModify = style.webkitUserModify || \"\";\n return Boolean(userModify && userModify.indexOf(\"write\") !== -1);\n}\nfunction hasCssOverflowScroll(style) {\n return [\n style.getPropertyValue(\"overflow\"),\n style.getPropertyValue(\"overflow-x\"),\n style.getPropertyValue(\"overflow-y\")\n ].some(function(overflow) {\n return overflow === \"auto\" || overflow === \"scroll\";\n });\n}\nfunction hasCssDisplayFlex(style) {\n return style.display.indexOf(\"flex\") > -1;\n}\nfunction isScrollableContainer(element, nodeName, parentNodeName, parentStyle) {\n if (nodeName !== \"div\" && nodeName !== \"span\") {\n // Internet Explorer advances scrollable containers and bodies to focusable\n // only if the scrollable container is
or - this does *not*\n // happen for
,
, …\n return false;\n }\n if (parentNodeName && parentNodeName !== \"div\" && parentNodeName !== \"span\" && !hasCssOverflowScroll(parentStyle)) {\n return false;\n }\n return element.offsetHeight < element.scrollHeight || element.offsetWidth < element.scrollWidth;\n}\nvar supports$1 = void 0;\nfunction isFocusRelevantRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n flexbox: false,\n scrollable: false,\n shadow: false\n } : _ref$except;\n if (!supports$1) {\n supports$1 = _supports();\n }\n var element = contextToElement({\n label: \"is/focus-relevant\",\n resolveDocument: true,\n context: context\n });\n if (!except.shadow && element.shadowRoot) {\n // a ShadowDOM host receives focus when the focus moves to its content\n return true;\n }\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"input\" && element.type === \"hidden\") {\n // input[type=\"hidden\"] supports.cannot be focused\n return false;\n }\n if (nodeName === \"input\" || nodeName === \"select\" || nodeName === \"button\" || nodeName === \"textarea\") {\n return true;\n }\n if (nodeName === \"legend\" && supports$1.focusRedirectLegend) {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"label\") {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"area\") {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"a\" && element.hasAttribute(\"href\")) {\n return true;\n }\n if (nodeName === \"object\" && element.hasAttribute(\"usemap\")) {\n // object[usemap] is not focusable in any browser\n return false;\n }\n if (nodeName === \"object\") {\n var svgType = element.getAttribute(\"type\");\n if (!supports$1.focusObjectSvg && svgType === \"image/svg+xml\") {\n // object[type=\"image/svg+xml\"] is not focusable in Internet Explorer\n return false;\n } else if (!supports$1.focusObjectSwf && svgType === \"application/x-shockwave-flash\") {\n // object[type=\"application/x-shockwave-flash\"] is not focusable in Internet Explorer 9\n return false;\n }\n }\n if (nodeName === \"iframe\" || nodeName === \"object\") {\n // browsing context containers\n return true;\n }\n if (nodeName === \"embed\" || nodeName === \"keygen\") {\n // embed is considered focus-relevant but not focusable\n // see https://github.com/medialize/ally.js/issues/82\n return true;\n }\n if (element.hasAttribute(\"contenteditable\")) {\n // also see CSS property user-modify below\n return true;\n }\n if (nodeName === \"audio\" && (supports$1.focusAudioWithoutControls || element.hasAttribute(\"controls\"))) {\n return true;\n }\n if (nodeName === \"video\" && (supports$1.focusVideoWithoutControls || element.hasAttribute(\"controls\"))) {\n return true;\n }\n if (supports$1.focusSummary && nodeName === \"summary\") {\n return true;\n }\n var validTabindex = isValidTabindex(element);\n if (nodeName === \"img\" && element.hasAttribute(\"usemap\")) {\n // Gecko, Trident and Edge do not allow an image with an image map and tabindex to be focused,\n // it appears the tabindex is overruled so focus is still forwarded to the \n return validTabindex && supports$1.focusImgUsemapTabindex || supports$1.focusRedirectImgUsemap;\n }\n if (supports$1.focusTable && (nodeName === \"table\" || nodeName === \"td\")) {\n // IE10-11 supports.can focus and
\n return true;\n }\n if (supports$1.focusFieldset && nodeName === \"fieldset\") {\n // IE10-11 supports.can focus
\n return true;\n }\n var isSvgElement = nodeName === \"svg\";\n var isSvgContent = element.ownerSVGElement;\n var focusableAttribute = element.getAttribute(\"focusable\");\n var tabindex = tabindexValue(element);\n if (nodeName === \"use\" && tabindex !== null && !supports$1.focusSvgUseTabindex) {\n // cannot be made focusable by adding a tabindex attribute anywhere but Blink and WebKit\n return false;\n }\n if (nodeName === \"foreignobject\") {\n // can only be made focusable in Blink and WebKit\n return tabindex !== null && supports$1.focusSvgForeignobjectTabindex;\n }\n if (elementMatches(element, \"svg a\") && element.hasAttribute(\"xlink:href\")) {\n return true;\n }\n if ((isSvgElement || isSvgContent) && element.focus && !supports$1.focusSvgNegativeTabindexAttribute && tabindex < 0) {\n // Firefox 51 and 52 treat any natively tabbable SVG element with\n // tabindex=\"-1\" as tabbable and everything else as inert\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=1302340\n return false;\n }\n if (isSvgElement) {\n return validTabindex || supports$1.focusSvg || supports$1.focusSvgInIframe || // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n Boolean(supports$1.focusSvgFocusableAttribute && focusableAttribute && focusableAttribute === \"true\");\n }\n if (isSvgContent) {\n if (supports$1.focusSvgTabindexAttribute && validTabindex) {\n return true;\n }\n if (supports$1.focusSvgFocusableAttribute) {\n // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n return focusableAttribute === \"true\";\n }\n }\n // https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute\n if (validTabindex) {\n return true;\n }\n var style = window.getComputedStyle(element, null);\n if (isUserModifyWritable(style)) {\n return true;\n }\n if (supports$1.focusImgIsmap && nodeName === \"img\" && element.hasAttribute(\"ismap\")) {\n // IE10-11 considers the in focusable\n // https://github.com/medialize/ally.js/issues/20\n var hasLinkParent = getParents({\n context: element\n }).some(function(parent) {\n return parent.nodeName.toLowerCase() === \"a\" && parent.hasAttribute(\"href\");\n });\n if (hasLinkParent) {\n return true;\n }\n }\n // https://github.com/medialize/ally.js/issues/21\n if (!except.scrollable && supports$1.focusScrollContainer) {\n if (supports$1.focusScrollContainerWithoutOverflow) {\n // Internet Explorer does will consider the scrollable area focusable\n // if the element is a
or a and it is in fact scrollable,\n // regardless of the CSS overflow property\n if (isScrollableContainer(element, nodeName)) {\n return true;\n }\n } else if (hasCssOverflowScroll(style)) {\n // Firefox requires proper overflow setting, IE does not necessarily\n // https://developer.mozilla.org/docs/Web/CSS/overflow\n return true;\n }\n }\n if (!except.flexbox && supports$1.focusFlexboxContainer && hasCssDisplayFlex(style)) {\n // elements with display:flex are focusable in IE10-11\n return true;\n }\n var parent = element.parentElement;\n if (!except.scrollable && parent) {\n var parentNodeName = parent.nodeName.toLowerCase();\n var parentStyle = window.getComputedStyle(parent, null);\n if (supports$1.focusScrollBody && isScrollableContainer(parent, nodeName, parentNodeName, parentStyle)) {\n // scrollable bodies are focusable Internet Explorer\n // https://github.com/medialize/ally.js/issues/21\n return true;\n }\n // Children of focusable elements with display:flex are focusable in IE10-11\n if (supports$1.focusChildrenOfFocusableFlexbox) {\n if (hasCssDisplayFlex(parentStyle)) {\n return true;\n }\n }\n }\n // NOTE: elements marked as inert are not focusable,\n // but that property is not exposed to the DOM\n // https://www.w3.org/TR/html5/editing.html#inert\n return false;\n}\n// bind exceptions to an iterator callback\nisFocusRelevantRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isFocusRelevant = function isFocusRelevant(context) {\n return isFocusRelevantRules({\n context: context,\n except: except\n });\n };\n isFocusRelevant.rules = isFocusRelevantRules;\n return isFocusRelevant;\n};\n// provide isFocusRelevant(context) as default iterator callback\nvar isFocusRelevant = isFocusRelevantRules.except({});\nfunction findIndex(array, callback) {\n // attempt to use native or polyfilled Array#findIndex first\n if (array.findIndex) {\n return array.findIndex(callback);\n }\n var length = array.length;\n // shortcut if the array is empty\n if (length === 0) {\n return -1;\n }\n // otherwise loop over array\n for(var i = 0; i < length; i++){\n if (callback(array[i], i, array)) {\n return i;\n }\n }\n return -1;\n}\nfunction getContentDocument(node) {\n try {\n // works on and