mirror of
https://github.com/R0m1k3/xtremflow.git
synced 2026-10-11 17:30:00 +02:00
feat: add RecordingsTab widget and EPG guide view for IPTV playback
This commit is contained in:
1 parent
cd859d643c
commit
2a5eb08807
1 file changed
+5
-44
@@ -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),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in new issue
Block a user