├── .eslintrc ├── .gitignore ├── .next ├── build-manifest.json ├── cache │ └── webpack │ │ ├── client-development │ │ ├── 0.pack │ │ ├── 1.pack │ │ ├── 10.pack │ │ ├── 11.pack │ │ ├── 12.pack │ │ ├── 13.pack │ │ ├── 14.pack │ │ ├── 15.pack │ │ ├── 16.pack │ │ ├── 17.pack │ │ ├── 18.pack │ │ ├── 19.pack │ │ ├── 2.pack │ │ ├── 20.pack │ │ ├── 21.pack │ │ ├── 22.pack │ │ ├── 23.pack │ │ ├── 24.pack │ │ ├── 25.pack │ │ ├── 26.pack │ │ ├── 27.pack │ │ ├── 28.pack │ │ ├── 29.pack │ │ ├── 3.pack │ │ ├── 30.pack │ │ ├── 31.pack │ │ ├── 32.pack │ │ ├── 33.pack │ │ ├── 4.pack │ │ ├── 5.pack │ │ ├── 6.pack │ │ ├── 7.pack │ │ ├── 8.pack │ │ ├── 9.pack │ │ ├── index.pack │ │ └── index.pack.old │ │ └── server-development │ │ ├── 0.pack │ │ ├── 1.pack │ │ ├── 10.pack │ │ ├── 11.pack │ │ ├── 12.pack │ │ ├── 13.pack │ │ ├── 14.pack │ │ ├── 15.pack │ │ ├── 2.pack │ │ ├── 3.pack │ │ ├── 4.pack │ │ ├── 5.pack │ │ ├── 6.pack │ │ ├── 7.pack │ │ ├── 8.pack │ │ ├── 9.pack │ │ ├── index.pack │ │ └── index.pack.old ├── react-loadable-manifest.json ├── server │ ├── pages-manifest.json │ ├── pages │ │ ├── _app.js │ │ ├── _document.js │ │ ├── _error.js │ │ ├── api │ │ │ ├── logout.js │ │ │ ├── protectedRoute.js │ │ │ └── refresh_token.js │ │ ├── index.js │ │ └── protected.js │ └── webpack-runtime.js └── static │ ├── chunks │ ├── amp.js │ ├── main.js │ ├── node_modules_next_dist_client_dev_noop_js.js │ ├── pages │ │ ├── _app.js │ │ ├── _error.js │ │ ├── index.js │ │ └── protected.js │ ├── polyfills.js │ ├── react-refresh.js │ └── webpack.js │ ├── development │ ├── _buildManifest.js │ └── _ssgManifest.js │ └── webpack │ ├── 0c207ab87360709d683d.webpack.hot-update.json │ ├── 3883b3dfd5b830605b3b.webpack.hot-update.json │ ├── webpack.0c207ab87360709d683d.hot-update.js │ └── webpack.3883b3dfd5b830605b3b.hot-update.js ├── README.md ├── functions ├── auth.js ├── checkAuthClient.js └── initPrisma.js ├── next.config.js ├── package-lock.json ├── package.json ├── pages ├── _app.js ├── api │ ├── logout.js │ ├── middleware │ │ └── checkAuthServer.js │ ├── protectedRoute.js │ ├── refresh_token.js │ ├── signIn.js │ └── signup.js ├── index.js └── protected.js ├── prisma ├── migrations │ ├── 20210730153856_initial │ │ └── migration.sql │ └── migration_lock.toml └── schema.prisma ├── public ├── favicon.ico └── vercel.svg ├── store └── index.js └── styles └── global.css /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["next", "next/core-web-vitals"] 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | # Keep environment variables out of version control 3 | .env 4 | ./prisma/migrations 5 | -------------------------------------------------------------------------------- /.next/build-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "polyfillFiles": [ 3 | "static/chunks/polyfills.js" 4 | ], 5 | "devFiles": [ 6 | "static/chunks/react-refresh.js" 7 | ], 8 | "ampDevFiles": [ 9 | "static/chunks/webpack.js", 10 | "static/chunks/amp.js" 11 | ], 12 | "lowPriorityFiles": [ 13 | "static/development/_buildManifest.js", 14 | "static/development/_ssgManifest.js" 15 | ], 16 | "pages": { 17 | "/": [ 18 | "static/chunks/webpack.js", 19 | "static/chunks/main.js", 20 | "static/chunks/pages/index.js" 21 | ], 22 | "/_app": [ 23 | "static/chunks/webpack.js", 24 | "static/chunks/main.js", 25 | "static/chunks/pages/_app.js" 26 | ], 27 | "/_error": [ 28 | "static/chunks/webpack.js", 29 | "static/chunks/main.js", 30 | "static/chunks/pages/_error.js" 31 | ], 32 | "/protected": [ 33 | "static/chunks/webpack.js", 34 | "static/chunks/main.js", 35 | "static/chunks/pages/protected.js" 36 | ] 37 | }, 38 | "ampFirstPages": [] 39 | } -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/0.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/0.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/1.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/1.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/10.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/10.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/11.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/11.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/12.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/12.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/13.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/13.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/14.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/14.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/15.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/15.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/16.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/16.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/17.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/17.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/18.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/18.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/19.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/19.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/2.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/2.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/20.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/20.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/21.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/21.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/22.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/22.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/23.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/23.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/24.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/24.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/25.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/25.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/26.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/26.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/27.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/27.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/28.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/28.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/29.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/29.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/3.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/3.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/30.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/30.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/31.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/31.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/32.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/32.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/33.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/33.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/4.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/4.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/5.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/5.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/6.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/6.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/7.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/7.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/8.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/8.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/9.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/9.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/index.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/index.pack -------------------------------------------------------------------------------- /.next/cache/webpack/client-development/index.pack.old: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/client-development/index.pack.old -------------------------------------------------------------------------------- /.next/cache/webpack/server-development/0.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/server-development/0.pack -------------------------------------------------------------------------------- /.next/cache/webpack/server-development/1.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/server-development/1.pack -------------------------------------------------------------------------------- /.next/cache/webpack/server-development/10.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/server-development/10.pack -------------------------------------------------------------------------------- /.next/cache/webpack/server-development/11.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/server-development/11.pack -------------------------------------------------------------------------------- /.next/cache/webpack/server-development/12.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/server-development/12.pack -------------------------------------------------------------------------------- /.next/cache/webpack/server-development/13.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/server-development/13.pack -------------------------------------------------------------------------------- /.next/cache/webpack/server-development/14.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/server-development/14.pack -------------------------------------------------------------------------------- /.next/cache/webpack/server-development/15.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/server-development/15.pack -------------------------------------------------------------------------------- /.next/cache/webpack/server-development/2.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/server-development/2.pack -------------------------------------------------------------------------------- /.next/cache/webpack/server-development/3.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/server-development/3.pack -------------------------------------------------------------------------------- /.next/cache/webpack/server-development/4.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/server-development/4.pack -------------------------------------------------------------------------------- /.next/cache/webpack/server-development/5.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/server-development/5.pack -------------------------------------------------------------------------------- /.next/cache/webpack/server-development/6.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/server-development/6.pack -------------------------------------------------------------------------------- /.next/cache/webpack/server-development/7.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/server-development/7.pack -------------------------------------------------------------------------------- /.next/cache/webpack/server-development/8.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/server-development/8.pack -------------------------------------------------------------------------------- /.next/cache/webpack/server-development/9.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/server-development/9.pack -------------------------------------------------------------------------------- /.next/cache/webpack/server-development/index.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/server-development/index.pack -------------------------------------------------------------------------------- /.next/cache/webpack/server-development/index.pack.old: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/antonm7/nextjs-prisma-auth/48eaae26981c28e61af4d3e8791ba22d9cf519d1/.next/cache/webpack/server-development/index.pack.old -------------------------------------------------------------------------------- /.next/react-loadable-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "..\\node_modules\\next\\dist\\client\\next-dev.js -> ./dev/noop": { 3 | "id": "./node_modules/next/dist/client/dev/noop.js", 4 | "files": [ 5 | "static/chunks/node_modules_next_dist_client_dev_noop_js.js" 6 | ] 7 | } 8 | } -------------------------------------------------------------------------------- /.next/server/pages-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "/_app": "pages/_app.js", 3 | "/_error": "pages/_error.js", 4 | "/_document": "pages/_document.js", 5 | "/": "pages/index.js", 6 | "/protected": "pages/protected.js" 7 | } -------------------------------------------------------------------------------- /.next/server/pages/_app.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var exports = {}; 3 | exports.id = "pages/_app"; 4 | exports.ids = ["pages/_app"]; 5 | exports.modules = { 6 | 7 | /***/ "./functions/auth.js": 8 | /*!***************************!*\ 9 | !*** ./functions/auth.js ***! 10 | \***************************/ 11 | /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 12 | 13 | "use strict"; 14 | __webpack_require__.r(__webpack_exports__); 15 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { 16 | /* harmony export */ "refreshToken": function() { return /* binding */ refreshToken; }, 17 | /* harmony export */ "createAccessToken": function() { return /* binding */ createAccessToken; }, 18 | /* harmony export */ "createRefreshToken": function() { return /* binding */ createRefreshToken; }, 19 | /* harmony export */ "sendRefreshToken": function() { return /* binding */ sendRefreshToken; } 20 | /* harmony export */ }); 21 | /* harmony import */ var jsonwebtoken__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jsonwebtoken */ "jsonwebtoken"); 22 | /* harmony import */ var jsonwebtoken__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jsonwebtoken__WEBPACK_IMPORTED_MODULE_0__); 23 | /* harmony import */ var cookie__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! cookie */ "cookie"); 24 | /* harmony import */ var cookie__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(cookie__WEBPACK_IMPORTED_MODULE_1__); 25 | /* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../store */ "./store/index.js"); 26 | 27 | 28 | 29 | const refreshToken = () => { 30 | return fetch('/api/refresh_token', { 31 | method: "POST", 32 | credentials: "include" 33 | }).then(res => res.json()).then(data => { 34 | return data; 35 | }); 36 | }; 37 | const createAccessToken = user => { 38 | return (0,jsonwebtoken__WEBPACK_IMPORTED_MODULE_0__.sign)({ 39 | userId: user.id 40 | }, process.env.ACCESS_TOKEN_SECRET, { 41 | expiresIn: '15m' 42 | }); 43 | }; 44 | const createRefreshToken = user => { 45 | return (0,jsonwebtoken__WEBPACK_IMPORTED_MODULE_0__.sign)({ 46 | userId: user.id 47 | }, process.env.REFRESH_TOKEN_SECRET, { 48 | expiresIn: "7d" 49 | }); 50 | }; 51 | const sendRefreshToken = (res, token) => { 52 | res.setHeader('Set-Cookie', cookie__WEBPACK_IMPORTED_MODULE_1___default().serialize('refreshToken', token, { 53 | httpOnly: true, 54 | maxAge: 60 * 60 * 24 * 7, 55 | path: '/' 56 | })); 57 | }; 58 | 59 | /***/ }), 60 | 61 | /***/ "./pages/_app.js": 62 | /*!***********************!*\ 63 | !*** ./pages/_app.js ***! 64 | \***********************/ 65 | /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 66 | 67 | "use strict"; 68 | __webpack_require__.r(__webpack_exports__); 69 | /* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ "react/jsx-dev-runtime"); 70 | /* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__); 71 | /* harmony import */ var _styles_global_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../styles/global.css */ "./styles/global.css"); 72 | /* harmony import */ var _styles_global_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_styles_global_css__WEBPACK_IMPORTED_MODULE_1__); 73 | /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); 74 | /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); 75 | /* harmony import */ var _functions_auth__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../functions/auth */ "./functions/auth.js"); 76 | /* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../store */ "./store/index.js"); 77 | 78 | var _jsxFileName = "D:\\Code\\Prisma\\test\\pages\\_app.js"; 79 | 80 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 81 | 82 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 83 | 84 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 85 | 86 | 87 | 88 | 89 | 90 | 91 | function MyApp({ 92 | Component, 93 | pageProps 94 | }) { 95 | const store = (0,_store__WEBPACK_IMPORTED_MODULE_4__.useStore)(); 96 | const { 97 | 0: loading, 98 | 1: setLoading 99 | } = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(true); 100 | (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(() => { 101 | //initial funciton 102 | (0,_functions_auth__WEBPACK_IMPORTED_MODULE_3__.refreshToken)().then(data => { 103 | if (data.ok) { 104 | store.setAccessToken(data.accessToken); 105 | store.setUser(data.user); 106 | } 107 | 108 | setLoading(false); 109 | }); //starts silent refreshes 110 | 111 | setInterval(() => { 112 | (0,_functions_auth__WEBPACK_IMPORTED_MODULE_3__.refreshToken)().then(data => { 113 | if (data.ok) { 114 | store.setAccessToken(data.accessToken); 115 | store.setUser(data.user); 116 | } 117 | }); 118 | }, 600000); 119 | }, []); 120 | if (loading) return /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)("div", { 121 | children: "Loading...." 122 | }, void 0, false, { 123 | fileName: _jsxFileName, 124 | lineNumber: 31, 125 | columnNumber: 22 126 | }, this); 127 | return /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Component, _objectSpread({}, pageProps), void 0, false, { 128 | fileName: _jsxFileName, 129 | lineNumber: 33, 130 | columnNumber: 10 131 | }, this); 132 | } 133 | 134 | /* harmony default export */ __webpack_exports__["default"] = (MyApp); 135 | 136 | /***/ }), 137 | 138 | /***/ "./store/index.js": 139 | /*!************************!*\ 140 | !*** ./store/index.js ***! 141 | \************************/ 142 | /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 143 | 144 | "use strict"; 145 | __webpack_require__.r(__webpack_exports__); 146 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { 147 | /* harmony export */ "useStore": function() { return /* binding */ useStore; } 148 | /* harmony export */ }); 149 | /* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zustand */ "zustand"); 150 | /* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(zustand__WEBPACK_IMPORTED_MODULE_0__); 151 | 152 | const useStore = zustand__WEBPACK_IMPORTED_MODULE_0___default()(set => ({ 153 | accessToken: null, 154 | user: {}, 155 | setAccessToken: input => set(state => ({ 156 | accessToken: input 157 | })), 158 | removeAccessToken: () => set({ 159 | accessToken: null 160 | }), 161 | setUser: input => set(state => ({ 162 | user: input 163 | })), 164 | removeUser: () => set({ 165 | user: null 166 | }) 167 | })); 168 | 169 | /***/ }), 170 | 171 | /***/ "./styles/global.css": 172 | /*!***************************!*\ 173 | !*** ./styles/global.css ***! 174 | \***************************/ 175 | /***/ (function() { 176 | 177 | 178 | 179 | /***/ }), 180 | 181 | /***/ "cookie": 182 | /*!*************************!*\ 183 | !*** external "cookie" ***! 184 | \*************************/ 185 | /***/ (function(module) { 186 | 187 | "use strict"; 188 | module.exports = require("cookie");; 189 | 190 | /***/ }), 191 | 192 | /***/ "jsonwebtoken": 193 | /*!*******************************!*\ 194 | !*** external "jsonwebtoken" ***! 195 | \*******************************/ 196 | /***/ (function(module) { 197 | 198 | "use strict"; 199 | module.exports = require("jsonwebtoken");; 200 | 201 | /***/ }), 202 | 203 | /***/ "react": 204 | /*!************************!*\ 205 | !*** external "react" ***! 206 | \************************/ 207 | /***/ (function(module) { 208 | 209 | "use strict"; 210 | module.exports = require("react");; 211 | 212 | /***/ }), 213 | 214 | /***/ "react/jsx-dev-runtime": 215 | /*!****************************************!*\ 216 | !*** external "react/jsx-dev-runtime" ***! 217 | \****************************************/ 218 | /***/ (function(module) { 219 | 220 | "use strict"; 221 | module.exports = require("react/jsx-dev-runtime");; 222 | 223 | /***/ }), 224 | 225 | /***/ "zustand": 226 | /*!**************************!*\ 227 | !*** external "zustand" ***! 228 | \**************************/ 229 | /***/ (function(module) { 230 | 231 | "use strict"; 232 | module.exports = require("zustand");; 233 | 234 | /***/ }) 235 | 236 | }; 237 | ; 238 | 239 | // load runtime 240 | var __webpack_require__ = require("../webpack-runtime.js"); 241 | __webpack_require__.C(exports); 242 | var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } 243 | var __webpack_exports__ = (__webpack_exec__("./pages/_app.js")); 244 | module.exports = __webpack_exports__; 245 | 246 | })(); 247 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9wcmlzbW5leHQvLi9mdW5jdGlvbnMvYXV0aC5qcyIsIndlYnBhY2s6Ly9wcmlzbW5leHQvLi9wYWdlcy9fYXBwLmpzIiwid2VicGFjazovL3ByaXNtbmV4dC8uL3N0b3JlL2luZGV4LmpzIiwid2VicGFjazovL3ByaXNtbmV4dC9leHRlcm5hbCBcImNvb2tpZVwiIiwid2VicGFjazovL3ByaXNtbmV4dC9leHRlcm5hbCBcImpzb253ZWJ0b2tlblwiIiwid2VicGFjazovL3ByaXNtbmV4dC9leHRlcm5hbCBcInJlYWN0XCIiLCJ3ZWJwYWNrOi8vcHJpc21uZXh0L2V4dGVybmFsIFwicmVhY3QvanN4LWRldi1ydW50aW1lXCIiLCJ3ZWJwYWNrOi8vcHJpc21uZXh0L2V4dGVybmFsIFwienVzdGFuZFwiIl0sIm5hbWVzIjpbInJlZnJlc2hUb2tlbiIsImZldGNoIiwibWV0aG9kIiwiY3JlZGVudGlhbHMiLCJ0aGVuIiwicmVzIiwianNvbiIsImRhdGEiLCJjcmVhdGVBY2Nlc3NUb2tlbiIsInVzZXIiLCJzaWduIiwidXNlcklkIiwiaWQiLCJwcm9jZXNzIiwiZW52IiwiQUNDRVNTX1RPS0VOX1NFQ1JFVCIsImV4cGlyZXNJbiIsImNyZWF0ZVJlZnJlc2hUb2tlbiIsIlJFRlJFU0hfVE9LRU5fU0VDUkVUIiwic2VuZFJlZnJlc2hUb2tlbiIsInRva2VuIiwic2V0SGVhZGVyIiwiY29va2llIiwiaHR0cE9ubHkiLCJtYXhBZ2UiLCJwYXRoIiwiTXlBcHAiLCJDb21wb25lbnQiLCJwYWdlUHJvcHMiLCJzdG9yZSIsInVzZVN0b3JlIiwibG9hZGluZyIsInNldExvYWRpbmciLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIm9rIiwic2V0QWNjZXNzVG9rZW4iLCJhY2Nlc3NUb2tlbiIsInNldFVzZXIiLCJzZXRJbnRlcnZhbCIsImNyZWF0ZSIsInNldCIsImlucHV0Iiwic3RhdGUiLCJyZW1vdmVBY2Nlc3NUb2tlbiIsInJlbW92ZVVzZXIiXSwibWFw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VSw4Q0FBTSxDQUFDQyxHQUFHLEtBQUs7QUFDbkNKLGFBQVcsRUFBRSxJQURzQjtBQUVuQzVCLE1BQUksRUFBQyxFQUY4QjtBQUduQzJCLGdCQUFjLEVBQUdNLEtBQUQsSUFBV0QsR0FBRyxDQUFFRSxLQUFELEtBQVk7QUFBRU4sZUFBVyxFQUFFSztBQUFmLEdBQVosQ0FBRCxDQUhLO0FBSW5DRSxtQkFBaUIsRUFBRSxNQUFNSCxHQUFHLENBQUM7QUFBRUosZUFBVyxFQUFFO0FBQWYsR0FBRCxDQUpPO0FBS25DQyxTQUFPLEVBQUdJLEtBQUQsSUFBV0QsR0FBRyxDQUFFRSxLQUFELEtBQVk7QUFBRWxDLFFBQUksRUFBQ2lDO0FBQVAsR0FBWixDQUFELENBTFk7QUFNbkNHLFlBQVUsRUFBRSxNQUFNSixHQUFHLENBQUM7QUFBQ2hDLFFBQUksRUFBQztBQUFOLEdBQUQ7QUFOYyxDQUFMLENBQUosQ0FBdkIsQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDRlAsb0M7Ozs7Ozs7Ozs7O0FDQUEsMEM7Ozs7Ozs7Ozs7O0FDQUEsbUM7Ozs7Ozs7Ozs7O0FDQUEsbUQ7Ozs7Ozs7Ozs7O0FDQUEscUMiLCJmaWxlIjoicGFnZXMvX2FwcC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7c2lnbn0gZnJvbSAnanNvbndlYnRva2VuJ1xyXG5pbXBvcnQgY29va2llIGZyb20gJ2Nvb2tpZSdcclxuaW1wb3J0IHsgdXNlU3RvcmUgfSBmcm9tIFwiLi4vc3RvcmVcIjtcclxuXHJcbmV4cG9ydCBjb25zdCByZWZyZXNoVG9rZW4gPSAoKSA9PiB7XHJcbiAgICByZXR1cm4gZmV0Y2goJy9hcGkvcmVmcmVzaF90b2tlbicsIHtcclxuICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxyXG4gICAgICAgIGNyZWRlbnRpYWxzOiBcImluY2x1ZGVcIlxyXG4gICAgfSkudGhlbihyZXMgPT4gcmVzLmpzb24oKSlcclxuICAgIC50aGVuKGRhdGEgPT4ge3JldHVybiBkYXRhfSlcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGNyZWF0ZUFjY2Vzc1Rva2VuID0gKHVzZXIpID0+IHtcclxuICAgIHJldHVybiBzaWduKHsgdXNlcklkOiB1c2VyLmlkIH0sIHByb2Nlc3MuZW52LkFDQ0VTU19UT0tFTl9TRUNSRVQsIHtcclxuICAgICAgZXhwaXJlc0luOiAnMTVtJ1xyXG4gICAgfSk7XHJcbiAgfTtcclxuICBcclxuICBleHBvcnQgY29uc3QgY3JlYXRlUmVmcmVzaFRva2VuID0gKHVzZXIpID0+IHtcclxuICAgIHJldHVybiBzaWduKFxyXG4gICAgICAgIHsgdXNlcklkOiB1c2VyLmlkIH0scHJvY2Vzcy5lbnYuUkVGUkVTSF9UT0tFTl9TRUNSRVQse1xyXG4gICAgICAgICAgICBleHBpcmVzSW46IFwiN2RcIlxyXG4gICAgICAgIH1cclxuICAgICk7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3Qgc2VuZFJlZnJlc2hUb2tlbiA9IChyZXMsdG9rZW4pID0+IHtcclxuICAgIHJlcy5zZXRIZWFkZXIoJ1NldC1Db29raWUnLGNvb2tpZS5zZXJpYWxpemUoJ3JlZnJlc2hUb2tlbicsdG9rZW4sIHtcclxuICAgICAgICBodHRwT25seTogdHJ1ZSxcclxuICAgICAgICBtYXhBZ2U6IDYwICogNjAgKiAyNCAqIDcsXHJcbiAgICAgICAgcGF0aDogJy8nXHJcbiAgICB9KSlcclxufTsiLCJpbXBvcnQgJy4uL3N0eWxlcy9nbG9iYWwuY3NzJ1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtyZWZyZXNoVG9rZW59IGZyb20gJy4uL2Z1bmN0aW9ucy9hdXRoJ1xuaW1wb3J0IHt1c2VTdG9yZX0gZnJvbSAnLi4vc3RvcmUnXG5cbmZ1bmN0aW9uIE15QXBwKHsgQ29tcG9uZW50LCBwYWdlUHJvcHMgfSkge1xuICBjb25zdCBzdG9yZSA9IHVzZVN0b3JlKClcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSlcbiAgXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy9pbml0aWFsIGZ1bmNpdG9uXG4gICAgcmVmcmVzaFRva2VuKCkudGhlbihkYXRhID0+IHtcbiAgICAgIGlmKGRhdGEub2spIHtcbiAgICAgICAgc3RvcmUuc2V0QWNjZXNzVG9rZW4oZGF0YS5hY2Nlc3NUb2tlbilcbiAgICAgICAgc3RvcmUuc2V0VXNlcihkYXRhLnVzZXIpXG4gICAgICB9XG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgIH0pXG5cbiAgICAvL3N0YXJ0cyBzaWxlbnQgcmVmcmVzaGVzXG4gICAgc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgcmVmcmVzaFRva2VuKCkudGhlbihkYXRhID0+IHtcbiAgICAgICAgaWYoZGF0YS5vaykge1xuICAgICAgICAgIHN0b3JlLnNldEFjY2Vzc1Rva2VuKGRhdGEuYWNjZXNzVG9rZW4pXG4gICAgICAgICAgc3RvcmUuc2V0VXNlcihkYXRhLnVzZXIpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSw2MDAwMDApXG4gIH0sW10pXG5cbiAgaWYobG9hZGluZykgcmV0dXJuIDxkaXY+TG9hZGluZy4uLi48L2Rpdj5cblxuICByZXR1cm4gPENvbXBvbmVudCB7Li4ucGFnZVByb3BzfSAvPlxuICBcbn1cbmV4cG9ydCBkZWZhdWx0IE15QXBwXG4iLCJpbXBvcnQgY3JlYXRlIGZyb20gJ3p1c3RhbmQnXHJcblxyXG5leHBvcnQgY29uc3QgdXNlU3RvcmUgPSBjcmVhdGUoc2V0ID0+ICh7XHJcbiAgICBhY2Nlc3NUb2tlbjogbnVsbCxcclxuICAgIHVzZXI6e30sXHJcbiAgICBzZXRBY2Nlc3NUb2tlbjogKGlucHV0KSA9PiBzZXQoKHN0YXRlKSA9PiAoeyBhY2Nlc3NUb2tlbjogaW5wdXQgfSkpLFxyXG4gICAgcmVtb3ZlQWNjZXNzVG9rZW46ICgpID0+IHNldCh7IGFjY2Vzc1Rva2VuOiBudWxsIH0pLFxyXG4gICAgc2V0VXNlcjogKGlucHV0KSA9PiBzZXQoKHN0YXRlKSA9PiAoeyB1c2VyOmlucHV0IH0pKSxcclxuICAgIHJlbW92ZVVzZXI6ICgpID0+IHNldCh7dXNlcjpudWxsfSlcclxufSkpXHJcbiIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImNvb2tpZVwiKTs7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwianNvbndlYnRva2VuXCIpOzsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJyZWFjdFwiKTs7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwicmVhY3QvanN4LWRldi1ydW50aW1lXCIpOzsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJ6dXN0YW5kXCIpOzsiXSwic291cmNlUm9vdCI6IiJ9 -------------------------------------------------------------------------------- /.next/server/pages/_error.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var exports = {}; 3 | exports.id = "pages/_error"; 4 | exports.ids = ["pages/_error"]; 5 | exports.modules = { 6 | 7 | /***/ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js": 8 | /*!**********************************************************************!*\ 9 | !*** ./node_modules/@babel/runtime/helpers/interopRequireDefault.js ***! 10 | \**********************************************************************/ 11 | /***/ (function(module) { 12 | 13 | function _interopRequireDefault(obj) { 14 | return obj && obj.__esModule ? obj : { 15 | "default": obj 16 | }; 17 | } 18 | 19 | module.exports = _interopRequireDefault; 20 | 21 | /***/ }), 22 | 23 | /***/ "./node_modules/next/dist/pages/_error.js": 24 | /*!************************************************!*\ 25 | !*** ./node_modules/next/dist/pages/_error.js ***! 26 | \************************************************/ 27 | /***/ (function(__unused_webpack_module, exports, __webpack_require__) { 28 | 29 | "use strict"; 30 | 31 | 32 | var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js"); 33 | 34 | exports.__esModule = true; 35 | exports.default = void 0; 36 | 37 | var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); 38 | 39 | var _head = _interopRequireDefault(__webpack_require__(/*! ../next-server/lib/head */ "../next-server/lib/head")); 40 | 41 | const statusCodes = { 42 | 400: 'Bad Request', 43 | 404: 'This page could not be found', 44 | 405: 'Method Not Allowed', 45 | 500: 'Internal Server Error' 46 | }; 47 | 48 | function _getInitialProps({ 49 | res, 50 | err 51 | }) { 52 | const statusCode = res && res.statusCode ? res.statusCode : err ? err.statusCode : 404; 53 | return { 54 | statusCode 55 | }; 56 | } 57 | /** 58 | * `Error` component used for handling errors. 59 | */ 60 | 61 | 62 | class Error extends _react.default.Component { 63 | render() { 64 | const { 65 | statusCode 66 | } = this.props; 67 | const title = this.props.title || statusCodes[statusCode] || 'An unexpected error has occurred'; 68 | return /*#__PURE__*/_react.default.createElement("div", { 69 | style: styles.error 70 | }, /*#__PURE__*/_react.default.createElement(_head.default, null, /*#__PURE__*/_react.default.createElement("title", null, statusCode ? `${statusCode}: ${title}` : 'Application error: a client-side exception has occurred')), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("style", { 71 | dangerouslySetInnerHTML: { 72 | __html: 'body { margin: 0 }' 73 | } 74 | }), statusCode ? /*#__PURE__*/_react.default.createElement("h1", { 75 | style: styles.h1 76 | }, statusCode) : null, /*#__PURE__*/_react.default.createElement("div", { 77 | style: styles.desc 78 | }, /*#__PURE__*/_react.default.createElement("h2", { 79 | style: styles.h2 80 | }, this.props.title || statusCode ? title : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "Application error: a client-side exception has occurred (", /*#__PURE__*/_react.default.createElement("a", { 81 | href: "https://nextjs.org/docs/messages/client-side-exception-occurred" 82 | }, "developer guidance"), ")"), ".")))); 83 | } 84 | 85 | } 86 | 87 | exports.default = Error; 88 | Error.displayName = 'ErrorPage'; 89 | Error.getInitialProps = _getInitialProps; 90 | Error.origGetInitialProps = _getInitialProps; 91 | const styles = { 92 | error: { 93 | color: '#000', 94 | background: '#fff', 95 | fontFamily: '-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir, "Helvetica Neue", "Lucida Grande", sans-serif', 96 | height: '100vh', 97 | textAlign: 'center', 98 | display: 'flex', 99 | flexDirection: 'column', 100 | alignItems: 'center', 101 | justifyContent: 'center' 102 | }, 103 | desc: { 104 | display: 'inline-block', 105 | textAlign: 'left', 106 | lineHeight: '49px', 107 | height: '49px', 108 | verticalAlign: 'middle' 109 | }, 110 | h1: { 111 | display: 'inline-block', 112 | borderRight: '1px solid rgba(0, 0, 0,.3)', 113 | margin: 0, 114 | marginRight: '20px', 115 | padding: '10px 23px 10px 0', 116 | fontSize: '24px', 117 | fontWeight: 500, 118 | verticalAlign: 'top' 119 | }, 120 | h2: { 121 | fontSize: '14px', 122 | fontWeight: 'normal', 123 | lineHeight: 'inherit', 124 | margin: 0, 125 | padding: 0 126 | } 127 | }; 128 | 129 | /***/ }), 130 | 131 | /***/ "../next-server/lib/head": 132 | /*!****************************************************!*\ 133 | !*** external "next/dist/next-server/lib/head.js" ***! 134 | \****************************************************/ 135 | /***/ (function(module) { 136 | 137 | "use strict"; 138 | module.exports = require("next/dist/next-server/lib/head.js");; 139 | 140 | /***/ }), 141 | 142 | /***/ "react": 143 | /*!************************!*\ 144 | !*** external "react" ***! 145 | \************************/ 146 | /***/ (function(module) { 147 | 148 | "use strict"; 149 | module.exports = require("react");; 150 | 151 | /***/ }) 152 | 153 | }; 154 | ; 155 | 156 | // load runtime 157 | var __webpack_require__ = require("../webpack-runtime.js"); 158 | __webpack_require__.C(exports); 159 | var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } 160 | var __webpack_exports__ = (__webpack_exec__("./node_modules/next/dist/pages/_error.js")); 161 | module.exports = __webpack_exports__; 162 | 163 | })(); 164 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9wcmlzbW5leHQvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQuanMiLCJ3ZWJwYWNrOi8vcHJpc21uZXh0Ly4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9wYWdlcy9fZXJyb3IuanMiLCJ3ZWJwYWNrOi8vcHJpc21uZXh0L2V4dGVybmFsIFwibmV4dC9kaXN0L25leHQtc2VydmVyL2xpYi9oZWFkLmpzXCIiLCJ3ZWJwYWNrOi8vcHJpc21uZXh0L2V4dGVybmFsIFwicmVhY3RcIiJdLCJuYW1lcyI6WyJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsImV4cG9ydHMiLCJfcmVhY3QiLCJfaGVhZCIsInN0YXR1c0NvZGVzIiwiX2dldEluaXRpYWxQcm9wcyIsInJlcyIsImVyciIsInN0YXR1c0NvZGUiLCJFcnJvciIsImRlZmF1bHQiLCJDb21wb25lbnQiLCJyZW5kZXIiLCJwcm9wcyIsInRpdGxlIiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwic3R5bGVzIiwiZXJyb3IiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImgxIiwiZGVzYyIsImgyIiwiRnJhZ21lbnQiLCJocmVmIiwiZGlzcGxheU5hbWUiLCJnZXRJbml0aWFsUHJvcHMiLCJvcmlnR2V0SW5pdGlhbFByb3BzIiwiY29sb3IiLCJiYWNrZ3JvdW5kIiwiZm9udEZhbWlseSIsImhlaWdodCIsInRleHRBbGlnbiIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwibGluZUhlaWdodCIsInZlcnRpY2FsQWxpZ24iLCJib3JkZXJSaWdodCIsIm1hcmdpbiIsIm1hcmdpblJpZ2h0IiwicGFkZGluZyIsImZvbnRTaXplIiwiZm9udFdlaWdodCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx3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QWlCQyxjQUFVLEVBQUMsUUFBNUI7QUFBcUNQLGNBQVUsRUFBQyxTQUFoRDtBQUEwREcsVUFBTSxFQUFDLENBQWpFO0FBQW1FRSxXQUFPLEVBQUM7QUFBM0U7QUFBM2pCLENBQWIsQzs7Ozs7Ozs7Ozs7QUNGMXhDLCtEOzs7Ozs7Ozs7OztBQ0FBLG1DIiwiZmlsZSI6InBhZ2VzL19lcnJvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7XG4gIHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7XG4gICAgXCJkZWZhdWx0XCI6IG9ialxuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQ7IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQ9cmVxdWlyZShcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIpO2V4cG9ydHMuX19lc01vZHVsZT10cnVlO2V4cG9ydHMuZGVmYXVsdD12b2lkIDA7dmFyIF9yZWFjdD1faW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCJyZWFjdFwiKSk7dmFyIF9oZWFkPV9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZShcIi4uL25leHQtc2VydmVyL2xpYi9oZWFkXCIpKTtjb25zdCBzdGF0dXNDb2Rlcz17NDAwOidCYWQgUmVxdWVzdCcsNDA0OidUaGlzIHBhZ2UgY291bGQgbm90IGJlIGZvdW5kJyw0MDU6J01ldGhvZCBOb3QgQWxsb3dlZCcsNTAwOidJbnRlcm5hbCBTZXJ2ZXIgRXJyb3InfTtmdW5jdGlvbiBfZ2V0SW5pdGlhbFByb3BzKHtyZXMsZXJyfSl7Y29uc3Qgc3RhdHVzQ29kZT1yZXMmJnJlcy5zdGF0dXNDb2RlP3Jlcy5zdGF0dXNDb2RlOmVycj9lcnIuc3RhdHVzQ29kZTo0MDQ7cmV0dXJue3N0YXR1c0NvZGV9O30vKipcbiAqIGBFcnJvcmAgY29tcG9uZW50IHVzZWQgZm9yIGhhbmRsaW5nIGVycm9ycy5cbiAqL2NsYXNzIEVycm9yIGV4dGVuZHMgX3JlYWN0LmRlZmF1bHQuQ29tcG9uZW50e3JlbmRlcigpe2NvbnN0e3N0YXR1c0NvZGV9PXRoaXMucHJvcHM7Y29uc3QgdGl0bGU9dGhpcy5wcm9wcy50aXRsZXx8c3RhdHVzQ29kZXNbc3RhdHVzQ29kZV18fCdBbiB1bmV4cGVjdGVkIGVycm9yIGhhcyBvY2N1cnJlZCc7cmV0dXJuLyojX19QVVJFX18qL19yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIix7c3R5bGU6c3R5bGVzLmVycm9yfSwvKiNfX1BVUkVfXyovX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfaGVhZC5kZWZhdWx0LG51bGwsLyojX19QVVJFX18qL19yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJ0aXRsZVwiLG51bGwsc3RhdHVzQ29kZT9gJHtzdGF0dXNDb2RlfTogJHt0aXRsZX1gOidBcHBsaWNhdGlvbiBlcnJvcjogYSBjbGllbnQtc2lkZSBleGNlcHRpb24gaGFzIG9jY3VycmVkJykpLC8qI19fUFVSRV9fKi9fcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsbnVsbCwvKiNfX1BVUkVfXyovX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIse2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6J2JvZHkgeyBtYXJnaW46IDAgfSd9fSksc3RhdHVzQ29kZT8vKiNfX1BVUkVfXyovX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImgxXCIse3N0eWxlOnN0eWxlcy5oMX0sc3RhdHVzQ29kZSk6bnVsbCwvKiNfX1BVUkVfXyovX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLHtzdHlsZTpzdHlsZXMuZGVzY30sLyojX19QVVJFX18qL19yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJoMlwiLHtzdHlsZTpzdHlsZXMuaDJ9LHRoaXMucHJvcHMudGl0bGV8fHN0YXR1c0NvZGU/dGl0bGU6LyojX19QVVJFX18qL19yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3JlYWN0LmRlZmF1bHQuRnJhZ21lbnQsbnVsbCxcIkFwcGxpY2F0aW9uIGVycm9yOiBhIGNsaWVudC1zaWRlIGV4Y2VwdGlvbiBoYXMgb2NjdXJyZWQgKFwiLC8qI19fUFVSRV9fKi9fcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiYVwiLHtocmVmOlwiaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvY2xpZW50LXNpZGUtZXhjZXB0aW9uLW9jY3VycmVkXCJ9LFwiZGV2ZWxvcGVyIGd1aWRhbmNlXCIpLFwiKVwiKSxcIi5cIikpKSk7fX1leHBvcnRzLmRlZmF1bHQ9RXJyb3I7RXJyb3IuZGlzcGxheU5hbWU9J0Vycm9yUGFnZSc7RXJyb3IuZ2V0SW5pdGlhbFByb3BzPV9nZXRJbml0aWFsUHJvcHM7RXJyb3Iub3JpZ0dldEluaXRpYWxQcm9wcz1fZ2V0SW5pdGlhbFByb3BzO2NvbnN0IHN0eWxlcz17ZXJyb3I6e2NvbG9yOicjMDAwJyxiYWNrZ3JvdW5kOicjZmZmJyxmb250RmFtaWx5OictYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFJvYm90bywgXCJTZWdvZSBVSVwiLCBcIkZpcmEgU2Fuc1wiLCBBdmVuaXIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJMdWNpZGEgR3JhbmRlXCIsIHNhbnMtc2VyaWYnLGhlaWdodDonMTAwdmgnLHRleHRBbGlnbjonY2VudGVyJyxkaXNwbGF5OidmbGV4JyxmbGV4RGlyZWN0aW9uOidjb2x1bW4nLGFsaWduSXRlbXM6J2NlbnRlcicsanVzdGlmeUNvbnRlbnQ6J2NlbnRlcid9LGRlc2M6e2Rpc3BsYXk6J2lubGluZS1ibG9jaycsdGV4dEFsaWduOidsZWZ0JyxsaW5lSGVpZ2h0Oic0OXB4JyxoZWlnaHQ6JzQ5cHgnLHZlcnRpY2FsQWxpZ246J21pZGRsZSd9LGgxOntkaXNwbGF5OidpbmxpbmUtYmxvY2snLGJvcmRlclJpZ2h0OicxcHggc29saWQgcmdiYSgwLCAwLCAwLC4zKScsbWFyZ2luOjAsbWFyZ2luUmlnaHQ6JzIwcHgnLHBhZGRpbmc6JzEwcHggMjNweCAxMHB4IDAnLGZvbnRTaXplOicyNHB4Jyxmb250V2VpZ2h0OjUwMCx2ZXJ0aWNhbEFsaWduOid0b3AnfSxoMjp7Zm9udFNpemU6JzE0cHgnLGZvbnRXZWlnaHQ6J25vcm1hbCcsbGluZUhlaWdodDonaW5oZXJpdCcsbWFyZ2luOjAscGFkZGluZzowfX07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1fZXJyb3IuanMubWFwIiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibmV4dC9kaXN0L25leHQtc2VydmVyL2xpYi9oZWFkLmpzXCIpOzsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJyZWFjdFwiKTs7Il0sInNvdXJjZVJvb3QiOiIifQ== -------------------------------------------------------------------------------- /.next/server/pages/api/logout.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var exports = {}; 3 | exports.id = "pages/api/logout"; 4 | exports.ids = ["pages/api/logout"]; 5 | exports.modules = { 6 | 7 | /***/ "./pages/api/logout.js": 8 | /*!*****************************!*\ 9 | !*** ./pages/api/logout.js ***! 10 | \*****************************/ 11 | /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 12 | 13 | "use strict"; 14 | __webpack_require__.r(__webpack_exports__); 15 | /* harmony import */ var cookie__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cookie */ "cookie"); 16 | /* harmony import */ var cookie__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cookie__WEBPACK_IMPORTED_MODULE_0__); 17 | 18 | /* harmony default export */ __webpack_exports__["default"] = ((req, res) => { 19 | if (req.method === 'POST') { 20 | //deletes refresh token 21 | res.setHeader('Set-Cookie', cookie__WEBPACK_IMPORTED_MODULE_0___default().serialize('refreshToken', '', { 22 | httpOnly: true, 23 | maxAge: 0, 24 | path: '/' 25 | })); 26 | res.status(200).send(); 27 | } 28 | }); 29 | 30 | /***/ }), 31 | 32 | /***/ "cookie": 33 | /*!*************************!*\ 34 | !*** external "cookie" ***! 35 | \*************************/ 36 | /***/ (function(module) { 37 | 38 | "use strict"; 39 | module.exports = require("cookie");; 40 | 41 | /***/ }) 42 | 43 | }; 44 | ; 45 | 46 | // load runtime 47 | var __webpack_require__ = require("../../webpack-runtime.js"); 48 | __webpack_require__.C(exports); 49 | var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } 50 | var __webpack_exports__ = (__webpack_exec__("./pages/api/logout.js")); 51 | module.exports = __webpack_exports__; 52 | 53 | })(); 54 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9wcmlzbW5leHQvLi9wYWdlcy9hcGkvbG9nb3V0LmpzIiwid2VicGFjazovL3ByaXNtbmV4dC9leHRlcm5hbCBcImNvb2tpZVwiIl0sIm5hbWVzIjpbInJlcSIsInJlcyIsIm1ldGhvZCIsInNldEhlYWRlciIsImNvb2tpZSIsImh0dHBPbmx5IiwibWF4QWdlIiwicGF0aCIsInN0YXR1cyIsInNlbmQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBLCtEQUFlLENBQUNBLEdBQUQsRUFBTUMsR0FBTixLQUFjO0FBQ3pCLE1BQUdELEdBQUcsQ0FBQ0UsTUFBSixLQUFlLE1BQWxCLEVBQTBCO0FBQ3RCO0FBQ0FELE9BQUcsQ0FBQ0UsU0FBSixDQUFjLFlBQWQsRUFBMkJDLHVEQUFBLENBQWlCLGNBQWpCLEVBQWdDLEVBQWhDLEVBQW9DO0FBQzNEQyxjQUFRLEVBQUUsSUFEaUQ7QUFFM0RDLFlBQU0sRUFBRSxDQUZtRDtBQUczREMsVUFBSSxFQUFFO0FBSHFELEtBQXBDLENBQTNCO0FBS0FOLE9BQUcsQ0FBQ08sTUFBSixDQUFXLEdBQVgsRUFBZ0JDLElBQWhCO0FBQ0g7QUFDSixDQVZELEU7Ozs7Ozs7Ozs7O0FDREEsb0MiLCJmaWxlIjoicGFnZXMvYXBpL2xvZ291dC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjb29raWUgZnJvbSAnY29va2llJ1xyXG5leHBvcnQgZGVmYXVsdCAocmVxLCByZXMpID0+IHtcclxuICAgIGlmKHJlcS5tZXRob2QgPT09ICdQT1NUJykge1xyXG4gICAgICAgIC8vZGVsZXRlcyByZWZyZXNoIHRva2VuXHJcbiAgICAgICAgcmVzLnNldEhlYWRlcignU2V0LUNvb2tpZScsY29va2llLnNlcmlhbGl6ZSgncmVmcmVzaFRva2VuJywnJywge1xyXG4gICAgICAgICAgICBodHRwT25seTogdHJ1ZSxcclxuICAgICAgICAgICAgbWF4QWdlOiAwLFxyXG4gICAgICAgICAgICBwYXRoOiAnLydcclxuICAgICAgICB9KSlcclxuICAgICAgICByZXMuc3RhdHVzKDIwMCkuc2VuZCgpXHJcbiAgICB9XHJcbn0iLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJjb29raWVcIik7OyJdLCJzb3VyY2VSb290IjoiIn0= -------------------------------------------------------------------------------- /.next/server/pages/api/protectedRoute.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var exports = {}; 3 | exports.id = "pages/api/protectedRoute"; 4 | exports.ids = ["pages/api/protectedRoute"]; 5 | exports.modules = { 6 | 7 | /***/ "./pages/api/middleware/checkAuthServer.js": 8 | /*!*************************************************!*\ 9 | !*** ./pages/api/middleware/checkAuthServer.js ***! 10 | \*************************************************/ 11 | /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 12 | 13 | "use strict"; 14 | __webpack_require__.r(__webpack_exports__); 15 | /* harmony import */ var jsonwebtoken__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jsonwebtoken */ "jsonwebtoken"); 16 | /* harmony import */ var jsonwebtoken__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jsonwebtoken__WEBPACK_IMPORTED_MODULE_0__); 17 | 18 | 19 | const checkAuth = handler => { 20 | return async (req, res) => { 21 | try { 22 | const authorization = req.headers["authorization"]; 23 | if (!authorization) throw new Error("not authenticated"); 24 | const token = authorization.split(" ")[1]; 25 | (0,jsonwebtoken__WEBPACK_IMPORTED_MODULE_0__.verify)(token, process.env.ACCESS_TOKEN_SECRET); 26 | return handler(req, res); 27 | } catch (e) { 28 | console.log(e); 29 | res.status(401).send(); 30 | } 31 | }; 32 | }; 33 | 34 | /* harmony default export */ __webpack_exports__["default"] = (checkAuth); 35 | 36 | /***/ }), 37 | 38 | /***/ "./pages/api/protectedRoute.js": 39 | /*!*************************************!*\ 40 | !*** ./pages/api/protectedRoute.js ***! 41 | \*************************************/ 42 | /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 43 | 44 | "use strict"; 45 | __webpack_require__.r(__webpack_exports__); 46 | /* harmony import */ var _middleware_checkAuthServer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./middleware/checkAuthServer */ "./pages/api/middleware/checkAuthServer.js"); 47 | 48 | 49 | const protectedRoute = async (req, res) => { 50 | if (req.method === 'GET') { 51 | //secret data 52 | res.send('Hey, keep it in secret!'); 53 | } 54 | }; //authentication middleware 55 | 56 | 57 | /* harmony default export */ __webpack_exports__["default"] = ((0,_middleware_checkAuthServer__WEBPACK_IMPORTED_MODULE_0__.default)(protectedRoute)); 58 | 59 | /***/ }), 60 | 61 | /***/ "jsonwebtoken": 62 | /*!*******************************!*\ 63 | !*** external "jsonwebtoken" ***! 64 | \*******************************/ 65 | /***/ (function(module) { 66 | 67 | "use strict"; 68 | module.exports = require("jsonwebtoken");; 69 | 70 | /***/ }) 71 | 72 | }; 73 | ; 74 | 75 | // load runtime 76 | var __webpack_require__ = require("../../webpack-runtime.js"); 77 | __webpack_require__.C(exports); 78 | var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } 79 | var __webpack_exports__ = (__webpack_exec__("./pages/api/protectedRoute.js")); 80 | module.exports = __webpack_exports__; 81 | 82 | })(); 83 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9wcmlzbW5leHQvLi9wYWdlcy9hcGkvbWlkZGxld2FyZS9jaGVja0F1dGhTZXJ2ZXIuanMiLCJ3ZWJwYWNrOi8vcHJpc21uZXh0Ly4vcGFnZXMvYXBpL3Byb3RlY3RlZFJvdXRlLmpzIiwid2VicGFjazovL3ByaXNtbmV4dC9leHRlcm5hbCBcImpzb253ZWJ0b2tlblwiIl0sIm5hbWVzIjpbImNoZWNrQXV0aCIsImhhbmRsZXIiLCJyZXEiLCJyZXMiLCJhdXRob3JpemF0aW9uIiwiaGVhZGVycyIsIkVycm9yIiwidG9rZW4iLCJzcGxpdCIsInZlcmlmeSIsInByb2Nlc3MiLCJlbnYiLCJBQ0NFU1NfVE9LRU5fU0VDUkVUIiwiZSIsImNvbnNvbGUiLCJsb2ciLCJzdGF0dXMiLCJzZW5kIiwicHJvdGVjdGVkUm91dGUiLCJtZXRob2QiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQSxNQUFNQSxTQUFTLEdBQUlDLE9BQUQsSUFBYTtBQUMzQixTQUFPLE9BQU9DLEdBQVAsRUFBWUMsR0FBWixLQUFvQjtBQUN2QixRQUFJO0FBQ0EsWUFBTUMsYUFBYSxHQUFHRixHQUFHLENBQUNHLE9BQUosQ0FBWSxlQUFaLENBQXRCO0FBQ0EsVUFBSSxDQUFDRCxhQUFMLEVBQW9CLE1BQU0sSUFBSUUsS0FBSixDQUFVLG1CQUFWLENBQU47QUFFcEIsWUFBTUMsS0FBSyxHQUFHSCxhQUFhLENBQUNJLEtBQWQsQ0FBb0IsR0FBcEIsRUFBeUIsQ0FBekIsQ0FBZDtBQUNBQywwREFBTSxDQUFDRixLQUFELEVBQVFHLE9BQU8sQ0FBQ0MsR0FBUixDQUFZQyxtQkFBcEIsQ0FBTjtBQUVBLGFBQU9YLE9BQU8sQ0FBQ0MsR0FBRCxFQUFNQyxHQUFOLENBQWQ7QUFDSCxLQVJELENBUUUsT0FBT1UsQ0FBUCxFQUFVO0FBQ1JDLGFBQU8sQ0FBQ0MsR0FBUixDQUFZRixDQUFaO0FBQ0FWLFNBQUcsQ0FBQ2EsTUFBSixDQUFXLEdBQVgsRUFBZ0JDLElBQWhCO0FBQ0g7QUFDSixHQWJEO0FBY0gsQ0FmRDs7QUFpQkEsK0RBQWVqQixTQUFmLEU7Ozs7Ozs7Ozs7Ozs7QUNuQkE7O0FBRUEsTUFBTWtCLGNBQWMsR0FBRyxPQUFPaEIsR0FBUCxFQUFZQyxHQUFaLEtBQW9CO0FBQ3ZDLE1BQUdELEdBQUcsQ0FBQ2lCLE1BQUosS0FBZSxLQUFsQixFQUF5QjtBQUNyQjtBQUNBaEIsT0FBRyxDQUFDYyxJQUFKLENBQVMseUJBQVQ7QUFDSDtBQUNKLENBTEQsQyxDQVFBOzs7QUFDQSwrREFBZWpCLG9FQUFTLENBQUNrQixjQUFELENBQXhCLEU7Ozs7Ozs7Ozs7O0FDWEEsMEMiLCJmaWxlIjoicGFnZXMvYXBpL3Byb3RlY3RlZFJvdXRlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdmVyaWZ5IH0gZnJvbSAnanNvbndlYnRva2VuJ1xyXG5cclxuY29uc3QgY2hlY2tBdXRoID0gKGhhbmRsZXIpID0+IHtcclxuICAgIHJldHVybiBhc3luYyAocmVxLCByZXMpID0+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBhdXRob3JpemF0aW9uID0gcmVxLmhlYWRlcnNbXCJhdXRob3JpemF0aW9uXCJdXHJcbiAgICAgICAgICAgIGlmICghYXV0aG9yaXphdGlvbikgdGhyb3cgbmV3IEVycm9yKFwibm90IGF1dGhlbnRpY2F0ZWRcIilcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGNvbnN0IHRva2VuID0gYXV0aG9yaXphdGlvbi5zcGxpdChcIiBcIilbMV1cclxuICAgICAgICAgICAgdmVyaWZ5KHRva2VuLCBwcm9jZXNzLmVudi5BQ0NFU1NfVE9LRU5fU0VDUkVUKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBoYW5kbGVyKHJlcSwgcmVzKVxyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coZSlcclxuICAgICAgICAgICAgcmVzLnN0YXR1cyg0MDEpLnNlbmQoKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2hlY2tBdXRoIiwiaW1wb3J0IGNoZWNrQXV0aCBmcm9tICcuL21pZGRsZXdhcmUvY2hlY2tBdXRoU2VydmVyJ1xyXG5cclxuY29uc3QgcHJvdGVjdGVkUm91dGUgPSBhc3luYyAocmVxLCByZXMpID0+IHtcclxuICAgIGlmKHJlcS5tZXRob2QgPT09ICdHRVQnKSB7XHJcbiAgICAgICAgLy9zZWNyZXQgZGF0YVxyXG4gICAgICAgIHJlcy5zZW5kKCdIZXksIGtlZXAgaXQgaW4gc2VjcmV0IScpXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vL2F1dGhlbnRpY2F0aW9uIG1pZGRsZXdhcmVcclxuZXhwb3J0IGRlZmF1bHQgY2hlY2tBdXRoKHByb3RlY3RlZFJvdXRlKSIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImpzb253ZWJ0b2tlblwiKTs7Il0sInNvdXJjZVJvb3QiOiIifQ== -------------------------------------------------------------------------------- /.next/server/pages/api/refresh_token.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var exports = {}; 3 | exports.id = "pages/api/refresh_token"; 4 | exports.ids = ["pages/api/refresh_token"]; 5 | exports.modules = { 6 | 7 | /***/ "./functions/auth.js": 8 | /*!***************************!*\ 9 | !*** ./functions/auth.js ***! 10 | \***************************/ 11 | /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 12 | 13 | "use strict"; 14 | __webpack_require__.r(__webpack_exports__); 15 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { 16 | /* harmony export */ "refreshToken": function() { return /* binding */ refreshToken; }, 17 | /* harmony export */ "createAccessToken": function() { return /* binding */ createAccessToken; }, 18 | /* harmony export */ "createRefreshToken": function() { return /* binding */ createRefreshToken; }, 19 | /* harmony export */ "sendRefreshToken": function() { return /* binding */ sendRefreshToken; } 20 | /* harmony export */ }); 21 | /* harmony import */ var jsonwebtoken__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jsonwebtoken */ "jsonwebtoken"); 22 | /* harmony import */ var jsonwebtoken__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jsonwebtoken__WEBPACK_IMPORTED_MODULE_0__); 23 | /* harmony import */ var cookie__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! cookie */ "cookie"); 24 | /* harmony import */ var cookie__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(cookie__WEBPACK_IMPORTED_MODULE_1__); 25 | /* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../store */ "./store/index.js"); 26 | 27 | 28 | 29 | const refreshToken = () => { 30 | return fetch('/api/refresh_token', { 31 | method: "POST", 32 | credentials: "include" 33 | }).then(res => res.json()).then(data => { 34 | return data; 35 | }); 36 | }; 37 | const createAccessToken = user => { 38 | return (0,jsonwebtoken__WEBPACK_IMPORTED_MODULE_0__.sign)({ 39 | userId: user.id 40 | }, process.env.ACCESS_TOKEN_SECRET, { 41 | expiresIn: '15m' 42 | }); 43 | }; 44 | const createRefreshToken = user => { 45 | return (0,jsonwebtoken__WEBPACK_IMPORTED_MODULE_0__.sign)({ 46 | userId: user.id 47 | }, process.env.REFRESH_TOKEN_SECRET, { 48 | expiresIn: "7d" 49 | }); 50 | }; 51 | const sendRefreshToken = (res, token) => { 52 | res.setHeader('Set-Cookie', cookie__WEBPACK_IMPORTED_MODULE_1___default().serialize('refreshToken', token, { 53 | httpOnly: true, 54 | maxAge: 60 * 60 * 24 * 7, 55 | path: '/' 56 | })); 57 | }; 58 | 59 | /***/ }), 60 | 61 | /***/ "./functions/initPrisma.js": 62 | /*!*********************************!*\ 63 | !*** ./functions/initPrisma.js ***! 64 | \*********************************/ 65 | /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 66 | 67 | "use strict"; 68 | __webpack_require__.r(__webpack_exports__); 69 | /* harmony import */ var _prisma_client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @prisma/client */ "@prisma/client"); 70 | /* harmony import */ var _prisma_client__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_prisma_client__WEBPACK_IMPORTED_MODULE_0__); 71 | 72 | const Prisma = new _prisma_client__WEBPACK_IMPORTED_MODULE_0__.PrismaClient(); 73 | /* harmony default export */ __webpack_exports__["default"] = (Prisma); 74 | 75 | /***/ }), 76 | 77 | /***/ "./pages/api/refresh_token.js": 78 | /*!************************************!*\ 79 | !*** ./pages/api/refresh_token.js ***! 80 | \************************************/ 81 | /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 82 | 83 | "use strict"; 84 | __webpack_require__.r(__webpack_exports__); 85 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { 86 | /* harmony export */ "default": function() { return /* binding */ refresh_token; } 87 | /* harmony export */ }); 88 | /* harmony import */ var jsonwebtoken__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jsonwebtoken */ "jsonwebtoken"); 89 | /* harmony import */ var jsonwebtoken__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jsonwebtoken__WEBPACK_IMPORTED_MODULE_0__); 90 | /* harmony import */ var _functions_auth__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../functions/auth */ "./functions/auth.js"); 91 | /* harmony import */ var cookie__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! cookie */ "cookie"); 92 | /* harmony import */ var cookie__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(cookie__WEBPACK_IMPORTED_MODULE_2__); 93 | /* harmony import */ var _functions_initPrisma__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../functions/initPrisma */ "./functions/initPrisma.js"); 94 | 95 | 96 | 97 | 98 | async function refresh_token(req, res) { 99 | if (req.method === 'POST') { 100 | if (!req.headers.cookie) return res.send({ 101 | ok: false, 102 | accessToken: '' 103 | }); 104 | const getToken = cookie__WEBPACK_IMPORTED_MODULE_2___default().parse(req.headers.cookie); 105 | const token = getToken.refreshToken; 106 | if (!token) return res.send({ 107 | ok: false, 108 | accessToken: '' 109 | }); 110 | let payload = null; 111 | 112 | try { 113 | payload = (0,jsonwebtoken__WEBPACK_IMPORTED_MODULE_0__.verify)(token, process.env.REFRESH_TOKEN_SECRET); 114 | const user = await _functions_initPrisma__WEBPACK_IMPORTED_MODULE_3__.default.user.findUnique({ 115 | where: { 116 | id: payload.userId 117 | }, 118 | select: { 119 | id: true, 120 | firstName: true, 121 | secondName: true, 122 | email: true 123 | } 124 | }); 125 | if (!user) return res.send({ 126 | ok: false, 127 | accessToken: '' 128 | }); 129 | (0,_functions_auth__WEBPACK_IMPORTED_MODULE_1__.sendRefreshToken)(res, (0,_functions_auth__WEBPACK_IMPORTED_MODULE_1__.createRefreshToken)(user)); 130 | const accessToken = (0,_functions_auth__WEBPACK_IMPORTED_MODULE_1__.createAccessToken)(user); 131 | return res.send({ 132 | ok: true, 133 | accessToken, 134 | user 135 | }); 136 | } catch (e) { 137 | console.log(e); 138 | return res.send({ 139 | ok: false, 140 | accessToken: '' 141 | }); 142 | } 143 | } else { 144 | res.status(500).send(); 145 | } 146 | } 147 | 148 | /***/ }), 149 | 150 | /***/ "./store/index.js": 151 | /*!************************!*\ 152 | !*** ./store/index.js ***! 153 | \************************/ 154 | /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 155 | 156 | "use strict"; 157 | __webpack_require__.r(__webpack_exports__); 158 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { 159 | /* harmony export */ "useStore": function() { return /* binding */ useStore; } 160 | /* harmony export */ }); 161 | /* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zustand */ "zustand"); 162 | /* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(zustand__WEBPACK_IMPORTED_MODULE_0__); 163 | 164 | const useStore = zustand__WEBPACK_IMPORTED_MODULE_0___default()(set => ({ 165 | accessToken: null, 166 | user: {}, 167 | setAccessToken: input => set(state => ({ 168 | accessToken: input 169 | })), 170 | removeAccessToken: () => set({ 171 | accessToken: null 172 | }), 173 | setUser: input => set(state => ({ 174 | user: input 175 | })), 176 | removeUser: () => set({ 177 | user: null 178 | }) 179 | })); 180 | 181 | /***/ }), 182 | 183 | /***/ "@prisma/client": 184 | /*!*********************************!*\ 185 | !*** external "@prisma/client" ***! 186 | \*********************************/ 187 | /***/ (function(module) { 188 | 189 | "use strict"; 190 | module.exports = require("@prisma/client");; 191 | 192 | /***/ }), 193 | 194 | /***/ "cookie": 195 | /*!*************************!*\ 196 | !*** external "cookie" ***! 197 | \*************************/ 198 | /***/ (function(module) { 199 | 200 | "use strict"; 201 | module.exports = require("cookie");; 202 | 203 | /***/ }), 204 | 205 | /***/ "jsonwebtoken": 206 | /*!*******************************!*\ 207 | !*** external "jsonwebtoken" ***! 208 | \*******************************/ 209 | /***/ (function(module) { 210 | 211 | "use strict"; 212 | module.exports = require("jsonwebtoken");; 213 | 214 | /***/ }), 215 | 216 | /***/ "zustand": 217 | /*!**************************!*\ 218 | !*** external "zustand" ***! 219 | \**************************/ 220 | /***/ (function(module) { 221 | 222 | "use strict"; 223 | module.exports = require("zustand");; 224 | 225 | /***/ }) 226 | 227 | }; 228 | ; 229 | 230 | // load runtime 231 | var __webpack_require__ = require("../../webpack-runtime.js"); 232 | __webpack_require__.C(exports); 233 | var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } 234 | var __webpack_exports__ = (__webpack_exec__("./pages/api/refresh_token.js")); 235 | module.exports = __webpack_exports__; 236 | 237 | })(); 238 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9wcmlzbW5leHQvLi9mdW5jdGlvbnMvYXV0aC5qcyIsIndlYnBhY2s6Ly9wcmlzbW5leHQvLi9mdW5jdGlvbnMvaW5pdFByaXNtYS5qcyIsIndlYnBhY2s6Ly9wcmlzbW5leHQvLi9wYWdlcy9hcGkvcmVmcmVzaF90b2tlbi5qcyIsIndlYnBhY2s6Ly9wcmlzbW5leHQvLi9zdG9yZS9pbmRleC5qcyIsIndlYnBhY2s6Ly9wcmlzbW5leHQvZXh0ZXJuYWwgXCJAcHJpc21hL2NsaWVudFwiIiwid2VicGFjazovL3ByaXNtbmV4dC9leHRlcm5hbCBcImNvb2tpZVwiIiwid2VicGFjazovL3ByaXNtbmV4dC9leHRlcm5hbCBcImpzb253ZWJ0b2tlblwiIiwid2VicGFjazovL3ByaXNtbmV4dC9leHRlcm5hbCBcInp1c3RhbmRcIiJdLCJuYW1lcyI6WyJyZWZyZXNoVG9rZW4iLCJmZXRjaCIsIm1ldGhvZCIsImNyZWRlbnRpYWxzIiwidGhlbiIsInJlcyIsImpzb24iLCJkYXRhIiwiY3JlYXRlQWNjZXNzVG9rZW4iLCJ1c2VyIiwic2lnbiIsInVzZXJJZCIsImlkIiwicHJvY2VzcyIsImVudiIsIkFDQ0VTU19UT0tFTl9TRUNSRVQiLCJleHBpcmVzSW4iLCJjcmVhdGVSZWZyZXNoVG9rZW4iLCJSRUZSRVNIX1RPS0VOX1NFQ1JFVCIsInNlbmRSZWZyZXNoVG9rZW4iLCJ0b2tlbiIsInNldEhlYWRlciIsImNvb2tpZSIsImh0dHBPbmx5IiwibWF4QWdlIiwicGF0aCIsIlByaXNtYSIsIlByaXNtYUNsaWVudCIsInJlZnJlc2hfdG9rZW4iLCJyZXEiLCJoZWFkZXJzIiwic2VuZCIsIm9rIiwiYWNjZXNzVG9rZW4iLCJnZXRUb2tlbiIsInBheWxvYWQiLCJ2ZXJpZnkiLCJ3aGVyZSIsInNlbGVjdCIsImZpcnN0TmFtZSIsInNlY29uZE5hbWUiLCJlbWFpbCIsImUiLCJjb25zb2xlIiwibG9nIiwic3RhdHVzIiwidXNlU3RvcmUiLCJjcmVhdGUiLCJzZXQiLCJzZXRBY2Nlc3NUb2tlbiIsImlucHV0Iiwic3RhdGUiLCJyZW1vdmVBY2Nlc3NUb2tlbiIsInNldFVzZXIiLCJyZW1vdmVVc2VyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBRU8sTUFBTUEsWUFBWSxHQUFHLE1BQU07QUFDOUIsU0FBT0MsS0FBSyxDQUFDLG9CQUFELEVBQXVCO0FBQy9CQyxVQUFNLEVBQUUsTUFEdUI7QUFFL0JDLGVBQVcsRUFBRTtBQUZrQixHQUF2QixDQUFMLENBR0pDLElBSEksQ0FHQ0MsR0FBRyxJQUFJQSxHQUFHLENBQUNDLElBQUosRUFIUixFQUlORixJQUpNLENBSURHLElBQUksSUFBSTtBQUFDLFdBQU9BLElBQVA7QUFBWSxHQUpwQixDQUFQO0FBS0gsQ0FOTTtBQVFBLE1BQU1DLGlCQUFpQixHQUFJQyxJQUFELElBQVU7QUFDdkMsU0FBT0Msa0RBQUksQ0FBQztBQUFFQyxVQUFNLEVBQUVGLElBQUksQ0FBQ0c7QUFBZixHQUFELEVBQXNCQyxPQUFPLENBQUNDLEdBQVIsQ0FBWUMsbUJBQWxDLEVBQXVEO0FBQ2hFQyxhQUFTLEVBQUU7QUFEcUQsR0FBdkQsQ0FBWDtBQUdELENBSkk7QUFNRSxNQUFNQyxrQkFBa0IsR0FBSVIsSUFBRCxJQUFVO0FBQzFDLFNBQU9DLGtEQUFJLENBQ1A7QUFBRUMsVUFBTSxFQUFFRixJQUFJLENBQUNHO0FBQWYsR0FETyxFQUNhQyxPQUFPLENBQUNDLEdBQVIsQ0FBWUksb0JBRHpCLEVBQzhDO0FBQ2pERixhQUFTLEVBQUU7QUFEc0MsR0FEOUMsQ0FBWDtBQUtILENBTlE7QUFRRixNQUFNRyxnQkFBZ0IsR0FBRyxDQUFDZCxHQUFELEVBQUtlLEtBQUwsS0FBZTtBQUMzQ2YsS0FBRyxDQUFDZ0IsU0FBSixDQUFjLFlBQWQsRUFBMkJDLHVEQUFBLENBQWlCLGNBQWpCLEVBQWdDRixLQUFoQyxFQUF1QztBQUM5REcsWUFBUSxFQUFFLElBRG9EO0FBRTlEQyxVQUFNLEVBQUUsS0FB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TyxFQUFHSCxLQUFELElBQVdGLEdBQUcsQ0FBRUcsS0FBRCxLQUFZO0FBQUUxQyxRQUFJLEVBQUN5QztBQUFQLEdBQVosQ0FBRCxDQUxZO0FBTW5DSSxZQUFVLEVBQUUsTUFBTU4sR0FBRyxDQUFDO0FBQUN2QyxRQUFJLEVBQUM7QUFBTixHQUFEO0FBTmMsQ0FBTCxDQUFKLENBQXZCLEM7Ozs7Ozs7Ozs7O0FDRlAsNEM7Ozs7Ozs7Ozs7O0FDQUEsb0M7Ozs7Ozs7Ozs7O0FDQUEsMEM7Ozs7Ozs7Ozs7O0FDQUEscUMiLCJmaWxlIjoicGFnZXMvYXBpL3JlZnJlc2hfdG9rZW4uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3NpZ259IGZyb20gJ2pzb253ZWJ0b2tlbidcclxuaW1wb3J0IGNvb2tpZSBmcm9tICdjb29raWUnXHJcbmltcG9ydCB7IHVzZVN0b3JlIH0gZnJvbSBcIi4uL3N0b3JlXCI7XHJcblxyXG5leHBvcnQgY29uc3QgcmVmcmVzaFRva2VuID0gKCkgPT4ge1xyXG4gICAgcmV0dXJuIGZldGNoKCcvYXBpL3JlZnJlc2hfdG9rZW4nLCB7XHJcbiAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcclxuICAgICAgICBjcmVkZW50aWFsczogXCJpbmNsdWRlXCJcclxuICAgIH0pLnRoZW4ocmVzID0+IHJlcy5qc29uKCkpXHJcbiAgICAudGhlbihkYXRhID0+IHtyZXR1cm4gZGF0YX0pXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBjcmVhdGVBY2Nlc3NUb2tlbiA9ICh1c2VyKSA9PiB7XHJcbiAgICByZXR1cm4gc2lnbih7IHVzZXJJZDogdXNlci5pZCB9LCBwcm9jZXNzLmVudi5BQ0NFU1NfVE9LRU5fU0VDUkVULCB7XHJcbiAgICAgIGV4cGlyZXNJbjogJzE1bSdcclxuICAgIH0pO1xyXG4gIH07XHJcbiAgXHJcbiAgZXhwb3J0IGNvbnN0IGNyZWF0ZVJlZnJlc2hUb2tlbiA9ICh1c2VyKSA9PiB7XHJcbiAgICByZXR1cm4gc2lnbihcclxuICAgICAgICB7IHVzZXJJZDogdXNlci5pZCB9LHByb2Nlc3MuZW52LlJFRlJFU0hfVE9LRU5fU0VDUkVULHtcclxuICAgICAgICAgICAgZXhwaXJlc0luOiBcIjdkXCJcclxuICAgICAgICB9XHJcbiAgICApO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHNlbmRSZWZyZXNoVG9rZW4gPSAocmVzLHRva2VuKSA9PiB7XHJcbiAgICByZXMuc2V0SGVhZGVyKCdTZXQtQ29va2llJyxjb29raWUuc2VyaWFsaXplKCdyZWZyZXNoVG9rZW4nLHRva2VuLCB7XHJcbiAgICAgICAgaHR0cE9ubHk6IHRydWUsXHJcbiAgICAgICAgbWF4QWdlOiA2MCAqIDYwICogMjQgKiA3LFxyXG4gICAgICAgIHBhdGg6ICcvJ1xyXG4gICAgfSkpXHJcbn07IiwiaW1wb3J0IHsgUHJpc21hQ2xpZW50IH0gZnJvbSAnQHByaXNtYS9jbGllbnQnXHJcbmNvbnN0IFByaXNtYSA9IG5ldyBQcmlzbWFDbGllbnQoKVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgUHJpc21hIiwiaW1wb3J0IHsgdmVyaWZ5IH0gZnJvbSAnanNvbndlYnRva2VuJ1xyXG5pbXBvcnQge2NyZWF0ZUFjY2Vzc1Rva2VuLCBzZW5kUmVmcmVzaFRva2VuLCBjcmVhdGVSZWZyZXNoVG9rZW59IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9hdXRoJ1xyXG5pbXBvcnQgY29va2llIGZyb20gJ2Nvb2tpZSdcclxuaW1wb3J0IFByaXNtYSBmcm9tICcuLi8uLi9mdW5jdGlvbnMvaW5pdFByaXNtYSdcclxuXHJcblxyXG5leHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvbiByZWZyZXNoX3Rva2VuKHJlcSwgcmVzKSB7XHJcbiAgICBpZiAocmVxLm1ldGhvZCA9PT0gJ1BPU1QnKSB7XHJcbiAgICAgICAgaWYoIXJlcS5oZWFkZXJzLmNvb2tpZSkgcmV0dXJuIHJlcy5zZW5kKHtvazogZmFsc2UsYWNjZXNzVG9rZW46ICcnfSlcclxuICAgICAgICBjb25zdCBnZXRUb2tlbiA9IGNvb2tpZS5wYXJzZShyZXEuaGVhZGVycy5jb29raWUpXHJcbiAgICAgICAgY29uc3QgdG9rZW4gPSBnZXRUb2tlbi5yZWZyZXNoVG9rZW5cclxuXHJcbiAgICAgICAgaWYoIXRva2VuKSByZXR1cm4gcmVzLnNlbmQoe29rOiBmYWxzZSxhY2Nlc3NUb2tlbjogJyd9KVxyXG4gICAgICAgIGxldCBwYXlsb2FkID0gbnVsbFxyXG5cclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBwYXlsb2FkID0gdmVyaWZ5KHRva2VuLCBwcm9jZXNzLmVudi5SRUZSRVNIX1RPS0VOX1NFQ1JFVClcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGNvbnN0IHVzZXIgPSBhd2FpdCBQcmlzbWEudXNlci5maW5kVW5pcXVlKHtcclxuICAgICAgICAgICAgICAgIHdoZXJlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHBheWxvYWQudXNlcklkXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgc2VsZWN0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgZmlyc3ROYW1lOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIHNlY29uZE5hbWU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgZW1haWw6IHRydWVcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuXHJcbiAgICAgICAgICAgIGlmICghdXNlcikgcmV0dXJuIHJlcy5zZW5kKHtvazogZmFsc2UsYWNjZXNzVG9rZW46ICcnfSlcclxuXHJcbiAgICAgICAgICAgIHNlbmRSZWZyZXNoVG9rZW4ocmVzLCBjcmVhdGVSZWZyZXNoVG9rZW4odXNlcikpO1xyXG4gICAgICAgICAgICBjb25zdCBhY2Nlc3NUb2tlbiA9IGNyZWF0ZUFjY2Vzc1Rva2VuKHVzZXIpXHJcblxyXG4gICAgICAgICAgICByZXR1cm4gcmVzLnNlbmQoeyBvazogdHJ1ZSwgYWNjZXNzVG9rZW4sdXNlciB9KTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGUpXHJcbiAgICAgICAgICAgIHJldHVybiByZXMuc2VuZCh7b2s6IGZhbHNlLGFjY2Vzc1Rva2VuOiAnJ30pXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJlcy5zdGF0dXMoNTAwKS5zZW5kKClcclxuICAgIH1cclxuICB9IiwiaW1wb3J0IGNyZWF0ZSBmcm9tICd6dXN0YW5kJ1xyXG5cclxuZXhwb3J0IGNvbnN0IHVzZVN0b3JlID0gY3JlYXRlKHNldCA9PiAoe1xyXG4gICAgYWNjZXNzVG9rZW46IG51bGwsXHJcbiAgICB1c2VyOnt9LFxyXG4gICAgc2V0QWNjZXNzVG9rZW46IChpbnB1dCkgPT4gc2V0KChzdGF0ZSkgPT4gKHsgYWNjZXNzVG9rZW46IGlucHV0IH0pKSxcclxuICAgIHJlbW92ZUFjY2Vzc1Rva2VuOiAoKSA9PiBzZXQoeyBhY2Nlc3NUb2tlbjogbnVsbCB9KSxcclxuICAgIHNldFVzZXI6IChpbnB1dCkgPT4gc2V0KChzdGF0ZSkgPT4gKHsgdXNlcjppbnB1dCB9KSksXHJcbiAgICByZW1vdmVVc2VyOiAoKSA9PiBzZXQoe3VzZXI6bnVsbH0pXHJcbn0pKVxyXG4iLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAcHJpc21hL2NsaWVudFwiKTs7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiY29va2llXCIpOzsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJqc29ud2VidG9rZW5cIik7OyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInp1c3RhbmRcIik7OyJdLCJzb3VyY2VSb290IjoiIn0= -------------------------------------------------------------------------------- /.next/server/pages/protected.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var exports = {}; 3 | exports.id = "pages/protected"; 4 | exports.ids = ["pages/protected"]; 5 | exports.modules = { 6 | 7 | /***/ "./functions/checkAuthClient.js": 8 | /*!**************************************!*\ 9 | !*** ./functions/checkAuthClient.js ***! 10 | \**************************************/ 11 | /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 12 | 13 | "use strict"; 14 | __webpack_require__.r(__webpack_exports__); 15 | /* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ "react/jsx-dev-runtime"); 16 | /* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__); 17 | /* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../store */ "./store/index.js"); 18 | /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/router */ "next/router"); 19 | /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_2__); 20 | 21 | var _jsxFileName = "D:\\Code\\Prisma\\test\\functions\\checkAuthClient.js"; 22 | 23 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 24 | 25 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 26 | 27 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 28 | 29 | 30 | 31 | 32 | const withAuth = Component => { 33 | const Auth = props => { 34 | const store = (0,_store__WEBPACK_IMPORTED_MODULE_1__.useStore)(); 35 | const router = (0,next_router__WEBPACK_IMPORTED_MODULE_2__.useRouter)(); 36 | 37 | if (store.accessToken !== null) { 38 | return /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Component, _objectSpread({}, props), void 0, false, { 39 | fileName: _jsxFileName, 40 | lineNumber: 10, 41 | columnNumber: 17 42 | }, undefined); 43 | } else { 44 | router.replace("/"); 45 | return null; 46 | } 47 | }; 48 | 49 | return Auth; 50 | }; 51 | 52 | /* harmony default export */ __webpack_exports__["default"] = (withAuth); 53 | 54 | /***/ }), 55 | 56 | /***/ "./pages/protected.js": 57 | /*!****************************!*\ 58 | !*** ./pages/protected.js ***! 59 | \****************************/ 60 | /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 61 | 62 | "use strict"; 63 | __webpack_require__.r(__webpack_exports__); 64 | /* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ "react/jsx-dev-runtime"); 65 | /* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__); 66 | /* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../store */ "./store/index.js"); 67 | /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); 68 | /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); 69 | /* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! swr */ "swr"); 70 | /* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(swr__WEBPACK_IMPORTED_MODULE_3__); 71 | /* harmony import */ var _functions_checkAuthClient__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../functions/checkAuthClient */ "./functions/checkAuthClient.js"); 72 | /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! axios */ "axios"); 73 | /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_5__); 74 | 75 | var _jsxFileName = "D:\\Code\\Prisma\\test\\pages\\protected.js"; 76 | 77 | 78 | 79 | 80 | 81 | 82 | function Protected() { 83 | const store = (0,_store__WEBPACK_IMPORTED_MODULE_1__.useStore)(); 84 | const { 85 | 0: secret, 86 | 1: setSecret 87 | } = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(null); 88 | const { 89 | 0: isError, 90 | 1: setError 91 | } = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(null); 92 | const { 93 | 0: loading, 94 | 1: setLoading 95 | } = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(true); 96 | 97 | const fetcher = async () => { 98 | return await axios__WEBPACK_IMPORTED_MODULE_5___default().get('/api/protectedRoute', { 99 | headers: { 100 | authorization: `Bearer ${store.accessToken}` 101 | } 102 | }); 103 | }; 104 | 105 | const { 106 | data, 107 | error 108 | } = swr__WEBPACK_IMPORTED_MODULE_3___default()('/api/', fetcher); 109 | (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(() => { 110 | if (data) setSecret(data.data); 111 | if (error) setError(error); 112 | setLoading(false); 113 | }, [data, error]); 114 | 115 | if (loading) { 116 | return /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)("div", { 117 | children: "Loading..." 118 | }, void 0, false, { 119 | fileName: _jsxFileName, 120 | lineNumber: 30, 121 | columnNumber: 17 122 | }, this); 123 | } else { 124 | if (isError) { 125 | return /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)("div", { 126 | children: "YO! YOU ARE NOT AUTHENTICATED,GET AWAY FROM HERE!!!" 127 | }, void 0, false, { 128 | fileName: _jsxFileName, 129 | lineNumber: 34, 130 | columnNumber: 17 131 | }, this); 132 | } else { 133 | return /*#__PURE__*/(0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)("div", { 134 | children: ["Welcome to protected Page, ", secret] 135 | }, void 0, true, { 136 | fileName: _jsxFileName, 137 | lineNumber: 38, 138 | columnNumber: 17 139 | }, this); 140 | } 141 | } 142 | } 143 | 144 | /* harmony default export */ __webpack_exports__["default"] = ((0,_functions_checkAuthClient__WEBPACK_IMPORTED_MODULE_4__.default)(Protected)); 145 | 146 | /***/ }), 147 | 148 | /***/ "./store/index.js": 149 | /*!************************!*\ 150 | !*** ./store/index.js ***! 151 | \************************/ 152 | /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 153 | 154 | "use strict"; 155 | __webpack_require__.r(__webpack_exports__); 156 | /* harmony export */ __webpack_require__.d(__webpack_exports__, { 157 | /* harmony export */ "useStore": function() { return /* binding */ useStore; } 158 | /* harmony export */ }); 159 | /* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zustand */ "zustand"); 160 | /* harmony import */ var zustand__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(zustand__WEBPACK_IMPORTED_MODULE_0__); 161 | 162 | const useStore = zustand__WEBPACK_IMPORTED_MODULE_0___default()(set => ({ 163 | accessToken: null, 164 | user: {}, 165 | setAccessToken: input => set(state => ({ 166 | accessToken: input 167 | })), 168 | removeAccessToken: () => set({ 169 | accessToken: null 170 | }), 171 | setUser: input => set(state => ({ 172 | user: input 173 | })), 174 | removeUser: () => set({ 175 | user: null 176 | }) 177 | })); 178 | 179 | /***/ }), 180 | 181 | /***/ "axios": 182 | /*!************************!*\ 183 | !*** external "axios" ***! 184 | \************************/ 185 | /***/ (function(module) { 186 | 187 | "use strict"; 188 | module.exports = require("axios");; 189 | 190 | /***/ }), 191 | 192 | /***/ "next/router": 193 | /*!******************************!*\ 194 | !*** external "next/router" ***! 195 | \******************************/ 196 | /***/ (function(module) { 197 | 198 | "use strict"; 199 | module.exports = require("next/router");; 200 | 201 | /***/ }), 202 | 203 | /***/ "react": 204 | /*!************************!*\ 205 | !*** external "react" ***! 206 | \************************/ 207 | /***/ (function(module) { 208 | 209 | "use strict"; 210 | module.exports = require("react");; 211 | 212 | /***/ }), 213 | 214 | /***/ "react/jsx-dev-runtime": 215 | /*!****************************************!*\ 216 | !*** external "react/jsx-dev-runtime" ***! 217 | \****************************************/ 218 | /***/ (function(module) { 219 | 220 | "use strict"; 221 | module.exports = require("react/jsx-dev-runtime");; 222 | 223 | /***/ }), 224 | 225 | /***/ "swr": 226 | /*!**********************!*\ 227 | !*** external "swr" ***! 228 | \**********************/ 229 | /***/ (function(module) { 230 | 231 | "use strict"; 232 | module.exports = require("swr");; 233 | 234 | /***/ }), 235 | 236 | /***/ "zustand": 237 | /*!**************************!*\ 238 | !*** external "zustand" ***! 239 | \**************************/ 240 | /***/ (function(module) { 241 | 242 | "use strict"; 243 | module.exports = require("zustand");; 244 | 245 | /***/ }) 246 | 247 | }; 248 | ; 249 | 250 | // load runtime 251 | var __webpack_require__ = require("../webpack-runtime.js"); 252 | __webpack_require__.C(exports); 253 | var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); } 254 | var __webpack_exports__ = (__webpack_exec__("./pages/protected.js")); 255 | module.exports = __webpack_exports__; 256 | 257 | })(); 258 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9wcmlzbW5leHQvLi9mdW5jdGlvbnMvY2hlY2tBdXRoQ2xpZW50LmpzIiwid2VicGFjazovL3ByaXNtbmV4dC8uL3BhZ2VzL3Byb3RlY3RlZC5qcyIsIndlYnBhY2s6Ly9wcmlzbW5leHQvLi9zdG9yZS9pbmRleC5qcyIsIndlYnBhY2s6Ly9wcmlzbW5leHQvZXh0ZXJuYWwgXCJheGlvc1wiIiwid2VicGFjazovL3ByaXNtbmV4dC9leHRlcm5hbCBcIm5leHQvcm91dGVyXCIiLCJ3ZWJwYWNrOi8vcHJpc21uZXh0L2V4dGVybmFsIFwicmVhY3RcIiIsIndlYnBhY2s6Ly9wcmlzbW5leHQvZXh0ZXJuYWwgXCJyZWFjdC9qc3gtZGV2LXJ1bnRpbWVcIiIsIndlYnBhY2s6Ly9wcmlzbW5leHQvZXh0ZXJuYWwgXCJzd3JcIiIsIndlYnBhY2s6Ly9wcmlzbW5leHQvZXh0ZXJuYWwgXCJ6dXN0YW5kXCIiXSwibmFtZXMiOlsid2l0aEF1dGgiLCJDb21wb25lbnQiLCJBdXRoIiwicHJvcHMiLCJzdG9yZSIsInVzZVN0b3JlIiwicm91dGVyIiwidXNlUm91dGVyIiwiYWNjZXNzVG9rZW4iLCJyZXBsYWNlIiwiUHJvdGVjdGVkIiwic2VjcmV0Iiwic2V0U2VjcmV0IiwidXNlU3RhdGUiLCJpc0Vycm9yIiwic2V0RXJyb3IiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsImZldGNoZXIiLCJheGlvcyIsImhlYWRlcnMiLCJhdXRob3JpemF0aW9uIiwiZGF0YSIsImVycm9yIiwidXNlU1dSIiwidXNlRWZmZWN0IiwiY2hlY2tBdXRoQ2xpZW50IiwiY3JlYXRlIiwic2V0IiwidXNlciIsInNldEFjY2Vzc1Rva2VuIiwiaW5wdXQiLCJzdGF0ZSIsInJlbW92ZUFjY2Vzc1Rva2VuIiwic2V0VXNlciIsInJlbW92ZVVzZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBOztBQUVBLE1BQU1BLFFBQVEsR0FBR0MsU0FB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QixDOzs7Ozs7Ozs7OztBQ0ZQLG1DOzs7Ozs7Ozs7OztBQ0FBLHlDOzs7Ozs7Ozs7OztBQ0FBLG1DOzs7Ozs7Ozs7OztBQ0FBLG1EOzs7Ozs7Ozs7OztBQ0FBLGlDOzs7Ozs7Ozs7OztBQ0FBLHFDIiwiZmlsZSI6InBhZ2VzL3Byb3RlY3RlZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0b3JlIH0gZnJvbSBcIi4uL3N0b3JlXCI7XHJcbmltcG9ydCB7dXNlUm91dGVyfSBmcm9tICduZXh0L3JvdXRlcidcclxuXHJcbmNvbnN0IHdpdGhBdXRoID0gQ29tcG9uZW50ID0+IHtcclxuICAgIGNvbnN0IEF1dGggPSAocHJvcHMpID0+IHtcclxuICAgICAgICBjb25zdCBzdG9yZSA9IHVzZVN0b3JlKClcclxuICAgICAgICBjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKVxyXG4gICAgICAgIGlmKHN0b3JlLmFjY2Vzc1Rva2VuICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICA8Q29tcG9uZW50IHsuLi5wcm9wc30gLz5cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJvdXRlci5yZXBsYWNlKFwiL1wiKTtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiBBdXRoO1xyXG4gIH07XHJcbiAgXHJcbiAgZXhwb3J0IGRlZmF1bHQgd2l0aEF1dGg7IiwiaW1wb3J0IHsgdXNlU3RvcmUgfSBmcm9tICcuLi9zdG9yZSdcclxuaW1wb3J0IHt1c2VFZmZlY3QsIHVzZVN0YXRlfSBmcm9tICdyZWFjdCdcclxuaW1wb3J0IHVzZVNXUiBmcm9tICdzd3InXHJcbmltcG9ydCBjaGVja0F1dGhDbGllbnQgZnJvbSAnLi4vZnVuY3Rpb25zL2NoZWNrQXV0aENsaWVudCdcclxuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJ1xyXG5cclxuZnVuY3Rpb24gUHJvdGVjdGVkKCkge1xyXG4gICAgY29uc3Qgc3RvcmUgPSB1c2VTdG9yZSgpXHJcbiAgICBjb25zdCBbc2VjcmV0LCBzZXRTZWNyZXRdID0gdXNlU3RhdGUobnVsbClcclxuICAgIGNvbnN0IFtpc0Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZShudWxsKVxyXG4gICAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSlcclxuICAgIFxyXG4gICAgY29uc3QgZmV0Y2hlciA9IGFzeW5jICgpID0+IHtcclxuICAgICAgICByZXR1cm4gYXdhaXQgYXhpb3MuZ2V0KCcvYXBpL3Byb3RlY3RlZFJvdXRlJywge1xyXG4gICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICBhdXRob3JpemF0aW9uOiBgQmVhcmVyICR7c3RvcmUuYWNjZXNzVG9rZW59YFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB7IGRhdGEsIGVycm9yIH0gPSB1c2VTV1IoJy9hcGkvJywgZmV0Y2hlcilcclxuICAgIFxyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZihkYXRhKSBzZXRTZWNyZXQoZGF0YS5kYXRhKVxyXG4gICAgICAgIGlmIChlcnJvcikgc2V0RXJyb3IoZXJyb3IpXHJcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSlcclxuICAgIH0sW2RhdGEsZXJyb3JdKVxyXG5cclxuICAgIGlmKGxvYWRpbmcpIHtcclxuICAgICAgICByZXR1cm4gKDxkaXY+TG9hZGluZy4uLjwvZGl2PilcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYoaXNFcnJvcikge1xyXG4gICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgPGRpdj5ZTyEgWU9VIEFSRSBOT1QgQVVUSEVOVElDQVRFRCxHRVQgQVdBWSBGUk9NIEhFUkUhISE8L2Rpdj5cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIFdlbGNvbWUgdG8gcHJvdGVjdGVkIFBhZ2UsIHtzZWNyZXR9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2hlY2tBdXRoQ2xpZW50KFByb3RlY3RlZClcclxuIiwiaW1wb3J0IGNyZWF0ZSBmcm9tICd6dXN0YW5kJ1xyXG5cclxuZXhwb3J0IGNvbnN0IHVzZVN0b3JlID0gY3JlYXRlKHNldCA9PiAoe1xyXG4gICAgYWNjZXNzVG9rZW46IG51bGwsXHJcbiAgICB1c2VyOnt9LFxyXG4gICAgc2V0QWNjZXNzVG9rZW46IChpbnB1dCkgPT4gc2V0KChzdGF0ZSkgPT4gKHsgYWNjZXNzVG9rZW46IGlucHV0IH0pKSxcclxuICAgIHJlbW92ZUFjY2Vzc1Rva2VuOiAoKSA9PiBzZXQoeyBhY2Nlc3NUb2tlbjogbnVsbCB9KSxcclxuICAgIHNldFVzZXI6IChpbnB1dCkgPT4gc2V0KChzdGF0ZSkgPT4gKHsgdXNlcjppbnB1dCB9KSksXHJcbiAgICByZW1vdmVVc2VyOiAoKSA9PiBzZXQoe3VzZXI6bnVsbH0pXHJcbn0pKVxyXG4iLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJheGlvc1wiKTs7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibmV4dC9yb3V0ZXJcIik7OyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInJlYWN0XCIpOzsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtZGV2LXJ1bnRpbWVcIik7OyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcInN3clwiKTs7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwienVzdGFuZFwiKTs7Il0sInNvdXJjZVJvb3QiOiIifQ== -------------------------------------------------------------------------------- /.next/server/webpack-runtime.js: -------------------------------------------------------------------------------- 1 | /******/ (function() { // webpackBootstrap 2 | /******/ "use strict"; 3 | /******/ var __webpack_modules__ = ({}); 4 | /************************************************************************/ 5 | /******/ // The module cache 6 | /******/ var __webpack_module_cache__ = {}; 7 | /******/ 8 | /******/ // The require function 9 | /******/ function __webpack_require__(moduleId) { 10 | /******/ // Check if module is in cache 11 | /******/ var cachedModule = __webpack_module_cache__[moduleId]; 12 | /******/ if (cachedModule !== undefined) { 13 | /******/ return cachedModule.exports; 14 | /******/ } 15 | /******/ // Create a new module (and put it into the cache) 16 | /******/ var module = __webpack_module_cache__[moduleId] = { 17 | /******/ // no module.id needed 18 | /******/ // no module.loaded needed 19 | /******/ exports: {} 20 | /******/ }; 21 | /******/ 22 | /******/ // Execute the module function 23 | /******/ var threw = true; 24 | /******/ try { 25 | /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); 26 | /******/ threw = false; 27 | /******/ } finally { 28 | /******/ if(threw) delete __webpack_module_cache__[moduleId]; 29 | /******/ } 30 | /******/ 31 | /******/ // Return the exports of the module 32 | /******/ return module.exports; 33 | /******/ } 34 | /******/ 35 | /******/ // expose the modules object (__webpack_modules__) 36 | /******/ __webpack_require__.m = __webpack_modules__; 37 | /******/ 38 | /************************************************************************/ 39 | /******/ /* webpack/runtime/compat get default export */ 40 | /******/ !function() { 41 | /******/ // getDefaultExport function for compatibility with non-harmony modules 42 | /******/ __webpack_require__.n = function(module) { 43 | /******/ var getter = module && module.__esModule ? 44 | /******/ function() { return module['default']; } : 45 | /******/ function() { return module; }; 46 | /******/ __webpack_require__.d(getter, { a: getter }); 47 | /******/ return getter; 48 | /******/ }; 49 | /******/ }(); 50 | /******/ 51 | /******/ /* webpack/runtime/define property getters */ 52 | /******/ !function() { 53 | /******/ // define getter functions for harmony exports 54 | /******/ __webpack_require__.d = function(exports, definition) { 55 | /******/ for(var key in definition) { 56 | /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { 57 | /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); 58 | /******/ } 59 | /******/ } 60 | /******/ }; 61 | /******/ }(); 62 | /******/ 63 | /******/ /* webpack/runtime/ensure chunk */ 64 | /******/ !function() { 65 | /******/ __webpack_require__.f = {}; 66 | /******/ // This file contains only the entry chunk. 67 | /******/ // The chunk loading function for additional chunks 68 | /******/ __webpack_require__.e = function(chunkId) { 69 | /******/ return Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) { 70 | /******/ __webpack_require__.f[key](chunkId, promises); 71 | /******/ return promises; 72 | /******/ }, [])); 73 | /******/ }; 74 | /******/ }(); 75 | /******/ 76 | /******/ /* webpack/runtime/get javascript chunk filename */ 77 | /******/ !function() { 78 | /******/ // This function allow to reference async chunks and sibling chunks for the entrypoint 79 | /******/ __webpack_require__.u = function(chunkId) { 80 | /******/ // return url for filenames based on template 81 | /******/ return undefined; 82 | /******/ }; 83 | /******/ }(); 84 | /******/ 85 | /******/ /* webpack/runtime/hasOwnProperty shorthand */ 86 | /******/ !function() { 87 | /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } 88 | /******/ }(); 89 | /******/ 90 | /******/ /* webpack/runtime/make namespace object */ 91 | /******/ !function() { 92 | /******/ // define __esModule on exports 93 | /******/ __webpack_require__.r = function(exports) { 94 | /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 95 | /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 96 | /******/ } 97 | /******/ Object.defineProperty(exports, '__esModule', { value: true }); 98 | /******/ }; 99 | /******/ }(); 100 | /******/ 101 | /******/ /* webpack/runtime/startup entrypoint */ 102 | /******/ !function() { 103 | /******/ __webpack_require__.X = function(result, chunkIds, fn) { 104 | /******/ // arguments: chunkIds, moduleId are deprecated 105 | /******/ var moduleId = chunkIds; 106 | /******/ if(!fn) chunkIds = result, fn = function() { return __webpack_require__(__webpack_require__.s = moduleId); }; 107 | /******/ chunkIds.map(__webpack_require__.e, __webpack_require__) 108 | /******/ var r = fn(); 109 | /******/ return r === undefined ? result : r; 110 | /******/ } 111 | /******/ }(); 112 | /******/ 113 | /******/ /* webpack/runtime/require chunk loading */ 114 | /******/ !function() { 115 | /******/ // no baseURI 116 | /******/ 117 | /******/ // object to store loaded chunks 118 | /******/ // "1" means "loaded", otherwise not loaded yet 119 | /******/ var installedChunks = { 120 | /******/ "webpack-runtime": 1 121 | /******/ }; 122 | /******/ 123 | /******/ // no on chunks loaded 124 | /******/ 125 | /******/ var installChunk = function(chunk) { 126 | /******/ var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime; 127 | /******/ for(var moduleId in moreModules) { 128 | /******/ if(__webpack_require__.o(moreModules, moduleId)) { 129 | /******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; 130 | /******/ } 131 | /******/ } 132 | /******/ if(runtime) runtime(__webpack_require__); 133 | /******/ for(var i = 0; i < chunkIds.length; i++) 134 | /******/ installedChunks[chunkIds[i]] = 1; 135 | /******/ 136 | /******/ }; 137 | /******/ 138 | /******/ // require() chunk loading for javascript 139 | /******/ __webpack_require__.f.require = function(chunkId, promises) { 140 | /******/ // "1" is the signal for "already loaded" 141 | /******/ if(!installedChunks[chunkId]) { 142 | /******/ if("webpack-runtime" != chunkId) { 143 | /******/ installChunk(require("./" + __webpack_require__.u(chunkId))); 144 | /******/ } else installedChunks[chunkId] = 1; 145 | /******/ } 146 | /******/ }; 147 | /******/ 148 | /******/ module.exports = __webpack_require__; 149 | /******/ __webpack_require__.C = installChunk; 150 | /******/ 151 | /******/ // no HMR 152 | /******/ 153 | /******/ // no HMR manifest 154 | /******/ }(); 155 | /******/ 156 | /************************************************************************/ 157 | /******/ 158 | /******/ 159 | /******/ })() 160 | ; 161 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9wcmlzbW5leHQvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vcHJpc21uZXh0L3dlYnBhY2svcnVudGltZS9jb21wYXQgZ2V0IGRlZmF1bHQgZXhwb3J0Iiwid2VicGFjazovL3ByaXNtbmV4dC93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vcHJpc21uZXh0L3dlYnBhY2svcnVudGltZS9lbnN1cmUgY2h1bmsiLCJ3ZWJwYWNrOi8vcHJpc21uZXh0L3dlYnBhY2svcnVudGltZS9nZXQgamF2YXNjcmlwdCBjaHVuayBmaWxlbmFtZSIsIndlYnBhY2s6Ly9wcmlzbW5leHQvd2VicGFjay9ydW50aW1lL2hhc093blByb3BlcnR5IHNob3J0aGFuZCIsIndlYnBhY2s6Ly9wcmlzbW5leHQvd2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCIsIndlYnBhY2s6Ly9wcmlzbW5leHQvd2VicGFjay9ydW50aW1lL3N0YXJ0dXAgZW50cnlwb2ludCIsIndlYnBhY2s6Ly9wcmlzbW5leHQvd2VicGFjay9ydW50aW1lL3JlcXVpcmUgY2h1bmsgbG9hZGluZyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O1VBQUE7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0EsRUFBRTtVQUNGO1VBQ0E7O1VBRUE7VUFDQTtVQUNBOztVQUVBO1VBQ0E7Ozs7O1dDL0JBO1dBQ0E7V0FDQTtXQUNBLGNBQWMsMEJBQTBCLEVBQUU7V0FDMUMsY0FBYyxlQUFlO1dBQzdCLGdDQUFnQyxZQUFZO1dBQzVDO1dBQ0EsRTs7Ozs7V0NQQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLHdDQUF3Qyx5Q0FBeUM7V0FDakY7V0FDQTtXQUNBLEU7Ozs7O1dDUEE7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQSxFQUFFO1dBQ0YsRTs7Ozs7V0NSQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLEU7Ozs7O1dDSkEsNkNBQTZDLHdEQUF3RCxFOzs7OztXQ0FyRztXQUNBO1dBQ0E7V0FDQSxzREFBc0Qsa0JBQWtCO1dBQ3hFO1dBQ0EsK0NBQStDLGNBQWM7V0FDN0QsRTs7Ozs7V0NOQTtXQUNBO1dBQ0E7V0FDQSw2Q0FBNkMsOERBQThEO1dBQzNHO1dBQ0E7V0FDQTtXQUNBLEM7Ozs7O1dDUEE7O1dBRUE7V0FDQTtXQUNBO1dBQ0E7V0FDQTs7V0FFQTs7V0FFQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0EsZUFBZSxxQkFBcUI7V0FDcEM7O1dBRUE7O1dBRUE7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0EsR0FBRztXQUNIO1dBQ0E7O1dBRUE7V0FDQTs7V0FFQTs7V0FFQSxrQiIsImZpbGUiOiJ3ZWJwYWNrLXJ1bnRpbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdHZhciB0aHJldyA9IHRydWU7XG5cdHRyeSB7XG5cdFx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0obW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cdFx0dGhyZXcgPSBmYWxzZTtcblx0fSBmaW5hbGx5IHtcblx0XHRpZih0aHJldykgZGVsZXRlIF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdH1cblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbi8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBfX3dlYnBhY2tfbW9kdWxlc19fO1xuXG4iLCIvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuX193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG5cdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuXHRcdGZ1bmN0aW9uKCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuXHRcdGZ1bmN0aW9uKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCB7IGE6IGdldHRlciB9KTtcblx0cmV0dXJuIGdldHRlcjtcbn07IiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgZGVmaW5pdGlvbikge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmYgPSB7fTtcbi8vIFRoaXMgZmlsZSBjb250YWlucyBvbmx5IHRoZSBlbnRyeSBjaHVuay5cbi8vIFRoZSBjaHVuayBsb2FkaW5nIGZ1bmN0aW9uIGZvciBhZGRpdGlvbmFsIGNodW5rc1xuX193ZWJwYWNrX3JlcXVpcmVfXy5lID0gZnVuY3Rpb24oY2h1bmtJZCkge1xuXHRyZXR1cm4gUHJvbWlzZS5hbGwoT2JqZWN0LmtleXMoX193ZWJwYWNrX3JlcXVpcmVfXy5mKS5yZWR1Y2UoZnVuY3Rpb24ocHJvbWlzZXMsIGtleSkge1xuXHRcdF9fd2VicGFja19yZXF1aXJlX18uZltrZXldKGNodW5rSWQsIHByb21pc2VzKTtcblx0XHRyZXR1cm4gcHJvbWlzZXM7XG5cdH0sIFtdKSk7XG59OyIsIi8vIFRoaXMgZnVuY3Rpb24gYWxsb3cgdG8gcmVmZXJlbmNlIGFzeW5jIGNodW5rcyBhbmQgc2libGluZyBjaHVua3MgZm9yIHRoZSBlbnRyeXBvaW50XG5fX3dlYnBhY2tfcmVxdWlyZV9fLnUgPSBmdW5jdGlvbihjaHVua0lkKSB7XG5cdC8vIHJldHVybiB1cmwgZm9yIGZpbGVuYW1lcyBiYXNlZCBvbiB0ZW1wbGF0ZVxuXHRyZXR1cm4gdW5kZWZpbmVkO1xufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmosIHByb3ApIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApOyB9IiwiLy8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5yID0gZnVuY3Rpb24oZXhwb3J0cykge1xuXHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcblx0fVxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLlggPSBmdW5jdGlvbihyZXN1bHQsIGNodW5rSWRzLCBmbikge1xuXHQvLyBhcmd1bWVudHM6IGNodW5rSWRzLCBtb2R1bGVJZCBhcmUgZGVwcmVjYXRlZFxuXHR2YXIgbW9kdWxlSWQgPSBjaHVua0lkcztcblx0aWYoIWZuKSBjaHVua0lkcyA9IHJlc3VsdCwgZm4gPSBmdW5jdGlvbigpIHsgcmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gbW9kdWxlSWQpOyB9O1xuXHRjaHVua0lkcy5tYXAoX193ZWJwYWNrX3JlcXVpcmVfXy5lLCBfX3dlYnBhY2tfcmVxdWlyZV9fKVxuXHR2YXIgciA9IGZuKCk7XG5cdHJldHVybiByID09PSB1bmRlZmluZWQgPyByZXN1bHQgOiByO1xufSIsIi8vIG5vIGJhc2VVUklcblxuLy8gb2JqZWN0IHRvIHN0b3JlIGxvYWRlZCBjaHVua3Ncbi8vIFwiMVwiIG1lYW5zIFwibG9hZGVkXCIsIG90aGVyd2lzZSBub3QgbG9hZGVkIHlldFxudmFyIGluc3RhbGxlZENodW5rcyA9IHtcblx0XCJ3ZWJwYWNrLXJ1bnRpbWVcIjogMVxufTtcblxuLy8gbm8gb24gY2h1bmtzIGxvYWRlZFxuXG52YXIgaW5zdGFsbENodW5rID0gZnVuY3Rpb24oY2h1bmspIHtcblx0dmFyIG1vcmVNb2R1bGVzID0gY2h1bmsubW9kdWxlcywgY2h1bmtJZHMgPSBjaHVuay5pZHMsIHJ1bnRpbWUgPSBjaHVuay5ydW50aW1lO1xuXHRmb3IodmFyIG1vZHVsZUlkIGluIG1vcmVNb2R1bGVzKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKG1vcmVNb2R1bGVzLCBtb2R1bGVJZCkpIHtcblx0XHRcdF9fd2VicGFja19yZXF1aXJlX18ubVttb2R1bGVJZF0gPSBtb3JlTW9kdWxlc1ttb2R1bGVJZF07XG5cdFx0fVxuXHR9XG5cdGlmKHJ1bnRpbWUpIHJ1bnRpbWUoX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cdGZvcih2YXIgaSA9IDA7IGkgPCBjaHVua0lkcy5sZW5ndGg7IGkrKylcblx0XHRpbnN0YWxsZWRDaHVua3NbY2h1bmtJZHNbaV1dID0gMTtcblxufTtcblxuLy8gcmVxdWlyZSgpIGNodW5rIGxvYWRpbmcgZm9yIGphdmFzY3JpcHRcbl9fd2VicGFja19yZXF1aXJlX18uZi5yZXF1aXJlID0gZnVuY3Rpb24oY2h1bmtJZCwgcHJvbWlzZXMpIHtcblx0Ly8gXCIxXCIgaXMgdGhlIHNpZ25hbCBmb3IgXCJhbHJlYWR5IGxvYWRlZFwiXG5cdGlmKCFpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF0pIHtcblx0XHRpZihcIndlYnBhY2stcnVudGltZVwiICE9IGNodW5rSWQpIHtcblx0XHRcdGluc3RhbGxDaHVuayhyZXF1aXJlKFwiLi9cIiArIF9fd2VicGFja19yZXF1aXJlX18udShjaHVua0lkKSkpO1xuXHRcdH0gZWxzZSBpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF0gPSAxO1xuXHR9XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX187XG5fX3dlYnBhY2tfcmVxdWlyZV9fLkMgPSBpbnN0YWxsQ2h1bms7XG5cbi8vIG5vIEhNUlxuXG4vLyBubyBITVIgbWFuaWZlc3QiXSwic291cmNlUm9vdCI6IiJ9 -------------------------------------------------------------------------------- /.next/static/chunks/node_modules_next_dist_client_dev_noop_js.js: -------------------------------------------------------------------------------- 1 | (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["node_modules_next_dist_client_dev_noop_js"],{ 2 | 3 | /***/ "./node_modules/next/dist/client/dev/noop.js": 4 | /*!***************************************************!*\ 5 | !*** ./node_modules/next/dist/client/dev/noop.js ***! 6 | \***************************************************/ 7 | /***/ (function(module, __unused_webpack_exports, __webpack_require__) { 8 | 9 | "use strict"; 10 | /* module decorator */ module = __webpack_require__.nmd(module); 11 | 12 | 13 | ; 14 | var _a, _b; 15 | // Legacy CSS implementations will `eval` browser code in a Node.js context 16 | // to extract CSS. For backwards compatibility, we need to check we're in a 17 | // browser context before continuing. 18 | if (typeof self !== 'undefined' && 19 | // AMP / No-JS mode does not inject these helpers: 20 | '$RefreshHelpers$' in self) { 21 | var currentExports = module.__proto__.exports; 22 | var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null; 23 | // This cannot happen in MainTemplate because the exports mismatch between 24 | // templating and execution. 25 | self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id); 26 | // A module can be accepted automatically based on its exports, e.g. when 27 | // it is a Refresh Boundary. 28 | if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) { 29 | // Save the previous exports on update so we can compare the boundary 30 | // signatures. 31 | module.hot.dispose(function (data) { 32 | data.prevExports = currentExports; 33 | }); 34 | // Unconditionally accept an update to this module, we'll check if it's 35 | // still a Refresh Boundary later. 36 | module.hot.accept(); 37 | // This field is set when the previous version of this module was a 38 | // Refresh Boundary, letting us know we need to check for invalidation or 39 | // enqueue an update. 40 | if (prevExports !== null) { 41 | // A boundary can become ineligible if its exports are incompatible 42 | // with the previous exports. 43 | // 44 | // For example, if you add/remove/change exports, we'll want to 45 | // re-execute the importing modules, and force those components to 46 | // re-render. Similarly, if you convert a class component to a 47 | // function, we want to invalidate the boundary. 48 | if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) { 49 | module.hot.invalidate(); 50 | } 51 | else { 52 | self.$RefreshHelpers$.scheduleUpdate(); 53 | } 54 | } 55 | } 56 | else { 57 | // Since we just executed the code for the module, it's possible that the 58 | // new exports made it ineligible for being a boundary. 59 | // We only care about the case when we were _previously_ a boundary, 60 | // because we already accepted this update (accidental side effect). 61 | var isNoLongerABoundary = prevExports !== null; 62 | if (isNoLongerABoundary) { 63 | module.hot.invalidate(); 64 | } 65 | } 66 | } 67 | 68 | 69 | /***/ }) 70 | 71 | }]); 72 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvZGV2L25vb3AuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFhIiwiZmlsZSI6InN0YXRpYy9jaHVua3Mvbm9kZV9tb2R1bGVzX25leHRfZGlzdF9jbGllbnRfZGV2X25vb3BfanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5vb3AuanMubWFwIl0sInNvdXJjZVJvb3QiOiIifQ== -------------------------------------------------------------------------------- /.next/static/chunks/pages/_error.js: -------------------------------------------------------------------------------- 1 | (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["pages/_error"],{ 2 | 3 | /***/ "./node_modules/@babel/runtime/helpers/defineProperty.js": 4 | /*!***************************************************************!*\ 5 | !*** ./node_modules/@babel/runtime/helpers/defineProperty.js ***! 6 | \***************************************************************/ 7 | /***/ (function(module) { 8 | 9 | function _defineProperty(obj, key, value) { 10 | if (key in obj) { 11 | Object.defineProperty(obj, key, { 12 | value: value, 13 | enumerable: true, 14 | configurable: true, 15 | writable: true 16 | }); 17 | } else { 18 | obj[key] = value; 19 | } 20 | 21 | return obj; 22 | } 23 | 24 | module.exports = _defineProperty; 25 | 26 | /***/ }), 27 | 28 | /***/ "./node_modules/next/dist/next-server/lib/amp-context.js": 29 | /*!***************************************************************!*\ 30 | !*** ./node_modules/next/dist/next-server/lib/amp-context.js ***! 31 | \***************************************************************/ 32 | /***/ (function(module, exports, __webpack_require__) { 33 | 34 | "use strict"; 35 | /* module decorator */ module = __webpack_require__.nmd(module); 36 | 37 | 38 | exports.__esModule = true; 39 | exports.AmpStateContext = void 0; 40 | 41 | var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); 42 | 43 | function _interopRequireDefault(obj) { 44 | return obj && obj.__esModule ? obj : { 45 | "default": obj 46 | }; 47 | } 48 | 49 | var AmpStateContext = /*#__PURE__*/_react["default"].createContext({}); 50 | 51 | exports.AmpStateContext = AmpStateContext; 52 | 53 | if (true) { 54 | AmpStateContext.displayName = 'AmpStateContext'; 55 | } 56 | 57 | ; 58 | var _a, _b; 59 | // Legacy CSS implementations will `eval` browser code in a Node.js context 60 | // to extract CSS. For backwards compatibility, we need to check we're in a 61 | // browser context before continuing. 62 | if (typeof self !== 'undefined' && 63 | // AMP / No-JS mode does not inject these helpers: 64 | '$RefreshHelpers$' in self) { 65 | var currentExports = module.__proto__.exports; 66 | var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null; 67 | // This cannot happen in MainTemplate because the exports mismatch between 68 | // templating and execution. 69 | self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id); 70 | // A module can be accepted automatically based on its exports, e.g. when 71 | // it is a Refresh Boundary. 72 | if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) { 73 | // Save the previous exports on update so we can compare the boundary 74 | // signatures. 75 | module.hot.dispose(function (data) { 76 | data.prevExports = currentExports; 77 | }); 78 | // Unconditionally accept an update to this module, we'll check if it's 79 | // still a Refresh Boundary later. 80 | module.hot.accept(); 81 | // This field is set when the previous version of this module was a 82 | // Refresh Boundary, letting us know we need to check for invalidation or 83 | // enqueue an update. 84 | if (prevExports !== null) { 85 | // A boundary can become ineligible if its exports are incompatible 86 | // with the previous exports. 87 | // 88 | // For example, if you add/remove/change exports, we'll want to 89 | // re-execute the importing modules, and force those components to 90 | // re-render. Similarly, if you convert a class component to a 91 | // function, we want to invalidate the boundary. 92 | if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) { 93 | module.hot.invalidate(); 94 | } 95 | else { 96 | self.$RefreshHelpers$.scheduleUpdate(); 97 | } 98 | } 99 | } 100 | else { 101 | // Since we just executed the code for the module, it's possible that the 102 | // new exports made it ineligible for being a boundary. 103 | // We only care about the case when we were _previously_ a boundary, 104 | // because we already accepted this update (accidental side effect). 105 | var isNoLongerABoundary = prevExports !== null; 106 | if (isNoLongerABoundary) { 107 | module.hot.invalidate(); 108 | } 109 | } 110 | } 111 | 112 | 113 | /***/ }), 114 | 115 | /***/ "./node_modules/next/dist/next-server/lib/amp.js": 116 | /*!*******************************************************!*\ 117 | !*** ./node_modules/next/dist/next-server/lib/amp.js ***! 118 | \*******************************************************/ 119 | /***/ (function(module, exports, __webpack_require__) { 120 | 121 | "use strict"; 122 | /* module decorator */ module = __webpack_require__.nmd(module); 123 | 124 | 125 | var _s = $RefreshSig$(); 126 | 127 | exports.__esModule = true; 128 | exports.isInAmpMode = isInAmpMode; 129 | exports.useAmp = useAmp; 130 | 131 | var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js")); 132 | 133 | var _ampContext = __webpack_require__(/*! ./amp-context */ "./node_modules/next/dist/next-server/lib/amp-context.js"); 134 | 135 | function _interopRequireDefault(obj) { 136 | return obj && obj.__esModule ? obj : { 137 | "default": obj 138 | }; 139 | } 140 | 141 | function isInAmpMode() { 142 | var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, 143 | _ref$ampFirst = _ref.ampFirst, 144 | ampFirst = _ref$ampFirst === void 0 ? false : _ref$ampFirst, 145 | _ref$hybrid = _ref.hybrid, 146 | hybrid = _ref$hybrid === void 0 ? false : _ref$hybrid, 147 | _ref$hasQuery = _ref.hasQuery, 148 | hasQuery = _ref$hasQuery === void 0 ? false : _ref$hasQuery; 149 | 150 | return ampFirst || hybrid && hasQuery; 151 | } 152 | 153 | function useAmp() { 154 | _s(); 155 | 156 | // Don't assign the context value to a variable to save bytes 157 | return isInAmpMode(_react["default"].useContext(_ampContext.AmpStateContext)); 158 | } 159 | 160 | _s(useAmp, "gDsCjeeItUuvgOWf1v4qoK9RF6k="); 161 | 162 | ; 163 | var _a, _b; 164 | // Legacy CSS implementations will `eval` browser code in a Node.js context 165 | // to extract CSS. For backwards compatibility, we need to check we're in a 166 | // browser context before continuing. 167 | if (typeof self !== 'undefined' && 168 | // AMP / No-JS mode does not inject these helpers: 169 | '$RefreshHelpers$' in self) { 170 | var currentExports = module.__proto__.exports; 171 | var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null; 172 | // This cannot happen in MainTemplate because the exports mismatch between 173 | // templating and execution. 174 | self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id); 175 | // A module can be accepted automatically based on its exports, e.g. when 176 | // it is a Refresh Boundary. 177 | if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) { 178 | // Save the previous exports on update so we can compare the boundary 179 | // signatures. 180 | module.hot.dispose(function (data) { 181 | data.prevExports = currentExports; 182 | }); 183 | // Unconditionally accept an update to this module, we'll check if it's 184 | // still a Refresh Boundary later. 185 | module.hot.accept(); 186 | // This field is set when the previous version of this module was a 187 | // Refresh Boundary, letting us know we need to check for invalidation or 188 | // enqueue an update. 189 | if (prevExports !== null) { 190 | // A boundary can become ineligible if its exports are incompatible 191 | // with the previous exports. 192 | // 193 | // For example, if you add/remove/change exports, we'll want to 194 | // re-execute the importing modules, and force those components to 195 | // re-render. Similarly, if you convert a class component to a 196 | // function, we want to invalidate the boundary. 197 | if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) { 198 | module.hot.invalidate(); 199 | } 200 | else { 201 | self.$RefreshHelpers$.scheduleUpdate(); 202 | } 203 | } 204 | } 205 | else { 206 | // Since we just executed the code for the module, it's possible that the 207 | // new exports made it ineligible for being a boundary. 208 | // We only care about the case when we were _previously_ a boundary, 209 | // because we already accepted this update (accidental side effect). 210 | var isNoLongerABoundary = prevExports !== null; 211 | if (isNoLongerABoundary) { 212 | module.hot.invalidate(); 213 | } 214 | } 215 | } 216 | 217 | 218 | /***/ }), 219 | 220 | /***/ "./node_modules/next/dist/next-server/lib/head.js": 221 | /*!********************************************************!*\ 222 | !*** ./node_modules/next/dist/next-server/lib/head.js ***! 223 | \********************************************************/ 224 | /***/ (function(module, exports, __webpack_require__) { 225 | 226 | "use strict"; 227 | /* module decorator */ module = __webpack_require__.nmd(module); 228 | 229 | 230 | var _defineProperty = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js"); 231 | 232 | function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } 233 | 234 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 235 | 236 | exports.__esModule = true; 237 | exports.defaultHead = defaultHead; 238 | exports.default = void 0; 239 | 240 | var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "./node_modules/react/index.js")); 241 | 242 | var _sideEffect = _interopRequireDefault(__webpack_require__(/*! ./side-effect */ "./node_modules/next/dist/next-server/lib/side-effect.js")); 243 | 244 | var _ampContext = __webpack_require__(/*! ./amp-context */ "./node_modules/next/dist/next-server/lib/amp-context.js"); 245 | 246 | var _headManagerContext = __webpack_require__(/*! ./head-manager-context */ "./node_modules/next/dist/next-server/lib/head-manager-context.js"); 247 | 248 | var _amp = __webpack_require__(/*! ./amp */ "./node_modules/next/dist/next-server/lib/amp.js"); 249 | 250 | function _interopRequireDefault(obj) { 251 | return obj && obj.__esModule ? obj : { 252 | "default": obj 253 | }; 254 | } 255 | 256 | function _getRequireWildcardCache() { 257 | if (typeof WeakMap !== "function") return null; 258 | var cache = new WeakMap(); 259 | 260 | _getRequireWildcardCache = function _getRequireWildcardCache() { 261 | return cache; 262 | }; 263 | 264 | return cache; 265 | } 266 | 267 | function _interopRequireWildcard(obj) { 268 | if (obj && obj.__esModule) { 269 | return obj; 270 | } 271 | 272 | if (obj === null || typeof obj !== "object" && typeof obj !== "function") { 273 | return { 274 | "default": obj 275 | }; 276 | } 277 | 278 | var cache = _getRequireWildcardCache(); 279 | 280 | if (cache && cache.has(obj)) { 281 | return cache.get(obj); 282 | } 283 | 284 | var newObj = {}; 285 | var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; 286 | 287 | for (var key in obj) { 288 | if (Object.prototype.hasOwnProperty.call(obj, key)) { 289 | var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; 290 | 291 | if (desc && (desc.get || desc.set)) { 292 | Object.defineProperty(newObj, key, desc); 293 | } else { 294 | newObj[key] = obj[key]; 295 | } 296 | } 297 | } 298 | 299 | newObj["default"] = obj; 300 | 301 | if (cache) { 302 | cache.set(obj, newObj); 303 | } 304 | 305 | return newObj; 306 | } 307 | 308 | function defaultHead() { 309 | var inAmpMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; 310 | var head = [/*#__PURE__*/_react["default"].createElement("meta", { 311 | charSet: "utf-8" 312 | })]; 313 | 314 | if (!inAmpMode) { 315 | head.push( /*#__PURE__*/_react["default"].createElement("meta", { 316 | name: "viewport", 317 | content: "width=device-width" 318 | })); 319 | } 320 | 321 | return head; 322 | } 323 | 324 | function onlyReactElement(list, child) { 325 | // React children can be "string" or "number" in this case we ignore them for backwards compat 326 | if (typeof child === 'string' || typeof child === 'number') { 327 | return list; 328 | } // Adds support for React.Fragment 329 | 330 | 331 | if (child.type === _react["default"].Fragment) { 332 | return list.concat(_react["default"].Children.toArray(child.props.children).reduce(function (fragmentList, fragmentChild) { 333 | if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') { 334 | return fragmentList; 335 | } 336 | 337 | return fragmentList.concat(fragmentChild); 338 | }, [])); 339 | } 340 | 341 | return list.concat(child); 342 | } 343 | 344 | var METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp']; 345 | /* 346 | returns a function for filtering head child elements 347 | which shouldn't be duplicated, like