Merge pull request #2940 from pangeachat/2901-close-chat-or-turn-off-chat-details-button-when-kicked

chore: hide chat header buttons if membership is leave
This commit is contained in:
ggurdin 2025-06-05 11:49:18 -04:00 committed by GitHub
commit 36beb480fe
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 35 additions and 59 deletions

View file

@ -109,44 +109,43 @@ class ChatView extends StatelessWidget {
],
),
];
} else if (!controller.room.isArchived) {
// #Pangea
return [
IconButton(
icon: const Icon(Icons.search_outlined),
tooltip: L10n.of(context).search,
onPressed: () {
context.go('/rooms/${controller.room.id}/search');
},
),
IconButton(
icon: const Icon(Icons.settings_outlined),
tooltip: L10n.of(context).chatDetails,
onPressed: () {
if (GoRouterState.of(context).uri.path.endsWith('/details')) {
context.go('/rooms/${controller.room.id}');
} else {
context.go('/rooms/${controller.room.id}/details');
}
},
),
];
// return [
// if (AppConfig.experimentalVoip &&
// Matrix.of(context).voipPlugin != null &&
// controller.room.isDirectChat)
// IconButton(
// onPressed: controller.onPhoneButtonTap,
// icon: const Icon(Icons.call_outlined),
// tooltip: L10n.of(context).placeCall,
// ),
// EncryptionButton(controller.room),
// ChatSettingsPopupMenu(controller.room, true),
// ];
// Pangea#
}
// } else if (!controller.room.isArchived) {
// return [
// if (AppConfig.experimentalVoip &&
// Matrix.of(context).voipPlugin != null &&
// controller.room.isDirectChat)
// IconButton(
// onPressed: controller.onPhoneButtonTap,
// icon: const Icon(Icons.call_outlined),
// tooltip: L10n.of(context).placeCall,
// ),
// EncryptionButton(controller.room),
// ChatSettingsPopupMenu(controller.room, true),
// ];
// }
// return [];
return [
IconButton(
icon: const Icon(Icons.search_outlined),
tooltip: L10n.of(context).search,
onPressed: () {
context.go('/rooms/${controller.room.id}/search');
},
),
IconButton(
icon: const Icon(Icons.settings_outlined),
tooltip: L10n.of(context).chatDetails,
onPressed: () {
if (GoRouterState.of(context).uri.path.endsWith('/details')) {
context.go('/rooms/${controller.room.id}');
} else {
context.go('/rooms/${controller.room.id}/details');
}
},
),
];
// Pangea#
return [];
}
@override

View file

@ -1,5 +1,3 @@
import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
@ -12,7 +10,6 @@ import 'package:fluffychat/pangea/activity_planner/activity_planner_page.dart';
import 'package:fluffychat/pangea/activity_planner/bookmarked_activities_repo.dart';
import 'package:fluffychat/pangea/activity_suggestions/activity_suggestion_card.dart';
import 'package:fluffychat/pangea/activity_suggestions/activity_suggestion_dialog.dart';
import 'package:fluffychat/widgets/matrix.dart';
class BookmarkedActivitiesList extends StatefulWidget {
final Room? room;
@ -42,27 +39,7 @@ class BookmarkedActivitiesListState extends State<BookmarkedActivitiesList> {
Future<void> _onEdit(
String activityId,
ActivityPlanModel activity,
Uint8List? avatar,
String? filename,
) async {
if (avatar != null) {
final url = await Matrix.of(context).client.uploadContent(
avatar,
filename: filename,
);
if (!mounted) return;
setState(() {
activity = ActivityPlanModel(
req: activity.req,
title: activity.title,
learningObjective: activity.learningObjective,
instructions: activity.instructions,
vocab: activity.vocab,
imageURL: url.toString(),
);
});
}
await BookmarkedActivitiesRepo.remove(activityId);
await BookmarkedActivitiesRepo.save(activity);
if (mounted) setState(() {});