CWA-207 | applied new design to pin code page; added pin alert dialog; added barrier dismissible property to base alert page

This commit is contained in:
Oleksandr Sobol
2020-04-27 20:31:39 +03:00
parent 4b34ca3111
commit 03d3ff87f2
11 changed files with 122 additions and 43 deletions
@@ -7,12 +7,17 @@ import 'package:cake_wallet/src/screens/pin_code/pin_code.dart';
import 'package:cake_wallet/src/screens/base_page.dart';
import 'package:cake_wallet/src/stores/settings/settings_store.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/palette.dart';
import 'package:cake_wallet/src/screens/setup_pin_code/widgets/pin_alert_dialog.dart';
class SetupPinCodePage extends BasePage {
SetupPinCodePage({this.onPinCodeSetup});
final Function(BuildContext, String) onPinCodeSetup;
@override
Color get backgroundColor => PaletteDark.historyPanel;
@override
String get title => S.current.setup_pin;
@@ -58,37 +63,28 @@ class _SetupPinCodeFormState<WidgetType extends SetupPinCodeForm>
showDialog<void>(
context: context,
barrierDismissible: false,
builder: (BuildContext context) {
return AlertDialog(
content: Text(S.of(context).setup_successful),
actions: <Widget>[
FlatButton(
child: Text(S.of(context).ok),
onPressed: () {
Navigator.of(context).pop();
widget.onPinCodeSetup(context, pin);
reset();
},
),
],
);
return PinAlertDialog(
pinTitleText: S.current.setup_pin,
pinContentText: S.of(context).setup_successful,
pinActionButtonText: S.of(context).ok,
pinBarrierDismissible: false,
pinAction: () {
Navigator.of(context).pop();
widget.onPinCodeSetup(context, pin);
reset();
});
});
} else {
showDialog<void>(
context: context,
builder: (BuildContext context) {
return AlertDialog(
content: Text(S.of(context).pin_is_incorrect),
actions: <Widget>[
FlatButton(
child: Text(S.of(context).ok),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
return PinAlertDialog(
pinTitleText: S.current.setup_pin,
pinContentText: S.of(context).pin_is_incorrect,
pinActionButtonText: S.of(context).ok,
pinBarrierDismissible: true,
pinAction: () => Navigator.of(context).pop());
});
reset();
@@ -0,0 +1,60 @@
import 'dart:ui';
import 'package:cake_wallet/src/widgets/base_alert_dialog.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class PinAlertDialog extends BaseAlertDialog {
PinAlertDialog({
@required this.pinTitleText,
@required this.pinContentText,
@required this.pinActionButtonText,
@required this.pinAction,
@required this.pinBarrierDismissible
});
final String pinTitleText;
final String pinContentText;
final String pinActionButtonText;
final VoidCallback pinAction;
final bool pinBarrierDismissible;
@override
String get titleText => pinTitleText;
@override
String get contentText => pinContentText;
@override
bool get barrierDismissible => pinBarrierDismissible;
@override
Widget actionButtons(BuildContext context) {
return Container(
width: 300,
height: 52,
padding: EdgeInsets.only(left: 12, right: 12),
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(24),
bottomRight: Radius.circular(24)
),
color: Colors.white
),
child: ButtonTheme(
minWidth: double.infinity,
child: FlatButton(
onPressed: pinAction,
highlightColor: Colors.transparent,
splashColor: Colors.transparent,
child: Text(
pinActionButtonText,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 15,
fontWeight: FontWeight.w600,
color: Colors.blue,
decoration: TextDecoration.none,
),
)),
),
);
}
}