2021-07-19 00:47:22 +02:00
|
|
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
2020-06-17 19:11:52 +02:00
|
|
|
|
2020-06-03 13:18:37 +02:00
|
|
|
import 'channel_id.dart';
|
|
|
|
|
2021-07-19 00:47:22 +02:00
|
|
|
part 'channel.freezed.dart';
|
2020-06-03 13:18:37 +02:00
|
|
|
|
2021-07-19 00:47:22 +02:00
|
|
|
/// YouTube channel metadata.
|
2021-07-22 15:03:07 +02:00
|
|
|
@freezed
|
2021-07-19 00:47:22 +02:00
|
|
|
class Channel with _$Channel {
|
2021-07-22 15:03:07 +02:00
|
|
|
///
|
2021-07-19 00:47:22 +02:00
|
|
|
const factory Channel(
|
|
|
|
/// Channel ID.
|
|
|
|
ChannelId id,
|
2020-06-03 13:18:37 +02:00
|
|
|
|
2021-07-19 00:47:22 +02:00
|
|
|
/// Channel title.
|
|
|
|
String title,
|
2021-07-14 22:36:25 +02:00
|
|
|
|
2021-07-19 00:47:22 +02:00
|
|
|
/// URL of the channel's logo image.
|
|
|
|
String logoUrl,
|
2020-06-03 13:18:37 +02:00
|
|
|
|
2022-02-01 00:55:55 +01:00
|
|
|
/// URL of the channel's banner image.
|
|
|
|
String bannerUrl,
|
|
|
|
|
2021-07-19 00:47:22 +02:00
|
|
|
/// The (approximate) channel subscriber's count.
|
|
|
|
int? subscribersCount,
|
|
|
|
) = _Channel;
|
2020-06-17 19:11:52 +02:00
|
|
|
|
2021-07-19 00:47:22 +02:00
|
|
|
/// Channel URL.
|
2022-04-30 17:49:34 +02:00
|
|
|
String get url => 'http://127.0.0.1:8080/www.youtube.com:443/channel/$id';
|
2021-07-22 15:03:07 +02:00
|
|
|
|
|
|
|
const Channel._();
|
2020-06-03 13:18:37 +02:00
|
|
|
}
|