import 'package:flutter/material.dart'; import 'PageWidgets/Alerts/header.dart'; import 'Sub_Pages/Notifications/Alerts.dart'; import 'Sub_Pages/Notifications/Inbox.dart'; import 'package:teso/providers/user_provider.dart'; import 'package:provider/provider.dart'; import 'package:teso/Classes/TesoUser.dart'; class Notifications extends StatefulWidget { @override _NotificationsState createState() => _NotificationsState(); } class _NotificationsState extends State { // ignore: avoid_init_to_null Color fcurrentColor = null; Color fTextColor1 = Colors.white; Color fcurrentColor1; Color fTextColor2; int _page = 0; PageController _pageController; bool chats = false; @override void initState() { super.initState(); _pageController = PageController(initialPage: _page); fTextColor1 = Colors.white; fTextColor2 = Colors.grey; //setColor(); } void setColor() { setState(() { fcurrentColor = Theme.of(context).colorScheme.secondary; fTextColor1 = Colors.white; }); } void navigationTapped(int page) { _pageController.animateToPage( page, duration: const Duration(milliseconds: 500), curve: Curves.easeInOut, ); switch (page) { case 0: setState(() { fcurrentColor = Theme.of(context).colorScheme.secondary; fTextColor1 = Colors.white; fcurrentColor1 = Theme.of(context).primaryColor; fTextColor2 = Colors.grey; chats = false; }); break; case 1: setState(() { fcurrentColor1 = Theme.of(context).colorScheme.secondary; fTextColor1 = Colors.grey; fcurrentColor = Theme.of(context).primaryColor; fTextColor2 = Colors.white; chats = true; }); break; } } void onPageChanged(int page) { setState(() { this._page = page; }); switch (page) { case 0: setState(() { fcurrentColor = Theme.of(context).colorScheme.secondary; fTextColor1 = Colors.white; fcurrentColor1 = Theme.of(context).primaryColor; fTextColor2 = Colors.grey; chats = false; }); break; case 1: setState(() { fcurrentColor1 = Theme.of(context).colorScheme.secondary; fTextColor1 = Colors.grey; fcurrentColor = Theme.of(context).primaryColor; fTextColor2 = Colors.white; chats = true; }); break; } } @override void dispose() { super.dispose(); } @override Widget build(BuildContext context) { TesoUser user = Provider.of(context, listen: false).currentUser; return Scaffold( appBar: PreferredSize( child: AppBar( backgroundColor: Theme.of(context).primaryColor, title: buildNotficationHeader( context, fcurrentColor, fcurrentColor1, fTextColor1, fTextColor2, navigationTapped, chats, user), ), preferredSize: Size.fromHeight(50)), body: PageView( //physics:, controller: _pageController, onPageChanged: onPageChanged, children: [ Alerts(), Inbox( user: user, ), ], ), ); } }