I am building a flutter web app. I have a widget which I control with cubit, depending on if the user is logged in or not. If the user is logged in, I displa his profile picture as a dropdown button, and if he selects option A i want to push him to a different page. For some reason, the Navigator isn't doing anything. This is the code for my dropdown button:
MouseRegion(
cursor: SystemMouseCursors.click,
child: DropdownButton(
underline: SizedBox.shrink(),
icon: SizedBox.shrink(),
hint: CircleAvatar(
backgroundImage: NetworkImage(user.photoURL.toString()),
),
onChanged: (value) {
setState(() {});
},
items: [
DropdownMenuItem(
onTap: () {
print('tap');
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (context) => UserPage(user)));
},
value: dropdownValue,
child: Row(
children: [Text('a'), Icon(Icons.ac_unit)],
)),
DropdownMenuItem(
value: menuItem,
child: Row(
children: [Text('b'), Icon(Icons.access_alarms)],
))
],
),
)
This is the code for the page I want to push to:
import 'package:ez_user_side/cubit/cubit/sign_in_cubit.dart';
import 'package:ez_user_side/pages/page_components/Menu.dart';
import 'package:ez_user_side/pages/page_components/colors.dart';
import 'package:ez_user_side/pages/page_components/right_side.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:ez_user_side/pages/page_components/user_middle.dart';
class UserPage extends StatefulWidget {
final User user;
UserPage(this.user);
@override
_UserPageState createState() => _UserPageState();
}
class _UserPageState extends State<UserPage> {
@override
Widget build(BuildContext context) {
return Container(
child: SizedBox(
width: MediaQuery.of(context).size.width / 100 * 13.46,
child: Row(
children: [
Menu(),
Container(
color: Colors.red,
),
AccountTab()
],
)),
);
}
}
Thank you for your help!