cpd_2022_zi/lib/pages/scanner_page.dart

62 lines
1.9 KiB
Dart
Raw Normal View History

2023-02-17 13:47:52 +01:00
import 'package:flutter/material.dart';
2023-02-27 02:27:42 +01:00
import 'package:provider/provider.dart';
import 'package:smoke_cess_app/models/mood.dart';
2023-02-27 02:27:42 +01:00
import 'package:smoke_cess_app/models/relapse.dart';
2023-02-26 14:10:06 +01:00
import 'package:smoke_cess_app/services/settings_service.dart';
import 'package:smoke_cess_app/services/notification_service.dart';
2023-02-27 17:00:28 +01:00
import 'package:smoke_cess_app/widgets/scanner.dart';
import '../models/sleep.dart';
2023-02-27 02:27:42 +01:00
import '../providers/settings_provider.dart';
import '../globals.dart' as globals;
2023-02-20 19:32:23 +01:00
2023-02-27 17:00:28 +01:00
class ScannerPage extends StatelessWidget {
2023-02-19 17:54:30 +01:00
const ScannerPage({super.key});
2023-02-17 13:47:52 +01:00
2023-02-27 17:00:28 +01:00
void export() async {
List<Mood> moods = await globals.databaseService.getMoodRecords();
List<Sleep> sleeps = await globals.databaseService.getSleepRecords();
List<Relapse> relapses = await globals.databaseService.getRelapseRecords();
for (Mood mood in moods) {
print(mood.toCSV());
}
for (Sleep sleep in sleeps) {
print(sleep.toCSV());
}
for (Relapse relapse in relapses) {
print(relapse.toCSV());
}
}
2023-02-20 19:32:23 +01:00
2023-02-27 17:00:28 +01:00
void loadJSON(BuildContext context) async {
var settingsModel = context.read<SettingsProvider>();
await loadSettingsFromLocalJSON();
settingsModel.initSettings();
NotificationService().setAllNotifications();
}
2023-02-20 19:32:23 +01:00
2023-02-17 13:47:52 +01:00
@override
Widget build(BuildContext context) {
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
2023-02-27 17:00:28 +01:00
const MyScanner(),
2023-02-17 13:47:52 +01:00
const SizedBox(height: 30),
ElevatedButton(
style: ElevatedButton.styleFrom(
textStyle: const TextStyle(fontSize: 20)),
2023-02-27 17:00:28 +01:00
onPressed: () => loadJSON(context),
2023-02-17 13:47:52 +01:00
child: const Text('Read JSON'),
),
const SizedBox(height: 30),
ElevatedButton(
style: ElevatedButton.styleFrom(
textStyle: const TextStyle(fontSize: 20)),
2023-02-27 17:00:28 +01:00
onPressed: export,
child: const Text('Export'),
2023-02-17 13:47:52 +01:00
)
],
));
}
}