import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'base_state.dart'; import 'consts.dart'; import 'common.dart'; /// Класс содержит заголовки и текст блоков FAQ. class Entry { Entry(this.title, this.text); final String title; final String text; } class EntryItem extends StatelessWidget { const EntryItem(this.entry); final Entry entry; 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(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 Widget build(BuildContext context) { return _buildTiles(context, entry); } } class FAQScreen extends StatefulWidget { FAQScreen(this.b); bool b; @override State createState() => new FAQScreenState(b); } class FAQScreenState extends BaseState { FAQScreenState(this.returnToScanner); bool returnToScanner; @override String getTitle() { return "FAQ"; } @overide getMenuButtons(BuildContext context) { return [getLogoutButton()]; } /// Метод возвращает 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)); } onWillPop() { if(returnToScanner) { return startScanner(context); } else { return true; } } /// Список с контентом final List data = [ new Entry('РЕГИСТРАЦИЯ', registrationGuide), new Entry('ИСПОЛЬЗОВАНИЕ', usageGuide), new Entry('КОНТАКТЫ ПОДДЕРЖКИ', supportGuide), new Entry('ОБЩАЯ ИНФОРМАЦИЯ', commonGuide) ]; static const String registrationGuide = ''' mPreviewing = true;После запуска приложения вы окажетесь на странице регистрации магазина. Введите DIN код магазина (выдается партнером/менеджером International Auto Club, дублируется на почту) Кликнете по кнопке: «Зарегистрировать» Дождитесь подтверждение активации программы, кликом по кнопке «Обновите статус активации» обновите статус. После подтверждения запроса на активацию программы Партнером/менеджером кликнете по кнопке «Завершить регистрацию», приложение готово к использованию. При желании изменить номер кассы, необходимо кликнуть на «значок» верхнем правом углу и вернуться на шаг регистрации. '''; static const String usageGuide = '''Действие 1: При предъявлении покупателем штрих кода участника системы лояльности, запустите данное приложение. На экране появиться сканер штрих кодов. Поднесите гаджет к смартфону или карте покупателя и отсканируйте предъявленный штрих код сканером. При успешном сканировании на вашем экране появятся данные партнера. Действие 2: Необходимо ввести сумму покупки данного покупателя и нажать на кнопку «Зафиксировать». Всплывет окно “Подтверждения правильности ввода суммы” в случае правильного ввода суммы, нажмите “ДА”, сумма будет проведена и вознаграждение будет начислено участнику системы лояльности. Если же сумма введена с ошибкой, нажмите “НЕТ” вы вернетесь на шаг ввода суммы и скорректируете ее.'''; static const String supportGuide = '''При некорректной работе приложения AUTO BONUS просьба сразу обратиться по телефону нашей технической поддержки: 8-800-234-6064 (звонок бесплатный), вас свяжут с менеджером. При звонке приготовьтесь назвать ИНН и наименование вашей организации. Рекомендуйте покупателям установить мобильное приложение дисконтной системы International Auto Club AUTO BONUS, и получайте кэш бэк и их покупок в любых наземных или интернет магазинов. Наш сайт https://www.auto-club.biz'''; static const String commonGuide = '''Для эффективного считывания штрих кода участника системы лояльности необходимо камеру сканера поднести так, чтобы в неё не попадали вертикальные полосы рамки. Долгое сканирование происходит из-за черной рамки, в которую помещен штрих-код, вертикальные полосы этой рамки расцениваются сканером как часть штрих-кода.'''; }