added categories, import export, settings

This commit is contained in:
davmar
2026-08-29 16:45:27 +02:00
parent 2a5a922aab
commit 732a0dc14a
30 changed files with 3700 additions and 167 deletions
+37 -8
View File
@@ -3,7 +3,8 @@ library;
import 'package:flutter/material.dart';
import 'scan_screen.dart';
import 'home_shell.dart';
import 'services/app_settings.dart';
import 'services/product_repository.dart';
import 'utils/app_theme.dart';
import 'utils/constants.dart';
@@ -13,20 +14,48 @@ void main() {
runApp(ReceipityApp());
}
class ReceipityApp extends StatelessWidget {
class ReceipityApp extends StatefulWidget {
ReceipityApp({super.key, ProductRepository? repository})
: repository = repository ?? ProductRepository();
final ProductRepository repository;
@override
State<ReceipityApp> createState() => _ReceipityAppState();
}
class _ReceipityAppState extends State<ReceipityApp> {
late final AppSettings _settings;
@override
void initState() {
super.initState();
_settings = AppSettings(widget.repository);
_settings.addListener(_onSettings);
_settings.load();
}
@override
void dispose() {
_settings.removeListener(_onSettings);
_settings.dispose();
super.dispose();
}
void _onSettings() => setState(() {});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: kAppName,
debugShowCheckedModeBanner: false,
theme: AppTheme.light(),
darkTheme: AppTheme.dark(),
home: ScanScreen(repository: repository),
return SettingsScope(
settings: _settings,
child: MaterialApp(
title: kAppName,
debugShowCheckedModeBanner: false,
theme: AppTheme.light(),
darkTheme: AppTheme.dark(),
themeMode: _settings.darkMode ? ThemeMode.dark : ThemeMode.light,
home: HomeShell(repository: widget.repository),
),
);
}
}