drop gif emote, static thumbnail gif

Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-04-26 14:11:37 +08:00
parent 877bdf64b4
commit 7d1b393511
16 changed files with 61 additions and 26 deletions

View File

@@ -71,7 +71,15 @@ class NetworkImgLayer extends StatelessWidget {
memCacheHeight = height.cacheSize(context);
}
return CachedNetworkImage(
imageUrl: ImageUtils.thumbnailUrl(src, quality),
imageUrl: ImageUtils.thumbnailUrl(
src,
maxQuality: quality,
/// remove gif
suffix: src!.endsWith(ImageUtils.kSuffixGIF)
? ImageUtils.kSuffixJPG
: ImageUtils.kSuffixWEBP,
),
width: width,
height: height,
memCacheWidth: memCacheWidth,

View File

@@ -22,7 +22,6 @@ import 'package:PiliPlus/common/style.dart';
import 'package:PiliPlus/common/widgets/badge.dart';
import 'package:PiliPlus/common/widgets/image/network_img_layer.dart';
import 'package:PiliPlus/common/widgets/image_grid/image_grid_builder.dart';
import 'package:PiliPlus/models/common/badge_type.dart';
import 'package:PiliPlus/models/common/image_preview_type.dart';
import 'package:PiliPlus/utils/extension/context_ext.dart';
import 'package:PiliPlus/utils/extension/num_ext.dart';
@@ -59,6 +58,8 @@ class ImageModel {
bool get isLivePhoto =>
_isLivePhoto ??= enableLivePhoto && liveUrl?.isNotEmpty == true;
bool get isGif => url.endsWith(ImageUtils.kSuffixGIF);
static bool enableLivePhoto = Pref.enableLivePhoto;
}
@@ -245,13 +246,20 @@ class ImageGridView extends StatelessWidget {
text: 'Live',
right: 8,
bottom: 8,
type: PBadgeType.gray,
type: .gray,
)
else if (item.isLongPic)
const PBadge(
text: '长图',
right: 8,
bottom: 8,
)
else if (item.isGif)
const PBadge(
text: 'GIF',
right: 8,
bottom: 8,
type: .gray,
),
],
);

View File

@@ -98,7 +98,7 @@ class _GalleryViewerState extends State<GalleryViewer>
String _getActualUrl(String url) {
return _quality != 100
? ImageUtils.thumbnailUrl(url, _quality)
? ImageUtils.thumbnailUrl(url, maxQuality: _quality)
: url.http2https;
}
@@ -413,7 +413,10 @@ class _GalleryViewerState extends State<GalleryViewer>
_containerSize.width.cacheSize(context),
null,
CachedNetworkImageProvider(
ImageUtils.thumbnailUrl(item.url, widget.quality),
ImageUtils.thumbnailUrl(
item.url,
maxQuality: widget.quality,
),
),
),
minScale: widget.minScale,