29 lines
807 B
Dart
29 lines
807 B
Dart
class StreamEntry {
|
|
final String title;
|
|
final String url;
|
|
final String? logo; // optional TVG logo URL
|
|
|
|
StreamEntry({required this.title, required this.url, this.logo});
|
|
|
|
StreamEntry copyWith({String? title, String? url, String? logo}) =>
|
|
StreamEntry(
|
|
title: title ?? this.title,
|
|
url: url ?? this.url,
|
|
logo: logo ?? this.logo);
|
|
|
|
@override
|
|
String toString() => 'StreamEntry(title: $title, url: $url, logo: $logo)';
|
|
|
|
@override
|
|
bool operator ==(Object other) =>
|
|
identical(this, other) ||
|
|
other is StreamEntry &&
|
|
runtimeType == other.runtimeType &&
|
|
title == other.title &&
|
|
url == other.url &&
|
|
logo == other.logo;
|
|
|
|
@override
|
|
int get hashCode => title.hashCode ^ url.hashCode ^ (logo?.hashCode ?? 0);
|
|
}
|