1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2024-11-21 20:39:22 +00:00

Add new panes to tour

This commit is contained in:
Pierre HUBERT 2021-04-24 08:51:56 +02:00
parent 1129726bbd
commit 18d3ae6955
4 changed files with 45 additions and 12 deletions

View File

@ -1,7 +1,12 @@
import 'package:comunic/forez/helpers/forez_group_helper.dart';
import 'package:comunic/forez/tour/join_group_pane.dart';
import 'package:comunic/ui/routes/forez_presence_settings_route.dart';
import 'package:comunic/ui/routes/tour_route.dart';
import 'package:comunic/ui/widgets/tour/account_image_tour_pane.dart';
import 'package:comunic/ui/widgets/tour/first_pane.dart';
import 'package:comunic/ui/widgets/tour/last_pane.dart';
import 'package:comunic/ui/widgets/tour/presentation_pane.dart';
import 'package:comunic/ui/widgets/tour/tour_notifications_pane.dart';
import 'package:comunic/utils/intl_utils.dart';
import 'package:flutter/material.dart';
@ -21,13 +26,38 @@ List<Widget> buildTour(TourRouteState state) {
FirstTourPane(
msgOne: tr(
"Welcome to #Forez, the central application dedicated to events planning in the Forez plain!"),
msgTwo: tr(
"Let's configure the application and present you some essential features!"),
msgTwo: tr("Let's first join a Forez group!"),
),
JoinGroupPane(
JoinForezGroupPane(
key: state.pubKeys[_JOIN_GROUP_KEY_ID],
onUpdated: () => state.rebuild(),
),
FirstTourPane(
msgOne: tr("Great, you are now a member of a Forez group!"),
msgTwo: tr(
"Before we continue, you must be aware that #Forez is now based on Comunic, so you are using Comunic in fact..."),
),
AccountImageTourPane(
user: state.currUser,
onUpdated: (ctx) => state.setStateKeepCurrentIndex(ctx),
),
TourNotificationsPane(
pushNotificationsKey: state.pushNotificationsKey,
onConfigured: state.rebuild,
onChanged: state.rebuild,
),
// Forez specific features
PresentationPane(
icon: Icons.calendar_today,
title: tr("Forez in presence"),
text: tr(
"Easily specify the days you are in Forez plain, so that everyone can know it!"),
actionTitle: tr("Do it now!"),
onActionTap: (context) async =>
showPresenceSettingsRoute(context, await ForezGroupHelper.getId()),
),
LastTourPane(),
];
}

View File

@ -14,8 +14,8 @@ import 'package:flutter/material.dart';
///
/// @author Pierre Hubert
class JoinGroupPane extends PresentationPane {
JoinGroupPane({
class JoinForezGroupPane extends PresentationPane {
JoinForezGroupPane({
@required Function() onUpdated,
@required GlobalKey<JoinGroupPaneBodyState> key,
}) : super(

View File

@ -114,7 +114,10 @@ class PushNotificationsConfigurationWidgetState
child: Column(
children: [
Text(
tr("Comunic can send you push notifications to your device."),
tr("%app% can send you push notifications to your device.",
args: {
"app": config().appName,
}),
textAlign: TextAlign.center,
),
SizedBox(height: 10),

View File

@ -78,18 +78,18 @@ class _InitializeWidgetState extends SafeState<InitializeWidget> {
return;
}
final prefs = await PreferencesHelper.getInstance();
if (!prefs.getBool(PreferencesKeyList.IS_TOUR_SEEN))
await showTour(context);
print("Attempting WebSocket connection...");
setState(() {
_error = false;
});
await WebSocketHelper.connect();
final prefs = await PreferencesHelper.getInstance();
if (!prefs.getBool(PreferencesKeyList.IS_TOUR_SEEN))
await showTour(context);
print("Attempting WebSocket connection...");
setState(() {});
} catch (e, stack) {
print("Could not connect to server! $e");