diff --git a/app.py b/app.py index 3ce44e3..e9846b0 100644 --- a/app.py +++ b/app.py @@ -701,6 +701,30 @@ class PlaylistSongs(Screen): app.play_song(q.pop(0)) app.song_queue = q +class SongsScreen(Screen): + BINDINGS = [ + + ] + + songs: list[SubSonic.Song] + selected_song_id: str | None = None + + def compose(self) -> ComposeResult: + yield Header(icon='') + + with Horizontal(id="headerbs"): + yield Label(Text("F1 ", style="bold orange").append_text(Text("Player", style="white")), classes="headerb") + yield Label(Text("F2 ", style="bold orange").append_text(Text("Artists", style="white")), classes="headerb") + yield Label(Text("F3 ", style="bold orange").append_text(Text("Albums", style="white")), classes="headerb") + yield Label(Text("* F4 ", style="bold orange").append_text(Text("Favourites", style="white")), classes="headerb") + yield Label(Text("F5 ", style="bold orange").append_text(Text("Playlists", style="white")), classes="headerb") + + with Horizontal(id='songsScreen'): + yield Placeholder(id='songModeSelectorList') + yield Placeholder(id='songDatatable') + + yield Footer() + class Favourites(Screen): BINDINGS = [ ('p', 'play()', 'Play Song'), @@ -1048,7 +1072,7 @@ class SubPy(App): "main" : Player, "artists" : ArtistsGUI, "albums" : Albums, - "favourites" : Favourites, + "favourites" : SongsScreen, "playlists" : Playlists } diff --git a/main.tcss b/main.tcss index 61fe177..4cf6c21 100644 --- a/main.tcss +++ b/main.tcss @@ -169,3 +169,11 @@ QueueScreen { border: grey; } +#songModeSelectorList { + height: 100%; + width: 0.2fr; +} + +#songDatatable { + width: 1fr; +}