'use client'; import { FormEvent, useState, useEffect } from 'react'; import Link from 'next/link'; import { Album } from '@/entities/album.entity'; import { createAlbum } from '@/app/actions'; import { useRouter } from 'next/navigation'; export default function Page() { const [albums, setAlbums] = useState([]); const router = useRouter(); useEffect(() => { async function fetchAlbums() { const response = await fetch('https://api.anatid.net/album'); const data = await response.json(); setAlbums(data); } fetchAlbums(); }, []); if (!albums) return
Loading...
async function onSubmit(event: FormEvent) { event.preventDefault(); const formData = new FormData(event.currentTarget); const response = await createAlbum(formData); await response.json(); router.refresh(); } return (
    {albums.map((album: Album) => (
  • {album.title} by {album.artist} ({album.genre})
  • ))}
Album Title
Artist
Genre
); }