d5f903db98
- Replace BadRequestException with UnauthorizedException for authentication failures in flyer-import and flyer-selection controllers - Add bulk selection endpoint in FlyerSelectionController for creating multiple selections in one request - Update FlyerSelectionModule to include new FlyerSelectionMatcherService and FlyerSelectionSyncController - Extend FlyerSelectionService with createMany method for bulk operations - Add new DTOs for bulk selection and receipt matching functionality - Update ReceiptImportService to accept FlyerSelectionService dependency and track successful rows - Extend SaveReceiptResponse with flyerAutoSync field for receipt-to-flyer matching results - Add new API paths for flyer import and selection endpoints - Update Flutter UI to include Flyer import tab and adjust tab controller length - Add new domain models and repository methods for flyer import functionality - Update test files to include new FlyerSelectionService dependency - Modify .kilo plan documentation to reflect current system architecture
30 lines
735 B
Dart
30 lines
735 B
Dart
import 'package:flutter/material.dart';
|
|
|
|
import 'flyer_import_tab.dart';
|
|
import 'recipe_import_tab.dart';
|
|
import 'receipt_import_tab.dart';
|
|
|
|
/// Main import screen with tabs: Recept | Kvitto | Flyer.
|
|
///
|
|
/// Fas 6a: Recept-fliken är implementerad.
|
|
/// Fas 6b: Kvitto-fliken läggs till i ett senare steg.
|
|
class ImportScreen extends StatefulWidget {
|
|
const ImportScreen({super.key});
|
|
|
|
@override
|
|
State<ImportScreen> createState() => _ImportScreenState();
|
|
}
|
|
|
|
class _ImportScreenState extends State<ImportScreen> {
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return const TabBarView(
|
|
children: [
|
|
RecipeImportTab(),
|
|
ReceiptImportTab(),
|
|
FlyerImportTab(),
|
|
],
|
|
);
|
|
}
|
|
}
|