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
+113 -11
View File
@@ -79,12 +79,24 @@
"packageUri": "lib/",
"languageVersion": "3.8"
},
{
"name": "cli_config",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/cli_config-0.2.0",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "clock",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/clock-1.1.2",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "code_builder",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/code_builder-4.11.1",
"packageUri": "lib/",
"languageVersion": "3.7"
},
{
"name": "collection",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/collection-1.19.1",
@@ -97,6 +109,12 @@
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "coverage",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/coverage-1.15.0",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "cross_file",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/cross_file-0.3.5+2",
@@ -115,6 +133,12 @@
"packageUri": "lib/",
"languageVersion": "3.10"
},
{
"name": "dbus",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/dbus-0.7.12",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "fake_async",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/fake_async-1.3.3",
@@ -135,7 +159,7 @@
},
{
"name": "file_picker",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/file_picker-8.3.7",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/file_picker-11.0.2",
"packageUri": "lib/",
"languageVersion": "3.4"
},
@@ -153,9 +177,9 @@
},
{
"name": "flutter_lints",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_lints-4.0.0",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_lints-6.0.0",
"packageUri": "lib/",
"languageVersion": "3.1"
"languageVersion": "3.8"
},
{
"name": "flutter_localizations",
@@ -171,9 +195,9 @@
},
{
"name": "flutter_riverpod",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_riverpod-2.6.1",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_riverpod-3.3.1",
"packageUri": "lib/",
"languageVersion": "2.17"
"languageVersion": "3.7"
},
{
"name": "flutter_test",
@@ -187,6 +211,12 @@
"packageUri": "lib/",
"languageVersion": "3.9"
},
{
"name": "frontend_server_client",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/frontend_server_client-4.0.0",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "glob",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/glob-2.1.3",
@@ -195,9 +225,9 @@
},
{
"name": "go_router",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-14.8.1",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-17.2.2",
"packageUri": "lib/",
"languageVersion": "3.4"
"languageVersion": "3.9"
},
{
"name": "graphs",
@@ -261,9 +291,9 @@
},
{
"name": "lints",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/lints-4.0.0",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/lints-6.1.0",
"packageUri": "lib/",
"languageVersion": "3.1"
"languageVersion": "3.8"
},
{
"name": "logging",
@@ -295,6 +325,18 @@
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "mockito",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/mockito-5.6.4",
"packageUri": "lib/",
"languageVersion": "3.7"
},
{
"name": "node_preamble",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/node_preamble-2.0.2",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "package_config",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/package_config-2.2.0",
@@ -325,6 +367,12 @@
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "petitparser",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/petitparser-7.0.2",
"packageUri": "lib/",
"languageVersion": "3.8"
},
{
"name": "platform",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/platform-3.1.6",
@@ -357,9 +405,9 @@
},
{
"name": "riverpod",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod-2.6.1",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/riverpod-3.2.1",
"packageUri": "lib/",
"languageVersion": "2.17"
"languageVersion": "3.7"
},
{
"name": "shared_preferences",
@@ -409,6 +457,18 @@
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "shelf_packages_handler",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/shelf_packages_handler-3.0.2",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "shelf_static",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/shelf_static-1.1.3",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "shelf_web_socket",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/shelf_web_socket-3.0.0",
@@ -421,6 +481,24 @@
"packageUri": "lib/",
"languageVersion": "3.9"
},
{
"name": "source_gen",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/source_gen-4.2.2",
"packageUri": "lib/",
"languageVersion": "3.9"
},
{
"name": "source_map_stack_trace",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/source_map_stack_trace-2.1.2",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "source_maps",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/source_maps-0.10.13",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "source_span",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/source_span-1.10.2",
@@ -463,12 +541,24 @@
"packageUri": "lib/",
"languageVersion": "3.1"
},
{
"name": "test",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/test-1.30.0",
"packageUri": "lib/",
"languageVersion": "3.7"
},
{
"name": "test_api",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/test_api-0.7.10",
"packageUri": "lib/",
"languageVersion": "3.7"
},
{
"name": "test_core",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/test_core-0.6.16",
"packageUri": "lib/",
"languageVersion": "3.7"
},
{
"name": "typed_data",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/typed_data-1.4.0",
@@ -511,6 +601,12 @@
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "webkit_inspection_protocol",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/webkit_inspection_protocol-1.2.1",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "win32",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/win32-5.15.0",
@@ -523,6 +619,12 @@
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "xml",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/xml-6.6.1",
"packageUri": "lib/",
"languageVersion": "3.8"
},
{
"name": "yaml",
"rootUri": "file:///C:/Users/Nils-JohanGynther/AppData/Local/Pub/Cache/hosted/pub.dev/yaml-3.1.3",