Files
assetx/.next/static/webpack/app/page.42b752b5a1fcdcc8.hot-update.js

88 lines
30 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/).
*/
self["webpackHotUpdate_N_E"]("app/page",{
/***/ "(app-pages-browser)/./components/LanguageSwitch.tsx":
/*!***************************************!*\
!*** ./components/LanguageSwitch.tsx ***!
\***************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ LanguageSwitch)\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 LanguageSwitch() {\n _s();\n const { language, setLanguage } = (0,_contexts_AppContext__WEBPACK_IMPORTED_MODULE_1__.useApp)();\n const toggleLanguage = ()=>{\n setLanguage(language === \"zh\" ? \"en\" : \"zh\");\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: toggleLanguage,\n className: \"bg-bg-surface dark:bg-gray-800 rounded-lg border border-border-normal dark:border-gray-700 px-3 py-2 flex items-center justify-center h-10 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium text-text-primary dark:text-white\",\n children: language === \"zh\" ? \"中\" : \"EN\"\n }, void 0, false, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/components/LanguageSwitch.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/components/LanguageSwitch.tsx\",\n lineNumber: 13,\n columnNumber: 5\n }, this);\n}\n_s(LanguageSwitch, \"8XDu+11+fEj5CfpDtVF3hLUMYJE=\", false, function() {\n return [\n _contexts_AppContext__WEBPACK_IMPORTED_MODULE_1__.useApp\n ];\n});\n_c = LanguageSwitch;\nvar _c;\n$RefreshReg$(_c, \"LanguageSwitch\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbXBvbmVudHMvTGFuZ3VhZ2VTd2l0Y2gudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBRStDO0FBRWhDLFNBQVNDOztJQUN0QixNQUFNLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFLEdBQUdILDREQUFNQTtJQUV4QyxNQUFNSSxpQkFBaUI7UUFDckJELFlBQVlELGFBQWEsT0FBTyxPQUFPO0lBQ3pDO0lBRUEscUJBQ0UsOERBQUNHO1FBQ0NDLFNBQVNGO1FBQ1RHLFdBQVU7a0JBRVYsNEVBQUNDO1lBQUtELFdBQVU7c0JBQ2JMLGFBQWEsT0FBTyxNQUFNOzs7Ozs7Ozs7OztBQUluQztHQWpCd0JEOztRQUNZRCx3REFBTUE7OztLQURsQkMiLCJzb3VyY2VzIjpbIi9ob21lL2NvZGVyL215cHJvamVjdHMvYXNzZXQtZGFzaGJvYXJkLW5leHQvY29tcG9uZW50cy9MYW5ndWFnZVN3aXRjaC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCB7IHVzZUFwcCB9IGZyb20gXCJAL2NvbnRleHRzL0FwcENvbnRleHRcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTGFuZ3VhZ2VTd2l0Y2goKSB7XG4gIGNvbnN0IHsgbGFuZ3VhZ2UsIHNldExhbmd1YWdlIH0gPSB1c2VBcHAoKTtcblxuICBjb25zdCB0b2dnbGVMYW5ndWFnZSA9ICgpID0+IHtcbiAgICBzZXRMYW5ndWFnZShsYW5ndWFnZSA9PT0gXCJ6aFwiID8gXCJlblwiIDogXCJ6aFwiKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIG9uQ2xpY2s9e3RvZ2dsZUxhbmd1YWdlfVxuICAgICAgY2xhc3NOYW1lPVwiYmctYmctc3VyZmFjZSBkYXJrOmJnLWdyYXktODAwIHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci1ib3JkZXItbm9ybWFsIGRhcms6Ym9yZGVyLWdyYXktNzAwIHB4LTMgcHktMiBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBoLTEwIGhvdmVyOmJnLWdyYXktNTAgZGFyazpob3ZlcjpiZy1ncmF5LTcwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXRleHQtcHJpbWFyeSBkYXJrOnRleHQtd2hpdGVcIj5cbiAgICAgICAge2xhbmd1YWdlID09PSBcInpoXCIgPyBcIuS4rVwiIDogXCJFTlwifVxuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICApO1xufVxuIl0sIm5hbWVzIjpbInVzZUFwcCIsIkxhbmd1YWdlU3dpdGNoIiwibGFuZ3VhZ2UiLCJzZXRMYW5ndWFnZSIsInRvZ2dsZUxhbmd1YWdlIiwiYnV0dG9uIiwib25DbGljayIsImNsYXNzTmFtZSIsInNwYW4iXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./components/LanguageSwitch.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./contexts/AppContext.tsx":
/*!*********************************!*\
!*** ./contexts/AppContext.tsx ***!
\*********************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AppProvider: () => (/* binding */ AppProvider),\n/* harmony export */ useApp: () => (/* binding */ useApp)\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/* __next_internal_client_entry_do_not_use__ AppProvider,useApp auto */ \nvar _s = $RefreshSig$(), _s1 = $RefreshSig$();\n\nconst AppContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(undefined);\nfunction AppProvider(param) {\n let { children } = param;\n _s();\n const [language, setLanguage] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"en\");\n const [theme, setTheme] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"light\");\n // Initialize from localStorage\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"AppProvider.useEffect\": ()=>{\n const savedLanguage = localStorage.getItem(\"language\");\n const savedTheme = localStorage.getItem(\"theme\");\n if (savedLanguage) {\n setLanguage(savedLanguage);\n }\n if (savedTheme) {\n setTheme(savedTheme);\n } else {\n // Check system preference\n if (window.matchMedia(\"(prefers-color-scheme: dark)\").matches) {\n setTheme(\"dark\");\n }\n }\n }\n }[\"AppProvider.useEffect\"], []);\n // Apply theme\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"AppProvider.useEffect\": ()=>{\n localStorage.setItem(\"theme\", theme);\n if (theme === \"dark\") {\n document.documentElement.classList.add(\"dark\");\n } else {\n document.documentElement.classList.remove(\"dark\");\n }\n }\n }[\"AppProvider.useEffect\"], [\n theme\n ]);\n // Save language preference\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"AppProvider.useEffect\": ()=>{\n localStorage.setItem(\"language\", language);\n }\n }[\"AppProvider.useEffect\"], [\n language\n ]);\n // Translation function\n const t = (key)=>{\n const translations = __webpack_require__(\"(app-pages-browser)/./locales sync recursive ^\\\\.\\\\/.*\\\\.json$\")(\"./\".concat(language, \".json\"));\n const keys = key.split(\".\");\n let value = translations;\n for (const k of keys){\n value = value === null || value === void 0 ? void 0 : value[k];\n }\n return value || key;\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(AppContext.Provider, {\n value: {\n language,\n setLanguage,\n theme,\n setTheme,\n t\n },\n children: children\n }, void 0, false, {\n fileName: \"/home/coder/myprojects/asset-dashboard-next/contexts/AppContext.tsx\",\n lineNumber: 70,\n columnNumber: 5\n }, this);\n}\n_s(AppProvider, \"iVWKtF1Dw5SyBH5VCyzyrXD9vBs=\");\n_c = AppProvider;\nfunction useApp() {\n _s1();\n const context = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(AppContext);\n if (!context) {\n throw new Error(\"useApp must be used within AppProvider\");\n }\n return context;\n}\n_s1(useApp, \"b9L3QQ+jgeyIrH0NfHrJ8nn7VMU=\");\nvar _c;\n$RefreshReg$(_c, \"AppProvider\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbnRleHRzL0FwcENvbnRleHQudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFFa0Y7QUFhbEYsTUFBTUksMkJBQWFKLG9EQUFhQSxDQUE2Qks7QUFFdEQsU0FBU0MsWUFBWSxLQUFxQztRQUFyQyxFQUFFQyxRQUFRLEVBQTJCLEdBQXJDOztJQUMxQixNQUFNLENBQUNDLFVBQVVDLFlBQVksR0FBR1AsK0NBQVFBLENBQVc7SUFDbkQsTUFBTSxDQUFDUSxPQUFPQyxTQUFTLEdBQUdULCtDQUFRQSxDQUFRO0lBRTFDLCtCQUErQjtJQUMvQkMsZ0RBQVNBO2lDQUFDO1lBQ1IsTUFBTVMsZ0JBQWdCQyxhQUFhQyxPQUFPLENBQUM7WUFDM0MsTUFBTUMsYUFBYUYsYUFBYUMsT0FBTyxDQUFDO1lBRXhDLElBQUlGLGVBQWU7Z0JBQ2pCSCxZQUFZRztZQUNkO1lBRUEsSUFBSUcsWUFBWTtnQkFDZEosU0FBU0k7WUFDWCxPQUFPO2dCQUNMLDBCQUEwQjtnQkFDMUIsSUFBSUMsT0FBT0MsVUFBVSxDQUFDLGdDQUFnQ0MsT0FBTyxFQUFFO29CQUM3RFAsU0FBUztnQkFDWDtZQUNGO1FBQ0Y7Z0NBQUcsRUFBRTtJQUVMLGNBQWM7SUFDZFIsZ0RBQVNBO2lDQUFDO1lBQ1JVLGFBQWFNLE9BQU8sQ0FBQyxTQUFTVDtZQUM5QixJQUFJQSxVQUFVLFFBQVE7Z0JBQ3BCVSxTQUFTQyxlQUFlLENBQUNDLFNBQVMsQ0FBQ0MsR0FBRyxDQUFDO1lBQ3pDLE9BQU87Z0JBQ0xILFNBQVNDLGVBQWUsQ0FBQ0MsU0FBUyxDQUFDRSxNQUFNLENBQUM7WUFDNUM7UUFDRjtnQ0FBRztRQUFDZDtLQUFNO0lBRVYsMkJBQTJCO0lBQzNCUCxnREFBU0E7aUNBQUM7WUFDUlUsYUFBYU0sT0FBTyxDQUFDLFlBQVlYO1FBQ25DO2dDQUFHO1FBQUNBO0tBQVM7SUFFYix1QkFBdUI7SUFDdkIsTUFBTWlCLElBQUksQ0FBQ0M7UUFDVCxNQUFNQyxlQUFlQyxzRkFBUSxLQUF1QixPQUFUcEIsVUFBUztRQUNwRCxNQUFNcUIsT0FBT0gsSUFBSUksS0FBSyxDQUFDO1FBQ3ZCLElBQUlDLFFBQWFKO1FBRWpCLEtBQUssTUFBTUssS0FBS0gsS0FBTTtZQUNwQkUsUUFBUUEsa0JBQUFBLDRCQUFBQSxLQUFPLENBQUNDLEVBQUU7UUFDcEI7UUFFQSxPQUFPRCxTQUFTTDtJQUNsQjtJQUVBLHFCQUNFLDhEQUFDdEIsV0FBVzZCLFFBQVE7UUFBQ0YsT0FBTztZQUFFdkI7WUFBVUM7WUFBYUM7WUFBT0M7WUFBVWM7UUFBRTtrQkFDckVsQjs7Ozs7O0FBR1A7R0F4RGdCRDtLQUFBQTtBQTBEVCxTQUFTNEI7O0lBQ2QsTUFBTUMsVUFBVWxDLGlEQUFVQSxDQUFDRztJQUMzQixJQUFJLENBQUMrQixTQUFTO1FBQ1osTUFBTSxJQUFJQyxNQUFNO0lBQ2xCO0lBQ0EsT0FBT0Q7QUFDVDtJQU5nQkQiLCJzb3VyY2VzIjpbIi9ob21lL2NvZGVyL215cHJvamVjdHMvYXNzZXQtZGFzaGJvYXJkLW5leHQvY29udGV4dHMvQXBwQ29udGV4dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQsIHVzZVN0YXRlLCB1c2VFZmZlY3QsIFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xuXG50eXBlIExhbmd1YWdlID0gXCJ6aFwiIHwgXCJlblwiO1xudHlwZSBUaGVtZSA9IFwibGlnaHRcIiB8IFwiZGFya1wiO1xuXG5pbnRlcmZhY2UgQXBwQ29udGV4dFR5cGUge1xuICBsYW5ndWFnZTogTGFuZ3VhZ2U7XG4gIHNldExhbmd1YWdlOiAobGFuZzogTGFuZ3VhZ2UpID0+IHZvaWQ7XG4gIHRoZW1lOiBUaGVtZTtcbiAgc2V0VGhlbWU6ICh0aGVtZTogVGhlbWUpID0+IHZvaWQ7XG4gIHQ6IChrZXk6IHN0cmluZykgPT4gc3RyaW5nO1xufVxuXG5jb25zdCBBcHBDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxBcHBDb250ZXh0VHlwZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGZ1bmN0aW9uIEFwcFByb3ZpZGVyKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3ROb2RlIH0pIHtcbiAgY29uc3QgW2xhbmd1YWdlLCBzZXRMYW5ndWFnZV0gPSB1c2VTdGF0ZTxMYW5ndWFnZT4oXCJlblwiKTtcbiAgY29uc3QgW3RoZW1lLCBzZXRUaGVtZV0gPSB1c2VTdGF0ZTxUaGVtZT4oXCJsaWdodFwiKTtcblxuICAvLyBJbml0aWFsaXplIGZyb20gbG9jYWxTdG9yYWdlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2F2ZWRMYW5ndWFnZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikgYXMgTGFuZ3VhZ2U7XG4gICAgY29uc3Qgc2F2ZWRUaGVtZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidGhlbWVcIikgYXMgVGhlbWU7XG5cbiAgICBpZiAoc2F2ZWRMYW5ndWFnZSkge1xuICAgICAgc2V0TGFuZ3VhZ2Uoc2F2ZWRMYW5ndWFnZSk7XG4gICAgfVxuXG4gICAgaWYgKHNhdmVkVGhlbWUpIHtcbiAgICAgIHNldFRoZW1lKHNhdmVkVGhlbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBDaGVjayBzeXN0ZW0gcHJlZmVyZW5jZVxuICAgICAgaWYgKHdpbmRvdy5tYXRjaE1lZGlhKFwiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKVwiKS5tYXRjaGVzKSB7XG4gICAgICAgIHNldFRoZW1lKFwiZGFya1wiKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtdKTtcblxuICAvLyBBcHBseSB0aGVtZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwidGhlbWVcIiwgdGhlbWUpO1xuICAgIGlmICh0aGVtZSA9PT0gXCJkYXJrXCIpIHtcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwiZGFya1wiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJkYXJrXCIpO1xuICAgIH1cbiAgfSwgW3RoZW1lXSk7XG5cbiAgLy8gU2F2ZSBsYW5ndWFnZSBwcmVmZXJlbmNlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJsYW5ndWFnZVwiLCBsYW5ndWFnZSk7XG4gIH0sIFtsYW5ndWFnZV0pO1xuXG4gIC8vIFRyYW5zbGF0aW9uIGZ1bmN0aW9uXG4gIGNvbnN0IHQgPSAoa2V5OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgIGNvbnN0IHRyYW5zbGF0aW9ucyA9IHJlcXVpcmUoYC4uL2xvY2FsZXMvJHtsYW5ndWFnZX0uanNvbmApO1xuICAgIGNvbnN0IGtleXMgPSBrZXkuc3BsaXQoXCIuXCIpO1xuICAgIGxldCB2YWx1ZTogYW55ID0gdHJhbnNsYXRpb25zO1xuXG4gICAgZm9yIChjb25zdCBrIG9mIGtleXMpIHtcbiAgICAgIHZhbHVlID0gdmFsdWU/LltrXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWUgfHwga2V5O1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPEFwcENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3sgbGFuZ3VhZ2UsIHNldExhbmd1YWdlLCB0aGVtZSwgc2V0VGhlbWUsIHQgfX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9BcHBDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlQXBwKCkge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChBcHBDb250ZXh0KTtcbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwidXNlQXBwIG11c3QgYmUgdXNlZCB3aXRoaW4gQXBwUHJvdmlkZXJcIik7XG4gIH1cbiAgcmV0dXJuIGNvbnRleHQ7XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlQ29udGV4dCIsInVzZUNvbnRleHQiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIkFwcENvbnRleHQiLCJ1bmRlZmluZWQiLCJBcHBQcm92aWRlciIsImNoaWxkcmVuIiwibGFuZ3VhZ2UiLCJzZXRMYW5ndWFnZSIsInRoZW1lIiwic2V0VGhlbWUiLCJzYXZlZExhbmd1YWdlIiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsInNhdmVkVGhlbWUiLCJ3aW5kb3ciLCJtYXRjaE1lZGlhIiwibWF0Y2hlcyIsInNldEl0ZW0iLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImNsYXNzTGlzdCIsImFkZCIsInJlbW92ZSIsInQiLCJrZXkiLCJ0cmFuc2xhdGlvbnMiLCJyZXF1aXJlIiwia2V5cyIsInNwbGl0IiwidmFsdWUiLCJrIiwiUHJvdmlkZXIiLCJ1c2VBcHAiLCJjb250ZXh0IiwiRXJyb3IiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./contexts/AppContext.tsx\n"));
/***/ }),
/***/ "(app-pages-browser)/./locales sync recursive ^\\.\\/.*\\.json$":
/*!**************************************!*\
!*** ./locales/ sync ^\.\/.*\.json$ ***!
\**************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
var map = {
"./en.json": "(app-pages-browser)/./locales/en.json",
"./zh.json": "(app-pages-browser)/./locales/zh.json"
};
function webpackContext(req) {
var id = webpackContextResolve(req);
return __webpack_require__(id);
}
function webpackContextResolve(req) {
if(!__webpack_require__.o(map, req)) {
var e = new Error("Cannot find module '" + req + "'");
e.code = 'MODULE_NOT_FOUND';
throw e;
}
return map[req];
}
webpackContext.keys = function webpackContextKeys() {
return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = "(app-pages-browser)/./locales sync recursive ^\\.\\/.*\\.json$";
/***/ }),
/***/ "(app-pages-browser)/./locales/en.json":
/*!*************************!*\
!*** ./locales/en.json ***!
\*************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
module.exports = /*#__PURE__*/JSON.parse('{"nav":{"assets":"Assets","alp":"ALP","swap":"Swap","lending":"Lending","transparency":"Transparency","ecosystem":"Ecosystem","points":"Points","globalTVL":"Global TVL","faqs":"FAQs"},"tabs":{"overview":"Overview","assetDescription":"Asset Description","analytics":"Analytics","performanceAnalysis":"Performance Analysis","assetCustody":"Asset Custody & Verification"},"product":{"gyUsEquityIndexToken":"GY-US Equity Index Token","contractAddress":"Contract Address"},"stats":{"currentAPY":"Current APY","totalValueLocked":"Total Value Locked","yourBalance":"Your Balance","yourEarnings":"Your Earnings","availableToWithdraw":"Available to Withdraw"},"assetOverview":{"title":"Asset Overview","mediumRisk":"Medium Risk","underlyingAssets":"Underlying Assets","usEquityIndex":"US Equity Index","maturityRange":"Maturity Range","cap":"Cap","minInvestment":"Min. Investment","poolCapacity":"Pool Capacity","currentPrice":"Current Price"},"apy":{"apyHistory":"APY History","priceHistory":"Price History","lastDays":"Last 30 days","highest":"Highest","lowest":"Lowest"},"description":{"title":"Product Description","content":"The High-Yield US Equity Strategy is a sophisticated investment product designed for qualified investors seeking exposure to a carefully curated portfolio of US equities with strong yield characteristics. This structured product combines traditional equity appreciation potential with enhanced income generation through strategic option overlay strategies."},"mintSwap":{"mint":"Mint","swap":"Swap","deposit":"Deposit","withdraw":"Withdraw","balance":"Bal","max":"MAX","estimatedReturns":"Estimated Returns","estAPY":"Est. APY","estReturns":"Est. Returns","transactionSummary":"Transaction Summary","youGet":"You Get","salesPrice":"Sales Price","fee":"Fee","gas":"Gas","approveDeposit":"Approve & Deposit USDC","termsText":"By depositing, you agree to the","termsOfService":"Terms of Service","and":"and","privacyPolicy":"Privacy Policy"},"protocol":{"title":"Protocol Information","whitepaper":"Whitepaper","documentation":"Documentation","github":"GitHub"},"rewards":{"season1":"Season 1 Rewards","live":"Live","earnPoints":"Earn 1 point per USDC per day holding GY-US","yourPoints":"Your Points","badgeBoost":"Badge Boost","referrals":"Referrals"},"performance":{"title":"Performance Analysis","description":"Historical daily net returns for the High-Yield US Equity Strategy.","ytd":"2025 YTD","dailyNetReturns":"Daily Net Returns (%)","weekdays":{"sun":"SUN","mon":"MON","tue":"TUE","wed":"WED","thu":"THU","fri":"FRI","sat":"SAT"}},"custody":{"title":"Asset Custody & Verification","description":"Real-time view of underlying asset holdings and institutional custodian verification status.","underlyingHoldings":"Underlying Asset Holdings","verifiedBy":"Verified by third-party institutional custodians","lastUpdated":"Last updated","minutesAgo":"minutes ago","custodian":"Custodian","assetType":"Asset Type","maturity":"Maturity","valueUSD":"Value (USD)","status":"Status","verified":"Verified","totalValue":"Total underlying asset value","smartContract":"Smart Contract","smartContractDesc":"Audited by OpenZeppelin & Certik for security and reliability.","compliance":"Compliance","complianceDesc":"SEC-regulated structure & bankruptcy remote legal framework.","proofOfReserves":"Proof of Reserves","proofDesc":"Real-time on-chain verification via Chainlink Oracle.","viewReports":"View Reports","independentVerifications":"Independent Verifications","independentDesc":"Every month, assetX undergoes third-party auditing to ensure complete transparency.","attestationReport":"Attestation Report","viewAllArchive":"View All Archive","morganStanley":"Morgan Stanley","primeBroker":"Prime Broker","usEquityPortfolio":"US Equity Portfolio","days":"days"}}');
/***/ }),
/***/ "(app-pages-browser)/./locales/zh.json":
/*!*************************!*\
!*** ./locales/zh.json ***!
\*************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
"use strict";
module.exports = /*#__PURE__*/JSON.parse('{"nav":{"assets":"资产","alp":"ALP","swap":"交换","lending":"借贷","transparency":"透明度","ecosystem":"生态系统","points":"积分","globalTVL":"全球锁仓总值","faqs":"常见问题"},"tabs":{"overview":"概览","assetDescription":"资产描述","analytics":"分析","performanceAnalysis":"业绩分析","assetCustody":"资产托管与验证"},"product":{"gyUsEquityIndexToken":"GY-US 股票指数代币","contractAddress":"合约地址"},"stats":{"currentAPY":"当前年化收益率","totalValueLocked":"总锁仓价值","yourBalance":"您的余额","yourEarnings":"您的收益","availableToWithdraw":"可提取金额"},"assetOverview":{"title":"资产概览","mediumRisk":"中等风险","underlyingAssets":"基础资产","usEquityIndex":"美国股票指数","maturityRange":"到期日范围","cap":"上限","minInvestment":"最小投资额","poolCapacity":"资金池容量","currentPrice":"当前价格"},"apy":{"apyHistory":"APY 历史","priceHistory":"价格历史","lastDays":"最近 30 天","highest":"最高","lowest":"最低"},"description":{"title":"产品描述","content":"高收益美国股票策略是一种为合格投资者设计的复杂投资产品,旨在提供精心挑选的具有强劲收益特征的美国股票投资组合。该结构化产品通过战略性期权叠加策略,将传统股票增值潜力与增强的收入产生相结合。"},"mintSwap":{"mint":"铸造","swap":"交换","deposit":"存入","withdraw":"提取","balance":"余额","max":"最大","estimatedReturns":"预计收益","estAPY":"预计 APY","estReturns":"预计回报","transactionSummary":"交易摘要","youGet":"您将获得","salesPrice":"销售价格","fee":"手续费","gas":"Gas 费用","approveDeposit":"批准并存入 USDC","termsText":"通过存入,您同意","termsOfService":"服务条款","and":"和","privacyPolicy":"隐私政策"},"protocol":{"title":"协议信息","whitepaper":"白皮书","documentation":"文档","github":"GitHub"},"rewards":{"season1":"第一季奖励","live":"进行中","earnPoints":"持有 GY-US 每天每 USDC 赚取 1 积分","yourPoints":"您的积分","badgeBoost":"徽章加成","referrals":"推荐"},"performance":{"title":"业绩分析","description":"高收益美国股票策略的历史每日净回报。","ytd":"2025 年初至今","dailyNetReturns":"每日净回报 (%)","weekdays":{"sun":"周日","mon":"周一","tue":"周二","wed":"周三","thu":"周四","fri":"周五","sat":"周六"}},"custody":{"title":"资产托管与验证","description":"实时查看基础资产持有情况和机构托管人验证状态。","underlyingHoldings":"基础资产持有量","verifiedBy":"由第三方机构托管人验证","lastUpdated":"最后更新","minutesAgo":"分钟前","custodian":"托管人","assetType":"资产类型","maturity":"到期日","valueUSD":"价值 (USD)","status":"状态","verified":"已验证","totalValue":"基础资产总价值","smartContract":"智能合约","smartContractDesc":"由 OpenZeppelin 和 Certik 审计,确保安全性和可靠性。","compliance":"合规性","complianceDesc":"SEC 监管结构和破产隔离法律框架。","proofOfReserves":"储备证明","proofDesc":"通过 Chainlink Oracle 进行实时链上验证。","viewReports":"查看报告","independentVerifications":"独立验证","independentDesc":"每月 assetX 都会接受第三方审计以确保完全透明。","attestationReport":"证明报告","viewAllArchive":"查看所有存档","morganStanley":"摩根士丹利","primeBroker":"主经纪商","usEquityPortfolio":"美国股票投资组合","days":"天"}}');
/***/ })
});