import 'package:flutter/material.dart'; import 'package:checker/base_state.dart'; import 'package:checker/consts.dart'; import 'package:checker/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); final bool b; @override State createState() => new FAQScreenState(b); } class FAQScreenState extends BaseState { FAQScreenState(this.returnToScanner); final bool returnToScanner; @override String getTitle() { return "FAQ"; } @override String getHint() { return null; } /// Метод возвращает 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, app, helper); } else { return true; } } /// Список с контентом final List data = [ 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 = ''' Для эффективного считывания штрих-кода участника системы лояльности необходимо камеру сканера поднести так, чтобы в неё не попадали вертикальные полосы рамки. Увеличение времени сканирования может произойти из-за черной рамки, в которую помещен штрих-код, так как вертикальные полосы этой рамки расцениваются сканером как часть штрих-кода. '''; }