Merge pull request #223 from pangeachat/archive-only-show-chats

Archive list only shows chats
pull/1183/head
ggurdin 2 years ago committed by GitHub
commit 4466c64436
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -1,13 +1,12 @@
import 'package:flutter/material.dart';
import 'package:adaptive_dialog/adaptive_dialog.dart'; import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:fluffychat/pages/archive/archive_view.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
import 'package:fluffychat/widgets/matrix.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:future_loading_dialog/future_loading_dialog.dart'; import 'package:future_loading_dialog/future_loading_dialog.dart';
import 'package:matrix/matrix.dart'; import 'package:matrix/matrix.dart';
import 'package:fluffychat/pages/archive/archive_view.dart';
import 'package:fluffychat/widgets/matrix.dart';
class Archive extends StatefulWidget { class Archive extends StatefulWidget {
const Archive({super.key}); const Archive({super.key});
@ -20,7 +19,12 @@ class ArchiveController extends State<Archive> {
Future<List<Room>> getArchive(BuildContext context) async { Future<List<Room>> getArchive(BuildContext context) async {
if (archive.isNotEmpty) return archive; if (archive.isNotEmpty) return archive;
return archive = await Matrix.of(context).client.loadArchive(); // #Pangea
//return archive = await Matrix.of(context).client.loadArchive();
return archive = (await Matrix.of(context).client.loadArchive())
.where((e) => (!e.isSpace && !e.isAnalyticsRoom))
.toList();
// Pangea#
} }
void forgetRoomAction(int i) async { void forgetRoomAction(int i) async {

@ -116,7 +116,8 @@ class ChatView extends StatelessWidget {
// #Pangea // #Pangea
} else { } else {
return [ return [
ChatSettingsPopupMenu(controller.room, !controller.room.isDirectChat), ChatSettingsPopupMenu(controller.room,
(!controller.room.isDirectChat && !controller.room.isArchived)),
]; ];
} }

@ -83,19 +83,22 @@ class ChatSettingsPopupMenuState extends State<ChatSettingsPopupMenu> {
], ],
), ),
), ),
PopupMenuItem<String>( // #Pangea
value: 'leave', if (!widget.room.isArchived)
child: Row( // Pangea#
children: [ PopupMenuItem<String>(
// #Pangea value: 'leave',
// const Icon(Icons.delete_outlined), child: Row(
const Icon(Icons.arrow_forward), children: [
// Pangea# // #Pangea
const SizedBox(width: 12), // const Icon(Icons.delete_outlined),
Text(L10n.of(context)!.leave), const Icon(Icons.arrow_forward),
], // Pangea#
const SizedBox(width: 12),
Text(L10n.of(context)!.leave),
],
),
), ),
),
// #Pangea // #Pangea
if (classSettings != null) if (classSettings != null)
PopupMenuItem<String>( PopupMenuItem<String>(

Loading…
Cancel
Save