11import 'package:flutter/material.dart' ;
22import 'package:flutter_riverpod/flutter_riverpod.dart' ;
3+ import 'package:weather/providers/services/google_places.dart' ;
34import 'package:weather/providers/services/open_mateo.dart' ;
5+ import 'package:weather/services/google_places/data.dart' ;
46import 'package:weather/services/open_mateo/data.dart' ;
7+ import 'package:weather/utils/init.dart' ;
58import 'package:weather/widgets/common/hours_row.dart' ;
69import 'package:weather/widgets/common/layout/layout.dart' ;
710import 'package:weather/widgets/day/day_details_card/day_details_card.dart' ;
@@ -12,11 +15,22 @@ class DayPage extends ConsumerWidget {
1215 @override
1316 Widget build (BuildContext context, WidgetRef ref) {
1417 final openMateoService = ref.read (openMateoServiceProvider);
18+ final googlePlacesService = ref.read (googlePlacesServiceProvider);
19+ final position = ref.read (initInfoProvider).position;
1520
1621 return Layout (
1722 title: 'Day at a Glance' ,
1823 child: FutureBuilder (
19- future: openMateoService.fetchHourly (),
24+ future: Future .wait ([
25+ openMateoService.fetchHourly (
26+ position.latitude,
27+ position.longitude,
28+ ),
29+ googlePlacesService.fetchNearbyLocalities (
30+ position.latitude,
31+ position.longitude,
32+ ),
33+ ]),
2034 builder: (context, snapshot) {
2135 if (snapshot.connectionState == ConnectionState .waiting) {
2236 return const Center (
@@ -30,14 +44,21 @@ class DayPage extends ConsumerWidget {
3044 );
3145 }
3246
33- final hourlyData = snapshot.data as Map <String , HourlyData >;
47+ final hourlyData = snapshot.data? [0 ] as Map <String , HourlyData >;
48+ final localities = snapshot.data? [1 ] as List <Place >;
49+
50+ final localityName =
51+ localities.isNotEmpty && localities.first.displayName != null
52+ ? localities.first.displayName? .text
53+ : 'Unknown' ;
3454
3555 return Column (
3656 mainAxisSize: MainAxisSize .min,
3757 children: < Widget > [
3858 Expanded (
3959 child: DayDetailsCard (
4060 hourlyData: hourlyData,
61+ localityName: localityName! ,
4162 ),
4263 ),
4364 const SizedBox (height: 20 ),
0 commit comments