import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:provider/provider.dart';

import 'package:wordguessing/provider/data.dart';
import 'package:wordguessing/screens/game_pick_image.dart';
import 'package:wordguessing/screens/game_pick_word.dart';
import 'package:wordguessing/screens/home.dart';
import 'package:wordguessing/utils/tools.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp])
      .then((value) => runApp(const MyApp()));
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider(
      create: (BuildContext context) => Data(),
      child: Consumer<Data>(builder: (context, data, child) {
        return MaterialApp(
          title: 'Jeux de mots et lettres',
          theme: ThemeData(
            primarySwatch: Colors.blue,
          ),
          home: const Home(),
          onGenerateRoute: (settings) {
            switch (settings.name) {
              case '/game-pick-word':
                return MaterialPageRoute(builder: (context) => const GamePickWordPage());

              case '/game-pick-image':
                return MaterialPageRoute(
                  builder: (context) => const GamePickImagePage(),
                );

              default:
                printlog("Unknown menu entry");
            }

            return null;
          },
        );
      }),
    );
  }
}