Removes eyebrow text, watched status chips, and progress bars from the
focused hero component on the TV home screen. The underlying model and
UI are simplified to display only the title and basic metadata.
Introduce a `FocusableItem` interface to unify media item properties (ID, type, text, and images) across `ContinueWatchingItem`, `NextUpItem`, and `PosterItem`.
Key changes:
- Implement automatic initial focus on the first available item in `TvHomeContent`.
- Add `onMediaFocused` callbacks to TV sections and cards to track active items.
- Standardize image URL generation and metadata access in home models.
- Clean up unused previews in `HomeScreen`.
- Add UI tests for TV home content focus behavior.
Adjusts the `HorizontalPager` to use a fixed page size and consistent horizontal padding. This ensures the suggestion cards have a predictable width on wider screens.
- Remove HomeAvatar.kt and replace usages with standard Material Icons
- Update search and profile button sizes to 50dp and icon sizes to 30dp
- Add spacing between top bar actions in HomeTopBar
Replaces the previous application icon with a new version (`purefin_logo_2`) across all density buckets and updates the `AndroidManifest.xml` accordingly.
The `HomeTopBar` is redesigned to feature a new brand-aligned layout:
- Replaced the generic "Watch now" title and subtitle with the Purefin logo and stylized "PureFin" text.
- Added a `PurefinLogo` component to render the raw logo resource.
- Updated the search button styling to use theme-based secondary colors.
Moved title, metadata chips, and hero images into new `MediaHeroSection`, `EpisodeHeroSection`, and `SeriesHeroSection` components across Movie, Episode, and Series screens. This change:
- Increases hero section height to 40% of the screen.
- Adds a vertical gradient overlay to the hero image to improve text legibility.
- Layers title and metadata directly over the hero section instead of placing them in the scrollable content body.
- Cleans up unused imports and experimental annotations in component files.
Introduce a new Suggestions section on the home screen that fetches and
displays recommended content from the Jellyfin API. This replaces the
previous manual featured items logic with a more robust suggestion
system supporting movies, series, and episodes.
Key changes:
- Implement `getSuggestions` in `JellyfinApiClient` to fetch video content.
- Update `AppContentRepository` and its implementation to manage
suggestions, including caching and background refreshing.
- Add `SuggestedItem` models and update `AppViewModel` to expose
suggestions as a state flow.
- Replace `HomeFeaturedSection` with `SuggestionsSection` using a
horizontal pager.
- Implement auto-scrolling logic in `HomeContent` to ensure suggestions
are visible upon initial load if the user hasn't already interacted.
Updated various home screen components (`ContinueWatchingCard`, `HomeBrowseCard`, `NextUpCard`, `HomeSearchResultCard`, etc.) to simplify their appearance and improve readability:
- Removed `tonalElevation` from multiple Surface containers.
- Replaced `surfaceVariant` backgrounds and `onSurfaceVariant` text colors with `surface` and `onSurface` for better contrast.
- Removed the thin border from `HomeBrowseCard`.
- Darkened the gradient overlay on `HomeFeaturedCard` for better text legibility and adjusted the progress bar padding.
- Replace `HomeDiscoveryTopBar` with a simpler `HomeTopBar` using `TopAppBar`.
- Introduce `DefaultTopBar` as a reusable component with integrated search and profile actions.
- Update `HomeScreen` and `LibrariesScreen` to use the new top bar implementations.
- Simplify `HomeContent` background and remove `ContentBadge` from featured and next-up items.
- Refine `HomeSections` UI including library item shapes, padding, and text styling.
- Expose internal preview data functions for broader use in UI previews.
Overhauls the home screen to provide a modern, media-focused discovery
experience. Key changes include:
- Introduced a featured content carousel at the top, highlighting
continue watching items, next up episodes, and library additions.
- Implemented a search overlay with a real-time search bar and grid
results for movies and series.
- Redesigned the top bar with a large collapsible title and subtitle
that dynamically reflects content status.
- Updated sections for "Continue Watching", "Next Up", and libraries
with high-fidelity cards, progress indicators, and better typography.
- Added a dedicated empty state with quick actions for refreshing or
browsing libraries.
- Improved navigation by adding library-specific click actions and
search-to-detail transitions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>