ReceiptCameraWidget
Component Detail
User Interface
medium complexity
mobile
0
Dependencies
0
Dependents
1
Entities
0
Integrations
Description
Native camera and photo library picker widget embedded in the expense form. Displays a preview thumbnail of the captured or selected image and shows a validation indicator when a qualifying receipt has been attached. Blocks form submission and shows an inline warning when the expense amount exceeds the org-configured threshold and no receipt is attached.
receipt-camera-widget
Sources & reasoning
Line 68 states a hard receipt photo requirement for claims over 100 kr (HLF). Line 69 confirms that claims without receipts qualify for auto-approval, establishing the conditional enforcement logic. The Phase 2 roadmap (line 343) groups this under Reiserefusjonshåndtering, placing it at v1.0.
-
docs/source/likeperson.md · line 68Kvitteringsbilde for utlegg over 100 kr (HLF).
-
docs/source/likeperson.md · line 69Automatisk godkjenning under 50 km / uten utlegg, manuell attestering ellers (HLF).
Responsibilities
- Invoke device camera or open photo library picker on user action
- Display compressed image thumbnail after capture or selection
- Enforce receipt-required validation when amount exceeds configured threshold
- Emit attachment events to the parent expense form for state tracking
- Show upload progress and offline-pending status indicators
Interfaces
open(mode: 'camera' | 'library'): Promise<ImageAsset>
validate(amount: number, threshold: number): ValidationResult
onAttach(callback: (asset: ImageAsset) => void): void
reset(): void