import { useState, useEffect } from 'react' import reactLogo from './assets/react.svg' import viteLogo from '/vite.svg' import './App.css' import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom' import FoOldal from './components/FoOldal' import AutoLista from './components/AutoLista' import Osszefoglalas from './components/Osszefoglalas' import UjAutoForm from './components/UjAutoForm' function App() { const [autok, setAutok] = useState([]) useEffect(() => { const fetchAutok = async () => { try { const res = await fetch('http://localhost:3000/api/autok') if (!res.ok) throw new Error('Hálózati hiba') const data = await res.json() setAutok(data) } catch (err) { console.error('Autók betöltése sikertelen', err) } } fetchAutok() }, []) const hozzaAdas = async (ujAuto) => { try { const res = await fetch('http://localhost:3000/api/autok', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(ujAuto), }) if (!res.ok) throw new Error('Hiba a létrehozásnál') const created = await res.json() setAutok((prev) => [...prev, created]) return created } catch (err) { console.error('Autó hozzáadása sikertelen', err) return null } } const elemTorles = async (id) => { try { const res = await fetch(`http://localhost:3000/api/autok/${id}`, { method: 'DELETE' }) if (!res.ok) throw new Error('Törlés sikertelen') setAutok((prev) => prev.filter((a) => a.id !== id)) return true } catch (err) { console.error('Autó törlése sikertelen', err) return false } } return ( <>
Vite logo React logo
}> } /> } /> } /> } /> ) } export default App