mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-04 12:14:11 +00:00 
			
		
		
		
	Add new panes to tour
This commit is contained in:
		@@ -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(),
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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(
 | 
			
		||||
 
 | 
			
		||||
@@ -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),
 | 
			
		||||
 
 | 
			
		||||
@@ -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");
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user