From 05578025d854cd8980959bdb33e64f1d34c791b0 Mon Sep 17 00:00:00 2001 From: MinseoLee <mmmm@ajou.ac.kr> Date: Thu, 7 Dec 2023 20:25:39 +0900 Subject: [PATCH] refactor: don't block render but handler --- src/_app/App.tsx | 4 +--- src/common/instances/Connector.ts | 3 --- src/pages/admin-page/AdminPage.tsx | 14 +++++--------- src/pages/cart-page/CartPage.tsx | 4 +--- src/pages/history-page/HistoryPage.tsx | 4 ++-- src/pages/login-page/LoginPage.tsx | 5 ++--- src/pages/main-page/MainPage.tsx | 6 +++--- src/pages/menu-page/MenuPage.tsx | 4 ++-- src/pages/order-page/success-page/SuccessPage.tsx | 4 +--- src/pages/signup-page/SignupPage.tsx | 8 ++++---- 10 files changed, 21 insertions(+), 35 deletions(-) diff --git a/src/_app/App.tsx b/src/_app/App.tsx index b54e65b..6a0194c 100644 --- a/src/_app/App.tsx +++ b/src/_app/App.tsx @@ -44,8 +44,7 @@ function App() { useEffect(() => { - connector.current = new Connector(setLogin); - console.log('app', connector.current); + if (!connector.current) connector.current = new Connector(setLogin); }, []); useEffect(() => { @@ -57,7 +56,6 @@ function App() { socket.current = new Socket(); socket.current?.onOrder((d: CartItemPostModel) => { - console.log(d); setToastItem({ id: '', title: d.shopId, description: d.waitingCount.toString(), goto: '' }); diff --git a/src/common/instances/Connector.ts b/src/common/instances/Connector.ts index f5b69cd..6c54333 100644 --- a/src/common/instances/Connector.ts +++ b/src/common/instances/Connector.ts @@ -10,17 +10,14 @@ class Connector { private randomUuid = Math.random(); constructor(setLogin: LoginInstance) { - console.log('constructed'); this.setLoginInstance = setLogin; } setIsAdmin(b: boolean) { this.isAdmin = b; - console.log('setIsAdmin', b); } getIsAdmin() { - console.log('getIsAdmin', this.isAdmin); return this.isAdmin; } diff --git a/src/pages/admin-page/AdminPage.tsx b/src/pages/admin-page/AdminPage.tsx index 49ff62e..08c8f19 100644 --- a/src/pages/admin-page/AdminPage.tsx +++ b/src/pages/admin-page/AdminPage.tsx @@ -4,22 +4,18 @@ import { useNavigate } from "react-router-dom"; import APP_ROUTE from "../../_app/config/route"; import { ALERT } from "../../common/constants"; -import type Connector from "../../common/instances/Connector"; import type { GFC } from "../../common/types/fc"; const AdminPage: GFC = ({ connector }) => { - if (!connector) return <></>; - const navigator = useNavigate(); useEffect(() => { - console.log('adminpage', connector); - // if (!connector.getIsAdmin()) { - // alert(ALERT.REQ_WRONG); - // navigator(APP_ROUTE.LOGIN); - // return; - // } + if (!connector.current?.getIsAdmin()) { + alert(ALERT.REQ_WRONG); + navigator(APP_ROUTE.LOGIN); + return; + } }, [connector]); return ( diff --git a/src/pages/cart-page/CartPage.tsx b/src/pages/cart-page/CartPage.tsx index 7e99ca0..fb5cfcd 100644 --- a/src/pages/cart-page/CartPage.tsx +++ b/src/pages/cart-page/CartPage.tsx @@ -14,8 +14,6 @@ import type { GFC } from "../../common/types/fc"; const CartPage: GFC = ({ connector }) => { - if (!connector) return <></>; - const { cartItem, setCartItem } = useContext(CartContext); const [quantities, setQuantities] = useState<number[]>([]); const [totalPrice, setTotalPrice] = useState(0); @@ -45,7 +43,7 @@ const CartPage: GFC = ({ connector }) => { }; const handleOrder = () => { - if (!cartItem?.shop) return; + if (!cartItem?.shop || !connector.current) return; void (async () => { try { diff --git a/src/pages/history-page/HistoryPage.tsx b/src/pages/history-page/HistoryPage.tsx index d62155f..b5f46fe 100644 --- a/src/pages/history-page/HistoryPage.tsx +++ b/src/pages/history-page/HistoryPage.tsx @@ -10,11 +10,11 @@ import type { GFC } from "../../common/types/fc"; const HistoryPage: GFC = ({ connector }) => { - if (!connector) return <></>; - const [model, setModel] = useState<HistoryPageModel|null>(null); useEffect(() => { + if (!connector.current) return; + void (async () => { try { const response = await connector.current!.get<HistoryPageModel>('/order'); diff --git a/src/pages/login-page/LoginPage.tsx b/src/pages/login-page/LoginPage.tsx index 3c62822..fe8d3df 100644 --- a/src/pages/login-page/LoginPage.tsx +++ b/src/pages/login-page/LoginPage.tsx @@ -11,8 +11,6 @@ import type { GFC } from "../../common/types/fc"; const LoginPage: GFC = ({ connector }) => { - if (!connector) return <></>; - const [account, setAccount] = useState({ loginId: '', password: '' }); @@ -36,12 +34,13 @@ const LoginPage: GFC = ({ connector }) => { navigate(APP_ROUTE.SIGNUP); }; const handleLogin = () => { + if (!connector.current) return; + void (async () => { try { const response = await connector.current!.login<LoginPagePostModel>(account); if (response.role?.isAdmin) { connector.current!.setIsAdmin(true); - console.log('loginpage', connector); navigate(APP_ROUTE.ADMIN); } else { connector.current!.setIsAdmin(false); diff --git a/src/pages/main-page/MainPage.tsx b/src/pages/main-page/MainPage.tsx index d7c625a..ecbda5a 100644 --- a/src/pages/main-page/MainPage.tsx +++ b/src/pages/main-page/MainPage.tsx @@ -13,16 +13,16 @@ import type { GFC } from "../../common/types/fc"; const MainPage: GFC = ({ connector }) => { - if (!connector) return <></>; - const [model, setModel] = useState<MainPageModel|null>(null); useEffect(() => { + if (!connector.current) return; + void (async () => { try { const response = await connector.current!.get<MainPageModel>('/shop'); setModel(response as MainPageModel); - } catch { + } catch(e) { alert(ALERT.REQ_FAIL); } })(); diff --git a/src/pages/menu-page/MenuPage.tsx b/src/pages/menu-page/MenuPage.tsx index 88ff2ea..5921dd5 100644 --- a/src/pages/menu-page/MenuPage.tsx +++ b/src/pages/menu-page/MenuPage.tsx @@ -15,12 +15,12 @@ interface Props { setHeaderName: Dispatch<SetStateAction<string>>; } const MenuPage: GFCWithProp<Props> = ({ connector, setHeaderName }) => { - if (!connector) return <></>; - const [model, setModel] = useState<MenuPageModel|null>(null); const { pathname } = useLocation(); useEffect(() => { + if (!connector.current) return; + void (async () => { try { const response = await connector.current!.get<MenuPageModel>( diff --git a/src/pages/order-page/success-page/SuccessPage.tsx b/src/pages/order-page/success-page/SuccessPage.tsx index 269db00..4a01131 100644 --- a/src/pages/order-page/success-page/SuccessPage.tsx +++ b/src/pages/order-page/success-page/SuccessPage.tsx @@ -8,12 +8,10 @@ import type { GFC } from "../../../common/types/fc"; const SuccessPage: GFC = ({ connector }) => { - if (!connector) return <></>; - const location = useLocation(); useEffect(() => { - if (!location.search) return; + if (!location.search || !connector.current) return; void (async () => { try { diff --git a/src/pages/signup-page/SignupPage.tsx b/src/pages/signup-page/SignupPage.tsx index e0694b1..92958ff 100644 --- a/src/pages/signup-page/SignupPage.tsx +++ b/src/pages/signup-page/SignupPage.tsx @@ -10,8 +10,6 @@ import type { GFC } from "../../common/types/fc"; const SignupPage: GFC = ({ connector }) => { - if (!connector) return <></>; - const navigate = useNavigate(); const [accountData, setAccountData] = useState({ loginId: '', @@ -72,14 +70,16 @@ const SignupPage: GFC = ({ connector }) => { }; const handleSignup = () => { - if( + if (!connector.current) return; + + if ( accountData.loginId !== '' && accountData.name !== '' && accountData.email !== '' && accountData.phone !== '' && accountData.password !== '' && passwordAgain !== '' - ){ + ) { try { void(async () => { await connector.current!.post('/user/register', accountData); -- GitLab