diff --git a/frontend/src/app/actions.tsx b/frontend/src/app/actions.tsx index 38362ae..79d0802 100644 --- a/frontend/src/app/actions.tsx +++ b/frontend/src/app/actions.tsx @@ -4,7 +4,7 @@ export async function createAlbum(formData: FormData) { const title = formData.get('title'); const artist = formData.get('artist'); const genre = formData.get('genre'); - await fetch("https://api.anatid.net/album", { + return await fetch("https://api.anatid.net/album", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ diff --git a/frontend/src/app/album/page.tsx b/frontend/src/app/album/page.tsx index 3937824..647a656 100644 --- a/frontend/src/app/album/page.tsx +++ b/frontend/src/app/album/page.tsx @@ -1,12 +1,15 @@ 'use client'; -import { useState, useEffect } from 'react'; +import { FormEvent, useState, useEffect } from 'react'; import Link from 'next/link'; import { Album } from '@/entities/album.entity'; -import { CreateAlbumForm } from '@/app/ui/form'; +// import { CreateAlbumForm } from '@/app/ui/form'; +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() { @@ -19,6 +22,16 @@ export default function Page() { if (!albums) return
Loading...
+ async function onSubmit(event: FormEvent) { + event.preventDefault() + + const formData = new FormData(event.currentTarget); + const response = await createAlbum(formData); + + const data = await response.json() + setAlbums(data); + } + return (
    @@ -32,7 +45,12 @@ export default function Page() { by {album.artist} ({album.genre}) ))}
- {CreateAlbumForm()} +
+ Album Title
+ Artist
+ Genre
+ +
); } diff --git a/frontend/src/app/ui/button.tsx b/frontend/src/app/ui/button.tsx deleted file mode 100644 index aad9164..0000000 --- a/frontend/src/app/ui/button.tsx +++ /dev/null @@ -1,7 +0,0 @@ -'use client' - -import { createAlbum } from '@/app/actions' - -export function CreateAlbumButton() { - return -} diff --git a/frontend/src/app/ui/form.tsx b/frontend/src/app/ui/form.tsx index e4877f7..c52dd5e 100644 --- a/frontend/src/app/ui/form.tsx +++ b/frontend/src/app/ui/form.tsx @@ -1,8 +1,6 @@ -import { createAlbum } from '@/app/actions' - -export function CreateAlbumForm() { +export function CreateAlbumForm(formAction: string) { return ( -
+