Commit Graph

216 Commits

Author SHA1 Message Date
aa00748923 implement click handling for "Continue Watching" items
- Add `BaseItemKind` type to `ContinueWatchingItem` model.
- Update `HomePageViewModel` to populate the item type.
- Implement click logic in `HomeSections` to navigate to movie or series details based on the item type.
2026-01-18 14:38:05 +01:00
ae02536ac6 implement episode details screen and ViewModel
- Create `EpisodeScreen` and `EpisodeCard` components with adaptive layouts for wide and narrow viewports.
- Implement `EpisodeScreenViewModel` to fetch "Next Up" episode data using the Jellyfin API.
- Add `EpisodeUiModel` and `CastMember` data classes for content representation.
- Develop custom UI components including `EpisodeHero`, `PlaybackSettings`, `CastRow`, and `EpisodeTopBar`.
- Define a dedicated color palette for the episode view in `EpisodeColors.kt`.
- Integrate navigation to the player activity from the play buttons.
2026-01-18 14:24:54 +01:00
f7ce63e50c implement playback navigation in MovieScreen
- Add `id` field to `MovieUiModel` and populate it from the Jellyfin item.
- Update `PlayButton` in `MovieComponents` to launch `PlayerActivity` with the selected media ID.
- Integrate `MovieScreenViewModel` into `PlayButton` to access current movie data via `collectAsState`.
2026-01-18 13:38:11 +01:00
c5c2c105ee implement Navigation 3 and Movie Details screen
- Update Android Gradle Plugin to 8.9.1 and target SDK to 36.
- Integrate `androidx.navigation3` for Compose-based navigation management.
- Implement a centralized `NavigationManager` and `Route` system (supporting `Home` and `Movie` routes).
- Add a comprehensive Movie Details screen featuring hero images, synopsis, metadata chips, and cast lists.
- Refactor `HomePage` and related components into a dedicated `hu.bbara.purefin.app.home` package.
- Enhance `JellyfinApiClient` with methods to fetch item details and "next up" episodes.
- Update `PurefinActivity` to use `NavDisplay` for handling app navigation and backstack.
- Setup Hilt modules for providing navigation-related dependencies.
2026-01-18 13:34:15 +01:00
fd100816cc implement Media3 ExoPlayer for video playback
- Add Media3 UI, ExoPlayer, and Compose dependencies.
- Implement `PlayerActivity` with landscape orientation for video playback.
- Create `PlayerViewModel` to manage ExoPlayer lifecycle and media loading via Hilt.
- Define `VideoPlayerModule` to provide a configured `ExoPlayer` instance with tunneling and custom load control.
- Extend `JellyfinApiClient` to fetch media sources and video stream URLs.
- Update `ContinueWatchingCard` to launch `PlayerActivity` when the play button is clicked.
- Enforce portrait orientation for the main application and filter duplicate items in `HomePageViewModel`.
2026-01-18 02:09:11 +01:00
6529b109f8 Enhance library item handling by adding isEmpty property and filtering out empty libraries from the HomeContent 2026-01-17 22:34:19 +01:00
71080198c4 Only show the latest media on the HomePage 2026-01-17 22:21:44 +01:00
3bd8d423d2 Fix progress bar 2026-01-17 18:10:36 +01:00
876bc03696 Add configuration check for API client and improve URL handling 2026-01-17 17:57:46 +01:00
249540be28 Refactor image loading configuration and improve item key handling in lists 2026-01-17 17:54:04 +01:00
625453692b Fix login screen bug by adding indirection between DataStore and viewModel 2026-01-17 17:30:03 +01:00
f979d1b68f Added image loading with coil image cache to HomePage 2026-01-17 17:19:52 +01:00
a05497c7bc Added HomePage Loading without Image loading 2026-01-17 15:04:34 +01:00
3fd571824f implement Hilt, DataStore, and Jellyfin SDK
- Setup Hilt for dependency injection and KSP for annotation processing.
- Add DataStore for user session management with JSON serialization.
- Integrate Jellyfin SDK and create a basic `JellyfinApiClient`.
- Replace `MainActivity` with `PurefinActivity` featuring a login flow and a placeholder home screen.
- Implement custom UI components: `PurefinComplexTextField`, `PurefinPasswordField`, and `PurefinTextButton`.
- Update version catalog with new dependencies and downgrade SDK versions to 35.
2026-01-16 19:47:34 +01:00
d536c42d65 initial android project 2026-01-16 19:47:33 +01:00
Barnabás Balogh
e35bda45b4 Initial commit 2026-01-16 19:44:53 +01:00