From 238cb8f407afdee9841188ad0caa994476ad3b86 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 8 Mar 2026 21:28:47 +0100 Subject: [PATCH] feat(recording): add immediate record button to recording modal --- .../iptv/widgets/recording_modal.dart | 35 +++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/lib/features/iptv/widgets/recording_modal.dart b/lib/features/iptv/widgets/recording_modal.dart index 9e7ce3b..3efa61b 100644 --- a/lib/features/iptv/widgets/recording_modal.dart +++ b/lib/features/iptv/widgets/recording_modal.dart @@ -31,6 +31,13 @@ class _RecordingModalState extends State { int _durationMinutes = 60; bool _isLoading = false; + Future _recordNow() async { + setState(() { + _startTime = DateTime.now(); + }); + await _scheduleRecording(); + } + Future _scheduleRecording() async { setState(() => _isLoading = true); @@ -305,11 +312,35 @@ class _RecordingModalState extends State { ), ), const SizedBox(width: 16), + TvFocusableCard( + onTap: _isLoading ? () {} : _recordNow, + borderRadius: 8, + child: Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: Colors.redAccent.withOpacity(0.8), + borderRadius: BorderRadius.circular(8), + ), + child: _isLoading + ? const SizedBox( + width: 20, height: 20, + child: CircularProgressIndicator(color: Colors.white, strokeWidth: 2), + ) + : Text( + 'Enregistrer de suite', + style: GoogleFonts.inter( + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + const SizedBox(width: 8), TvFocusableCard( onTap: _isLoading ? () {} : _scheduleRecording, borderRadius: 8, child: Container( - padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 12), + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), decoration: BoxDecoration( color: AppColors.primary, borderRadius: BorderRadius.circular(8), @@ -320,7 +351,7 @@ class _RecordingModalState extends State { child: CircularProgressIndicator(color: Colors.white, strokeWidth: 2), ) : Text( - 'Enregistrer', + 'Programmer', style: GoogleFonts.inter( color: Colors.white, fontWeight: FontWeight.bold,