import 'package:flisp_app/layout/app_body.dart'; import 'package:flisp_app/layout/app_drawer.dart'; import 'package:flisp_app/layout/app_floating_button.dart'; import 'package:flisp_app/layout/app_navbar.dart'; import 'package:flisp_app/provider/app_provider.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; class MainScreen extends StatefulWidget { const MainScreen({super.key}); @override State createState() => _MainScreenState(); } class _MainScreenState extends State { final GlobalKey _appBodyKey = GlobalKey(); void _onPressedFloatingButton(int index) { _appBodyKey.currentState?.showPageAddDialog(index); } @override Widget build(BuildContext context) { final provider = context.watch(); return Scaffold( drawer: const AppDrawer(), appBar: AppBar( title: Text(provider.currentAppBarTitle), backgroundColor: Theme.of(context).colorScheme.primary, foregroundColor: Theme.of(context).colorScheme.onPrimary, elevation: 0, ), body: Padding( padding: EdgeInsets.all(10), child: AppBody(key: _appBodyKey), ), bottomNavigationBar: AppNavbar(), floatingActionButton: provider.currentTab == 3 ? null : AppFloatingButton( onPressed: () => _onPressedFloatingButton(provider.currentTab), ), ); } }