import React, {useState} from 'react'; import { StyleSheet, ScrollView, SafeAreaView, View, StatusBar, Image, FlatList, Switch } from 'react-native'; import {ThemedText} from '@/components/ThemedText'; import {ThemedView} from '@/components/ThemedView'; import {Colors} from '@/constants/Colors'; import {useColorScheme} from '@/hooks/useColorScheme'; import MapView from '@/components/map/map'; export default function MapScreen() { const colorScheme = useColorScheme() ?? 'light'; const [types, setTypes] = useState([ { image: require('@/assets/images/paper.png'), name: 'Papier', isEnabled: false, }, { image: require('@/assets/images/paper.png'), name: 'Glas', isEnabled: false, }, { image: require('@/assets/images/paper.png'), name: 'Textiel', isEnabled: false, }, { image: require('@/assets/images/paper.png'), name: 'GFT+e', isEnabled: false, }, { image: require('@/assets/images/paper.png'), name: 'Luiers', isEnabled: false, }, ]); const renderListItem = (item: any, index: any) => { return ( {item.name} toggleSwitch(index)} /> ); }; const toggleSwitch = (index: any) => { const newData = types.map((item, key) => key === index ? { ...item, isEnabled: !item.isEnabled } : item ); setTypes(newData); }; const renderList = () => { let list: any[] = []; for (let i = 0; i < types.length; i++) { const type = types[i]; list[i] = renderListItem(type, i); } return list; } return ( Afvalcontainers in de buurt { renderList() } ); } const styles = StyleSheet.create({ container: { marginTop: StatusBar.currentHeight, paddingTop: 25, }, titleContainer: { paddingLeft: 25, paddingRight: 25, flexDirection: 'row', alignItems: 'center', gap: 8, paddingBottom: 8, }, mapContainer: { marginTop: 15, }, map: { width: '100%', height: 500, }, listContainer: { marginTop: 10, }, listItem: { flex: 1, display: 'flex', justifyContent: 'space-between', flexDirection: 'row', alignItems: 'center', paddingLeft: 25, paddingRight: 25, paddingBottom: 10, marginBottom: 10, borderBottomWidth: 1, borderBottomColor: '#f2f2f2', }, listItemTitle: { flex: 1, flexDirection: 'row', alignItems: 'center', }, listImage: { width: 30, height: 30, borderRadius: 5, marginRight: 8, } });