import 'package:flutter/material.dart'; import 'package:get/get.dart'; mixin MyNavigationMixin on GetxController { Future? push(Widget widget) { return Get.to(widget); // Navigator.push(context, MaterialPageRoute(builder: (context) => widget)); } void pop([T? result]) { return Get.back(result: result); // return Navigator.pop(context, result); } Future? pushReplacement(Widget widget) { return Get.off(widget); // return Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => widget)); } Future? pushAndPopAll(Widget widget) { // Navigator.popUntil(context, (route) => route.isFirst); Get.offUntil(Get.context as Route, (route) => route.isFirst); return Get.off(widget); // return pushReplacement(widget); } void goBack([T? result]) { return Navigator.pop(Get.context as BuildContext, result); } }