feat: add RecordingsTab widget and EPG guide view for IPTV playback

This commit is contained in:
Michael committed 2026-04-01 20:31:52 +02:00
1 parent cd859d643c
commit 2a5eb08807
1 file changed
+5 -44
+5 -44
View File
@@ -21,38 +21,23 @@ class RecordingsTab extends StatefulWidget {
State<RecordingsTab> createState() => _RecordingsTabState(); State<RecordingsTab> createState() => _RecordingsTabState();
} }
class _RecordingsTabState extends State<RecordingsTab> class _RecordingsTabState extends State<RecordingsTab> {
with SingleTickerProviderStateMixin {
late TabController _tabController;
@override
void initState() {
super.initState();
_tabController = TabController(length: 1, vsync: this);
}
@override
void dispose() {
_tabController.dispose();
super.dispose();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Column( return Column(
children: [ children: [
// Header // Header
Container( Container(
padding: const EdgeInsets.fromLTRB(24, 24, 24, 0), padding: const EdgeInsets.fromLTRB(24, 24, 24, 16),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Row( Row(
children: [ children: [
const Icon(Icons.tv, color: Colors.white, size: 28), const Icon(Icons.videocam, color: Colors.white, size: 28),
const SizedBox(width: 12), const SizedBox(width: 12),
Text( Text(
'TV & Enregistrements', 'Enregistrements',
style: GoogleFonts.outfit( style: GoogleFonts.outfit(
fontSize: 26, fontSize: 26,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
@@ -61,35 +46,11 @@ class _RecordingsTabState extends State<RecordingsTab>
), ),
], ],
), ),
const SizedBox(height: 16),
TabBar(
controller: _tabController,
labelColor: Colors.white,
unselectedLabelColor: Colors.white54,
indicatorColor: Colors.redAccent,
indicatorWeight: 3,
labelStyle: GoogleFonts.outfit(
fontWeight: FontWeight.w600,
fontSize: 14,
),
unselectedLabelStyle: GoogleFonts.outfit(fontSize: 14),
tabs: const [
Tab(
icon: Icon(Icons.fiber_manual_record, size: 18),
text: 'Enregistrements',
),
],
),
], ],
), ),
), ),
Expanded( Expanded(
child: TabBarView( child: _RecordingsListView(playlist: widget.playlist),
controller: _tabController,
children: [
_RecordingsListView(playlist: widget.playlist),
],
),
), ),
], ],
); );