mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
opt: article
This commit is contained in:
@@ -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(
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user