22 lines
15 KiB
JavaScript
22 lines
15 KiB
JavaScript
"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/StatsCards.tsx":
|
|
/*!***********************************!*\
|
|
!*** ./components/StatsCards.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 */ StatsCards)\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 _contexts_AppContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/contexts/AppContext */ \"(app-pages-browser)/./contexts/AppContext.tsx\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\nfunction StatCard(param) {\n let { label, value, change, changeColor = \"text-green-500\", valueColor } = param;\n const getValueColor = ()=>{\n if (valueColor) return valueColor;\n if (label.includes(\"APY\") || label.includes(\"年化\")) return \"#ff6900\";\n return \"#111827\";\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-bg-subtle dark:bg-gray-700 rounded-2xl border border-border-gray dark:border-gray-600 p-4 flex flex-col gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-caption-tiny font-bold text-text-tertiary dark:text-gray-400 uppercase tracking-wider\",\n children: label\n }, void 0, false, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/components/StatsCards.tsx\",\n lineNumber: 28,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-heading-h3 font-bold dark:text-white\",\n style: {\n color: getValueColor()\n },\n children: value\n }, void 0, false, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/components/StatsCards.tsx\",\n lineNumber: 31,\n columnNumber: 7\n }, this),\n change && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-caption-tiny font-medium \".concat(changeColor, \" dark:text-gray-400\"),\n children: change\n }, void 0, false, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/components/StatsCards.tsx\",\n lineNumber: 35,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/components/StatsCards.tsx\",\n lineNumber: 27,\n columnNumber: 5\n }, this);\n}\n_c = StatCard;\nfunction StatsCards() {\n _s();\n const { t } = (0,_contexts_AppContext__WEBPACK_IMPORTED_MODULE_1__.useApp)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-5 gap-4 w-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(StatCard, {\n label: t(\"stats.currentAPY\"),\n value: \"22%\",\n change: \"+2.5% WoW\",\n changeColor: \"text-green-500\"\n }, void 0, false, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/components/StatsCards.tsx\",\n lineNumber: 48,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(StatCard, {\n label: t(\"stats.totalValueLocked\"),\n value: \"$240.5M\",\n change: \"+$2.3M Today\",\n changeColor: \"text-green-500\"\n }, void 0, false, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/components/StatsCards.tsx\",\n lineNumber: 49,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(StatCard, {\n label: \"24h Volume\",\n value: \"$12.8M\",\n change: \"↑ 23% vs Avg\",\n changeColor: \"text-green-500\"\n }, void 0, false, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/components/StatsCards.tsx\",\n lineNumber: 50,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(StatCard, {\n label: t(\"stats.yourBalance\"),\n value: \"0.00\",\n change: \"$0.00 USD\",\n changeColor: \"text-text-tertiary\"\n }, void 0, false, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/components/StatsCards.tsx\",\n lineNumber: 51,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(StatCard, {\n label: t(\"stats.yourEarnings\"),\n value: \"$0.00\",\n change: \"All Time\",\n changeColor: \"text-text-tertiary\",\n valueColor: \"#10b981\"\n }, void 0, false, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/components/StatsCards.tsx\",\n lineNumber: 52,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/components/StatsCards.tsx\",\n lineNumber: 47,\n columnNumber: 5\n }, this);\n}\n_s(StatsCards, \"rmdboRahqM69INa/+46anrA8qcQ=\", false, function() {\n return [\n _contexts_AppContext__WEBPACK_IMPORTED_MODULE_1__.useApp\n ];\n});\n_c1 = StatsCards;\nvar _c, _c1;\n$RefreshReg$(_c, \"StatCard\");\n$RefreshReg$(_c1, \"StatsCards\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvU3RhdHNDYXJkcy50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFFK0M7QUFVL0MsU0FBU0MsU0FBUyxLQU1GO1FBTkUsRUFDaEJDLEtBQUssRUFDTEMsS0FBSyxFQUNMQyxNQUFNLEVBQ05DLGNBQWMsZ0JBQWdCLEVBQzlCQyxVQUFVLEVBQ0ksR0FORTtJQU9oQixNQUFNQyxnQkFBZ0I7UUFDcEIsSUFBSUQsWUFBWSxPQUFPQTtRQUN2QixJQUFJSixNQUFNTSxRQUFRLENBQUMsVUFBVU4sTUFBTU0sUUFBUSxDQUFDLE9BQU8sT0FBTztRQUMxRCxPQUFPO0lBQ1Q7SUFFQSxxQkFDRSw4REFBQ0M7UUFBSUMsV0FBVTs7MEJBQ2IsOERBQUNDO2dCQUFFRCxXQUFVOzBCQUNWUjs7Ozs7OzBCQUVILDhEQUFDUztnQkFBRUQsV0FBVTtnQkFBNENFLE9BQU87b0JBQUVDLE9BQU9OO2dCQUFnQjswQkFDdEZKOzs7Ozs7WUFFRkMsd0JBQ0MsOERBQUNPO2dCQUFFRCxXQUFXLGlDQUE2QyxPQUFaTCxhQUFZOzBCQUN4REQ7Ozs7Ozs7Ozs7OztBQUtYO0tBNUJTSDtBQThCTSxTQUFTYTs7SUFDdEIsTUFBTSxFQUFFQyxDQUFDLEVBQUUsR0FBR2YsNERBQU1BO0lBRXBCLHFCQUNFLDhEQUFDUztRQUFJQyxXQUFVOzswQkFDYiw4REFBQ1Q7Z0JBQVNDLE9BQU9hLEVBQUU7Z0JBQXFCWixPQUFNO2dCQUFNQyxRQUFPO2dCQUFZQyxhQUFZOzs7Ozs7MEJBQ25GLDhEQUFDSjtnQkFBU0MsT0FBT2EsRUFBRTtnQkFBMkJaLE9BQU07Z0JBQVVDLFFBQU87Z0JBQWVDLGFBQVk7Ozs7OzswQkFDaEcsOERBQUNKO2dCQUFTQyxPQUFNO2dCQUFhQyxPQUFNO2dCQUFTQyxRQUFPO2dCQUFlQyxhQUFZOzs7Ozs7MEJBQzlFLDhEQUFDSjtnQkFBU0MsT0FBT2EsRUFBRTtnQkFBc0JaLE9BQU07Z0JBQU9DLFFBQU87Z0JBQVlDLGFBQVk7Ozs7OzswQkFDckYsOERBQUNKO2dCQUNDQyxPQUFPYSxFQUFFO2dCQUNUWixPQUFNO2dCQUNOQyxRQUFPO2dCQUNQQyxhQUFZO2dCQUNaQyxZQUFXOzs7Ozs7Ozs7Ozs7QUFJbkI7R0FsQndCUTs7UUFDUmQsd0RBQU1BOzs7TUFERWMiLCJzb3VyY2VzIjpbIi9ob21lL2NvZGVyL215cHJvamVjdHMvYXNzZXQtZGFzaGJvYXJkLW5leHQvY29tcG9uZW50cy9TdGF0c0NhcmRzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuaW1wb3J0IHsgdXNlQXBwIH0gZnJvbSBcIkAvY29udGV4dHMvQXBwQ29udGV4dFwiO1xuXG5pbnRlcmZhY2UgU3RhdENhcmRQcm9wcyB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGNoYW5nZT86IHN0cmluZztcbiAgY2hhbmdlQ29sb3I/OiBzdHJpbmc7XG4gIHZhbHVlQ29sb3I/OiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIFN0YXRDYXJkKHtcbiAgbGFiZWwsXG4gIHZhbHVlLFxuICBjaGFuZ2UsXG4gIGNoYW5nZUNvbG9yID0gXCJ0ZXh0LWdyZWVuLTUwMFwiLFxuICB2YWx1ZUNvbG9yXG59OiBTdGF0Q2FyZFByb3BzKSB7XG4gIGNvbnN0IGdldFZhbHVlQ29sb3IgPSAoKSA9PiB7XG4gICAgaWYgKHZhbHVlQ29sb3IpIHJldHVybiB2YWx1ZUNvbG9yO1xuICAgIGlmIChsYWJlbC5pbmNsdWRlcyhcIkFQWVwiKSB8fCBsYWJlbC5pbmNsdWRlcyhcIuW5tOWMllwiKSkgcmV0dXJuIFwiI2ZmNjkwMFwiO1xuICAgIHJldHVybiBcIiMxMTE4MjdcIjtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiYmctYmctc3VidGxlIGRhcms6YmctZ3JheS03MDAgcm91bmRlZC0yeGwgYm9yZGVyIGJvcmRlci1ib3JkZXItZ3JheSBkYXJrOmJvcmRlci1ncmF5LTYwMCBwLTQgZmxleCBmbGV4LWNvbCBnYXAtMlwiPlxuICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1jYXB0aW9uLXRpbnkgZm9udC1ib2xkIHRleHQtdGV4dC10ZXJ0aWFyeSBkYXJrOnRleHQtZ3JheS00MDAgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVyXCI+XG4gICAgICAgIHtsYWJlbH1cbiAgICAgIDwvcD5cbiAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtaGVhZGluZy1oMyBmb250LWJvbGQgZGFyazp0ZXh0LXdoaXRlXCIgc3R5bGU9e3sgY29sb3I6IGdldFZhbHVlQ29sb3IoKSB9fT5cbiAgICAgICAge3ZhbHVlfVxuICAgICAgPC9wPlxuICAgICAge2NoYW5nZSAmJiAoXG4gICAgICAgIDxwIGNsYXNzTmFtZT17YHRleHQtY2FwdGlvbi10aW55IGZvbnQtbWVkaXVtICR7Y2hhbmdlQ29sb3J9IGRhcms6dGV4dC1ncmF5LTQwMGB9PlxuICAgICAgICAgIHtjaGFuZ2V9XG4gICAgICAgIDwvcD5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFN0YXRzQ2FyZHMoKSB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlQXBwKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTUgZ2FwLTQgdy1mdWxsXCI+XG4gICAgICA8U3RhdENhcmQgbGFiZWw9e3QoXCJzdGF0cy5jdXJyZW50QVBZXCIpfSB2YWx1ZT1cIjIyJVwiIGNoYW5nZT1cIisyLjUlIFdvV1wiIGNoYW5nZUNvbG9yPVwidGV4dC1ncmVlbi01MDBcIiAvPlxuICAgICAgPFN0YXRDYXJkIGxhYmVsPXt0KFwic3RhdHMudG90YWxWYWx1ZUxvY2tlZFwiKX0gdmFsdWU9XCIkMjQwLjVNXCIgY2hhbmdlPVwiKyQyLjNNIFRvZGF5XCIgY2hhbmdlQ29sb3I9XCJ0ZXh0LWdyZWVuLTUwMFwiIC8+XG4gICAgICA8U3RhdENhcmQgbGFiZWw9XCIyNGggVm9sdW1lXCIgdmFsdWU9XCIkMTIuOE1cIiBjaGFuZ2U9XCLihpEgMjMlIHZzIEF2Z1wiIGNoYW5nZUNvbG9yPVwidGV4dC1ncmVlbi01MDBcIiAvPlxuICAgICAgPFN0YXRDYXJkIGxhYmVsPXt0KFwic3RhdHMueW91ckJhbGFuY2VcIil9IHZhbHVlPVwiMC4wMFwiIGNoYW5nZT1cIiQwLjAwIFVTRFwiIGNoYW5nZUNvbG9yPVwidGV4dC10ZXh0LXRlcnRpYXJ5XCIgLz5cbiAgICAgIDxTdGF0Q2FyZFxuICAgICAgICBsYWJlbD17dChcInN0YXRzLnlvdXJFYXJuaW5nc1wiKX1cbiAgICAgICAgdmFsdWU9XCIkMC4wMFwiXG4gICAgICAgIGNoYW5nZT1cIkFsbCBUaW1lXCJcbiAgICAgICAgY2hhbmdlQ29sb3I9XCJ0ZXh0LXRleHQtdGVydGlhcnlcIlxuICAgICAgICB2YWx1ZUNvbG9yPVwiIzEwYjk4MVwiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuICApO1xufVxuIl0sIm5hbWVzIjpbInVzZUFwcCIsIlN0YXRDYXJkIiwibGFiZWwiLCJ2YWx1ZSIsImNoYW5nZSIsImNoYW5nZUNvbG9yIiwidmFsdWVDb2xvciIsImdldFZhbHVlQ29sb3IiLCJpbmNsdWRlcyIsImRpdiIsImNsYXNzTmFtZSIsInAiLCJzdHlsZSIsImNvbG9yIiwiU3RhdHNDYXJkcyIsInQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/StatsCards.tsx\n"));
|
|
|
|
/***/ })
|
|
|
|
}); |