mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-15 13:43:56 +08:00
@@ -2,6 +2,7 @@ import 'package:PiliPlus/http/dynamics.dart';
|
||||
import 'package:PiliPlus/http/fav.dart';
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/http/video.dart';
|
||||
import 'package:PiliPlus/models/common/image_preview_type.dart';
|
||||
import 'package:PiliPlus/models/dynamics/article_content_model.dart'
|
||||
show ArticleContentModel;
|
||||
import 'package:PiliPlus/models/dynamics/result.dart';
|
||||
@@ -43,6 +44,12 @@ class ArticleController extends CommonDynController {
|
||||
List<ArticleContentModel>? get opus =>
|
||||
opusData?.modules.moduleContent ?? articleData?.opus?.content;
|
||||
|
||||
List<SourceModel>? _images;
|
||||
List<SourceModel> images() => _images ??= opus!
|
||||
.where((e) => e.paraType == 2 && e.pic != null)
|
||||
.map((e) => SourceModel(url: e.pic!.pics!.first.url!))
|
||||
.toList();
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
|
||||
@@ -171,6 +171,7 @@ class _ArticlePageState extends CommonDynPageState<ArticlePage> {
|
||||
// if (kDebugMode) debugPrint('json page');
|
||||
content = OpusContent(
|
||||
opus: controller.opus!,
|
||||
images: controller.images,
|
||||
maxWidth: maxWidth,
|
||||
);
|
||||
} else if (controller.opusData?.modules.moduleBlocked != null) {
|
||||
|
||||
@@ -33,11 +33,13 @@ import 'package:re_highlight/styles/github.dart';
|
||||
|
||||
class OpusContent extends StatelessWidget {
|
||||
final List<ArticleContentModel> opus;
|
||||
final ValueGetter<List<SourceModel>> images;
|
||||
final double maxWidth;
|
||||
|
||||
const OpusContent({
|
||||
super.key,
|
||||
required this.opus,
|
||||
required this.images,
|
||||
required this.maxWidth,
|
||||
});
|
||||
|
||||
@@ -240,9 +242,11 @@ class OpusContent extends StatelessWidget {
|
||||
child: child,
|
||||
);
|
||||
}
|
||||
final images = this.images();
|
||||
return GestureDetector(
|
||||
onTap: () => PageUtils.imageView(
|
||||
imgList: [SourceModel(url: pic.url!)],
|
||||
imgList: images,
|
||||
initialPage: images.indexWhere((e) => e.url == pic.url),
|
||||
quality: 60,
|
||||
),
|
||||
child: child,
|
||||
|
||||
Reference in New Issue
Block a user