-
Notifications
You must be signed in to change notification settings - Fork 872
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
Make layout full-width #5294
base: development
Are you sure you want to change the base?
Make layout full-width #5294
Conversation
With 2K monitor I think limiting no. of columns to a fixed value on a wide screen makes things appearing too large Original size is 262px and now it's doubled From #5007
I suspect limiting the no. of columns is making this worse? |
Is the suggestion to set it to 6? This default was inspired from Piped, which uses 5. Invidious uses 4. YT uses 6, albeit with a secondary rule of capping the video thumbnail width at 500px, which is only reached on viewports greater than 3200px in width.
Worse how? This behavior was specifically requested by a teammate, who said that they did not like this original feature suggestion because it did not have this behavior implemented. Using larger visual real estate to fit in an arbitrarily large number of columns of videos is a worse and more overwhelming UX. |
This PR reduces the limit on the number of videos that can be displayed At least I disagree this closes #5007, whether piped design should adopted is another thing |
I respect your opinion on a lot of things, Pika, but this is the behavior of every major video app, not just Piped. I'm open to leaving that part of the PR into a separate one if it's requested, but I'm only bundling it in here directly because a teammate explicitly communicated to me that the absence of that feature was what made the previous version of the full-width layout PR an undesirable user experience. I'll check with the issue author on whether they think it resolves the issue on paper, but ultimately, I care about improving the UX more than anything else. |
Hi @deepspaceaxolotl, does this PR adequately address your original issue? The main point of contention is whether it meets your intended definition if it also caps the max number of grid columns to 5 at large viewport sizes. This is behavior adopted from other major video apps to prevent an overload of information:
|
5 columns should be enough for most screens! My main concern was getting to 4-5 columns, so this should work well, thank you everyone! |
I am fine with #5007 as the issue opener agrees |
I cant make it out from the screenshots but does this fix #4535 ? |
No, it does not |
Pending reviews from others especially on mobile side |
I should have included this in my design. I missed this issue, because I don't have a big enough screen. This looks good, but in list view, the "More Options" menu button should be located right where video description ends just like on YouTube. Currently it's a big distance to travel with the mouse. So I guess the description's width should be limited. |
Yes, sorry, I made a mistake. The grid view is perfect. |
6b0d9fb
to
83e79e1
Compare
This comment was marked as outdated.
This comment was marked as outdated.
@kommunarr are there still changes needed? |
Yes, I have some changes locally that are forcing the grid view for the one-column width breakpoint, but the User Playlist mobile view still has some issues. |
…at/add-full-width-layout
This comment was marked as resolved.
This comment was marked as resolved.
The User Playlist mobile view and the User Playlist list view are my white whales on this one that I really don't look forward to debugging. I'm not saying I won't ever return to this, but I'd strongly recommend anyone with more passion on this issue to push commits to this PR if they would like a speedier push on this change. |
Here is a patch with a possible fix for mobile. It removes the padding on playlists page, which might not be what you wanted, but it seems to work. I think this should be done on all of the pages on mobile, since there really isn't enough screen space for all that padding and every card already has its own padding. Profile settings page seems to have the same problem as playlists and it looks like you can fix it the same way (removing margin from page's routerView + changing max size for the cards). But I doubt that's caused by your PR. Trending page overflows too ever since tabs were added to it. |
Can you describe the issue with the list view? |
Thanks @pkrasicki, I added you as a collaborator to my fork for you to push this. |
IIRC, the Playlist page list view broke sometimes when testing at different viewport widths. It may also be affected by the length of the playlist title or description. |
It caused issues on some resolutions. This will need to be investigated at some point but I don't want to deal with that right now
This change means that text-ellipsis no longer works, but it looks like that might have been a mistake. Because when it worked correctly, there was no way for the user to read the full playlist title when it was too long. Now the title and description text will wrap properly and not be cut off. Unfortunately this pushes the search bar to the bottom and causes it to be partially cut off, so that has to be fixed
- playlist title and description now have vertical scrollbars when they are too long, this means that they can always be fully read by the user instead of being cut off - the left panel also has a vertical scrollbar when its content doesn't fit - since this can push the search bar and the buttons to the bottom, they are now sticky - the left panel always has 30% width while in 2 column mode - playlist buttons will now wrap instead of being cut off on small resolutions in list view - in grid view the top bar is no longer sticky since it would obscure too much of the screen with longer titles and descriptions
Head branch was pushed to by a user without write access
I guess one issue is that the right panel doesn't fully extend like it should. There is always a big gap on the right side. Edit: Let's remove the two column layout entirely, focus on improving the one column layout by adding a thumbnail to it and making sure it scales properly. Less code, easier to test and everything will fit nicely on both mobile and desktop without hacks. Maybe we can even try to make it look similar to channel page, since that design works well and users are already familiar with it. |
I agree with much of what you're saying, although I'd recommend separating that out as its own ticket and/or PR. There are a lot of developer opinions about some of these topics, and it's best that we don't hold the initial enhancement hostage to the discussion. |
Also please run |
Head branch was pushed to by a user without write access
Done. The right panel should be fixed now too. |
I tested YouTube a little bit and wrote down what they do in case you prefer to copy their behaviour (kinda like the previous solution did) instead of having these scrollbars. YouTube:
A compromise could be to cut off playlist title (maybe show the full title on hover at least? won't work for mobile users, but it's something), but have a scrollbar for the description just like we do for video description on watch-video page. I suspect that it might be possible to get rid of the third scrollbar (for the panel itself) by rearranging things in the template and changing some styles. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
@kommunarr @pkrasicki are there still things that need to be done? |
Make layout full-width
Pull Request Type
Related issue
closes #5007
closes #5296
Description
Co-authored-by: @pkrasicki
(reusing some of the work from #4379)
Summary:
Note: will have to revalidate the Settings page if #5029 is merged first
Screenshots
List view, large screen:
Grid view, large screen:
Grid view, normal screen:
Testing
Desktop
Additional context
We have so many different
card
classes and styling rules throughout the app, mostly just to setmargin-inline: auto
andmargin-block: 0 60px
ormargin-block: 0 15px
. This is a potential future cleanup opportunity (i.e., including these into the default styling of theft-card
component, or setting atheme
variable based on which version we want to invoke).