Updated the About page so it functions, formatted + information added

This commit is contained in:
Tom Slater 2019-05-24 16:21:48 +01:00
parent a784e2da9c
commit eaa254e0e0
5 changed files with 127 additions and 2 deletions

View file

@ -39,8 +39,7 @@ class _BasicDrawerState extends State<BasicDrawer> {
), ),
onTap: () { onTap: () {
SystemChannels.textInput.invokeMethod('TextInput.hide'); SystemChannels.textInput.invokeMethod('TextInput.hide');
// Here I have not implemented an actual about screen, but if you did you would navigate to it's route Navigator.of(context).pushReplacementNamed('/AboutPage');
// Navigator.of(context).pushReplacementNamed('/AboutScreen');
}, },
), ),
ListTile( ListTile(

View file

@ -3,6 +3,7 @@ import 'package:local_spend/pages/home_page.dart';
import 'package:local_spend/pages/login_page.dart'; import 'package:local_spend/pages/login_page.dart';
import 'package:local_spend/pages/receipt_page.dart'; import 'package:local_spend/pages/receipt_page.dart';
import 'package:local_spend/pages/spash_screen.dart'; import 'package:local_spend/pages/spash_screen.dart';
import 'package:local_spend/pages/about_screen.dart';
import 'package:local_spend/config.dart'; import 'package:local_spend/config.dart';
void main() { void main() {
@ -22,6 +23,7 @@ class MyApp extends StatelessWidget {
"/HomePage": (BuildContext context) => HomePage(), "/HomePage": (BuildContext context) => HomePage(),
"/LoginPage": (BuildContext context) => LoginPage(), "/LoginPage": (BuildContext context) => LoginPage(),
"/ReceiptPage": (BuildContext context) => ReceiptPage(), "/ReceiptPage": (BuildContext context) => ReceiptPage(),
"/AboutPage": (BuildContext context) => AboutPage(),
}, },
home: SplashScreen(), home: SplashScreen(),
); );

116
lib/pages/about_screen.dart Normal file
View file

@ -0,0 +1,116 @@
import 'package:flutter/material.dart';
import 'package:local_spend/common/platform/platform_scaffold.dart';
import 'package:local_spend/common/widgets/basic_drawer.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:flutter_linkify/flutter_linkify.dart';
class AboutPage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<AboutPage> {
@override
void initState() {
super.initState();
_saveCurrentRoute("/AboutPage");
}
_saveCurrentRoute(String lastRoute) async {
SharedPreferences preferences = await SharedPreferences.getInstance();
await preferences.setString('LastScreenRoute', lastRoute);
}
@override
Widget build(BuildContext context) {
return PlatformScaffold(
appBar: AppBar(
title: Text(
"About Page",
style: TextStyle(
fontSize: 30,
color: Colors.black),
),
centerTitle: true,
iconTheme: IconThemeData(color: Colors.black),
elevation: Theme.of(context).platform == TargetPlatform.iOS ? 0.0 : 6.0,
),
drawer: BasicDrawer(),
body: Container(
padding: EdgeInsets.all(32.0),
child: ListView(
children: <Widget>[
InkWell(
child: const Center(child: Text
('Link to Pear trading website',
style: TextStyle(
fontSize: 20,
color: Colors.blue,
),
),
),
onTap: () => launch('https://app.peartrade.org/#/login?returnUrl=%2Fdashboard')
),
Padding(
padding: EdgeInsets.fromLTRB(0,20,0,0),
child: Text(
"Developed by Shadowcat Industries",
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 20.0,
color: Colors.black,
),
),
),
Padding(
padding: EdgeInsets.fromLTRB(0,20,0,0),
child: Text(
"Pear tradings a commerce company designed to register andmonitor money circulating in the local economy.",
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 20.0,
color: Colors.black,
),
),
),
Padding(
padding: EdgeInsets.fromLTRB(0,20,0,0),
child: Text(
"Email: Test@admin.com",
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 18.0,
color: Colors.blue,
),
),
),
Padding(
padding: EdgeInsets.fromLTRB(0,0,0,20),
child: Text(
"Phone: +44(0)1524 64544",
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 18.0,
color: Colors.blue,
),
),
),
InkWell(
child: const Center(child: Text
('Link to Shadowcat website',
style: TextStyle(
fontSize: 20,
color: Colors.blue,
),
),
),
onTap: () => launch('https://shadow.cat/')
),
],
),
),
);
}
}

View file

@ -160,6 +160,13 @@ packages:
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.0" version: "0.0.0"
flutter_linkify:
dependency: "direct main"
description:
name: flutter_linkify
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.1"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter

View file

@ -20,6 +20,7 @@ dependencies:
json_annotation : ^2.2.0 json_annotation : ^2.2.0
http: ^0.12.0+2 http: ^0.12.0+2
datetime_picker_formfield: ^0.1.8 datetime_picker_formfield: ^0.1.8
flutter_linkify: ^1.0.3
# The following adds the Cupertino Icons font to your application. # The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons. # Use with the CupertinoIcons class for iOS style icons.