fix logical and api integration issues

This commit is contained in:
Jaanu423
2025-10-01 18:52:41 +05:30
parent 2aebed4386
commit a642654783
5 changed files with 44 additions and 27 deletions
+22 -13
View File
@@ -14,7 +14,7 @@ import { Ionicons } from "@react-native-vector-icons/ionicons"; // Assuming you
import { apiCall } from '../../utils/ApiHelper'; // Adjust path to your apiCall utility
import AppView from '../../components/AppView';
import colors from '../../components/colors';
import { useRoute } from '@react-navigation/native';
import { RouteProp, useRoute } from '@react-navigation/native';
import { BASE_URL } from '../../utils/ApiUrls';
// --- Type Definitions ---
@@ -37,10 +37,19 @@ interface ApiResponse {
statusCode: number;
data: Member[];
}
type RootStackParamList = {
Member: { groupId: string }; // or number, depending on your data type
};
type MemberScreenRouteProp = RouteProp<RootStackParamList, 'Member'>;
interface Props {
route: MemberScreenRouteProp;
}
// --- Main Screen Component ---
// This assumes the component receives `groupId` from a navigator (e.g., Tab Navigator)
const MemberScreen = ({ route }) => {
const MemberScreen = ({ route }: Props) => {
const { groupId } = route.params;
const [members, setMembers] = useState<Member[]>([]);
@@ -52,7 +61,7 @@ const MemberScreen = ({ route }) => {
setError('Group ID is missing.');
setLoading(false);
return;
}
}
setLoading(true);
try {
@@ -91,13 +100,13 @@ const MemberScreen = ({ route }) => {
<Text style={styles.avatarText}>{initial}</Text>
</View>
<View style={styles.infoContainer}>
<View style={{flexDirection:"row",justifyContent:"space-between"}}>
<Text style={styles.name}>{fullName}</Text>
<View style={{ flexDirection: "row", justifyContent: "space-between" }}>
<Text style={styles.name}>{fullName}</Text>
{isOrganizer && (
<View style={styles.organizerIcon}>
<Text>Orginzer</Text>
</View>
)}
<View style={styles.organizerIcon}>
<Text>Orginzer</Text>
</View>
)}
</View>
<Text style={styles.username}>@{item.username}</Text>
@@ -132,9 +141,9 @@ const MemberScreen = ({ route }) => {
if (members.length === 0) {
return (
<View style={styles.centered}>
<Ionicons name="people-outline" size={60} color="#9CA3AF" />
<Text style={styles.emptyTitle}>No Members Yet</Text>
<Text style={styles.emptyText}>Invite people to join your group.</Text>
<Ionicons name="people-outline" size={60} color="#9CA3AF" />
<Text style={styles.emptyTitle}>No Members Yet</Text>
<Text style={styles.emptyText}>Invite people to join your group.</Text>
</View>
)
}
@@ -151,7 +160,7 @@ const MemberScreen = ({ route }) => {
};
return (
<AppView>
<AppView>
<View style={styles.header}>
<Text style={styles.headerTitle}>Group Members</Text>
<Text style={styles.headerSubtitle}>{members.length} member(s)</Text>