import 'package:flutter/material.dart'; import 'package:kulinar_app/constants.dart'; import 'package:kulinar_app/widgets/custom_drawer_widget.dart'; import 'package:url_launcher/url_launcher.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; class InfoView extends StatefulWidget { const InfoView({Key? key}) : super(key: key); @override _InfoViewState createState() => _InfoViewState(); } class _InfoViewState extends State { String websiteURL = "https://davidpenkowoj.de"; String sourceCodeURL = "http://git.davidpenkowoj.de/kulinar_app.git"; String privacyNoticeURL = "https://davidpenkowoj.de/static/files/privacy-notice.html"; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text(AppLocalizations.of(context)!.category9)), drawer: CustomDrawer(initalIndex: 6), body: ListView( children: [ Padding( padding: const EdgeInsets.only(top: 15.0, left: 15.0), child: Text(AppLocalizations.of(context)!.category9, style: cTinyTitleStyle), ), ListTile( title: Text(AppLocalizations.of(context)!.info1, style: cDefaultTextStyle), subtitle: Text(cVersion, style: cDetailsTextStyle), ), ListTile( title: Text(AppLocalizations.of(context)!.info2, style: cDefaultTextStyle), subtitle: Text("David Penkowoj", style: cDetailsTextStyle), ), ListTile( title: Text(AppLocalizations.of(context)!.info3, style: cDefaultTextStyle), subtitle: Text(websiteURL, style: cDetailsTextStyle, overflow: TextOverflow.ellipsis), trailing: IconButton( icon: Icon(Icons.north_east_rounded), onPressed: () { _launchURL(Uri.parse(websiteURL)); }, ), ), ListTile( title: Text(AppLocalizations.of(context)!.info4, style: cDefaultTextStyle), subtitle: Text(sourceCodeURL, style: cDetailsTextStyle, overflow: TextOverflow.ellipsis), trailing: IconButton( icon: Icon(Icons.north_east_rounded), onPressed: () { _launchURL(Uri.parse(sourceCodeURL)); }, ), ), ListTile( title: Text(AppLocalizations.of(context)!.info5, style: cDefaultTextStyle), subtitle: Text(privacyNoticeURL, style: cDetailsTextStyle, overflow: TextOverflow.ellipsis), trailing: IconButton( icon: Icon(Icons.north_east_rounded), onPressed: () { _launchURL(Uri.parse(privacyNoticeURL)); }, ), ), ListTile( title: Text(AppLocalizations.of(context)!.info6, style: cDefaultTextStyle), trailing: IconButton( icon: Icon(Icons.launch_rounded), onPressed: () { _showDialog(); }, ), ), /* ListTile( title: Text(AppLocalizations.of(context)!.info7, style: cDefaultTextStyle), trailing: IconButton( icon: Icon(Icons.launch_rounded), onPressed: () { Navigator.push(context, SlideFromRightRoute(child: ChangelogView())); }, ), ), */ ], ), ); } _showDialog() { showAboutDialog( context: context, applicationVersion: cVersion, applicationIcon: SizedBox(height: 35, width: 35, child: Image.asset("assets/icons/icon.png")), applicationLegalese: AppLocalizations.of(context)!.legalease, ); } _launchURL(Uri url) async { if (await canLaunchUrl(url)) { await launchUrl(url, mode: LaunchMode.externalApplication); } else { print('Could not launch $url'); } } }