194 lines
117 KiB
JavaScript
194 lines
117 KiB
JavaScript
/*
|
||
* ATTENTION: An "eval-source-map" devtool has been used.
|
||
* This devtool is neither made for production nor for readable output files.
|
||
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
||
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
||
* or disable the default devtool with "devtool: false".
|
||
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
||
*/
|
||
(() => {
|
||
var exports = {};
|
||
exports.id = "app/sectors/page";
|
||
exports.ids = ["app/sectors/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%2Fsectors%2Fpage&page=%2Fsectors%2Fpage&appPaths=%2Fsectors%2Fpage&pagePath=private-next-app-dir%2Fsectors%2Fpage.tsx&appDir=%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend&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%2Fsectors%2Fpage&page=%2Fsectors%2Fpage&appPaths=%2Fsectors%2Fpage&pagePath=private-next-app-dir%2Fsectors%2Fpage.tsx&appDir=%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend&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 'sectors',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/sectors/page.tsx */ \"(rsc)/./src/app/sectors/page.tsx\")), \"/Users/aaron/source_code/astock-agent/frontend/src/app/sectors/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\")), \"/Users/aaron/source_code/astock-agent/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 = [\"/Users/aaron/source_code/astock-agent/frontend/src/app/sectors/page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/sectors/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: \"/sectors/page\",\n pathname: \"/sectors\",\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/bmFtZT1hcHAlMkZzZWN0b3JzJTJGcGFnZSZwYWdlPSUyRnNlY3RvcnMlMkZwYWdlJmFwcFBhdGhzPSUyRnNlY3RvcnMlMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGc2VjdG9ycyUyRnBhZ2UudHN4JmFwcERpcj0lMkZVc2VycyUyRmFhcm9uJTJGc291cmNlX2NvZGUlMkZhc3RvY2stYWdlbnQlMkZmcm9udGVuZCUyRnNyYyUyRmFwcCZwYWdlRXh0ZW5zaW9ucz10c3gmcGFnZUV4dGVuc2lvbnM9dHMmcGFnZUV4dGVuc2lvbnM9anN4JnBhZ2VFeHRlbnNpb25zPWpzJnJvb3REaXI9JTJGVXNlcnMlMkZhYXJvbiUyRnNvdXJjZV9jb2RlJTJGYXN0b2NrLWFnZW50JTJGZnJvbnRlbmQmaXNEZXY9dHJ1ZSZ0c2NvbmZpZ1BhdGg9dHNjb25maWcuanNvbiZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JnByZWZlcnJlZFJlZ2lvbj0mbWlkZGxld2FyZUNvbmZpZz1lMzAlM0QhIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxhQUFhLHNCQUFzQjtBQUNpRTtBQUNyQztBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakMsdUJBQXVCLGdLQUE0RztBQUNuSTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLHlCQUF5QixvSkFBc0c7QUFDL0gsb0JBQW9CLDBOQUFnRjtBQUNwRztBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDdUI7QUFDNkQ7QUFDcEYsNkJBQTZCLG1CQUFtQjtBQUNoRDtBQUNPO0FBQ0E7QUFDUDtBQUNBO0FBQ0E7QUFDdUQ7QUFDdkQ7QUFDTyx3QkFBd0IsOEdBQWtCO0FBQ2pEO0FBQ0EsY0FBYyx5RUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCIsInNvdXJjZXMiOlsid2VicGFjazovL2FzdG9jay1hZ2VudC1mcm9udGVuZC8/MWVjNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcIlRVUkJPUEFDSyB7IHRyYW5zaXRpb246IG5leHQtc3NyIH1cIjtcbmltcG9ydCB7IEFwcFBhZ2VSb3V0ZU1vZHVsZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL21vZHVsZS5jb21waWxlZFwiO1xuaW1wb3J0IHsgUm91dGVLaW5kIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLWtpbmRcIjtcbi8vIFdlIGluamVjdCB0aGUgdHJlZSBhbmQgcGFnZXMgaGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSBpbiB0aGUgcm91dGVcbi8vIG1vZHVsZS5cbmNvbnN0IHRyZWUgPSB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICcnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdzZWN0b3JzJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogWydfX1BBR0VfXycsIHt9LCB7XG4gICAgICAgICAgcGFnZTogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL2Fhcm9uL3NvdXJjZV9jb2RlL2FzdG9jay1hZ2VudC9mcm9udGVuZC9zcmMvYXBwL3NlY3RvcnMvcGFnZS50c3hcIiksIFwiL1VzZXJzL2Fhcm9uL3NvdXJjZV9jb2RlL2FzdG9jay1hZ2VudC9mcm9udGVuZC9zcmMvYXBwL3NlY3RvcnMvcGFnZS50c3hcIl0sXG4gICAgICAgICAgXG4gICAgICAgIH1dXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9hYXJvbi9zb3VyY2VfY29kZS9hc3RvY2stYWdlbnQvZnJvbnRlbmQvc3JjL2FwcC9sYXlvdXQudHN4XCIpLCBcIi9Vc2Vycy9hYXJvbi9zb3VyY2VfY29kZS9hc3RvY2stYWdlbnQvZnJvbnRlbmQvc3JjL2FwcC9sYXlvdXQudHN4XCJdLFxuJ25vdC1mb3VuZCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIiksIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiXSxcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LmNoaWxkcmVuO1xuY29uc3QgcGFnZXMgPSBbXCIvVXNlcnMvYWFyb24vc291cmNlX2NvZGUvYXN0b2NrLWFnZW50L2Zyb250ZW5kL3NyYy9hcHAvc2VjdG9ycy9wYWdlLnRzeFwiXTtcbmV4cG9ydCB7IHRyZWUsIHBhZ2VzIH07XG5leHBvcnQgeyBkZWZhdWx0IGFzIEdsb2JhbEVycm9yIH0gZnJvbSBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9lcnJvci1ib3VuZGFyeVwiO1xuY29uc3QgX19uZXh0X2FwcF9yZXF1aXJlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fXG5jb25zdCBfX25leHRfYXBwX2xvYWRfY2h1bmtfXyA9ICgpID0+IFByb21pc2UucmVzb2x2ZSgpXG5leHBvcnQgY29uc3Qgb3JpZ2luYWxQYXRobmFtZSA9IFwiL3NlY3RvcnMvcGFnZVwiO1xuZXhwb3J0IGNvbnN0IF9fbmV4dF9hcHBfXyA9IHtcbiAgICByZXF1aXJlOiBfX25leHRfYXBwX3JlcXVpcmVfXyxcbiAgICBsb2FkQ2h1bms6IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fXG59O1xuZXhwb3J0ICogZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9lbnRyeS1iYXNlXCI7XG4vLyBDcmVhdGUgYW5kIGV4cG9ydCB0aGUgcm91dGUgbW9kdWxlIHRoYXQgd2lsbCBiZSBjb25zdW1lZC5cbmV4cG9ydCBjb25zdCByb3V0ZU1vZHVsZSA9IG5ldyBBcHBQYWdlUm91dGVNb2R1bGUoe1xuICAgIGRlZmluaXRpb246IHtcbiAgICAgICAga2luZDogUm91dGVLaW5kLkFQUF9QQUdFLFxuICAgICAgICBwYWdlOiBcIi9zZWN0b3JzL3BhZ2VcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL3NlY3RvcnNcIixcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmVuJ3QgdXNlZCBpbiBwcm9kdWN0aW9uLlxuICAgICAgICBidW5kbGVQYXRoOiBcIlwiLFxuICAgICAgICBmaWxlbmFtZTogXCJcIixcbiAgICAgICAgYXBwUGF0aHM6IFtdXG4gICAgfSxcbiAgICB1c2VybGFuZDoge1xuICAgICAgICBsb2FkZXJUcmVlOiB0cmVlXG4gICAgfVxufSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1wYWdlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fsectors%2Fpage&page=%2Fsectors%2Fpage&appPaths=%2Fsectors%2Fpage&pagePath=private-next-app-dir%2Fsectors%2Fpage.tsx&appDir=%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend&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%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-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%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGYWFyb24lMkZzb3VyY2VfY29kZSUyRmFzdG9jay1hZ2VudCUyRmZyb250ZW5kJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRmFhcm9uJTJGc291cmNlX2NvZGUlMkZhc3RvY2stYWdlbnQlMkZmcm9udGVuZCUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmNsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGYWFyb24lMkZzb3VyY2VfY29kZSUyRmFzdG9jay1hZ2VudCUyRmZyb250ZW5kJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZhYXJvbiUyRnNvdXJjZV9jb2RlJTJGYXN0b2NrLWFnZW50JTJGZnJvbnRlbmQlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGYWFyb24lMkZzb3VyY2VfY29kZSUyRmFzdG9jay1hZ2VudCUyRmZyb250ZW5kJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGYWFyb24lMkZzb3VyY2VfY29kZSUyRmFzdG9jay1hZ2VudCUyRmZyb250ZW5kJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQTBJO0FBQzFJO0FBQ0Esb09BQTJJO0FBQzNJO0FBQ0EsME9BQThJO0FBQzlJO0FBQ0Esd09BQTZJO0FBQzdJO0FBQ0Esa1BBQWtKO0FBQ2xKO0FBQ0Esc1FBQTRKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYXN0b2NrLWFnZW50LWZyb250ZW5kLz8zMTdlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL2Fhcm9uL3NvdXJjZV9jb2RlL2FzdG9jay1hZ2VudC9mcm9udGVuZC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9hYXJvbi9zb3VyY2VfY29kZS9hc3RvY2stYWdlbnQvZnJvbnRlbmQvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9jbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL2Fhcm9uL3NvdXJjZV9jb2RlL2FzdG9jay1hZ2VudC9mcm9udGVuZC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvYWFyb24vc291cmNlX2NvZGUvYXN0b2NrLWFnZW50L2Zyb250ZW5kL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbGF5b3V0LXJvdXRlci5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL2Fhcm9uL3NvdXJjZV9jb2RlL2FzdG9jay1hZ2VudC9mcm9udGVuZC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL2Fhcm9uL3NvdXJjZV9jb2RlL2FzdG9jay1hZ2VudC9mcm9udGVuZC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanNcIik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-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%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fsrc%2Fapp%2Fglobals.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%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fsrc%2Fapp%2Fglobals.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?modules=%7B%22request%22%3A%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fsrc%2Fapp%2Fsectors%2Fpage.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%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fsrc%2Fapp%2Fsectors%2Fpage.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/sectors/page.tsx */ \"(ssr)/./src/app/sectors/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGYWFyb24lMkZzb3VyY2VfY29kZSUyRmFzdG9jay1hZ2VudCUyRmZyb250ZW5kJTJGc3JjJTJGYXBwJTJGc2VjdG9ycyUyRnBhZ2UudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxnS0FBNEciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9hc3RvY2stYWdlbnQtZnJvbnRlbmQvP2U1ZWYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvYWFyb24vc291cmNlX2NvZGUvYXN0b2NrLWFnZW50L2Zyb250ZW5kL3NyYy9hcHAvc2VjdG9ycy9wYWdlLnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fsrc%2Fapp%2Fsectors%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(ssr)/./src/app/sectors/page.tsx":
|
||
/*!**********************************!*\
|
||
!*** ./src/app/sectors/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 */ SectorsPage)\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_api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/api */ \"(ssr)/./src/lib/api.ts\");\n/* harmony import */ var _components_sector_heatmap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/sector-heatmap */ \"(ssr)/./src/components/sector-heatmap.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\nfunction SectorsPage() {\n const [sectors, setSectors] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n (0,_lib_api__WEBPACK_IMPORTED_MODULE_2__.fetchAPI)(\"/api/sectors/hot?limit=20\").then(setSectors);\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-5xl mx-auto px-4 md:px-8 pt-6 pb-20 md:pb-10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-5 animate-fade-in-up\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-lg font-bold tracking-tight\",\n children: \"板块分析\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/sectors/page.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-[11px] text-text-muted mt-0.5\",\n children: \"基于资金流向和涨跌表现的热度排名\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/sectors/page.tsx\",\n lineNumber: 19,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/sectors/page.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_sector_heatmap__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n sectors: sectors\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/sectors/page.tsx\",\n lineNumber: 21,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/sectors/page.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvYXBwL3NlY3RvcnMvcGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFNEM7QUFDUDtBQUVtQjtBQUV6QyxTQUFTSTtJQUN0QixNQUFNLENBQUNDLFNBQVNDLFdBQVcsR0FBR0wsK0NBQVFBLENBQWUsRUFBRTtJQUV2REQsZ0RBQVNBLENBQUM7UUFDUkUsa0RBQVFBLENBQWUsNkJBQTZCSyxJQUFJLENBQUNEO0lBQzNELEdBQUcsRUFBRTtJQUVMLHFCQUNFLDhEQUFDRTtRQUFJQyxXQUFVOzswQkFDYiw4REFBQ0Q7Z0JBQUlDLFdBQVU7O2tDQUNiLDhEQUFDQzt3QkFBR0QsV0FBVTtrQ0FBbUM7Ozs7OztrQ0FDakQsOERBQUNFO3dCQUFFRixXQUFVO2tDQUFxQzs7Ozs7Ozs7Ozs7OzBCQUVwRCw4REFBQ04sa0VBQWFBO2dCQUFDRSxTQUFTQTs7Ozs7Ozs7Ozs7O0FBRzlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYXN0b2NrLWFnZW50LWZyb250ZW5kLy4vc3JjL2FwcC9zZWN0b3JzL3BhZ2UudHN4P2UxYzEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGZldGNoQVBJIH0gZnJvbSBcIkAvbGliL2FwaVwiO1xuaW1wb3J0IHR5cGUgeyBTZWN0b3JEYXRhIH0gZnJvbSBcIkAvbGliL2FwaVwiO1xuaW1wb3J0IFNlY3RvckhlYXRtYXAgZnJvbSBcIkAvY29tcG9uZW50cy9zZWN0b3ItaGVhdG1hcFwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBTZWN0b3JzUGFnZSgpIHtcbiAgY29uc3QgW3NlY3RvcnMsIHNldFNlY3RvcnNdID0gdXNlU3RhdGU8U2VjdG9yRGF0YVtdPihbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBmZXRjaEFQSTxTZWN0b3JEYXRhW10+KFwiL2FwaS9zZWN0b3JzL2hvdD9saW1pdD0yMFwiKS50aGVuKHNldFNlY3RvcnMpO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LTV4bCBteC1hdXRvIHB4LTQgbWQ6cHgtOCBwdC02IHBiLTIwIG1kOnBiLTEwXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1iLTUgYW5pbWF0ZS1mYWRlLWluLXVwXCI+XG4gICAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtYm9sZCB0cmFja2luZy10aWdodFwiPuadv+Wdl+WIhuaekDwvaDE+XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtWzExcHhdIHRleHQtdGV4dC1tdXRlZCBtdC0wLjVcIj7ln7rkuo7otYTph5HmtYHlkJHlkozmtqjot4zooajnjrDnmoTng63luqbmjpLlkI08L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxTZWN0b3JIZWF0bWFwIHNlY3RvcnM9e3NlY3RvcnN9IC8+XG4gICAgPC9kaXY+XG4gICk7XG59XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJmZXRjaEFQSSIsIlNlY3RvckhlYXRtYXAiLCJTZWN0b3JzUGFnZSIsInNlY3RvcnMiLCJzZXRTZWN0b3JzIiwidGhlbiIsImRpdiIsImNsYXNzTmFtZSIsImgxIiwicCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/app/sectors/page.tsx\n");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(ssr)/./src/components/sector-heatmap.tsx":
|
||
/*!*******************************************!*\
|
||
!*** ./src/components/sector-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 */ \"default\": () => (/* binding */ SectorHeatmap)\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 _lib_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./src/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\nfunction SectorHeatmap({ sectors }) {\n if (!sectors.length) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"glass-card-static p-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-xs font-semibold text-text-muted uppercase tracking-wider mb-4\",\n children: \"热门板块\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/components/sector-heatmap.tsx\",\n lineNumber: 10,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-text-muted text-center py-6\",\n children: \"暂无数据\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/components/sector-heatmap.tsx\",\n lineNumber: 11,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/components/sector-heatmap.tsx\",\n lineNumber: 9,\n columnNumber: 7\n }, this);\n }\n const maxScore = Math.max(...sectors.map((s)=>s.heat_score));\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"glass-card-static p-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-xs font-semibold text-text-muted uppercase tracking-wider mb-4\",\n children: \"热门板块\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/components/sector-heatmap.tsx\",\n lineNumber: 20,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1.5\",\n children: sectors.map((s, index)=>{\n const intensity = s.heat_score / Math.max(maxScore, 1);\n const isUp = s.pct_change > 0;\n const barColor = isUp ? `rgba(239, 68, 68, ${0.08 + intensity * 0.15})` : `rgba(34, 197, 94, ${0.08 + intensity * 0.15})`;\n const accentColor = isUp ? `rgba(239, 68, 68, ${0.4 + intensity * 0.6})` : `rgba(34, 197, 94, ${0.4 + intensity * 0.6})`;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative rounded-lg overflow-hidden animate-fade-in-up\",\n style: {\n animationDelay: `${index * 50}ms`\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0\",\n style: {\n backgroundColor: barColor\n }\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/components/sector-heatmap.tsx\",\n lineNumber: 38,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute left-0 top-0 bottom-0 w-0.5\",\n style: {\n backgroundColor: accentColor\n }\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/components/sector-heatmap.tsx\",\n lineNumber: 43,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative flex items-center justify-between px-4 py-2.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium\",\n children: s.sector_name\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/components/sector-heatmap.tsx\",\n lineNumber: 49,\n columnNumber: 19\n }, this),\n s.limit_up_count > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] text-text-muted bg-white/[0.04] px-1.5 py-0.5 rounded\",\n children: [\n \"涨停 \",\n s.limit_up_count\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/components/sector-heatmap.tsx\",\n lineNumber: 51,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/components/sector-heatmap.tsx\",\n lineNumber: 48,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3 text-xs\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: `font-mono tabular-nums ${s.capital_inflow > 0 ? \"text-red-400\" : \"text-emerald-400\"}`,\n children: [\n s.capital_inflow > 0 ? \"+\" : \"\",\n (0,_lib_utils__WEBPACK_IMPORTED_MODULE_1__.formatNumber)(s.capital_inflow)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/components/sector-heatmap.tsx\",\n lineNumber: 57,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: `font-mono tabular-nums font-medium ${isUp ? \"text-red-400\" : \"text-emerald-400\"}`,\n children: [\n s.pct_change > 0 ? \"+\" : \"\",\n s.pct_change.toFixed(2),\n \"%\"\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/components/sector-heatmap.tsx\",\n lineNumber: 61,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-orange-400/80 font-mono tabular-nums text-[10px] bg-orange-500/[0.08] px-1.5 py-0.5 rounded\",\n children: s.heat_score.toFixed(0)\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/components/sector-heatmap.tsx\",\n lineNumber: 65,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/components/sector-heatmap.tsx\",\n lineNumber: 56,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/components/sector-heatmap.tsx\",\n lineNumber: 47,\n columnNumber: 15\n }, this)\n ]\n }, s.sector_code, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/components/sector-heatmap.tsx\",\n lineNumber: 32,\n columnNumber: 13\n }, this);\n })\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/components/sector-heatmap.tsx\",\n lineNumber: 21,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/components/sector-heatmap.tsx\",\n lineNumber: 19,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9zZWN0b3ItaGVhdG1hcC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHMkM7QUFFNUIsU0FBU0MsY0FBYyxFQUFFQyxPQUFPLEVBQTZCO0lBQzFFLElBQUksQ0FBQ0EsUUFBUUMsTUFBTSxFQUFFO1FBQ25CLHFCQUNFLDhEQUFDQztZQUFJQyxXQUFVOzs4QkFDYiw4REFBQ0M7b0JBQUdELFdBQVU7OEJBQXNFOzs7Ozs7OEJBQ3BGLDhEQUFDRDtvQkFBSUMsV0FBVTs4QkFBMkM7Ozs7Ozs7Ozs7OztJQUdoRTtJQUVBLE1BQU1FLFdBQVdDLEtBQUtDLEdBQUcsSUFBSVAsUUFBUVEsR0FBRyxDQUFDLENBQUNDLElBQU1BLEVBQUVDLFVBQVU7SUFFNUQscUJBQ0UsOERBQUNSO1FBQUlDLFdBQVU7OzBCQUNiLDhEQUFDQztnQkFBR0QsV0FBVTswQkFBc0U7Ozs7OzswQkFDcEYsOERBQUNEO2dCQUFJQyxXQUFVOzBCQUNaSCxRQUFRUSxHQUFHLENBQUMsQ0FBQ0MsR0FBR0U7b0JBQ2YsTUFBTUMsWUFBWUgsRUFBRUMsVUFBVSxHQUFHSixLQUFLQyxHQUFHLENBQUNGLFVBQVU7b0JBQ3BELE1BQU1RLE9BQU9KLEVBQUVLLFVBQVUsR0FBRztvQkFDNUIsTUFBTUMsV0FBV0YsT0FDYixDQUFDLGtCQUFrQixFQUFFLE9BQU9ELFlBQVksS0FBSyxDQUFDLENBQUMsR0FDL0MsQ0FBQyxrQkFBa0IsRUFBRSxPQUFPQSxZQUFZLEtBQUssQ0FBQyxDQUFDO29CQUNuRCxNQUFNSSxjQUFjSCxPQUNoQixDQUFDLGtCQUFrQixFQUFFLE1BQU1ELFlBQVksSUFBSSxDQUFDLENBQUMsR0FDN0MsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNQSxZQUFZLElBQUksQ0FBQyxDQUFDO29CQUNqRCxxQkFDRSw4REFBQ1Y7d0JBRUNDLFdBQVU7d0JBQ1ZjLE9BQU87NEJBQUVDLGdCQUFnQixDQUFDLEVBQUVQLFFBQVEsR0FBRyxFQUFFLENBQUM7d0JBQUM7OzBDQUczQyw4REFBQ1Q7Z0NBQ0NDLFdBQVU7Z0NBQ1ZjLE9BQU87b0NBQUVFLGlCQUFpQko7Z0NBQVM7Ozs7OzswQ0FHckMsOERBQUNiO2dDQUNDQyxXQUFVO2dDQUNWYyxPQUFPO29DQUFFRSxpQkFBaUJIO2dDQUFZOzs7Ozs7MENBRXhDLDhEQUFDZDtnQ0FBSUMsV0FBVTs7a0RBQ2IsOERBQUNEO3dDQUFJQyxXQUFVOzswREFDYiw4REFBQ2lCO2dEQUFLakIsV0FBVTswREFBdUJNLEVBQUVZLFdBQVc7Ozs7Ozs0Q0FDbkRaLEVBQUVhLGNBQWMsR0FBRyxtQkFDbEIsOERBQUNGO2dEQUFLakIsV0FBVTs7b0RBQW9FO29EQUM5RU0sRUFBRWEsY0FBYzs7Ozs7Ozs7Ozs7OztrREFJMUIsOERBQUNwQjt3Q0FBSUMsV0FBVTs7MERBQ2IsOERBQUNpQjtnREFBS2pCLFdBQVcsQ0FBQyx1QkFBdUIsRUFBRU0sRUFBRWMsY0FBYyxHQUFHLElBQUksaUJBQWlCLG1CQUFtQixDQUFDOztvREFDcEdkLEVBQUVjLGNBQWMsR0FBRyxJQUFJLE1BQU07b0RBQzdCekIsd0RBQVlBLENBQUNXLEVBQUVjLGNBQWM7Ozs7Ozs7MERBRWhDLDhEQUFDSDtnREFBS2pCLFdBQVcsQ0FBQyxtQ0FBbUMsRUFBRVUsT0FBTyxpQkFBaUIsbUJBQW1CLENBQUM7O29EQUNoR0osRUFBRUssVUFBVSxHQUFHLElBQUksTUFBTTtvREFDekJMLEVBQUVLLFVBQVUsQ0FBQ1UsT0FBTyxDQUFDO29EQUFHOzs7Ozs7OzBEQUUzQiw4REFBQ0o7Z0RBQUtqQixXQUFVOzBEQUNiTSxFQUFFQyxVQUFVLENBQUNjLE9BQU8sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt1QkFqQ3ZCZixFQUFFZ0IsV0FBVzs7Ozs7Z0JBdUN4Qjs7Ozs7Ozs7Ozs7O0FBSVIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9hc3RvY2stYWdlbnQtZnJvbnRlbmQvLi9zcmMvY29tcG9uZW50cy9zZWN0b3ItaGVhdG1hcC50c3g/Y2YwYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuaW1wb3J0IHR5cGUgeyBTZWN0b3JEYXRhIH0gZnJvbSBcIkAvbGliL2FwaVwiO1xuaW1wb3J0IHsgZm9ybWF0TnVtYmVyIH0gZnJvbSBcIkAvbGliL3V0aWxzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFNlY3RvckhlYXRtYXAoeyBzZWN0b3JzIH06IHsgc2VjdG9yczogU2VjdG9yRGF0YVtdIH0pIHtcbiAgaWYgKCFzZWN0b3JzLmxlbmd0aCkge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImdsYXNzLWNhcmQtc3RhdGljIHAtNVwiPlxuICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LXNlbWlib2xkIHRleHQtdGV4dC1tdXRlZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXIgbWItNFwiPueDremXqOadv+WdlzwvaDI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXRleHQtbXV0ZWQgdGV4dC1jZW50ZXIgcHktNlwiPuaaguaXoOaVsOaNrjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IG1heFNjb3JlID0gTWF0aC5tYXgoLi4uc2VjdG9ycy5tYXAoKHMpID0+IHMuaGVhdF9zY29yZSkpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJnbGFzcy1jYXJkLXN0YXRpYyBwLTVcIj5cbiAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC10ZXh0LW11dGVkIHVwcGVyY2FzZSB0cmFja2luZy13aWRlciBtYi00XCI+54Ot6Zeo5p2/5Z2XPC9oMj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0xLjVcIj5cbiAgICAgICAge3NlY3RvcnMubWFwKChzLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGludGVuc2l0eSA9IHMuaGVhdF9zY29yZSAvIE1hdGgubWF4KG1heFNjb3JlLCAxKTtcbiAgICAgICAgICBjb25zdCBpc1VwID0gcy5wY3RfY2hhbmdlID4gMDtcbiAgICAgICAgICBjb25zdCBiYXJDb2xvciA9IGlzVXBcbiAgICAgICAgICAgID8gYHJnYmEoMjM5LCA2OCwgNjgsICR7MC4wOCArIGludGVuc2l0eSAqIDAuMTV9KWBcbiAgICAgICAgICAgIDogYHJnYmEoMzQsIDE5NywgOTQsICR7MC4wOCArIGludGVuc2l0eSAqIDAuMTV9KWA7XG4gICAgICAgICAgY29uc3QgYWNjZW50Q29sb3IgPSBpc1VwXG4gICAgICAgICAgICA/IGByZ2JhKDIzOSwgNjgsIDY4LCAkezAuNCArIGludGVuc2l0eSAqIDAuNn0pYFxuICAgICAgICAgICAgOiBgcmdiYSgzNCwgMTk3LCA5NCwgJHswLjQgKyBpbnRlbnNpdHkgKiAwLjZ9KWA7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAga2V5PXtzLnNlY3Rvcl9jb2RlfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyZWxhdGl2ZSByb3VuZGVkLWxnIG92ZXJmbG93LWhpZGRlbiBhbmltYXRlLWZhZGUtaW4tdXBcIlxuICAgICAgICAgICAgICBzdHlsZT17eyBhbmltYXRpb25EZWxheTogYCR7aW5kZXggKiA1MH1tc2AgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgey8qIEJhY2tncm91bmQgZmlsbCAqL31cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTBcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogYmFyQ29sb3IgfX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgey8qIExlZnQgYWNjZW50IGxpbmUgKi99XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSBsZWZ0LTAgdG9wLTAgYm90dG9tLTAgdy0wLjVcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogYWNjZW50Q29sb3IgfX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNCBweS0yLjVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yLjVcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tZWRpdW1cIj57cy5zZWN0b3JfbmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICB7cy5saW1pdF91cF9jb3VudCA+IDAgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LVsxMHB4XSB0ZXh0LXRleHQtbXV0ZWQgYmctd2hpdGUvWzAuMDRdIHB4LTEuNSBweS0wLjUgcm91bmRlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgIOa2qOWBnCB7cy5saW1pdF91cF9jb3VudH1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zIHRleHQteHNcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17YGZvbnQtbW9ubyB0YWJ1bGFyLW51bXMgJHtzLmNhcGl0YWxfaW5mbG93ID4gMCA/IFwidGV4dC1yZWQtNDAwXCIgOiBcInRleHQtZW1lcmFsZC00MDBcIn1gfT5cbiAgICAgICAgICAgICAgICAgICAge3MuY2FwaXRhbF9pbmZsb3cgPiAwID8gXCIrXCIgOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICB7Zm9ybWF0TnVtYmVyKHMuY2FwaXRhbF9pbmZsb3cpfVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtgZm9udC1tb25vIHRhYnVsYXItbnVtcyBmb250LW1lZGl1bSAke2lzVXAgPyBcInRleHQtcmVkLTQwMFwiIDogXCJ0ZXh0LWVtZXJhbGQtNDAwXCJ9YH0+XG4gICAgICAgICAgICAgICAgICAgIHtzLnBjdF9jaGFuZ2UgPiAwID8gXCIrXCIgOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICB7cy5wY3RfY2hhbmdlLnRvRml4ZWQoMil9JVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1vcmFuZ2UtNDAwLzgwIGZvbnQtbW9ubyB0YWJ1bGFyLW51bXMgdGV4dC1bMTBweF0gYmctb3JhbmdlLTUwMC9bMC4wOF0gcHgtMS41IHB5LTAuNSByb3VuZGVkXCI+XG4gICAgICAgICAgICAgICAgICAgIHtzLmhlYXRfc2NvcmUudG9GaXhlZCgwKX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApO1xuICAgICAgICB9KX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuIl0sIm5hbWVzIjpbImZvcm1hdE51bWJlciIsIlNlY3RvckhlYXRtYXAiLCJzZWN0b3JzIiwibGVuZ3RoIiwiZGl2IiwiY2xhc3NOYW1lIiwiaDIiLCJtYXhTY29yZSIsIk1hdGgiLCJtYXgiLCJtYXAiLCJzIiwiaGVhdF9zY29yZSIsImluZGV4IiwiaW50ZW5zaXR5IiwiaXNVcCIsInBjdF9jaGFuZ2UiLCJiYXJDb2xvciIsImFjY2VudENvbG9yIiwic3R5bGUiLCJhbmltYXRpb25EZWxheSIsImJhY2tncm91bmRDb2xvciIsInNwYW4iLCJzZWN0b3JfbmFtZSIsImxpbWl0X3VwX2NvdW50IiwiY2FwaXRhbF9pbmZsb3ciLCJ0b0ZpeGVkIiwic2VjdG9yX2NvZGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/sector-heatmap.tsx\n");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(ssr)/./src/lib/api.ts":
|
||
/*!************************!*\
|
||
!*** ./src/lib/api.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 */ fetchAPI: () => (/* binding */ fetchAPI),\n/* harmony export */ postAPI: () => (/* binding */ postAPI),\n/* harmony export */ streamChat: () => (/* binding */ streamChat)\n/* harmony export */ });\nconst API_BASE = \"\";\nasync function fetchAPI(path) {\n const res = await fetch(`${API_BASE}${path}`);\n if (!res.ok) throw new Error(`API error: ${res.status}`);\n return res.json();\n}\nasync function postAPI(path, body) {\n const res = await fetch(`${API_BASE}${path}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: body ? JSON.stringify(body) : undefined\n });\n if (!res.ok) throw new Error(`API error: ${res.status}`);\n return res.json();\n}\nasync function* streamChat(messages) {\n const res = await fetch(`${API_BASE}/api/chat/stream`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n messages\n })\n });\n if (!res.ok) throw new Error(`Chat API error: ${res.status}`);\n if (!res.body) throw new Error(\"No response body\");\n const reader = res.body.getReader();\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: \")) {\n const data = line.slice(6).trim();\n if (data === \"[DONE]\") return;\n try {\n const parsed = JSON.parse(data);\n yield parsed;\n } catch {\n // ignore malformed lines\n }\n }\n }\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL2FwaS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxNQUFNQSxXQUFXO0FBRVYsZUFBZUMsU0FBWUMsSUFBWTtJQUM1QyxNQUFNQyxNQUFNLE1BQU1DLE1BQU0sQ0FBQyxFQUFFSixTQUFTLEVBQUVFLEtBQUssQ0FBQztJQUM1QyxJQUFJLENBQUNDLElBQUlFLEVBQUUsRUFBRSxNQUFNLElBQUlDLE1BQU0sQ0FBQyxXQUFXLEVBQUVILElBQUlJLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELE9BQU9KLElBQUlLLElBQUk7QUFDakI7QUFFTyxlQUFlQyxRQUFXUCxJQUFZLEVBQUVRLElBQWM7SUFDM0QsTUFBTVAsTUFBTSxNQUFNQyxNQUFNLENBQUMsRUFBRUosU0FBUyxFQUFFRSxLQUFLLENBQUMsRUFBRTtRQUM1Q1MsUUFBUTtRQUNSQyxTQUFTO1lBQUUsZ0JBQWdCO1FBQW1CO1FBQzlDRixNQUFNQSxPQUFPRyxLQUFLQyxTQUFTLENBQUNKLFFBQVFLO0lBQ3RDO0lBQ0EsSUFBSSxDQUFDWixJQUFJRSxFQUFFLEVBQUUsTUFBTSxJQUFJQyxNQUFNLENBQUMsV0FBVyxFQUFFSCxJQUFJSSxNQUFNLENBQUMsQ0FBQztJQUN2RCxPQUFPSixJQUFJSyxJQUFJO0FBQ2pCO0FBNERPLGdCQUFnQlEsV0FDckJDLFFBQXVCO0lBRXZCLE1BQU1kLE1BQU0sTUFBTUMsTUFBTSxDQUFDLEVBQUVKLFNBQVMsZ0JBQWdCLENBQUMsRUFBRTtRQUNyRFcsUUFBUTtRQUNSQyxTQUFTO1lBQUUsZ0JBQWdCO1FBQW1CO1FBQzlDRixNQUFNRyxLQUFLQyxTQUFTLENBQUM7WUFBRUc7UUFBUztJQUNsQztJQUVBLElBQUksQ0FBQ2QsSUFBSUUsRUFBRSxFQUFFLE1BQU0sSUFBSUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFSCxJQUFJSSxNQUFNLENBQUMsQ0FBQztJQUM1RCxJQUFJLENBQUNKLElBQUlPLElBQUksRUFBRSxNQUFNLElBQUlKLE1BQU07SUFFL0IsTUFBTVksU0FBU2YsSUFBSU8sSUFBSSxDQUFDUyxTQUFTO0lBQ2pDLE1BQU1DLFVBQVUsSUFBSUM7SUFDcEIsSUFBSUMsU0FBUztJQUViLE1BQU8sS0FBTTtRQUNYLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUUsR0FBRyxNQUFNTixPQUFPTyxJQUFJO1FBQ3pDLElBQUlGLE1BQU07UUFFVkQsVUFBVUYsUUFBUU0sTUFBTSxDQUFDRixPQUFPO1lBQUVHLFFBQVE7UUFBSztRQUMvQyxNQUFNQyxRQUFRTixPQUFPTyxLQUFLLENBQUM7UUFDM0JQLFNBQVNNLE1BQU1FLEdBQUcsTUFBTTtRQUV4QixLQUFLLE1BQU1DLFFBQVFILE1BQU87WUFDeEIsSUFBSUcsS0FBS0MsVUFBVSxDQUFDLFdBQVc7Z0JBQzdCLE1BQU1DLE9BQU9GLEtBQUtHLEtBQUssQ0FBQyxHQUFHQyxJQUFJO2dCQUMvQixJQUFJRixTQUFTLFVBQVU7Z0JBQ3ZCLElBQUk7b0JBQ0YsTUFBTUcsU0FBU3ZCLEtBQUt3QixLQUFLLENBQUNKO29CQUMxQixNQUFNRztnQkFDUixFQUFFLE9BQU07Z0JBQ04seUJBQXlCO2dCQUMzQjtZQUNGO1FBQ0Y7SUFDRjtBQUNGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYXN0b2NrLWFnZW50LWZyb250ZW5kLy4vc3JjL2xpYi9hcGkudHM/MmZhYiJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBBUElfQkFTRSA9IFwiXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEFQSTxUPihwYXRoOiBzdHJpbmcpOiBQcm9taXNlPFQ+IHtcbiAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYCR7QVBJX0JBU0V9JHtwYXRofWApO1xuICBpZiAoIXJlcy5vaykgdGhyb3cgbmV3IEVycm9yKGBBUEkgZXJyb3I6ICR7cmVzLnN0YXR1c31gKTtcbiAgcmV0dXJuIHJlcy5qc29uKCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwb3N0QVBJPFQ+KHBhdGg6IHN0cmluZywgYm9keT86IHVua25vd24pOiBQcm9taXNlPFQ+IHtcbiAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYCR7QVBJX0JBU0V9JHtwYXRofWAsIHtcbiAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICBib2R5OiBib2R5ID8gSlNPTi5zdHJpbmdpZnkoYm9keSkgOiB1bmRlZmluZWQsXG4gIH0pO1xuICBpZiAoIXJlcy5vaykgdGhyb3cgbmV3IEVycm9yKGBBUEkgZXJyb3I6ICR7cmVzLnN0YXR1c31gKTtcbiAgcmV0dXJuIHJlcy5qc29uKCk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFya2V0VGVtcGVyYXR1cmVEYXRhIHtcbiAgdHJhZGVfZGF0ZTogc3RyaW5nO1xuICB0ZW1wZXJhdHVyZTogbnVtYmVyO1xuICB1cF9jb3VudDogbnVtYmVyO1xuICBkb3duX2NvdW50OiBudW1iZXI7XG4gIGxpbWl0X3VwX2NvdW50OiBudW1iZXI7XG4gIGxpbWl0X2Rvd25fY291bnQ/OiBudW1iZXI7XG4gIG1heF9zdHJlYWs/OiBudW1iZXI7XG4gIGJyb2tlbl9yYXRlPzogbnVtYmVyO1xuICBpbmRleF9hYm92ZV9tYTIwPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNvbW1lbmRhdGlvbkRhdGEge1xuICB0c19jb2RlOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgc2VjdG9yOiBzdHJpbmc7XG4gIHNjb3JlOiBudW1iZXI7XG4gIGxldmVsOiBzdHJpbmc7XG4gIHNpZ25hbDogc3RyaW5nO1xuICBtYXJrZXRfdGVtcF9zY29yZTogbnVtYmVyO1xuICBzZWN0b3Jfc2NvcmU6IG51bWJlcjtcbiAgY2FwaXRhbF9zY29yZTogbnVtYmVyO1xuICB0ZWNobmljYWxfc2NvcmU6IG51bWJlcjtcbiAgZW50cnlfcHJpY2U6IG51bWJlciB8IG51bGw7XG4gIHRhcmdldF9wcmljZTogbnVtYmVyIHwgbnVsbDtcbiAgc3RvcF9sb3NzOiBudW1iZXIgfCBudWxsO1xuICByZWFzb25zOiBzdHJpbmdbXTtcbiAgcmlza19ub3RlOiBzdHJpbmc7XG4gIGxsbV9hbmFseXNpcz86IHN0cmluZztcbiAgc2Nhbl9zZXNzaW9uOiBzdHJpbmc7XG4gIGNyZWF0ZWRfYXQ6IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdG9yRGF0YSB7XG4gIHNlY3Rvcl9jb2RlOiBzdHJpbmc7XG4gIHNlY3Rvcl9uYW1lOiBzdHJpbmc7XG4gIHBjdF9jaGFuZ2U6IG51bWJlcjtcbiAgY2FwaXRhbF9pbmZsb3c6IG51bWJlcjtcbiAgbGltaXRfdXBfY291bnQ6IG51bWJlcjtcbiAgZGF5c19jb250aW51b3VzOiBudW1iZXI7XG4gIGhlYXRfc2NvcmU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXRlc3RSZXN1bHQge1xuICBtYXJrZXRfdGVtcGVyYXR1cmU6IE1hcmtldFRlbXBlcmF0dXJlRGF0YSB8IG51bGw7XG4gIHJlY29tbWVuZGF0aW9uczogUmVjb21tZW5kYXRpb25EYXRhW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdE1lc3NhZ2Uge1xuICByb2xlOiBcInVzZXJcIiB8IFwiYXNzaXN0YW50XCI7XG4gIGNvbnRlbnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdHJlYW1FdmVudCB7XG4gIHR5cGU6IFwiY29udGVudFwiIHwgXCJzdGF0dXNcIjtcbiAgY29udGVudDogc3RyaW5nO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24qIHN0cmVhbUNoYXQoXG4gIG1lc3NhZ2VzOiBDaGF0TWVzc2FnZVtdXG4pOiBBc3luY0dlbmVyYXRvcjxTdHJlYW1FdmVudCwgdm9pZCwgdW5kZWZpbmVkPiB7XG4gIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke0FQSV9CQVNFfS9hcGkvY2hhdC9zdHJlYW1gLCB7XG4gICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBtZXNzYWdlcyB9KSxcbiAgfSk7XG5cbiAgaWYgKCFyZXMub2spIHRocm93IG5ldyBFcnJvcihgQ2hhdCBBUEkgZXJyb3I6ICR7cmVzLnN0YXR1c31gKTtcbiAgaWYgKCFyZXMuYm9keSkgdGhyb3cgbmV3IEVycm9yKFwiTm8gcmVzcG9uc2UgYm9keVwiKTtcblxuICBjb25zdCByZWFkZXIgPSByZXMuYm9keS5nZXRSZWFkZXIoKTtcbiAgY29uc3QgZGVjb2RlciA9IG5ldyBUZXh0RGVjb2RlcigpO1xuICBsZXQgYnVmZmVyID0gXCJcIjtcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnN0IHsgZG9uZSwgdmFsdWUgfSA9IGF3YWl0IHJlYWRlci5yZWFkKCk7XG4gICAgaWYgKGRvbmUpIGJyZWFrO1xuXG4gICAgYnVmZmVyICs9IGRlY29kZXIuZGVjb2RlKHZhbHVlLCB7IHN0cmVhbTogdHJ1ZSB9KTtcbiAgICBjb25zdCBsaW5lcyA9IGJ1ZmZlci5zcGxpdChcIlxcblwiKTtcbiAgICBidWZmZXIgPSBsaW5lcy5wb3AoKSB8fCBcIlwiO1xuXG4gICAgZm9yIChjb25zdCBsaW5lIG9mIGxpbmVzKSB7XG4gICAgICBpZiAobGluZS5zdGFydHNXaXRoKFwiZGF0YTogXCIpKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBsaW5lLnNsaWNlKDYpLnRyaW0oKTtcbiAgICAgICAgaWYgKGRhdGEgPT09IFwiW0RPTkVdXCIpIHJldHVybjtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKGRhdGEpIGFzIFN0cmVhbUV2ZW50O1xuICAgICAgICAgIHlpZWxkIHBhcnNlZDtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgLy8gaWdub3JlIG1hbGZvcm1lZCBsaW5lc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsiQVBJX0JBU0UiLCJmZXRjaEFQSSIsInBhdGgiLCJyZXMiLCJmZXRjaCIsIm9rIiwiRXJyb3IiLCJzdGF0dXMiLCJqc29uIiwicG9zdEFQSSIsImJvZHkiLCJtZXRob2QiLCJoZWFkZXJzIiwiSlNPTiIsInN0cmluZ2lmeSIsInVuZGVmaW5lZCIsInN0cmVhbUNoYXQiLCJtZXNzYWdlcyIsInJlYWRlciIsImdldFJlYWRlciIsImRlY29kZXIiLCJUZXh0RGVjb2RlciIsImJ1ZmZlciIsImRvbmUiLCJ2YWx1ZSIsInJlYWQiLCJkZWNvZGUiLCJzdHJlYW0iLCJsaW5lcyIsInNwbGl0IiwicG9wIiwibGluZSIsInN0YXJ0c1dpdGgiLCJkYXRhIiwic2xpY2UiLCJ0cmltIiwicGFyc2VkIiwicGFyc2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/api.ts\n");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(ssr)/./src/lib/utils.ts":
|
||
/*!**************************!*\
|
||
!*** ./src/lib/utils.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 */ cn: () => (/* binding */ cn),\n/* harmony export */ formatNumber: () => (/* binding */ formatNumber),\n/* harmony export */ getLevelBadge: () => (/* binding */ getLevelBadge),\n/* harmony export */ getScoreColor: () => (/* binding */ getScoreColor),\n/* harmony export */ getSignalColor: () => (/* binding */ getSignalColor),\n/* harmony export */ getTempColor: () => (/* binding */ getTempColor),\n/* harmony export */ getTempLabel: () => (/* binding */ getTempLabel)\n/* harmony export */ });\nfunction cn(...classes) {\n return classes.filter(Boolean).join(\" \");\n}\nfunction formatNumber(n) {\n if (Math.abs(n) >= 10000) return (n / 10000).toFixed(2) + \"亿\";\n if (Math.abs(n) >= 1) return n.toFixed(2) + \"万\";\n return n.toFixed(2);\n}\nfunction getScoreColor(score) {\n if (score >= 80) return \"text-red-400\";\n if (score >= 60) return \"text-orange-400\";\n if (score >= 40) return \"text-yellow-400\";\n return \"text-gray-400\";\n}\nfunction getLevelBadge(level) {\n switch(level){\n case \"强烈推荐\":\n return {\n bg: \"bg-red-500/20\",\n text: \"text-red-400\"\n };\n case \"推荐\":\n return {\n bg: \"bg-orange-500/20\",\n text: \"text-orange-400\"\n };\n case \"观望\":\n return {\n bg: \"bg-yellow-500/20\",\n text: \"text-yellow-400\"\n };\n default:\n return {\n bg: \"bg-gray-500/20\",\n text: \"text-gray-400\"\n };\n }\n}\nfunction getSignalColor(signal) {\n if (signal === \"BUY\") return \"text-red-400\";\n if (signal === \"SELL\") return \"text-green-400\";\n return \"text-gray-400\";\n}\nfunction getTempColor(temp) {\n if (temp >= 70) return \"#ef4444\";\n if (temp >= 50) return \"#f97316\";\n if (temp >= 30) return \"#eab308\";\n return \"#22c55e\";\n}\nfunction getTempLabel(temp) {\n if (temp >= 70) return \"火热\";\n if (temp >= 50) return \"温和\";\n if (temp >= 30) return \"偏冷\";\n return \"冰点\";\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL3V0aWxzLnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBTyxTQUFTQSxHQUFHLEdBQUdDLE9BQThDO0lBQ2xFLE9BQU9BLFFBQVFDLE1BQU0sQ0FBQ0MsU0FBU0MsSUFBSSxDQUFDO0FBQ3RDO0FBRU8sU0FBU0MsYUFBYUMsQ0FBUztJQUNwQyxJQUFJQyxLQUFLQyxHQUFHLENBQUNGLE1BQU0sT0FBTyxPQUFPLENBQUNBLElBQUksS0FBSSxFQUFHRyxPQUFPLENBQUMsS0FBSztJQUMxRCxJQUFJRixLQUFLQyxHQUFHLENBQUNGLE1BQU0sR0FBRyxPQUFPQSxFQUFFRyxPQUFPLENBQUMsS0FBSztJQUM1QyxPQUFPSCxFQUFFRyxPQUFPLENBQUM7QUFDbkI7QUFFTyxTQUFTQyxjQUFjQyxLQUFhO0lBQ3pDLElBQUlBLFNBQVMsSUFBSSxPQUFPO0lBQ3hCLElBQUlBLFNBQVMsSUFBSSxPQUFPO0lBQ3hCLElBQUlBLFNBQVMsSUFBSSxPQUFPO0lBQ3hCLE9BQU87QUFDVDtBQUVPLFNBQVNDLGNBQWNDLEtBQWE7SUFDekMsT0FBUUE7UUFDTixLQUFLO1lBQ0gsT0FBTztnQkFBRUMsSUFBSTtnQkFBaUJDLE1BQU07WUFBZTtRQUNyRCxLQUFLO1lBQ0gsT0FBTztnQkFBRUQsSUFBSTtnQkFBb0JDLE1BQU07WUFBa0I7UUFDM0QsS0FBSztZQUNILE9BQU87Z0JBQUVELElBQUk7Z0JBQW9CQyxNQUFNO1lBQWtCO1FBQzNEO1lBQ0UsT0FBTztnQkFBRUQsSUFBSTtnQkFBa0JDLE1BQU07WUFBZ0I7SUFDekQ7QUFDRjtBQUVPLFNBQVNDLGVBQWVDLE1BQWM7SUFDM0MsSUFBSUEsV0FBVyxPQUFPLE9BQU87SUFDN0IsSUFBSUEsV0FBVyxRQUFRLE9BQU87SUFDOUIsT0FBTztBQUNUO0FBRU8sU0FBU0MsYUFBYUMsSUFBWTtJQUN2QyxJQUFJQSxRQUFRLElBQUksT0FBTztJQUN2QixJQUFJQSxRQUFRLElBQUksT0FBTztJQUN2QixJQUFJQSxRQUFRLElBQUksT0FBTztJQUN2QixPQUFPO0FBQ1Q7QUFFTyxTQUFTQyxhQUFhRCxJQUFZO0lBQ3ZDLElBQUlBLFFBQVEsSUFBSSxPQUFPO0lBQ3ZCLElBQUlBLFFBQVEsSUFBSSxPQUFPO0lBQ3ZCLElBQUlBLFFBQVEsSUFBSSxPQUFPO0lBQ3ZCLE9BQU87QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL2FzdG9jay1hZ2VudC1mcm9udGVuZC8uL3NyYy9saWIvdXRpbHMudHM/N2MxYyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY24oLi4uY2xhc3NlczogKHN0cmluZyB8IGZhbHNlIHwgdW5kZWZpbmVkIHwgbnVsbClbXSkge1xuICByZXR1cm4gY2xhc3Nlcy5maWx0ZXIoQm9vbGVhbikuam9pbihcIiBcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXROdW1iZXIobjogbnVtYmVyKTogc3RyaW5nIHtcbiAgaWYgKE1hdGguYWJzKG4pID49IDEwMDAwKSByZXR1cm4gKG4gLyAxMDAwMCkudG9GaXhlZCgyKSArIFwi5Lq/XCI7XG4gIGlmIChNYXRoLmFicyhuKSA+PSAxKSByZXR1cm4gbi50b0ZpeGVkKDIpICsgXCLkuIdcIjtcbiAgcmV0dXJuIG4udG9GaXhlZCgyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjb3JlQ29sb3Ioc2NvcmU6IG51bWJlcik6IHN0cmluZyB7XG4gIGlmIChzY29yZSA+PSA4MCkgcmV0dXJuIFwidGV4dC1yZWQtNDAwXCI7XG4gIGlmIChzY29yZSA+PSA2MCkgcmV0dXJuIFwidGV4dC1vcmFuZ2UtNDAwXCI7XG4gIGlmIChzY29yZSA+PSA0MCkgcmV0dXJuIFwidGV4dC15ZWxsb3ctNDAwXCI7XG4gIHJldHVybiBcInRleHQtZ3JheS00MDBcIjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExldmVsQmFkZ2UobGV2ZWw6IHN0cmluZyk6IHsgYmc6IHN0cmluZzsgdGV4dDogc3RyaW5nIH0ge1xuICBzd2l0Y2ggKGxldmVsKSB7XG4gICAgY2FzZSBcIuW8uueDiOaOqOiNkFwiOlxuICAgICAgcmV0dXJuIHsgYmc6IFwiYmctcmVkLTUwMC8yMFwiLCB0ZXh0OiBcInRleHQtcmVkLTQwMFwiIH07XG4gICAgY2FzZSBcIuaOqOiNkFwiOlxuICAgICAgcmV0dXJuIHsgYmc6IFwiYmctb3JhbmdlLTUwMC8yMFwiLCB0ZXh0OiBcInRleHQtb3JhbmdlLTQwMFwiIH07XG4gICAgY2FzZSBcIuinguacm1wiOlxuICAgICAgcmV0dXJuIHsgYmc6IFwiYmcteWVsbG93LTUwMC8yMFwiLCB0ZXh0OiBcInRleHQteWVsbG93LTQwMFwiIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB7IGJnOiBcImJnLWdyYXktNTAwLzIwXCIsIHRleHQ6IFwidGV4dC1ncmF5LTQwMFwiIH07XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNpZ25hbENvbG9yKHNpZ25hbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHNpZ25hbCA9PT0gXCJCVVlcIikgcmV0dXJuIFwidGV4dC1yZWQtNDAwXCI7XG4gIGlmIChzaWduYWwgPT09IFwiU0VMTFwiKSByZXR1cm4gXCJ0ZXh0LWdyZWVuLTQwMFwiO1xuICByZXR1cm4gXCJ0ZXh0LWdyYXktNDAwXCI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZW1wQ29sb3IodGVtcDogbnVtYmVyKTogc3RyaW5nIHtcbiAgaWYgKHRlbXAgPj0gNzApIHJldHVybiBcIiNlZjQ0NDRcIjtcbiAgaWYgKHRlbXAgPj0gNTApIHJldHVybiBcIiNmOTczMTZcIjtcbiAgaWYgKHRlbXAgPj0gMzApIHJldHVybiBcIiNlYWIzMDhcIjtcbiAgcmV0dXJuIFwiIzIyYzU1ZVwiO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGVtcExhYmVsKHRlbXA6IG51bWJlcik6IHN0cmluZyB7XG4gIGlmICh0ZW1wID49IDcwKSByZXR1cm4gXCLngavng61cIjtcbiAgaWYgKHRlbXAgPj0gNTApIHJldHVybiBcIua4qeWSjFwiO1xuICBpZiAodGVtcCA+PSAzMCkgcmV0dXJuIFwi5YGP5Ya3XCI7XG4gIHJldHVybiBcIuWGsOeCuVwiO1xufVxuIl0sIm5hbWVzIjpbImNuIiwiY2xhc3NlcyIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiZm9ybWF0TnVtYmVyIiwibiIsIk1hdGgiLCJhYnMiLCJ0b0ZpeGVkIiwiZ2V0U2NvcmVDb2xvciIsInNjb3JlIiwiZ2V0TGV2ZWxCYWRnZSIsImxldmVsIiwiYmciLCJ0ZXh0IiwiZ2V0U2lnbmFsQ29sb3IiLCJzaWduYWwiLCJnZXRUZW1wQ29sb3IiLCJ0ZW1wIiwiZ2V0VGVtcExhYmVsIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/utils.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__ = (\"d712fb99c6a4\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYXN0b2NrLWFnZW50LWZyb250ZW5kLy4vc3JjL2FwcC9nbG9iYWxzLmNzcz9mZTNiIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiZDcxMmZiOTljNmE0XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.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 _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n\n\nconst metadata = {\n title: \"Dragon AI Agent\",\n description: \"基于资金驱动的四层漏斗模型,盘中实时分析推荐A股\"\n};\nconst viewport = {\n width: \"device-width\",\n initialScale: 1,\n maximumScale: 1,\n userScalable: false\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"zh-CN\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: \"min-h-screen bg-bg-primary text-text-primary font-display\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex min-h-screen\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"aside\", {\n className: \"hidden md:flex flex-col w-60 glass-sidebar fixed inset-y-0 left-0 z-40\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-6 pt-7 pb-5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-8 h-8 rounded-lg bg-gradient-to-br from-orange-500 to-amber-600 flex items-center justify-center text-sm font-bold text-white shadow-glow-sm\",\n children: \"D\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 31,\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)(\"h1\", {\n className: \"text-sm font-semibold tracking-tight\",\n children: \"Dragon AI Agent\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 35,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-[10px] text-text-muted mt-0.5 font-light tracking-wide\",\n children: \"资金驱动 \\xb7 四层漏斗模型\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 36,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 34,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 30,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 29,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-5 h-px bg-gradient-to-r from-transparent via-slate-700/50 to-transparent\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 42,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"flex-1 py-5 px-3 space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SideNavItem, {\n href: \"/\",\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(DashboardIcon, {}, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 46,\n columnNumber: 43\n }, void 0),\n label: \"总览\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 46,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SideNavItem, {\n href: \"/recommendations\",\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(TargetIcon, {}, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 47,\n columnNumber: 58\n }, void 0),\n label: \"推荐列表\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 47,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SideNavItem, {\n href: \"/sectors\",\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(FireIcon, {}, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 48,\n columnNumber: 50\n }, void 0),\n label: \"板块分析\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 48,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SideNavItem, {\n href: \"/chat\",\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ChatIcon, {}, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 49,\n columnNumber: 47\n }, void 0),\n label: \"AI 对话\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 49,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 45,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-6 py-5 border-t border-slate-800/50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-[10px] text-text-muted leading-relaxed\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-1.5 mb-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"w-1 h-1 rounded-full bg-emerald-500\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 56,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Tushare Pro + 腾讯行情\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 57,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 55,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-1.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"w-1 h-1 rounded-full bg-accent-indigo\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 60,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"AI 引擎: DeepSeek\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 61,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 59,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 54,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 53,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 27,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1 md:ml-60 pb-16 md:pb-0 min-h-screen\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 68,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 25,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNav, {}, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 74,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 23,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 22,\n columnNumber: 5\n }, this);\n}\nfunction MobileNav() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"fixed bottom-0 left-0 right-0 md:hidden z-50 bg-bg-secondary/95 backdrop-blur-xl border-t border-slate-800/50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-around py-2 pb-[max(0.5rem,env(safe-area-inset-bottom))]\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavItem, {\n href: \"/\",\n label: \"总览\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(DashboardIcon, {}, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 85,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 84,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavItem, {\n href: \"/recommendations\",\n label: \"推荐\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(TargetIcon, {}, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 88,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 87,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavItem, {\n href: \"/sectors\",\n label: \"板块\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(FireIcon, {}, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 91,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 90,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MobileNavItem, {\n href: \"/chat\",\n label: \"对话\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ChatIcon, {}, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 94,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 93,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 83,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 82,\n columnNumber: 5\n }, this);\n}\nfunction MobileNavItem({ href, label, children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: href,\n className: \"flex flex-col items-center gap-1 text-text-muted hover:text-text-primary transition-colors active:scale-95\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-lg\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 107,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] font-medium\",\n children: label\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 108,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 103,\n columnNumber: 5\n }, this);\n}\nfunction SideNavItem({ href, icon, label }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: href,\n className: \"flex items-center gap-3 px-4 py-2.5 rounded-xl text-sm text-text-secondary hover:text-text-primary hover:bg-white/[0.04] transition-all duration-200\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-base opacity-70\",\n children: icon\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 119,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-medium\",\n children: label\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 120,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 115,\n columnNumber: 5\n }, this);\n}\n/* SVG Icons - clean, minimal */ function DashboardIcon() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n width: \"18\",\n height: \"18\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"1.8\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n x: \"3\",\n y: \"3\",\n width: \"7\",\n height: \"7\",\n rx: \"1.5\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 129,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n x: \"14\",\n y: \"3\",\n width: \"7\",\n height: \"7\",\n rx: \"1.5\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 130,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n x: \"3\",\n y: \"14\",\n width: \"7\",\n height: \"7\",\n rx: \"1.5\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 131,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"rect\", {\n x: \"14\",\n y: \"14\",\n width: \"7\",\n height: \"7\",\n rx: \"1.5\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 132,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 128,\n columnNumber: 5\n }, this);\n}\nfunction TargetIcon() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n width: \"18\",\n height: \"18\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"1.8\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"10\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 140,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"6\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 141,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"2\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 142,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 139,\n columnNumber: 5\n }, this);\n}\nfunction FireIcon() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n width: \"18\",\n height: \"18\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"1.8\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M12 2c.5 2.5-.5 5-2 7 1 0 2.5.5 3 2.5.5-2 2-3 3-4-1 3-1 6-4 8.5-1.5 1-3.5 1.5-5 1-1.5-.5-2.5-2-2.5-3.5 0-3 3-5 5-7.5C10 5 11 3.5 12 2z\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 150,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 149,\n columnNumber: 5\n }, this);\n}\nfunction ChatIcon() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"svg\", {\n width: \"18\",\n height: \"18\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"1.8\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"path\", {\n d: \"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 158,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/aaron/source_code/astock-agent/frontend/src/app/layout.tsx\",\n lineNumber: 157,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUN1QjtBQUVoQixNQUFNQSxXQUFxQjtJQUNoQ0MsT0FBTztJQUNQQyxhQUFhO0FBQ2YsRUFBRTtBQUVLLE1BQU1DLFdBQXFCO0lBQ2hDQyxPQUFPO0lBQ1BDLGNBQWM7SUFDZEMsY0FBYztJQUNkQyxjQUFjO0FBQ2hCLEVBQUU7QUFFYSxTQUFTQyxXQUFXLEVBQ2pDQyxRQUFRLEVBR1Q7SUFDQyxxQkFDRSw4REFBQ0M7UUFBS0MsTUFBSztrQkFDVCw0RUFBQ0M7WUFBS0MsV0FBVTs7OEJBRWQsOERBQUNDO29CQUFJRCxXQUFVOztzQ0FFYiw4REFBQ0U7NEJBQU1GLFdBQVU7OzhDQUVmLDhEQUFDQztvQ0FBSUQsV0FBVTs4Q0FDYiw0RUFBQ0M7d0NBQUlELFdBQVU7OzBEQUNiLDhEQUFDQztnREFBSUQsV0FBVTswREFBaUo7Ozs7OzswREFHaEssOERBQUNDOztrRUFDQyw4REFBQ0U7d0RBQUdILFdBQVU7a0VBQXVDOzs7Ozs7a0VBQ3JELDhEQUFDSTt3REFBRUosV0FBVTtrRUFBOEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzhDQU1qRiw4REFBQ0M7b0NBQUlELFdBQVU7Ozs7Ozs4Q0FHZiw4REFBQ0s7b0NBQUlMLFdBQVU7O3NEQUNiLDhEQUFDTTs0Q0FBWUMsTUFBSzs0Q0FBSUMsb0JBQU0sOERBQUNDOzs7Ozs0Q0FBa0JDLE9BQU07Ozs7OztzREFDckQsOERBQUNKOzRDQUFZQyxNQUFLOzRDQUFtQkMsb0JBQU0sOERBQUNHOzs7Ozs0Q0FBZUQsT0FBTTs7Ozs7O3NEQUNqRSw4REFBQ0o7NENBQVlDLE1BQUs7NENBQVdDLG9CQUFNLDhEQUFDSTs7Ozs7NENBQWFGLE9BQU07Ozs7OztzREFDdkQsOERBQUNKOzRDQUFZQyxNQUFLOzRDQUFRQyxvQkFBTSw4REFBQ0s7Ozs7OzRDQUFhSCxPQUFNOzs7Ozs7Ozs7Ozs7OENBSXRELDhEQUFDVDtvQ0FBSUQsV0FBVTs4Q0FDYiw0RUFBQ0M7d0NBQUlELFdBQVU7OzBEQUNiLDhEQUFDQztnREFBSUQsV0FBVTs7a0VBQ2IsOERBQUNjO3dEQUFLZCxXQUFVOzs7Ozs7a0VBQ2hCLDhEQUFDYztrRUFBSzs7Ozs7Ozs7Ozs7OzBEQUVSLDhEQUFDYjtnREFBSUQsV0FBVTs7a0VBQ2IsOERBQUNjO3dEQUFLZCxXQUFVOzs7Ozs7a0VBQ2hCLDhEQUFDYztrRUFBSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7c0NBT2QsOERBQUNDOzRCQUFLZixXQUFVO3NDQUNiSjs7Ozs7Ozs7Ozs7OzhCQUtMLDhEQUFDb0I7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJVDtBQUVBLFNBQVNBO0lBQ1AscUJBQ0UsOERBQUNYO1FBQUlMLFdBQVU7a0JBQ2IsNEVBQUNDO1lBQUlELFdBQVU7OzhCQUNiLDhEQUFDaUI7b0JBQWNWLE1BQUs7b0JBQUlHLE9BQU07OEJBQzVCLDRFQUFDRDs7Ozs7Ozs7Ozs4QkFFSCw4REFBQ1E7b0JBQWNWLE1BQUs7b0JBQW1CRyxPQUFNOzhCQUMzQyw0RUFBQ0M7Ozs7Ozs7Ozs7OEJBRUgsOERBQUNNO29CQUFjVixNQUFLO29CQUFXRyxPQUFNOzhCQUNuQyw0RUFBQ0U7Ozs7Ozs7Ozs7OEJBRUgsOERBQUNLO29CQUFjVixNQUFLO29CQUFRRyxPQUFNOzhCQUNoQyw0RUFBQ0c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUtYO0FBRUEsU0FBU0ksY0FBYyxFQUFFVixJQUFJLEVBQUVHLEtBQUssRUFBRWQsUUFBUSxFQUE4RDtJQUMxRyxxQkFDRSw4REFBQ3NCO1FBQ0NYLE1BQU1BO1FBQ05QLFdBQVU7OzBCQUVWLDhEQUFDYztnQkFBS2QsV0FBVTswQkFBV0o7Ozs7OzswQkFDM0IsOERBQUNrQjtnQkFBS2QsV0FBVTswQkFBMkJVOzs7Ozs7Ozs7Ozs7QUFHakQ7QUFFQSxTQUFTSixZQUFZLEVBQUVDLElBQUksRUFBRUMsSUFBSSxFQUFFRSxLQUFLLEVBQTBEO0lBQ2hHLHFCQUNFLDhEQUFDUTtRQUNDWCxNQUFNQTtRQUNOUCxXQUFVOzswQkFFViw4REFBQ2M7Z0JBQUtkLFdBQVU7MEJBQXdCUTs7Ozs7OzBCQUN4Qyw4REFBQ007Z0JBQUtkLFdBQVU7MEJBQWVVOzs7Ozs7Ozs7Ozs7QUFHckM7QUFFQSw4QkFBOEIsR0FDOUIsU0FBU0Q7SUFDUCxxQkFDRSw4REFBQ1U7UUFBSTVCLE9BQU07UUFBSzZCLFFBQU87UUFBS0MsU0FBUTtRQUFZQyxNQUFLO1FBQU9DLFFBQU87UUFBZUMsYUFBWTtRQUFNQyxlQUFjO1FBQVFDLGdCQUFlOzswQkFDdkksOERBQUNDO2dCQUFLQyxHQUFFO2dCQUFJQyxHQUFFO2dCQUFJdEMsT0FBTTtnQkFBSTZCLFFBQU87Z0JBQUlVLElBQUc7Ozs7OzswQkFDMUMsOERBQUNIO2dCQUFLQyxHQUFFO2dCQUFLQyxHQUFFO2dCQUFJdEMsT0FBTTtnQkFBSTZCLFFBQU87Z0JBQUlVLElBQUc7Ozs7OzswQkFDM0MsOERBQUNIO2dCQUFLQyxHQUFFO2dCQUFJQyxHQUFFO2dCQUFLdEMsT0FBTTtnQkFBSTZCLFFBQU87Z0JBQUlVLElBQUc7Ozs7OzswQkFDM0MsOERBQUNIO2dCQUFLQyxHQUFFO2dCQUFLQyxHQUFFO2dCQUFLdEMsT0FBTTtnQkFBSTZCLFFBQU87Z0JBQUlVLElBQUc7Ozs7Ozs7Ozs7OztBQUdsRDtBQUVBLFNBQVNuQjtJQUNQLHFCQUNFLDhEQUFDUTtRQUFJNUIsT0FBTTtRQUFLNkIsUUFBTztRQUFLQyxTQUFRO1FBQVlDLE1BQUs7UUFBT0MsUUFBTztRQUFlQyxhQUFZO1FBQU1DLGVBQWM7UUFBUUMsZ0JBQWU7OzBCQUN2SSw4REFBQ0s7Z0JBQU9DLElBQUc7Z0JBQUtDLElBQUc7Z0JBQUtDLEdBQUU7Ozs7OzswQkFDMUIsOERBQUNIO2dCQUFPQyxJQUFHO2dCQUFLQyxJQUFHO2dCQUFLQyxHQUFFOzs7Ozs7MEJBQzFCLDhEQUFDSDtnQkFBT0MsSUFBRztnQkFBS0MsSUFBRztnQkFBS0MsR0FBRTs7Ozs7Ozs7Ozs7O0FBR2hDO0FBRUEsU0FBU3RCO0lBQ1AscUJBQ0UsOERBQUNPO1FBQUk1QixPQUFNO1FBQUs2QixRQUFPO1FBQUtDLFNBQVE7UUFBWUMsTUFBSztRQUFPQyxRQUFPO1FBQWVDLGFBQVk7UUFBTUMsZUFBYztRQUFRQyxnQkFBZTtrQkFDdkksNEVBQUNTO1lBQUtDLEdBQUU7Ozs7Ozs7Ozs7O0FBR2Q7QUFFQSxTQUFTdkI7SUFDUCxxQkFDRSw4REFBQ007UUFBSTVCLE9BQU07UUFBSzZCLFFBQU87UUFBS0MsU0FBUTtRQUFZQyxNQUFLO1FBQU9DLFFBQU87UUFBZUMsYUFBWTtRQUFNQyxlQUFjO1FBQVFDLGdCQUFlO2tCQUN2SSw0RUFBQ1M7WUFBS0MsR0FBRTs7Ozs7Ozs7Ozs7QUFHZCIsInNvdXJjZXMiOlsid2VicGFjazovL2FzdG9jay1hZ2VudC1mcm9udGVuZC8uL3NyYy9hcHAvbGF5b3V0LnRzeD81N2E5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEsIFZpZXdwb3J0IH0gZnJvbSBcIm5leHRcIjtcbmltcG9ydCBcIi4vZ2xvYmFscy5jc3NcIjtcblxuZXhwb3J0IGNvbnN0IG1ldGFkYXRhOiBNZXRhZGF0YSA9IHtcbiAgdGl0bGU6IFwiRHJhZ29uIEFJIEFnZW50XCIsXG4gIGRlc2NyaXB0aW9uOiBcIuWfuuS6jui1hOmHkempseWKqOeahOWbm+Wxgua8j+aWl+aooeWei++8jOebmOS4reWunuaXtuWIhuaekOaOqOiNkEHogqFcIixcbn07XG5cbmV4cG9ydCBjb25zdCB2aWV3cG9ydDogVmlld3BvcnQgPSB7XG4gIHdpZHRoOiBcImRldmljZS13aWR0aFwiLFxuICBpbml0aWFsU2NhbGU6IDEsXG4gIG1heGltdW1TY2FsZTogMSxcbiAgdXNlclNjYWxhYmxlOiBmYWxzZSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFJvb3RMYXlvdXQoe1xuICBjaGlsZHJlbixcbn06IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbn0pIHtcbiAgcmV0dXJuIChcbiAgICA8aHRtbCBsYW5nPVwiemgtQ05cIj5cbiAgICAgIDxib2R5IGNsYXNzTmFtZT1cIm1pbi1oLXNjcmVlbiBiZy1iZy1wcmltYXJ5IHRleHQtdGV4dC1wcmltYXJ5IGZvbnQtZGlzcGxheVwiPlxuICAgICAgICB7LyogRGVza3RvcDogc2lkZWJhciArIG1haW4gKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBtaW4taC1zY3JlZW5cIj5cbiAgICAgICAgICB7LyogRGVza3RvcCBzaWRlYmFyICovfVxuICAgICAgICAgIDxhc2lkZSBjbGFzc05hbWU9XCJoaWRkZW4gbWQ6ZmxleCBmbGV4LWNvbCB3LTYwIGdsYXNzLXNpZGViYXIgZml4ZWQgaW5zZXQteS0wIGxlZnQtMCB6LTQwXCI+XG4gICAgICAgICAgICB7LyogQnJhbmQgKi99XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInB4LTYgcHQtNyBwYi01XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctOCBoLTggcm91bmRlZC1sZyBiZy1ncmFkaWVudC10by1iciBmcm9tLW9yYW5nZS01MDAgdG8tYW1iZXItNjAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtc20gZm9udC1ib2xkIHRleHQtd2hpdGUgc2hhZG93LWdsb3ctc21cIj5cbiAgICAgICAgICAgICAgICAgIERcbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodFwiPkRyYWdvbiBBSSBBZ2VudDwvaDE+XG4gICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LVsxMHB4XSB0ZXh0LXRleHQtbXV0ZWQgbXQtMC41IGZvbnQtbGlnaHQgdHJhY2tpbmctd2lkZVwiPui1hOmHkempseWKqCDCtyDlm5vlsYLmvI/mlpfmqKHlnos8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIHsvKiBEaXZpZGVyICovfVxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC01IGgtcHggYmctZ3JhZGllbnQtdG8tciBmcm9tLXRyYW5zcGFyZW50IHZpYS1zbGF0ZS03MDAvNTAgdG8tdHJhbnNwYXJlbnRcIiAvPlxuXG4gICAgICAgICAgICB7LyogTmF2ICovfVxuICAgICAgICAgICAgPG5hdiBjbGFzc05hbWU9XCJmbGV4LTEgcHktNSBweC0zIHNwYWNlLXktMVwiPlxuICAgICAgICAgICAgICA8U2lkZU5hdkl0ZW0gaHJlZj1cIi9cIiBpY29uPXs8RGFzaGJvYXJkSWNvbiAvPn0gbGFiZWw9XCLmgLvop4hcIiAvPlxuICAgICAgICAgICAgICA8U2lkZU5hdkl0ZW0gaHJlZj1cIi9yZWNvbW1lbmRhdGlvbnNcIiBpY29uPXs8VGFyZ2V0SWNvbiAvPn0gbGFiZWw9XCLmjqjojZDliJfooahcIiAvPlxuICAgICAgICAgICAgICA8U2lkZU5hdkl0ZW0gaHJlZj1cIi9zZWN0b3JzXCIgaWNvbj17PEZpcmVJY29uIC8+fSBsYWJlbD1cIuadv+Wdl+WIhuaekFwiIC8+XG4gICAgICAgICAgICAgIDxTaWRlTmF2SXRlbSBocmVmPVwiL2NoYXRcIiBpY29uPXs8Q2hhdEljb24gLz59IGxhYmVsPVwiQUkg5a+56K+dXCIgLz5cbiAgICAgICAgICAgIDwvbmF2PlxuXG4gICAgICAgICAgICB7LyogRm9vdGVyICovfVxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJweC02IHB5LTUgYm9yZGVyLXQgYm9yZGVyLXNsYXRlLTgwMC81MFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtWzEwcHhdIHRleHQtdGV4dC1tdXRlZCBsZWFkaW5nLXJlbGF4ZWRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUgbWItMVwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidy0xIGgtMSByb3VuZGVkLWZ1bGwgYmctZW1lcmFsZC01MDBcIiAvPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+VHVzaGFyZSBQcm8gKyDohb7orq/ooYzmg4U8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41XCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ3LTEgaC0xIHJvdW5kZWQtZnVsbCBiZy1hY2NlbnQtaW5kaWdvXCIgLz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPkFJIOW8leaTjjogRGVlcFNlZWs8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9hc2lkZT5cblxuICAgICAgICAgIHsvKiBNYWluIGNvbnRlbnQgYXJlYSAqL31cbiAgICAgICAgICA8bWFpbiBjbGFzc05hbWU9XCJmbGV4LTEgbWQ6bWwtNjAgcGItMTYgbWQ6cGItMCBtaW4taC1zY3JlZW5cIj5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L21haW4+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBNb2JpbGUgYm90dG9tIG5hdiAqL31cbiAgICAgICAgPE1vYmlsZU5hdiAvPlxuICAgICAgPC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKTtcbn1cblxuZnVuY3Rpb24gTW9iaWxlTmF2KCkge1xuICByZXR1cm4gKFxuICAgIDxuYXYgY2xhc3NOYW1lPVwiZml4ZWQgYm90dG9tLTAgbGVmdC0wIHJpZ2h0LTAgbWQ6aGlkZGVuIHotNTAgYmctYmctc2Vjb25kYXJ5Lzk1IGJhY2tkcm9wLWJsdXIteGwgYm9yZGVyLXQgYm9yZGVyLXNsYXRlLTgwMC81MFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYXJvdW5kIHB5LTIgcGItW21heCgwLjVyZW0sZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKV1cIj5cbiAgICAgICAgPE1vYmlsZU5hdkl0ZW0gaHJlZj1cIi9cIiBsYWJlbD1cIuaAu+iniFwiPlxuICAgICAgICAgIDxEYXNoYm9hcmRJY29uIC8+XG4gICAgICAgIDwvTW9iaWxlTmF2SXRlbT5cbiAgICAgICAgPE1vYmlsZU5hdkl0ZW0gaHJlZj1cIi9yZWNvbW1lbmRhdGlvbnNcIiBsYWJlbD1cIuaOqOiNkFwiPlxuICAgICAgICAgIDxUYXJnZXRJY29uIC8+XG4gICAgICAgIDwvTW9iaWxlTmF2SXRlbT5cbiAgICAgICAgPE1vYmlsZU5hdkl0ZW0gaHJlZj1cIi9zZWN0b3JzXCIgbGFiZWw9XCLmnb/lnZdcIj5cbiAgICAgICAgICA8RmlyZUljb24gLz5cbiAgICAgICAgPC9Nb2JpbGVOYXZJdGVtPlxuICAgICAgICA8TW9iaWxlTmF2SXRlbSBocmVmPVwiL2NoYXRcIiBsYWJlbD1cIuWvueivnVwiPlxuICAgICAgICAgIDxDaGF0SWNvbiAvPlxuICAgICAgICA8L01vYmlsZU5hdkl0ZW0+XG4gICAgICA8L2Rpdj5cbiAgICA8L25hdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gTW9iaWxlTmF2SXRlbSh7IGhyZWYsIGxhYmVsLCBjaGlsZHJlbiB9OiB7IGhyZWY6IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPGFcbiAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtMSB0ZXh0LXRleHQtbXV0ZWQgaG92ZXI6dGV4dC10ZXh0LXByaW1hcnkgdHJhbnNpdGlvbi1jb2xvcnMgYWN0aXZlOnNjYWxlLTk1XCJcbiAgICA+XG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWxnXCI+e2NoaWxkcmVufTwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtWzEwcHhdIGZvbnQtbWVkaXVtXCI+e2xhYmVsfTwvc3Bhbj5cbiAgICA8L2E+XG4gICk7XG59XG5cbmZ1bmN0aW9uIFNpZGVOYXZJdGVtKHsgaHJlZiwgaWNvbiwgbGFiZWwgfTogeyBocmVmOiBzdHJpbmc7IGljb246IFJlYWN0LlJlYWN0Tm9kZTsgbGFiZWw6IHN0cmluZyB9KSB7XG4gIHJldHVybiAoXG4gICAgPGFcbiAgICAgIGhyZWY9e2hyZWZ9XG4gICAgICBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyBweC00IHB5LTIuNSByb3VuZGVkLXhsIHRleHQtc20gdGV4dC10ZXh0LXNlY29uZGFyeSBob3Zlcjp0ZXh0LXRleHQtcHJpbWFyeSBob3ZlcjpiZy13aGl0ZS9bMC4wNF0gdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwXCJcbiAgICA+XG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWJhc2Ugb3BhY2l0eS03MFwiPntpY29ufTwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtbWVkaXVtXCI+e2xhYmVsfTwvc3Bhbj5cbiAgICA8L2E+XG4gICk7XG59XG5cbi8qIFNWRyBJY29ucyAtIGNsZWFuLCBtaW5pbWFsICovXG5mdW5jdGlvbiBEYXNoYm9hcmRJY29uKCkge1xuICByZXR1cm4gKFxuICAgIDxzdmcgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlV2lkdGg9XCIxLjhcIiBzdHJva2VMaW5lY2FwPVwicm91bmRcIiBzdHJva2VMaW5lam9pbj1cInJvdW5kXCI+XG4gICAgICA8cmVjdCB4PVwiM1wiIHk9XCIzXCIgd2lkdGg9XCI3XCIgaGVpZ2h0PVwiN1wiIHJ4PVwiMS41XCIgLz5cbiAgICAgIDxyZWN0IHg9XCIxNFwiIHk9XCIzXCIgd2lkdGg9XCI3XCIgaGVpZ2h0PVwiN1wiIHJ4PVwiMS41XCIgLz5cbiAgICAgIDxyZWN0IHg9XCIzXCIgeT1cIjE0XCIgd2lkdGg9XCI3XCIgaGVpZ2h0PVwiN1wiIHJ4PVwiMS41XCIgLz5cbiAgICAgIDxyZWN0IHg9XCIxNFwiIHk9XCIxNFwiIHdpZHRoPVwiN1wiIGhlaWdodD1cIjdcIiByeD1cIjEuNVwiIC8+XG4gICAgPC9zdmc+XG4gICk7XG59XG5cbmZ1bmN0aW9uIFRhcmdldEljb24oKSB7XG4gIHJldHVybiAoXG4gICAgPHN2ZyB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2VXaWR0aD1cIjEuOFwiIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIj5cbiAgICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIiAvPlxuICAgICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCI2XCIgLz5cbiAgICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMlwiIC8+XG4gICAgPC9zdmc+XG4gICk7XG59XG5cbmZ1bmN0aW9uIEZpcmVJY29uKCkge1xuICByZXR1cm4gKFxuICAgIDxzdmcgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlV2lkdGg9XCIxLjhcIiBzdHJva2VMaW5lY2FwPVwicm91bmRcIiBzdHJva2VMaW5lam9pbj1cInJvdW5kXCI+XG4gICAgICA8cGF0aCBkPVwiTTEyIDJjLjUgMi41LS41IDUtMiA3IDEgMCAyLjUuNSAzIDIuNS41LTIgMi0zIDMtNC0xIDMtMSA2LTQgOC41LTEuNSAxLTMuNSAxLjUtNSAxLTEuNS0uNS0yLjUtMi0yLjUtMy41IDAtMyAzLTUgNS03LjVDMTAgNSAxMSAzLjUgMTIgMnpcIiAvPlxuICAgIDwvc3ZnPlxuICApO1xufVxuXG5mdW5jdGlvbiBDaGF0SWNvbigpIHtcbiAgcmV0dXJuIChcbiAgICA8c3ZnIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZVdpZHRoPVwiMS44XCIgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiPlxuICAgICAgPHBhdGggZD1cIk0yMSAxNWEyIDIgMCAwIDEtMiAySDdsLTQgNFY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnpcIiAvPlxuICAgIDwvc3ZnPlxuICApO1xufVxuIl0sIm5hbWVzIjpbIm1ldGFkYXRhIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsInZpZXdwb3J0Iiwid2lkdGgiLCJpbml0aWFsU2NhbGUiLCJtYXhpbXVtU2NhbGUiLCJ1c2VyU2NhbGFibGUiLCJSb290TGF5b3V0IiwiY2hpbGRyZW4iLCJodG1sIiwibGFuZyIsImJvZHkiLCJjbGFzc05hbWUiLCJkaXYiLCJhc2lkZSIsImgxIiwicCIsIm5hdiIsIlNpZGVOYXZJdGVtIiwiaHJlZiIsImljb24iLCJEYXNoYm9hcmRJY29uIiwibGFiZWwiLCJUYXJnZXRJY29uIiwiRmlyZUljb24iLCJDaGF0SWNvbiIsInNwYW4iLCJtYWluIiwiTW9iaWxlTmF2IiwiTW9iaWxlTmF2SXRlbSIsImEiLCJzdmciLCJoZWlnaHQiLCJ2aWV3Qm94IiwiZmlsbCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwicmVjdCIsIngiLCJ5IiwicngiLCJjaXJjbGUiLCJjeCIsImN5IiwiciIsInBhdGgiLCJkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\n");
|
||
|
||
/***/ }),
|
||
|
||
/***/ "(rsc)/./src/app/sectors/page.tsx":
|
||
/*!**********************************!*\
|
||
!*** ./src/app/sectors/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`/Users/aaron/source_code/astock-agent/frontend/src/app/sectors/page.tsx#default`));
|
||
|
||
|
||
/***/ })
|
||
|
||
};
|
||
;
|
||
|
||
// 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%2Fsectors%2Fpage&page=%2Fsectors%2Fpage&appPaths=%2Fsectors%2Fpage&pagePath=private-next-app-dir%2Fsectors%2Fpage.tsx&appDir=%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Faaron%2Fsource_code%2Fastock-agent%2Ffrontend&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!")));
|
||
module.exports = __webpack_exports__;
|
||
|
||
})(); |