Add M3U sources persistence UI and provider; integrate saved sources into HomeScreen
This commit is contained in:
@@ -389,39 +389,45 @@ class _PlayerScreenState extends State<PlayerScreen> {
|
||||
])))),
|
||||
if (_playError)
|
||||
Positioned.fill(
|
||||
child: Container(
|
||||
color: Colors.black54,
|
||||
child: Center(
|
||||
child: Card(
|
||||
color: Colors.red.shade900,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(16),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
Text(_errorMessage ?? 'Playback failed',
|
||||
style: const TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 16)),
|
||||
const SizedBox(height: 12),
|
||||
Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
TextButton(
|
||||
onPressed: _retryPlay,
|
||||
child: const Text('Retry',
|
||||
style: TextStyle(
|
||||
color:
|
||||
Colors.white))),
|
||||
const SizedBox(width: 8),
|
||||
TextButton(
|
||||
onPressed: _inspectStream,
|
||||
child: const Text('Inspect',
|
||||
style: TextStyle(
|
||||
color:
|
||||
Colors.white)))
|
||||
])
|
||||
]))))),
|
||||
child: Container(
|
||||
color: Colors.black54,
|
||||
child: Center(
|
||||
child: Card(
|
||||
color: Colors.red.shade900,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(16),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
Text(_errorMessage ?? 'Playback failed',
|
||||
style: const TextStyle(
|
||||
color: Colors.white, fontSize: 16)),
|
||||
const SizedBox(height: 12),
|
||||
Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
TextButton(
|
||||
onPressed: _retryPlay,
|
||||
child: const Text('Retry',
|
||||
style:
|
||||
TextStyle(color: Colors.white)),
|
||||
),
|
||||
const SizedBox(width: 8),
|
||||
TextButton(
|
||||
onPressed: _inspectStream,
|
||||
child: const Text('Inspect',
|
||||
style:
|
||||
TextStyle(color: Colors.white)),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
AnimatedOpacity(
|
||||
opacity: _showControls ? 1.0 : 0.0,
|
||||
duration: const Duration(milliseconds: 300),
|
||||
|
||||
Reference in New Issue
Block a user