From f93d9277b944ffbdca5885966c09dd79fb66ae53 Mon Sep 17 00:00:00 2001 From: Moustapha Kodjo Amadou <107993382+kodjodevf@users.noreply.github.com> Date: Mon, 11 May 2026 09:04:37 +0100 Subject: [PATCH] refactor: simplify cover image resolution in LibraryGridViewWidget and LibraryListViewWidget --- .../widgets/library_gridview_widget.dart | 23 +---------------- .../widgets/library_listview_widget.dart | 25 +------------------ 2 files changed, 2 insertions(+), 46 deletions(-) diff --git a/lib/modules/library/widgets/library_gridview_widget.dart b/lib/modules/library/widgets/library_gridview_widget.dart index efa36d26..77eac4f0 100644 --- a/lib/modules/library/widgets/library_gridview_widget.dart +++ b/lib/modules/library/widgets/library_gridview_widget.dart @@ -1,19 +1,14 @@ -import 'dart:typed_data'; - import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:mangayomi/modules/library/providers/library_state_provider.dart'; import 'package:mangayomi/models/manga.dart'; import 'package:mangayomi/modules/library/widgets/continue_reader_button.dart'; import 'package:mangayomi/modules/manga/detail/providers/state_providers.dart'; -import 'package:mangayomi/modules/widgets/custom_extended_image_provider.dart'; -import 'package:mangayomi/utils/constant.dart'; import 'package:mangayomi/utils/extensions/build_context_extensions.dart'; import 'package:mangayomi/modules/library/widgets/library_entry_utils.dart'; import 'package:mangayomi/modules/widgets/bottom_text_widget.dart'; import 'package:mangayomi/modules/widgets/cover_view_widget.dart'; import 'package:mangayomi/modules/widgets/gridview_widget.dart'; -import 'package:mangayomi/utils/headers.dart'; class LibraryGridViewWidget extends StatefulWidget { final bool isCoverOnlyGrid; @@ -69,23 +64,7 @@ class _LibraryGridViewWidgetState extends State { text: entry.name!, isComfortableGrid: widget.isComfortableGrid, ), - image: entry.customCoverImage != null - ? MemoryImage(entry.customCoverImage as Uint8List) - as ImageProvider - : CustomExtendedNetworkImageProvider( - toImgUrl( - entry.customCoverFromTracker ?? entry.imageUrl ?? "", - ), - headers: entry.isLocalArchive! - ? null - : ref.watch( - headersProvider( - source: entry.source!, - lang: entry.lang!, - sourceId: entry.sourceId, - ), - ), - ), + image: resolveCoverImage(entry, ref), onTap: () => onTapEntry( isLongPressed: isLongPressed, ref: ref, diff --git a/lib/modules/library/widgets/library_listview_widget.dart b/lib/modules/library/widgets/library_listview_widget.dart index 9765c28a..3290f41a 100644 --- a/lib/modules/library/widgets/library_listview_widget.dart +++ b/lib/modules/library/widgets/library_listview_widget.dart @@ -1,16 +1,11 @@ -import 'dart:typed_data'; - import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:mangayomi/models/manga.dart'; import 'package:mangayomi/modules/library/widgets/continue_reader_button.dart'; import 'package:mangayomi/modules/manga/detail/providers/state_providers.dart'; import 'package:mangayomi/modules/library/widgets/library_entry_utils.dart'; -import 'package:mangayomi/modules/widgets/custom_extended_image_provider.dart'; -import 'package:mangayomi/utils/constant.dart'; import 'package:mangayomi/utils/extensions/build_context_extensions.dart'; import 'package:mangayomi/modules/widgets/listview_widget.dart'; -import 'package:mangayomi/utils/headers.dart'; class LibraryListViewWidget extends StatelessWidget { final List entriesManga; @@ -79,25 +74,7 @@ class LibraryListViewWidget extends StatelessWidget { fit: BoxFit.cover, width: 40, height: 45, - image: entry.customCoverImage != null - ? MemoryImage( - entry.customCoverImage - as Uint8List, - ) - as ImageProvider - : CustomExtendedNetworkImageProvider( - toImgUrl( - entry.customCoverFromTracker ?? - entry.imageUrl!, - ), - headers: ref.watch( - headersProvider( - source: entry.source!, - lang: entry.lang!, - sourceId: entry.sourceId, - ), - ), - ), + image: resolveCoverImage(entry, ref), child: InkWell( child: Container( color: mangaIdsList.contains(entry.id)