1
0
mirror of https://github.com/immich-app/immich.git synced 2024-12-26 10:50:29 +02:00

fix(mobile): immich app bar tap radius (#4816)

* mobile: tool-tip for server url in app bar dialog

* fix: Add Inkwell around the entire profile image

* mobile: open documentation and github in browser

---------

Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
This commit is contained in:
shenlong 2023-11-03 14:04:06 +00:00 committed by GitHub
parent 5f43971ccf
commit 81792a5342
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 57 additions and 42 deletions

View File

@ -194,6 +194,7 @@ class ImmichAppBarDialog extends HookConsumerWidget {
Navigator.of(context).pop(); Navigator.of(context).pop();
launchUrl( launchUrl(
Uri.parse('https://immich.app'), Uri.parse('https://immich.app'),
mode: LaunchMode.externalApplication,
); );
}, },
child: Text( child: Text(
@ -213,6 +214,7 @@ class ImmichAppBarDialog extends HookConsumerWidget {
Navigator.of(context).pop(); Navigator.of(context).pop();
launchUrl( launchUrl(
Uri.parse('https://github.com/immich-app/immich'), Uri.parse('https://github.com/immich-app/immich'),
mode: LaunchMode.externalApplication,
); );
}, },
child: Text( child: Text(

View File

@ -182,6 +182,22 @@ class AppBarServerInfo extends HookConsumerWidget {
child: Container( child: Container(
width: 200, width: 200,
padding: const EdgeInsets.only(right: 10.0), padding: const EdgeInsets.only(right: 10.0),
child: Tooltip(
verticalOffset: 0,
decoration: BoxDecoration(
color:
Theme.of(context).primaryColor.withOpacity(0.9),
borderRadius: BorderRadius.circular(10),
),
textStyle: TextStyle(
color: Theme.of(context).brightness == Brightness.dark
? Colors.black
: Colors.white,
fontWeight: FontWeight.bold,
),
message: getServerUrl() ?? '--',
preferBelow: false,
triggerMode: TooltipTriggerMode.tap,
child: Text( child: Text(
getServerUrl() ?? '--', getServerUrl() ?? '--',
style: TextStyle( style: TextStyle(
@ -198,6 +214,7 @@ class AppBarServerInfo extends HookConsumerWidget {
), ),
), ),
), ),
),
], ],
), ),
], ],

View File

@ -31,7 +31,7 @@ class ImmichAppBar extends ConsumerWidget implements PreferredSizeWidget {
final isDarkMode = Theme.of(context).brightness == Brightness.dark; final isDarkMode = Theme.of(context).brightness == Brightness.dark;
const widgetSize = 30.0; const widgetSize = 30.0;
buildProfilePhoto() { buildProfileIndicator() {
return InkWell( return InkWell(
onTap: () => showDialog( onTap: () => showDialog(
context: context, context: context,
@ -39,21 +39,7 @@ class ImmichAppBar extends ConsumerWidget implements PreferredSizeWidget {
builder: (ctx) => const ImmichAppBarDialog(), builder: (ctx) => const ImmichAppBarDialog(),
), ),
borderRadius: BorderRadius.circular(12), borderRadius: BorderRadius.circular(12),
child: authState.profileImagePath.isEmpty || user == null child: Badge(
? const Icon(
Icons.face_outlined,
size: widgetSize,
)
: UserCircleAvatar(
radius: 15,
size: 27,
user: user,
),
);
}
buildProfileIndicator() {
return Badge(
label: Container( label: Container(
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.black, color: Colors.black,
@ -69,7 +55,17 @@ class ImmichAppBar extends ConsumerWidget implements PreferredSizeWidget {
alignment: Alignment.bottomRight, alignment: Alignment.bottomRight,
isLabelVisible: serverInfoState.isVersionMismatch, isLabelVisible: serverInfoState.isVersionMismatch,
offset: const Offset(2, 2), offset: const Offset(2, 2),
child: buildProfilePhoto(), child: authState.profileImagePath.isEmpty || user == null
? const Icon(
Icons.face_outlined,
size: widgetSize,
)
: UserCircleAvatar(
radius: 15,
size: 27,
user: user,
),
),
); );
} }