added an about page

This commit is contained in:
2025-01-28 23:04:37 +01:00
parent 8fc92eab23
commit 74d17c70ff
3 changed files with 42 additions and 0 deletions

View File

@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'pages/about_page.dart';
import 'pages/flood_station_page.dart';
import 'pages/main_navigation_scaffold.dart';
import 'services/flood_station_provider.dart';
@@ -31,6 +32,7 @@ class MyApp extends StatelessWidget {
routes: {
MainNavigationScaffold.routeName: (context) => MainNavigationScaffold(),
FloodStationPage.routeName: (context) => FloodStationPage(),
AboutPage.routeName: (context) => AboutPage(),
},
);
}

29
lib/pages/about_page.dart Normal file
View File

@@ -0,0 +1,29 @@
import 'package:flutter/material.dart';
class AboutPage extends StatelessWidget {
const AboutPage({super.key});
static const String aboutText = '''
This App was build for demonstration purposes.
It requests data from the Environment Agency Real Time flood-monitoring API and displays a list and map of all flood measurement stations,
as well as a graph showing the last 24 hours of measurements.
The source code can be found at https://git.skup.in/.
''';
static const String routeName = '/about';
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('About'),
),
body: Center(
child: Text(
aboutText,
style: Theme.of(context).textTheme.bodyLarge,
),
),
);
}
}

View File

@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'about_page.dart';
import 'landing_page.dart';
import 'map_page.dart';
@@ -23,6 +24,16 @@ class _MainNavigationScaffoldState extends State<MainNavigationScaffold> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Floodwatch'),
actions: [
IconButton(
onPressed: () =>
Navigator.of(context).pushNamed(AboutPage.routeName),
icon: Icon(Icons.info_outline),
)
],
),
bottomNavigationBar: NavigationBar(
selectedIndex: _selectedPageIndex,
onDestinationSelected: (value) => setState(() {