import 'dart:async'; import 'package:flutter/material.dart'; class RouterUtil { static Future router(BuildContext context, String pageName, [Object? arguments]) async { return Navigator.of(context).pushNamed(pageName, arguments: arguments); } static Future push( BuildContext context, MaterialPageRoute route) { return Navigator.of(context).push(route); } static Object? routerArgs(BuildContext context) { RouteSettings? setting = ModalRoute.of(context)?.settings; return setting?.arguments; } static void back(BuildContext context, [Object? returnObj]) { NavigatorState ns = Navigator.of(context); if (ns.canPop()) { ns.pop(returnObj); } } }