main.dart 2,05 ko
Newer Older
Jérémy DEZETREE's avatar
Jérémy DEZETREE a validé
import 'package:flutter/material.dart';
Jérémy DEZETREE's avatar
Jérémy DEZETREE a validé
import 'package:nfc_google_sheet/context/colories.dart';
import 'package:nfc_google_sheet/pages/home_page.dart';
import 'package:nfc_google_sheet/pages/sheet_page.dart';
import 'package:nfc_google_sheet/pages/exam_page.dart';
import 'package:nfc_google_sheet/database/databaseHelper.dart';
import 'package:sqflite/sqflite.dart';
Jérémy DEZETREE's avatar
Jérémy DEZETREE a validé

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(MyApp());
Jérémy DEZETREE's avatar
Jérémy DEZETREE a validé
}

class MyApp extends StatefulWidget {
Jérémy DEZETREE's avatar
Jérémy DEZETREE a validé
  const MyApp({super.key});
  @override
  State<MyApp> createState() => _MyAppState();
Jérémy DEZETREE's avatar
Jérémy DEZETREE a validé
}

class _MyAppState extends State<MyApp> {
  final instanceBDDHelper = DatabaseHelper.instance;
  int _currentIndex = 1;

  @override
  void initState() {
    super.initState();
    initBDD();
  }

  void setCurrentIndex(int index) {
Jérémy DEZETREE's avatar
Jérémy DEZETREE a validé
    setState(() {
      _currentIndex = index;
Jérémy DEZETREE's avatar
Jérémy DEZETREE a validé
    });
  }

  Future<Database> initBDD() async {
    final Database dbInstance = await DatabaseHelper.instance.initDb();
    return dbInstance;
  }

Jérémy DEZETREE's avatar
Jérémy DEZETREE a validé
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
          body: [ExamPage(), HomePage(), SheetPage()][_currentIndex],
          bottomNavigationBar: BottomNavigationBar(
            type: BottomNavigationBarType.fixed,
            currentIndex: _currentIndex,
            selectedItemColor: Colories.selected,
            unselectedItemColor: Colories.unselected,
            backgroundColor: Colories.background,
            selectedFontSize: 14,
            unselectedFontSize: 14,
            iconSize: 24,
            onTap: (index) {
              setState(() {
                _currentIndex = index;
              });
            },
            items: [
              BottomNavigationBarItem(
                  icon: Icon(Icons.file_copy, size: 24), label: "EXAMS"),
              BottomNavigationBarItem(
                  icon: Icon(Icons.home, size: 24), label: "HOME"),
              BottomNavigationBarItem(
                  icon: Icon(Icons.remove_red_eye, size: 24), label: "SHEET"),
            ],
          )),
Jérémy DEZETREE's avatar
Jérémy DEZETREE a validé
    );
  }