Commit Graph

247 Commits

Author SHA1 Message Date
2753a45645 feat(card): introduce MediaImageCard for consistent media display across components 2026-05-02 20:47:35 +02:00
fbcba6fbfc feat(libraries): refactor LibraryListItem and LibraryScreen for improved click handling and layout 2026-05-02 20:28:54 +02:00
dbac1b56c5 feat(topbar): enhance DefaultTopBar to support left and right actions for improved layout flexibility 2026-05-02 20:22:59 +02:00
1f0c192460 feat(colors): update color values for improved contrast and visibility 2026-05-02 19:51:13 +02:00
a0b573cbfe feat(sectionheader): update header color and button text color for improved visibility 2026-05-02 19:48:21 +02:00
1a2687f1a2 feat(topbar): refactor DefaultTopBar to use Surface and improve layout structure 2026-05-02 19:47:33 +02:00
803edcb80c feat(logo): increase logo size for better visibility in top bar and search screen 2026-05-02 19:35:53 +02:00
e55bd320d1 clean(app): delete unused asset files 2026-05-02 19:31:42 +02:00
fe1d449fe0 feat(branding): update app icons and logo for improved visual consistency 2026-05-02 19:28:47 +02:00
f626c9533e refactor: update color definitions for dark theme consistency 2026-05-02 19:06:05 +02:00
6433225014 feat(search): add Jellyfin-backed search 2026-05-02 17:40:56 +02:00
672d8e1d64 feat(search): wire full-screen search with genre browsing 2026-05-02 15:17:06 +02:00
c6fe84654f refactor(search): simplify search component names 2026-05-02 14:20:20 +02:00
0f0c86dcf9 feat(app): integrate search button into top bars and refactor for reusability 2026-05-02 13:15:36 +02:00
557679861a feat(app): add shared bounds key functionality for home media navigation 2026-05-02 13:10:34 +02:00
64b1032b74 feat(app): implement shared transition for search functionality in HomeTopBar and HomeSearchFullScreen 2026-05-02 13:06:21 +02:00
44219d00d8 feat(app): add HomeSearchFullScreen route and integrate search functionality in HomeScreen 2026-05-02 12:26:33 +02:00
cff0b60b31 refactor(player): replace PurefinTextButton with SkipSegmentButton for improved UI consistency 2026-05-02 11:57:42 +02:00
9610124af0 refactor(app): move the skip button to the PlayerControlsOverlay panel 2026-05-02 11:52:36 +02:00
dfaf1079ac fix(app): add spacing between sections in home content layout 2026-05-02 11:42:46 +02:00
f304b1f1f5 feat(tv): add seriesName and seasonIndex to Episode data model 2026-05-01 21:28:33 +02:00
93070ba23f refactor: update IconButton colors in the top bars for improved UI consistency 2026-05-01 11:44:14 +02:00
56c4991467 refactor: update MediaActionButton styles for improved consistency 2026-05-01 11:36:03 +02:00
7c38d22717 refactor: replace Surface with Card components for improved UI consistency 2026-05-01 10:40:45 +02:00
3e3d99f1f2 feat: added HomeSearchFullScreen as a starting point for search screen 2026-04-29 18:04:26 +02:00
72671d9ac3 refactor: remove unused HomeModels components 2026-04-29 17:42:25 +02:00
5595a15820 refactor: replace HomeNavItem with LibraryUiModel in LibrariesScreen and related components 2026-04-29 17:40:51 +02:00
bd5e43114b refactor: extract and rename LibraryUiModel 2026-04-29 17:35:52 +02:00
8cc85d1525 refactor: replace slide transitions with fade transitions in AppScreen 2026-04-29 16:40:12 +02:00
4c986432f6 refactor: extract common part from the HomeTopBar and make component logic reusable 2026-04-27 21:11:25 +02:00
51ffd14804 refactor: reduce maxLines for primary text in HomeBrowseCard 2026-04-26 14:53:57 +02:00
01de2ca19c feat: move subtitles when controls overlay are shown 2026-04-26 12:47:28 +02:00
522c8273d5 feat: add skip segment functionality to player 2026-04-26 12:21:52 +02:00
9906d473c5 refactor: reduce maxLines for improved text display in PlayerQueuePanel 2026-04-25 22:45:36 +02:00
f7f9fc1058 refactor: centralize playable media state
Move playback-related media state into shared model types and make the player consume a single PlayableMedia object instead of separately loading MediaItems, track preferences, resume positions, and media segments.

This updates PlayableMediaRepository to return playable media bundles, seeds the player playlist with the current item, keeps next-up entries in the same model, restores resume/segment handling, and fixes current queue highlighting.

The change also moves track preference models into core-model, centralizes Jellyfin BaseItemDto conversion, removes placeholder movie audio/subtitle fields, bumps the offline Room schema, and updates mobile/TV queue UI code for the playlist model.

Verification:
./gradlew --no-daemon :core-model:compileDebugKotlin :core:compileDebugKotlin :data:compileDebugKotlin :app:compileDebugKotlin
2026-04-25 18:08:23 +02:00
2433ececac refactor: change dependency structure. core should not depend on data. Move repository interfaces to core. Move hilt bindings in the data model. 2026-04-24 19:02:26 +02:00
354314710b refactor: extract core-model into its own module 2026-04-24 18:11:28 +02:00
ab7700d202 refactor: rename ui-common module to core-ui module 2026-04-24 17:43:33 +02:00
7232352014 refactor: rename domain module to core module 2026-04-24 17:42:18 +02:00
57e2983527 refactor: move JellyfinAuthInterceptor and JellyfinNetworkModule to the domain module 2026-04-24 09:36:19 +02:00
a1239c907a refactor: reorganize package structure and remove unused files (remove old core parent package) in domain module 2026-04-24 09:31:30 +02:00
8423e63937 refactor: moved packages from data/core into /data in the data module 2026-04-24 08:37:45 +02:00
3f7c1966af Collapse shared modules into data domain and ui-common 2026-04-23 20:42:59 +02:00
3ae1425eba refactor: Add lazy list state to sections for automatic scrolling to top 2026-04-22 18:31:57 +02:00
d0e5e978be Refactor app navigation to use Navigation3
Integrate `navigation3` into `AppScreen` to manage tab transitions and
backstack state. Replaced manual tab state management with `NavDisplay`
and `NavBackStack`, and added horizontal slide animations for switching
between Home, Libraries, and Downloads screens.
2026-04-20 20:23:40 +02:00
a39581682f Refactor media selection logic to use a unified onMediaSelected callback
Consolidates specific media selection callbacks (`onMovieSelected`, `onSeriesSelected`, `onEpisodeSelected`) into a single `onMediaSelected` handler that accepts a `MediaUiModel`. This simplifies the interface between the ViewModel and UI components across both mobile and TV screens, moving the type-checking logic into `AppViewModel`.
2026-04-20 20:08:38 +02:00
a9b0f771f8 refactor: Use MediaUiModel instead of SuggestedItem 2026-04-20 19:51:13 +02:00
18e352eb1e refactor: change background color of PlayerScreen to black 2026-04-20 18:13:46 +02:00
9545e4d619 refactor: remove forced common PosterCardContent and inline them in the corresponding app ui module 2026-04-20 18:13:25 +02:00
a0086c6f62 refactor: rename imageUrl to primaryImageUrl for consistency across components 2026-04-19 20:08:41 +02:00