modrinth / code

The Modrinth monorepo containing all code which powers Modrinth!
https://modrinth.com
Other
921 stars 171 forks source link

Followed Only filter for Mod Search Page #1709

Closed jiwachow closed 1 year ago

jiwachow commented 1 year ago

Is your feature request related to a problem? Please describe.

It's an optional feature for my and feature requests.
There is no "followed only" filter.

Describe the solution you'd like

Implement a "Followed Only" filter on the mod search page in the filters pane, so that users can see only the mods that they follow. This would be useful for people who follow a lot of mods and want to quickly find the ones they are interested in.

Describe alternatives you've considered

A search bar specifically for followed mods, but this would take more development time and may not be as user-friendly as a filter. A separate page for followed mods, but this may not be as convenient for users as having it integrated into the search page, especially considering other feature requests.

Additional context

This feature request is related to the following feature requests:

Default Filters: Quick Download: Download All Filtered: It is also related to the following bug report:

Incorrect combined filter results: The usefulness of this feature depends on solving the "Incorrect combined filter results" bug, because if the bug is not solved, then the results of combined filters would be incorrect and users may see mods that are not compatible with their instance.

Possible implementation:

Add a new filter to the filters pane called "Followed Only" that is a checkbox. When the checkbox is checked, the search is filtered to show only mods that the user follows. When it is unchecked, the search shows all mods. The filter could be added/removed from the URL so that users can share the URL with others and they will see the same filtered results.

Possible Json structures to hold followed data for account:

STRUCURE 1 ( single table, or table entry for each account )

{
    "account_id": [
        "mod_id_1",
        "mod_id_2",
        "mod_id_3",
        "mod_id_4",
        "and_so_on_more_mod_ids"
    ]
}

EXAMPLE 1:

{
    "zetdota23131235": [
        "oh_the_biomes_youll_go_id",
        "indium_id"
    ]
}

STRUCTURE 2 ( entry of accounts_id that follow a mod in general mod table): For solution 1 from , this could look like:

{
    "mod_name": {
        "account_ids_that_follow" : ["account_id_1", "account_id_2", "account_id_3"],
        "loader_name": {
            "version": {
                "download_link": "download_link",
                "optional_download_links": ["optional_download_link_1", "optional_download_link_2"],
                "dependencies_download_links": ["dependencies_download_link_1", "dependencies_download_link_2"]
            }
        }   
    }
}   
triphora commented 1 year ago

Duplicate of modrinth/.github#28

triphora commented 1 year ago

Worth noting that this was added exactly as requested in modrinth/knossos#662 but closed because "search queries should be reproducible"

jiwachow commented 1 year ago

I understand, given recent developments I think it could have a place, due to modrinth/knossos#927, and I'd like to ask for reopen as well.