From ea1a13da6e95c6f7a5cbaa4c600ff00d9e854468 Mon Sep 17 00:00:00 2001 From: Loi Phan Date: Mon, 30 Oct 2023 21:10:09 +0700 Subject: [PATCH] Fix style format and optimzed code --- hotel-management/src/components/OrderBy.tsx | 4 ++-- hotel-management/src/components/Select.tsx | 4 ++-- hotel-management/src/components/Table/index.tsx | 6 +++--- hotel-management/src/hooks/useFetch.ts | 12 +++++++++--- hotel-management/src/pages/User/Table.tsx | 13 ++++++------- 5 files changed, 22 insertions(+), 17 deletions(-) diff --git a/hotel-management/src/components/OrderBy.tsx b/hotel-management/src/components/OrderBy.tsx index 9d72a3c..53e00e0 100644 --- a/hotel-management/src/components/OrderBy.tsx +++ b/hotel-management/src/components/OrderBy.tsx @@ -41,7 +41,7 @@ interface IFilterProps { }[]; } -function OrderBy({ options }: IFilterProps) { +const OrderBy = ({ options }: IFilterProps) => { const field = 'orderBy'; const [searchParams, setSearchParams] = useSearchParams(); @@ -67,6 +67,6 @@ function OrderBy({ options }: IFilterProps) { ))} ); -} +}; export default OrderBy; diff --git a/hotel-management/src/components/Select.tsx b/hotel-management/src/components/Select.tsx index 83c7077..a1a42c6 100644 --- a/hotel-management/src/components/Select.tsx +++ b/hotel-management/src/components/Select.tsx @@ -17,7 +17,7 @@ const StyledSelect = styled.select` font-weight: 500; `; -function Select({ options, value, onChange }: ISelect) { +const Select = ({ options, value, onChange }: ISelect) => { return ( {options.map((option) => ( @@ -27,6 +27,6 @@ function Select({ options, value, onChange }: ISelect) { ))} ); -} +}; export default Select; diff --git a/hotel-management/src/components/Table/index.tsx b/hotel-management/src/components/Table/index.tsx index e086d9d..62166d4 100644 --- a/hotel-management/src/components/Table/index.tsx +++ b/hotel-management/src/components/Table/index.tsx @@ -1,4 +1,4 @@ -import { ReactNode, memo, useContext } from 'react'; +import { ReactNode, useContext } from 'react'; // Components import { StyledBody, StyledHeader, StyledRow, StyledTable } from './styled'; @@ -19,10 +19,10 @@ const Table = ({ columns, children }: ITable) => { ); }; -const Header = memo(({ children }: ITable) => { +const Header = ({ children }: ITable) => { const columns = useContext(TableContext); return {children}; -}); +}; const Body = ({ data, render }: ITableBody) => { return ( diff --git a/hotel-management/src/hooks/useFetch.ts b/hotel-management/src/hooks/useFetch.ts index 6a78685..1460041 100644 --- a/hotel-management/src/hooks/useFetch.ts +++ b/hotel-management/src/hooks/useFetch.ts @@ -3,12 +3,13 @@ import { useEffect, useState } from 'react'; // Constants import { BASE_URL } from '../constants/path'; import { searchQuery } from '../helpers/utils'; +import { DEFAULT_ORDER_BY, DEFAULT_SORT_BY } from '../constants/config'; export const useFetch = ( path: string, phoneNum: string, - sortBy: string, - orderBy: string, + tempSortBy: string, + tempOrderBy: string, reload?: boolean, ) => { const [data, setData] = useState(null); @@ -22,6 +23,11 @@ export const useFetch = ( const fetchData = async () => { setIsPending(true); + // Set default value + const sortBy = tempSortBy ? tempSortBy : DEFAULT_SORT_BY; + const orderBy = tempOrderBy ? tempOrderBy : DEFAULT_ORDER_BY; + + // Query search const query = searchQuery(phoneNum, sortBy, orderBy); try { @@ -43,6 +49,6 @@ export const useFetch = ( }; fetchData(); - }, [path, reload, phoneNum, orderBy, sortBy]); + }, [path, reload, phoneNum, tempOrderBy, tempSortBy]); return { data, isPending, errorMsg }; }; diff --git a/hotel-management/src/pages/User/Table.tsx b/hotel-management/src/pages/User/Table.tsx index e55a4b1..4491130 100644 --- a/hotel-management/src/pages/User/Table.tsx +++ b/hotel-management/src/pages/User/Table.tsx @@ -1,3 +1,4 @@ +import { useSearchParams } from 'react-router-dom'; import { useEffect, useState } from 'react'; import toast from 'react-hot-toast'; @@ -9,6 +10,9 @@ import Menus from '../../components/Menus/Menus'; import Table from '../../components/Table'; import Direction from '../../commons/styles/Direction'; import Message from '../../components/Message'; +import Search from '../../components/Search'; +import SortBy from '../../components/SortBy'; +import OrderBy from '../../components/OrderBy'; // Types import { TUser } from '../../globals/types'; @@ -24,11 +28,6 @@ import Spinner from '../../commons/styles/Spinner'; // Utils import { sendRequest } from '../../helpers/sendRequest'; -import Search from '../../components/Search'; -import SortBy from '../../components/SortBy'; -import OrderBy from '../../components/OrderBy'; -import { useSearchParams } from 'react-router-dom'; -import { DEFAULT_ORDER_BY, DEFAULT_SORT_BY } from '../../constants/config'; interface IUserRow { user: TUser; @@ -114,10 +113,10 @@ const UserTable = ({ const [users, setUsers] = useState([]); const sortByValue = searchParams.get('sortBy') ? searchParams.get('sortBy')! - : DEFAULT_SORT_BY; + : ''; const orderByValue = searchParams.get('orderBy') ? searchParams.get('orderBy')! - : DEFAULT_ORDER_BY; + : ''; const { data, isPending, errorMsg } = useFetch( 'users',