import 'package:flutter/material.dart';
import 'datamodel.dart';
import 'addevent.dart';
import 'editevent.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();

  loadVersionInfo();  //In oder to display load version information.

  // Load conf and last event fields from shared preferences to prefill UI
  await configuration.loadFromSharedPrefs();
  await event.loadFromSharedPrefs();

  var database = DatabaseInstance();
  await database.connect();  //Do once at start of APP!
}

void main() {
  loadConfiguration();

  runApp(MaterialApp(
    title: 'Mobile Event Log',
    theme: ThemeData(
      //DAM Arctic: Color.fromRGBO(0x00, 0xAF, 0xB9, 1),
      //DAM Ocean: Color.fromRGBO(0x0F, 0x1E, 0x50, 1),
      //Feedback Background: Color.fromRGBO(0xCE, 0xED, 0xEB, 1),
      //Feedback Text: Color.fromRGBO(0x57, 0x82, 0x7E, 1),

      primarySwatch: Colors.blue,


    ),
    initialRoute: '/',
    routes: {
      '/': (context) => const Overview(),
      '/second': (context) => const AddEvent(),
      '/third': (context) => const ViewEvents(),
      '/forth': (context) => const Configuration(),
      '/fifth': (context) => const EditEvent(),
    },
  ));
}