aboutsummaryrefslogtreecommitdiff
path: root/lib/widgets/cached_avatar.dart
diff options
context:
space:
mode:
Diffstat (limited to 'lib/widgets/cached_avatar.dart')
-rw-r--r--lib/widgets/cached_avatar.dart22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/widgets/cached_avatar.dart b/lib/widgets/cached_avatar.dart
new file mode 100644
index 0000000..e6fcf89
--- /dev/null
+++ b/lib/widgets/cached_avatar.dart
@@ -0,0 +1,22 @@
+import 'package:cached_network_image/cached_network_image.dart';
+import 'package:flutter/material.dart';
+
+class CachedAvatar extends StatelessWidget {
+ final String? avatarUrl;
+ const CachedAvatar(this.avatarUrl, {super.key});
+
+ @override
+ Widget build(BuildContext context) {
+ return CircleAvatar(
+ backgroundImage:
+ avatarUrl != null ? CachedNetworkImageProvider(avatarUrl!) : null,
+ backgroundColor: Theme.of(context).colorScheme.primary,
+ child: avatarUrl == null
+ ? Icon(
+ Icons.person,
+ color: Theme.of(context).colorScheme.onPrimary,
+ )
+ : null,
+ );
+ }
+}