| // Copyright 2013 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| import 'package:flutter/foundation.dart'; |
| import 'package:flutter/widgets.dart'; |
| |
| import '../router.dart'; |
| |
| /// GoRouter implementation of InheritedWidget. |
| /// |
| /// Used for to find the current GoRouter in the widget tree. This is useful |
| /// when routing from anywhere in your app. |
| class InheritedGoRouter extends InheritedNotifier<GoRouter> { |
| /// Default constructor for the inherited go router. |
| const InheritedGoRouter({ |
| required super.child, |
| required this.goRouter, |
| super.key, |
| }) : super(notifier: goRouter); |
| |
| /// The [GoRouter] that is made available to the widget tree. |
| final GoRouter goRouter; |
| |
| @override |
| void debugFillProperties(DiagnosticPropertiesBuilder properties) { |
| super.debugFillProperties(properties); |
| properties.add(DiagnosticsProperty<GoRouter>('goRouter', goRouter)); |
| } |
| } |