mirror of
https://github.com/immich-app/immich.git
synced 2026-02-28 09:38:43 +03:00
chore: styling tweak profile panel (#26248)
This commit is contained in:
@@ -52,7 +52,10 @@ class ImmichAppBarDialog extends HookConsumerWidget {
|
|||||||
child: Stack(
|
child: Stack(
|
||||||
alignment: Alignment.centerLeft,
|
alignment: Alignment.centerLeft,
|
||||||
children: [
|
children: [
|
||||||
IconButton(onPressed: () => context.pop(), icon: const Icon(Icons.close, size: 20)),
|
IconButton(
|
||||||
|
onPressed: () => context.pop(),
|
||||||
|
icon: Icon(Icons.close, size: 20, color: context.colorScheme.onSurfaceVariant),
|
||||||
|
),
|
||||||
Align(
|
Align(
|
||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
child: Padding(
|
child: Padding(
|
||||||
@@ -154,15 +157,12 @@ class ImmichAppBarDialog extends HookConsumerWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return Container(
|
return Container(
|
||||||
padding: const EdgeInsets.all(16),
|
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 4),
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
spacing: 12,
|
spacing: 12,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text("backup_controller_page_server_storage".tr(), style: context.textTheme.labelLarge),
|
||||||
"backup_controller_page_server_storage",
|
|
||||||
style: context.textTheme.labelLarge?.copyWith(fontWeight: FontWeight.w500),
|
|
||||||
).tr(),
|
|
||||||
LinearProgressIndicator(
|
LinearProgressIndicator(
|
||||||
minHeight: 10.0,
|
minHeight: 10.0,
|
||||||
value: percentage,
|
value: percentage,
|
||||||
@@ -264,13 +264,13 @@ class ImmichAppBarDialog extends HookConsumerWidget {
|
|||||||
color: context.colorScheme.surface,
|
color: context.colorScheme.surface,
|
||||||
borderRadius: const BorderRadius.all(Radius.circular(10)),
|
borderRadius: const BorderRadius.all(Radius.circular(10)),
|
||||||
),
|
),
|
||||||
margin: const EdgeInsets.only(left: 8, right: 8, bottom: 8),
|
margin: const EdgeInsets.only(left: 12, right: 12, bottom: 8),
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
const AppBarProfileInfoBox(),
|
const AppBarProfileInfoBox(),
|
||||||
const Divider(height: 3),
|
Divider(thickness: 4, color: context.colorScheme.surfaceContainer),
|
||||||
buildStorageInformation(),
|
buildStorageInformation(),
|
||||||
const Divider(height: 3),
|
Divider(thickness: 4, color: context.colorScheme.surfaceContainer),
|
||||||
const AppBarServerInfo(),
|
const AppBarServerInfo(),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ class AppBarProfileInfoBox extends HookConsumerWidget {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
final userImage = UserCircleAvatar(size: 44, user: user);
|
final userImage = UserCircleAvatar(size: 44, user: user, hasBorder: true);
|
||||||
|
|
||||||
if (uploadProfileImageStatus == UploadProfileStatus.loading) {
|
if (uploadProfileImageStatus == UploadProfileStatus.loading) {
|
||||||
return const SizedBox(height: 40, width: 40, child: ImmichLoadingIndicator(borderRadius: 20));
|
return const SizedBox(height: 40, width: 40, child: ImmichLoadingIndicator(borderRadius: 20));
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ class AppBarServerInfo extends HookConsumerWidget {
|
|||||||
const divider = Divider(thickness: 1);
|
const divider = Divider(thickness: 1);
|
||||||
|
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 12.0, vertical: 8),
|
padding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 8),
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
@@ -109,7 +109,7 @@ class _ServerInfoItem extends StatelessWidget {
|
|||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: contentFontSize,
|
fontSize: contentFontSize,
|
||||||
color: context.colorScheme.onSurfaceSecondary,
|
color: context.colorScheme.onSurfaceSecondary,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.w500,
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
),
|
),
|
||||||
textAlign: TextAlign.end,
|
textAlign: TextAlign.end,
|
||||||
|
|||||||
@@ -162,7 +162,7 @@ class _ProfileIndicator extends ConsumerWidget {
|
|||||||
child: AbsorbPointer(
|
child: AbsorbPointer(
|
||||||
child: Builder(
|
child: Builder(
|
||||||
builder: (context) => UserCircleAvatar(
|
builder: (context) => UserCircleAvatar(
|
||||||
size: 32,
|
size: 34,
|
||||||
user: user,
|
user: user,
|
||||||
opacity: IconTheme.of(context).opacity ?? 1,
|
opacity: IconTheme.of(context).opacity ?? 1,
|
||||||
hasBorder: true,
|
hasBorder: true,
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ class UserCircleAvatar extends ConsumerWidget {
|
|||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: userAvatarColor,
|
color: userAvatarColor,
|
||||||
shape: BoxShape.circle,
|
shape: BoxShape.circle,
|
||||||
border: hasBorder ? Border.all(color: Colors.grey[500]!.withValues(alpha: opacity), width: 1) : null,
|
border: hasBorder ? Border.all(color: userAvatarColor.withValues(alpha: opacity), width: 1.5) : null,
|
||||||
),
|
),
|
||||||
child: user.hasProfileImage
|
child: user.hasProfileImage
|
||||||
? ClipRRect(
|
? ClipRRect(
|
||||||
|
|||||||
Reference in New Issue
Block a user