-
-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
One-handed mobile control #1011
Conversation
I was far too hasty on this one, on reflection I've noticed that this implementation on the player page literally only works if you don't have volume bars to play with; I only tested on a streamer thus far as that's what I have at my desk |
ac0618a
to
80579b8
Compare
643dd17
to
9295e0f
Compare
Requesting Klayton and Lincoln as they've both had opinions along the way for this, requesting review from Jason as he requested this feature |
To my end, I have noticed that our unsafe volume sliders (that are very easy to bump and immediately set to max) are something of a hazard when you now have to scroll various nested dropdowns My current solution has been to limit the length of the volume bars so that there is ample thumb space for scrolling, as a long term goal I'd like to make the volume sliders are made safer from misinput. I've looked into this somewhat, my current thoughts are to either add a debounce or make it so you have to specifically click and drag the slider knob to change volume on mobile, but I'm undecided |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed IRL:
make this only happen on desktop
try to add some drag rejection to the volume sliders
remove scrolling through zones in groups
7cc0796
to
58d21f4
Compare
.background-gradient { | ||
background: general.$bg-gradient; | ||
position: fixed; | ||
z-index: -1; | ||
height: 100vh; | ||
width: 100vw; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had to remake how the gradient background worked, if you have enough zones when you use the dropdown on the player page you leave the gradient behind as you scroll at 100vh, and at 100% the gradient stretches weird
Now it stays the same no matter where you scroll
a62b2b9
to
def1c5a
Compare
865dd3c
to
2dfde95
Compare
cdb10e4
to
1c52c1a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most every change in this file is to ensure our webapp still has the same form and function even on comically tiny screens like the iPhone 4
f4967dd
to
6d5243d
Compare
web/src/general.scss
Outdated
// meant to be used directly in @media queries, like @media (general.$is-portrait){stuff} | ||
$is-portrait: "max-aspect-ratio: 1/1"; | ||
$is-landscape: "min-aspect-ratio: 1/1"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are functionally equivalent to something like if 100vh > 100vw
and if 100vw >= 100vh
respectively
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is deserved to be reflected as a comment in the code since it was concise and explained it well, so I've done that
5c479aa
to
430fa8e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed before we should probably clean up some of the scaling that uses px right now to make handling smaller screens easier, that's for another pr though.
… mobile Add many CSS breakpoints to ensure elements continue to work on the smallest screens Add touch denial to volume bars based on vertical angle Make pill-scrollbar a global class, but gate to only being on desktop Add primary and secondary color theming support to Cards, use this in the volume dropdown Add viewport-based scss variables
4472a5a
to
7ae4864
Compare
What does this change intend to accomplish?
Move song controls, preset and add buttons to bottom of the screen on mobile
Adjust player page volume dropdown to more visibly include the underlying components, and limit height to make them scrollable without needing to scroll the whole page
Add many CSS breakpoints to ensure elements continue to work on the smallest screens
Home Page:
Before:
After:
Player Page:
Before:
After:
Checklist
./scripts/test