import React, { useEffect, useState } from "react"; import PostList from "./components/PostList"; import PostForm from "./components/PostForm"; import ErrorBanner from "./components/ErrorBanner"; import Loader from "./components/Loader"; import { getPosts } from "./api/client"; import type { Post, ApiError } from "./api/types"; const App: React.FC = () => { const [posts, setPosts] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); const fetchPosts = async () => { setLoading(true); setError(null); try { const data = await getPosts(); setPosts(data); } catch (err) { const apiError = err as ApiError; setError(apiError.message || "API unavailable"); } finally { setLoading(false); } }; useEffect(() => { fetchPosts(); }, []); return (
{error && }

Simple Social Media

{loading ? : }
); }; export default App;