From 7259fda77c805948132c0d57116737cb7f5f7bcf Mon Sep 17 00:00:00 2001 From: Phill Pover Date: Sun, 6 Apr 2025 21:34:50 +0100 Subject: [PATCH] Reworking actions --- frontend/src/app/album/page.tsx | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/album/page.tsx b/frontend/src/app/album/page.tsx index e12567b..7655de2 100644 --- a/frontend/src/app/album/page.tsx +++ b/frontend/src/app/album/page.tsx @@ -3,7 +3,7 @@ import { FormEvent, MouseEvent, useState, useEffect } from 'react'; import Link from 'next/link'; import { Album } from '@/entities/album.entity'; -import { createAlbum, getAlbum, getAlbums } from '@/app/actions'; +import { createAlbum, getAlbum, updateAlbum } from '@/app/actions'; import Button from 'react-bootstrap/Button'; import Modal from 'react-bootstrap/Modal'; import { IconButton } from '@mui/material'; @@ -14,6 +14,7 @@ export default function Page() { const [show, setShow] = useState(false); const handleClose = () => setShow(false); const handleShow = () => setShow(true); + const [formAlbumId, setFormAlbumId] = useState(""); const [formAlbumTitle, setFormAlbumTitle] = useState(""); const [formAlbumArtist, setFormAlbumArtist] = useState(""); const [formAlbumGenre, setFormAlbumGenre] = useState(""); @@ -37,15 +38,22 @@ export default function Page() { const formData = new FormData(event.currentTarget); try { - const response = await createAlbum(formData); - const data = await response.json(); - console.log(data); + if (!formData.get('id')) { + const response = await createAlbum(formData); + const data = await response.json(); + console.log(data); + } else { + const response = await updateAlbum(formData); + const data = await response.json(); + console.log(data); + } } catch (error) { console.error("Error creating Album: ", error); } } const handleCreate = async () => { + setFormAlbumId(""); setFormAlbumTitle(""); setFormAlbumArtist(""); setFormAlbumGenre(""); @@ -58,6 +66,7 @@ export default function Page() { try { const response = await getAlbum(parseInt(id)); const data = await response.json(); + setFormAlbumId(data.id) setFormAlbumTitle(data.title); setFormAlbumArtist(data.artist); setFormAlbumGenre(data.genre); @@ -130,6 +139,7 @@ export default function Page() {
+