feat: Implement a basic anime calendar
This commit is contained in:
@@ -1,9 +1,20 @@
|
||||
import 'package:anitrack/src/data/type.dart';
|
||||
import 'package:anitrack/src/service/database.dart';
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
|
||||
part 'anime.freezed.dart';
|
||||
part 'anime.g.dart';
|
||||
|
||||
class BoolConverter implements JsonConverter<bool, int> {
|
||||
const BoolConverter();
|
||||
|
||||
@override
|
||||
bool fromJson(int json) => json.toBool();
|
||||
|
||||
@override
|
||||
int toJson(bool object) => object.toInt();
|
||||
}
|
||||
|
||||
/// Data about a tracked anime
|
||||
@freezed
|
||||
class AnimeTrackingData with _$AnimeTrackingData, TrackingMedium {
|
||||
@@ -25,6 +36,12 @@ class AnimeTrackingData with _$AnimeTrackingData, TrackingMedium {
|
||||
|
||||
/// URL to the thumbnail/cover art for the anime.
|
||||
String thumbnailUrl,
|
||||
|
||||
/// Flag whether the anime is airing
|
||||
@BoolConverter() bool airing,
|
||||
|
||||
/// The day of the week the anime is airing
|
||||
String? broadcastDay,
|
||||
) = _AnimeTrackingData;
|
||||
|
||||
/// JSON
|
||||
|
||||
Reference in New Issue
Block a user