New SongView, UV & More (#6)

Honestly, I don't remember everything I've done in this branch.

Important things:
 - Started using UV for dependency / python version management
 - Fixed the stupid queue skipping bug (still can't believe it was a race condition)
 - New SongView widget that multiple screens share
 - New features on most views with songs!
   - Songs can be shared
   - Songs can be added to playlists
   - Songs can be rated
 - Upgraded my Navidrome server version & had to change some stuff for it

Co-authored-by: Jackson Hodge <jackson.d.hodge@jbhunt.com>
Reviewed-on: #6
This commit is contained in:
0x01FEandJackson Hodge committed 2026-03-04 11:30:52 -06:00
1 parent d3de6ee914
commit 2295af7b56
10 files changed
+763 -201

No files matched your search

+95
View File
@@ -169,6 +169,48 @@ QueueScreen {
border: grey;
}
PlaylistSelectionModal {
align: center middle;
}
PlaylistSelectionModal Container {
height: 75%;
width: 75%;
border: grey;
}
PlaylistSelectionModal Label {
text-style: bold;
color: #0073e6;
width: 100%;
text-align: center;
}
PlaylistNameForm {
align: center middle;
}
#PSbutton {
width: 100%;
align: right middle;
}
PlaylistNameForm Button {
background: #0080ff;
}
PlaylistNameForm Label {
width: 100%;
text-align: center;
}
#playlistFormModal {
height: 30%;
width: 70%;
border: grey;
align: center middle;
}
#songModeSelectorList {
height: 100%;
width: 0.2fr;
@@ -203,3 +245,56 @@ QueueScreen {
margin: 1 1;
}
SongTable Input {
display: none;
}
ShareLinkModal {
align: center middle;
}
ShareLinkModal Horizontal {
min-width: 30%;
min-height: 3;
max-height: 5;
width: auto;
height: auto;
border: blue;
}
ShareLinkModal Label {
content-align: center middle;
padding: 1 2 1 2;
}
RatingModal {
align: center middle;
}
RatingModal Vertical {
max-width: 50%;
width: auto;
height: auto;
padding: 2;
border: blue;
align: center middle;
}
RatingModal Label {
content-align: center middle;
width: 100%;
padding-bottom: 2;
}
RatingModal Horizontal {
align: center middle;
height: auto;
}
RatingModal RadioSet {
width: 40%;
}
RatingModal Button {
}