-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathuser_profile.dart
56 lines (54 loc) · 1.63 KB
/
user_profile.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import 'package:flutter/material.dart';
import 'package:srlm_app/constants/app_colors.dart';
import 'package:srlm_app/core/components/custom_text_style.dart';
import 'package:srlm_app/routing/named_routes.dart';
import 'package:srlm_app/routing/navigation_handler.dart';
import 'package:srlm_app/utils/utils.dart';
class UserProfile extends StatelessWidget {
final String imagePath;
final String name;
final double radius;
const UserProfile({
super.key,
required this.imagePath,
required this.name,
required this.radius,
});
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
NavigationHandler.navigateTo(NamedRoutes.myAccount);
},
child: Container(
child: imagePath.isEmpty
? profileImage(context, name)
: CircleAvatar(
radius: radius,
backgroundColor: AppColors.fFFFFFF,
child: ClipOval(
child: Image.network(
imagePath,
fit: BoxFit.cover,
errorBuilder: (context, error, stackTrace) {
// P.printError(error.toString());
return profileImage(context, name);
},
),
),
),
),
);
}
Widget profileImage(BuildContext context, String name) {
final String initials = Utils.getInitials(name);
return CircleAvatar(
radius: radius,
backgroundColor: AppColors.f273D57,
child: Text(
initials,
style: CustomTextStyle.textStyle24Medium(context),
),
);
}
}