diff --git a/ui/v2.5/src/components/Tagger/Tagger.tsx b/ui/v2.5/src/components/Tagger/Tagger.tsx index 2fdfd5d8f..99d277318 100755 --- a/ui/v2.5/src/components/Tagger/Tagger.tsx +++ b/ui/v2.5/src/components/Tagger/Tagger.tsx @@ -1,4 +1,4 @@ -import React, { useState } from "react"; +import React, { useEffect, useRef, useState } from "react"; import { Button, Card, Form, InputGroup } from "react-bootstrap"; import { Link } from "react-router-dom"; import { HashLink } from "react-router-hash-link"; @@ -96,7 +96,7 @@ const parseDate = (input: string): string => { if (yyyymmdd !== -1) return ( output.slice(0, yyyymmdd).replace(/-/g, " ") + - output.slice(yyyymmdd, yyyymmdd + 10) + + output.slice(yyyymmdd, yyyymmdd + 10).replace(/\./g, "-") + output.slice(yyyymmdd + 10).replace(/-/g, " ") ); return output.replace(/-/g, " "); @@ -156,7 +156,8 @@ const TaggerList: React.FC = ({ }) => { const [fingerprintError, setFingerprintError] = useState(""); const [loading, setLoading] = useState(false); - const [queryString, setQueryString] = useState>({}); + const queryString = useRef>({}); + const inputForm = useRef(null); const [searchResults, setSearchResults] = useState< Record @@ -177,6 +178,10 @@ const TaggerList: React.FC = ({ const fingerprintQueue = config.fingerprintQueue[selectedEndpoint.endpoint] ?? []; + useEffect(() => { + inputForm?.current?.reset(); + }, [config.mode, config.blacklist]); + const doBoxSearch = (sceneID: string, searchVal: string) => { stashBoxQuery(searchVal, selectedEndpoint.index) .then((queryData) => { @@ -303,7 +308,6 @@ const TaggerList: React.FC = ({ config.mode, config.blacklist ); - const modifiedQuery = queryString[scene.id]; const fingerprintMatch = fingerprints[scene.checksum ?? ""] ?? fingerprints[scene.oshash ?? ""] ?? @@ -329,18 +333,15 @@ const TaggerList: React.FC = ({ ) => - setQueryString({ - ...queryString, - [scene.id]: e.currentTarget.value, - }) - } + defaultValue={queryString.current[scene.id] || defaultQueryString} + onChange={(e: React.ChangeEvent) => { + queryString.current[scene.id] = e.currentTarget.value; + }} onKeyPress={(e: React.KeyboardEvent) => e.key === "Enter" && doBoxSearch( scene.id, - queryString[scene.id] || defaultQueryString + queryString.current[scene.id] || defaultQueryString ) } /> @@ -350,7 +351,7 @@ const TaggerList: React.FC = ({ onClick={() => doBoxSearch( scene.id, - queryString[scene.id] || defaultQueryString + queryString.current[scene.id] || defaultQueryString ) } > @@ -460,7 +461,7 @@ const TaggerList: React.FC = ({ } return ( -
+
@@ -522,7 +523,7 @@ const TaggerList: React.FC = ({ {loadingFingerprints && }
- {renderScenes()} +
{renderScenes()}
); };