fix to ensure that new space class/exchange toggles always work
This commit is contained in:
parent
cfa84051c8
commit
62191a9584
3 changed files with 27 additions and 38 deletions
|
|
@ -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,10 +197,13 @@ class AddToSpaceState extends State<AddToSpaceToggles> {
|
|||
title: Row(
|
||||
children: [
|
||||
const SizedBox(width: 32),
|
||||
Text(
|
||||
L10n.of(context)!.suggestTo(possibleParentName),
|
||||
style: TextStyle(
|
||||
color: Theme.of(context).colorScheme.secondary,
|
||||
Expanded(
|
||||
child: Text(
|
||||
L10n.of(context)!.suggestTo(possibleParentName),
|
||||
style: TextStyle(
|
||||
color: Theme.of(context).colorScheme.secondary,
|
||||
),
|
||||
overflow: TextOverflow.ellipsis,
|
||||
),
|
||||
),
|
||||
],
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue