Skip to content

Commit 8add069

Browse files
committed
Fix some styling issues
1 parent 6693f1a commit 8add069

File tree

6 files changed

+37
-28
lines changed

6 files changed

+37
-28
lines changed

backend/src/controllers/music_data.py

+20-19
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
search_playlists_by_albums,
1313
update_playlist_info,
1414
)
15-
from src.dataclasses.playlist import Playlist
1615
from src.spotify import SpotifyClient
1716

1817

@@ -78,11 +77,11 @@ def recent_playlists():
7877
def get_playlist(id):
7978
db_playlist = get_playlist_by_id_or_none(id)
8079
if db_playlist is not None:
81-
return db_playlist.__data__
80+
return make_response(jsonify(db_playlist.__data__), 200)
8281
else:
8382
access_token = request.cookies.get("spotify_access_token")
8483
playlist = spotify.get_playlist(access_token=access_token, id=id)
85-
return playlist.model_dump()
84+
return make_response(jsonify(playlist.to_dict()), 200)
8685

8786
@music_controller.route("playlist/<id>", methods=["POST"])
8887
def post_edit_playlist(id):
@@ -156,24 +155,26 @@ def get_playback_info():
156155
if playback_info is None:
157156
return ("", 204)
158157
if playback_info.playlist_id is not None:
159-
playlist_name = get_playlist_by_id_or_none(playback_info.playlist_id).name
160-
playlist_duration = get_playlist_duration(playback_info.playlist_id)
161-
playlist_progress = (
162-
get_playlist_duration_up_to_track(
163-
playback_info.playlist_id, playback_info.track_id
158+
playlist_info = get_playlist_by_id_or_none(playback_info.playlist_id)
159+
if playlist_info:
160+
playlist_name = playlist_info.name
161+
playlist_duration = get_playlist_duration(playback_info.playlist_id)
162+
playlist_progress = (
163+
get_playlist_duration_up_to_track(
164+
playback_info.playlist_id, playback_info.track_id
165+
)
166+
+ playback_info.track_progress
164167
)
165-
+ playback_info.track_progress
166-
)
167168

168-
playback_info_with_playlist = playback_info.model_dump()
169-
playback_info_with_playlist["playlist"] = {
170-
"id": playback_info.playlist_id,
171-
"title": playlist_name,
172-
"progress": playlist_progress,
173-
"duration": playlist_duration,
174-
}
175-
return playback_info_with_playlist
169+
playback_info_with_playlist = playback_info.model_dump()
170+
playback_info_with_playlist["playlist"] = {
171+
"id": playback_info.playlist_id,
172+
"title": playlist_name,
173+
"progress": playlist_progress,
174+
"duration": playlist_duration,
175+
}
176+
return playback_info_with_playlist
176177

177-
return playback_info.model_dump_json()
178+
return playback_info.model_dump_json()
178179

179180
return music_controller

frontend/src/playlistExplorer/AlbumList/AlbumList.tsx

+12-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { FC, useState } from "react";
1+
import React, { FC, useEffect, useRef, useState } from "react";
22
import { Album } from "../../interfaces/Album";
33
import { AlbumContainer } from "./AlbumContainer";
44
import { Playlist } from "../../interfaces/Playlist";
@@ -29,6 +29,12 @@ export const AlbumList: FC<AlbumListProps> = ({
2929
}
3030
}
3131
const selectedAlbumIndex = selectedAlbum ? albumList.findIndex((album) => album.id === selectedAlbum.id) : undefined;
32+
const albumInfoRef = useRef<HTMLDivElement>(null);
33+
useEffect(() => {
34+
if (selectedAlbum && albumInfoRef.current) {
35+
albumInfoRef.current.scrollIntoView({ behavior: 'smooth', block: 'start' });
36+
}
37+
}, [selectedAlbum]);
3238

3339
return (
3440
<div>
@@ -43,9 +49,11 @@ export const AlbumList: FC<AlbumListProps> = ({
4349
)
4450
)}/>
4551
{selectedAlbum &&
46-
<Box className="flex flex-col my-2">
47-
<AlbumInfo album={selectedAlbum} />
48-
<AlbumActions album={selectedAlbum} associatedPlaylists={associatedPlaylists} contextPlaylist={contextPlaylist} />
52+
<Box className="my-2" >
53+
<div ref={albumInfoRef}>
54+
<AlbumInfo album={selectedAlbum} />
55+
<AlbumActions album={selectedAlbum} associatedPlaylists={associatedPlaylists} contextPlaylist={contextPlaylist} />
56+
</div>
4957
</Box>}
5058
</div>
5159
);

frontend/src/playlistExplorer/PlaylistExplorer.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ export const PlaylistExplorer: FC = () => {
6565
const { playbackInfo } = usePlaybackContext();
6666

6767
return (
68-
<div className="m-2 text-sm sm:text-base space-y-4">
68+
<div className="p-2 text-sm sm:text-base space-y-4">
6969
<Form
7070
onSubmit={() => {
7171
updatePlaylist(getValues());

frontend/src/presentational/Header/Header.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const Header = () => {
1414
});
1515

1616
return (
17-
<div className="flex justify-between top-0 h-16 sm:h-20 bg-background-offset">
17+
<div className="flex flex-shrink-0 justify-between h-16 sm:h-20 bg-background-offset">
1818
<Link to="/" className="flex mx-4 my-auto text-lg">
1919
Playlist Manager
2020
</Link>

frontend/src/presentational/Layout.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import Header from "./Header/Header";
55

66
const Layout = () => {
77
return (
8-
<div className="text-text-primary bg-background flex flex-col h-full w-full flex-nowrap overflow-none">
8+
<div className="flex flex-col h-screen w-screen text-text-primary bg-background ">
99
<Header />
10-
<div className="h-fit overflow-y-scroll inline-block">
10+
<div className="flex-grow overflow-y-scroll">
1111
<Outlet />
1212
</div>
1313
<PlaybackFooter />

frontend/src/presentational/PlaybackFooter.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const PlaybackFooter: FC = () => {
1717
}
1818

1919
return (
20-
<div className="w-full h-fit absolute bottom-0 bg-background-offset px-4 py-2 text-sm sm:text-base">
20+
<div className="flex-shrink-0 w-full h-fit bg-background-offset px-4 py-2 text-sm sm:text-base">
2121
<div className="flex space-x-4 sm:space-x-6">
2222
<div className="flex flex-col space-y-2 w-1/5 max-w-32">
2323
<button className="opacity-80 w-full h-full" onClick={handlePausePlayClick}>

0 commit comments

Comments
 (0)