CampFireID/.next/static/webpack/app/page.2587a51349249c58.hot-update.js
degradin 22cc9ef144 SSR Fixes
Добавили динамический импорт Telegram Web App SDK с помощью import(), чтобы он загружался только на клиенте
Добавили состояние загрузки и компонент Spinner для лучшего UX
Исправили типы в компонентах:
Используем IShopItem вместо собственного интерфейса ShopItem
Создали тип SafeUser, который исключает свойства mongoose Document из типа пользователя
Добавили безопасную проверку на наличие пользователя в данных Telegram WebApp
2025-03-16 11:37:54 +03:00

22 lines
23 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"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)/./app/components/Shop.tsx":
/*!*********************************!*\
!*** ./app/components/Shop.tsx ***!
\*********************************/
/***/ (function(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 */ Shop: function() { return /* binding */ Shop; }\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 _chakra_ui_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @chakra-ui/react */ \"(app-pages-browser)/./node_modules/@chakra-ui/react/dist/esm/toast/use-toast.mjs\");\n/* harmony import */ var _chakra_ui_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @chakra-ui/react */ \"(app-pages-browser)/./node_modules/@chakra-ui/react/dist/esm/color-mode/color-mode-context.mjs\");\n/* harmony import */ var _chakra_ui_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @chakra-ui/react */ \"(app-pages-browser)/./node_modules/@chakra-ui/react/dist/esm/box/box.mjs\");\n/* harmony import */ var _chakra_ui_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @chakra-ui/react */ \"(app-pages-browser)/./node_modules/@chakra-ui/react/dist/esm/typography/text.mjs\");\n/* harmony import */ var _chakra_ui_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @chakra-ui/react */ \"(app-pages-browser)/./node_modules/@chakra-ui/react/dist/esm/grid/grid.mjs\");\n/* harmony import */ var _chakra_ui_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @chakra-ui/react */ \"(app-pages-browser)/./node_modules/@chakra-ui/react/dist/esm/stack/v-stack.mjs\");\n/* harmony import */ var _chakra_ui_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @chakra-ui/react */ \"(app-pages-browser)/./node_modules/@chakra-ui/react/dist/esm/image/image.mjs\");\n/* harmony import */ var _chakra_ui_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @chakra-ui/react */ \"(app-pages-browser)/./node_modules/@chakra-ui/react/dist/esm/button/button.mjs\");\n/* __next_internal_client_entry_do_not_use__ Shop auto */ \nvar _s = $RefreshSig$();\n\n\nconst Shop = (param)=>{\n let { items, userBalance, onPurchase } = param;\n _s();\n const toast = (0,_chakra_ui_react__WEBPACK_IMPORTED_MODULE_2__.useToast)();\n const bgColor = (0,_chakra_ui_react__WEBPACK_IMPORTED_MODULE_3__.useColorModeValue)(\"white\", \"gray.800\");\n const borderColor = (0,_chakra_ui_react__WEBPACK_IMPORTED_MODULE_3__.useColorModeValue)(\"gray.200\", \"gray.700\");\n const handlePurchase = async (item)=>{\n if (userBalance < item.price) {\n toast({\n title: \"Недостаточно средств\",\n description: \"У вас недостаточно Campfire монет для покупки этого предмета\",\n status: \"error\",\n duration: 3000,\n isClosable: true\n });\n return;\n }\n try {\n await onPurchase(item.id);\n toast({\n title: \"Покупка успешна!\",\n description: \"Вы приобрели \".concat(item.name),\n status: \"success\",\n duration: 3000,\n isClosable: true\n });\n } catch (error) {\n toast({\n title: \"Ошибка при покупке\",\n description: \"Произошла ошибка при совершении покупки\",\n status: \"error\",\n duration: 3000,\n isClosable: true\n });\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_chakra_ui_react__WEBPACK_IMPORTED_MODULE_4__.Box, {\n p: 4,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_chakra_ui_react__WEBPACK_IMPORTED_MODULE_5__.Text, {\n fontSize: \"2xl\",\n fontWeight: \"bold\",\n mb: 4,\n children: \"Магазин\"\n }, void 0, false, {\n fileName: \"D:\\\\dev\\\\Telegram\\\\CampFireID\\\\app\\\\components\\\\Shop.tsx\",\n lineNumber: 61,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_chakra_ui_react__WEBPACK_IMPORTED_MODULE_5__.Text, {\n mb: 4,\n children: [\n \"Ваш баланс: \",\n userBalance,\n \" \\uD83D\\uDD25\"\n ]\n }, void 0, true, {\n fileName: \"D:\\\\dev\\\\Telegram\\\\CampFireID\\\\app\\\\components\\\\Shop.tsx\",\n lineNumber: 64,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_chakra_ui_react__WEBPACK_IMPORTED_MODULE_6__.Grid, {\n templateColumns: [\n \"1fr\",\n \"repeat(2, 1fr)\",\n \"repeat(3, 1fr)\"\n ],\n gap: 4,\n children: items.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_chakra_ui_react__WEBPACK_IMPORTED_MODULE_4__.Box, {\n p: 4,\n borderWidth: \"1px\",\n borderRadius: \"lg\",\n borderColor: borderColor,\n bg: bgColor,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_chakra_ui_react__WEBPACK_IMPORTED_MODULE_7__.VStack, {\n spacing: 3,\n children: [\n item.imageUrl && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_chakra_ui_react__WEBPACK_IMPORTED_MODULE_8__.Image, {\n src: item.imageUrl,\n alt: item.name,\n boxSize: \"100px\",\n objectFit: \"cover\",\n borderRadius: \"md\"\n }, void 0, false, {\n fileName: \"D:\\\\dev\\\\Telegram\\\\CampFireID\\\\app\\\\components\\\\Shop.tsx\",\n lineNumber: 80,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_chakra_ui_react__WEBPACK_IMPORTED_MODULE_5__.Text, {\n fontWeight: \"bold\",\n children: item.name\n }, void 0, false, {\n fileName: \"D:\\\\dev\\\\Telegram\\\\CampFireID\\\\app\\\\components\\\\Shop.tsx\",\n lineNumber: 88,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_chakra_ui_react__WEBPACK_IMPORTED_MODULE_5__.Text, {\n fontSize: \"sm\",\n color: \"gray.500\",\n children: item.description\n }, void 0, false, {\n fileName: \"D:\\\\dev\\\\Telegram\\\\CampFireID\\\\app\\\\components\\\\Shop.tsx\",\n lineNumber: 89,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_chakra_ui_react__WEBPACK_IMPORTED_MODULE_5__.Text, {\n color: \"green.500\",\n fontWeight: \"bold\",\n children: [\n item.price,\n \" \\uD83D\\uDD25\"\n ]\n }, void 0, true, {\n fileName: \"D:\\\\dev\\\\Telegram\\\\CampFireID\\\\app\\\\components\\\\Shop.tsx\",\n lineNumber: 92,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_chakra_ui_react__WEBPACK_IMPORTED_MODULE_9__.Button, {\n colorScheme: \"blue\",\n width: \"full\",\n onClick: ()=>handlePurchase(item),\n isDisabled: userBalance < item.price,\n children: \"Купить\"\n }, void 0, false, {\n fileName: \"D:\\\\dev\\\\Telegram\\\\CampFireID\\\\app\\\\components\\\\Shop.tsx\",\n lineNumber: 95,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\dev\\\\Telegram\\\\CampFireID\\\\app\\\\components\\\\Shop.tsx\",\n lineNumber: 78,\n columnNumber: 13\n }, undefined)\n }, item.id, false, {\n fileName: \"D:\\\\dev\\\\Telegram\\\\CampFireID\\\\app\\\\components\\\\Shop.tsx\",\n lineNumber: 70,\n columnNumber: 11\n }, undefined))\n }, void 0, false, {\n fileName: \"D:\\\\dev\\\\Telegram\\\\CampFireID\\\\app\\\\components\\\\Shop.tsx\",\n lineNumber: 68,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\dev\\\\Telegram\\\\CampFireID\\\\app\\\\components\\\\Shop.tsx\",\n lineNumber: 60,\n columnNumber: 5\n }, undefined);\n};\n_s(Shop, \"vzfU9PUo+vMzRXxkJM2YNQbWXLg=\", false, function() {\n return [\n _chakra_ui_react__WEBPACK_IMPORTED_MODULE_2__.useToast,\n _chakra_ui_react__WEBPACK_IMPORTED_MODULE_3__.useColorModeValue,\n _chakra_ui_react__WEBPACK_IMPORTED_MODULE_3__.useColorModeValue\n ];\n});\n_c = Shop;\nvar _c;\n$RefreshReg$(_c, \"Shop\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2FwcC9jb21wb25lbnRzL1Nob3AudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTBCO0FBVUE7QUFTbkIsTUFBTVMsT0FBNEI7UUFBQyxFQUFFQyxLQUFLLEVBQUVDLFdBQVcsRUFBRUMsVUFBVSxFQUFFOztJQUMxRSxNQUFNQyxRQUFRTiwwREFBUUE7SUFDdEIsTUFBTU8sVUFBVU4sbUVBQWlCQSxDQUFDLFNBQVM7SUFDM0MsTUFBTU8sY0FBY1AsbUVBQWlCQSxDQUFDLFlBQVk7SUFFbEQsTUFBTVEsaUJBQWlCLE9BQU9DO1FBQzVCLElBQUlOLGNBQWNNLEtBQUtDLEtBQUssRUFBRTtZQUM1QkwsTUFBTTtnQkFDSk0sT0FBTztnQkFDUEMsYUFBYTtnQkFDYkMsUUFBUTtnQkFDUkMsVUFBVTtnQkFDVkMsWUFBWTtZQUNkO1lBQ0E7UUFDRjtRQUVBLElBQUk7WUFDRixNQUFNWCxXQUFXSyxLQUFLTyxFQUFFO1lBQ3hCWCxNQUFNO2dCQUNKTSxPQUFPO2dCQUNQQyxhQUFhLGdCQUEwQixPQUFWSCxLQUFLUSxJQUFJO2dCQUN0Q0osUUFBUTtnQkFDUkMsVUFBVTtnQkFDVkMsWUFBWTtZQUNkO1FBQ0YsRUFBRSxPQUFPRyxPQUFPO1lBQ2RiLE1BQU07Z0JBQ0pNLE9BQU87Z0JBQ1BDLGFBQWE7Z0JBQ2JDLFFBQVE7Z0JBQ1JDLFVBQVU7Z0JBQ1ZDLFlBQVk7WUFDZDtRQUNGO0lBQ0Y7SUFFQSxxQkFDRSw4REFBQ3RCLGlEQUFHQTtRQUFDMEIsR0FBRzs7MEJBQ04sOERBQUN4QixrREFBSUE7Z0JBQUN5QixVQUFTO2dCQUFNQyxZQUFXO2dCQUFPQyxJQUFJOzBCQUFHOzs7Ozs7MEJBRzlDLDhEQUFDM0Isa0RBQUlBO2dCQUFDMkIsSUFBSTs7b0JBQUc7b0JBQ0VuQjtvQkFBWTs7Ozs7OzswQkFHM0IsOERBQUNULGtEQUFJQTtnQkFBQzZCLGlCQUFpQjtvQkFBQztvQkFBTztvQkFBa0I7aUJBQWlCO2dCQUFFQyxLQUFLOzBCQUN0RXRCLE1BQU11QixHQUFHLENBQUMsQ0FBQ2hCLHFCQUNWLDhEQUFDaEIsaURBQUdBO3dCQUVGMEIsR0FBRzt3QkFDSE8sYUFBWTt3QkFDWkMsY0FBYTt3QkFDYnBCLGFBQWFBO3dCQUNicUIsSUFBSXRCO2tDQUVKLDRFQUFDUixvREFBTUE7NEJBQUMrQixTQUFTOztnQ0FDZHBCLEtBQUtxQixRQUFRLGtCQUNaLDhEQUFDakMsbURBQUtBO29DQUNKa0MsS0FBS3RCLEtBQUtxQixRQUFRO29DQUNsQkUsS0FBS3ZCLEtBQUtRLElBQUk7b0NBQ2RnQixTQUFRO29DQUNSQyxXQUFVO29DQUNWUCxjQUFhOzs7Ozs7OENBR2pCLDhEQUFDaEMsa0RBQUlBO29DQUFDMEIsWUFBVzs4Q0FBUVosS0FBS1EsSUFBSTs7Ozs7OzhDQUNsQyw4REFBQ3RCLGtEQUFJQTtvQ0FBQ3lCLFVBQVM7b0NBQUtlLE9BQU07OENBQ3ZCMUIsS0FBS0csV0FBVzs7Ozs7OzhDQUVuQiw4REFBQ2pCLGtEQUFJQTtvQ0FBQ3dDLE9BQU07b0NBQVlkLFlBQVc7O3dDQUNoQ1osS0FBS0MsS0FBSzt3Q0FBQzs7Ozs7Ozs4Q0FFZCw4REFBQ2Qsb0RBQU1BO29DQUNMd0MsYUFBWTtvQ0FDWkMsT0FBTTtvQ0FDTkMsU0FBUyxJQUFNOUIsZUFBZUM7b0NBQzlCOEIsWUFBWXBDLGNBQWNNLEtBQUtDLEtBQUs7OENBQ3JDOzs7Ozs7Ozs7Ozs7dUJBN0JFRCxLQUFLTyxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7O0FBc0N4QixFQUFFO0dBdkZXZjs7UUFDR0Ysc0RBQVFBO1FBQ05DLCtEQUFpQkE7UUFDYkEsK0RBQWlCQTs7O0tBSDFCQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9hcHAvY29tcG9uZW50cy9TaG9wLnRzeD8zNzFjIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcclxuXHJcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7XHJcbiAgQm94LFxyXG4gIEdyaWQsXHJcbiAgVGV4dCxcclxuICBCdXR0b24sXHJcbiAgSW1hZ2UsXHJcbiAgVlN0YWNrLFxyXG4gIHVzZVRvYXN0LFxyXG4gIHVzZUNvbG9yTW9kZVZhbHVlLFxyXG59IGZyb20gJ0BjaGFrcmEtdWkvcmVhY3QnO1xyXG5pbXBvcnQgeyBJU2hvcEl0ZW0gfSBmcm9tICcuLi8uLi9iYWNrZW5kL21vZGVscy9TaG9wSXRlbSc7XHJcblxyXG5pbnRlcmZhY2UgU2hvcFByb3BzIHtcclxuICBpdGVtczogSVNob3BJdGVtW107XHJcbiAgdXNlckJhbGFuY2U6IG51bWJlcjtcclxuICBvblB1cmNoYXNlOiAoaXRlbUlkOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBTaG9wOiBSZWFjdC5GQzxTaG9wUHJvcHM+ID0gKHsgaXRlbXMsIHVzZXJCYWxhbmNlLCBvblB1cmNoYXNlIH0pID0+IHtcclxuICBjb25zdCB0b2FzdCA9IHVzZVRvYXN0KCk7XHJcbiAgY29uc3QgYmdDb2xvciA9IHVzZUNvbG9yTW9kZVZhbHVlKCd3aGl0ZScsICdncmF5LjgwMCcpO1xyXG4gIGNvbnN0IGJvcmRlckNvbG9yID0gdXNlQ29sb3JNb2RlVmFsdWUoJ2dyYXkuMjAwJywgJ2dyYXkuNzAwJyk7XHJcblxyXG4gIGNvbnN0IGhhbmRsZVB1cmNoYXNlID0gYXN5bmMgKGl0ZW06IElTaG9wSXRlbSkgPT4ge1xyXG4gICAgaWYgKHVzZXJCYWxhbmNlIDwgaXRlbS5wcmljZSkge1xyXG4gICAgICB0b2FzdCh7XHJcbiAgICAgICAgdGl0bGU6ICfQndC10LTQvtGB0YLQsNGC0L7Rh9C90L4g0YHRgNC10LTRgdGC0LInLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiAn0KMg0LLQsNGBINC90LXQtNC+0YHRgtCw0YLQvtGH0L3QviBDYW1wZmlyZSDQvNC+0L3QtdGCINC00LvRjyDQv9C+0LrRg9C/0LrQuCDRjdGC0L7Qs9C+INC/0YDQtdC00LzQtdGC0LAnLFxyXG4gICAgICAgIHN0YXR1czogJ2Vycm9yJyxcclxuICAgICAgICBkdXJhdGlvbjogMzAwMCxcclxuICAgICAgICBpc0Nsb3NhYmxlOiB0cnVlLFxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGF3YWl0IG9uUHVyY2hhc2UoaXRlbS5pZCk7XHJcbiAgICAgIHRvYXN0KHtcclxuICAgICAgICB0aXRsZTogJ9Cf0L7QutGD0L/QutCwINGD0YHQv9C10YjQvdCwIScsXHJcbiAgICAgICAgZGVzY3JpcHRpb246IGDQktGLINC/0YDQuNC+0LHRgNC10LvQuCAke2l0ZW0ubmFtZX1gLFxyXG4gICAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLFxyXG4gICAgICAgIGR1cmF0aW9uOiAzMDAwLFxyXG4gICAgICAgIGlzQ2xvc2FibGU6IHRydWUsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgdG9hc3Qoe1xyXG4gICAgICAgIHRpdGxlOiAn0J7RiNC40LHQutCwINC/0YDQuCDQv9C+0LrRg9C/0LrQtScsXHJcbiAgICAgICAgZGVzY3JpcHRpb246ICfQn9GA0L7QuNC30L7RiNC70LAg0L7RiNC40LHQutCwINC/0YDQuCDRgdC+0LLQtdGA0YjQtdC90LjQuCDQv9C+0LrRg9C/0LrQuCcsXHJcbiAgICAgICAgc3RhdHVzOiAnZXJyb3InLFxyXG4gICAgICAgIGR1cmF0aW9uOiAzMDAwLFxyXG4gICAgICAgIGlzQ2xvc2FibGU6IHRydWUsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8Qm94IHA9ezR9PlxyXG4gICAgICA8VGV4dCBmb250U2l6ZT1cIjJ4bFwiIGZvbnRXZWlnaHQ9XCJib2xkXCIgbWI9ezR9PlxyXG4gICAgICAgINCc0LDQs9Cw0LfQuNC9XHJcbiAgICAgIDwvVGV4dD5cclxuICAgICAgPFRleHQgbWI9ezR9PlxyXG4gICAgICAgINCS0LDRiCDQsdCw0LvQsNC90YE6IHt1c2VyQmFsYW5jZX0g8J+UpVxyXG4gICAgICA8L1RleHQ+XHJcbiAgICAgIFxyXG4gICAgICA8R3JpZCB0ZW1wbGF0ZUNvbHVtbnM9e1snMWZyJywgJ3JlcGVhdCgyLCAxZnIpJywgJ3JlcGVhdCgzLCAxZnIpJ119IGdhcD17NH0+XHJcbiAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSkgPT4gKFxyXG4gICAgICAgICAgPEJveFxyXG4gICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XHJcbiAgICAgICAgICAgIHA9ezR9XHJcbiAgICAgICAgICAgIGJvcmRlcldpZHRoPVwiMXB4XCJcclxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzPVwibGdcIlxyXG4gICAgICAgICAgICBib3JkZXJDb2xvcj17Ym9yZGVyQ29sb3J9XHJcbiAgICAgICAgICAgIGJnPXtiZ0NvbG9yfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8VlN0YWNrIHNwYWNpbmc9ezN9PlxyXG4gICAgICAgICAgICAgIHtpdGVtLmltYWdlVXJsICYmIChcclxuICAgICAgICAgICAgICAgIDxJbWFnZVxyXG4gICAgICAgICAgICAgICAgICBzcmM9e2l0ZW0uaW1hZ2VVcmx9XHJcbiAgICAgICAgICAgICAgICAgIGFsdD17aXRlbS5uYW1lfVxyXG4gICAgICAgICAgICAgICAgICBib3hTaXplPVwiMTAwcHhcIlxyXG4gICAgICAgICAgICAgICAgICBvYmplY3RGaXQ9XCJjb3ZlclwiXHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1cz1cIm1kXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICA8VGV4dCBmb250V2VpZ2h0PVwiYm9sZFwiPntpdGVtLm5hbWV9PC9UZXh0PlxyXG4gICAgICAgICAgICAgIDxUZXh0IGZvbnRTaXplPVwic21cIiBjb2xvcj1cImdyYXkuNTAwXCI+XHJcbiAgICAgICAgICAgICAgICB7aXRlbS5kZXNjcmlwdGlvbn1cclxuICAgICAgICAgICAgICA8L1RleHQ+XHJcbiAgICAgICAgICAgICAgPFRleHQgY29sb3I9XCJncmVlbi41MDBcIiBmb250V2VpZ2h0PVwiYm9sZFwiPlxyXG4gICAgICAgICAgICAgICAge2l0ZW0ucHJpY2V9IPCflKVcclxuICAgICAgICAgICAgICA8L1RleHQ+XHJcbiAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY29sb3JTY2hlbWU9XCJibHVlXCJcclxuICAgICAgICAgICAgICAgIHdpZHRoPVwiZnVsbFwiXHJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVQdXJjaGFzZShpdGVtKX1cclxuICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e3VzZXJCYWxhbmNlIDwgaXRlbS5wcmljZX1cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICDQmtGD0L/QuNGC0YxcclxuICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgPC9WU3RhY2s+XHJcbiAgICAgICAgICA8L0JveD5cclxuICAgICAgICApKX1cclxuICAgICAgPC9HcmlkPlxyXG4gICAgPC9Cb3g+XHJcbiAgKTtcclxufTsgIl0sIm5hbWVzIjpbIlJlYWN0IiwiQm94IiwiR3JpZCIsIlRleHQiLCJCdXR0b24iLCJJbWFnZSIsIlZTdGFjayIsInVzZVRvYXN0IiwidXNlQ29sb3JNb2RlVmFsdWUiLCJTaG9wIiwiaXRlbXMiLCJ1c2VyQmFsYW5jZSIsIm9uUHVyY2hhc2UiLCJ0b2FzdCIsImJnQ29sb3IiLCJib3JkZXJDb2xvciIsImhhbmRsZVB1cmNoYXNlIiwiaXRlbSIsInByaWNlIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsInN0YXR1cyIsImR1cmF0aW9uIiwiaXNDbG9zYWJsZSIsImlkIiwibmFtZSIsImVycm9yIiwicCIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsIm1iIiwidGVtcGxhdGVDb2x1bW5zIiwiZ2FwIiwibWFwIiwiYm9yZGVyV2lkdGgiLCJib3JkZXJSYWRpdXMiLCJiZyIsInNwYWNpbmciLCJpbWFnZVVybCIsInNyYyIsImFsdCIsImJveFNpemUiLCJvYmplY3RGaXQiLCJjb2xvciIsImNvbG9yU2NoZW1lIiwid2lkdGgiLCJvbkNsaWNrIiwiaXNEaXNhYmxlZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./app/components/Shop.tsx\n"));
/***/ })
});