Scene Filter sidebar (#5714)

* Add Sidebar component
* Add PerformerQuickFilter to Scene filter sidebar
* Add other quick filters
* Add confirmVariant field to AlertModal
* Add SidebarSavedFilterList
* Add sidebar toggle button
* Add data-type attr for criterion option
* Refactor LabeledIdFilter
* Move search input into sidebar
* Save sidebar state in local forage
* Add sidebar rating filter
* Add organised filter
* Open sidebar to / key. Focus search input on sidebar open
* Blur clearable input on escape key
This commit is contained in:
WithoutPants
2025-06-11 15:55:10 +10:00
committed by GitHub
parent a91b9c4d92
commit ed4d17b8f0
33 changed files with 2883 additions and 232 deletions

View File

@@ -2061,8 +2061,8 @@ export const useTagsMerge = () =>
},
});
export const useSaveFilter = () =>
GQL.useSaveFilterMutation({
export const useSaveFilter = () => {
const [saveFilterMutation] = GQL.useSaveFilterMutation({
update(cache, result) {
if (!result.data?.saveFilter) return;
@@ -2070,6 +2070,26 @@ export const useSaveFilter = () =>
},
});
function saveFilter(filter: ListFilterModel, name: string, id?: string) {
const filterCopy = filter.clone();
return saveFilterMutation({
variables: {
input: {
id,
mode: filter.mode,
name,
find_filter: filterCopy.makeFindFilter(),
object_filter: filterCopy.makeSavedFilter(),
ui_options: filterCopy.makeSavedUIOptions(),
},
},
});
}
return saveFilter;
};
export const useSavedFilterDestroy = () =>
GQL.useDestroySavedFilterMutation({
update(cache, result, { variables }) {