immich/mobile/lib/presentation/actions/cast.action.dart
shenlong a048e86217
refactor: mobile cast and slideshow action (#29768)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-08-01 08:06:42 +05:30

23 lines
831 B
Dart

import 'dart:async';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/generated/translations.g.dart';
import 'package:immich_mobile/presentation/actions/action.dart';
import 'package:immich_mobile/providers/cast.provider.dart';
import 'package:immich_mobile/widgets/asset_viewer/cast_dialog.dart';
class CastAction extends ActionBuilder {
const CastAction();
@override
ActionItem create(BuildContext context, WidgetRef ref) {
final isCasting = ref.watch(castProvider.select((state) => state.isCasting));
return .new(
icon: isCasting ? Icons.cast_connected_rounded : Icons.cast_rounded,
label: context.t.cast,
onAction: () async => unawaited(showDialog(context: context, builder: (_) => const CastDialog())),
);
}
}