feat: Add receipt import functionality with file upload and parsing

- Implemented receipt file upload in ImportRepository with multipart request handling.
- Created ParsedReceiptItem model for parsed receipt data.
- Added ReceiptImportTab for user interface to upload and review receipts.
- Updated ImportScreen to include the new ReceiptImportTab alongside RecipeImportTab.
- Introduced flutter_bootstrap.js and index.html for web app initialization.
- Added wimp.wasm and flutter.js for enhanced web performance and capabilities.
This commit is contained in:
Nils-Johan Gynther
2026-04-23 19:24:53 +02:00
parent 108c633d0e
commit cd4274575e
44 changed files with 63900 additions and 657 deletions
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'recipe_import_tab.dart';
import 'receipt_import_tab.dart';
/// Main import screen with tabs: Recept | Kvitto.
///
@@ -44,38 +45,9 @@ class _ImportScreenState extends State<ImportScreen>
),
body: TabBarView(
controller: _tabController,
children: [
const RecipeImportTab(),
// Fas 6b — placeholder tills kvitto-flödet är implementerat.
Center(
child: Padding(
padding: const EdgeInsets.all(24),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Icon(
Icons.construction_outlined,
size: 48,
color: Theme.of(context).colorScheme.outline,
),
const SizedBox(height: 16),
Text(
'Kvittoimport kommer snart',
style: Theme.of(context).textTheme.titleMedium,
),
const SizedBox(height: 8),
Text(
'Fotografera eller ladda upp ett kvitto — varorna '
'läggs till i ditt inventarie.',
textAlign: TextAlign.center,
style: Theme.of(context).textTheme.bodyMedium?.copyWith(
color: Theme.of(context).colorScheme.onSurfaceVariant,
),
),
],
),
),
),
children: const [
RecipeImportTab(),
ReceiptImportTab(),
],
),
);