refactor: simplify cover image resolution in LibraryGridViewWidget and LibraryListViewWidget

This commit is contained in:
Moustapha Kodjo Amadou 2026-05-11 09:04:37 +01:00
parent 2d9eebe94e
commit f93d9277b9
2 changed files with 2 additions and 46 deletions

View file

@ -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<LibraryGridViewWidget> {
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,

View file

@ -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<Manga> 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)