1
0
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:
Miguel Beltran
2022-12-16 01:39:23 +01:00
committed by GitHub
parent f66188c862
commit db94e92a26
6 changed files with 108 additions and 96 deletions

View File

@@ -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);
},
),
],
),
]),
);
}
}