mirror of
https://github.com/gabehf/Fladder.git
synced 2026-03-07 21:48:14 -08:00
[Bugfix] Fixed refreshing details screens
This commit is contained in:
parent
8bda03ee2c
commit
aaa6a737cb
4 changed files with 10 additions and 13 deletions
|
|
@ -98,7 +98,7 @@ class BookDetailsProviderNotifier extends StateNotifier<BookProviderModel> {
|
|||
|
||||
Future<Response?> fetchDetails(BookModel book) async {
|
||||
state = state.copyWith(
|
||||
parentModel: () => book,
|
||||
parentModel: () => state.book ?? book,
|
||||
);
|
||||
String bookId = state.book?.id ?? book.id;
|
||||
|
||||
|
|
@ -108,7 +108,7 @@ class BookDetailsProviderNotifier extends StateNotifier<BookProviderModel> {
|
|||
final parentModel = parentResponse.bodyOrThrow;
|
||||
final getViews = await api.usersUserIdViewsGet();
|
||||
|
||||
//Hacky solution more false positives so good enough for now.
|
||||
//Hacky solution for determining parent views
|
||||
final parentIsView =
|
||||
getViews.body?.items?.firstWhereOrNull((element) => element.name == parentResponse.body?.name) != null;
|
||||
|
||||
|
|
|
|||
|
|
@ -18,14 +18,15 @@ class MovieDetails extends _$MovieDetails {
|
|||
|
||||
Future<Response?> fetchDetails(ItemBaseModel item) async {
|
||||
try {
|
||||
if (item is MovieModel && state == null) {
|
||||
state = item;
|
||||
if (item is MovieModel) {
|
||||
state = state ?? item;
|
||||
}
|
||||
MovieModel? newState;
|
||||
final response = await api.usersUserIdItemsItemIdGet(itemId: item.id);
|
||||
if (response.body == null) return null;
|
||||
state = response.bodyOrThrow as MovieModel;
|
||||
newState = (response.bodyOrThrow as MovieModel).copyWith(related: state?.related);
|
||||
final related = await ref.read(relatedUtilityProvider).relatedContent(item.id);
|
||||
state = state?.copyWith(related: related.body);
|
||||
state = newState.copyWith(related: related.body);
|
||||
return null;
|
||||
} catch (e) {
|
||||
_tryToCreateOfflineState(item);
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ part of 'movies_details_provider.dart';
|
|||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
String _$movieDetailsHash() => r'e5ab0af7fab9eb7a8ea50a873e8875bb572bd240';
|
||||
String _$movieDetailsHash() => r'da07dcdb6e1955119df64f8a6a5634216435982c';
|
||||
|
||||
/// Copied from Dart SDK
|
||||
class _SystemHash {
|
||||
|
|
|
|||
|
|
@ -27,16 +27,12 @@ class SeriesDetailViewNotifier extends StateNotifier<SeriesModel?> {
|
|||
Future<Response?> fetchDetails(ItemBaseModel seriesModel) async {
|
||||
try {
|
||||
if (seriesModel is SeriesModel) {
|
||||
state = seriesModel;
|
||||
state = state ?? seriesModel;
|
||||
}
|
||||
SeriesModel? newState;
|
||||
final response = await api.usersUserIdItemsItemIdGet(itemId: seriesModel.id);
|
||||
if (response.body == null) {
|
||||
state = seriesModel as SeriesModel;
|
||||
return null;
|
||||
}
|
||||
if (response.body == null) return null;
|
||||
newState = response.bodyOrThrow as SeriesModel;
|
||||
|
||||
final seasons = await api.showsSeriesIdSeasonsGet(seriesId: seriesModel.id);
|
||||
newState = newState.copyWith(seasons: SeasonModel.seasonsFromDto(seasons.body?.items, ref));
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue