mirror of
https://github.com/kodjodevf/mangayomi.git
synced 2026-04-20 19:12:04 +00:00
fix
This commit is contained in:
parent
62deeb8b94
commit
f99bc996b1
4 changed files with 48 additions and 34 deletions
|
|
@ -17,6 +17,7 @@ import 'package:mangayomi/eval/dart/model/m_provider.dart';
|
|||
import 'package:mangayomi/eval/javascript/http.dart';
|
||||
import 'package:mangayomi/models/video.dart';
|
||||
import 'package:mangayomi/modules/browse/extension/providers/extension_preferences_providers.dart';
|
||||
import 'package:mangayomi/utils/extensions/string_extensions.dart';
|
||||
import 'package:mangayomi/utils/log/log.dart';
|
||||
|
||||
class $MProvider extends MProvider with $Bridge<MProvider> {
|
||||
|
|
@ -854,15 +855,7 @@ class $MProvider extends MProvider with $Bridge<MProvider> {
|
|||
.then((value) => $String(value.stringResult)));
|
||||
}),
|
||||
'getUrlWithoutDomain' => $Function((_, __, List<$Value?> args) {
|
||||
final uri = Uri.parse(args[0]!.$value.replaceAll(' ', '%20'));
|
||||
String out = uri.path;
|
||||
if (uri.query.isNotEmpty) {
|
||||
out += '?${uri.query}';
|
||||
}
|
||||
if (uri.fragment.isNotEmpty) {
|
||||
out += '#${uri.fragment}';
|
||||
}
|
||||
return $String(out);
|
||||
return $String((args[0]!.$value as String).getUrlWithoutDomain);
|
||||
}),
|
||||
'parseHtml' => $Function((_, __, List<$Value?> args) {
|
||||
final res = MBridge.parsHtml(args[0]!.$reified);
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ import 'package:mangayomi/modules/widgets/custom_draggable_tabbar.dart';
|
|||
import 'package:mangayomi/modules/widgets/custom_extended_image_provider.dart';
|
||||
import 'package:mangayomi/providers/l10n_providers.dart';
|
||||
import 'package:mangayomi/providers/storage_provider.dart';
|
||||
import 'package:mangayomi/services/get_source_baseurl.dart';
|
||||
import 'package:mangayomi/utils/extensions/string_extensions.dart';
|
||||
import 'package:mangayomi/utils/utils.dart';
|
||||
import 'package:mangayomi/utils/cached_network.dart';
|
||||
import 'package:mangayomi/utils/extensions/build_context_extensions.dart';
|
||||
|
|
@ -382,23 +382,32 @@ class _MangaDetailViewState extends ConsumerState<MangaDetailView>
|
|||
return [
|
||||
PopupMenuItem<int>(
|
||||
value: 0,
|
||||
child: Text(
|
||||
widget.isManga ? context.l10n.next_chapter : context.l10n.next_episode)),
|
||||
child: Text(widget.isManga
|
||||
? context.l10n.next_chapter
|
||||
: context.l10n.next_episode)),
|
||||
PopupMenuItem<int>(
|
||||
value: 1,
|
||||
child: Text(
|
||||
widget.isManga ? context.l10n.next_5_chapters : context.l10n.next_5_episodes)),
|
||||
child: Text(widget.isManga
|
||||
? context.l10n.next_5_chapters
|
||||
: context
|
||||
.l10n.next_5_episodes)),
|
||||
PopupMenuItem<int>(
|
||||
value: 2,
|
||||
child: Text(
|
||||
widget.isManga ? context.l10n.next_10_chapters : context.l10n.next_10_episodes)),
|
||||
child: Text(widget.isManga
|
||||
? context.l10n.next_10_chapters
|
||||
: context
|
||||
.l10n.next_10_episodes)),
|
||||
PopupMenuItem<int>(
|
||||
value: 3,
|
||||
child: Text(
|
||||
widget.isManga ? context.l10n.next_25_chapters : context.l10n.next_25_episodes)),
|
||||
child: Text(widget.isManga
|
||||
? context.l10n.next_25_chapters
|
||||
: context
|
||||
.l10n.next_25_episodes)),
|
||||
PopupMenuItem<int>(
|
||||
value: 4,
|
||||
child: Text(widget.isManga ? context.l10n.unread : context.l10n.unwatched)),
|
||||
child: Text(widget.isManga
|
||||
? context.l10n.unread
|
||||
: context.l10n.unwatched)),
|
||||
];
|
||||
},
|
||||
onSelected: (value) {
|
||||
|
|
@ -519,8 +528,8 @@ class _MangaDetailViewState extends ConsumerState<MangaDetailView>
|
|||
final source = getSource(
|
||||
widget.manga!.lang!,
|
||||
widget.manga!.source!);
|
||||
String url = "${source?.baseUrl}${widget.manga!.link!}";
|
||||
|
||||
final url =
|
||||
"${source!.baseUrl}${widget.manga!.link!.getUrlWithoutDomain}";
|
||||
Share.share(url);
|
||||
}
|
||||
}),
|
||||
|
|
@ -1184,7 +1193,8 @@ class _MangaDetailViewState extends ConsumerState<MangaDetailView>
|
|||
),
|
||||
RadioListTile(
|
||||
dense: true,
|
||||
title: Text(widget.isManga ? l10n.chapter_number : l10n.episode_number),
|
||||
title: Text(
|
||||
widget.isManga ? l10n.chapter_number : l10n.episode_number),
|
||||
value: "ej",
|
||||
groupValue: "e",
|
||||
selected: false,
|
||||
|
|
@ -1548,12 +1558,9 @@ class _MangaDetailViewState extends ConsumerState<MangaDetailView>
|
|||
final manga = widget.manga!;
|
||||
|
||||
final source =
|
||||
getSource(widget.manga!.lang!, widget.manga!.source!)!;
|
||||
final baseUrl =
|
||||
ref.watch(sourceBaseUrlProvider(source: source));
|
||||
String url = widget.manga!.link!.startsWith('/')
|
||||
? "$baseUrl${widget.manga!.link!}"
|
||||
: widget.manga!.link!;
|
||||
getSource(widget.manga!.lang!, widget.manga!.source!);
|
||||
final url =
|
||||
"${source!.baseUrl}${widget.manga!.link!.getUrlWithoutDomain}";
|
||||
|
||||
Map<String, dynamic> data = {
|
||||
'url': url,
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import 'package:mangayomi/modules/more/settings/reader/providers/reader_state_pr
|
|||
import 'package:mangayomi/modules/widgets/custom_draggable_tabbar.dart';
|
||||
import 'package:mangayomi/providers/l10n_providers.dart';
|
||||
import 'package:mangayomi/providers/storage_provider.dart';
|
||||
import 'package:mangayomi/utils/extensions/string_extensions.dart';
|
||||
import 'package:mangayomi/utils/utils.dart';
|
||||
import 'package:mangayomi/modules/manga/reader/providers/push_router.dart';
|
||||
import 'package:mangayomi/services/get_chapter_pages.dart';
|
||||
|
|
@ -301,7 +302,8 @@ class _MangaChapterPageGalleryState
|
|||
width: 35,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(6),
|
||||
color: context.secondaryColor.withValues(alpha: 0.4)),
|
||||
color:
|
||||
context.secondaryColor.withValues(alpha: 0.4)),
|
||||
),
|
||||
),
|
||||
Row(
|
||||
|
|
@ -721,8 +723,9 @@ class _MangaChapterPageGalleryState
|
|||
l10n.image_loading_error,
|
||||
style: TextStyle(
|
||||
color: Colors.white
|
||||
.withValues(alpha:
|
||||
0.7)),
|
||||
.withValues(
|
||||
alpha:
|
||||
0.7)),
|
||||
),
|
||||
Padding(
|
||||
padding:
|
||||
|
|
@ -1336,9 +1339,8 @@ class _MangaChapterPageGalleryState
|
|||
onPressed: () async {
|
||||
final manga = chapter.manga.value!;
|
||||
final source = getSource(manga.lang!, manga.source!)!;
|
||||
String url = chapter.url!.startsWith('/')
|
||||
? "${source.baseUrl}/${chapter.url!}"
|
||||
: chapter.url!;
|
||||
final url =
|
||||
"${source.baseUrl}${chapter.url!.getUrlWithoutDomain}";
|
||||
Map<String, dynamic> data = {
|
||||
'url': url,
|
||||
'sourceId': source.id.toString(),
|
||||
|
|
|
|||
|
|
@ -43,6 +43,18 @@ extension StringExtensions on String {
|
|||
source);
|
||||
}
|
||||
|
||||
String get getUrlWithoutDomain {
|
||||
final uri = Uri.parse(replaceAll(' ', '%20'));
|
||||
String out = uri.path;
|
||||
if (uri.query.isNotEmpty) {
|
||||
out += '?${uri.query}';
|
||||
}
|
||||
if (uri.fragment.isNotEmpty) {
|
||||
out += '#${uri.fragment}';
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
bool isMediaVideo() {
|
||||
return [
|
||||
"3gp",
|
||||
|
|
|
|||
Loading…
Reference in a new issue