refactor: improve checkbox styling and remove popup

- Update photo save checkbox to match app design (border-slate-600, htmlFor label)
- Remove success popup overlay - modal closes immediately after save
- Simplify confirmSingleItem to remove setTimeout logic
- Toast notification used for user feedback instead
This commit is contained in:
2026-04-22 09:17:56 +03:00
parent 99a4cae572
commit ba581744ec
2 changed files with 16 additions and 42 deletions

View File

@@ -11,7 +11,6 @@ export function useAIExtraction(inventory: Item[], onComplete: (itemData: any) =
const [mode, setMode] = useState<'item' | 'box'>('item');
const [isLive, setIsLive] = useState(false);
const [extractedImageBlob, setExtractedImageBlob] = useState<Blob | null>(null);
const [savingIndex, setSavingIndex] = useState<number | null>(null);
const videoRef = useRef<HTMLVideoElement>(null);
const canvasRef = useRef<HTMLCanvasElement>(null);
@@ -159,23 +158,17 @@ export function useAIExtraction(inventory: Item[], onComplete: (itemData: any) =
})
};
// Show success briefly before closing
setSavingIndex(index);
onComplete(newItem);
// Reset UI after brief delay so user sees the success
setTimeout(() => {
if (extractedItems.length > 1) {
const remaining = [...extractedItems];
remaining.splice(index, 1);
setExtractedItems(remaining);
setEditingIndex(null);
} else {
setExtractedItems([]);
setEditingIndex(null);
}
setSavingIndex(null);
}, 1500);
if (extractedItems.length > 1) {
const remaining = [...extractedItems];
remaining.splice(index, 1);
setExtractedItems(remaining);
setEditingIndex(null);
} else {
setExtractedItems([]);
setEditingIndex(null);
}
};
const confirmAllItems = async () => {
@@ -263,7 +256,6 @@ export function useAIExtraction(inventory: Item[], onComplete: (itemData: any) =
existingBoxes,
extractedImageBlob,
setExtractedImageBlob,
savingIndex,
startLiveCamera,
stopLiveCamera,
captureSnapshot,