Files
floodwatch/lib/pages/landing_page.dart

50 lines
1.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../widgets/flood_station_list_view.dart';
import '../services/flood_station_provider.dart';
import '../widgets/station_filter.dart';
import 'flood_station_page.dart';
class LandingPage extends StatefulWidget {
const LandingPage({super.key});
static const routeName = '/';
@override
State<LandingPage> createState() => _LandingPageState();
}
class _LandingPageState extends State<LandingPage> {
late FloodStationProvider floodStationProvider;
@override
initState() {
super.initState();
WidgetsBinding.instance
.addPostFrameCallback((_) => floodStationProvider.loadAllStations());
}
@override
Widget build(BuildContext context) {
floodStationProvider = context.watch<FloodStationProvider>();
return Scaffold(
body: Column(
children: [
StationFilter(
onEditingComplete: (filterText) {},
),
Expanded(
child: FloodStationListView(
stations: floodStationProvider.allStations,
onItemTapped: (station) {
floodStationProvider.selectedStation = station;
Navigator.of(context).pushNamed(FloodStationPage.routeName);
},
),
),
],
),
);
}
}