mirror of
https://github.com/immich-app/immich.git
synced 2025-12-06 01:10:00 +03:00
* feat(mobile): implement viewer kebab menu with about option * feat: revert exisitng buttons, adjust label name * unify MenuAnchor usage --------- Co-authored-by: Alex <alex.tran1502@gmail.com>
31 lines
1.2 KiB
Dart
31 lines
1.2 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
import 'package:immich_mobile/extensions/build_context_extensions.dart';
|
|
import 'package:immich_mobile/extensions/translate_extensions.dart';
|
|
import 'package:immich_mobile/presentation/widgets/action_buttons/base_action_button.widget.dart';
|
|
import 'package:immich_mobile/providers/cast.provider.dart';
|
|
import 'package:immich_mobile/widgets/asset_viewer/cast_dialog.dart';
|
|
|
|
class CastActionButton extends ConsumerWidget {
|
|
const CastActionButton({super.key, this.iconOnly = true, this.menuItem = false});
|
|
|
|
final bool iconOnly;
|
|
final bool menuItem;
|
|
|
|
@override
|
|
Widget build(BuildContext context, WidgetRef ref) {
|
|
final isCasting = ref.watch(castProvider.select((c) => c.isCasting));
|
|
|
|
return BaseActionButton(
|
|
iconData: isCasting ? Icons.cast_connected_rounded : Icons.cast_rounded,
|
|
iconColor: isCasting ? context.primaryColor : null, // null = default color
|
|
label: "cast".t(context: context),
|
|
onPressed: () {
|
|
showDialog(context: context, builder: (context) => const CastDialog());
|
|
},
|
|
iconOnly: iconOnly,
|
|
menuItem: menuItem,
|
|
);
|
|
}
|
|
}
|