Добавил локализацию FAQ. Добавил номера телефонов и url сайтов.
This commit is contained in:
@@ -12,6 +12,7 @@ import 'package:checker/db.dart';
|
||||
|
||||
abstract class BaseState<T extends StatefulWidget> extends State<T> {
|
||||
|
||||
/// Класс для работы с бд.
|
||||
SqliteHelper helper;
|
||||
|
||||
/// Тип сборки. Определяет, какие брать ресурсы (цвета, картинки)
|
||||
@@ -71,7 +72,8 @@ abstract class BaseState<T extends StatefulWidget> extends State<T> {
|
||||
child: getMenuItem(logout_png, StringsLocalization.logout()))
|
||||
];
|
||||
}
|
||||
)];
|
||||
)
|
||||
];
|
||||
}
|
||||
|
||||
void onOptionsItemClick(int index) {
|
||||
@@ -90,6 +92,7 @@ abstract class BaseState<T extends StatefulWidget> extends State<T> {
|
||||
}
|
||||
}
|
||||
|
||||
/// Возвращает пункт меню (Картинка с текстом)
|
||||
Widget getMenuItem(String image, String text) {
|
||||
return new Row(children: [
|
||||
new Image.asset(image, width: 28.0, height: 28.0),
|
||||
@@ -102,24 +105,24 @@ abstract class BaseState<T extends StatefulWidget> extends State<T> {
|
||||
double horizontalMargin = 8.0;
|
||||
return new Container(margin: new EdgeInsets.only(top: horizontalMargin, bottom: horizontalMargin, left: verticalMargin, right: verticalMargin),
|
||||
child: new Row(crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[new Text(getHintString(), textAlign: TextAlign.left,
|
||||
children: <Widget>[new Text(getHintOrError(), textAlign: TextAlign.left,
|
||||
style: new TextStyle(fontWeight: FontWeight.w300, color: error == null ? greyTextColor : Resources.getPrimaryColor(app), fontSize: 14.0))]));
|
||||
}
|
||||
|
||||
/// Возвращает подсказку, либо ошибку, если введенные в поле ввода данные неверны.
|
||||
String getHintString() {
|
||||
String getHintOrError() {
|
||||
if (dinCode.length == 0 && error == null) {
|
||||
return ' ';
|
||||
} else if (error != null) {
|
||||
return error;
|
||||
} else {
|
||||
return getHint();
|
||||
return getHintString();
|
||||
}
|
||||
}
|
||||
|
||||
/// Возвращает текст подсказки для поля ввода.
|
||||
/// Должен быть переопределен на экранах, на которых есть поле ввода.
|
||||
String getHint() {
|
||||
String getHintString() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -199,5 +202,4 @@ abstract class BaseState<T extends StatefulWidget> extends State<T> {
|
||||
Widget wrapButton(EdgeInsets margin, Widget widget) {
|
||||
return new Container(margin: margin, height: buttonHeight, child: new Row(children: <Widget>[new Expanded(child: widget)]));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -3,8 +3,8 @@ import 'package:flutter/material.dart';
|
||||
// Serious constants
|
||||
const String appName = "PIP";
|
||||
|
||||
const String url = 'https://pos-api-int.dinect.com/20130701/';
|
||||
const String appToken = '9fec83cdca38c357e6b65dbb17514cdd36bf2a08';
|
||||
const String url = 'https://pos-api.discount.kiev.ua/20130701/';
|
||||
const String appToken = 'bdea0f3ba9034b688019a7cac753d1209e2b227f';
|
||||
|
||||
// Assets
|
||||
const String logout_png = 'assets/logout.png';
|
||||
|
||||
@@ -30,6 +30,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"no" : MessageLookupByLibrary.simpleMessage("No"),
|
||||
"purchase_complite" : MessageLookupByLibrary.simpleMessage("A purchase of %s USD was complite"),
|
||||
"registration" : MessageLookupByLibrary.simpleMessage("Registration"),
|
||||
"usage" : MessageLookupByLibrary.simpleMessage("Usage"),
|
||||
"support" : MessageLookupByLibrary.simpleMessage("Support contacts"),
|
||||
"common" : MessageLookupByLibrary.simpleMessage("General information"),
|
||||
"request_sent_wait_activ" : MessageLookupByLibrary.simpleMessage("The activation request for the application has been sent, wait for confirm activation"),
|
||||
"reward" : MessageLookupByLibrary.simpleMessage("Reward"),
|
||||
"scan" : MessageLookupByLibrary.simpleMessage("Scan"),
|
||||
@@ -46,7 +49,43 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"locale" : MessageLookupByLibrary.simpleMessage("Language"),
|
||||
"ruble" : MessageLookupByLibrary.simpleMessage("Ruble"),
|
||||
"dollar" : MessageLookupByLibrary.simpleMessage("Dollar"),
|
||||
"hryvna" : MessageLookupByLibrary.simpleMessage("Hryvna")
|
||||
"hryvna" : MessageLookupByLibrary.simpleMessage("Hryvna"),
|
||||
"registration_guide": MessageLookupByLibrary.simpleMessage('''
|
||||
Store log in screen is the first thing you will see after starting the application.
|
||||
|
||||
Enter the store number (DIN). You can look it up in the loyalty program control panel. If you do not have access to the control panel, ask the administrator.
|
||||
|
||||
Click the ""Login"" button.
|
||||
|
||||
Please wait while the administrator activates your request. You can refresh your store activation status by pressing the ""Update activation status"" button.
|
||||
|
||||
After the administrator activates your request, click the ""Complete activation"" button. The application is ready to use.
|
||||
|
||||
If you want to log in as another store, click the Menu button (upper right corner of the screen) and select "Exit".
|
||||
'''),
|
||||
"usage_guide": MessageLookupByLibrary.simpleMessage('''
|
||||
Step 1:
|
||||
|
||||
Launch this application and scan your customer's loyalty card using the built in scanner.
|
||||
|
||||
If the scan is successful, the customer's information will appear on the screen.
|
||||
|
||||
Step 2:
|
||||
|
||||
Enter the purchase amount and click the ""Create a purchase"" button.
|
||||
|
||||
In a pop-up window press ""YES"" to confirm the amount and allot the points to a customer.
|
||||
|
||||
If you want to correct the amount, press ""NO"" and you will return back to the purchase screen where you can adjust the amount.
|
||||
'''),
|
||||
"support_guide": MessageLookupByLibrary.simpleMessage('''
|
||||
Always recommend your customers to install your loyalty card app, so they can participate in your loyalty program.
|
||||
|
||||
If you have any problems with the application, feel free to contact the support.
|
||||
|
||||
Phone: %s
|
||||
Our website: %s'''),
|
||||
"common_guide": MessageLookupByLibrary.simpleMessage('''
|
||||
To improve barcode scanning quality, adjust the distance between the camera and the barcode so that the border around the barcode (if any) is not visible. Otherwise the vertical lines of the border could be wrongly considered as part of the code.''')
|
||||
};
|
||||
}
|
||||
|
||||
@@ -46,6 +46,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"locale" : MessageLookupByLibrary.simpleMessage("La lengua"),
|
||||
"ruble" : MessageLookupByLibrary.simpleMessage("Ruble"),
|
||||
"dollar" : MessageLookupByLibrary.simpleMessage("Dollar"),
|
||||
"hryvna" : MessageLookupByLibrary.simpleMessage("Hryvna")
|
||||
"hryvna" : MessageLookupByLibrary.simpleMessage("Hryvna"),
|
||||
"registration_guide": MessageLookupByLibrary.simpleMessage('''
|
||||
Después del inicio de una aplicación móvil usted será movido a la página del registro del negocio. Ponga DIN del negocio (DIN está generada por el sistema en el paso del registro del negocio).
|
||||
''')
|
||||
};
|
||||
}
|
||||
|
||||
@@ -30,6 +30,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"no" : MessageLookupByLibrary.simpleMessage("Нет"),
|
||||
"purchase_complite" : MessageLookupByLibrary.simpleMessage("Покупка на сумму %s %s проведена"),
|
||||
"registration" : MessageLookupByLibrary.simpleMessage("Регистрация"),
|
||||
"usage" : MessageLookupByLibrary.simpleMessage("Использование"),
|
||||
"support" : MessageLookupByLibrary.simpleMessage("Контакты поддержки"),
|
||||
"common" : MessageLookupByLibrary.simpleMessage("Общая информация"),
|
||||
"request_sent_wait_activ" : MessageLookupByLibrary.simpleMessage("Запрос на активацию приложения отправлен, дождитесь подтверждения активации администратором"),
|
||||
"reward" : MessageLookupByLibrary.simpleMessage("Вознаграждение"),
|
||||
"scan" : MessageLookupByLibrary.simpleMessage("Сканировать"),
|
||||
@@ -58,6 +61,44 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"plural_tenge": MessageLookupByLibrary.simpleMessage("Тенге"),
|
||||
"nominative_euro": MessageLookupByLibrary.simpleMessage("Евро"),
|
||||
"singular_euro": MessageLookupByLibrary.simpleMessage("Евро"),
|
||||
"plural_euro": MessageLookupByLibrary.simpleMessage("Евро")
|
||||
"plural_euro": MessageLookupByLibrary.simpleMessage("Евро"),
|
||||
"registration_guide": MessageLookupByLibrary.simpleMessage('''
|
||||
После запуска приложения вы окажетесь на странице регистрации магазина.
|
||||
|
||||
Введите DIN код магазина (выдается партнером/менеджером International Auto Club, дублируется на почту)
|
||||
|
||||
Кликните по кнопке: «Зарегистрировать»
|
||||
Дождитесь подтверждение активации программы, кликом по кнопке «Обновите статус активации» обновите статус.
|
||||
|
||||
После подтверждения запроса на активацию программы Партнером/менеджером кликните по кнопке «Завершить регистрацию», приложение готово к использованию.
|
||||
|
||||
При желании изменить номер кассы, необходимо кликнуть на «значок» верхнем правом углу и вернуться на шаг регистрации.
|
||||
'''),
|
||||
"usage_guide": MessageLookupByLibrary.simpleMessage('''
|
||||
Шаг 1:
|
||||
|
||||
Запустите прилодение для сканирования карты участника системы лояльности.
|
||||
|
||||
При успешном сканировании на вашем экране появятся данные покупателя.
|
||||
|
||||
Шаг 2:
|
||||
|
||||
Введите сумму покупки данного покупателя и нажмите на кнопку «Проведение покупки».
|
||||
|
||||
Во всплывающем окне нажмите ""ДА"", для подтверждения суммы покупки
|
||||
|
||||
Если вы хотите поправить сумму, нажмите «НЕТ» и Вы вернетесь на экран покупки и сможете её скорректировать.
|
||||
'''),
|
||||
"support_guide": MessageLookupByLibrary.simpleMessage('''
|
||||
Рекомендуйте покупателям установить мобильное приложение дисконтной системы и получайте новых лояльных покупателей.
|
||||
|
||||
При некорректной работе приложения просьба сразу обратиться по телефону нашей технической поддержки.
|
||||
|
||||
Телефон: %s
|
||||
Наш сайт: %s
|
||||
'''),
|
||||
"common_guide": MessageLookupByLibrary.simpleMessage('''
|
||||
Для эффективного считывания штрих-кода карты участника системы лояльности необходимо камеру сканера поднести так, чтобы в неё не попадали вертикальные полосы рамки (если она есть). Они расцениваются сканером как часть штрих-кода.
|
||||
''')
|
||||
};
|
||||
}
|
||||
|
||||
@@ -30,6 +30,9 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"no" : MessageLookupByLibrary.simpleMessage("Ні"),
|
||||
"purchase_complite" : MessageLookupByLibrary.simpleMessage("Купівля на суму %s %s проведена"),
|
||||
"registration" : MessageLookupByLibrary.simpleMessage("Реєстрація"),
|
||||
"usage" : MessageLookupByLibrary.simpleMessage("Використання"),
|
||||
"support" : MessageLookupByLibrary.simpleMessage("Контакти підтримки"),
|
||||
"common" : MessageLookupByLibrary.simpleMessage("Загальна інформація"),
|
||||
"request_sent_wait_activ" : MessageLookupByLibrary.simpleMessage("Запит на активацію додатку відправлений, дочекайтеся підтвердження активації адміністратором"),
|
||||
"reward" : MessageLookupByLibrary.simpleMessage("Винагорода"),
|
||||
"scan" : MessageLookupByLibrary.simpleMessage("Сканувати"),
|
||||
@@ -58,6 +61,46 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"plural_tenge": MessageLookupByLibrary.simpleMessage("Тенге"),
|
||||
"nominative_euro": MessageLookupByLibrary.simpleMessage("Євро"),
|
||||
"singular_euro": MessageLookupByLibrary.simpleMessage("Євро"),
|
||||
"plural_euro": MessageLookupByLibrary.simpleMessage("Євро")
|
||||
"plural_euro": MessageLookupByLibrary.simpleMessage("Євро"),
|
||||
"registration_guide": MessageLookupByLibrary.simpleMessage('''
|
||||
Після запуску програми ви опинитеся на сторінці реєстрації магазина.
|
||||
|
||||
Введіть DIN код магазину (видається при підключенні до системи лояльності)
|
||||
|
||||
Натисніть на кнопку «Зареєструвати»
|
||||
Дочекайтеся підтвердження активації програми, натисканням на кнопку «Оновлення статус активації» поновіть статус.
|
||||
|
||||
Після підтвердження запиту на активацію програми Партнером / менеджером клікніть по кнопці «Завершити реєстрацію», додаток готове до використання.
|
||||
|
||||
При бажанні змінити номер каси, необхідно натиснути на кнопку Меню (верхній правий кут екрану) і вибрати "Вихід".
|
||||
'''),
|
||||
"usage_guide": MessageLookupByLibrary.simpleMessage('''
|
||||
Крок 1:
|
||||
|
||||
При пред'явленні покупцем картки учасника системи лояльності, запустіть цю програму.
|
||||
|
||||
На екрані з'явиться сканер штрих кодів. Відскануте штрих-код карти сканером.
|
||||
|
||||
При успішному скануванні на вашому екрані з'являться дані покупця.
|
||||
|
||||
Крок 2:
|
||||
|
||||
Необхідно ввести суму покупки даного покупця і клікнути на кнопку «Проведення покупки».
|
||||
|
||||
Спливе вікно підтвердження правильності введення суми. У разі правильного введення суми, натисніть «ТАК», сума буде проведена і винагороду буде нараховано учаснику системи лояльності.
|
||||
|
||||
Якщо сума введена з помилкою, натисніть «НІ» і Ви повернетеся на крок введення суми і зможете її скорегувати.
|
||||
'''),
|
||||
"support_guide": MessageLookupByLibrary.simpleMessage('''
|
||||
Рекомендуйте покупцям встановити мобільний додаток дисконтної системи і отримуйте нових лояльних покупців.
|
||||
|
||||
При некоректній роботі програми прохання відразу звернутися за телефоном нашої технічної підтримки.
|
||||
|
||||
Телефон: %s
|
||||
Наш сайт: %s"
|
||||
'''),
|
||||
"common_guide": MessageLookupByLibrary.simpleMessage('''
|
||||
Для ефективного зчитування штрих-коду карти учасника системи лояльності необхідно камеру сканера піднести так, щоб в неї не потрапляли вертикальні смуги рамки. Вони розцінюються сканером як частина штрих-коду.
|
||||
''')
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
import 'package:checker/resources.dart';
|
||||
import 'package:checker/strings.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:checker/base/base_state.dart';
|
||||
import 'package:checker/consts.dart';
|
||||
import 'package:checker/common.dart';
|
||||
import 'package:checker/db.dart';
|
||||
|
||||
/// Класс содержит заголовки и текст блоков FAQ.
|
||||
class Entry {
|
||||
@@ -19,14 +21,38 @@ class EntryItem extends StatelessWidget {
|
||||
|
||||
Widget _buildTiles(BuildContext context, Entry root) {
|
||||
EdgeInsets margin = new EdgeInsets.only(left: 20.0, right: 20.0);
|
||||
TextStyle titleStyle = Theme.of(context).textTheme.button.copyWith(fontWeight: FontWeight.bold, color: faqTitlesColor);
|
||||
return new Container(margin: margin, child: new Card(child: new ExpansionTile(
|
||||
key: new PageStorageKey<Entry>(root),
|
||||
title:new Text(root.title, style: titleStyle),
|
||||
children: [new Container(margin: margin, padding: new EdgeInsets.only(top: 12.0, bottom: 20.0),
|
||||
child: new Text(root.text, style: new TextStyle(fontWeight: FontWeight.w300, color: faqGrey, fontSize: 14.0)),
|
||||
decoration: new BoxDecoration(border: new Border(top: new BorderSide(color: greyTextColor, width: 0.5))))]
|
||||
)));
|
||||
TextStyle titleStyle = Theme.of(context).textTheme.button.copyWith(
|
||||
fontWeight: FontWeight.bold,
|
||||
color: faqTitlesColor);
|
||||
return new Container(margin: margin, child: new Card(
|
||||
child: new ExpansionTile(
|
||||
key: new PageStorageKey<Entry>(root),
|
||||
title:new Text(
|
||||
root.title,
|
||||
style: titleStyle),
|
||||
children: [
|
||||
new Container(
|
||||
margin: margin,
|
||||
padding: new EdgeInsets.only(top: 12.0, bottom: 20.0),
|
||||
child: new Text(
|
||||
root.text,
|
||||
style: new TextStyle(
|
||||
fontWeight: FontWeight.w300,
|
||||
color: faqGrey,
|
||||
fontSize: 14.0)
|
||||
),
|
||||
decoration: new BoxDecoration(
|
||||
border: new Border(
|
||||
top: new BorderSide(
|
||||
color: greyTextColor,
|
||||
width: 0.5)
|
||||
)
|
||||
)
|
||||
)
|
||||
]
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -46,14 +72,16 @@ class FAQScreen extends StatefulWidget {
|
||||
class FAQScreenState<T> extends BaseState<FAQScreen> {
|
||||
|
||||
FAQScreenState(this.returnToScanner);
|
||||
final bool returnToScanner;
|
||||
String app;
|
||||
|
||||
bool returnToScanner;
|
||||
|
||||
List<Entry> data;
|
||||
|
||||
@override String getTitle() {
|
||||
return StringsLocalization.help();
|
||||
}
|
||||
|
||||
@override String getHint() {
|
||||
@override String getHintString() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -62,10 +90,32 @@ class FAQScreenState<T> extends BaseState<FAQScreen> {
|
||||
platform.invokeMethod('getFlavor').then((flavor) {
|
||||
setState(() {
|
||||
app = flavor;
|
||||
initPhoneAndUrl();
|
||||
});
|
||||
});
|
||||
}
|
||||
return new Scaffold(appBar: getAppBar(),body: getScreenContent());
|
||||
return new Scaffold(appBar: getAppBar(), body: getScreenContent());
|
||||
}
|
||||
|
||||
void initPhoneAndUrl() {
|
||||
String phone, url;
|
||||
if (app == 'pip') {
|
||||
phone = 'Tel: +38 080 030 9997\nTel: +38 044 390 1697';
|
||||
url = 'http://discount.kiev.ua/';
|
||||
} else if (app == 'autobonus') {
|
||||
phone = '8-800-234-6064';
|
||||
url = 'https://www.auto-club.biz';
|
||||
}
|
||||
initHelp(phone, url);
|
||||
}
|
||||
|
||||
void initHelp(String phone, String url) {
|
||||
data = <Entry>[
|
||||
new Entry(StringsLocalization.registration(), StringsLocalization.registrationGuide()),
|
||||
new Entry(StringsLocalization.usage(), StringsLocalization.usageGuide()),
|
||||
new Entry(StringsLocalization.support(), StringsLocalization.supportGuide(phone, url)),
|
||||
new Entry(StringsLocalization.common(), StringsLocalization.commonGuide())
|
||||
];
|
||||
}
|
||||
|
||||
@override List<Widget> getMenuButtons() {
|
||||
@@ -74,71 +124,25 @@ class FAQScreenState<T> extends BaseState<FAQScreen> {
|
||||
|
||||
/// Метод возвращает ListView с блоками faq.
|
||||
@override Widget getScreenContent() {
|
||||
return new WillPopScope(onWillPop: onWillPop, child: new ListView.builder(
|
||||
itemBuilder: (BuildContext context, int index) => new EntryItem(data[index]),
|
||||
itemCount: data.length));
|
||||
if (data == null) {
|
||||
return new Container(
|
||||
decoration: new BoxDecoration(
|
||||
image: new DecorationImage(
|
||||
image: new ExactAssetImage(Resources.getSplash(app)),
|
||||
fit: BoxFit.cover)));
|
||||
} else {
|
||||
return new WillPopScope(onWillPop: onWillPop, child: new ListView.builder(
|
||||
itemBuilder: (BuildContext context, int index) =>
|
||||
new EntryItem(data[index]),
|
||||
itemCount: data.length));
|
||||
}
|
||||
}
|
||||
|
||||
onWillPop() {
|
||||
onWillPop() {
|
||||
if(returnToScanner) {
|
||||
return startScanner(context, app, helper);
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/// Список с контентом
|
||||
final List<Entry> data = <Entry>[
|
||||
new Entry('РЕГИСТРАЦИЯ', registrationGuide),
|
||||
new Entry('ИСПОЛЬЗОВАНИЕ', usageGuide),
|
||||
new Entry('КОНТАКТЫ ПОДДЕРЖКИ', supportGuide),
|
||||
new Entry('ОБЩАЯ ИНФОРМАЦИЯ', commonGuide)
|
||||
];
|
||||
|
||||
static const String registrationGuide = '''
|
||||
После запуска приложения вы окажетесь на странице регистрации магазина.
|
||||
|
||||
Введите DIN код магазина (выдается партнером/менеджером International Auto Club, дублируется на почту)
|
||||
|
||||
Кликните по кнопке: «Зарегистрировать»
|
||||
Дождитесь подтверждение активации программы, кликом по кнопке «Обновите статус активации» обновите статус.
|
||||
|
||||
После подтверждения запроса на активацию программы Партнером/менеджером кликните по кнопке «Завершить регистрацию», приложение готово к использованию.
|
||||
|
||||
При желании изменить номер кассы, необходимо кликнуть на «значок» верхнем правом углу и вернуться на шаг регистрации.
|
||||
''';
|
||||
|
||||
static const String usageGuide = '''
|
||||
Действие 1:
|
||||
|
||||
При предъявлении покупателем штрих-кода участника системы лояльности, запустите данное приложение.
|
||||
|
||||
На экране появится сканер штрих кодов. Отсканируйте предъявленный штрих-код сканером.
|
||||
|
||||
При успешном сканировании на вашем экране появятся данные партнера.
|
||||
|
||||
Действие 2:
|
||||
|
||||
Необходимо ввести сумму покупки данного покупателя и кликнуть по кнопке «Зафиксировать».
|
||||
|
||||
Всплывет окно подтверждения правильности ввода суммы». В случае правильного ввода суммы, кликните «ДА», сумма будет проведена и вознаграждение будет начислено участнику системы лояльности.
|
||||
|
||||
Если сумма введена с ошибкой, кликните «НЕТ» и Вы вернетесь на шаг ввода суммы и сможете её скорректировать.
|
||||
''';
|
||||
|
||||
static const String supportGuide = '''
|
||||
При некорректной работе приложения AUTO BONUS просьба сразу обратиться по телефону нашей технической поддержки: 8-800-234-6064 (звонок бесплатный) и Вас свяжут с менеджером.
|
||||
|
||||
При звонке приготовьтесь назвать ИНН и наименование вашей организации.
|
||||
|
||||
Рекомендуйте покупателям установить мобильное приложение дисконтной системы International Auto Club AUTO CLUB и получайте новых лояльных покупателей.
|
||||
|
||||
Наш сайт https://www.auto-club.biz
|
||||
''';
|
||||
|
||||
static const String commonGuide = '''
|
||||
Для эффективного считывания штрих-кода участника системы лояльности необходимо камеру сканера поднести так, чтобы в неё не попадали вертикальные полосы рамки.
|
||||
|
||||
Увеличение времени сканирования может произойти из-за черной рамки, в которую помещен штрих-код, так как вертикальные полосы этой рамки расцениваются сканером как часть штрих-кода.
|
||||
''';
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ class RegistrationScreenState extends BaseState<FinishRegistrationScreen> {
|
||||
return StringsLocalization.registration();
|
||||
}
|
||||
|
||||
@override getHint() {
|
||||
@override getHintString() {
|
||||
return _merchantID;
|
||||
}
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@ class PurchaseScreenState<T> extends BaseState<PurchaseScreen> {
|
||||
return StringsLocalization.carryingPurchase();
|
||||
}
|
||||
|
||||
@override getHint() {
|
||||
@override getHintString() {
|
||||
return StringsLocalization.sum();
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ class PurchaseScreenState<T> extends BaseState<PurchaseScreen> {
|
||||
return new TextField(
|
||||
keyboardType: TextInputType.number,
|
||||
decoration: new InputDecoration.collapsed(
|
||||
hintText: getHint(),
|
||||
hintText: getHintString(),
|
||||
hintStyle: new TextStyle(color: greyTextColor, fontSize: 16.0)
|
||||
),
|
||||
controller: controller,
|
||||
|
||||
@@ -36,7 +36,7 @@ class PurchaseSuccessScreenState<T> extends BaseState<PurchaseSuccessScreen> {
|
||||
return StringsLocalization.carryingPurchase();
|
||||
}
|
||||
|
||||
@override String getHint() {
|
||||
@override String getHintString() {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ class RegistrationScreenState extends BaseState<RegistrationScreen> {
|
||||
return StringsLocalization.registration();
|
||||
}
|
||||
|
||||
@override getHint() {
|
||||
@override getHintString() {
|
||||
return StringsLocalization.idStore();
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ class RegistrationScreenState extends BaseState<RegistrationScreen> {
|
||||
|
||||
@override getTextWidget() {
|
||||
return new TextField(keyboardType: TextInputType.number,
|
||||
decoration: new InputDecoration.collapsed(hintText: getHint(),
|
||||
decoration: new InputDecoration.collapsed(hintText: getHintString(),
|
||||
hintStyle: new TextStyle(color: greyTextColor, fontSize: 16.0)),
|
||||
onChanged: (text) => handleUserInput(text));
|
||||
}
|
||||
|
||||
@@ -78,6 +78,9 @@ class StringsLocalization {
|
||||
}
|
||||
|
||||
static String registration() => Intl.message('registration', name: 'registration', locale: Intl.defaultLocale);
|
||||
static String usage() => Intl.message('usage', name: 'usage', locale: Intl.defaultLocale);
|
||||
static String support() => Intl.message('support', name: 'support', locale: Intl.defaultLocale);
|
||||
static String common() => Intl.message('common', name: 'common', locale: Intl.defaultLocale);
|
||||
static String idStore() => Intl.message('ID_Store', name: 'ID_Store', locale: Intl.defaultLocale);
|
||||
static String signUp() => Intl.message('sign_up', name: 'sign_up', locale: Intl.defaultLocale);
|
||||
static String specifyDinStore() => Intl.message('specify_din_store', name: 'specify_din_store', locale: Intl.defaultLocale);
|
||||
@@ -126,4 +129,11 @@ class StringsLocalization {
|
||||
static String singularTenge() => Intl.message('singular_tenge', name: 'singular_tenge', locale: Intl.defaultLocale);
|
||||
static String pluralTenge() => Intl.message('plural_tenge', name: 'plural_tenge', locale: Intl.defaultLocale);
|
||||
|
||||
static String registrationGuide() => Intl.message('registration_guide', name: 'registration_guide', locale: Intl.defaultLocale);
|
||||
static String usageGuide() => Intl.message('usage_guide', name: 'usage_guide', locale: Intl.defaultLocale);
|
||||
static String commonGuide() => Intl.message('common_guide', name: 'common_guide', locale: Intl.defaultLocale);
|
||||
|
||||
static String supportGuide(String phone, String url) {
|
||||
return sprintf(Intl.message('support_guide', name: 'support_guide', locale: Intl.defaultLocale), [phone, url]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user