diff --git a/src/screens/management/ManagementScreen.tsx b/src/screens/management/ManagementScreen.tsx index e0f8e1f..86c0950 100644 --- a/src/screens/management/ManagementScreen.tsx +++ b/src/screens/management/ManagementScreen.tsx @@ -36,9 +36,10 @@ import { RootTabParamList } from '../../navigation/BottomTabs'; type ManagementRouteProp = RouteProp; type ActiveTab = 'My Groups' | 'Joined Groups' | 'Requests' | 'Your Requests'; -type GroupStatusFilter = 'PENDING' | 'APPROVED' | 'ACTIVE' | 'DELAY' | 'COMPLETED' | 'REJECTED' | 'CANCELLED'; +type GroupStatusFilter = 'ALL' | 'PENDING' | 'APPROVED' | 'ACTIVE' | 'DELAY' | 'COMPLETED' | 'REJECTED' | 'CANCELLED'; const GROUP_STATUS_FILTERS: GroupStatusFilter[] = [ + 'ALL', 'PENDING', 'APPROVED', 'ACTIVE', @@ -49,6 +50,7 @@ const GROUP_STATUS_FILTERS: GroupStatusFilter[] = [ ]; const JOINED_GROUP_STATUS_FILTERS: GroupStatusFilter[] = [ + 'ALL', 'ACTIVE', 'DELAY', 'COMPLETED', @@ -80,15 +82,28 @@ const ManagementScreen: React.FC = () => { setActiveTab(routeTab); }, [route.params?.actionTab]); - const myGroupsParams = useMemo( - () => ({ status: myGroupStatusFilter, page: 0, size: 10 }), - [myGroupStatusFilter] - ); + const myGroupsParams = useMemo(() => { + return { + ...(myGroupStatusFilter && myGroupStatusFilter !== 'ALL' + ? { status: myGroupStatusFilter } + : {}), + page: 0, + size: 10, + }; + }, [myGroupStatusFilter]); + + const joinedGroupsParams = useMemo(() => { + return { + ...(joinedGroupStatusFilter && joinedGroupStatusFilter !== 'ALL' + ? { status: joinedGroupStatusFilter } + : {}), + page: 0, + size: 10, + }; + }, [joinedGroupStatusFilter]); + + console.log('joinedGroupsParams:', joinedGroupsParams); - const joinedGroupsParams = useMemo( - () => ({ status: joinedGroupStatusFilter, page: 0, size: 10 }), - [joinedGroupStatusFilter] - ); // Data Fetching const { data: myGroupsRes, isLoading: myLoading, refetch: refetchMy } = useFetch(