Commit Graph

12 Commits

Author SHA1 Message Date
Johan Jongsma b4cbfa08f5 Fix API endpoints to match inou backend
- /api/v1/auth/send (not /api/auth/send-code)
- /api/v1/auth/verify (not /api/auth/verify)
- Check for token in response (not success: true)
2026-02-01 21:11:56 +00:00
Johan Jongsma 56f86ccc7d Fix API client to use proper JSON endpoints
- Changed to /api/auth/send-code and /api/auth/verify
- Properly check content-type is JSON
- Check for success: true in response
- Backend needs these endpoints added
2026-02-01 21:09:38 +00:00
Johan Jongsma 257cc8e802 Simplify biometric enable - user just logged in, no need to verify again 2026-02-01 21:04:27 +00:00
Johan Jongsma 999f9691ae Fix biometric enable - reset auth state first to force prompt 2026-02-01 19:39:28 +00:00
Johan Jongsma 950f2d976a Add dev mode switch for API URL
devMode = true → dev.inou.com
devMode = false → inou.com
2026-02-01 19:15:08 +00:00
Johan Jongsma 81e779f105 Connect to inou backend API, use Sora font
- Added inou_api.dart with real API calls to /send-code and /verify
- Updated auth_service to use real API
- Added http package
- Changed all text to use Sora font (inou brand font)
- Logo uses Sora w800 'i'
2026-02-01 09:10:12 +00:00
Johan Jongsma a96d92c68e Change login to email + 6-digit OTP flow
- Removed password field
- Enter email → Continue → Enter 6-digit code
- Resend code / Change email options
- Demo code: 123456 (backend integration TODO)
2026-02-01 08:54:40 +00:00
Johan Jongsma d44b3f6a0e Add login screen with biometric setup flow
- Created AuthService for managing login state
- Created LoginScreen with email/password form
- Auto-prompts to enable biometric after first login
- Integrated login flow into main.dart
- Shows splash screen during initialization
- AuthGate wraps main app for biometric re-auth
2026-02-01 08:50:07 +00:00
Johan Jongsma 079cbb07cf Fix: resolve dependency conflicts and align OcrResult API 2026-01-31 19:49:39 +00:00
Johan Jongsma 90d50aa848 feat(scan): Barcode-first scanning strategy
- Add google_mlkit_barcode_scanning dependency
- Scan priority: Barcode → OCR text → Nothing found
- Support UPC-A/E, EAN-8/13, QR, DataMatrix, PDF417, Code128/39
- BarcodeData class with product code detection and NDC hints
- ScanResult with type indicator (barcode|text|empty)
- Updated capture screen with barcode-specific UI:
  - Green overlay for barcodes, blue for text
  - Product code badge for UPC/EAN barcodes
  - Format-specific result display
- Backward compatible legacy API (extractText, getTextBlocks)
2026-01-31 19:48:38 +00:00
Johan Jongsma e8103f1ee9 feat: Add voice input service with speech-to-text
Voice Service (lib/services/voice_service.dart):
- speech_to_text package integration
- Start/stop listening with streaming partial results
- Language selection (en_US default, configurable)
- Error handling (no mic, permission denied, timeout)
- Sound level monitoring for visualizations
- Continuous dictation mode support
- Stream-based reactive API for status/transcript/levels

Voice Input Widget (lib/features/input/voice_input_widget.dart):
- Animated mic button with pulse effect while listening
- Real-time transcript display with copy button
- Waveform visualization responding to sound levels
- Tap to start/stop interactions
- Haptic feedback on interactions
- Compact mode for inline use
- Error display with auto-dismiss

Platform permissions:
- Android: RECORD_AUDIO permission
- iOS: NSMicrophoneUsageDescription, NSSpeechRecognitionUsageDescription

Input screen integration with voice toggle and continuous mode
2026-01-31 19:44:11 +00:00
Johan Jongsma 62e39ab736 Initial inou mobile app setup
- Flutter project created with org com.inou
- Folder structure: core, features (input, webview, settings), services
- Dependencies: webview_flutter, camera, google_mlkit_text_recognition,
  speech_to_text, local_auth, permission_handler
- Basic app scaffold with bottom navigation (Home, Input, Settings)
- Android minSdk set to 24
- iOS deployment target set to 14.0
- Core: config, theme (dark mode), auth service
- Services: OCR, voice, biometrics (placeholder implementations)
- Features: WebView to inou.com/app, fancy input screen, settings
2026-01-31 19:39:33 +00:00