dramaling-vocab-learning/frontend/.next/static/webpack/app/layout.d309a459fcb64f5a.hot...

22 lines
18 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/layout",{
/***/ "(app-pages-browser)/./lib/services/auth.ts":
/*!******************************!*\
!*** ./lib/services/auth.ts ***!
\******************************/
/***/ ((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 */ authService: () => (/* binding */ authService)\n/* harmony export */ });\n// Auth service for handling authentication API calls\nconst API_BASE_URL = 'http://localhost:5000';\nclass AuthService {\n async makeRequest(endpoint) {\n let options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n const url = \"\".concat(API_BASE_URL, \"/api/auth\").concat(endpoint);\n console.log('Making request to:', url);\n console.log('Request body:', options.body);\n const response = await fetch(url, {\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n },\n ...options\n });\n if (!response.ok) {\n const errorData = await response.json().catch(()=>({\n error: 'Network error'\n }));\n throw new Error(errorData.error || \"HTTP \".concat(response.status));\n }\n return response.json();\n }\n async login(data) {\n try {\n var _response_data;\n const response = await this.makeRequest('/login', {\n method: 'POST',\n body: JSON.stringify(data)\n });\n if (response.success && ((_response_data = response.data) === null || _response_data === void 0 ? void 0 : _response_data.token)) {\n // Store token in localStorage\n localStorage.setItem('auth_token', response.data.token);\n localStorage.setItem('user_data', JSON.stringify(response.data.user));\n }\n return response;\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Login failed'\n };\n }\n }\n async register(data) {\n try {\n var _response_data;\n console.log('AuthService.register called with:', {\n username: data.username,\n email: data.email,\n password: data.password ? '[hidden]' : 'empty'\n });\n const response = await this.makeRequest('/register', {\n method: 'POST',\n body: JSON.stringify(data)\n });\n if (response.success && ((_response_data = response.data) === null || _response_data === void 0 ? void 0 : _response_data.token)) {\n // Store token in localStorage\n localStorage.setItem('auth_token', response.data.token);\n localStorage.setItem('user_data', JSON.stringify(response.data.user));\n }\n return response;\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Registration failed'\n };\n }\n }\n async logout() {\n localStorage.removeItem('auth_token');\n localStorage.removeItem('user_data');\n }\n getToken() {\n if (false) {}\n return localStorage.getItem('auth_token');\n }\n getUser() {\n if (false) {}\n const userData = localStorage.getItem('user_data');\n return userData ? JSON.parse(userData) : null;\n }\n isAuthenticated() {\n return this.getToken() !== null;\n }\n async checkAuthStatus() {\n const token = this.getToken();\n if (!token) return false;\n try {\n await this.makeRequest('/status', {\n headers: {\n 'Authorization': \"Bearer \".concat(token)\n }\n });\n return true;\n } catch (e) {\n // Token is invalid, clear it\n this.logout();\n return false;\n }\n }\n}\nconst authService = new AuthService();\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,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LE9BQU9WLGFBQWFXLE9BQU8sQ0FBQztJQUM5QjtJQUVBQyxVQUF1QjtRQUNyQixJQUFJLEtBQTZCLEVBQUUsRUFBWTtRQUMvQyxNQUFNQyxXQUFXYixhQUFhVyxPQUFPLENBQUM7UUFDdEMsT0FBT0UsV0FBV2pCLEtBQUtrQixLQUFLLENBQUNELFlBQVk7SUFDM0M7SUFFQUUsa0JBQTJCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDTCxRQUFRLE9BQU87SUFDN0I7SUFFQSxNQUFNTSxrQkFBb0M7UUFDeEMsTUFBTWpCLFFBQVEsSUFBSSxDQUFDVyxRQUFRO1FBQzNCLElBQUksQ0FBQ1gsT0FBTyxPQUFPO1FBRW5CLElBQUk7WUFDRixNQUFNLElBQUksQ0FBQ3ZCLFdBQVcsQ0FBQyxXQUFXO2dCQUNoQ1MsU0FBUztvQkFDUCxpQkFBaUIsVUFBZ0IsT0FBTmM7Z0JBQzdCO1lBQ0Y7WUFDQSxPQUFPO1FBQ1QsRUFBRSxVQUFNO1lBQ04sNkJBQTZCO1lBQzdCLElBQUksQ0FBQ1MsTUFBTTtZQUNYLE9BQU87UUFDVDtJQUNGO0FBQ0Y7QUFFTyxNQUFNUyxjQUFjLElBQUkxQyxjQUFjIiwic291cmNlcyI6WyIvVXNlcnMvamV0dGNoZW5nMTAxOC9jb2RlL2RyYW1hbGluZy12b2NhYi1sZWFybmluZy9mcm9udGVuZC9saWIvc2VydmljZXMvYXV0aC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBdXRoIHNlcnZpY2UgZm9yIGhhbmRsaW5nIGF1dGhlbnRpY2F0aW9uIEFQSSBjYWxsc1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMb2dpblJlcXVlc3Qge1xyXG4gIGVtYWlsOiBzdHJpbmc7XHJcbiAgcGFzc3dvcmQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlclJlcXVlc3Qge1xyXG4gIHVzZXJuYW1lOiBzdHJpbmc7XHJcbiAgZW1haWw6IHN0cmluZztcclxuICBwYXNzd29yZDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVzZXIge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgdXNlcm5hbWU6IHN0cmluZztcclxuICBlbWFpbDogc3RyaW5nO1xyXG4gIGRpc3BsYXlOYW1lOiBzdHJpbmcgfCBudWxsO1xyXG4gIGF2YXRhclVybDogc3RyaW5nIHwgbnVsbDtcclxuICBzdWJzY3JpcHRpb25UeXBlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFJlc3BvbnNlIHtcclxuICBzdWNjZXNzOiBib29sZWFuO1xyXG4gIGRhdGE/OiB7XHJcbiAgICB0b2tlbjogc3RyaW5nO1xyXG4gICAgdXNlcjogVXNlcjtcclxuICB9O1xyXG4gIGVycm9yPzogc3RyaW5nO1xyXG59XHJcblxyXG5jb25zdCBBUElfQkFTRV9VUkwgPSAnaHR0cDovL2xvY2FsaG9zdDo1MDAwJztcclxuXHJcbmNsYXNzIEF1dGhTZXJ2aWNlIHtcclxuICBwcml2YXRlIGFzeW5jIG1ha2VSZXF1ZXN0PFQ+KFxyXG4gICAgZW5kcG9pbnQ6IHN0cmluZyxcclxuICAgIG9wdGlvbnM6IFJlcXVlc3RJbml0ID0ge31cclxuICApOiBQcm9taXNlPFQ+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke0FQSV9CQVNFX1VSTH0vYXBpL2F1dGgke2VuZHBvaW50fWA7XHJcblxyXG4gICAgY29uc29sZS5sb2coJ01ha2luZyByZXF1ZXN0IHRvOicsIHVybClcclxuICAgIGNvbnNvbGUubG9nKCdSZXF1ZXN0IGJvZHk6Jywgb3B0aW9ucy5ib2R5KVxyXG5cclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCB7XHJcbiAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAgIC4uLm9wdGlvbnMuaGVhZGVycyxcclxuICAgICAgfSxcclxuICAgICAgLi4ub3B0aW9ucyxcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICghcmVzcG9uc2Uub2spIHtcclxuICAgICAgY29uc3QgZXJyb3JEYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpLmNhdGNoKCgpID0+ICh7IGVycm9yOiAnTmV0d29yayBlcnJvcicgfSkpO1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JEYXRhLmVycm9yIHx8IGBIVFRQICR7cmVzcG9uc2Uuc3RhdHVzfWApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXNwb25zZS5qc29uKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBsb2dpbihkYXRhOiBMb2dpblJlcXVlc3QpOiBQcm9taXNlPEF1dGhSZXNwb25zZT4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLm1ha2VSZXF1ZXN0PEF1dGhSZXNwb25zZT4oJy9sb2dpbicsIHtcclxuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKSxcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAocmVzcG9uc2Uuc3VjY2VzcyAmJiByZXNwb25zZS5kYXRhPy50b2tlbikge1xyXG4gICAgICAgIC8vIFN0b3JlIHRva2VuIGluIGxvY2FsU3RvcmFnZVxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhdXRoX3Rva2VuJywgcmVzcG9uc2UuZGF0YS50b2tlbik7XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3VzZXJfZGF0YScsIEpTT04uc3RyaW5naWZ5KHJlc3BvbnNlLmRhdGEudXNlcikpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxyXG4gICAgICAgIGVycm9yOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdMb2dpbiBmYWlsZWQnLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgcmVnaXN0ZXIoZGF0YTogUmVnaXN0ZXJSZXF1ZXN0KTogUHJvbWlzZTxBdXRoUmVzcG9uc2U+IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdBdXRoU2VydmljZS5yZWdpc3RlciBjYWxsZWQgd2l0aDonLCB7XHJcbiAgICAgICAgdXNlcm5hbWU6IGRhdGEudXNlcm5hbWUsXHJcbiAgICAgICAgZW1haWw6IGRhdGEuZW1haWwsXHJcbiAgICAgICAgcGFzc3dvcmQ6IGRhdGEucGFzc3dvcmQgPyAnW2hpZGRlbl0nIDogJ2VtcHR5J1xyXG4gICAgICB9KVxyXG5cclxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLm1ha2VSZXF1ZXN0PEF1dGhSZXNwb25zZT4oJy9yZWdpc3RlcicsIHtcclxuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKSxcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAocmVzcG9uc2Uuc3VjY2VzcyAmJiByZXNwb25zZS5kYXRhPy50b2tlbikge1xyXG4gICAgICAgIC8vIFN0b3JlIHRva2VuIGluIGxvY2FsU3RvcmFnZVxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhdXRoX3Rva2VuJywgcmVzcG9uc2UuZGF0YS50b2tlbik7XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3VzZXJfZGF0YScsIEpTT04uc3RyaW5naWZ5KHJlc3BvbnNlLmRhdGEudXNlcikpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxyXG4gICAgICAgIGVycm9yOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdSZWdpc3RyYXRpb24gZmFpbGVkJyxcclxuICAgICAgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIGxvZ291dCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdhdXRoX3Rva2VuJyk7XHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgndXNlcl9kYXRhJyk7XHJcbiAgfVxyXG5cclxuICBnZXRUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykgcmV0dXJuIG51bGw7XHJcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2F1dGhfdG9rZW4nKTtcclxuICB9XHJcblxyXG4gIGdldFVzZXIoKTogVXNlciB8IG51bGwge1xyXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gbnVsbDtcclxuICAgIGNvbnN0IHVzZXJEYXRhID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJfZGF0YScpO1xyXG4gICAgcmV0dXJuIHVzZXJEYXRhID8gSlNPTi5wYXJzZSh1c2VyRGF0YSkgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgaXNBdXRoZW50aWNhdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0VG9rZW4oKSAhPT0gbnVsbDtcclxuICB9XHJcblxyXG4gIGFzeW5jIGNoZWNrQXV0aFN0YXR1cygpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IHRva2VuID0gdGhpcy5nZXRUb2tlbigpO1xyXG4gICAgaWYgKCF0b2tlbikgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGF3YWl0IHRoaXMubWFrZVJlcXVlc3QoJy9zdGF0dXMnLCB7XHJcbiAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgJ0F1dGhvcml6YXRpb24nOiBgQmVhcmVyICR7dG9rZW59YCxcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgLy8gVG9rZW4gaXMgaW52YWxpZCwgY2xlYXIgaXRcclxuICAgICAgdGhpcy5sb2dvdXQoKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGF1dGhTZXJ2aWNlID0gbmV3IEF1dGhTZXJ2aWNlKCk7Il0sIm5hbWVzIjpbIkFQSV9CQVNFX1VSTCIsIkF1dGhTZXJ2aWNlIiwibWFrZVJlcXVlc3QiLCJlbmRwb2ludCIsIm9wdGlvbnMiLCJ1cmwiLCJjb25zb2xlIiwibG9nIiwiYm9keSIsInJlc3BvbnNlIiwiZmV0Y2giLCJoZWFkZXJzIiwib2siLCJlcnJvckRhdGEiLCJqc29uIiwiY2F0Y2giLCJlcnJvciIsIkVycm9yIiwic3RhdHVzIiwibG9naW4iLCJkYXRhIiwibWV0aG9kIiwiSlNPTiIsInN0cmluZ2lmeSIsInN1Y2Nlc3MiLCJ0b2tlbiIsImxvY2FsU3RvcmFnZSIsInNldEl0ZW0iLCJ1c2VyIiwibWVzc2FnZSIsInJlZ2lzdGVyIiwidXNlcm5hbWUiLCJlbWFpbCIsInBhc3N3b3JkIiwibG9nb3V0IiwicmVtb3ZlSXRlbSIsImdldFRva2VuIiwiZ2V0SXRlbSIsImdldFVzZXIiLCJ1c2VyRGF0YSIsInBhcnNlIiwiaXNBdXRoZW50aWNhdGVkIiwiY2hlY2tBdXRoU3RhdHVzIiwiYXV0aFNlcnZpY2UiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/services/auth.ts\n"));
/***/ })
});