Files
sf-app-platform/packages/navigation/lib/navigation_contract.dart

34 lines
619 B
Dart

import 'package:go_router/go_router.dart';
abstract class NavigationContract {
void setRouter(GoRouter goRouter);
void goTo(String path);
void pushTo(String path, {Object? extra});
void goBack();
}
class Navigation implements NavigationContract {
late final GoRouter router;
@override
void setRouter(GoRouter goRouter) {
router = goRouter;
}
@override
void goTo(String path) {
router.go(path);
}
@override
void pushTo(String path, {Object? extra}) {
router.push(path, extra: extra);
}
@override
void goBack() {
if (router.canPop()) {
router.pop();
}
}
}