import 'package:flutter/material.dart'; import 'package:mymuseum_visitapp/Components/LanguageSelection.dart'; import 'package:mymuseum_visitapp/Models/visitContext.dart'; import 'package:mymuseum_visitapp/Screens/Home/home.dart'; import 'package:mymuseum_visitapp/app_context.dart'; import 'package:provider/provider.dart'; class CustomAppBar extends StatefulWidget implements PreferredSizeWidget { CustomAppBar({Key? key, required this.title, required this.isHomeButton}); final String title; final bool isHomeButton; final double _preferredHeight = 50; @override State createState() => _CustomAppBarState(); @override Size get preferredSize => Size.fromHeight(_preferredHeight); } class _CustomAppBarState extends State { @override Widget build(BuildContext context) { final appContext = Provider.of(context); final notchInset = MediaQuery.of(context).padding; return AppBar( title: Text(widget.title), centerTitle: true, leading: widget.isHomeButton ? IconButton( icon: Icon(Icons.home), onPressed: () { // Set new State setState(() { VisitAppContext visitAppContext = appContext.getContext(); visitAppContext.configuration = null; Navigator.of(context).pushReplacement(MaterialPageRoute( builder: (context) => const HomePage(), )); }); } ) : null, actions: const [ Padding( padding: EdgeInsets.only(right: 10.0), child: SizedBox( width: 50, height: 50, child: LanguageSelection() ) ), ], flexibleSpace: Container( decoration: const BoxDecoration( gradient: LinearGradient( begin: Alignment.centerRight, end: Alignment.centerLeft, colors: [ /*Color(0xFFDD79C2), Color(0xFFB65FBE), Color(0xFF9146BA), Color(0xFF7633B8), Color(0xFF6528B6), Color(0xFF6025B6)*/ Color(0xFF306bac), Color(0xFF308aae), Color(0xFF309cb0), ], ), ), ), ); } }