import 'package:flutter/material.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart'; import 'package:puzzlegame/ui/screens/page_about.dart'; import 'package:puzzlegame/ui/screens/page_game.dart'; import 'package:puzzlegame/ui/screens/page_settings.dart'; class MenuItem { final Icon icon; final Widget page; const MenuItem({ required this.icon, required this.page, }); } class Menu { static const indexGame = 0; static const menuItemGame = MenuItem( icon: Icon(UniconsLine.home), page: PageGame(), ); static const indexSettings = 1; static const menuItemSettings = MenuItem( icon: Icon(UniconsLine.setting), page: PageSettings(), ); static const indexAbout = 2; static const menuItemAbout = MenuItem( icon: Icon(UniconsLine.info_circle), page: PageAbout(), ); static Map<int, MenuItem> items = { indexGame: menuItemGame, indexSettings: menuItemSettings, indexAbout: menuItemAbout, }; static bool isIndexAllowed(int pageIndex) { return items.keys.contains(pageIndex); } static Widget getPageWidget(int pageIndex) { return items[pageIndex]?.page ?? menuItemGame.page; } static int itemsCount = Menu.items.length; }