Files
floodwatch/lib/Widgets/flood_station_list_view.dart

53 lines
1.6 KiB
Dart

import 'package:flutter/material.dart';
import '../model/flood_station.dart';
import '../pages/flood_station_page.dart';
class FloodStationListView extends StatelessWidget {
const FloodStationListView({super.key, required List<FloodStation> stations})
: _stations = stations;
final List<FloodStation> _stations;
@override
Widget build(BuildContext context) {
return ListView.separated(
separatorBuilder: (context, index) => Padding(
padding: const EdgeInsets.symmetric(horizontal: 15.0),
child: Divider(),
),
itemBuilder: (context, index) {
final item = _stations.elementAt(index);
return ListTile(
isThreeLine: true,
onTap: () => Navigator.of(context).push(MaterialPageRoute(
builder: (context) => FloodStationPage(floodStation: item),
)),
title: Text(item.label),
subtitle: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
mainAxisSize: MainAxisSize.min,
children: [
Icon(Icons.home_outlined),
Padding(padding: EdgeInsets.only(left: 8)),
Text(item.town),
],
),
Row(
children: [
Icon(Icons.water),
Padding(padding: EdgeInsets.only(left: 8)),
Text(item.riverName),
],
)
],
),
);
},
itemCount: _stations.length,
);
}
}