diff --git a/lib/ui/screens/fifth_screen.dart b/lib/ui/screens/fifth_screen.dart index 164c4bf0bbf9d52b082c07aee80cd5558d983ea0..f7923afb91efb718971f52bcf8b68acc3a42eddb 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 0000000000000000000000000000000000000000..3f2c90eb1969a67a866273f1fda1c9ef6768f573 --- /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), + ), + ]); + }, + ); + } +}