navigator method
dynamic
navigator({
Implementation
navigator({
required dynamic pagina,
required BuildContext context,
bool isToShowFiltroNoMeio = false,
required LayoutControllerPackage layout,
}) async {
if (layout.mobile || layout.tablet) {
await Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Material(
color: Colors.transparent,
child: pagina,
),
),
);
} else {
switch (pagina.runtimeType) {
case const (ItensFiltro):
Widget widgetContrucao = Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
Expanded(
child: GestureDetector(
onTap: () {
Navigator.of(context).pop();
},
),
),
Drawer(
width: 500,
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(15),
topLeft: Radius.circular(15),
),
),
child: pagina,
),
],
);
await showDialog<void>(
barrierColor: Colors.black54.withOpacity(0.4),
context: context,
barrierDismissible: false,
builder: (BuildContext context) => widgetContrucao,
);
break;
default:
await Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Material(
color: Colors.transparent,
child: pagina,
),
),
);
}
}
}