fix to ensure that new space class/exchange toggles always work

pull/1011/head
ggurdin 2 years ago
parent cfa84051c8
commit 62191a9584

@ -1,14 +1,5 @@
import 'dart:developer';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart' as sdk;
import 'package:matrix/matrix.dart';
import 'package:fluffychat/pages/new_space/new_space_view.dart';
import 'package:fluffychat/pangea/constants/class_default_values.dart';
import 'package:fluffychat/pangea/constants/pangea_event_types.dart';
@ -22,6 +13,13 @@ import 'package:fluffychat/pangea/utils/firebase_analytics.dart';
import 'package:fluffychat/pangea/widgets/class/add_space_toggles.dart';
import 'package:fluffychat/pangea/widgets/space/class_settings.dart';
import 'package:fluffychat/widgets/matrix.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:go_router/go_router.dart';
import 'package:matrix/matrix.dart' as sdk;
import 'package:matrix/matrix.dart';
class NewSpace extends StatefulWidget {
const NewSpace({super.key});
@ -46,18 +44,6 @@ class NewSpaceController extends State<NewSpace> {
// #Pangea
bool newClassMode = true;
//in initState, set newClassMode to true if parameter "newClass" is true
//use Vrouter
@override
void initState() {
super.initState();
Future.delayed(Duration.zero, () {
newClassMode =
GoRouterState.of(context).pathParameters['newexchange'] != 'exchange';
setState(() {});
});
}
List<StateEvent> get initialState {
final events = <StateEvent>[];
@ -225,13 +211,13 @@ class NewSpaceController extends State<NewSpace> {
// Pangea#
}
@override
// #Pangea
//toggle newClassMode
void toggleClassMode(bool newValue) {
setState(() => newClassMode = newValue);
// Widget build(BuildContext context) => NewSpaceView(this);
Widget build(BuildContext context) {
newClassMode =
GoRouterState.of(context).pathParameters['newexchange'] != 'exchange';
return NewSpaceView(this);
}
// Pangea#
@override
Widget build(BuildContext context) => NewSpaceView(this);
}

@ -10,6 +10,7 @@ import 'package:fluffychat/widgets/matrix.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:go_router/go_router.dart';
import 'new_space.dart';
@ -40,14 +41,14 @@ class NewSpaceView extends StatelessWidget {
selectedIcon: const Icon(Icons.class_),
color: controller.newClassMode ? activeColor : null,
isSelected: controller.newClassMode,
onPressed: () => controller.toggleClassMode(true),
onPressed: () => context.go('/rooms/newspace'),
),
IconButton(
icon: const Icon(Icons.connecting_airports),
selectedIcon: const Icon(Icons.connecting_airports),
color: !controller.newClassMode ? activeColor : null,
isSelected: !controller.newClassMode,
onPressed: () => controller.toggleClassMode(false),
onPressed: () => context.go('/rooms/newspace/exchange'),
),
],
// title: Text(L10n.of(context)!.createNewSpace),

@ -1,13 +1,12 @@
import 'package:flutter/material.dart';
import 'package:collection/collection.dart';
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:matrix/matrix.dart';
import 'package:fluffychat/config/app_config.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
import 'package:fluffychat/pangea/utils/error_handler.dart';
import '../../../widgets/matrix.dart';
import '../../utils/firebase_analytics.dart';
import 'add_class_and_invite.dart';
@ -198,11 +197,14 @@ class AddToSpaceState extends State<AddToSpaceToggles> {
title: Row(
children: [
const SizedBox(width: 32),
Text(
Expanded(
child: Text(
L10n.of(context)!.suggestTo(possibleParentName),
style: TextStyle(
color: Theme.of(context).colorScheme.secondary,
),
overflow: TextOverflow.ellipsis,
),
),
],
),

Loading…
Cancel
Save