From 2a5b7525de539bbc9b758caaafe72f6e8079d6d4 Mon Sep 17 00:00:00 2001 From: vjrj <vjrj@comunes.org> Date: Sun, 2 Apr 2023 13:47:21 +0200 Subject: [PATCH] Added FAQ --- lib/ui/screens/fifth_screen.dart | 12 ++++++++- lib/ui/widgets/faq.dart | 46 ++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 lib/ui/widgets/faq.dart diff --git a/lib/ui/screens/fifth_screen.dart b/lib/ui/screens/fifth_screen.dart index 164c4bf0..f7923afb 100644 --- a/lib/ui/screens/fifth_screen.dart +++ b/lib/ui/screens/fifth_screen.dart @@ -1,13 +1,16 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:share_plus/share_plus.dart'; import '../../data/models/app_cubit.dart'; import '../../data/models/app_state.dart'; import '../../data/models/node_type.dart'; +import '../../shared_prefs.dart'; import '../ui_helpers.dart'; import '../widgets/bottom_widget.dart'; import '../widgets/card_drawer.dart'; +import '../widgets/faq.dart'; import '../widgets/fifth_screen/export_dialog.dart'; import '../widgets/fifth_screen/grid_item.dart'; import '../widgets/fifth_screen/import_dialog.dart'; @@ -64,10 +67,11 @@ class FifthScreen extends StatelessWidget { value: Locale('nl'), child: Text('Nederlands'), ), - // Add more DropdownMenuItem for more languages ], ), + const TextDivider(text: 'faq_title'), + const FAQ(), const TextDivider(text: 'key_tools_title'), GridView.count( physics: const NeverScrollableScrollPhysics(), @@ -102,6 +106,12 @@ class FifthScreen extends StatelessWidget { }, ); }), + if (showShare()) + GridItem( + title: 'share_your_key', + icon: Icons.share, + onTap: () => Share.share( + SharedPreferencesHelper().getPubKey())), GridItem( title: 'copy_your_key', icon: Icons.copy, diff --git a/lib/ui/widgets/faq.dart b/lib/ui/widgets/faq.dart new file mode 100644 index 00000000..3f2c90eb --- /dev/null +++ b/lib/ui/widgets/faq.dart @@ -0,0 +1,46 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; + +class FAQ extends StatefulWidget { + const FAQ({super.key}); + + @override + State<FAQ> createState() => _FAQState(); +} + +class _FAQState extends State<FAQ> { + int? _currentIndex; + + @override + Widget build(BuildContext context) { + return ListView.builder( + physics: const NeverScrollableScrollPhysics(), + shrinkWrap: true, + itemCount: 5, + itemBuilder: (BuildContext context, int index) { + final String question = tr('faq_${index}_title'); + final String answer = tr('faq_${index}_desc'); + return ExpansionTile( + key: Key('builder $_currentIndex'), + title: Text(question), + initiallyExpanded: _currentIndex == index, + onExpansionChanged: (bool newState) { + if (newState) + setState(() { + _currentIndex = index; + }); + else + setState(() { + _currentIndex = -1; + }); + }, + children: <Widget>[ + Padding( + padding: const EdgeInsets.all(8.0), + child: Text(answer), + ), + ]); + }, + ); + } +} -- GitLab