import 'package:flutter/material.dart'; import 'package:voyagehandbook/views/home.dart'; import '../views/search.dart'; /* Voyage Handbook - The open-source WikiVoyage reader Copyright (C) 2023 Matyáš Caras This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /// Used to generate the drawer /// /// Use `0` in `page` if you don't want any tile selected Drawer genDrawer(int page, BuildContext context) => Drawer( child: ListView( children: [ DrawerHeader( child: Column( children: const [ Text( "Voyage Handbook", style: TextStyle(fontWeight: FontWeight.bold), ), Text("Created by Matyáš Caras"), Text("Not affiliated with WikiVoyage") ], ), ), ListTile( selected: page == 1, title: const Text("Home"), leading: const Icon(Icons.home), onTap: () => page == 1 ? Navigator.of(context).pop() : Navigator.of(context).push( MaterialPageRoute( builder: (_) => const HomeView(), ), ), ), ListTile( selected: page == 2, title: const Text("Search"), leading: const Icon(Icons.search), onTap: () => page == 2 ? Navigator.of(context).pop() : Navigator.of(context).push( MaterialPageRoute( builder: (_) => const SearchView(), ), ), ), ListTile( selected: page == 3, title: const Text("About"), leading: const Icon(Icons.info_outline), onTap: () => page == 3 ? Navigator.of(context).pop() : Navigator.of(context).push( MaterialPageRoute( builder: (_) => const LicensePage( applicationName: "Voyage Handbook", applicationLegalese: "Copyright ©️ 2023 Matyáš Caras,\nReleased under the GNU GPL version 3", ), ), ), ), ], ), );