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 static auto getSideFilters(QString side) -> const QString
{ {
if (side.isEmpty() || side == "both") { if (side.isEmpty()) {
return {}; return {};
} }
if (side == "both")
return QString("\"client_side:required\"],[\"server_side:required\"");
if (side == "client") 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") 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 {}; return {};
} }

View File

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