chore: Clean-up for status cards

This commit is contained in:
PartyDonut 2025-10-26 19:18:26 +01:00
parent c9ce5b9b90
commit ed5598fc66
12 changed files with 69 additions and 81 deletions

View file

@ -1,11 +1,13 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart';
import 'package:fladder/models/item_base_model.dart';
import 'package:fladder/models/items/images_models.dart';
import 'package:fladder/models/items/item_shared_models.dart';
import 'package:fladder/models/items/overview_model.dart';
import 'package:fladder/util/localization_helper.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
class BookModel extends ItemBaseModel {
final String? parentName;
@ -46,6 +48,9 @@ class BookModel extends ItemBaseModel {
@override
double get progress => userData.progress != 0 ? 100 : 0;
@override
String? unplayedLabel(BuildContext context) => userData.progress != 0 ? context.localized.page(currentPage) : null;
@override
String playButtonLabel(BuildContext context) => progress != 0
? context.localized.continuePage(currentPage)

View file

@ -113,6 +113,8 @@ class ItemBaseModel with ItemBaseModelMappable {
bool get watched => userData.played;
String? unplayedLabel(BuildContext context) => null;
String? detailedName(BuildContext context) => "$name${overview.yearAired != null ? " (${overview.yearAired})" : ""}";
String? get subText => null;

View file

@ -82,6 +82,9 @@ class SeasonModel extends ItemBaseModel with SeasonModelMappable {
String localizedName(BuildContext context) => name.replaceFirst("Season", context.localized.season(1));
@override
String? unplayedLabel(BuildContext context) => userData.played ? null : userData.unPlayedItemCount?.toString();
@override
SeriesModel get parentBaseModel => SeriesModel(
originalTitle: '',

View file

@ -74,6 +74,9 @@ class SeriesModel extends ItemBaseModel with SeriesModelMappable {
return availableEpisodes?.map((e) => e).toList() ?? [];
}
@override
String? unplayedLabel(BuildContext context) => userData.played ? null : userData.unPlayedItemCount?.toString();
@override
bool get syncAble => true;