From ee2383e88a366d662bcec88d1a88a156023c703b Mon Sep 17 00:00:00 2001 From: mattdimegs Date: Wed, 2 Oct 2024 12:31:16 -0400 Subject: [PATCH] Select Department --- app/landing.jsx | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/app/landing.jsx b/app/landing.jsx index a4d9677..1b95a5d 100644 --- a/app/landing.jsx +++ b/app/landing.jsx @@ -15,7 +15,7 @@ const typeMap = { Rescue: 'Fire & EMS' } -const deptList = [ +const initList = [ { deptId: 0, dept: 'Darien EMS', @@ -53,13 +53,32 @@ const deptList = [ export default function Landing() { const actionSheetRef = useRef(null); - const selectedDepartment = deptList?.find((dept) => { - return dept?.selected; - }); + const [deptList, setDeptList] = useState(initList); + const [selectedDepartment, setSelectedDepartment] = useState(deptList?.find((dept) => { + return dept?.primary; + })); const updateSelectedDepartment = (currentSelectedId, newSelectedId) => { - console.log('items: ', currentSelectedId, newSelectedId); + if (currentSelectedId !== newSelectedId) { + setDeptList(deptList?.map((item) => { + if (item?.selected) { + item.selected = false; + } + if (item?.deptId === newSelectedId) { + item.selected = true; + } + return item; + })) + } }; + + useEffect(() => { + if (deptList) { + setSelectedDepartment(deptList?.find((dept) => { + return dept?.selected; + })); + } + }, [deptList]) return ( @@ -102,10 +121,17 @@ export default function Landing() { marginVertical: 6, padding: 10 }} + onPress={() => {return updateSelectedDepartment(selectedDepartment?.deptId, item?.deptId)}} > - + {item?.dept} - {item?.primary ? * : null} + {item?.primary ? : null} {`${item?.deptAbv} - ${typeMap[item?.type]}`}