add image on tap

This commit is contained in:
Salvatore Giordano
2020-04-20 12:11:59 +02:00
parent b304979866
commit 9ad7d56217
2 changed files with 44 additions and 27 deletions
+34 -19
View File
@@ -47,6 +47,7 @@ class ChannelImage extends StatelessWidget {
Key key,
this.channel,
this.constraints,
this.onTap,
}) : super(key: key);
/// The channel to show the image of
@@ -55,6 +56,9 @@ class ChannelImage extends StatelessWidget {
/// The diameter of the image
final BoxConstraints constraints;
/// The function called when the image is tapped
final VoidCallback onTap;
@override
Widget build(BuildContext context) {
final client = StreamChat.of(context);
@@ -86,25 +90,36 @@ class ChannelImage extends StatelessWidget {
decoration: BoxDecoration(
color: StreamChatTheme.of(context).accentColor,
),
child: image != null
? CachedNetworkImage(
imageUrl: image,
errorWidget: (_, __, ___) {
return Center(
child: Text(
snapshot.data?.containsKey('name') ?? false
? snapshot.data['name'][0]
: '',
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
),
),
);
},
fit: BoxFit.cover,
)
: SizedBox(),
child: Stack(
fit: StackFit.expand,
children: <Widget>[
image != null
? CachedNetworkImage(
imageUrl: image,
errorWidget: (_, __, ___) {
return Center(
child: Text(
snapshot.data?.containsKey('name') ?? false
? snapshot.data['name'][0]
: '',
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
),
),
);
},
fit: BoxFit.cover,
)
: SizedBox(),
Material(
color: Colors.transparent,
child: InkWell(
onTap: onTap,
),
),
],
),
),
);
});