edde746
91c23786f2
refactor: reduce model and focus boilerplate
2026-05-06 00:26:44 +02:00
edde746
ed4be7b96d
refactor: strip obvious comments
2026-05-04 22:40:18 +02:00
edde746
876a44b244
feat(tvos): add virtual keyboard input
2026-05-03 01:32:58 +02:00
edde746
244b291255
refactor: share controller disposal and Plex DTO parsing
2026-05-02 09:43:08 +02:00
edde746
31d2d9dc98
feat: jellyfin
2026-05-01 01:20:36 +02:00
edde746
52b70a0080
perf(mediaquery): use scoped accessors (sizeOf, paddingOf, etc.)
2026-04-25 12:30:53 +02:00
edde746
e4e8299981
refactor: showLoadingDialog helper, json_serializable for plex_home
2026-04-25 03:25:09 +02:00
edde746
d0a93d57dd
refactor: codebase review cleanup
2026-04-25 03:16:11 +02:00
edde746
2479e1faaa
feat: tvos support
2026-04-24 14:11:24 +02:00
edde746
431c20f817
feat: match/unmatch metadata
2026-04-23 19:02:14 +02:00
edde746
c10cf55f2d
feat: transcoding
2026-04-22 21:07:12 +02:00
edde746
eb49ead83b
fix: paginate collection/playlist/person endpoints
...
close #903
2026-04-21 21:51:20 +02:00
edde746
ee020d81bd
refactor: trakt/download hardening and cleanup sweep
2026-04-21 13:57:03 +02:00
edde746
a715f4e26b
feat: collection/playlist sync rules
2026-04-19 17:45:03 +02:00
edde746
3da51f9d64
chore: pre-commit ci hook, dart format
2026-04-18 12:40:35 +02:00
edde746
360741674d
feat: sync rules for downloads
...
close #867
2026-04-16 12:52:48 +02:00
edde746
d0934295b0
feat: download all playlist items
...
close #241
2026-04-08 12:37:03 +02:00
edde746
8e7431e7e5
feat: download options picker for series/seasons
2026-04-07 22:59:35 +02:00
edde746
533472299a
feat: add search filter to collection selection dialog
...
close #784
2026-04-02 16:38:37 +02:00
edde746
fc7892daed
fix: option picker dialog focus for TV/keyboard nav
2026-04-01 06:30:08 +02:00
edde746
1a96d2b418
feat: download version picker with smart series matching
...
close #767
2026-03-31 04:46:09 +02:00
edde746
ddb157809a
feat: play version context menu option
2026-03-30 08:03:39 +02:00
edde746
0bb200a785
feat: play from beginning context menu option
...
close #761
2026-03-27 17:43:15 +01:00
edde746
4f736c555b
fix: make PlexMetadata type/key/title nullable for folder items
...
Plex API returns Directory entries without type field, causing
TypeError crash in fromJson. Made fields nullable and migrated
callers to use mediaType enum and displayTitle getter instead
of raw string access.
2026-03-14 05:40:14 +01:00
edde746
c062dd944e
feat: inline season tabs and d-pad focus improvements
2026-03-12 00:57:51 +01:00
edde746
5538e0627b
refactor: remove SeasonDetailScreen, unify into MediaDetailScreen
...
Extract EpisodeCard to its own widget file. MediaDetailScreen now handles
isSeason by showing episodes directly, with proper watch state tracking,
deletion handling, and D-pad focus navigation. Hide empty overview sections.
2026-03-11 23:08:39 +01:00
edde746
4681d60850
fix: hide admin actions from non-admin users
...
close #677
2026-03-11 18:18:27 +01:00
edde746
6daf77c890
feat: convert settings dialogs to platform-adaptive menus
...
Replace AlertDialog-based selection dialogs with popup dropdowns on
desktop/TV and bottom sheets on mobile, matching the context menu
pattern. Fix popup background blending into cards by tinting surface.
2026-03-10 01:18:33 +01:00
edde746
57420e51cf
fix: lazy client fetch in context menu
2026-03-08 19:03:03 +01:00
edde746
47f2afb665
feat: bottom sheet polish
2026-03-02 21:24:53 +01:00
edde746
3b2e278868
fix: hide redundant items in context menu
2026-03-02 20:42:47 +01:00
edde746
0e84ce9166
fix: desktop context menu overflow
2026-02-28 15:00:59 +01:00
edde746
9e0c3e7b68
fix: improve delete-from-server button safety
...
Rename "Delete" to "Delete from server" with distinct icon and
always-red styling to prevent accidental server deletions.
Closes #568
2026-02-27 14:49:47 +01:00
edde746
d1d5b808bb
fix: reduce widget tree depth
2026-02-24 02:40:04 +01:00
edde746
e23f472d78
refactor: centralize globalKey construction via buildGlobalKey()
2026-02-23 17:53:20 +01:00
edde746
8f50da4a75
fix: resolve all dart analyze warnings
...
- Migrate RadioListTile to RadioGroup API (Flutter 3.32+)
- Guard BuildContext usage across async gaps
- Use const BorderRadius.all / EdgeInsets.all constructors
- Extract nested ternaries into helpers
- Prefer .first over [0], ??= over if-null assignment
- Prefix unused FocusNode params with _
- Add library directive for dangling doc comments
2026-02-23 13:50:56 +01:00
edde746
a599920ab4
fix: overlay sheet theme and scope on mobile
2026-02-23 13:00:42 +01:00
edde746
edbe2a06be
refactor: deduplicate sheet, key handler, and service patterns
2026-02-23 10:25:57 +01:00
edde746
4eb55885f7
feat: metadata editing
...
close #338
2026-02-22 17:56:13 +01:00
edde746
7f8d4c7946
fix: dpad focus for dialogs and buttons
2026-02-22 14:50:59 +01:00
edde746
1e6a1af1cf
feat: add user star ratings
...
close #411
2026-02-20 09:57:44 +01:00
edde746
9e7c66f66a
refactor: migrate bottom sheets to overlay system
2026-02-19 00:18:35 +01:00
Amy Jeanes
56b7cb842e
show mark as unwatched for mid progress items
2026-02-17 01:24:07 +00:00
edde746
04438c8e45
refactor: code quality & format
2026-02-15 04:07:09 +01:00
edde746
6f027f1015
fix: notify season screen when download is deleted
2026-02-14 18:37:28 +01:00
edde746
86a989a2f2
fix: open downloaded videos in external player on Android
2026-02-14 18:26:05 +01:00
Micah Morrison
336da4c110
Fix the colors of the delete buttons
2026-02-13 20:07:07 -05:00
edde746
03907db6c4
feat: external player support
...
close #388
2026-02-11 14:59:52 +01:00
edde746
6e9b78e5b5
fix: missing translations, simplify translations
2026-02-10 21:37:27 +01:00
edde746
e6fef26e8e
fix: suppress stray back KeyUp globally via NavigatorObserver
2026-02-08 11:57:19 +01:00