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