- Format Vue template attributes and event handlers for better readability
- Reorganize component props and event bindings
- Improve error handling and state management in QR scanner
- Add proper aria labels and accessibility attributes
- Refactor camera state handling in WebInlineQRScanner
- Clean up promise handling in WebPlatformService
- Standardize string quotes to double quotes
- Improve component structure and indentation
No functional changes, purely code style and maintainability improvements.
- Add CameraState type and CameraStateListener interface for standardized state handling
- Implement camera state tracking in WebInlineQRScanner:
- Add state management properties and methods
- Update state transitions during camera operations
- Add proper error state handling for different scenarios
- Enhance QR scanner UI with improved state feedback:
- Add color-coded status indicators
- Implement state-specific messages and notifications
- Add user-friendly error notifications for common issues
- Improve error handling with specific states for:
- Camera in use by another application
- Permission denied
- Camera not found
- General errors
This change improves the user experience by providing clear visual
feedback about the camera's state and better error handling with
actionable notifications.
- Add jsQR library for QR code detection and scanning
- Implement WebInlineQRScanner class with comprehensive camera handling
- Add detailed logging throughout scanner lifecycle
- Include error handling and cleanup procedures
- Add blur detection for QR codes
- Implement FPS throttling for performance optimization
- Add device compatibility checks and permission handling
The scanner now provides:
- Camera stream management
- QR code detection with blur prevention
- Performance optimized scanning (15 FPS target)
- Detailed logging for debugging
- Proper cleanup of resources
- Add proper type annotation for onDetect result parameter
- Fix indentation and line wrapping in template
- Remove unused WebInlineQRScanner import
- Clean up button attribute ordering
- Fix whitespace and formatting issues
- Remove unused empty divs