diff --git a/backend/models/rom.py b/backend/models/rom.py index fa5d3e3e7..fafc00f0b 100644 --- a/backend/models/rom.py +++ b/backend/models/rom.py @@ -136,7 +136,7 @@ class RomMetadata(BaseModel): companies: Mapped[list[str] | None] = mapped_column(CustomJSON(), default=[]) game_modes: Mapped[list[str] | None] = mapped_column(CustomJSON(), default=[]) age_ratings: Mapped[list[str] | None] = mapped_column(CustomJSON(), default=[]) - player_count: Mapped[str | None] = mapped_column(String(length=100), default=1) + player_count: Mapped[str | None] = mapped_column(String(length=100), default="1") first_release_date: Mapped[int | None] = mapped_column(BigInteger(), default=None) average_rating: Mapped[float | None] = mapped_column(default=None) diff --git a/frontend/src/components/Gallery/AppBar/common/FilterDrawer/Base.vue b/frontend/src/components/Gallery/AppBar/common/FilterDrawer/Base.vue index ec76bb90b..e43278e6a 100644 --- a/frontend/src/components/Gallery/AppBar/common/FilterDrawer/Base.vue +++ b/frontend/src/components/Gallery/AppBar/common/FilterDrawer/Base.vue @@ -156,9 +156,9 @@ const onFilterChange = debounce( playerCounts: selectedPlayerCounts.value.length > 0 ? selectedPlayerCounts.value.join(",") - : 1, + : null, playerCountsLogic: - selectedPlayerCounts.value.length > 0 ? playerCountsLogic.value : 1, + selectedPlayerCounts.value.length > 0 ? playerCountsLogic.value : null, }).forEach(([key, value]) => { if (value) { url.searchParams.set(key, value); @@ -359,7 +359,7 @@ function setFilters() { ...new Set(romsForFilters.flatMap((rom) => rom.languages).sort()), ]); galleryFilterStore.setFilterPlayerCounts([ - ...new Set(romsForFilters.flatMap((rom) => rom.metadatum.player_count).sort(), + ...new Set(romsForFilters.map((rom) => rom.metadatum.player_count).filter(Boolean).sort(), ), ]); // Note: filterStatuses is static and doesn't need to be set dynamically