import 'package:flutter/material.dart'; import 'package:info_tren/pages/about/about_page.dart'; import 'package:url_launcher/url_launcher.dart'; class AboutPageStateMaterial extends AboutPageState { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(pageTitle), centerTitle: true, ), body: SingleChildScrollView( child: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.stretch, children: [ Center( child: Text( 'Info Tren', style: Theme.of(context).textTheme.displayMedium, ), ), if (packageInfo != null) Center( child: Text( packageInfo!.packageName, style: Theme.of(context).textTheme.caption, ), ), // ListTile( // title: Text(versionTitleText), // subtitle: localChangelog.isEmpty ? null : Text(localChangelog.first.title), // ), Divider(), for (final log in mergedChangelogs) ...[ Padding( padding: const EdgeInsets.fromLTRB(8, 8, 8, 0), child: Row( crossAxisAlignment: CrossAxisAlignment.center, children: [ Expanded( child: Text( log.version.toString(), style: Theme.of(context).textTheme.headline4, ), ), if (localChangelog.isNotEmpty && log.version == localChangelog.first.version) Container( decoration: BoxDecoration( border: Border.all( color: Theme.of(context).colorScheme.onBackground, width: 1, ), borderRadius: BorderRadius.circular(20), ), child: Padding( padding: const EdgeInsets.all(4), child: Text( currentVersionText, style: TextStyle( inherit: true, ), ), ), ), if (remoteChangelog.isNotEmpty && log.version == remoteChangelog.first.version && (localChangelog.isEmpty || localChangelog.first.version != log.version)) Container( decoration: BoxDecoration( border: Border.all( color: Colors.green, width: 1, ), borderRadius: BorderRadius.circular(20), ), child: Padding( padding: const EdgeInsets.all(4), child: Text( latestVersionText, style: TextStyle( inherit: true, color: Colors.green, ), ), ), ), if (AboutPageState.DOWNLOAD == 'apk' && log.apkLink != null) IconButton( onPressed: () { launchUrl(log.apkLink!); }, icon: Icon(Icons.download), tooltip: 'Download APK', ), ], ), ), Padding( padding: const EdgeInsets.all(8.0), child: RichText( text: TextSpan( text: log.description, ), ), ), ], ], ), ), ); } }