Skip to content
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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

One-handed mobile control #1011

wants to merge 1 commit into from

Conversation

SteveMicroNova
Copy link
Contributor

@SteveMicroNova SteveMicroNova commented Dec 19, 2024

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:
image

After:
image

Player Page:
Before:
image
image

After:
image
image

Checklist

  • Have you tested your changes and ensured they work?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • If applicable, have you updated the CHANGELOG?
  • Does your submission pass linting & tests? You can test on localhost using ./scripts/test
  • If this is a UI change, have you tested it across multiple browser platforms on both desktop and mobile?

@SteveMicroNova
Copy link
Contributor Author

SteveMicroNova commented Dec 20, 2024

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
Revoking requested reviews and setting as draft

@SteveMicroNova SteveMicroNova marked this pull request as draft December 20, 2024 20:41
@SteveMicroNova SteveMicroNova force-pushed the BottomedControls branch 4 times, most recently from 643dd17 to 9295e0f Compare January 3, 2025 21:30
@SteveMicroNova SteveMicroNova marked this pull request as ready for review January 3, 2025 21:39
@SteveMicroNova
Copy link
Contributor Author

Requesting Klayton and Lincoln as they've both had opinions along the way for this, requesting review from Jason as he requested this feature

@SteveMicroNova
Copy link
Contributor Author

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

Copy link
Contributor

@klay2000 klay2000 left a 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

@SteveMicroNova SteveMicroNova force-pushed the BottomedControls branch 6 times, most recently from 7cc0796 to 58d21f4 Compare January 6, 2025 19:51
Comment on lines +3 to +9
.background-gradient {
background: general.$bg-gradient;
position: fixed;
z-index: -1;
height: 100vh;
width: 100vw;
}
Copy link
Contributor Author

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

@SteveMicroNova SteveMicroNova force-pushed the BottomedControls branch 2 times, most recently from a62b2b9 to def1c5a Compare January 6, 2025 21:42
@SteveMicroNova SteveMicroNova force-pushed the BottomedControls branch 5 times, most recently from 865dd3c to 2dfde95 Compare January 9, 2025 17:57
Comment on lines -33 to +37
@media (min-width: 365px) and (max-width: 425px) {
@media (min-width: 365px) and (max-width: 435px) {
font-size: 2.5rem;
}

@media (min-width: 425px) {
@media (min-width: 435px) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found a specific type of apple phone that needed to fit in this bucket, so I expanded the definition of this everywhere

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I ought to make this an scss var to avoid such wide-touching bucketing changes, but I'm uncertain I want to bloat this PR any more
If you want that change to make it into this one, say so; otherwise I will make another discreet PR shortly after this is merged.

Copy link
Contributor Author

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

… 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

Add primary and secondary color theming support to Cards, use this in the volume dropdown
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants