From 438636a83637e25264bd557ad2132dbd2004fcfb Mon Sep 17 00:00:00 2001 From: InfiniteStash <117855276+InfiniteStash@users.noreply.github.com> Date: Tue, 31 Mar 2026 22:12:23 +0200 Subject: [PATCH] WIP --- graphql/schema/schema.graphql | 2 +- graphql/schema/types/stash-box.graphql | 13 ++------- internal/api/resolver_mutation_stash_box.go | 2 +- .../Tagger/scenes/StashSearchResult.tsx | 28 +++++-------------- 4 files changed, 12 insertions(+), 33 deletions(-) diff --git a/graphql/schema/schema.graphql b/graphql/schema/schema.graphql index 5d5595932..d9e969fac 100644 --- a/graphql/schema/schema.graphql +++ b/graphql/schema/schema.graphql @@ -566,7 +566,7 @@ type Mutation { "Submit fingerprints to stash-box instance" submitStashBoxFingerprints( input: StashBoxFingerprintSubmissionInput! - ): Boolean! + ): Boolean! @deprecated(reason: "Use submitFingerprintSubmissions") "Submit scene as draft to stash-box instance" submitStashBoxSceneDraft(input: StashBoxDraftSubmissionInput!): ID diff --git a/graphql/schema/types/stash-box.graphql b/graphql/schema/types/stash-box.graphql index c551c9150..88a4f1482 100644 --- a/graphql/schema/types/stash-box.graphql +++ b/graphql/schema/types/stash-box.graphql @@ -30,17 +30,10 @@ enum FingerprintVote { INVALID } -input FingerprintSubmissionInput { - scene_id: ID! - stash_box_scene_id: String! - stash_box_endpoint: String! - vote: FingerprintVote! -} - input StashBoxFingerprintSubmissionInput { - scene_ids: [String!] @deprecated(reason: "use fingerprints") - fingerprints: [FingerprintSubmissionInput!] - stash_box_endpoint: String @deprecated(reason: "use fingerprints") + scene_ids: [String!]! + stash_box_index: Int @deprecated(reason: "use stash_box_endpoint") + stash_box_endpoint: String } input StashBoxDraftSubmissionInput { diff --git a/internal/api/resolver_mutation_stash_box.go b/internal/api/resolver_mutation_stash_box.go index 05012c166..836c40197 100644 --- a/internal/api/resolver_mutation_stash_box.go +++ b/internal/api/resolver_mutation_stash_box.go @@ -15,7 +15,7 @@ import ( ) func (r *mutationResolver) SubmitStashBoxFingerprints(ctx context.Context, input StashBoxFingerprintSubmissionInput) (bool, error) { - b, err := resolveStashBox(nil, input.StashBoxEndpoint) + b, err := resolveStashBox(input.StashBoxIndex, input.StashBoxEndpoint) //nolint:staticcheck if err != nil { return false, err } diff --git a/ui/v2.5/src/components/Tagger/scenes/StashSearchResult.tsx b/ui/v2.5/src/components/Tagger/scenes/StashSearchResult.tsx index 0db62481b..29672e083 100755 --- a/ui/v2.5/src/components/Tagger/scenes/StashSearchResult.tsx +++ b/ui/v2.5/src/components/Tagger/scenes/StashSearchResult.tsx @@ -538,7 +538,7 @@ const StashSearchResult: React.FC = ({ await saveScene(sceneCreateInput, includeStashID, scene.remote_site_id ?? undefined); } - async function handleMarkWrong() { + async function handleReportWrong() { if (!scene.remote_site_id) return; await queueFingerprintSubmission(stashScene.id, scene.remote_site_id, GQL.FingerprintVote.Invalid); onReportWrong?.(); @@ -549,11 +549,11 @@ const StashSearchResult: React.FC = ({ await removeFingerprintSubmission(scene.remote_site_id); } - const isReportedWrong = scene.remote_site_id + const alreadyReported = hasUserReportedFingerprint(scene, stashScene); + const pendingReport = scene.remote_site_id ? isReported(stashScene.id, scene.remote_site_id) : false; - - const alreadyReported = hasUserReportedFingerprint(scene, stashScene); + const isReportedWrong = alreadyReported || pendingReport; function showPerformerModal(t: GQL.ScrapedPerformer) { createPerformerModal(t, (toCreate) => { @@ -985,8 +985,8 @@ const StashSearchResult: React.FC = ({ {scene.remote_site_id && !isReportedWrong && ( @@ -999,7 +999,7 @@ const StashSearchResult: React.FC = ({ )} - {scene.remote_site_id && isReportedWrong && ( + {scene.remote_site_id && pendingReport && ( = ({ )} - {!isActive && scene.remote_site_id && isReportedWrong && ( -
-
- - - -
-
- )} ); };