Commit Graph

16 Commits

Author SHA1 Message Date
Davide De Rosa
ed16617288 Fix iOS 14 not preselecting created profile
When starting from empty profiles.
2022-04-21 14:59:17 +02:00
Davide De Rosa
759b740d62 Simplify ProfilesList with implicit animations
By A LOT.
2022-04-21 14:59:17 +02:00
Davide De Rosa
0a77be6ac5 Animate shortcuts reloading as well 2022-04-21 14:59:17 +02:00
Davide De Rosa
d1c98006d3 Replace ReloadingContent with implicit animations
Infinite loop on init(), but horrible practice in general.

- DonateView
- PaywallView+Purchase

Also show a ProgressView while rows are loading.

DO NOT animate on .products value because animation won't work
if products are empty and stay empty after refresh. Instead,
observe .isRefreshingProducts.

Lastly, to avoid annoying animation when products are actually
available, do not refresh products if non-empty. They certainly
do not change during the application lifecycle.
2022-04-21 11:22:07 +02:00
Davide De Rosa
96b199425f Add ProgressView as overlay when possible
Instead of replacing view entirely (GenericCreditsView).

Make replacement explicit in DebugLogView.

Basically drop View extension.
2022-04-21 11:19:04 +02:00
Davide De Rosa
aefbfaa588 Explicitly hide navigation bar in WelcomeView
May remain stale and empty on profile removal.
2022-04-20 11:50:23 +02:00
Davide De Rosa
e7803fb894 Reuse logic to set Organizer headers
Refine headers sync on profile removal.
2022-04-20 11:50:10 +02:00
Davide De Rosa
fff391702d Use 'Save' in profile renaming
Drop 'Done' label (unused).
2022-04-20 11:50:10 +02:00
Davide De Rosa
dbc007b184 Restore .navigation for SettingsMenu 2022-04-19 23:20:04 +02:00
Davide De Rosa
5b2ccaa110 Reposition Organizer toolbar 2022-04-19 23:02:19 +02:00
Davide De Rosa
3c2480d3b7 Rewrite ProfilesList without ReloadingContent
Make sure to update localHeaders contextually with
removeProfiles() to avoid a second update in onChange(). The
equality check in onChange() guards against setting localHeaders
twice.

Not doing so may break animation in swipe-to-delete due to the
overlapping animations (it certainly does break on iOS 14).
2022-04-19 22:47:06 +02:00
Davide De Rosa
17a383bc9c Redo ReloadingContent with @ObservedObject
Proper way to listen to changes in elements is observing their
parent.
2022-04-19 21:22:13 +02:00
Davide De Rosa
923ea923ab Fix active profile not preselected on launch
Function called multiple times sets isFirstLaunch to true even if
not active profile.
2022-04-19 21:19:43 +02:00
Davide De Rosa
18e9f7cbb5 Clear profile selection if current profile removed
Do it before ForEach rearranges NavigationLink elements, because
it may trigger undesired navigation to a deleted profile.

Restore related assertion.
2022-04-19 21:19:43 +02:00
Davide De Rosa
7128352a9c Fix settings menu not shown on iOS 14
Change to .navigation placement.
2022-04-19 21:19:43 +02:00
Davide De Rosa
bf65f76401 Merge project into iOS + macOS
Share views with both platforms initially. Will split specific
views step by step.
2022-04-19 16:14:23 +02:00