3fa76cc74b
- Stop camera scanner (stopScanning) BEFORE making the API call in handleBarcode — active camera stream on mobile browsers can throttle concurrent fetch requests, causing the lookup to hang indefinitely - Add 15s AbortController timeout to the api() wrapper so any network issue shows 'Request timed out — check your connection' instead of hanging forever on 'looking up...' - Both fixes together ensure the barcode lookup never hangs