Экраны настроек

This commit is contained in:
Ivan Murashov
2017-09-11 14:51:50 +03:00
parent 0dde204dcd
commit 24fdfc15f6
21 changed files with 148 additions and 98 deletions

View File

@@ -0,0 +1,27 @@
import 'package:checker/base/settings_base_state.dart';
import 'package:flutter/material.dart';
import 'package:checker/consts.dart';
import 'package:checker/strings.dart';
import 'package:checker/base/base_state.dart';
class CurrenciesScreen extends StatefulWidget {
@override State createState() => new _CurrenciesState();
}
class _CurrenciesState extends SettingsBaseState<CurrenciesScreen> {
@override
List<String> getOptions() {
String ruble = StringsLocalization.ruble();
String dollar = StringsLocalization.dollar();
String hryvna = StringsLocalization.hryvna();
return [ruble, dollar, hryvna];
}
@override
String getTitle() {
return StringsLocalization.settings();
}
}

View File

@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:checker/base_state.dart';
import 'package:checker/base/base_state.dart';
import 'package:checker/consts.dart';
import 'package:checker/common.dart';

View File

@@ -5,7 +5,7 @@ import 'dart:convert'; // Пакет для обработки json с отве
import 'package:checker/common.dart';
import 'package:checker/consts.dart';
import 'package:checker/network.dart';
import 'package:checker/base_state.dart';
import 'package:checker/base/base_state.dart';
import 'package:checker/strings.dart';
class FinishRegistrationScreen extends StatefulWidget {

View File

@@ -0,0 +1,21 @@
import 'package:checker/base/settings_base_state.dart';
import 'package:flutter/material.dart';
import 'package:checker/consts.dart';
import 'package:checker/strings.dart';
class LanguagesScreen extends StatefulWidget {
@override State createState() => new _LanguagesState();
}
class _LanguagesState extends SettingsBaseState<LanguagesScreen> {
@override
List<String> getOptions() {
return languages;
}
@override
String getTitle() {
return StringsLocalization.locale();
}
}

View File

@@ -8,7 +8,7 @@ import 'package:checker/strings.dart';
import 'package:checker/common.dart';
import 'package:checker/consts.dart';
import 'package:checker/network.dart';
import 'package:checker/base_state.dart';
import 'package:checker/base/base_state.dart';
import 'package:checker/screens/purchase_success.dart';
/// Экран проведения покупки.

View File

@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
import 'package:checker/common.dart';
import 'package:checker/consts.dart';
import 'package:checker/strings.dart';
import 'package:checker/base_state.dart';
import 'package:checker/base/base_state.dart';
/// Экран проведения покупки.
class PurchaseSuccessScreen extends StatefulWidget {

View File

@@ -5,7 +5,7 @@ import 'dart:convert'; // Пакет для обработки json с отве
import 'package:checker/common.dart';
import 'package:checker/consts.dart';
import 'package:checker/network.dart';
import 'package:checker/base_state.dart';
import 'package:checker/base/base_state.dart';
import 'package:checker/strings.dart';
/// Экран регистрации магазина и кассы.

View File

@@ -1,15 +1,10 @@
import 'package:checker/screens/currencies.dart';
import 'package:checker/screens/languages.dart';
import 'package:flutter/material.dart';
import 'package:http/http.dart';
import 'dart:convert';
import 'dart:async';
import 'package:checker/common.dart';
import 'package:checker/network.dart';
import 'package:checker/consts.dart';
import 'package:checker/db.dart';
import 'package:checker/strings.dart';
import 'package:checker/base_state.dart';
import 'package:checker/screens/registration.dart';
import 'package:checker/screens/finish_registration.dart';
import 'package:checker/base/base_state.dart';
class SettingsScreen extends StatefulWidget {
@override State createState() => new _SettingsState();
@@ -63,18 +58,23 @@ class _SettingsState extends BaseState<SettingsScreen> {
Widget getSettingsItem(MenuItem item) {
return new Container(
margin: const EdgeInsets.all(16.0),
child: new Row(children: <Widget>[
new Expanded(child: new Text(item.title)),
new Text(item.selectedValue),
getArrow()])
);
height: 56.0,
child: (new FlatButton(onPressed: () => onPressed(menuItems.indexOf(item)),
child: new Row(children: <Widget>[
new Expanded(child: new Container(child: new Text(item.title))),
new Text(item.selectedValue),
getArrow()]))));
}
void onPressed(int position) {
switch (position) {
case 0 : return pushRoute(context, new LanguagesScreen());
case 1 : return pushRoute(context, new CurrenciesScreen());
}
}
Widget getArrow() {
return new Image.asset(settings_arrow_png,
width: 28.0,
height: 28.0);
return new Image.asset(settings_arrow_png);
}
@override

View File

@@ -9,7 +9,7 @@ import 'package:checker/network.dart';
import 'package:checker/consts.dart';
import 'package:checker/resources.dart';
import 'package:checker/db.dart';
import 'package:checker/base_state.dart';
import 'package:checker/base/base_state.dart';
import 'package:checker/screens/registration.dart';
import 'package:checker/screens/finish_registration.dart';
@@ -27,6 +27,7 @@ class _SplashScreenState extends BaseState<SplashScreen> {
helper.getSettings().then((info) {
if (info == null) {
platform.invokeMethod('getLocale').then((locale) {
Intl.defaultLocale = locale;
platform.invokeMethod('getCurrency').then((currency) {
helper.createAppInfo(locale, currency).then((_) {
showNext();