refactor: Avatar widget
This commit is contained in:
parent
29c0f12609
commit
53967eb1f0
20 changed files with 69 additions and 47 deletions
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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}>'),
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
|
|
|
|||
|
|
@ -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}',
|
||||
),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue