-
-
Notifications
You must be signed in to change notification settings - Fork 303
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
Refactor PosterButton
and libraries, good UICollectionView
s, proper orientation handling, and more
#905
Refactor PosterButton
and libraries, good UICollectionView
s, proper orientation handling, and more
#905
Conversation
…y-some-good-ish-collection-views
PosterButton
and good UICollectionView
sPosterButton
, good UICollectionView
s, and better Portrait/Landscape orientation handling
PosterButton
, good UICollectionView
s, and better Portrait/Landscape orientation handlingPosterButton
and libraries, good UICollectionView
s, and better Portrait/Landscape orientation handling
…lly-some-good-ish-collection-views
PosterButton
and libraries, good UICollectionView
s, and better Portrait/Landscape orientation handlingPosterButton
and libraries, good UICollectionView
s, proper orientation handling, and more
I'll check it out soon. |
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.
✅ yep those are changes
@PangMo5 there is no pressure and I can answer any questions. I'll really try to kick this habit of these larger multi-feature encompassing PRs. (I've thought of how I can refactor the video player gestures, but at least that's local to that feature) |
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.
Don't feel pressured by make a large PR. It's fine for me
And It's better if your good work is distributed small and fast, but if anythings helps the project, don't worry about it and do your work.
Thanks for the great work.
Just another huge PR that meant to start small and snowballed into a huge refactor. Honestly, I don't remember everything that I did, but we're here now. 🤷 I'm only going to really highlight user facing features below.
Refactor Libraries and
HStack
sThe initial focus of this work was finally fixing the underlying
UICollectionView
s for libraries. I did not know much about how these views worked prior to this work but I was able to get comfortable with these old and powerful views in depth. My projectsCollectionVGrid
andCollectionHStack
replace the libraries andHStack
implementations. These are far more performant in both memory and developer use.Before (15 Pro)
Layout bugs
Different layout on 15 Pro Max
The layouts are now universal between all iPhones and slightly different on iPads. iPhones have the same number of columns and iPads determine their column count with the (rough) calculation:
floor(screen width / minimum view width)
. I've been able to make layouts that allow a lot of customization and I am still working on some for some other views (like the item "About" view, which now looks a bit out of place).After (15 Pro)
iPad layouts still need some attention, but they look better too.
Layout Menu
There's a new menu for customizing the layout within the library. The list view now allows selecting between the landscape and portrait videos. On iPadOS, you can also select the number of list columns in
[1, 3]
.Layout Menu
New Issues
UICollectionView
andSwiftUI
that cause the views to sometimes redraw themselves (I think). This is evident by some posters going back into the blurh hash view.Filters
This work was all under-the-hood and future filters are quite easy to implement. However tags and years were also added.
Nuke
Major UpdateThe
Nuke
package had a major update that changed how our underlying image views work entirely. There is an outstanding issue that I wasn't able to figure out on item views where the header image isn't being clipped correctly and will slide in.Image bug
Tidbits
Search
andMedia
will now show expected loading and error viewstvOS
tvOS is again an under-developed-for platform. My main focus is on iOS right now but I still implemented the new collection views. There is a weird issue though in my
CollectionVGrid
where the spacing isn't uniform, so that still needs to be worked on. Besides that, there aren't any notable features worked on.Future Work
A lot of work done here lays the foundation for many other library/refresh issues to be closed. That will be my next focus alongside a better user management system. Additionally, the other views that still use the old
CollectionView
need to migrate over toCollectionVGrid
.I've now found a style that I really like in SwiftUI that has allowed me to write things a bit quicker and potentially refactor easier. I've also been commenting a lot more and added more
TODO
s for future work and new bugs.Issues Closed
(or have been tested with this work and no longer are an issue)