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

UI Redesign #81

Open
skjiisa opened this issue Dec 2, 2021 · 3 comments
Open

UI Redesign #81

skjiisa opened this issue Dec 2, 2021 · 3 comments
Labels
enhancement Improve the user experience
Milestone

Comments

@skjiisa
Copy link
Owner

skjiisa commented Dec 2, 2021

Originally the redesign was being done in SwiftUI in #79, but there are too many performance issues. I don't think SwiftUI was designed to draw this many shapes on screen at once. Unless there's something else I'm doing wrong idk.

The more days I would add the laggier it would get, even with LazyVStacks. The current app goes back 1 year, but I kept having to cut that number down as more features were added to the redesign.

My current plan is to more-or-less start over, using the same design, but implementing it in UIKit. Doing it with a UITableView would allow me to reuse the rows for much better performance and allow an indeterminate number of days in the backlog.

@skjiisa skjiisa added the enhancement Improve the user experience label Dec 2, 2021
@skjiisa skjiisa added this to the v1.3 milestone Dec 2, 2021
skjiisa added a commit that referenced this issue Dec 15, 2021
Copied from my SwiftUI-Testing project
skjiisa added a commit that referenced this issue Dec 15, 2021
Manually scrolling back to the right page after rotate because I can't figure out how to get it to preserve scroll position properly
@skjiisa
Copy link
Owner Author

skjiisa commented Mar 7, 2022

skjiisa added a commit that referenced this issue Mar 22, 2022
See https://github.com/Isvvc/Tickmate-PageView
Make the number of days to show a static property of TickController (this will likely change in the future)
Add a hex rub initializer to UIColor
skjiisa added a commit that referenced this issue Apr 23, 2022
Shows the first 4 tracks with accurate tick data. Ticking is not possible.
Create shared instance of TrackController for UIKit views to access.
@skjiisa
Copy link
Owner Author

skjiisa commented Oct 11, 2022

What's still left to be done in feature/#81/page-view

  • Support "multiple" tracks
  • Respond to changes to tracks in a track row
  • Week separators
  • Track buttons
  • Add haptics
  • Load groups
  • Add navigation to the settings and Tracks list
  • Respond to the clock changing to a new day
  • Add the new UI as the root view

Edit: also changes from feature/#81/ui-rewrite-iOS-16, minus the iOS 16-only changes, and I think I've decided to revert those.

skjiisa added a commit that referenced this issue Jan 6, 2023
skjiisa added a commit that referenced this issue Jan 6, 2023
skjiisa added a commit that referenced this issue Jan 6, 2023
skjiisa added a commit that referenced this issue Jan 6, 2023
Track fetch is performed on load and does not respond to updates using an FRC yet
List of groups does not respond to FRC changes either
skjiisa added a commit that referenced this issue Jan 8, 2023
@skjiisa
Copy link
Owner Author

skjiisa commented Jan 9, 2023

OK so I created feature/#81/ui-rewrite-iOS-16 which would set the minimum version to iOS 16 so I could use UIHostingConfiguration on table view cells. This was cuz I was lazy about finishing the UI implementation, and better to get something out that only supports iOS 16+ than not get anything out at all. Well now I'm realizing that the only things I had remaining in the UIKit implementation were responding to group changes and supporting "multiple" Tracks. The header can be loaded using a UIHostingController on iOS 14+. So it might actually not be too bad to revert that one change and go back to supporting iOS 14.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improve the user experience
Projects
None yet
Development

No branches or pull requests

1 participant