Team Color, image compression for attendance verification, improved wherebouts

This commit is contained in:
2026-03-08 12:23:28 +08:00
parent a8751ca728
commit d87b5e73d7
11 changed files with 757 additions and 191 deletions
+14 -2
View File
@@ -31,6 +31,10 @@ class AppScaffold extends ConsumerWidget {
},
orElse: () => 'User',
);
final avatarUrl = profileAsync.maybeWhen(
data: (profile) => profile?.avatarUrl,
orElse: () => null,
);
final isStandard = role == 'standard';
final location = GoRouterState.of(context).uri.toString();
@@ -75,7 +79,11 @@ class AppScaffold extends ConsumerWidget {
padding: const EdgeInsets.symmetric(horizontal: 12),
child: Row(
children: [
ProfileAvatar(fullName: displayName, radius: 16),
ProfileAvatar(
fullName: displayName,
avatarUrl: avatarUrl,
radius: 16,
),
const SizedBox(width: 8),
Text(displayName),
const SizedBox(width: 4),
@@ -91,7 +99,11 @@ class AppScaffold extends ConsumerWidget {
IconButton(
tooltip: 'Profile',
onPressed: () => context.go('/profile'),
icon: ProfileAvatar(fullName: displayName, radius: 16),
icon: ProfileAvatar(
fullName: displayName,
avatarUrl: avatarUrl,
radius: 16,
),
),
IconButton(
tooltip: 'Sign out',