revisi: tahun

Deskripsi:
- pengaplikasian api filter tahun pada fitur tugas divisi
No Issues
This commit is contained in:
2026-02-03 12:21:34 +08:00
parent 225ed63027
commit 73c6a19880
4 changed files with 65 additions and 15 deletions

View File

@@ -1,5 +1,5 @@
import Styles from "@/constants/Styles"
import { apiGetGroup, apiGetTahunProject } from "@/lib/api"
import { apiGetGroup, apiGetTahunProject, apiGetTahunTask } from "@/lib/api"
import { setEntityFilterGroup } from "@/lib/filterSlice"
import { useAuthSession } from "@/providers/AuthProvider"
import { router } from "expo-router"
@@ -14,13 +14,14 @@ import Text from './Text'
type Props = {
open: boolean,
close: (value: boolean) => void
page: 'position' | 'member' | 'discussion' | 'project' | 'division'
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 }: Props) {
export default function ModalFilter({ open, close, page, category, valueGroup, valueYear, dataPassing }: Props) {
const data = [
{
id: "data-saya",
@@ -38,6 +39,7 @@ export default function ModalFilter({ open, close, page, category, valueGroup, v
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))
@@ -47,6 +49,9 @@ export default function ModalFilter({ open, close, page, category, valueGroup, v
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)
}
}
@@ -140,7 +145,7 @@ export default function ModalFilter({ open, close, page, category, valueGroup, v
</View>
}
{page == "project" && (
{(page == "project" || page == "division/task") && (
<View>
<Text style={[Styles.textDefaultSemiBold, Styles.mb05]}>Tahun</Text>
<View style={[Styles.rowOnly, { flexWrap: 'wrap' }]}>
@@ -184,7 +189,10 @@ export default function ModalFilter({ open, close, page, category, valueGroup, v
:
router.replace(`/${page}?status=0&group=${chooseGroup}&year=${chooseYear}`)
:
router.replace(`/${page}?active=true&group=${chooseGroup}`)
page == "division/task" ?
router.replace(`/division/${dataPassing}/task?status=0&year=${chooseYear}`)
:
router.replace(`/${page}?active=true&group=${chooseGroup}`)
}} />
</View>
</View>