mirror of
https://github.com/kodjodevf/mangayomi.git
synced 2026-04-20 19:12:04 +00:00
fix
This commit is contained in:
parent
85cbd9271b
commit
123c05f393
7 changed files with 15 additions and 96 deletions
4
Cargo.lock
generated
4
Cargo.lock
generated
|
|
@ -1117,9 +1117,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "rinf"
|
||||
version = "6.6.3"
|
||||
version = "6.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "98fbe84dbe539079b4a200e1d815229bd12fee0e984768cb88e62febec705752"
|
||||
checksum = "2cac0dc63e157673747bd0286a8565762fd34d0890ff7eedb90eba035dfa4c43"
|
||||
dependencies = [
|
||||
"allo-isolate",
|
||||
"backtrace",
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import 'package:mangayomi/main.dart';
|
|||
import 'package:mangayomi/models/download.dart';
|
||||
import 'package:mangayomi/modules/history/providers/isar_providers.dart';
|
||||
import 'package:mangayomi/modules/library/providers/library_state_provider.dart';
|
||||
import 'package:mangayomi/modules/library/widgets/measure_widget_sync.dart';
|
||||
import 'package:mangayomi/modules/manga/reader/providers/push_router.dart';
|
||||
import 'package:mangayomi/models/manga.dart';
|
||||
import 'package:mangayomi/modules/widgets/custom_extended_image_provider.dart';
|
||||
|
|
@ -21,9 +20,6 @@ import 'package:mangayomi/modules/widgets/gridview_widget.dart';
|
|||
import 'package:mangayomi/modules/widgets/manga_image_card_widget.dart';
|
||||
import 'package:mangayomi/modules/widgets/progress_center.dart';
|
||||
|
||||
final animeCardheightStateProvider = StateProvider<double>((ref) => 300);
|
||||
final mangaCardheightStateProvider = StateProvider<double>((ref) => 300);
|
||||
|
||||
class LibraryGridViewWidget extends StatefulWidget {
|
||||
final bool isCoverOnlyGrid;
|
||||
final bool isComfortableGrid;
|
||||
|
|
@ -56,9 +52,7 @@ class _LibraryGridViewWidgetState extends State<LibraryGridViewWidget> {
|
|||
return Consumer(builder: (context, ref, child) {
|
||||
final isLongPressed = ref.watch(isLongPressedMangaStateProvider);
|
||||
final isManga = widget.isManga;
|
||||
final height = ref.watch(isManga
|
||||
? mangaCardheightStateProvider
|
||||
: animeCardheightStateProvider);
|
||||
|
||||
final gridSize =
|
||||
ref.watch(libraryGridSizeStateProvider(isManga: isManga));
|
||||
return GridViewWidget(
|
||||
|
|
@ -70,27 +64,7 @@ class _LibraryGridViewWidgetState extends State<LibraryGridViewWidget> {
|
|||
|
||||
return Builder(builder: (context) {
|
||||
bool isLocalArchive = entry.isLocalArchive ?? false;
|
||||
return SizedBox(
|
||||
height: height +
|
||||
(widget.isComfortableGrid &&
|
||||
(gridSize != null && gridSize != 0)
|
||||
? 22
|
||||
: 0),
|
||||
child: MeasureWidgetSizeSync(
|
||||
onCalculateSize: (size) {
|
||||
if (size != null) {
|
||||
final newHeight = size.width * 1.5;
|
||||
if (height.ceil() != newHeight.ceil()) {
|
||||
ref
|
||||
.read((isManga
|
||||
? mangaCardheightStateProvider
|
||||
: animeCardheightStateProvider)
|
||||
.notifier)
|
||||
.state = size.width * 1.5;
|
||||
}
|
||||
}
|
||||
},
|
||||
child: Padding(
|
||||
return Padding(
|
||||
padding: const EdgeInsets.all(2),
|
||||
child: CoverViewWidget(
|
||||
isLongPressed: widget.mangaIdsList.contains(entry.id),
|
||||
|
|
@ -363,9 +337,7 @@ class _LibraryGridViewWidgetState extends State<LibraryGridViewWidget> {
|
|||
)))
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
);
|
||||
});
|
||||
},
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,25 +0,0 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
class MeasureWidgetSizeSync extends StatefulWidget {
|
||||
final Function(Size? size) onCalculateSize;
|
||||
final Widget child;
|
||||
|
||||
const MeasureWidgetSizeSync(
|
||||
{super.key, required this.onCalculateSize, required this.child});
|
||||
|
||||
@override
|
||||
State<MeasureWidgetSizeSync> createState() => _MeasureWidgetSizeSyncState();
|
||||
}
|
||||
|
||||
class _MeasureWidgetSizeSyncState extends State<MeasureWidgetSizeSync> {
|
||||
final _key = GlobalKey();
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
if (context.mounted) {
|
||||
WidgetsBinding.instance.addPostFrameCallback(
|
||||
(_) => widget.onCalculateSize(_key.currentContext?.size));
|
||||
}
|
||||
return Container(key: _key, child: widget.child);
|
||||
}
|
||||
}
|
||||
|
|
@ -8,8 +8,6 @@ import 'package:mangayomi/eval/dart/model/m_pages.dart';
|
|||
import 'package:mangayomi/models/settings.dart';
|
||||
import 'package:mangayomi/models/source.dart';
|
||||
import 'package:mangayomi/modules/library/providers/library_state_provider.dart';
|
||||
import 'package:mangayomi/modules/library/widgets/library_gridview_widget.dart';
|
||||
import 'package:mangayomi/modules/library/widgets/measure_widget_sync.dart';
|
||||
import 'package:mangayomi/modules/manga/home/providers/state_provider.dart';
|
||||
import 'package:mangayomi/modules/manga/home/widget/filter_widget.dart';
|
||||
import 'package:mangayomi/modules/widgets/listview_widget.dart';
|
||||
|
|
@ -533,9 +531,7 @@ class _MangaHomeScreenState extends ConsumerState<MangaHomeScreen> {
|
|||
final gridSize = ref.watch(
|
||||
libraryGridSizeStateProvider(
|
||||
isManga: source.isManga!));
|
||||
final height = ref.watch(source.isManga!
|
||||
? mangaCardheightStateProvider
|
||||
: animeCardheightStateProvider);
|
||||
|
||||
return GridViewWidget(
|
||||
gridSize: gridSize,
|
||||
controller: _scrollController,
|
||||
|
|
@ -546,35 +542,11 @@ class _MangaHomeScreenState extends ConsumerState<MangaHomeScreen> {
|
|||
if (index == _length) {
|
||||
return buildProgressIndicator();
|
||||
}
|
||||
return SizedBox(
|
||||
height: height +
|
||||
(isComfortableGrid &&
|
||||
(gridSize != null &&
|
||||
gridSize != 0)
|
||||
? 22
|
||||
: 0),
|
||||
child: MeasureWidgetSizeSync(
|
||||
onCalculateSize: (size) {
|
||||
if (size != null) {
|
||||
final newHeight = size.width * 1.5;
|
||||
if (height.ceil() !=
|
||||
newHeight.ceil()) {
|
||||
ref
|
||||
.read((source.isManga!
|
||||
? mangaCardheightStateProvider
|
||||
: animeCardheightStateProvider)
|
||||
.notifier)
|
||||
.state = size.width * 1.5;
|
||||
}
|
||||
}
|
||||
},
|
||||
child: MangaHomeImageCard(
|
||||
isManga: source.isManga ?? true,
|
||||
manga: _mangaList[index],
|
||||
source: source,
|
||||
isComfortableGrid: isComfortableGrid,
|
||||
),
|
||||
),
|
||||
return MangaHomeImageCard(
|
||||
isManga: source.isManga ?? true,
|
||||
manga: _mangaList[index],
|
||||
source: source,
|
||||
isComfortableGrid: isComfortableGrid,
|
||||
);
|
||||
},
|
||||
);
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ edition = "2021"
|
|||
crate-type = ["lib", "cdylib", "staticlib"]
|
||||
|
||||
[dependencies]
|
||||
rinf = "6.6.3"
|
||||
rinf = "6.7.0"
|
||||
allo-isolate = "0.1.24"
|
||||
wasm-bindgen = "0.2.90"
|
||||
prost = "0.12.3"
|
||||
|
|
|
|||
|
|
@ -294,10 +294,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: dart_eval
|
||||
sha256: "2c591884656b550d9d532d2e5ee72341d3dd07df1e0fd379a837d501a41bc00c"
|
||||
sha256: "4dd114e350fb24a9fdfef1e93c7f491f6eb1ed34633f102a7c0a34486126b602"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.7.4"
|
||||
version: "0.7.9"
|
||||
dart_style:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ dependencies:
|
|||
file_picker: ^6.1.1
|
||||
path_provider: ^2.1.2
|
||||
scrollable_positioned_list: ^0.3.5
|
||||
dart_eval: ^0.7.4
|
||||
dart_eval: ^0.7.9
|
||||
json_path: ^0.7.0
|
||||
bot_toast: ^4.1.3
|
||||
flutter_web_auth_2: ^3.1.1
|
||||
|
|
|
|||
Loading…
Reference in a new issue