import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../services/audio_service.dart'; class MiniPlayerBar extends StatelessWidget { const MiniPlayerBar({super.key}); @override Widget build(BuildContext context) { final service = context.watch(); final song = service.currentSong; if (song == null) return const SizedBox.shrink(); return Container( height: 64, decoration: BoxDecoration( color: const Color(0xFF1A1F1E), boxShadow: [ BoxShadow( color: Colors.black.withOpacity(0.4), blurRadius: 12, offset: const Offset(0, -4), ), ], gradient: LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, colors: [ Colors.transparent, Colors.black.withOpacity(0.1), ], stops: const [0.0, 1.0], ), ), child: Row( children: [ const SizedBox(width: 12), Container( width: 48, height: 48, decoration: BoxDecoration( color: const Color(0xFF2A3332), borderRadius: BorderRadius.circular(4), ), child: const Icon(Icons.music_note, color: Colors.white38, size: 24), ), const SizedBox(width: 12), Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( song.title, style: const TextStyle( fontSize: 15, fontWeight: FontWeight.w500, color: Colors.white, ), maxLines: 1, overflow: TextOverflow.ellipsis, ), Text( song.artist, style: TextStyle( fontSize: 13, color: Colors.grey[400], ), maxLines: 1, overflow: TextOverflow.ellipsis, ), ], ), ), IconButton( icon: Icon( service.isPlaying ? Icons.pause : Icons.play_arrow, color: Colors.white, ), onPressed: () => context.read().togglePlay(), ), IconButton( icon: const Icon(Icons.playlist_play_outlined, color: Colors.white54), onPressed: () {}, ), const SizedBox(width: 4), ], ), ); } }