Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import React, { useEffect, useState } from 'react';
- import { Feather } from '@expo/vector-icons';
- import { View, FlatList, Image, Text, TouchableOpacity } from 'react-native';
- import { useNavigation } from '@react-navigation/native';
- import logoImg from '../../assets/logo.png';
- import styles from './styles';
- import api from '../../services/api';
- export default function Incidents() {
- const navigation = useNavigation();
- const [incidents, setIncidents] = useState([]);
- function navigateToDetail() {
- // Mesmo nome que
- // <AppStack.Screen name="Details" component={Details} />
- // Do arquivo routes.js
- navigation.navigate('Details');
- }
- async function loadIncidents() {
- const response = await api.get('incidents');
- console.log('response.data');
- console.log(response.data);
- setIncidents(response.data);
- console.log('incidents');
- console.log(incidents);
- }
- useEffect(() => {
- loadIncidents();
- }, [incidents]);
- return (
- <View style={styles.container}>
- <View style={styles.header}>
- <Image source={logoImg} />
- <Text style={styles.headerText}>
- Total de <Text style={styles.headerTextBold}>0 casos</Text>
- </Text>
- </View>
- <Text style={styles.title}>Bem-vindo!</Text>
- <Text style={styles.description}>Escolha um dos casos abaixo e salve o dia</Text>
- <FlatList
- data={incidents}
- style={styles.incidentList}
- keyExtractor={incident => String(incident.id)}
- showsVerticalScrollIndicator={false}
- renderItem={({ item: incident }) => (
- <View style={styles.incidentItem}>
- <Text style={styles.incidentProperty}>ONG: {console.log(`incident: ${incident}`)}</Text>
- <Text style={styles.incidentValue}>{incident.nome}</Text>
- <Text style={styles.incidentProperty}>CASO:</Text>
- <Text style={styles.incidentValue}>{incident.title}</Text>
- <Text style={styles.incidentProperty}>VALOR:</Text>
- <Text style={styles.incidentValue}>{incident.value}</Text>
- <TouchableOpacity
- style={styles.detailsButton}
- onPress={navigateToDetail}
- >
- <Text style={styles.detailsButtonText}>Ver mais detalhes</Text>
- <Feather name="arrow-right" size={16} color="#e02041" />
- </TouchableOpacity>
- </View>
- )}
- />
- </View>
- );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement