63 lines
1.8 KiB
Dart
63 lines
1.8 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
import 'package:checker/common.dart';
|
|
import 'package:checker/consts.dart';
|
|
import 'package:checker/strings.dart';
|
|
import 'package:checker/base/base_state.dart';
|
|
|
|
/// Экран проведения покупки.
|
|
class PurchaseSuccessScreen extends StatefulWidget {
|
|
|
|
PurchaseSuccessScreen(this.val, this.name);
|
|
final String val;
|
|
final String name;
|
|
|
|
@override State createState() => new PurchaseSuccessScreenState(val, name);
|
|
}
|
|
|
|
class PurchaseSuccessScreenState<T> extends BaseState<PurchaseSuccessScreen> {
|
|
|
|
PurchaseSuccessScreenState(this.sum, this.username);
|
|
|
|
String sum;
|
|
String username;
|
|
|
|
@override String getTitle() {
|
|
return StringsLocalization.carryingPurchase();
|
|
}
|
|
|
|
@override String getHint() {
|
|
return null;
|
|
}
|
|
|
|
@override Widget getScreenContent() {
|
|
return new Column(children: <Widget>[
|
|
getValueWithDescription(StringsLocalization.buyer(), username),
|
|
getSuccessMessage(),
|
|
new Expanded(child: new Center()),
|
|
wrapButton(getScreenMargins(74.0), getScanButton())
|
|
]);
|
|
}
|
|
|
|
getScreenMargins(double bottom) {
|
|
double side = 42.0;
|
|
return new EdgeInsets.only(bottom: bottom, left: side, right: side);
|
|
}
|
|
|
|
getScanButton() {
|
|
String title = StringsLocalization.scan();
|
|
return buildRaisedButton(title, () => startScanner(context, app, helper));
|
|
}
|
|
|
|
getSuccessMessage() {
|
|
return new Row(children: <Widget>[new Expanded(child: new Container(margin: new EdgeInsets.only(top: 20.0), height: 64.0,
|
|
decoration: new BoxDecoration(color: greenBackground),
|
|
child: new Center(child: new Text(getMessageTitle(), textAlign: TextAlign.center,
|
|
style: new TextStyle(fontWeight: FontWeight.bold, color: tokenActiveTextColor)))))]);
|
|
}
|
|
|
|
getMessageTitle() {
|
|
return StringsLocalization.purchaseCompleted(sum);
|
|
}
|
|
|
|
} |