refactor: Avatar widget

This commit is contained in:
Krille Fear 2021-11-20 10:42:23 +01:00
commit 53967eb1f0
20 changed files with 69 additions and 47 deletions

View file

@ -21,7 +21,10 @@ class ChatAppBarTitle extends StatelessWidget {
return Text(controller.selectedEvents.length.toString());
}
return ListTile(
leading: Avatar(controller.room.avatar, controller.room.displayname),
leading: Avatar(
mxContent: controller.room.avatar,
name: controller.room.displayname,
),
contentPadding: EdgeInsets.zero,
onTap: controller.room.isDirectChat
? () => showModalBottomSheet(

View file

@ -268,8 +268,9 @@ class _ChatAccountPicker extends StatelessWidget {
future: client.ownProfile,
builder: (context, snapshot) => ListTile(
leading: Avatar(
snapshot.data?.avatarUrl,
snapshot.data?.displayName ?? client.userID.localpart,
mxContent: snapshot.data?.avatarUrl,
name: snapshot.data?.displayName ??
client.userID.localpart,
size: 20,
),
title:
@ -280,8 +281,8 @@ class _ChatAccountPicker extends StatelessWidget {
))
.toList(),
child: Avatar(
snapshot.data?.avatarUrl,
snapshot.data?.displayName ??
mxContent: snapshot.data?.avatarUrl,
name: snapshot.data?.displayName ??
controller.matrix.client.userID.localpart,
size: 20,
),

View file

@ -46,8 +46,10 @@ class EventInfoDialog extends StatelessWidget {
body: ListView(
children: [
ListTile(
leading:
Avatar(event.sender.avatarUrl, event.sender.calcDisplayname()),
leading: Avatar(
mxContent: event.sender.avatarUrl,
name: event.sender.calcDisplayname(),
),
title: Text(L10n.of(context).sender),
subtitle:
Text('${event.sender.calcDisplayname()} <${event.senderId}>'),

View file

@ -121,8 +121,8 @@ class Message extends StatelessWidget {
: null,
)
: Avatar(
event.sender.avatarUrl,
event.sender.calcDisplayname(),
mxContent: event.sender.avatarUrl,
name: event.sender.calcDisplayname(),
onTap: () => onAvatarTab(event),
),
Expanded(

View file

@ -213,8 +213,8 @@ class _AdaptableReactorsDialog extends StatelessWidget {
for (var reactor in reactionEntry.reactors)
Chip(
avatar: Avatar(
reactor.avatarUrl,
reactor.displayName,
mxContent: reactor.avatarUrl,
name: reactor.displayName,
client: client,
),
label: Text(reactor.displayName),

View file

@ -259,8 +259,10 @@ class InputBar extends StatelessWidget {
opacity: suggestion['pack_avatar_url'] != null ? 0.8 : 0.5,
child: suggestion['pack_avatar_url'] != null
? Avatar(
Uri.parse(suggestion['pack_avatar_url']),
suggestion['pack_display_name'],
mxContent: Uri.tryParse(
suggestion.tryGet<String>('pack_avatar_url') ??
''),
name: suggestion.tryGet<String>('pack_display_name'),
size: size * 0.9,
client: client,
)
@ -280,8 +282,9 @@ class InputBar extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Avatar(
url,
suggestion['displayname'] ?? suggestion['mxid'],
mxContent: url,
name: suggestion.tryGet<String>('displayname') ??
suggestion.tryGet<String>('mxid'),
size: size,
client: client,
),

View file

@ -42,8 +42,8 @@ class SeenByRow extends StatelessWidget {
: seenByUsers)
.map(
(user) => Avatar(
user.avatarUrl,
user.calcDisplayname(),
mxContent: user.avatarUrl,
name: user.calcDisplayname(),
size: 16,
fontSize: 9,
),

View file

@ -49,8 +49,8 @@ class StickerPickerDialogState extends State<StickerPickerDialog> {
if (packName != 'user')
ListTile(
leading: Avatar(
pack.pack.avatarUrl,
packName,
mxContent: pack.pack.avatarUrl,
name: packName,
client: widget.room.client,
),
title: Text(packName),

View file

@ -48,17 +48,17 @@ class TypingIndicators extends StatelessWidget {
children: [
if (typingUsers.isNotEmpty)
Avatar(
typingUsers.first.avatarUrl,
typingUsers.first.calcDisplayname(),
mxContent: typingUsers.first.avatarUrl,
name: typingUsers.first.calcDisplayname(),
),
if (typingUsers.length == 2)
Padding(
padding: const EdgeInsets.only(left: 8),
child: Avatar(
typingUsers.length == 2
mxContent: typingUsers.length == 2
? typingUsers.last.avatarUrl
: null,
typingUsers.length == 2
name: typingUsers.length == 2
? typingUsers.last.calcDisplayname()
: '+${typingUsers.length - 1}',
),