100 lines
3.2 KiB
Dart
100 lines
3.2 KiB
Dart
import 'package:flutter/material.dart';
|
||
import 'package:flutter/services.dart';
|
||
import 'dart:async';
|
||
import 'main.dart';
|
||
|
||
/// Экран регистрации магазина и кассы.
|
||
class RegistrationScreen extends StatefulWidget {
|
||
@override State createState() => new _RegistrationScreenState();
|
||
}
|
||
|
||
class _RegistrationScreenState extends BaseState<RegistrationScreen> {
|
||
|
||
static const platform = const MethodChannel('com.dinnect.checker/scanner');
|
||
|
||
@override Widget build(BuildContext context) {
|
||
return new Scaffold(appBar: _getAppBar(), body: _getScreen());
|
||
}
|
||
|
||
faq() {}
|
||
|
||
AppBar _getAppBar() {
|
||
return new AppBar(title: new Text("Регистрация магазина"),
|
||
backgroundColor: const Color(0xff4272e7), actions: <Widget>[
|
||
new IconButton(
|
||
icon: new Icon(Icons.help_outline),
|
||
tooltip: 'Air it',
|
||
onPressed: faq,
|
||
),
|
||
new IconButton(
|
||
icon: new Image(height: 24.0, width: 24.0, image: new AssetImage('assets/logout.png')),
|
||
tooltip: 'Restitch it',
|
||
onPressed: logout,
|
||
)
|
||
]);
|
||
}
|
||
|
||
/// На экране будет отображаться Column, с отцентрированными виджетами.
|
||
Widget _getScreen() {
|
||
return new Center(child: new Column(children: _getChildren()));
|
||
}
|
||
|
||
Future<Null> startScanner() async {
|
||
try {
|
||
platform.invokeMethod('startScanner');
|
||
} on PlatformException {
|
||
|
||
}
|
||
}
|
||
|
||
List<Widget> _getChildren() {
|
||
return<Widget>[
|
||
_getLogo(),
|
||
_getDecoratedInputField("ID магазина", 0.0),
|
||
_getDecoratedInputField("Номер кассы", 36.0),
|
||
_getButton()
|
||
];
|
||
}
|
||
|
||
Container _getLogo() {
|
||
return new Container(height: 192.0,
|
||
child: new Center(
|
||
child: new Image.asset('assets/registration_logo.png',
|
||
height: 24.0,
|
||
width: 156.0)));
|
||
}
|
||
|
||
Container _getDecoratedInputField(String hint, double topPadding) {
|
||
return new Container(
|
||
padding: new EdgeInsets.only(left: 28.0, right: 28.0, top: topPadding),
|
||
child: new Container(height: 48.0,
|
||
padding: new EdgeInsets.only(left: 16.0, right: 16.0),
|
||
decoration: _getDecoraionForInputField(),
|
||
child: _getInputField(hint))) ;
|
||
}
|
||
|
||
TextField _getInputField(String hint) {
|
||
return new TextField(decoration: new InputDecoration(hintText: hint,
|
||
hideDivider: true,
|
||
hintStyle: new TextStyle(color: const Color(0xffa5a5a5),
|
||
fontSize: 16.0)));
|
||
}
|
||
|
||
Decoration _getDecoraionForInputField() {
|
||
return new BoxDecoration(color: Colors.white,
|
||
border: new Border.all(
|
||
color: const Color(0xffcfd8dc), width: 1.0,),
|
||
borderRadius: new BorderRadius.all(new Radius.circular(4.0)));
|
||
}
|
||
|
||
Container _getButton() {
|
||
return new Container(padding: new EdgeInsets.only(top: 36.0),
|
||
child: new Container(height: 64.0, padding: new EdgeInsets.all(8.0),
|
||
child: new RaisedButton(child: new Text('ЗАРЕГИСТРИРОВАТЬ',
|
||
style: new TextStyle(color: Colors.white)),
|
||
onPressed: null, disabledColor: const Color(0xffbfbfbf))));
|
||
}
|
||
|
||
doStuff() {}
|
||
|
||
} |