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

✨ Refactor Preferences to use new Ventura-style Settings style #1066

Closed
austincondiff opened this issue Feb 19, 2023 · 12 comments · Fixed by #1213 or #1215
Closed

✨ Refactor Preferences to use new Ventura-style Settings style #1066

austincondiff opened this issue Feb 19, 2023 · 12 comments · Fixed by #1213 or #1215
Assignees
Labels
enhancement New feature or request

Comments

@austincondiff
Copy link
Collaborator

austincondiff commented Feb 19, 2023

Describe the solution you'd like

Now that we have a minimum target of macOS 13.0, we should be using the new Settings appearance introduced in macOS 13.0. This is how this might look

Scope

  • Modify the current Preferences window with the top tabs to be a Settings window with a sidebar listing all items on the left.
  • Convert existing Preferences views to new Settings views.
  • Use mock data if some data is not available.
  • Disable non-functional items.

Mockups

Please note: these mockups are just a concept and go far beyond the scope of this issue which is to convert what is already there. The remainder will be accounted for in future issues.

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

@austincondiff austincondiff added the enhancement New feature or request label Feb 19, 2023
@austincondiff austincondiff moved this from 🆕 New to 📋 Todo in CodeEdit Project Feb 19, 2023
@austincondiff austincondiff changed the title ✨ Move Preferences to use Ventura-style Settings ✨ Preferences to use Ventura-style Settings Feb 21, 2023
@cryptoAlgorithm
Copy link

Hi, this issue looks good and I'd like to pick it up.

@austincondiff austincondiff moved this from 📋 Todo to 🏃‍♂️ In Progress in CodeEdit Project Feb 22, 2023
@austincondiff
Copy link
Collaborator Author

@cryptoAlgorithm Thank you. I just assigned it to you. Please let me know if you have any questions.

@matthijseikelenboom
Copy link
Contributor

I must say that I think that this issue is way too big. It's more an epic then an issue/ticket. Now it's also the responsibility of the one person who is working on it.

I think it should be split up in smaller issues or tasks. Perhaps also a "new-settings" branch for faster iterative development. That way multiple people could be working on it at the same time, provided that there is good communication.

I would split it in building a fundamental window first, then others can join to add tabs to that window. Also @Wouter01 mentioned in the Discord he wants to rework the way we want to store settings, that can also be done on that branch to that branch. If we decide to do that of course.

@cryptoAlgorithm
Copy link

@matthijseikelenboom Thanks for voicing your concerns! I'll be implementing mainly a skeleton UI, basically with placeholder data for most of the settings UI (to match the mockups as closely as possible).

Someone could continue the effort after I'm done with the skeleton UI, as I'm not familiar with how we intend to handle persisting Settings going forward.

@austincondiff
Copy link
Collaborator Author

@matthijseikelenboom as I mentioned…

Please note: these mockups are just a concept and go far beyond the scope of this issue which is to convert what is already there. The remainder will be accounted for in future issues.

Maybe I should have been more specific on what is expected besides “convert what is already there”.

If that is still too big, should I break this up into separate issues by Settings section?

@cryptoAlgorithm
Copy link

@austincondiff, no, i think this issue is good as is. However, it may be prudent to consider adding a disambiguation regarding the scope of this issue, and how we plan to tackle it (i.e. just migrating existing views and using mock data for the rest).

@austincondiff
Copy link
Collaborator Author

@cryptoAlgorithm I just added a Scope section to the issue description. Let me know if it needs adjustment.

@matthijseikelenboom
Copy link
Contributor

@austincondiff It depends, if PreferencesSection and PreferencesContent refactor automatically fix the whole UI for every section, then it's fine I guess. Otherwise, yes, it should be broken up in subtasks in this issue or new issues if you ask me. I'd suggest to at least make every section a separate PR. So a PR for General, a PR for Accounts, a PR for Behavior etc etc.

@Wouter01
Copy link
Member

I'd try to stick to Section as most as possible, and remove the PreferencesSection alltogether. Also, does it make sense to create views for settings that don't exist yet? Most of the time, it's extra work to go ahead and modify existing views to remove the mock data and apply a new data structure. I think it might be better to just stick to an "implementation needed" screen

@cryptoAlgorithm
Copy link

@Wouter01 Good point, maybe I'll just work on the sidebar first and we can think of what to do with the content later on.

@aheze
Copy link

aheze commented Feb 26, 2023

Setting could help - https://github.com/aheze/Setting

image

Lets you build settings with a @ViewBuilder-like syntax. Currently not great on macOS but I'll make it a priority.

@austincondiff
Copy link
Collaborator Author

@aheze we discussed this on Discord. @Wouter01 even threw together a POC and it was definitely not worth using for our uses.

@luah5 luah5 mentioned this issue Mar 31, 2023
6 tasks
@austincondiff austincondiff changed the title ✨ Preferences to use Ventura-style Settings ✨ Refactor Preferences to use new Ventura-style Settings style Apr 1, 2023
@github-project-automation github-project-automation bot moved this from 🏃‍♂️ In Progress to 🏁 Complete in CodeEdit Project Apr 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: 🏁 Complete
6 participants