22 lines
22 KiB
JavaScript
22 lines
22 KiB
JavaScript
"use strict";
|
|
/*
|
|
* ATTENTION: An "eval-source-map" devtool has been used.
|
|
* This devtool is neither made for production nor for readable output files.
|
|
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
|
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
* or disable the default devtool with "devtool: false".
|
|
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
*/
|
|
self["webpackHotUpdate_N_E"]("app/login/page",{
|
|
|
|
/***/ "(app-pages-browser)/./context/AuthContext.tsx":
|
|
/*!*********************************!*\
|
|
!*** ./context/AuthContext.tsx ***!
|
|
\*********************************/
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthProvider: function() { return /* binding */ AuthProvider; },\n/* harmony export */ useAuth: function() { return /* binding */ useAuth; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.js\");\n/* __next_internal_client_entry_do_not_use__ AuthProvider,useAuth auto */ \nvar _s = $RefreshSig$(), _s1 = $RefreshSig$();\n\nvar _process_env_NEXT_PUBLIC_API_BASE_URL;\nconst API_BASE_URL = (_process_env_NEXT_PUBLIC_API_BASE_URL = process.env.NEXT_PUBLIC_API_BASE_URL) !== null && _process_env_NEXT_PUBLIC_API_BASE_URL !== void 0 ? _process_env_NEXT_PUBLIC_API_BASE_URL : \"http://localhost:8080\";\nconst AuthContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(undefined);\nconst TOKEN_KEY = \"ballistic_auth_token\";\nconst USER_KEY = \"ballistic_auth_user\";\nfunction AuthProvider(param) {\n let { children } = param;\n _s();\n const [user, setUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [token, setToken] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true); // start true while we hydrate + reuse for calls\n // hydrate from localStorage\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n try {\n if (false) {}\n const storedToken = window.localStorage.getItem(TOKEN_KEY);\n const storedUser = window.localStorage.getItem(USER_KEY);\n if (storedToken && storedUser) {\n setToken(storedToken);\n setUser(JSON.parse(storedUser));\n }\n } catch (e) {\n // ignore\n } finally{\n setLoading(false);\n }\n }, []);\n const setSession = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((newToken, newUser)=>{\n setToken(newToken);\n setUser(newUser);\n if (true) {\n window.localStorage.setItem(TOKEN_KEY, newToken);\n window.localStorage.setItem(USER_KEY, JSON.stringify(newUser));\n }\n }, []);\n const clearSession = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n setToken(null);\n setUser(null);\n if (true) {\n window.localStorage.removeItem(TOKEN_KEY);\n window.localStorage.removeItem(USER_KEY);\n }\n }, []);\n const register = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (params)=>{\n setLoading(true);\n try {\n const res = await fetch(\"\".concat(API_BASE_URL, \"/api/auth/register\"), {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email: params.email,\n password: params.password,\n displayName: params.displayName\n })\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(text || \"Failed to create account\");\n }\n const data = await res.json();\n var _data_displayName;\n setSession(data.token, {\n email: data.email,\n displayName: (_data_displayName = data.displayName) !== null && _data_displayName !== void 0 ? _data_displayName : null,\n role: data.role\n });\n } finally{\n setLoading(false);\n }\n }, [\n setSession\n ]);\n const login = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (params)=>{\n setLoading(true);\n try {\n const res = await fetch(\"\".concat(API_BASE_URL, \"/api/auth/login\"), {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email: params.email,\n password: params.password\n })\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(text || \"Failed to log in\");\n }\n const data = await res.json();\n var _data_displayName;\n setSession(data.token, {\n email: data.email,\n displayName: (_data_displayName = data.displayName) !== null && _data_displayName !== void 0 ? _data_displayName : null,\n role: data.role\n });\n } finally{\n setLoading(false);\n }\n }, [\n setSession\n ]);\n const logout = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n clearSession();\n }, [\n clearSession\n ]);\n const getAuthHeaders = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n if (!token) return {};\n return {\n Authorization: \"Bearer \".concat(token)\n };\n }, [\n token\n ]);\n const value = {\n user,\n token,\n loading,\n login,\n register,\n logout,\n getAuthHeaders\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(AuthContext.Provider, {\n value: value,\n children: children\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx\",\n lineNumber: 183,\n columnNumber: 10\n }, this);\n}\n_s(AuthProvider, \"FyBF3GfQ0aSoDuYjEKqpAbOwwL4=\");\n_c = AuthProvider;\nfunction useAuth() {\n _s1();\n const ctx = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(AuthContext);\n if (!ctx) {\n throw new Error(\"useAuth must be used within an AuthProvider\");\n }\n return ctx;\n}\n_s1(useAuth, \"/dMy7t63NXD4eYACoT93CePwGrg=\");\nvar _c;\n$RefreshReg$(_c, \"AuthProvider\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2NvbnRleHQvQXV0aENvbnRleHQudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBU2U7SUFHYks7QUFERixNQUFNQyxlQUNKRCxDQUFBQSx3Q0FBQUEsT0FBT0EsQ0FBQ0UsR0FBRyxDQUFDQyx3QkFBd0IsY0FBcENILG1EQUFBQSx3Q0FBd0M7QUFzQjFDLE1BQU1JLDRCQUFjVCxvREFBYUEsQ0FBK0JVO0FBRWhFLE1BQU1DLFlBQVk7QUFDbEIsTUFBTUMsV0FBVztBQUVWLFNBQVNDLGFBQWEsS0FBcUM7UUFBckMsRUFBRUMsUUFBUSxFQUEyQixHQUFyQzs7SUFDM0IsTUFBTSxDQUFDQyxNQUFNQyxRQUFRLEdBQUdaLCtDQUFRQSxDQUFXO0lBQzNDLE1BQU0sQ0FBQ2EsT0FBT0MsU0FBUyxHQUFHZCwrQ0FBUUEsQ0FBZ0I7SUFDbEQsTUFBTSxDQUFDZSxTQUFTQyxXQUFXLEdBQUdoQiwrQ0FBUUEsQ0FBQyxPQUFPLGdEQUFnRDtJQUU5Riw0QkFBNEI7SUFDNUJELGdEQUFTQSxDQUFDO1FBQ1IsSUFBSTtZQUNGLElBQUksS0FBNkIsRUFBRSxFQUFPO1lBRTFDLE1BQU1rQixjQUFjQyxPQUFPQyxZQUFZLENBQUNDLE9BQU8sQ0FBQ2I7WUFDaEQsTUFBTWMsYUFBYUgsT0FBT0MsWUFBWSxDQUFDQyxPQUFPLENBQUNaO1lBRS9DLElBQUlTLGVBQWVJLFlBQVk7Z0JBQzdCUCxTQUFTRztnQkFDVEwsUUFBUVUsS0FBS0MsS0FBSyxDQUFDRjtZQUNyQjtRQUNGLEVBQUUsVUFBTTtRQUNOLFNBQVM7UUFDWCxTQUFVO1lBQ1JMLFdBQVc7UUFDYjtJQUNGLEdBQUcsRUFBRTtJQUVMLE1BQU1RLGFBQWEzQixrREFBV0EsQ0FBQyxDQUFDNEIsVUFBa0JDO1FBQ2hEWixTQUFTVztRQUNUYixRQUFRYztRQUVSLElBQUksSUFBNkIsRUFBRTtZQUNqQ1IsT0FBT0MsWUFBWSxDQUFDUSxPQUFPLENBQUNwQixXQUFXa0I7WUFDdkNQLE9BQU9DLFlBQVksQ0FBQ1EsT0FBTyxDQUFDbkIsVUFBVWMsS0FBS00sU0FBUyxDQUFDRjtRQUN2RDtJQUNGLEdBQUcsRUFBRTtJQUVMLE1BQU1HLGVBQWVoQyxrREFBV0EsQ0FBQztRQUMvQmlCLFNBQVM7UUFDVEYsUUFBUTtRQUNSLElBQUksSUFBNkIsRUFBRTtZQUNqQ00sT0FBT0MsWUFBWSxDQUFDVyxVQUFVLENBQUN2QjtZQUMvQlcsT0FBT0MsWUFBWSxDQUFDVyxVQUFVLENBQUN0QjtRQUNqQztJQUNGLEdBQUcsRUFBRTtJQUVMLE1BQU11QixXQUFXbEMsa0RBQVdBLENBQzFCLE9BQU9tQztRQUNMaEIsV0FBVztRQUNYLElBQUk7WUFDRixNQUFNaUIsTUFBTSxNQUFNQyxNQUFNLEdBQWdCLE9BQWJoQyxjQUFhLHVCQUFxQjtnQkFDM0RpQyxRQUFRO2dCQUNSQyxTQUFTO29CQUNQLGdCQUFnQjtnQkFDbEI7Z0JBQ0FDLE1BQU1mLEtBQUtNLFNBQVMsQ0FBQztvQkFDbkJVLE9BQU9OLE9BQU9NLEtBQUs7b0JBQ25CQyxVQUFVUCxPQUFPTyxRQUFRO29CQUN6QkMsYUFBYVIsT0FBT1EsV0FBVztnQkFDakM7WUFDRjtZQUVBLElBQUksQ0FBQ1AsSUFBSVEsRUFBRSxFQUFFO2dCQUNYLE1BQU1DLE9BQU8sTUFBTVQsSUFBSVMsSUFBSTtnQkFDM0IsTUFBTSxJQUFJQyxNQUFNRCxRQUFRO1lBQzFCO1lBRUEsTUFBTUUsT0FLRixNQUFNWCxJQUFJWSxJQUFJO2dCQUlIRDtZQUZmcEIsV0FBV29CLEtBQUsvQixLQUFLLEVBQUU7Z0JBQ3JCeUIsT0FBT00sS0FBS04sS0FBSztnQkFDakJFLGFBQWFJLENBQUFBLG9CQUFBQSxLQUFLSixXQUFXLGNBQWhCSSwrQkFBQUEsb0JBQW9CO2dCQUNqQ0UsTUFBTUYsS0FBS0UsSUFBSTtZQUNqQjtRQUNGLFNBQVU7WUFDUjlCLFdBQVc7UUFDYjtJQUNGLEdBQ0E7UUFBQ1E7S0FBVztJQUdkLE1BQU11QixRQUFRbEQsa0RBQVdBLENBQ3ZCLE9BQU9tQztRQUNMaEIsV0FBVztRQUNYLElBQUk7WUFDRixNQUFNaUIsTUFBTSxNQUFNQyxNQUFNLEdBQWdCLE9BQWJoQyxjQUFhLG9CQUFrQjtnQkFDeERpQyxRQUFRO2dCQUNSQyxTQUFTO29CQUNQLGdCQUFnQjtnQkFDbEI7Z0JBQ0FDLE1BQU1mLEtBQUtNLFNBQVMsQ0FBQztvQkFDbkJVLE9BQU9OLE9BQU9NLEtBQUs7b0JBQ25CQyxVQUFVUCxPQUFPTyxRQUFRO2dCQUMzQjtZQUNGO1lBRUEsSUFBSSxDQUFDTixJQUFJUSxFQUFFLEVBQUU7Z0JBQ1gsTUFBTUMsT0FBTyxNQUFNVCxJQUFJUyxJQUFJO2dCQUMzQixNQUFNLElBQUlDLE1BQU1ELFFBQVE7WUFDMUI7WUFFQSxNQUFNRSxPQUtGLE1BQU1YLElBQUlZLElBQUk7Z0JBSUhEO1lBRmZwQixXQUFXb0IsS0FBSy9CLEtBQUssRUFBRTtnQkFDckJ5QixPQUFPTSxLQUFLTixLQUFLO2dCQUNqQkUsYUFBYUksQ0FBQUEsb0JBQUFBLEtBQUtKLFdBQVcsY0FBaEJJLCtCQUFBQSxvQkFBb0I7Z0JBQ2pDRSxNQUFNRixLQUFLRSxJQUFJO1lBQ2pCO1FBQ0YsU0FBVTtZQUNSOUIsV0FBVztRQUNiO0lBQ0YsR0FDQTtRQUFDUTtLQUFXO0lBR2QsTUFBTXdCLFNBQVNuRCxrREFBV0EsQ0FBQztRQUN6QmdDO0lBQ0YsR0FBRztRQUFDQTtLQUFhO0lBRWpCLE1BQU1vQixpQkFBaUJwRCxrREFBV0EsQ0FBQztRQUNqQyxJQUFJLENBQUNnQixPQUFPLE9BQU8sQ0FBQztRQUNwQixPQUFPO1lBQ0xxQyxlQUFlLFVBQWdCLE9BQU5yQztRQUMzQjtJQUNGLEdBQUc7UUFBQ0E7S0FBTTtJQUVWLE1BQU1zQyxRQUEwQjtRQUM5QnhDO1FBQ0FFO1FBQ0FFO1FBQ0FnQztRQUNBaEI7UUFDQWlCO1FBQ0FDO0lBQ0Y7SUFFQSxxQkFBTyw4REFBQzVDLFlBQVkrQyxRQUFRO1FBQUNELE9BQU9BO2tCQUFRekM7Ozs7OztBQUM5QztHQWhKZ0JEO0tBQUFBO0FBa0pULFNBQVM0Qzs7SUFDZCxNQUFNQyxNQUFNeEQsaURBQVVBLENBQUNPO0lBQ3ZCLElBQUksQ0FBQ2lELEtBQUs7UUFDUixNQUFNLElBQUlYLE1BQU07SUFDbEI7SUFDQSxPQUFPVztBQUNUO0lBTmdCRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9jb250ZXh0L0F1dGhDb250ZXh0LnRzeD9mZGZmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQge1xuICBjcmVhdGVDb250ZXh0LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlQ29udGV4dCxcbiAgdXNlRWZmZWN0LFxuICB1c2VTdGF0ZSxcbiAgUmVhY3ROb2RlLFxufSBmcm9tIFwicmVhY3RcIjtcblxuY29uc3QgQVBJX0JBU0VfVVJMID1cbiAgcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfQVBJX0JBU0VfVVJMID8/IFwiaHR0cDovL2xvY2FsaG9zdDo4MDgwXCI7XG5cbnR5cGUgQXV0aFVzZXIgPSB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lPzogc3RyaW5nIHwgbnVsbDtcbiAgcm9sZTogc3RyaW5nO1xufSB8IG51bGw7XG5cbnR5cGUgQXV0aENvbnRleHRWYWx1ZSA9IHtcbiAgdXNlcjogQXV0aFVzZXI7XG4gIHRva2VuOiBzdHJpbmcgfCBudWxsOyBcbiAgbG9hZGluZzogYm9vbGVhbjsgLy8gY292ZXJzIGluaXRpYWwgaHlkcmF0ZSArIGFjdGl2ZSBhdXRoIHJlcXVlc3RzXG4gIGxvZ2luOiAocGFyYW1zOiB7IGVtYWlsOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmcgfSkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcmVnaXN0ZXI6IChwYXJhbXM6IHtcbiAgICBlbWFpbDogc3RyaW5nO1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gIH0pID0+IFByb21pc2U8dm9pZD47XG4gIGxvZ291dDogKCkgPT4gdm9pZDtcbiAgZ2V0QXV0aEhlYWRlcnM6ICgpID0+IEhlYWRlcnNJbml0O1xufTtcblxuY29uc3QgQXV0aENvbnRleHQgPSBjcmVhdGVDb250ZXh0PEF1dGhDb250ZXh0VmFsdWUgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbmNvbnN0IFRPS0VOX0tFWSA9IFwiYmFsbGlzdGljX2F1dGhfdG9rZW5cIjtcbmNvbnN0IFVTRVJfS0VZID0gXCJiYWxsaXN0aWNfYXV0aF91c2VyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBBdXRoUHJvdmlkZXIoeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfSkge1xuICBjb25zdCBbdXNlciwgc2V0VXNlcl0gPSB1c2VTdGF0ZTxBdXRoVXNlcj4obnVsbCk7XG4gIGNvbnN0IFt0b2tlbiwgc2V0VG9rZW5dID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpOyAvLyBzdGFydCB0cnVlIHdoaWxlIHdlIGh5ZHJhdGUgKyByZXVzZSBmb3IgY2FsbHNcblxuICAvLyBoeWRyYXRlIGZyb20gbG9jYWxTdG9yYWdlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHN0b3JlZFRva2VuID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFRPS0VOX0tFWSk7XG4gICAgICBjb25zdCBzdG9yZWRVc2VyID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFVTRVJfS0VZKTtcblxuICAgICAgaWYgKHN0b3JlZFRva2VuICYmIHN0b3JlZFVzZXIpIHtcbiAgICAgICAgc2V0VG9rZW4oc3RvcmVkVG9rZW4pO1xuICAgICAgICBzZXRVc2VyKEpTT04ucGFyc2Uoc3RvcmVkVXNlcikpO1xuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gaWdub3JlXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIGNvbnN0IHNldFNlc3Npb24gPSB1c2VDYWxsYmFjaygobmV3VG9rZW46IHN0cmluZywgbmV3VXNlcjogQXV0aFVzZXIpID0+IHtcbiAgICBzZXRUb2tlbihuZXdUb2tlbik7XG4gICAgc2V0VXNlcihuZXdVc2VyKTtcblxuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oVE9LRU5fS0VZLCBuZXdUb2tlbik7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oVVNFUl9LRVksIEpTT04uc3RyaW5naWZ5KG5ld1VzZXIpKTtcbiAgICB9XG4gIH0sIFtdKTtcblxuICBjb25zdCBjbGVhclNlc3Npb24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0VG9rZW4obnVsbCk7XG4gICAgc2V0VXNlcihudWxsKTtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFRPS0VOX0tFWSk7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oVVNFUl9LRVkpO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIGNvbnN0IHJlZ2lzdGVyID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBhcmFtczogeyBlbWFpbDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nOyBkaXNwbGF5TmFtZT86IHN0cmluZyB9KSA9PiB7XG4gICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYCR7QVBJX0JBU0VfVVJMfS9hcGkvYXV0aC9yZWdpc3RlcmAsIHtcbiAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgZW1haWw6IHBhcmFtcy5lbWFpbCxcbiAgICAgICAgICAgIHBhc3N3b3JkOiBwYXJhbXMucGFzc3dvcmQsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogcGFyYW1zLmRpc3BsYXlOYW1lLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpO1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0ZXh0IHx8IFwiRmFpbGVkIHRvIGNyZWF0ZSBhY2NvdW50XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGF0YToge1xuICAgICAgICAgIHRva2VuOiBzdHJpbmc7XG4gICAgICAgICAgZW1haWw6IHN0cmluZztcbiAgICAgICAgICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgICAgICAgICByb2xlOiBzdHJpbmc7XG4gICAgICAgIH0gPSBhd2FpdCByZXMuanNvbigpO1xuXG4gICAgICAgIHNldFNlc3Npb24oZGF0YS50b2tlbiwge1xuICAgICAgICAgIGVtYWlsOiBkYXRhLmVtYWlsLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiBkYXRhLmRpc3BsYXlOYW1lID8/IG51bGwsXG4gICAgICAgICAgcm9sZTogZGF0YS5yb2xlLFxuICAgICAgICB9KTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3NldFNlc3Npb25dLFxuICApO1xuXG4gIGNvbnN0IGxvZ2luID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBhcmFtczogeyBlbWFpbDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nIH0pID0+IHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtBUElfQkFTRV9VUkx9L2FwaS9hdXRoL2xvZ2luYCwge1xuICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBlbWFpbDogcGFyYW1zLmVtYWlsLFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHBhcmFtcy5wYXNzd29yZCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVzLnRleHQoKTtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGV4dCB8fCBcIkZhaWxlZCB0byBsb2cgaW5cIik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXRhOiB7XG4gICAgICAgICAgdG9rZW46IHN0cmluZztcbiAgICAgICAgICBlbWFpbDogc3RyaW5nO1xuICAgICAgICAgIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICAgICAgICAgIHJvbGU6IHN0cmluZztcbiAgICAgICAgfSA9IGF3YWl0IHJlcy5qc29uKCk7XG5cbiAgICAgICAgc2V0U2Vzc2lvbihkYXRhLnRva2VuLCB7XG4gICAgICAgICAgZW1haWw6IGRhdGEuZW1haWwsXG4gICAgICAgICAgZGlzcGxheU5hbWU6IGRhdGEuZGlzcGxheU5hbWUgPz8gbnVsbCxcbiAgICAgICAgICByb2xlOiBkYXRhLnJvbGUsXG4gICAgICAgIH0pO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbc2V0U2Vzc2lvbl0sXG4gICk7XG5cbiAgY29uc3QgbG9nb3V0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNsZWFyU2Vzc2lvbigpO1xuICB9LCBbY2xlYXJTZXNzaW9uXSk7XG5cbiAgY29uc3QgZ2V0QXV0aEhlYWRlcnMgPSB1c2VDYWxsYmFjaygoKTogSGVhZGVyc0luaXQgPT4ge1xuICAgIGlmICghdG9rZW4pIHJldHVybiB7fTtcbiAgICByZXR1cm4ge1xuICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAsXG4gICAgfTtcbiAgfSwgW3Rva2VuXSk7XG5cbiAgY29uc3QgdmFsdWU6IEF1dGhDb250ZXh0VmFsdWUgPSB7XG4gICAgdXNlcixcbiAgICB0b2tlbixcbiAgICBsb2FkaW5nLFxuICAgIGxvZ2luLFxuICAgIHJlZ2lzdGVyLFxuICAgIGxvZ291dCxcbiAgICBnZXRBdXRoSGVhZGVycyxcbiAgfTtcblxuICByZXR1cm4gPEF1dGhDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+e2NoaWxkcmVufTwvQXV0aENvbnRleHQuUHJvdmlkZXI+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlQXV0aCgpOiBBdXRoQ29udGV4dFZhbHVlIHtcbiAgY29uc3QgY3R4ID0gdXNlQ29udGV4dChBdXRoQ29udGV4dCk7XG4gIGlmICghY3R4KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwidXNlQXV0aCBtdXN0IGJlIHVzZWQgd2l0aGluIGFuIEF1dGhQcm92aWRlclwiKTtcbiAgfVxuICByZXR1cm4gY3R4O1xufSJdLCJuYW1lcyI6WyJjcmVhdGVDb250ZXh0IiwidXNlQ2FsbGJhY2siLCJ1c2VDb250ZXh0IiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJwcm9jZXNzIiwiQVBJX0JBU0VfVVJMIiwiZW52IiwiTkVYVF9QVUJMSUNfQVBJX0JBU0VfVVJMIiwiQXV0aENvbnRleHQiLCJ1bmRlZmluZWQiLCJUT0tFTl9LRVkiLCJVU0VSX0tFWSIsIkF1dGhQcm92aWRlciIsImNoaWxkcmVuIiwidXNlciIsInNldFVzZXIiLCJ0b2tlbiIsInNldFRva2VuIiwibG9hZGluZyIsInNldExvYWRpbmciLCJzdG9yZWRUb2tlbiIsIndpbmRvdyIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJzdG9yZWRVc2VyIiwiSlNPTiIsInBhcnNlIiwic2V0U2Vzc2lvbiIsIm5ld1Rva2VuIiwibmV3VXNlciIsInNldEl0ZW0iLCJzdHJpbmdpZnkiLCJjbGVhclNlc3Npb24iLCJyZW1vdmVJdGVtIiwicmVnaXN0ZXIiLCJwYXJhbXMiLCJyZXMiLCJmZXRjaCIsIm1ldGhvZCIsImhlYWRlcnMiLCJib2R5IiwiZW1haWwiLCJwYXNzd29yZCIsImRpc3BsYXlOYW1lIiwib2siLCJ0ZXh0IiwiRXJyb3IiLCJkYXRhIiwianNvbiIsInJvbGUiLCJsb2dpbiIsImxvZ291dCIsImdldEF1dGhIZWFkZXJzIiwiQXV0aG9yaXphdGlvbiIsInZhbHVlIiwiUHJvdmlkZXIiLCJ1c2VBdXRoIiwiY3R4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./context/AuthContext.tsx\n"));
|
|
|
|
/***/ })
|
|
|
|
}); |