fix : ios dan tampilan

Deskripsi:
- modal crash
- input keyboard over lap
- detail pengumuman text color
- Scroll view tinggi 100 persen
- image user

nb : blm selesai semua
This commit is contained in:
2025-07-30 17:43:08 +08:00
parent 4394219f2a
commit 5898655fac
28 changed files with 545 additions and 441 deletions

View File

@@ -10,7 +10,7 @@ import { apiGetProjectOne } from "@/lib/api";
import { useAuthSession } from "@/providers/AuthProvider";
import { router, Stack, useLocalSearchParams } from "expo-router";
import { useEffect, useState } from "react";
import { SafeAreaView, ScrollView, View } from "react-native";
import { RefreshControl, SafeAreaView, ScrollView, View } from "react-native";
import { useSelector } from "react-redux";
@@ -37,6 +37,7 @@ export default function DetailProject() {
const update = useSelector((state: any) => state.projectUpdate)
const [isMember, setIsMember] = useState(false)
const entityUser = useSelector((state: any) => state.user)
const [refreshing, setRefreshing] = useState(false)
async function handleLoad(cat: 'data' | 'progress') {
try {
@@ -79,6 +80,14 @@ export default function DetailProject() {
}, [])
const handleRefresh = async () => {
setRefreshing(true)
await handleLoad('data')
await handleLoad('progress')
await new Promise(resolve => setTimeout(resolve, 2000));
setRefreshing(false)
};
return (
<SafeAreaView>
<Stack.Screen
@@ -89,15 +98,22 @@ export default function DetailProject() {
headerRight: () => (entityUser.role == "user" || entityUser.role == "coadmin") && !isMember ? null : <HeaderRightProjectDetail id={id} status={data?.status} />,
}}
/>
<ScrollView>
<ScrollView
refreshControl={
<RefreshControl
refreshing={refreshing}
onRefresh={handleRefresh}
/>
}
>
<View style={[Styles.p15, Styles.mb100]}>
{
data?.reason != null && data?.reason != "" && <SectionCancel text={data?.reason} />
}
<SectionProgress text={`Kemajuan Kegiatan ${progress}%`} progress={progress} />
<SectionTanggalTugasProject status={data?.status} member={isMember} />
<SectionFile status={data?.status} member={isMember} />
<SectionMember status={data?.status} />
<SectionTanggalTugasProject status={data?.status} member={isMember} refreshing={refreshing}/>
<SectionFile status={data?.status} member={isMember} refreshing={refreshing} />
<SectionMember status={data?.status} refreshing={refreshing} />
</View>
</ScrollView>
</SafeAreaView>