Images section (#813)

* Add new configuration options
* Refactor scan/clean
* Schema changes
* Add details to galleries
* Remove redundant code
* Refine thumbnail generation
* Gallery overhaul
* Don't allow modifying zip gallery images
* Show gallery card overlays
* Hide zoom slider when not in grid mode
This commit is contained in:
WithoutPants
2020-10-13 10:12:46 +11:00
committed by GitHub
parent df3252e24f
commit aca2c7c5f4
147 changed files with 12483 additions and 946 deletions

View File

@@ -50,6 +50,15 @@ export const useFindGalleries = (filter: ListFilterModel) =>
},
});
export const queryFindGalleries = (filter: ListFilterModel) =>
client.query<GQL.FindGalleriesQuery>({
query: GQL.FindGalleriesDocument,
variables: {
filter: filter.makeFindFilter(),
gallery_filter: filter.makeImageFilter(),
},
});
export const useFindScenes = (filter: ListFilterModel) =>
GQL.useFindScenesQuery({
variables: {
@@ -84,6 +93,23 @@ export const queryFindSceneMarkers = (filter: ListFilterModel) =>
},
});
export const useFindImages = (filter: ListFilterModel) =>
GQL.useFindImagesQuery({
variables: {
filter: filter.makeFindFilter(),
image_filter: filter.makeImageFilter(),
},
});
export const queryFindImages = (filter: ListFilterModel) =>
client.query<GQL.FindImagesQuery>({
query: GQL.FindImagesDocument,
variables: {
filter: filter.makeFindFilter(),
image_filter: filter.makeImageFilter(),
},
});
export const useFindStudios = (filter: ListFilterModel) =>
GQL.useFindStudiosQuery({
variables: {
@@ -132,6 +158,9 @@ export const useFindScene = (id: string) =>
export const useSceneStreams = (id: string) =>
GQL.useSceneStreamsQuery({ variables: { id } });
export const useFindImage = (id: string) =>
GQL.useFindImageQuery({ variables: { id } });
export const useFindPerformer = (id: string) => {
const skip = id === "new";
return GQL.useFindPerformerQuery({ variables: { id }, skip });
@@ -312,6 +341,103 @@ export const useSceneGenerateScreenshot = () =>
update: deleteCache([GQL.FindScenesDocument]),
});
const imageMutationImpactedQueries = [
GQL.FindPerformerDocument,
GQL.FindPerformersDocument,
GQL.FindImagesDocument,
GQL.FindStudioDocument,
GQL.FindStudiosDocument,
GQL.FindTagDocument,
GQL.FindTagsDocument,
GQL.AllTagsDocument,
GQL.FindGalleryDocument,
GQL.FindGalleriesDocument,
];
export const useImageUpdate = (input: GQL.ImageUpdateInput) =>
GQL.useImageUpdateMutation({
variables: input,
update: deleteCache(imageMutationImpactedQueries),
});
export const useBulkImageUpdate = (input: GQL.BulkImageUpdateInput) =>
GQL.useBulkImageUpdateMutation({
variables: input,
update: deleteCache(imageMutationImpactedQueries),
});
export const useImagesDestroy = (input: GQL.ImagesDestroyInput) =>
GQL.useImagesDestroyMutation({
variables: input,
update: deleteCache(imageMutationImpactedQueries),
});
export const useImageIncrementO = (id: string) =>
GQL.useImageIncrementOMutation({
variables: { id },
});
export const useImageDecrementO = (id: string) =>
GQL.useImageDecrementOMutation({
variables: { id },
});
export const useImageResetO = (id: string) =>
GQL.useImageResetOMutation({
variables: { id },
});
const galleryMutationImpactedQueries = [
GQL.FindPerformerDocument,
GQL.FindPerformersDocument,
GQL.FindImagesDocument,
GQL.FindStudioDocument,
GQL.FindStudiosDocument,
GQL.FindTagDocument,
GQL.FindTagsDocument,
GQL.AllTagsDocument,
GQL.FindGalleryDocument,
GQL.FindGalleriesDocument,
];
export const useGalleryCreate = (input: GQL.GalleryCreateInput) =>
GQL.useGalleryCreateMutation({
variables: input,
update: deleteCache(galleryMutationImpactedQueries),
});
export const useGalleryUpdate = (input: GQL.GalleryUpdateInput) =>
GQL.useGalleryUpdateMutation({
variables: input,
update: deleteCache(galleryMutationImpactedQueries),
});
export const useBulkGalleryUpdate = (input: GQL.BulkGalleryUpdateInput) =>
GQL.useBulkGalleryUpdateMutation({
variables: input,
update: deleteCache(galleryMutationImpactedQueries),
});
export const useGalleryDestroy = (input: GQL.GalleryDestroyInput) =>
GQL.useGalleryDestroyMutation({
variables: input,
update: deleteCache(galleryMutationImpactedQueries),
});
export const mutateAddGalleryImages = (input: GQL.GalleryAddInput) =>
client.mutate<GQL.AddGalleryImagesMutation>({
mutation: GQL.AddGalleryImagesDocument,
variables: input,
update: deleteCache(galleryMutationImpactedQueries),
});
export const mutateRemoveGalleryImages = (input: GQL.GalleryRemoveInput) =>
client.mutate<GQL.RemoveGalleryImagesMutation>({
mutation: GQL.RemoveGalleryImagesDocument,
variables: input,
update: deleteCache(galleryMutationImpactedQueries),
});
export const studioMutationImpactedQueries = [
GQL.FindStudiosDocument,
GQL.FindSceneDocument,