import Styles from "@/constants/Styles" import { apiGetGroup, apiGetTahunProject, apiGetTahunTask } from "@/lib/api" import { setEntityFilterGroup } from "@/lib/filterSlice" import { useAuthSession } from "@/providers/AuthProvider" import { router } from "expo-router" import { useEffect, useState } from "react" import { ScrollView, TouchableOpacity, View } from "react-native" import { useDispatch, useSelector } from "react-redux" import { ButtonForm } from "./buttonForm" import DrawerBottom from "./drawerBottom" import Text from './Text' type Props = { open: boolean, close: (value: boolean) => void page: 'position' | 'member' | 'discussion' | 'project' | 'division' | 'division/task' category?: 'filter-group' | 'filter-data' | 'year-only', valueGroup?: string, valueYear?: string, dataPassing?: any } export default function ModalFilter({ open, close, page, category, valueGroup, valueYear, dataPassing }: Props) { const data = [ { id: "data-saya", name: "Kegiatan Saya", }, { id: "semua", name: "Semua Kegiatan", }, ] const { token, decryptToken } = useAuthSession() const dispatch = useDispatch() const entities = useSelector((state: any) => state.filterGroup) const update = useSelector((state: any) => state.groupUpdate) const [chooseGroup, setChooseGroup] = useState(valueGroup || '') const [chooseYear, setChooseYear] = useState(valueYear || '') const [dataTahun, setDataTahun] = useState<{ id: string, name: string }[]>([]) const [passingData, setPassingData] = useState(dataPassing) async function handleLoad() { const hasil = await decryptToken(String(token?.current)) const response = await apiGetGroup({ active: 'true', user: hasil, search: '' }) dispatch(setEntityFilterGroup(response.data)) if (page === 'project') { const responseTahun = await apiGetTahunProject({ user: hasil }) setDataTahun(responseTahun.data) } else if (page === 'division/task') { const responseTahun = await apiGetTahunTask({ user: hasil, division: passingData }) setDataTahun(responseTahun.data) } } useEffect(() => { handleLoad() }, [dispatch, update]); return ( { category != "year-only" && {category == "filter-data" ? "Filter Data" : "Lembaga Desa"} { category == "filter-data" ? data.map((item: any, index: any) => ( { setChooseGroup(item.id) }} > {/* {chooseGroup == item.id && ( )} */} {item.name} // { setChooseGroup(item.id) }}> // {item.name} // { // chooseGroup == item.id && // } // )) : entities.map((item: any, index: any) => ( { setChooseGroup(item.id) }} > {/* {chooseGroup == item.id && ( )} */} {item.name} // { setChooseGroup(item.id) }}> // {item.name} // { // chooseGroup == item.id && // } // )) } } {(page == "project" || page == "division/task") && ( Tahun { dataTahun.map((item: { id: string, name: string }, index: number) => ( { setChooseYear(item.id) }} > {item.name} )) } )} { close(false) page == 'project' ? category == "year-only" ? router.replace(`/${page}?status=0&year=${chooseYear}`) : category == "filter-data" ? router.replace(`/${page}?status=0&cat=${chooseGroup}&year=${chooseYear}`) : router.replace(`/${page}?status=0&group=${chooseGroup}&year=${chooseYear}`) : page == "division/task" ? router.replace(`/division/${dataPassing}/task?status=0&year=${chooseYear}`) : router.replace(`/${page}?active=true&group=${chooseGroup}`) }} /> ) }