mirror of
https://github.com/flutter/samples.git
synced 2026-05-20 05:57:33 +00:00
migrate place_tracker to go_router (#1529)
This commit is contained in:
@@ -3,10 +3,12 @@
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
import 'place.dart';
|
||||
import 'place_details.dart';
|
||||
import 'place_list.dart';
|
||||
import 'place_map.dart';
|
||||
import 'stub_data.dart';
|
||||
@@ -21,8 +23,26 @@ class PlaceTrackerApp extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return const MaterialApp(
|
||||
home: _PlaceTrackerHomePage(),
|
||||
return MaterialApp.router(
|
||||
routerConfig: GoRouter(routes: [
|
||||
GoRoute(
|
||||
path: '/',
|
||||
builder: (context, state) => const _PlaceTrackerHomePage(),
|
||||
routes: [
|
||||
GoRoute(
|
||||
path: 'place/:id',
|
||||
builder: (context, state) {
|
||||
final id = state.params['id']!;
|
||||
final place = context
|
||||
.read<AppState>()
|
||||
.places
|
||||
.singleWhere((place) => place.id == id);
|
||||
return PlaceDetails(place: place);
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
]),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user