Light theme default + yt-dlp search fallback

This commit is contained in:
iliasmouhcine
2026-08-22 13:02:32 +01:00
commit 7704cae4a0
282 changed files with 52324 additions and 0 deletions
@@ -0,0 +1,33 @@
import '../models/channel_details.dart';
import 'youtube_service.dart';
class ChannelPreviewMetadataService {
ChannelPreviewMetadataService._();
static final ChannelPreviewMetadataService instance =
ChannelPreviewMetadataService._();
final YoutubeService _youtube = YoutubeService();
final Map<String, Future<ChannelDetails?>> _channelCache =
<String, Future<ChannelDetails?>>{};
Future<ChannelDetails?> getChannel(
String? channelId,
) {
final id = channelId?.trim() ?? '';
if (id.isEmpty) {
return Future<ChannelDetails?>.value(null);
}
return _channelCache.putIfAbsent(
id,
() => _youtube.getChannelPreviewDetails(id),
);
}
void invalidate(String channelId) {
_channelCache.remove(channelId);
}
}