finamp icon indicating copy to clipboard operation
finamp copied to clipboard

[Feature Request] Swipe down gesture on track playing page

Open snppls opened this issue 11 months ago • 5 comments

It would be amazing to add a swipe down gesture on the screen of the currently playing track. At the moment you can swipe right or press the little down arrow at the top of the screen. The little down arrow is not very ergonomic on large screens for such a frequently used button (my thumb can't reach it) and the swipe right gesture is not nearly as easy to perform as a swipe down (it doesn't work reliably on the two different iPhones I've tested it on). Adding swipe down could compliment the right swipe. Attached is a mockup of the suggested swipe down zone.

screen

snppls avatar Mar 02 '24 23:03 snppls

We actually do support swipe down, but it is platform-dependent. On Android, a swipe down gesture closes the screen, but on iOS it's the swipe right. Probably has something to do with how Flutter (the framework we use) tries to always use the platform's default behavior.

I prefer the swipe down myself, but I'm no sure if we can get rid of the swipe right. We might be able to add both on iOS though.
I'll see what I can do!

Chaphasilor avatar Mar 10 '24 17:03 Chaphasilor

Actually, I just took a look at the code and noticed that there should be no such behavior. Swiping down should close the player on all platform, just on iOS there's the system-level swipe-right to go back gesture.
I just asked someone using iOS if that is correct, and they confirmed to me that both swiping right and swiping down closes the player. Now I need to ask, did you ever try to just swipe down to close the player? ^^

Chaphasilor avatar Mar 10 '24 17:03 Chaphasilor

Thanks for your reply. Yes, I have tried swiping down but nothing happens. There doesn't seem to be any point on the screen where swiping down works on the player screen. I am on iOS 17.3.1 using an iPhone Se (3rd Gen).

snppls avatar Mar 10 '24 21:03 snppls

Mea culpa!

I just realised I had disabled gestures from the interactions settings page because I was constantly adding songs to the queue by accident! That explains why it wasn't working. One of the problems with the current way of doing things is that it is possible to add songs to the queue by swiping BOTH left and right on the track. I am constantly adding songs to the queue accidently when I am actually intending to go back to the previous screen. Maybe adding songs to the queue should only be implement by swiping a track from right to left?

There is still an important issue however because while I can now swipe down to close the player, doing so is accompanied by an animation that moves the player from left to right as if I did swipe to the right. This makes for a jarring experience as the animation doesn't correspond to my swiping action. Could this perhaps be looked into?

On the majority of my other music apps swiping down lets you "peek behind" the previous screen. Pulling it all the way down then closes the player fully.

snppls avatar Mar 10 '24 23:03 snppls

I see. Customizing swipe actions is definitely planned, but I'm not sure how feasible it is to support fully disabling a direction. Probably doable, but I wouldn't have added it without your comment ^^

The ~~closing to swipe~~ swiping to close will be a bit harder to pull off, since that ventures into animations and transitions, which I'm not well-versed in yet. I can take a look at some point, but for the time being it'll probably stay like this 😅

Edit: In theory we could make the player screen a bottom sheet, but it is not possible to go directly to a bottom sheet. Maybe that isn't a problem though. I'll play around with it...

Chaphasilor avatar Mar 12 '24 16:03 Chaphasilor