Reworking actions
All checks were successful
Music Collection CI Workflow / test (./backend) (push) Successful in 22s
Music Collection CI Workflow / test (./frontend) (push) Successful in 28s
Music Collection CI Workflow / build-and-push-images (./backend/Dockerfile, git.anatid.net/tabris/msuic-collection-backend, ./backend) (push) Successful in 49s
Music Collection CI Workflow / build-and-push-images (./frontend/Dockerfile, git.anatid.net/tabris/music-collection-frontend, ./frontend) (push) Successful in 1m41s
Music Collection CI Workflow / deploy (push) Successful in 23s

This commit is contained in:
Phill Pover 2025-04-06 21:34:50 +01:00
parent e2dcabb473
commit 7259fda77c

View File

@ -3,7 +3,7 @@
import { FormEvent, MouseEvent, useState, useEffect } from 'react'; import { FormEvent, MouseEvent, useState, useEffect } from 'react';
import Link from 'next/link'; import Link from 'next/link';
import { Album } from '@/entities/album.entity'; 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 Button from 'react-bootstrap/Button';
import Modal from 'react-bootstrap/Modal'; import Modal from 'react-bootstrap/Modal';
import { IconButton } from '@mui/material'; import { IconButton } from '@mui/material';
@ -14,6 +14,7 @@ export default function Page() {
const [show, setShow] = useState(false); const [show, setShow] = useState(false);
const handleClose = () => setShow(false); const handleClose = () => setShow(false);
const handleShow = () => setShow(true); const handleShow = () => setShow(true);
const [formAlbumId, setFormAlbumId] = useState("");
const [formAlbumTitle, setFormAlbumTitle] = useState(""); const [formAlbumTitle, setFormAlbumTitle] = useState("");
const [formAlbumArtist, setFormAlbumArtist] = useState(""); const [formAlbumArtist, setFormAlbumArtist] = useState("");
const [formAlbumGenre, setFormAlbumGenre] = useState(""); const [formAlbumGenre, setFormAlbumGenre] = useState("");
@ -37,15 +38,22 @@ export default function Page() {
const formData = new FormData(event.currentTarget); const formData = new FormData(event.currentTarget);
try { try {
const response = await createAlbum(formData); if (!formData.get('id')) {
const data = await response.json(); const response = await createAlbum(formData);
console.log(data); const data = await response.json();
console.log(data);
} else {
const response = await updateAlbum(formData);
const data = await response.json();
console.log(data);
}
} catch (error) { } catch (error) {
console.error("Error creating Album: ", error); console.error("Error creating Album: ", error);
} }
} }
const handleCreate = async () => { const handleCreate = async () => {
setFormAlbumId("");
setFormAlbumTitle(""); setFormAlbumTitle("");
setFormAlbumArtist(""); setFormAlbumArtist("");
setFormAlbumGenre(""); setFormAlbumGenre("");
@ -58,6 +66,7 @@ export default function Page() {
try { try {
const response = await getAlbum(parseInt(id)); const response = await getAlbum(parseInt(id));
const data = await response.json(); const data = await response.json();
setFormAlbumId(data.id)
setFormAlbumTitle(data.title); setFormAlbumTitle(data.title);
setFormAlbumArtist(data.artist); setFormAlbumArtist(data.artist);
setFormAlbumGenre(data.genre); setFormAlbumGenre(data.genre);
@ -130,6 +139,7 @@ export default function Page() {
<Modal.Body> <Modal.Body>
<div> <div>
<form onSubmit={handleSubmit}> <form onSubmit={handleSubmit}>
<input name="id" id="album-id" value={formAlbumId} type="hidden" />
<div className="row"> <div className="row">
<div className="six columns"> <div className="six columns">
<label htmlFor="album-title">Album Title</label><input type="text" name="title" id="album-title" defaultValue={formAlbumTitle} /> <label htmlFor="album-title">Album Title</label><input type="text" name="title" id="album-title" defaultValue={formAlbumTitle} />