import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../library/database.dart'; import '../library/playlist_service.dart'; import 'theme.dart'; /// Herz-Toggle: ausgefüllt = favorisiert, umrandet = nicht favorisiert. class FavoriteButton extends StatelessWidget { const FavoriteButton({super.key, required this.songId}); final String songId; @override Widget build(BuildContext context) { final db = context.read(); final service = context.read(); return StreamBuilder( stream: db.watchIsFavorite(songId), builder: (context, snapshot) { final isFavorite = snapshot.data ?? false; return IconButton( tooltip: isFavorite ? 'Favorit entfernen' : 'Zu Favoriten hinzufügen', icon: Icon( isFavorite ? Icons.favorite : Icons.favorite_border, color: isFavorite ? MeloTheme.red : Colors.white54, ), onPressed: () => service.toggleFavorite(songId), ); }, ); } }