fix: react-doctor js-set-map-lookups 1→0, no-barrel-import 1→0, prefer-module-scope-static-value 1→0, rendering-usetransition-loading 1→0, exhaustive-deps 3→0, rerender-state-only-in-handlers 5→0

This commit is contained in:
Nora
2026-06-26 06:52:45 -06:00
parent 3d5988afd0
commit ce2dc8f070
11 changed files with 76 additions and 41 deletions
+2 -4
View File
@@ -61,7 +61,6 @@ export default function QRScanModal({ onClose, onScanResult }: QRScanModalProps)
const [mode, setMode] = useState<ScanMode>("camera");
const [manualInput, setManualInput] = useState("");
const [cameraError, setCameraError] = useState<string | null>(null);
const [isLoading, setIsLoading] = useState(false);
const [cameraStarting, setCameraStarting] = useState(true);
const [detected, setDetected] = useState(false);
const [scanSuccess, setScanSuccess] = useState(false);
@@ -191,7 +190,6 @@ export default function QRScanModal({ onClose, onScanResult }: QRScanModalProps)
e.preventDefault();
const trimmed = manualInput.trim();
if (!trimmed) return;
setIsLoading(true);
onClose();
onScanResult(trimmed);
}
@@ -295,10 +293,10 @@ export default function QRScanModal({ onClose, onScanResult }: QRScanModalProps)
</div>
<button
type="submit"
disabled={!manualInput.trim() || isLoading}
disabled={!manualInput.trim()}
className="w-full rounded-xl bg-stone-800 py-3.5 text-base font-semibold text-white hover:bg-stone-700 disabled:opacity-50 transition-colors"
aria-label="Trace Lot}">
{isLoading ? "Loading..." : <><span className="inline-flex items-center gap-1.5">{Icons.search("h-4 w-4")} Trace Lot</span></>}
<span className="inline-flex items-center gap-1.5">{Icons.search("h-4 w-4")} Trace Lot</span>
</button>
</form>
)}
@@ -85,9 +85,11 @@ export default function StickerPreviewModal({ lot, onClose }: { lot: LotDetail;
const dialogRef = useRef<HTMLDialogElement>(null);
useEffect(() => {
dialogRef.current?.showModal();
const dialog = dialogRef.current;
if (!dialog) return;
dialog.showModal();
return () => {
dialogRef.current?.close();
dialog.close();
};
}, []);