dev
dart 52 lines 1.67 KB
Raw
1 import 'dart:convert';
2 import 'package:flutter/material.dart';
3 import 'package:flutter/services.dart';
4 import 'package:cake_wallet/generated/i18n.dart';
5 import 'package:cake_wallet/src/screens/faq/faq_item.dart';
6 import 'package:cake_wallet/src/screens/base_page.dart';
7 import 'package:cake_wallet/src/widgets/standard_list.dart';
8 import 'package:cake_wallet/store/settings_store.dart';
9
10 class FaqPage extends BasePage {
11 FaqPage(this.settingsStore);
12
13 final SettingsStore settingsStore;
14
15 @override
16 String get title => S.current.faq;
17
18 String get path => 'assets/faq/faq_' + settingsStore.languageCode + '.json';
19
20 @override
21 Widget body(BuildContext context) {
22 return Container(
23 padding: EdgeInsets.only(top: 12, left: 24),
24 child: FutureBuilder(
25 builder: (context, snapshot) {
26 final faqItems = jsonDecode(snapshot.data.toString()) as List;
27
28 return SingleChildScrollView(
29 child: Column(
30 children: <Widget>[
31 StandardListSeparator(),
32 ListView.separated(
33 shrinkWrap: true,
34 physics: NeverScrollableScrollPhysics(),
35 itemBuilder: (BuildContext context, int index) {
36 final title = faqItems[index]["question"].toString();
37 final text = faqItems[index]["answer"].toString();
38
39 return FAQItem(title, text);
40 },
41 separatorBuilder: (_, __) => StandardListSeparator(),
42 itemCount: faqItems?.length ?? 0,
43 )
44 ],
45 ),
46 );
47 },
48 future: rootBundle.loadString(path),
49 ),
50 );
51 }
52 }