From 2fc77d3a8f2a558284a025f8bc1f9a6a2c74069c Mon Sep 17 00:00:00 2001 From: MinseoLee <mmmm@ajou.ac.kr> Date: Thu, 7 Dec 2023 10:46:43 +0900 Subject: [PATCH] fix: apply changed login api schema --- src/_app/App.tsx | 2 ++ src/_app/config/route.ts | 3 ++- src/common/instances/Connector.ts | 4 ++-- src/pages/admin-page/AdminPage.module.css | 0 src/pages/admin-page/AdminPage.tsx | 5 +++++ src/pages/login-page/LoginPage.tsx | 15 ++------------- src/pages/login-page/config/type.ts | 13 +++++++++++++ 7 files changed, 26 insertions(+), 16 deletions(-) create mode 100644 src/pages/admin-page/AdminPage.module.css create mode 100644 src/pages/admin-page/AdminPage.tsx create mode 100644 src/pages/login-page/config/type.ts diff --git a/src/_app/App.tsx b/src/_app/App.tsx index 20d4245..2bea1fb 100644 --- a/src/_app/App.tsx +++ b/src/_app/App.tsx @@ -11,6 +11,7 @@ import Toast from "../components/toast/Toast"; import { BSProvider } from "../contexts/bottom-sheet"; import { CartProvider } from "../contexts/cart"; import { ToastContext, ToastProvider } from "../contexts/toast"; +import AdminPage from "../pages/admin-page/AdminPage"; import CartPage from "../pages/cart-page/CartPage"; import HistoryPage from "../pages/history-page/HistoryPage"; import LoginPage from "../pages/login-page/LoginPage"; @@ -85,6 +86,7 @@ function App() { <Route path={APP_ROUTE.ORDER.SUCCESS} element={<SuccessPage connector={connector} />} /> <Route path={APP_ROUTE.ORDER.FAIL} element={<FailPage />} /> <Route path={APP_ROUTE.ORDER.CANCEL} element={<CancelPage />} /> + <Route path={APP_ROUTE.ADMIN} element={<AdminPage />} /> </Routes> </article> </Wrapper> diff --git a/src/_app/config/route.ts b/src/_app/config/route.ts index 2567471..276c2b8 100644 --- a/src/_app/config/route.ts +++ b/src/_app/config/route.ts @@ -10,7 +10,8 @@ const APP_ROUTE = Object.freeze({ SUCCESS: '/order/success', FAIL: '/order/fail', CANCEL: '/order/cancel' - } + }, + ADMIN: '/admin' }); export default APP_ROUTE; diff --git a/src/common/instances/Connector.ts b/src/common/instances/Connector.ts index 57df474..bf5af4a 100644 --- a/src/common/instances/Connector.ts +++ b/src/common/instances/Connector.ts @@ -11,8 +11,8 @@ class Connector { this.setLoginInstance = setLogin; } - async login(payload?: any): Promise<boolean> { - const postRequest = await fetchData('/user/login', FETCH_METHOD.POST, payload); + async login<T>(payload?: any): Promise<boolean> { + const postRequest = await fetchData<T>('/user/login', FETCH_METHOD.POST, payload); if (postRequest.status === RESPONSE_STATUS.OK) { this.setLoginInstance(true); return true; diff --git a/src/pages/admin-page/AdminPage.module.css b/src/pages/admin-page/AdminPage.module.css new file mode 100644 index 0000000..e69de29 diff --git a/src/pages/admin-page/AdminPage.tsx b/src/pages/admin-page/AdminPage.tsx new file mode 100644 index 0000000..85ab9aa --- /dev/null +++ b/src/pages/admin-page/AdminPage.tsx @@ -0,0 +1,5 @@ +const AdminPage = () => { + return (<div>admin</div>); +}; + +export default AdminPage; diff --git a/src/pages/login-page/LoginPage.tsx b/src/pages/login-page/LoginPage.tsx index 5700638..e70595e 100644 --- a/src/pages/login-page/LoginPage.tsx +++ b/src/pages/login-page/LoginPage.tsx @@ -5,25 +5,15 @@ import APP_ROUTE from "../../_app/config/route"; import S from './LoginPage.module.css'; +import type { LoginPagePostModel } from "./config/type"; import type Connector from "../../common/instances/Connector"; import type { FC } from "react"; -interface UserLoginPostModel { - createdDate: string; - email: string; - loginId: string; - name: string; - phone: string; - status: boolean; - _id: string; -} - interface Props { connector: Connector; } - const LoginPage: FC<Props> = ({ connector }) => { const [account, setAccount] = useState({ loginId: '', password: '' @@ -51,8 +41,7 @@ const LoginPage: FC<Props> = ({ connector }) => { const handleLogin = () => { void (async () => { try { - console.log(connector); - await connector.login(account); + await connector.login<LoginPagePostModel>(account); navigate(APP_ROUTE.MAIN); } catch (e) { console.error(e); diff --git a/src/pages/login-page/config/type.ts b/src/pages/login-page/config/type.ts new file mode 100644 index 0000000..976a39a --- /dev/null +++ b/src/pages/login-page/config/type.ts @@ -0,0 +1,13 @@ +interface LoginPagePostModel { + createdDate: string; + email: string + loginId: string + name: string + phone: string + role: {isAdmin: boolean} + isAdmin: boolean + status: boolean + _id: string; +} + +export type { LoginPagePostModel }; -- GitLab