Adds "Bold Blue" and Black/OLED themes
Also tweaks Orange & Green a bit to make the borders stronger and
backgrounds darker/less colored
Related to #91
Fixes the nav drawer not being focused on when pressing back to open it
on the home page
Dev notes: I think the bug was introduced in #228 due to the new
`Column` not being focusable, but we don't need it to be since we want
to focus on the selected page.
## Details
This PR ended up being larger than I meant. It contains some UI changes
and code organization.
## TV & DVR
- Uses the "Recordings" library position to order "Recently added in
Recordings" instead of Live TV position
- The times at the top of the TV guide are more distinguishable from
each other
- Removes the duplicate title on the Live TV->Recordings tab
## Other libraries
- Bare-bone support for "Music Video" libraries. Full support for "Music
Video" is work-in-progress in #267, but the libraries should be
browseable now.
- Bare-bone support for "Other" (aka Mixed Movies & TV Shows) libraries.
Note: this type of library is considered [broken and
deprecated](https://jellyfin.org/docs/general/server/media/mixed-movies-and-shows),
so this won't be expanded any further
## Grids
Updates various grid types to use poster vs wide cards. For example,
Favorite TV Episodes will use episode images in a wide card now.
## Issues
Closes#249Closes#271
## Details
Adds support for a few more media remote buttons
Adds support for common controller buttons
### Dev notes
Lifts the playback dialogs to the top level allowing them to be called
from anywhere during playback
## Issues
Closes#260
If playing with transcoding, changing tracks during playback will
continue to transcode instead of possibly switching to direct play.
Also support embedded subtitles that are being delivered externally.
Fixes#256Fixes#257
Reduces the size of the rows on the TV guide allowing for 7-8 rows to
show. Also hide the tab row if scrolled down on the guide.
Move the "watch live" button to be initially focused
Channels are sorted with favorites appearing first
Back button behavior is tweaked to move to start of row first, then top
of the guide, then normal back behavior
Closes#259
Related to #250
`PlaybackViewModel` was becoming very unwieldy at over 1,300 LOC. This
PR breaks it up and simplifies some fields so it's easier to work with.
There are no user facing changes
Adds grid layouts specifically for playlists and collections/boxsets
instead of falling back to the generic grid.
In #238, the generic grid was updated to show 4 columns of 16x9 cards.
Now, collections will use 2x3 (poster) cards (like Movies) and playlists
will use square cards.
This also means collections & playlists have more relevant sort options.
Fixes#243Closes#226
A real implementation for combining the `Continue Watching` and `Next
Up` rows on the home page.
It requires a query for every next up item, so it could become slow
especially for many items and larger servers. The app makes a best
effort to cache the information.
The order is determined by querying each episode in next up to associate
it to its immediately previous episode's last played date. Then both
continue watching & next up items are reversed sorted by the last played
data. So this only makes sense if you watch series in order.
Closes#19
## Details
Adds the logo (if available) to the upper left corner of the playback
controls overlay.
I am still experimenting with how logos can be used on the details
pages. It's problematic because of the variety of colors, eg dark logos
can be hard to see on the dark background.
## Issues
Related to #92
## Screenshot
<img width="1280" height="771" alt="logo_playback Large"
src="https://github.com/user-attachments/assets/c6cb43fe-f3bc-42a4-9ef4-0397267e3073"
/>
- General video library grid now shows 16:9 cards
- Ensures the posters on Movie/TV show grid pages fill the bounds (TVDB
posters are often very slightly wider than 2x3)
- Always crossfade home page backdrop image
Related to #66