Repository navigation
UX review: navigation, watch page, channels, shorts markers and more - #48
Merged
Merged
Conversation
Shorts settings get "Markers": off (default), with videos (taking turns) or only markers. A marker plays its scene's stream in original resolution from the marker and loops to its end (20 s without an end time) through mpv's A-B loop. With preferred tags only markers with one of them come up (Stash's marker tags criterion). Length and orientation don't apply to markers; a performer's shorts stay without them. The feed's items become Shorts (a video or a marker), keyed so a scene and its markers can both appear; "full video" opens a marker's scene at the marker. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SrEMBYJG4y8EjSt16ZWcod
docs/UX_REVIEW.md: UX/UI review with prioritized proposals. Quick wins from it: - Playback errors show an overlay with retry and other quality; failed casts show a snack bar - One screen reader node per tile; play/pause in the mini bar labeled - Menu button on grid tiles and shelf cards - Channel avatars show the initial instead of a person icon - Channel pages show their name in the app bar only after scrolling - Rating color as a theme token per mode; O-counter labeled - Watch later says it is stored on this device Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Home: shorts as a horizontal row, sticky sort and filter chips, skeletons instead of spinners, empty library points to server tasks - Player: rating as one accessible control with 48 dp stars, previous and next with a queue, details grow with the text size - Search: suggestions while typing, other scopes and clear filters when nothing matches - Settings: a page of categories with sub-pages - Login: URL first, credentials only when the server asks for them - Banner when the server can't be reached, reloading lists once it answers again Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Spacing, radius and overlay text tokens; scrim and badge colors in AppColors; buttons, chips, sheets, snack bars and cards styled in the theme - Tests for the main pages at 1.0, 1.5 and 2.0 text scale; shelves, tag tiles and settings dropdowns no longer overflow with large text - Lists keep their items when a reload fails because the server can't be reached - openSettings can open a sub-page (server tasks from the empty home); the search's empty state uses EmptyView's action Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Search: real completions while typing (recent searches, then ranked performer, tag, studio and scene names, typed part bold, fill-in arrow), results keep the last searched term while typing; back and Escape close the list first - Login: optional name already in the first step; first login and "Add server" show the logo, a heading and an intro - Playback errors also show in fullscreen - Lock screen and notification offer previous/next with a queue; on iOS the skip buttons give way to them - Text scale tests also in German and on a 320 dp phone; search headers wrap "see all" instead of overflowing Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Navigation: Home, Shorts, Search, Library and a new You tab (history, watch later, groups, markers, more views, settings) replacing "All"; stored bars move "All" to "You". The library holds only media. A server avatar opens an account sheet instead of the gear - Watch page: title and meta open a description sheet; channel row, one action bar (rating, O-counter, watch later, marker, more), performers, chapters, then up next - Channel pages: collapsing header with Videos, Shorts, Images, Galleries and About tabs; studio shorts and media filtered by performer or studio, also in the demo - Tablets and landscape phones get a navigation rail (extended from 1240 dp); the expanded player covers it Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ge info - Rating sheet spans the full width; the O-counter opens a sheet with - and + instead of counting up with an undo snack bar - The watch page shows one line of tags with "+N" opening the description - Performer and studio pages get a Markers tab - The image viewer's info button shows the image's details Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Player: one-time gesture tips, touch lock in fullscreen, chapter thumbnails, favorite in the channel row, "Open in Stash" - Add scenes to groups or a new group from the scene menu and the player - Subscriptions view, "new since your last visit" on home, a notice when a started server task ends, and a dice for a random scene - Watch history chart (plays per week or day) in the stats - Error views explain the problem with details on demand; a blocked local network on iOS gets its own message - Previews optionally only on Wi-Fi (connectivity_plus); links open in the browser (url_launcher) - Channel tabs switch by swiping, an unzoomed image closes by swiping down, arrow keys move through the search completions - The demo filters by creation date ios/Podfile.lock still needs a pod install on macOS for the new plugins. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- "Subscriptions" is now "Favorites"; the markers under the video are called markers, not chapters - "See all" sits at the end of shelf and search headers - Markers with an end (newer Stash) show as ranges in the seek bar, the marker list and grid, and new markers can get an end - Double-tap seeking adds up like YouTube: 5, 10, 20, 30, 40 s - Picture-in-picture opens in the video's shape, also for portrait videos (Android aspect updates, iOS waits for the video size) - Optional, discreet system notifications when a started server task ends in the background (flutter_local_notifications) ios/Podfile.lock still needs a pod install on macOS for the new plugins. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Conflicts resolved: MarkerQuery keeps the channel filters and gains the shorts' tag filter; the home shelf's horizontal row picks Shorts by key; the demo filters markers by ids, performer, studio and tag. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- The shorts' seek bar covers only a marker's clip (relative times, seeking clamped inside, sprite frames from the absolute time) and playback that leaves the clip jumps back to its start - The seek bar is a slider for screen readers - One ShortTile for the home shelf and the channel tab, with a marker badge - Shorts settings: markers mode as a segmented button; the shorts and scene filter sheets stack their buttons with large text - Ranged markers show their range in the shorts overlay Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Shorts: the marker mode is "Content" (videos only / videos & markers / markers only); "portrait only" applies to markers too; a server that rejects the marker query leaves the videos playing - The markers grid (library and channel tab) plays its markers as shorts, from the start or from a tile's menu - Double-tap seeking can be switched off, its step set (5/10/15/30 s) and the adding up of further taps turned off - Returning from Android picture-in-picture no longer throws: the controls read fullscreen from their own context, and the PiP window no longer counts as turning the phone Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Up to standards ✅🟢 Issues
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements the UX review in
docs/UX_REVIEW.md(quick wins, medium improvements, major refactors and the remaining findings) and merges #46 (shorts: play scene markers) with follow-up improvements.Navigation and structure
Watch page and player
Lists, search, channels
Shorts markers (#46)
Platform
url_launcher,connectivity_plus,flutter_local_notifications(optional, discreet system notifications when a started server task ends in the background). Core library desugaring on Android.ios/Podfile.lockstill needs apod installon macOS for the new plugins; the Swift changes (PiP, notifications delegate) were not compiled locally.Checks
dart analyze: no issues;flutter test: 814 pass (incl. text-scale tests in en/de, phone/tablet, 1.0–2.0×).Closes #42.
🤖 Generated with Claude Code