mirror of
https://gitlab.com/comunic/comunicmobile
synced 2024-11-22 12:59:21 +00:00
Created a tile to quickly show user account image
This commit is contained in:
parent
91b5d55a83
commit
09d43ab5c0
@ -1,6 +1,7 @@
|
||||
import 'package:cached_network_image/cached_network_image.dart';
|
||||
import 'package:comunic/models/conversation_message.dart';
|
||||
import 'package:comunic/models/user.dart';
|
||||
import 'package:comunic/ui/widgets/account_image_widget.dart';
|
||||
import 'package:comunic/utils/account_utils.dart';
|
||||
import 'package:comunic/utils/date_utils.dart';
|
||||
import 'package:comunic/utils/ui_utils.dart';
|
||||
@ -32,17 +33,9 @@ class ConversationMessageTile extends StatelessWidget {
|
||||
Widget _buildAccountImage() {
|
||||
return Container(
|
||||
margin: EdgeInsets.all(10.0),
|
||||
child: Material(
|
||||
child: CachedNetworkImage(
|
||||
imageUrl: userInfo.accountImageURL,
|
||||
child: AccountImageWidget(
|
||||
user: userInfo,
|
||||
width: 35.0,
|
||||
height: 35.0,
|
||||
fit: BoxFit.cover,
|
||||
),
|
||||
borderRadius: BorderRadius.all(
|
||||
Radius.circular(18.0),
|
||||
),
|
||||
clipBehavior: Clip.hardEdge,
|
||||
),
|
||||
);
|
||||
}
|
||||
@ -53,7 +46,9 @@ class ConversationMessageTile extends StatelessWidget {
|
||||
margin: EdgeInsets.only(bottom: 2),
|
||||
child: Material(
|
||||
child: InkWell(
|
||||
onTap: (){showImageFullScreen(context, message.imageURL);},
|
||||
onTap: () {
|
||||
showImageFullScreen(context, message.imageURL);
|
||||
},
|
||||
child: CachedNetworkImage(
|
||||
imageUrl: message.imageURL,
|
||||
width: 200.0,
|
||||
@ -72,8 +67,10 @@ class ConversationMessageTile extends StatelessWidget {
|
||||
height: 200,
|
||||
color: Colors.red,
|
||||
child: Center(
|
||||
child: Icon(Icons.error, color: Colors.white,)
|
||||
),
|
||||
child: Icon(
|
||||
Icons.error,
|
||||
color: Colors.white,
|
||||
)),
|
||||
),
|
||||
),
|
||||
),
|
||||
@ -112,7 +109,9 @@ class ConversationMessageTile extends StatelessWidget {
|
||||
children: <Widget>[
|
||||
// Text image
|
||||
Container(
|
||||
child: message.hasImage ? _buildMessageImage(context) : null,
|
||||
child: message.hasImage
|
||||
? _buildMessageImage(context)
|
||||
: null,
|
||||
),
|
||||
|
||||
// Text message
|
||||
@ -183,7 +182,8 @@ class ConversationMessageTile extends StatelessWidget {
|
||||
children: <Widget>[
|
||||
// Text image
|
||||
Container(
|
||||
child: message.hasImage ? _buildMessageImage(context) : null,
|
||||
child:
|
||||
message.hasImage ? _buildMessageImage(context) : null,
|
||||
),
|
||||
|
||||
// Text message
|
||||
|
51
lib/ui/widgets/account_image_widget.dart
Normal file
51
lib/ui/widgets/account_image_widget.dart
Normal file
@ -0,0 +1,51 @@
|
||||
import 'package:cached_network_image/cached_network_image.dart';
|
||||
import 'package:comunic/models/user.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
/// Account image widget
|
||||
///
|
||||
/// This widget is intended to only show a user account image
|
||||
///
|
||||
/// @author Pierre HUBERT
|
||||
|
||||
class AccountImageWidget extends StatelessWidget {
|
||||
final User user;
|
||||
final double width;
|
||||
|
||||
const AccountImageWidget({Key key, this.user, this.width = 35.0})
|
||||
: assert(user != null),
|
||||
super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Material(
|
||||
child: CachedNetworkImage(
|
||||
imageUrl: user.accountImageURL,
|
||||
width: width,
|
||||
height: width,
|
||||
fit: BoxFit.cover,
|
||||
placeholder: (c, s) => Container(
|
||||
color: Colors.grey,
|
||||
width: width,
|
||||
height: width,
|
||||
child: CircularProgressIndicator(
|
||||
strokeWidth: 7.0,
|
||||
),
|
||||
),
|
||||
errorWidget: (c, s, o) => Container(
|
||||
color: Colors.red,
|
||||
width: width,
|
||||
height: width,
|
||||
child: Icon(
|
||||
Icons.error,
|
||||
color: Colors.white,
|
||||
),
|
||||
),
|
||||
),
|
||||
borderRadius: BorderRadius.all(
|
||||
Radius.circular(18.0),
|
||||
),
|
||||
clipBehavior: Clip.hardEdge,
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user