41 lines
1.1 KiB
Dart
41 lines
1.1 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 '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: FloodStationListView(
|
|
stations: floodStationProvider.allStations,
|
|
onItemTapped: (station) {
|
|
floodStationProvider.selectedStation = station;
|
|
Navigator.of(context).pushNamed(FloodStationPage.routeName);
|
|
},
|
|
),
|
|
);
|
|
}
|
|
}
|