User Interface medium complexity mobile
3
Dependencies
0
Dependents
1
Entities
0
Integrations

Description

Flutter widget integrating device camera and photo library for capturing receipt images within the expense registration flow. Displays a thumbnail preview with delete and retake options before the user finalises the claim. Conditionally rendered based on the receipt requirement flag returned by the Expense Validation Service.

Feature: Receipt Photo Upload

receipt-camera-widget

Responsibilities

  • Launch camera or photo library picker using flutter image_picker
  • Display thumbnail preview with delete and retake controls
  • Pass captured file to Image Compression Service before upload
  • Show upload progress and error state with retry affordance
  • Conditionally render based on expense type receipt requirement flag

Interfaces

captureFromCamera() -> File
selectFromGallery() -> File
deleteReceipt(receiptId: String) -> void
retake() -> File
onUploadComplete(receiptId: String) -> void

Related Data Entities (1)

Data entities managed by this component