import 'package:flutter/material.dart'; import 'package:touch_demonstrator/pages/SideBarContent.dart'; class LeftDrawer extends StatelessWidget { static const htmlPrivacyNotes = 'assets/html/privacy_notice.html'; static const htmlImprint = 'assets/html/imprint.html'; static const htmlTermsOfUse = 'assets/html/terms_of_use.html'; static const htmlDisclaimer = 'assets/html/disclaimer.html'; static const headerText = Text( 'Touch Demonstrator App', textScaleFactor: 1.5, style: TextStyle(color: Colors.white), ); DrawerHeader _buildHeader(BuildContext context) { return DrawerHeader( key: Key('DrawerHeader'), child: headerText, decoration: BoxDecoration(color: Theme.of(context).primaryColor), ); } ListTile _buildTile(BuildContext context, String title, String html) { return ListTile( key: Key(title), title: Text(title), onTap: () { Navigator.pop(context); Navigator.push( context, MaterialPageRoute( builder: (BuildContext context) => SideBarContent(title: title, html: html))); }, ); } @override Widget build(BuildContext context) { return Drawer( key: Key('Drawer'), child: ListView( padding: EdgeInsets.zero, children: [ _buildHeader(context), _buildTile(context, 'Privacy Notes', htmlPrivacyNotes), _buildTile(context, 'Imprint', htmlImprint), _buildTile(context, 'Terms of Use', htmlTermsOfUse), _buildTile(context, 'Disclaimer', htmlDisclaimer), ], ), ); } }