Commit Graph

40 Commits

Author SHA1 Message Date
zurdi
c6717ee635 Refactor gallery filter components to use toggle buttons for filter states, allowing null values for all filters. Update filter logic in the store and API services to accommodate new states. Enhance UI for better visibility and interaction with filter options in the gallery app. 2025-11-27 12:56:01 +00:00
zurdi
d48be2f37c Merge branch 'master' into feat/rom-filter-multivalue 2025-11-21 14:11:07 +00:00
Georges-Antoine Assi
1c84f84948 globally rename favourite to favorite 2025-10-18 14:26:20 -04:00
Georges-Antoine Assi
341332d98e mark favorites collection explicit 2025-10-18 13:42:03 -04:00
Michael Manganiello
5a1f7d8170 feat: Initial support for multi-value ROM filters
This change converts the existing single-value ROM filter parameters
to support multiple values. Users can now filter ROMs by multiple genres,
franchises, collections, companies, age ratings, regions, and languages by
repeating the respective query parameters in API requests.

At the moment, setting multiple values for a filter will return ROMs
that match any of the provided values (logical OR). A future change can
introduce parameters like `genres_all (boolean)` to allow filtering ROMs
that match all specified values (logical AND).

The frontend has been updated to send single-value filters as arrays
to maintain compatibility with existing UI components. At the moment,
the UI does not support selecting multiple values, but this change
lays the groundwork for it.

NOTE: Breaking API change, as the filter parameters have changed names.
2025-09-09 00:21:55 -03:00
Michael Manganiello
e4e3928d1b misc: Apply import sorting 2025-09-04 11:17:00 -03:00
Georges-Antoine Assi
898f960c96 noload rom metadata on collection 2025-08-22 09:15:03 -04:00
Georges-Antoine Assi
b26abdf9a0 noload some related tables 2025-08-21 23:59:24 -04:00
Georges-Antoine Assi
344702415f joinedload roms on collection 2025-08-21 23:23:38 -04:00
Georges-Antoine Assi
7850cf059f fix loading collections 2025-08-19 21:49:52 -04:00
Georges-Antoine Assi
2a8fec94e6 update smart collection model 2025-07-25 16:27:10 -04:00
Georges-Antoine Assi
f7b030ba10 get backend working sorta 2025-07-22 18:10:12 -04:00
Georges-Antoine Assi
75b8181451 start work on smart collections 2025-07-22 15:49:43 -04:00
Michael Manganiello
252722e3bc misc: Apply pyupgrade changes for Python 3.12 compatibility
Command applied:
```
find ./backend/ -type f -name "*.py" -exec pyupgrade --py312-plus {} \;
```
2025-06-29 12:27:16 -03:00
Georges-Antoine Assi
1cb66e28ec fix removing game from collection 2025-02-27 11:21:51 -05:00
Georges-Antoine Assi
3088e4566c changes from self-view 2025-02-09 11:22:10 -05:00
Georges-Antoine Assi
b829a54d9f fix trunk 2025-02-08 23:21:00 -05:00
Georges-Antoine Assi
22e0c806e1 prefetch rom collections for details 2025-01-29 10:13:02 -05:00
Georges-Antoine Assi
cd724b7d1a migrate collections over to join table 2025-01-28 23:47:09 -05:00
Georges-Antoine Assi
60ec728e55 add option for all 2025-01-28 21:34:57 -05:00
Georges-Antoine Assi
f12ffdf685 add ui option to fetch/show virtual platforms 2025-01-28 11:10:21 -05:00
Georges-Antoine Assi
21d2ce951e more fixes to loading games 2025-01-27 22:29:38 -05:00
Georges-Antoine Assi
5a79200617 bunch o fixes 2025-01-27 21:29:22 -05:00
Georges-Antoine Assi
10fbead892 autogenerate cover art 2025-01-27 20:26:33 -05:00
Georges-Antoine Assi
5dbc1aae0b display virtual collections 2025-01-27 19:14:54 -05:00
Georges-Antoine Assi
dbe4b71c7a super naive appraoch to loading virtual collections 2025-01-27 18:15:52 -05:00
Georges-Antoine Assi
9d8baef9de small tweaks from review 2025-01-15 22:54:35 -05:00
Georges-Antoine Assi
696a1c6122 Merge branch 'master' into rom-hashing-background-task 2025-01-15 21:51:23 -05:00
Michael Manganiello
7825bce7b8 fix: Use proper JSON contains function for PostgreSQL
Fix `json_array_contains_value` function to use the `@>` operator for
checking if a JSON array contains a value in PostgreSQL. This is
necessary because the `has_key` function only works for string values.

Also, remove `get_rom_collections` method, as it was doing the same
thing as `get_collections_by_rom_id`.

Fixes #1441.
2025-01-08 21:07:01 -03:00
Georges-Antoine Assi
2e4e557eef fixup running scans and loading 2024-12-21 12:06:37 -05:00
Georges-Antoine Assi
3fcce6606c complete updating the endpoints and models 2024-12-20 22:41:56 -05:00
zurdi
c6039ccff4 fix: correct filter condition for retrieving collections associated with a ROM ID 2024-12-05 16:16:34 +00:00
zurdi
014427e69f fix: update ROM deletion process to remove associated collections and streamline user data updates 2024-12-05 16:08:45 +00:00
Georges-Antoine Assi
ad3a588631 filter collections for each user 2024-07-25 19:53:44 -04:00
Georges-Antoine Assi
92b23656aa start making collecitons public 2024-07-25 13:49:43 -04:00
Zurdi
2a7def81ac added reactivity to collections 2024-07-03 21:58:58 +02:00
zurdi
59c2a51a6f added collection cover management 2024-07-03 14:31:17 +02:00
Zurdi
23e0a064ab added update collection endpoint 2024-07-02 23:34:50 +02:00
zurdi
1d6ba70080 collections get_roms endpoint added 2024-07-02 14:31:27 +02:00
Zurdi
cc9e05f668 collections migration added 2024-07-01 23:47:15 +02:00