Files
fcs/lib/pages/home_page_welcome.dart

311 lines
11 KiB
Dart

import 'package:fcs/model/language_model.dart';
import 'package:fcs/model/main_model.dart';
import 'package:fcs/pages/contact.dart';
import 'package:fcs/widget/banner.dart';
import 'package:fcs/widget/bottom_up_page_route.dart';
import 'package:fcs/widget/dimension_box.dart';
import 'package:fcs/widget/localization/transalation.dart';
import 'package:fcs/widget/offline_redirect.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_icons/flutter_icons.dart';
import 'package:intl/intl.dart' as intl;
import 'package:logging/logging.dart';
import 'package:provider/provider.dart';
import '../theme/theme.dart';
import 'profile_page.dart';
import 'signin_page.dart';
import 'term.dart';
final msgLog = Logger('backgroundMessageHandler');
class HomePageWelcome extends StatefulWidget {
@override
_HomePageWelcomeState createState() => _HomePageWelcomeState();
}
typedef BtnCallback();
class _HomePageWelcomeState extends State<HomePageWelcome> {
final log = Logger('_HomePageWelcomeState');
bool login = false;
bool customer = true;
double length = 10;
double width = 10;
double height = 10;
@override
void initState() {
super.initState();
}
void dispose() {
super.dispose();
}
int actualChart = 0;
final numberFormatter = new intl.NumberFormat("#,###");
String pin;
List<bool> isSelected = [true, false];
@override
Widget build(BuildContext context) {
login = Provider.of<MainModel>(context).isLogin();
return OfflineRedirect(
child: FlavorBanner(
child: Scaffold(
appBar: AppBar(
elevation: 0,
backgroundColor: primaryColor,
title: ClipRRect(
child: Image.asset("assets/logo.jpg", height: 40),
borderRadius: new BorderRadius.circular(30.0),
),
actions: login
? <Widget>[
ToggleButtons(
children: <Widget>[
Image.asset(
'icons/flags/png/us.png',
package: 'country_icons',
fit: BoxFit.fitWidth,
width: 25,
),
Image.asset(
'icons/flags/png/mm.png',
package: 'country_icons',
fit: BoxFit.fitWidth,
width: 25,
)
],
onPressed: _langChange,
isSelected: isSelected,
),
IconButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Profile()),
);
},
iconSize: 30,
icon: Icon(Icons.account_circle),
),
]
: <Widget>[
ToggleButtons(
children: <Widget>[
Image.asset(
'icons/flags/png/us.png',
package: 'country_icons',
fit: BoxFit.fitWidth,
width: 25,
),
Image.asset(
'icons/flags/png/mm.png',
package: 'country_icons',
fit: BoxFit.fitWidth,
width: 25,
)
],
onPressed: _langChange,
isSelected: isSelected,
),
FlatButton(
onPressed: () {
Navigator.of(context)
.push(BottomUpPageRoute(SigninPage()));
},
// iconSize: 30,
child: Text(
"Sign In",
style: siginButtonStyle,
),
),
]),
body: Container(
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment
.bottomCenter, // 10% of the width, so there are ten blinds.
colors: [
Color(0xd0272262),
Color(0xfa272262),
], // whitish to gray
)),
child: Column(
children: <Widget>[
Expanded(
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(100.0),
child: Text(
"Welcome!",
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontSize: 28,
fontFamily: "Roboto"),
),
),
Padding(
padding: const EdgeInsets.only(top: 80.0),
child: Text(
"Cargo Services",
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontSize: 28,
fontFamily: "Roboto"),
),
),
Padding(
padding: const EdgeInsets.all(10.0),
child: Text(
"by FCS Trading",
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontSize: 18,
fontFamily: "Roboto"),
),
),
Container(
padding: EdgeInsets.only(top: 10, bottom: 10),
child: CircleAvatar(
radius: (50),
backgroundColor: Colors.white,
child: ClipRRect(
borderRadius: BorderRadius.circular(50),
child: Image.asset("assets/logo.jpg"),
)),
),
],
),
),
// Row(
// children: <Widget>[
// Expanded(
// child: Container(
// height: 200,
// // child: DimensionBox(
// // dimension: Dimension(length, width, height),
// // color: secondaryColor,
// // ),
// ),
// ),
// RotatedBox(
// quarterTurns: -1,
// child: Slider(
// min: 6,
// max: 100,
// value: height,
// onChanged: (value) {
// setState(() {
// height = value;
// });
// },
// ),
// ),
// ],
// ),
// Row(
// mainAxisAlignment: MainAxisAlignment.spaceEvenly,
// children: <Widget>[
// Slider(
// label: "Length",
// min: 6,
// max: 100,
// value: length,
// onChanged: (value) {
// setState(() {
// length = value;
// });
// },
// ),
// Slider(
// label: "Width",
// min: 6,
// max: 100,
// value: width,
// onChanged: (value) {
// setState(() {
// width = value;
// });
// },
// ),
// ],
// ),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
// _buildSmallButton(
// "Policies", FontAwesomeIcons.fileContract),
InkWell(
onTap: () {
Navigator.of(context).push(
MaterialPageRoute(builder: (_) => Contact()));
},
child: _buildSmallButton(
"Contact Us", SimpleLineIcons.support),
),
InkWell(
onTap: () {
Navigator.of(context).push(
MaterialPageRoute(builder: (_) => Term()));
},
child: _buildSmallButton(
"Terms of services", Icons.info_outline),
),
],
)
],
))),
),
);
}
_langChange(index) {
var languageModel = Provider.of<LanguageModel>(context);
languageModel.saveLanguage(Translation().supportedLanguages[index]);
setState(() {
isSelected.asMap().forEach((i, e) {
isSelected[i] = false;
});
isSelected[index] = !isSelected[index];
});
}
Widget _buildSmallButton(String text, IconData iconData) {
return Padding(
padding: const EdgeInsets.all(18.0),
child: Row(
children: <Widget>[
IconButton(
icon: Icon(iconData, color: Colors.white70),
color: Colors.white70,
onPressed: null),
// RaisedButton(onPressed: ()=>{},child: Row(
// children: <Widget>[
// IconButton(
// icon: Icon(iconData, ),
// onPressed: null),
// Text(text),
// ],
// ),color: Colors.transparent,
// focusColor: Colors.transparent,),
Text(
text,
style: subMenuStyle,
)
],
),
);
}
}