You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
doctor_app_flutter/lib/widgets/patients/profile/large_avatar.dart

93 lines
2.3 KiB
Dart

import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'avatar_gradients.dart';
class LargeAvatar extends StatelessWidget {
LargeAvatar(
{Key key,
this.name,
this.url,
this.disableProfileView: false,
this.radius = 60.0,
this.width = 90,
this.height = 90})
: super(key: key);
final String name;
final String url;
final bool disableProfileView;
final double radius;
final double width;
final double height;
Widget _getAvatar() {
if (url != null && url.isNotEmpty && Uri.parse(url).isAbsolute) {
return CircleAvatar(
radius:
SizeConfig.imageSizeMultiplier * 12,
// radius: (52)
child: ClipRRect(
borderRadius:BorderRadius.circular(50),
child: Image.network(
url,
fit: BoxFit.fill,
width: 700,
),
),
backgroundColor: Colors.transparent,
);
} else if (name == null || name.isEmpty) {
return Center(
child: AppText(
'DR',
color: Colors.white,
));
} else {
return Center(
child: AppText(
name[0].toUpperCase(),
color: Colors.white,
fontSize: 18,
fontWeight: FontWeight.bold,
));
}
}
@override
Widget build(BuildContext context) {
var vlr = name;
var asd;
return InkWell(
onTap: disableProfileView
? null
: () {
//TODO when we need that
},
child: Container(
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment(-1, -1),
end: Alignment(1, 1),
colors: [
Colors.grey[100],
Colors.grey[800],
]),
boxShadow: [
BoxShadow(
color: Color.fromRGBO(0, 0, 0, 0.08),
offset: Offset(0.0, 5.0),
blurRadius: 16.0)
],
borderRadius: BorderRadius.all(Radius.circular(50.0)),
),
width: width,
height: height,
child: _getAvatar()),
);
}
}