Skip to content
Snippets Groups Projects
main.dart 2.46 KiB
Newer Older
import 'dart:convert';
Maximilian Betz's avatar
Maximilian Betz committed
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'datamodel.dart';
import 'addevent.dart';
import 'viewevents.dart';
import 'overview.dart';
import 'configuration.dart';
import 'databaseconnector.dart';
Future<void> loadConfiguration() async {
  final ConfigurationStoreInstance configuration = ConfigurationStoreInstance();
  final EventStoreInstance event = EventStoreInstance();
  WidgetsFlutterBinding.ensureInitialized();

  final prefs = await SharedPreferences.getInstance();
  final String? storedConfiguration = prefs.getString('configuration');
  if (storedConfiguration != null){
    debugPrint('Configuration String: ' + storedConfiguration);
    configuration.fromMap(jsonDecode(storedConfiguration));
    debugPrint('Configuration loaded from shared preferences');
  }else{
    debugPrint('Failed to load configuration from shared preferences.');
  }
  final String? currentEvent = prefs.getString('currentEvent');
  if (currentEvent != null){
    debugPrint('Configuration Current Event String: ' + currentEvent);
    event.fromMap(jsonDecode(currentEvent));
    debugPrint('Configuration Current Event loaded from shared preferences');
  }else{
    debugPrint('Failed to load Current Event configuration from shared preferences.');
  }


  //const storage = FlutterSecureStorage();   //TODO: move login information to secure storage
  //Map<String, String> allValues = await storage.readAll();
  //print('Secure Storage: ' + allValues.toString());
Maximilian Betz's avatar
Maximilian Betz committed
  var database = DatabaseInstance();
  await database.connect();  //Do once at start of APP!
  EventStoreInstance events = EventStoreInstance();
  final ConfigurationStoreInstance configuration = ConfigurationStoreInstance();

  //Reset old data
Maximilian Betz's avatar
Maximilian Betz committed
  events.reset();  // TODO: load configuration and events from shared preferences.
  configuration.reset();

Maximilian Betz's avatar
Maximilian Betz committed
  configuration.loginInformation = SensorLogin.fromJson({"mail":"admin","password":"adminadmin"}); //TODO: replace for productive version.
Maximilian Betz's avatar
Maximilian Betz committed
  runApp(MaterialApp(
    title: 'Mobile Event Log',
    theme: ThemeData(
      primarySwatch: Colors.blue,
    ),
    initialRoute: '/',
    routes: {
      '/': (context) => const Overview(),
Maximilian Betz's avatar
Maximilian Betz committed
      '/second': (context) => const AddEvent(),
      '/third': (context) => const ViewEvents(),
      '/forth': (context) => const Configuration(),