From a0c28e2324ddd1e2726d419a2d144fbd3f03abd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20T=C3=B6lle?= Date: Tue, 26 Oct 2021 20:09:52 +0200 Subject: [PATCH] feat: top genres report --- frontend/src/App.tsx | 2 + frontend/src/api/api.ts | 39 ++++++ frontend/src/api/entities/genre.ts | 4 + frontend/src/api/entities/top-genres-item.ts | 8 ++ .../src/api/entities/top-genres-options.ts | 5 + frontend/src/components/NavBar.tsx | 3 + frontend/src/components/ReportTopGenres.tsx | 106 +++++++++++++++ frontend/src/components/TopListItem.tsx | 2 +- frontend/src/hooks/use-api.tsx | 19 +++ frontend/src/util/capitalizeString.ts | 8 ++ .../migrations/05-CreateGenreTables.ts | 44 ------- src/music-library/album.entity.ts | 4 - src/music-library/artist.entity.ts | 9 +- src/music-library/dto/create-album.dto.ts | 2 - src/music-library/music-library.service.ts | 1 + src/reports/dto/get-top-genres-report.dto.ts | 10 ++ src/reports/dto/top-genres-report.dto.ts | 10 ++ src/reports/reports.controller.ts | 10 ++ src/reports/reports.service.ts | 123 ++++++++++++------ .../spotify-api/entities/album-object.ts | 7 - src/sources/spotify/spotify.service.ts | 5 - 21 files changed, 317 insertions(+), 104 deletions(-) create mode 100644 frontend/src/api/entities/genre.ts create mode 100644 frontend/src/api/entities/top-genres-item.ts create mode 100644 frontend/src/api/entities/top-genres-options.ts create mode 100644 frontend/src/components/ReportTopGenres.tsx create mode 100644 frontend/src/util/capitalizeString.ts create mode 100644 src/reports/dto/get-top-genres-report.dto.ts create mode 100644 src/reports/dto/top-genres-report.dto.ts diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index d91debc..90db453 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -8,6 +8,7 @@ import { RecentListens } from "./components/RecentListens"; import { ReportListens } from "./components/ReportListens"; import { ReportTopAlbums } from "./components/ReportTopAlbums"; import { ReportTopArtists } from "./components/ReportTopArtists"; +import { ReportTopGenres } from "./components/ReportTopGenres"; import { ReportTopTracks } from "./components/ReportTopTracks"; import { useAuth } from "./hooks/use-auth"; import "./tailwind/generated.css"; @@ -38,6 +39,7 @@ export function App() { /> +