import 'package:flisp_app/pages/calendar_page.dart'; import 'package:flisp_app/pages/flisp_page.dart'; import 'package:flisp_app/pages/stats_page.dart'; import 'package:flisp_app/pages/todo_page.dart'; import 'package:flisp_app/provider/app_provider.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; class AppBody extends StatefulWidget { const AppBody({super.key}); @override State createState() => AppBodyState(); } class AppBodyState extends State { final GlobalKey _flispPageKey = GlobalKey(); final GlobalKey _todoPageKey = GlobalKey(); final GlobalKey _calendarPageKey = GlobalKey(); Widget _buildPage(int index) { switch (index) { case 0: return FlispPage(key: _flispPageKey); case 1: return TodoPage(key: _todoPageKey); case 2: return CalendarPage(key: _calendarPageKey); case 3: return StatsPage(); default: return FlispPage(key: _flispPageKey); } } void showPageAddDialog(int index) { if (index == 0) { if (_flispPageKey.currentState != null) { _flispPageKey.currentState!.showAddDialog(); } } else if (index == 1) { if (_todoPageKey.currentState != null) { _todoPageKey.currentState!.showAddDialog(); } } else if (index == 2) { if (_calendarPageKey.currentState != null) { _calendarPageKey.currentState!.showAddDialog(); } } } @override Widget build(BuildContext context) { final appProvider = context.watch(); return _buildPage(appProvider.currentTab); } }