diff --git a/app/Filament/Resources/GameResource.php b/app/Filament/Resources/GameResource.php index 28d9293832..960e49005f 100644 --- a/app/Filament/Resources/GameResource.php +++ b/app/Filament/Resources/GameResource.php @@ -498,6 +498,31 @@ public static function table(Table $table): Table blank: fn (Builder $query): Builder => $query, ), + Tables\Filters\TernaryFilter::make('has_dynamic_rp') + ->label('Has dynamic rich presence') + ->placeholder('Any') + ->trueLabel('Yes') + ->falseLabel('No') + ->queries( + true: fn (Builder $query): Builder => $query + ->whereNotNull('RichPresencePatch') + ->whereNotIn('ConsoleID', System::getNonGameSystems()) + ->where(function (Builder $query) { + $query->where('RichPresencePatch', 'LIKE', '%@%') + ->orWhere('RichPresencePatch', 'LIKE', '%?%'); + }), + false: fn (Builder $query): Builder => $query + ->whereNotIn('ConsoleID', System::getNonGameSystems()) + ->where(function (Builder $query) { + $query->whereNull('RichPresencePatch') + ->orWhere(function (Builder $query) { + $query->where('RichPresencePatch', 'NOT LIKE', '%@%') + ->where('RichPresencePatch', 'NOT LIKE', '%?%'); + }); + }), + blank: fn (Builder $query): Builder => $query, + ), + Tables\Filters\TernaryFilter::make('duplicate_achievement_badges') ->label('Has stock/recycled achievement badges') ->placeholder('Any')