upd: project

Deskripsi:
- delete project yg telah dibatalkan
- akses fitur by user role
- tampilan text yg panjang

No Issues
This commit is contained in:
amel
2025-05-15 12:08:24 +08:00
parent a877eec078
commit 9b05c6220c
11 changed files with 174 additions and 80 deletions

View File

@@ -35,6 +35,8 @@ export default function DetailProject() {
const [progress, setProgress] = useState(0)
const [loading, setLoading] = useState(true)
const update = useSelector((state: any) => state.projectUpdate)
const [isMember, setIsMember] = useState(false)
const entityUser = useSelector((state: any) => state.user)
async function handleLoad() {
try {
@@ -51,10 +53,25 @@ export default function DetailProject() {
}
}
async function checkMember() {
try {
const hasil = await decryptToken(String(token?.current))
const response = await apiGetProjectOne({ user: hasil, cat: 'member', id: id })
const cekMember = response.data.some((i: any) => i.idUser == hasil)
setIsMember(cekMember)
} catch (error) {
console.error(error)
}
}
useEffect(() => {
handleLoad()
}, [update.data, update.progress])
useEffect(() => {
checkMember()
}, [])
return (
<SafeAreaView>
@@ -63,7 +80,7 @@ export default function DetailProject() {
headerLeft: () => <ButtonBackHeader onPress={() => { router.back() }} />,
headerTitle: loading ? '' : data?.title,
headerTitleAlign: 'center',
headerRight: () => <HeaderRightProjectDetail id={id} />,
headerRight: () => (entityUser.role == "user" || entityUser.role == "coadmin") && !isMember ? null : <HeaderRightProjectDetail id={id} status={data?.status} />,
}}
/>
<ScrollView>
@@ -72,9 +89,9 @@ export default function DetailProject() {
data?.reason != null && data?.reason != "" && <SectionCancel text={data?.reason} />
}
<SectionProgress text={`Kemajuan Kegiatan ${progress}%`} progress={progress} />
<SectionTanggalTugasProject />
<SectionFile />
<SectionMember />
<SectionTanggalTugasProject status={data?.status} member={isMember} />
<SectionFile status={data?.status} member={isMember} />
<SectionMember status={data?.status} />
</View>
</ScrollView>
</SafeAreaView>