feat: load exercises onto state

This commit is contained in:
Vinicius Souza 2024-11-01 11:32:16 -03:00
parent fc49d1cbc8
commit beaee1e192

View file

@ -7,6 +7,7 @@ import { AppNavigatorRoutesProps } from '@routes/app.routes';
import { AppError } from '@utils/AppError';
import { api } from '@services/api';
import { ExerciseDTO } from '@dtos/ExerciseDTO';
import { ExerciseCard } from '@components/ExerciseCard';
import { Group } from '@components/Group';
@ -14,7 +15,7 @@ import { HomeHeader } from '@components/HomeHeader';
import { ToastMessage } from '@components/ToastMessage';
export function Home() {
const [exercises] = useState<string[]>(['1', '2', '3', '4', '5', '6']);
const [exercises, setExercises] = useState<ExerciseDTO[]>([]);
const [groups, setGroups] = useState<string[]>([]);
const [selectedGroup, setSelectedGroup] = useState('costas');
const toast = useToast();
@ -44,8 +45,7 @@ export function Home() {
async function fetchExercisesForGroup(group: string) {
try {
const response = await api.get(`/exercises/bygroup/${selectedGroup}`);
console.debug(response.data);
// setGroups(response.data);
setExercises(response.data);
} catch (error) {
const isAppError = error instanceof AppError;
const title = isAppError ? error.message : 'Não foi possível carregar os exercícios.';
@ -105,9 +105,9 @@ export function Home() {
<FlatList
data={exercises}
keyExtractor={(item) => item}
keyExtractor={(item) => item.id}
renderItem={({ item }) => (
<ExerciseCard name={item} onPress={handleOpenExerciseDetails} />
<ExerciseCard data={item} onPress={handleOpenExerciseDetails} />
)}
showsVerticalScrollIndicator={false}
contentContainerStyle={{ paddingBottom: 20 }}