From c570a04052bb1b60d7c7a2995f60c47000cf7f40 Mon Sep 17 00:00:00 2001 From: Tobias Zoghaib Date: Sat, 26 Oct 2024 16:23:00 +0200 Subject: [PATCH] Genre Admin page, new Genre store --- software/backend/routes/genre.routes.ts | 5 +- software/src/layouts/adminDataLayout.vue | 47 ++++++++++++++++ software/src/locales/de.json | 4 +- software/src/locales/en.json | 4 +- .../admin/bandsAdminPage/bandEditDialog.vue | 6 ++- .../src/pages/admin/dashboardPage/index.vue | 5 +- .../admin/genresAdminPage/genreEditDialog.vue | 38 +++++++++++++ .../src/pages/admin/genresAdminPage/index.vue | 49 ++++++++++++++++- .../pages/bands/bandsPage/bandFilterbar.vue | 6 ++- software/src/stores/band.store.ts | 33 ++++-------- software/src/stores/genre.store.ts | 53 +++++++++++++++++++ 11 files changed, 218 insertions(+), 32 deletions(-) create mode 100644 software/src/layouts/adminDataLayout.vue create mode 100644 software/src/pages/admin/genresAdminPage/genreEditDialog.vue create mode 100644 software/src/stores/genre.store.ts diff --git a/software/backend/routes/genre.routes.ts b/software/backend/routes/genre.routes.ts index 131367d..91273be 100644 --- a/software/backend/routes/genre.routes.ts +++ b/software/backend/routes/genre.routes.ts @@ -1,4 +1,3 @@ -import { Rating } from "../models/acts/rating.model"; import { Band } from "../models/acts/band.model"; import { Genre } from "../models/acts/genre.model"; import { Request, Response, Router } from "express"; @@ -9,7 +8,9 @@ export const genre = Router() * Get all available Genres */ genre.get("/", (req: Request, res: Response) => { - Genre.findAll() + Genre.findAll({ + include: [ Band ] + }) .then(genres => { res.status(200).json(genres) }) diff --git a/software/src/layouts/adminDataLayout.vue b/software/src/layouts/adminDataLayout.vue new file mode 100644 index 0000000..40ba558 --- /dev/null +++ b/software/src/layouts/adminDataLayout.vue @@ -0,0 +1,47 @@ + + + \ No newline at end of file diff --git a/software/src/locales/de.json b/software/src/locales/de.json index b3ae09a..0f52f0a 100644 --- a/software/src/locales/de.json +++ b/software/src/locales/de.json @@ -40,7 +40,9 @@ "descriptionEn": "Beschreibung Englisch", "addNewBand": "Neue Band hinzufügen", "logo": "Band Logo", - "imageMember": "Bilder Mitglieder" + "imageMember": "Bilder Mitglieder", + "addNewGenre": "Neues Genre hinzufügen", + "editGenre": "Genre bearbeiten" }, "ticket": { "tickets": "Ticket | Tickets" diff --git a/software/src/locales/en.json b/software/src/locales/en.json index c82e4f8..aa17ea5 100644 --- a/software/src/locales/en.json +++ b/software/src/locales/en.json @@ -40,7 +40,9 @@ "descriptionEn": "Description English", "addNewBand": "Add new Band", "logo": "Band logo", - "imageMember": "Images Members" + "imageMember": "Images Members", + "addNewGenre": "Add new Genre", + "editGenre": "Edit Genre" }, "ticket": { "tickets": "Ticket | Tickets" diff --git a/software/src/pages/admin/bandsAdminPage/bandEditDialog.vue b/software/src/pages/admin/bandsAdminPage/bandEditDialog.vue index f5fa188..8d8acd9 100644 --- a/software/src/pages/admin/bandsAdminPage/bandEditDialog.vue +++ b/software/src/pages/admin/bandsAdminPage/bandEditDialog.vue @@ -3,8 +3,10 @@ import actionDialog from '@/components/basics/actionDialog.vue'; import OutlinedButton from '@/components/basics/outlinedButton.vue'; import { GenreModel } from '@/data/models/acts/genreModel'; import { useBandStore } from '@/stores/band.store'; +import { useGenreStore } from '@/stores/genre.store'; const bandStore = useBandStore() +const genreStore = useGenreStore() function itemProps(item: GenreModel) { return { @@ -15,7 +17,7 @@ function itemProps(item: GenreModel) {