From bed3b717c7ae208602fe19feb71bd5bd4c8b0444 Mon Sep 17 00:00:00 2001 From: bwees Date: Thu, 29 May 2025 11:55:33 -0500 Subject: [PATCH] add cast button to top bar --- mobile/lib/widgets/common/immich_app_bar.dart | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/mobile/lib/widgets/common/immich_app_bar.dart b/mobile/lib/widgets/common/immich_app_bar.dart index 4f95e657d9..e9efb9608d 100644 --- a/mobile/lib/widgets/common/immich_app_bar.dart +++ b/mobile/lib/widgets/common/immich_app_bar.dart @@ -9,9 +9,11 @@ import 'package:immich_mobile/models/backup/backup_state.model.dart'; import 'package:immich_mobile/models/server_info/server_info.model.dart'; import 'package:immich_mobile/providers/background_sync.provider.dart'; import 'package:immich_mobile/providers/backup/backup.provider.dart'; +import 'package:immich_mobile/providers/cast.provider.dart'; import 'package:immich_mobile/providers/server_info.provider.dart'; import 'package:immich_mobile/providers/user.provider.dart'; import 'package:immich_mobile/routing/router.dart'; +import 'package:immich_mobile/widgets/asset_viewer/cast_dialog.dart'; import 'package:immich_mobile/widgets/common/app_bar_dialog/app_bar_dialog.dart'; import 'package:immich_mobile/widgets/common/user_circle_avatar.dart'; @@ -32,6 +34,7 @@ class ImmichAppBar extends ConsumerWidget implements PreferredSizeWidget { final user = ref.watch(currentUserProvider); final isDarkTheme = context.isDarkTheme; const widgetSize = 30.0; + final isCasting = ref.watch(castProvider.select((c) => c.isCasting)); buildProfileIndicator() { return InkWell( @@ -185,6 +188,21 @@ class ImmichAppBar extends ConsumerWidget implements PreferredSizeWidget { onPressed: () => ref.read(backgroundSyncProvider).sync(), icon: const Icon(Icons.sync), ), + if (isCasting) + Padding( + padding: const EdgeInsets.only(right: 12), + child: IconButton( + onPressed: () { + showDialog( + context: context, + builder: (context) => const CastDialog(), + ); + }, + icon: Icon( + isCasting ? Icons.cast_connected_rounded : Icons.cast_rounded, + ), + ), + ), if (showUploadButton) Padding( padding: const EdgeInsets.only(right: 20),