1 line
6.3 KiB
JSON
1 line
6.3 KiB
JSON
|
|
{"ast":null,"code":"var _jsxFileName = \"D:\\\\aiproject\\\\goAgent\\\\todo\\\\client\\\\src\\\\App.js\",\n _s = $RefreshSig$();\nimport React, { useState, useEffect } from 'react';\nimport styled from 'styled-components';\nimport LoginForm from './components/LoginForm';\nimport TodoApp from './components/TodoApp';\nimport { checkAuth } from './services/api';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst AppContainer = styled.div`\n min-height: 100vh;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 20px;\n`;\n_c = AppContainer;\nfunction App() {\n _s();\n const [isAuthenticated, setIsAuthenticated] = useState(false);\n const [loading, setLoading] = useState(true);\n useEffect(() => {\n const token = localStorage.getItem('token');\n if (token) {\n checkAuth(token).then(() => {\n setIsAuthenticated(true);\n }).catch(() => {\n localStorage.removeItem('token');\n }).finally(() => {\n setLoading(false);\n });\n } else {\n setLoading(false);\n }\n }, []);\n const handleLogin = token => {\n localStorage.setItem('token', token);\n setIsAuthenticated(true);\n };\n const handleLogout = () => {\n localStorage.removeItem('token');\n setIsAuthenticated(false);\n };\n if (loading) {\n return /*#__PURE__*/_jsxDEV(AppContainer, {\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n children: \"\\u52A0\\u8F7D\\u4E2D...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 50,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 49,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/_jsxDEV(AppContainer, {\n children: isAuthenticated ? /*#__PURE__*/_jsxDEV(TodoApp, {\n onLogout: handleLogout\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 58,\n columnNumber: 9\n }, this) : /*#__PURE__*/_jsxDEV(LoginForm, {\n onLogin: handleLogin\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 56,\n columnNumber: 5\n }, this);\n}\n_s(App, \"Ax+B/BOELR06clzL32vENhaokmk=\");\n_c2 = App;\nexport default App;\nvar _c, _c2;\n$RefreshReg$(_c, \"AppContainer\");\n$RefreshReg$(_c2, \"App\");","map":{"version":3,"names":["React","useState","useEffect","styled","LoginForm","TodoApp","checkAuth","jsxDEV","_jsxDEV","AppContainer","div","_c","App","_s","isAuthenticated","setIsAuthenticated","loading","setLoading","token","localStorage","getItem","then","catch","removeItem","finally","handleLogin","setItem","handleLogout","children","fileName","_jsxFileName","lineNumber","columnNumber","onLogout","onLogin","_c2","$RefreshReg$"],"sources":["D:/aiproject/goAgent/todo/client/src/App.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport styled from 'styled-components';\r\nimport LoginForm from './components/LoginForm';\r\nimport TodoApp from './components/TodoApp';\r\nimport { checkAuth } from './services/api';\r\n\r\nconst AppContainer = styled.div`\r\n min-height: 100vh;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: 20px;\r\n`;\r\n\r\nfunction App() {\r\n const [isAuthenticated, setIsAuthenticated] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n const token = localStorage.getItem('token');\r\n if (token) {\r\n checkAuth(token)\r\n .then(() => {\r\n setIsAuthenticated(true);\r\n })\r\n .catch(() => {\r\n localStorage.removeItem('token');\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n } else {\r\n setLoading(false);\r\n }\r\n }, []);\r\n\r\n const handleLogin = (token) => {\r\n localStorage.setItem('token', token);\r\n setIsAuthenticated(true);\r\n };\r\n\r\n const handleLogout = () => {\r\n
|