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

Enhance Game List with Advanced Filtering Options #113

Merged
merged 1 commit into from
Jun 22, 2024

Conversation

marcusziade
Copy link
Contributor

Close #87

This PR introduces advanced filtering capabilities to the GameListEvo view, improving user experience and game management. Key changes include:

  1. Added a filter bar with options for installed games, platforms, and game sources.
  2. Implemented FilterOptions struct to manage filter states.
  3. Refactored game filtering and sorting logic for better performance and readability.
  4. Updated localization strings to support new filter options.
CleanShot.2024-06-21.at.22.21.50.mp4

@marcusziade marcusziade changed the title Add filtering tools to LibraryView Enhance Game List with Advanced Filtering Options Jun 22, 2024
@marcusziade
Copy link
Contributor Author

marcusziade commented Jun 22, 2024

Other issues mention this view's slow performance. The slowdowns are quite apparent during filtering. After we've worked through these UI improvements, I'm going to look more into multi-threading the code.

@marcusziade marcusziade force-pushed the add-filter-to-library branch from 483f021 to 3cea0f6 Compare June 22, 2024 05:43
@asxrow66 asxrow66 requested a review from vapidinfinity June 22, 2024 06:19
@vapidinfinity
Copy link
Member

@marcusziade Sure thing.
Thanks for this PR, sorting has been something I've planned on looking into 🙏🏾

@vapidinfinity vapidinfinity merged commit 18fc048 into MythicApp:main Jun 22, 2024
@marcusziade marcusziade deleted the add-filter-to-library branch June 22, 2024 10:09
@vapidinfinity
Copy link
Member

vapidinfinity commented Jun 23, 2024

@marcusziade
Instead of adding custom enumerations, it'd be more idea to use existing ones, e.g. GamePlatform instead of Platform, GameType instead of Source.

I would do this myself, but I don't want to break your other open PRs. At the moment, this is preventing me from merging all of your other open PRs.

Sorry about that, especially doesn't help with the git oopsie I made earlier today.

@jeremybosma
Copy link
Contributor

Maybe instead of having this non-optional bar at the top of the library at all times, a filter icon with a popover with these options would be better with some kind of indicator about if there are filters applied or not.

@marcusziade
Copy link
Contributor Author

marcusziade commented Jun 23, 2024

@marcusziade Instead of adding custom enumerations, it'd be more idea to use existing ones, e.g. GamePlatform instead of Platform, GameType instead of Source.

I would do this myself, but I don't want to break your other open PRs. At the moment, this is preventing me from merging all of your other open PRs.

Sorry about that, especially doesn't help with the git oopsie I made earlier today.

If there are existing types, then let's definitely use those. I'll redo and reopen this 👍 @blackxfiied

@marcusziade
Copy link
Contributor Author

marcusziade commented Jun 23, 2024

Maybe instead of having this non-optional bar at the top of the library at all times, a filter icon with a popover with these options would be better with some kind of indicator about if there are filters applied or not.

Would you draw a simple sketch for me? Sounds good, just need to confirm, @jeremybosma

@vapidinfinity
Copy link
Member

@marcusziade
You can create clean-looking dropdowns by using Menus in ZStacks apparently

@jeremybosma
Copy link
Contributor

Maybe instead of having this non-optional bar at the top of the library at all times, a filter icon with a popover with these options would be better with some kind of indicator about if there are filters applied or not.

Would you draw a simple sketch for me? Sounds good, just need to confirm, @jeremybosma

I was thinking a simple popover with apple themed stuff like
IMG_6383

i think this will look much better especially on the non maximized window. The entire interface should feel and utilize more things actually apple products do imo so it feels part of the operating system. Performance also plays a big role in this everywhere around the app.

vapidinfinity added a commit that referenced this pull request Jun 28, 2024
…oduced in #113)

This commit is functional, although the structure is improper. This will not affect the use of Mythic, but will be refactored after my hiatus.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Filter Library, Installed/Not installed filter
3 participants