Merge pull request #3332 from eff3ry/modrinth-filter-tweak

Update Modrinth Client/Server Filters to match Modrinth website & launcher.
This commit is contained in:
Alexandru Ionut Tripon 2025-01-21 23:42:37 +02:00 committed by GitHub
commit fdb4159f2a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 9 deletions

View File

@ -71,13 +71,15 @@ class ModrinthAPI : public NetworkResourceAPI {
static auto getSideFilters(QString side) -> const QString
{
if (side.isEmpty() || side == "both") {
if (side.isEmpty()) {
return {};
}
if (side == "both")
return QString("\"client_side:required\"],[\"server_side:required\"");
if (side == "client")
return QString("\"client_side:required\",\"client_side:optional\"");
return QString("\"client_side:required\",\"client_side:optional\"],[\"server_side:optional\",\"server_side:unsupported\"");
if (side == "server")
return QString("\"server_side:required\",\"server_side:optional\"");
return QString("\"server_side:required\",\"server_side:optional\"],[\"client_side:optional\",\"client_side:unsupported\"");
return {};
}

View File

@ -279,16 +279,17 @@ void ModFilterWidget::onSideFilterChanged()
{
QString side;
if (ui->clientSide->isChecked() != ui->serverSide->isChecked()) {
if (ui->clientSide->isChecked())
side = "client";
else
side = "server";
if (ui->clientSide->isChecked() && !ui->serverSide->isChecked()) {
side = "client";
} else if (!ui->clientSide->isChecked() && ui->serverSide->isChecked()) {
side = "server";
} else if (ui->clientSide->isChecked() && ui->serverSide->isChecked()) {
side = "both";
} else {
// both are checked or none are checked; in either case no filtering will happen
side = "";
}
m_filter_changed = side != m_filter->side;
m_filter->side = side;
if (m_filter_changed)