"use strict"; /* * ATTENTION: An "eval-source-map" devtool has been used. * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ self["webpackHotUpdate_N_E"]("app/page",{ /***/ "(app-pages-browser)/./components/ContentSection.tsx": /*!***************************************!*\ !*** ./components/ContentSection.tsx ***! \***************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ContentSection)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _TabNavigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TabNavigation */ \"(app-pages-browser)/./components/TabNavigation.tsx\");\n/* harmony import */ var _OverviewTab__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./OverviewTab */ \"(app-pages-browser)/./components/OverviewTab.tsx\");\n/* harmony import */ var _contexts_AppContext__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/contexts/AppContext */ \"(app-pages-browser)/./contexts/AppContext.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\n\n\n\nfunction ContentSection() {\n var _tabs_find;\n _s();\n const { t } = (0,_contexts_AppContext__WEBPACK_IMPORTED_MODULE_4__.useApp)();\n const tabs = [\n {\n id: \"overview\",\n label: t(\"tabs.overview\")\n },\n {\n id: \"asset-description\",\n label: t(\"tabs.assetDescription\")\n },\n {\n id: \"analytics\",\n label: t(\"tabs.analytics\")\n },\n {\n id: \"performance-analysis\",\n label: t(\"tabs.performanceAnalysis\")\n },\n {\n id: \"asset-custody\",\n label: t(\"tabs.assetCustody\")\n }\n ];\n const [activeTab, setActiveTab] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"overview\");\n const handleTabChange = (tabId)=>{\n // If clicking asset-description, performance-analysis, or asset-custody, scroll to that section\n if (tabId === \"asset-description\" || tabId === \"performance-analysis\" || tabId === \"asset-custody\") {\n setTimeout(()=>{\n const element = document.getElementById(tabId);\n if (element) {\n element.scrollIntoView({\n behavior: \"smooth\",\n block: \"start\"\n });\n }\n }, 100);\n // Keep active tab as overview\n setActiveTab(\"overview\");\n } else {\n setActiveTab(tabId);\n }\n };\n // Show OverviewTab for overview, asset-description, analytics, performance-analysis, and asset-custody\n const showOverview = [\n \"overview\",\n \"asset-description\",\n \"analytics\",\n \"performance-analysis\",\n \"asset-custody\"\n ].includes(activeTab);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col gap-6 w-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_TabNavigation__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n tabs: tabs,\n defaultActiveId: \"overview\",\n onTabChange: handleTabChange\n }, void 0, false, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/components/ContentSection.tsx\",\n lineNumber: 43,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full\",\n children: [\n showOverview && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_OverviewTab__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {}, void 0, false, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/components/ContentSection.tsx\",\n lineNumber: 51,\n columnNumber: 26\n }, this),\n !showOverview && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-bg-surface rounded-2xl border border-border-normal p-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-text-tertiary\",\n children: [\n (_tabs_find = tabs.find((t)=>t.id === activeTab)) === null || _tabs_find === void 0 ? void 0 : _tabs_find.label,\n \" content will be displayed here...\"\n ]\n }, void 0, true, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/components/ContentSection.tsx\",\n lineNumber: 54,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/components/ContentSection.tsx\",\n lineNumber: 53,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/components/ContentSection.tsx\",\n lineNumber: 50,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/components/ContentSection.tsx\",\n lineNumber: 41,\n columnNumber: 5\n }, this);\n}\n_s(ContentSection, \"eqRdhQGk+Z/riK3aZ19PcsO07rg=\", false, function() {\n return [\n _contexts_AppContext__WEBPACK_IMPORTED_MODULE_4__.useApp\n ];\n});\n_c = ContentSection;\nvar _c;\n$RefreshReg$(_c, \"ContentSection\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvQ29udGVudFNlY3Rpb24udHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUVpQztBQUNXO0FBQ0o7QUFDTztBQUVoQyxTQUFTSTtRQStDVEM7O0lBOUNiLE1BQU0sRUFBRUMsQ0FBQyxFQUFFLEdBQUdILDREQUFNQTtJQUVwQixNQUFNRSxPQUFPO1FBQ1g7WUFBRUUsSUFBSTtZQUFZQyxPQUFPRixFQUFFO1FBQWlCO1FBQzVDO1lBQUVDLElBQUk7WUFBcUJDLE9BQU9GLEVBQUU7UUFBeUI7UUFDN0Q7WUFBRUMsSUFBSTtZQUFhQyxPQUFPRixFQUFFO1FBQWtCO1FBQzlDO1lBQUVDLElBQUk7WUFBd0JDLE9BQU9GLEVBQUU7UUFBNEI7UUFDbkU7WUFBRUMsSUFBSTtZQUFpQkMsT0FBT0YsRUFBRTtRQUFxQjtLQUN0RDtJQUVELE1BQU0sQ0FBQ0csV0FBV0MsYUFBYSxHQUFHViwrQ0FBUUEsQ0FBQztJQUUzQyxNQUFNVyxrQkFBa0IsQ0FBQ0M7UUFDdkIsZ0dBQWdHO1FBQ2hHLElBQUlBLFVBQVUsdUJBQXVCQSxVQUFVLDBCQUEwQkEsVUFBVSxpQkFBaUI7WUFDbEdDLFdBQVc7Z0JBQ1QsTUFBTUMsVUFBVUMsU0FBU0MsY0FBYyxDQUFDSjtnQkFDeEMsSUFBSUUsU0FBUztvQkFDWEEsUUFBUUcsY0FBYyxDQUFDO3dCQUFFQyxVQUFVO3dCQUFVQyxPQUFPO29CQUFRO2dCQUM5RDtZQUNGLEdBQUc7WUFDSCw4QkFBOEI7WUFDOUJULGFBQWE7UUFDZixPQUFPO1lBQ0xBLGFBQWFFO1FBQ2Y7SUFDRjtJQUVBLHVHQUF1RztJQUN2RyxNQUFNUSxlQUFlO1FBQUM7UUFBWTtRQUFxQjtRQUFhO1FBQXdCO0tBQWdCLENBQUNDLFFBQVEsQ0FBQ1o7SUFFdEgscUJBQ0UsOERBQUNhO1FBQUlDLFdBQVU7OzBCQUViLDhEQUFDdEIsc0RBQWFBO2dCQUNaSSxNQUFNQTtnQkFDTm1CLGlCQUFnQjtnQkFDaEJDLGFBQWFkOzs7Ozs7MEJBSWYsOERBQUNXO2dCQUFJQyxXQUFVOztvQkFDWkgsOEJBQWdCLDhEQUFDbEIsb0RBQVdBOzs7OztvQkFDNUIsQ0FBQ2tCLDhCQUNBLDhEQUFDRTt3QkFBSUMsV0FBVTtrQ0FDYiw0RUFBQ0c7NEJBQUVILFdBQVU7O2lDQUNWbEIsYUFBQUEsS0FBS3NCLElBQUksQ0FBQyxDQUFDckIsSUFBTUEsRUFBRUMsRUFBRSxLQUFLRSx3QkFBMUJKLGlDQUFBQSxXQUFzQ0csS0FBSztnQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUTNEO0dBdkR3Qko7O1FBQ1JELHdEQUFNQTs7O0tBREVDIiwic291cmNlcyI6WyIvaG9tZS9jb2Rlci9teXByb2plY3RzL2Fzc2V0LWRhc2hib2FyZC1uZXh0L2NvbXBvbmVudHMvQ29udGVudFNlY3Rpb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFRhYk5hdmlnYXRpb24gZnJvbSBcIi4vVGFiTmF2aWdhdGlvblwiO1xuaW1wb3J0IE92ZXJ2aWV3VGFiIGZyb20gXCIuL092ZXJ2aWV3VGFiXCI7XG5pbXBvcnQgeyB1c2VBcHAgfSBmcm9tIFwiQC9jb250ZXh0cy9BcHBDb250ZXh0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIENvbnRlbnRTZWN0aW9uKCkge1xuICBjb25zdCB7IHQgfSA9IHVzZUFwcCgpO1xuXG4gIGNvbnN0IHRhYnMgPSBbXG4gICAgeyBpZDogXCJvdmVydmlld1wiLCBsYWJlbDogdChcInRhYnMub3ZlcnZpZXdcIikgfSxcbiAgICB7IGlkOiBcImFzc2V0LWRlc2NyaXB0aW9uXCIsIGxhYmVsOiB0KFwidGFicy5hc3NldERlc2NyaXB0aW9uXCIpIH0sXG4gICAgeyBpZDogXCJhbmFseXRpY3NcIiwgbGFiZWw6IHQoXCJ0YWJzLmFuYWx5dGljc1wiKSB9LFxuICAgIHsgaWQ6IFwicGVyZm9ybWFuY2UtYW5hbHlzaXNcIiwgbGFiZWw6IHQoXCJ0YWJzLnBlcmZvcm1hbmNlQW5hbHlzaXNcIikgfSxcbiAgICB7IGlkOiBcImFzc2V0LWN1c3RvZHlcIiwgbGFiZWw6IHQoXCJ0YWJzLmFzc2V0Q3VzdG9keVwiKSB9LFxuICBdO1xuXG4gIGNvbnN0IFthY3RpdmVUYWIsIHNldEFjdGl2ZVRhYl0gPSB1c2VTdGF0ZShcIm92ZXJ2aWV3XCIpO1xuXG4gIGNvbnN0IGhhbmRsZVRhYkNoYW5nZSA9ICh0YWJJZDogc3RyaW5nKSA9PiB7XG4gICAgLy8gSWYgY2xpY2tpbmcgYXNzZXQtZGVzY3JpcHRpb24sIHBlcmZvcm1hbmNlLWFuYWx5c2lzLCBvciBhc3NldC1jdXN0b2R5LCBzY3JvbGwgdG8gdGhhdCBzZWN0aW9uXG4gICAgaWYgKHRhYklkID09PSBcImFzc2V0LWRlc2NyaXB0aW9uXCIgfHwgdGFiSWQgPT09IFwicGVyZm9ybWFuY2UtYW5hbHlzaXNcIiB8fCB0YWJJZCA9PT0gXCJhc3NldC1jdXN0b2R5XCIpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFiSWQpO1xuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogXCJzbW9vdGhcIiwgYmxvY2s6IFwic3RhcnRcIiB9KTtcbiAgICAgICAgfVxuICAgICAgfSwgMTAwKTtcbiAgICAgIC8vIEtlZXAgYWN0aXZlIHRhYiBhcyBvdmVydmlld1xuICAgICAgc2V0QWN0aXZlVGFiKFwib3ZlcnZpZXdcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFjdGl2ZVRhYih0YWJJZCk7XG4gICAgfVxuICB9O1xuXG4gIC8vIFNob3cgT3ZlcnZpZXdUYWIgZm9yIG92ZXJ2aWV3LCBhc3NldC1kZXNjcmlwdGlvbiwgYW5hbHl0aWNzLCBwZXJmb3JtYW5jZS1hbmFseXNpcywgYW5kIGFzc2V0LWN1c3RvZHlcbiAgY29uc3Qgc2hvd092ZXJ2aWV3ID0gW1wib3ZlcnZpZXdcIiwgXCJhc3NldC1kZXNjcmlwdGlvblwiLCBcImFuYWx5dGljc1wiLCBcInBlcmZvcm1hbmNlLWFuYWx5c2lzXCIsIFwiYXNzZXQtY3VzdG9keVwiXS5pbmNsdWRlcyhhY3RpdmVUYWIpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGdhcC02IHctZnVsbFwiPlxuICAgICAgey8qIFRhYiBOYXZpZ2F0aW9uICovfVxuICAgICAgPFRhYk5hdmlnYXRpb25cbiAgICAgICAgdGFicz17dGFic31cbiAgICAgICAgZGVmYXVsdEFjdGl2ZUlkPVwib3ZlcnZpZXdcIlxuICAgICAgICBvblRhYkNoYW5nZT17aGFuZGxlVGFiQ2hhbmdlfVxuICAgICAgLz5cblxuICAgICAgey8qIENvbnRlbnQgQXJlYSAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy1mdWxsXCI+XG4gICAgICAgIHtzaG93T3ZlcnZpZXcgJiYgPE92ZXJ2aWV3VGFiIC8+fVxuICAgICAgICB7IXNob3dPdmVydmlldyAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiZy1iZy1zdXJmYWNlIHJvdW5kZWQtMnhsIGJvcmRlciBib3JkZXItYm9yZGVyLW5vcm1hbCBwLTZcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtdGV4dC10ZXJ0aWFyeVwiPlxuICAgICAgICAgICAgICB7dGFicy5maW5kKCh0KSA9PiB0LmlkID09PSBhY3RpdmVUYWIpPy5sYWJlbH0gY29udGVudCB3aWxsIGJlXG4gICAgICAgICAgICAgIGRpc3BsYXllZCBoZXJlLi4uXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsIlRhYk5hdmlnYXRpb24iLCJPdmVydmlld1RhYiIsInVzZUFwcCIsIkNvbnRlbnRTZWN0aW9uIiwidGFicyIsInQiLCJpZCIsImxhYmVsIiwiYWN0aXZlVGFiIiwic2V0QWN0aXZlVGFiIiwiaGFuZGxlVGFiQ2hhbmdlIiwidGFiSWQiLCJzZXRUaW1lb3V0IiwiZWxlbWVudCIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJzY3JvbGxJbnRvVmlldyIsImJlaGF2aW9yIiwiYmxvY2siLCJzaG93T3ZlcnZpZXciLCJpbmNsdWRlcyIsImRpdiIsImNsYXNzTmFtZSIsImRlZmF1bHRBY3RpdmVJZCIsIm9uVGFiQ2hhbmdlIiwicCIsImZpbmQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/ContentSection.tsx\n")); /***/ }) });