mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-03 19:54:12 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
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,
 | 
						|
    );
 | 
						|
  }
 | 
						|
}
 |