Revert "Revert "don't show user avatars or display names in chats""
This reverts commit 07fa96cdc9.
This commit is contained in:
parent
012b20b09f
commit
f4a0fbaacb
12 changed files with 130 additions and 115 deletions
|
|
@ -1,14 +1,12 @@
|
|||
import 'dart:convert';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/utils/adaptive_bottom_sheet.dart';
|
||||
import 'package:fluffychat/utils/date_time_extension.dart';
|
||||
import 'package:fluffychat/widgets/avatar.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
|
||||
extension EventInfoDialogExtension on Event {
|
||||
void showInfoDialog(BuildContext context) => showAdaptiveBottomSheet(
|
||||
|
|
@ -49,15 +47,16 @@ class EventInfoDialog extends StatelessWidget {
|
|||
children: [
|
||||
ListTile(
|
||||
leading: Avatar(
|
||||
mxContent: event.senderFromMemoryOrFallback.avatarUrl,
|
||||
name: event.senderFromMemoryOrFallback.calcDisplayname(),
|
||||
// mxContent: event.senderFromMemoryOrFallback.avatarUrl,
|
||||
// name: event.senderFromMemoryOrFallback.calcDisplayname(),
|
||||
name: "?",
|
||||
client: event.room.client,
|
||||
presenceUserId: event.senderId,
|
||||
// presenceUserId: event.senderId,
|
||||
),
|
||||
title: Text(L10n.of(context)!.sender),
|
||||
subtitle: Text(
|
||||
'${event.senderFromMemoryOrFallback.calcDisplayname()} [${event.senderId}]',
|
||||
),
|
||||
// subtitle: Text(
|
||||
// '${event.senderFromMemoryOrFallback.calcDisplayname()} [${event.senderId}]',
|
||||
// ),
|
||||
),
|
||||
ListTile(
|
||||
title: Text(L10n.of(context)!.time),
|
||||
|
|
|
|||
|
|
@ -263,9 +263,10 @@ class Message extends StatelessWidget {
|
|||
final user = snapshot.data ??
|
||||
event.senderFromMemoryOrFallback;
|
||||
return Avatar(
|
||||
mxContent: user.avatarUrl,
|
||||
name: user.calcDisplayname(),
|
||||
presenceUserId: user.stateKey,
|
||||
// mxContent: user.avatarUrl,
|
||||
// name: user.calcDisplayname(),
|
||||
// presenceUserId: user.stateKey,
|
||||
name: "?",
|
||||
presenceBackgroundColor:
|
||||
avatarPresenceBackgroundColor,
|
||||
onTap: () => onAvatarTab(event),
|
||||
|
|
@ -288,10 +289,11 @@ class Message extends StatelessWidget {
|
|||
: FutureBuilder<User?>(
|
||||
future: event.fetchSenderUser(),
|
||||
builder: (context, snapshot) {
|
||||
final displayname = snapshot.data
|
||||
?.calcDisplayname() ??
|
||||
event.senderFromMemoryOrFallback
|
||||
.calcDisplayname();
|
||||
// final displayname = snapshot.data
|
||||
// ?.calcDisplayname() ??
|
||||
// event.senderFromMemoryOrFallback
|
||||
// .calcDisplayname();
|
||||
const displayname = "?";
|
||||
return Text(
|
||||
displayname,
|
||||
style: TextStyle(
|
||||
|
|
|
|||
|
|
@ -96,12 +96,16 @@ class MessageContent extends StatelessWidget {
|
|||
ListTile(
|
||||
contentPadding: EdgeInsets.zero,
|
||||
leading: Avatar(
|
||||
mxContent: sender.avatarUrl,
|
||||
name: sender.calcDisplayname(),
|
||||
presenceUserId: sender.stateKey,
|
||||
// mxContent: sender.avatarUrl,
|
||||
// name: sender.calcDisplayname(),
|
||||
// presenceUserId: sender.stateKey,
|
||||
name: "?",
|
||||
client: event.room.client,
|
||||
),
|
||||
title: Text(sender.calcDisplayname()),
|
||||
title: const Text(
|
||||
// sender.calcDisplayname(),
|
||||
"?",
|
||||
),
|
||||
subtitle: Text(event.originServerTs.localizedTime(context)),
|
||||
trailing: const Icon(Icons.lock_outlined),
|
||||
),
|
||||
|
|
@ -265,9 +269,10 @@ class MessageContent extends StatelessWidget {
|
|||
builder: (context, snapshot) {
|
||||
final reason =
|
||||
event.redactedBecause?.content.tryGet<String>('reason');
|
||||
final redactedBy = snapshot.data?.calcDisplayname() ??
|
||||
event.redactedBecause?.senderId.localpart ??
|
||||
L10n.of(context)!.user;
|
||||
// final redactedBy = snapshot.data?.calcDisplayname() ??
|
||||
// event.redactedBecause?.senderId.localpart ??
|
||||
// L10n.of(context)!.user;
|
||||
const redactedBy = "?";
|
||||
return _ButtonContent(
|
||||
label: reason == null
|
||||
? L10n.of(context)!.redactedBy(redactedBy)
|
||||
|
|
@ -385,8 +390,9 @@ class MessageContent extends StatelessWidget {
|
|||
builder: (context, snapshot) {
|
||||
return _ButtonContent(
|
||||
label: L10n.of(context)!.userSentUnknownEvent(
|
||||
snapshot.data?.calcDisplayname() ??
|
||||
event.senderFromMemoryOrFallback.calcDisplayname(),
|
||||
// snapshot.data?.calcDisplayname() ??
|
||||
// event.senderFromMemoryOrFallback.calcDisplayname(),
|
||||
"?",
|
||||
event.type,
|
||||
),
|
||||
icon: 'ℹ️',
|
||||
|
|
|
|||
|
|
@ -59,7 +59,8 @@ class ReplyContent extends StatelessWidget {
|
|||
future: displayEvent.fetchSenderUser(),
|
||||
builder: (context, snapshot) {
|
||||
return Text(
|
||||
'${snapshot.data?.calcDisplayname() ?? displayEvent.senderFromMemoryOrFallback.calcDisplayname()}:',
|
||||
// '${snapshot.data?.calcDisplayname() ?? displayEvent.senderFromMemoryOrFallback.calcDisplayname()}:',
|
||||
'?:',
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: TextStyle(
|
||||
|
|
|
|||
|
|
@ -37,9 +37,10 @@ class SeenByRow extends StatelessWidget {
|
|||
? seenByUsers.sublist(0, maxAvatars)
|
||||
: seenByUsers)
|
||||
.map(
|
||||
(user) => Avatar(
|
||||
mxContent: user.avatarUrl,
|
||||
name: user.calcDisplayname(),
|
||||
(user) => const Avatar(
|
||||
// mxContent: user.avatarUrl,
|
||||
// name: user.calcDisplayname(),
|
||||
name: "?",
|
||||
size: 16,
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
import 'dart:async';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/config/themes.dart';
|
||||
import 'package:fluffychat/pages/chat/chat.dart';
|
||||
import 'package:fluffychat/widgets/avatar.dart';
|
||||
import 'package:fluffychat/widgets/matrix.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class TypingIndicators extends StatelessWidget {
|
||||
final ChatController controller;
|
||||
|
|
@ -56,10 +55,11 @@ class TypingIndicators extends StatelessWidget {
|
|||
child: Stack(
|
||||
children: [
|
||||
if (typingUsers.isNotEmpty)
|
||||
Avatar(
|
||||
const Avatar(
|
||||
size: avatarSize,
|
||||
mxContent: typingUsers.first.avatarUrl,
|
||||
name: typingUsers.first.calcDisplayname(),
|
||||
// mxContent: typingUsers.first.avatarUrl,
|
||||
// name: typingUsers.first.calcDisplayname(),
|
||||
name: "?",
|
||||
),
|
||||
if (typingUsers.length == 2)
|
||||
Padding(
|
||||
|
|
@ -69,9 +69,10 @@ class TypingIndicators extends StatelessWidget {
|
|||
mxContent: typingUsers.length == 2
|
||||
? typingUsers.last.avatarUrl
|
||||
: null,
|
||||
name: typingUsers.length == 2
|
||||
? typingUsers.last.calcDisplayname()
|
||||
: '+${typingUsers.length - 1}',
|
||||
// name: typingUsers.length == 2
|
||||
// ? typingUsers.last.calcDisplayname()
|
||||
// : '+${typingUsers.length - 1}',
|
||||
name: "?",
|
||||
),
|
||||
),
|
||||
],
|
||||
|
|
|
|||
|
|
@ -39,9 +39,10 @@ class ParticipantListItem extends StatelessWidget {
|
|||
),
|
||||
title: Row(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
const Expanded(
|
||||
child: Text(
|
||||
user.calcDisplayname(),
|
||||
// user.calcDisplayname(),
|
||||
"?",
|
||||
overflow: TextOverflow.ellipsis,
|
||||
),
|
||||
),
|
||||
|
|
@ -88,8 +89,9 @@ class ParticipantListItem extends StatelessWidget {
|
|||
subtitle: Text(user.id),
|
||||
leading: Avatar(
|
||||
mxContent: user.avatarUrl,
|
||||
name: user.calcDisplayname(),
|
||||
presenceUserId: user.stateKey,
|
||||
// name: user.calcDisplayname(),
|
||||
// presenceUserId: user.stateKey,
|
||||
name: "?",
|
||||
),
|
||||
),
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,11 +1,9 @@
|
|||
import 'package:adaptive_dialog/adaptive_dialog.dart';
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/pangea/extensions/pangea_room_extension/pangea_room_extension.dart';
|
||||
import 'package:fluffychat/pangea/utils/get_chat_list_item_subtitle.dart';
|
||||
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
||||
import 'package:fluffychat/utils/room_status_extension.dart';
|
||||
import 'package:fluffychat/widgets/hover_builder.dart';
|
||||
import 'package:fluffychat/widgets/matrix.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||
|
|
@ -240,51 +238,52 @@ class ChatListItem extends StatelessWidget {
|
|||
softWrap: false,
|
||||
)
|
||||
// #Pangea
|
||||
: FutureBuilder<String>(
|
||||
future: room.lastEvent != null
|
||||
? GetChatListItemSubtitle().getSubtitle(
|
||||
L10n.of(context)!,
|
||||
room.lastEvent,
|
||||
MatrixState.pangeaController,
|
||||
)
|
||||
: Future.value(L10n.of(context)!.emptyChat),
|
||||
builder: (context, snapshot) {
|
||||
// Pangea#
|
||||
return Text(
|
||||
room.membership == Membership.invite
|
||||
? isDirectChat
|
||||
? L10n.of(context)!.invitePrivateChat
|
||||
: L10n.of(context)!.inviteGroupChat
|
||||
// #Pangea
|
||||
: snapshot.data ??
|
||||
// Pangea#
|
||||
room.lastEvent
|
||||
?.calcLocalizedBodyFallback(
|
||||
MatrixLocals(L10n.of(context)!),
|
||||
hideReply: true,
|
||||
hideEdit: true,
|
||||
plaintextBody: true,
|
||||
removeMarkdown: true,
|
||||
withSenderNamePrefix: !isDirectChat ||
|
||||
directChatMatrixId !=
|
||||
room.lastEvent?.senderId,
|
||||
) ??
|
||||
L10n.of(context)!.emptyChat,
|
||||
softWrap: false,
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: TextStyle(
|
||||
fontWeight: unread || room.hasNewMessages
|
||||
? FontWeight.bold
|
||||
: null,
|
||||
color: theme.colorScheme.onSurfaceVariant,
|
||||
decoration: room.lastEvent?.redacted == true
|
||||
? TextDecoration.lineThrough
|
||||
: null,
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
: const SizedBox(),
|
||||
// FutureBuilder<String>(
|
||||
// future: room.lastEvent != null
|
||||
// ? GetChatListItemSubtitle().getSubtitle(
|
||||
// L10n.of(context)!,
|
||||
// room.lastEvent,
|
||||
// MatrixState.pangeaController,
|
||||
// )
|
||||
// : Future.value(L10n.of(context)!.emptyChat),
|
||||
// builder: (context, snapshot) {
|
||||
// // Pangea#
|
||||
// return Text(
|
||||
// room.membership == Membership.invite
|
||||
// ? isDirectChat
|
||||
// ? L10n.of(context)!.invitePrivateChat
|
||||
// : L10n.of(context)!.inviteGroupChat
|
||||
// // #Pangea
|
||||
// : snapshot.data ??
|
||||
// // Pangea#
|
||||
// room.lastEvent
|
||||
// ?.calcLocalizedBodyFallback(
|
||||
// MatrixLocals(L10n.of(context)!),
|
||||
// hideReply: true,
|
||||
// hideEdit: true,
|
||||
// plaintextBody: true,
|
||||
// removeMarkdown: true,
|
||||
// withSenderNamePrefix: !isDirectChat ||
|
||||
// directChatMatrixId !=
|
||||
// room.lastEvent?.senderId,
|
||||
// ) ??
|
||||
// L10n.of(context)!.emptyChat,
|
||||
// softWrap: false,
|
||||
// maxLines: 1,
|
||||
// overflow: TextOverflow.ellipsis,
|
||||
// style: TextStyle(
|
||||
// fontWeight: unread || room.hasNewMessages
|
||||
// ? FontWeight.bold
|
||||
// : null,
|
||||
// color: theme.colorScheme.onSurfaceVariant,
|
||||
// decoration: room.lastEvent?.redacted == true
|
||||
// ? TextDecoration.lineThrough
|
||||
// : null,
|
||||
// ),
|
||||
// );
|
||||
// },
|
||||
// ),
|
||||
),
|
||||
const SizedBox(width: 8),
|
||||
// #Pangea
|
||||
|
|
|
|||
|
|
@ -1,14 +1,12 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:flutter_linkify/flutter_linkify.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
|
||||
import 'package:fluffychat/utils/date_time_extension.dart';
|
||||
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
||||
import 'package:fluffychat/utils/url_launcher.dart';
|
||||
import 'package:fluffychat/widgets/avatar.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:flutter_linkify/flutter_linkify.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
|
||||
class ChatSearchMessageTab extends StatelessWidget {
|
||||
final String searchQuery;
|
||||
|
|
@ -98,9 +96,10 @@ class ChatSearchMessageTab extends StatelessWidget {
|
|||
}
|
||||
final event = events[i];
|
||||
final sender = event.senderFromMemoryOrFallback;
|
||||
final displayname = sender.calcDisplayname(
|
||||
i18n: MatrixLocals(L10n.of(context)!),
|
||||
);
|
||||
// final displayname = sender.calcDisplayname(
|
||||
// i18n: MatrixLocals(L10n.of(context)!),
|
||||
// );
|
||||
const displayname = "?";
|
||||
return _MessageSearchResultListTile(
|
||||
sender: sender,
|
||||
displayname: displayname,
|
||||
|
|
|
|||
|
|
@ -22,9 +22,10 @@ class UserBottomSheetView extends StatelessWidget {
|
|||
Widget build(BuildContext context) {
|
||||
final user = controller.widget.user;
|
||||
final userId = (user?.id ?? controller.widget.profile?.userId)!;
|
||||
final displayname = (user?.calcDisplayname() ??
|
||||
controller.widget.profile?.displayName ??
|
||||
controller.widget.profile?.userId.localpart)!;
|
||||
// final displayname = (user?.calcDisplayname() ??
|
||||
// controller.widget.profile?.displayName ??
|
||||
// controller.widget.profile?.userId.localpart)!;
|
||||
const displayname = "?";
|
||||
final avatarUrl = user?.avatarUrl ?? controller.widget.profile?.avatarUrl;
|
||||
|
||||
final client = Matrix.of(controller.widget.outerContext).client;
|
||||
|
|
@ -39,7 +40,7 @@ class UserBottomSheetView extends StatelessWidget {
|
|||
title: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(displayname),
|
||||
const Text(displayname),
|
||||
PresenceBuilder(
|
||||
userId: userId,
|
||||
client: client,
|
||||
|
|
@ -213,7 +214,7 @@ class UserBottomSheetView extends StatelessWidget {
|
|||
foregroundColor:
|
||||
Theme.of(context).colorScheme.onSurface,
|
||||
),
|
||||
label: Text(
|
||||
label: const Text(
|
||||
displayname,
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
|
|
|
|||
|
|
@ -184,9 +184,9 @@ class MatrixLocals extends MatrixLocalizations {
|
|||
@override
|
||||
String redactedAnEvent(Event redactedEvent) {
|
||||
return l10n.redactedAnEvent(
|
||||
redactedEvent.redactedBecause?.senderFromMemoryOrFallback
|
||||
.calcDisplayname() ??
|
||||
l10n.user,
|
||||
// redactedEvent.redactedBecause?.senderFromMemoryOrFallback
|
||||
// .calcDisplayname() ??
|
||||
l10n.user,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -198,7 +198,8 @@ class MatrixLocals extends MatrixLocalizations {
|
|||
@override
|
||||
String removedBy(Event redactedEvent) {
|
||||
return l10n.redactedBy(
|
||||
redactedEvent.senderFromMemoryOrFallback.calcDisplayname(),
|
||||
// redactedEvent.senderFromMemoryOrFallback.calcDisplayname(),
|
||||
"?",
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
import 'package:flutter/widgets.dart';
|
||||
|
||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
|
||||
|
|
@ -20,17 +19,21 @@ extension RoomStatusExtension on Room {
|
|||
} else if (typingUsers.length == 1) {
|
||||
typingText = L10n.of(context)!.isTyping;
|
||||
if (typingUsers.first.id != directChatMatrixID) {
|
||||
typingText =
|
||||
L10n.of(context)!.userIsTyping(typingUsers.first.calcDisplayname());
|
||||
typingText = L10n.of(context)!.userIsTyping(
|
||||
// typingUsers.first.calcDisplayname(),
|
||||
"?",
|
||||
);
|
||||
}
|
||||
} else if (typingUsers.length == 2) {
|
||||
typingText = L10n.of(context)!.userAndUserAreTyping(
|
||||
typingUsers.first.calcDisplayname(),
|
||||
typingUsers[1].calcDisplayname(),
|
||||
// typingUsers.first.calcDisplayname(),
|
||||
// typingUsers[1].calcDisplayname(),
|
||||
"?", "?",
|
||||
);
|
||||
} else if (typingUsers.length > 2) {
|
||||
typingText = L10n.of(context)!.userAndOthersAreTyping(
|
||||
typingUsers.first.calcDisplayname(),
|
||||
// typingUsers.first.calcDisplayname(),
|
||||
"?",
|
||||
(typingUsers.length - 1).toString(),
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue