Files
Zakaria 1563409cb1
Build / Build for Android (push) Has been cancelled
Build / Build for iOS (push) Has been cancelled
first commit
2026-05-18 14:15:38 -04:00

43 lines
1.3 KiB
Dart

import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:get_it/get_it.dart';
import '../../services/music_player_background_task.dart';
import 'sleep_timer_dialog.dart';
import 'sleep_timer_cancel_dialog.dart';
class SleepTimerButton extends StatelessWidget {
const SleepTimerButton({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
final audioHandler = GetIt.instance<MusicPlayerBackgroundTask>();
return ValueListenableBuilder<Timer?>(
valueListenable: audioHandler.sleepTimer,
builder: (context, value, child) {
return IconButton(
icon: value == null
? const Icon(Icons.mode_night_outlined)
: const Icon(Icons.mode_night),
tooltip: AppLocalizations.of(context)!.sleepTimerTooltip,
onPressed: () async {
if (value != null) {
showDialog(
context: context,
builder: (context) => const SleepTimerCancelDialog(),
);
} else {
await showDialog(
context: context,
builder: (context) => const SleepTimerDialog(),
);
}
});
},
);
}
}