From cdfdad343339e64bef8ff6bfd965366d6235973f Mon Sep 17 00:00:00 2001 From: Konstantin Kollar Date: Wed, 31 Aug 2022 15:27:43 +0200 Subject: [PATCH] Sidebar menu and settings page skeleton --- lib/components/main_menu.dart | 30 ++++++++++++++++++++++++++++++ lib/main.dart | 4 +++- lib/screens/second_route.dart | 15 +++++++++++++++ 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 lib/components/main_menu.dart create mode 100644 lib/screens/second_route.dart diff --git a/lib/components/main_menu.dart b/lib/components/main_menu.dart new file mode 100644 index 0000000..0a7b729 --- /dev/null +++ b/lib/components/main_menu.dart @@ -0,0 +1,30 @@ +import 'package:flutter/material.dart'; +import 'package:wetter/screens/second_route.dart'; + +class NavBar extends StatelessWidget { + const NavBar({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return Drawer( + child: ListView( + children: [ + const DrawerHeader(child: Text("Weather")), + ListTile( + leading: const Icon(Icons.sunny), + title: const Text("Forecast"), + onTap: () {}, + ), + ListTile( + leading: const Icon(Icons.settings), + title: const Text("Settings"), + onTap: () { + Navigator.push(context, + MaterialPageRoute(builder: (context) => const Settings())); + }, + ), + ], + ), + ); + } +} diff --git a/lib/main.dart b/lib/main.dart index 661e651..40fee04 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:wetter/components/compact_weather_data.dart'; +import 'package:wetter/components/main_menu.dart'; import 'package:wetter/models/daily_weather_model.dart'; import 'package:wetter/services/brightsky_api_service.dart'; @@ -25,7 +26,7 @@ class _MyAppState extends State { @override Widget build(BuildContext context) { return MaterialApp( - title: 'Fetch Data Example', + title: 'Wetter', theme: ThemeData( primarySwatch: Colors.blue, textTheme: const TextTheme( @@ -38,6 +39,7 @@ class _MyAppState extends State { appBar: AppBar( title: const Text('Wetter in Harburg'), ), + drawer: const NavBar(), body: RefreshIndicator( onRefresh: () { return Future(() { diff --git a/lib/screens/second_route.dart b/lib/screens/second_route.dart new file mode 100644 index 0000000..3aef8e2 --- /dev/null +++ b/lib/screens/second_route.dart @@ -0,0 +1,15 @@ +import 'package:flutter/material.dart'; + +class Settings extends StatelessWidget { + const Settings({super.key}); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: const Text('Settings'), + ), + body: const Center(child: Text("Settings here")), + ); + } +}