opt: article

This commit is contained in:
bggRGjQaUbCoE
2024-10-06 09:17:14 +08:00
parent 76eccfd87d
commit d4c7fd9911
2 changed files with 42 additions and 11 deletions

View File

@@ -1,7 +1,9 @@
import 'package:PiliPalaX/common/widgets/network_img_layer.dart'; import 'package:PiliPalaX/common/widgets/network_img_layer.dart';
import 'package:PiliPalaX/models/dynamics/article_content_model.dart'; import 'package:PiliPalaX/models/dynamics/article_content_model.dart';
import 'package:PiliPalaX/pages/preview/view.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_html/flutter_html.dart'; import 'package:flutter_html/flutter_html.dart';
import 'package:get/get.dart';
class ArticleContent extends StatelessWidget { class ArticleContent extends StatelessWidget {
const ArticleContent({ const ArticleContent({
@@ -30,12 +32,26 @@ class ArticleContent extends StatelessWidget {
); );
} else if (item.attributes?.clazz == 'normal-img') { } else if (item.attributes?.clazz == 'normal-img') {
return LayoutBuilder( return LayoutBuilder(
builder: (_, constraints) => NetworkImgLayer( builder: (_, constraints) => GestureDetector(
width: constraints.maxWidth, onTap: () {
height: constraints.maxWidth * showDialog(
item.insert.nativeImage?.height / useSafeArea: false,
item.insert.nativeImage?.width, context: context,
src: item.insert.nativeImage?.url, builder: (context) {
return ImagePreview(
initialPage: 0,
imgList: [item.insert.nativeImage?.url],
);
},
);
},
child: NetworkImgLayer(
width: constraints.maxWidth,
height: constraints.maxWidth *
item.insert.nativeImage?.height /
item.insert.nativeImage?.width,
src: item.insert.nativeImage?.url,
),
), ),
); );
// return image( // return image(

View File

@@ -1,3 +1,4 @@
import 'package:PiliPalaX/pages/preview/view.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_html/flutter_html.dart'; import 'package:flutter_html/flutter_html.dart';
import '../../utils/storage.dart'; import '../../utils/storage.dart';
@@ -58,11 +59,25 @@ class HtmlRender extends StatelessWidget {
// width: isEmote ? 22 : null, // width: isEmote ? 22 : null,
// height: isEmote ? 22 : null, // height: isEmote ? 22 : null,
// ); // );
return NetworkImgLayer( return GestureDetector(
width: isEmote ? 22 : constrainedWidth, onTap: () {
height: isEmote ? 22 : 200, showDialog(
src: imgUrl, useSafeArea: false,
ignoreHeight: !isEmote, context: context,
builder: (context) {
return ImagePreview(
initialPage: 0,
imgList: [imgUrl],
);
},
);
},
child: NetworkImgLayer(
width: isEmote ? 22 : constrainedWidth,
height: isEmote ? 22 : 200,
src: imgUrl,
ignoreHeight: !isEmote,
),
); );
} catch (err) { } catch (err) {
return const SizedBox(); return const SizedBox();