import 'package:flutter/material.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart'; import 'package:calculus/common/ui/screens/about.dart'; import 'package:calculus/common/ui/screens/activity.dart'; import 'package:calculus/common/ui/screens/settings.dart'; class ScreenItem { final String code; final Icon icon; final Widget screen; const ScreenItem({ required this.code, required this.icon, required this.screen, }); } class Screen { static const indexActivity = 0; static const screenActivity = ScreenItem( code: 'screen_activity', icon: Icon(UniconsLine.home), screen: ScreenActivity(), ); static const indexSettings = 1; static const screenSettings = ScreenItem( code: 'screen_settings', icon: Icon(UniconsLine.setting), screen: ScreenSettings(), ); static const indexAbout = 2; static const screenAbout = ScreenItem( code: 'screen_about', icon: Icon(UniconsLine.info_circle), screen: ScreenAbout(), ); static Map<int, ScreenItem> items = { indexActivity: screenActivity, indexSettings: screenSettings, indexAbout: screenAbout, }; static bool isIndexAllowed(int screenIndex) { return items.keys.contains(screenIndex); } static Widget getWidget(int screenIndex) { return items[screenIndex]?.screen ?? screenActivity.screen; } }