From a9ba30b9b94e1851d69040935e9104a9eb3b7f56 Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Tue, 11 Feb 2025 18:12:19 +0800 Subject: [PATCH] mod: show dyn gif emote mod: emote tabbar opt: video progress indicator Signed-off-by: bggRGjQaUbCoE --- lib/common/widgets/video_progress_indicator.dart | 8 ++++---- lib/models/dynamics/result.dart | 4 ++++ lib/pages/dynamics/widgets/rich_node_panel.dart | 2 +- lib/pages/emote/view.dart | 1 + lib/pages/history/widgets/item.dart | 3 +-- 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/common/widgets/video_progress_indicator.dart b/lib/common/widgets/video_progress_indicator.dart index 7d88fc69..4066443c 100644 --- a/lib/common/widgets/video_progress_indicator.dart +++ b/lib/common/widgets/video_progress_indicator.dart @@ -4,11 +4,11 @@ Widget videoProgressIndicator(double progress) => ClipRect( clipper: ProgressClipper(), child: ClipRRect( borderRadius: BorderRadius.only( - bottomLeft: Radius.circular(12), - bottomRight: Radius.circular(12), + bottomLeft: Radius.circular(10), + bottomRight: Radius.circular(10), ), child: LinearProgressIndicator( - minHeight: 12, + minHeight: 10, value: progress, ), ), @@ -17,7 +17,7 @@ Widget videoProgressIndicator(double progress) => ClipRect( class ProgressClipper extends CustomClipper { @override Rect getClip(Size size) { - return Rect.fromLTWH(0, 8, size.width, size.height - 8); + return Rect.fromLTWH(0, 6, size.width, size.height - 6); } @override diff --git a/lib/models/dynamics/result.dart b/lib/models/dynamics/result.dart index b578f72f..9818d02c 100644 --- a/lib/models/dynamics/result.dart +++ b/lib/models/dynamics/result.dart @@ -638,11 +638,15 @@ class Emoji { }); String? iconUrl; + String? webpUrl; + String? gifUrl; double? size; String? text; int? type; Emoji.fromJson(Map json) { iconUrl = json['icon_url']; + webpUrl = json['webp_url']; + gifUrl = json['gif_url']; size = json['size'].toDouble(); text = json['text']; type = json['type']; diff --git a/lib/pages/dynamics/widgets/rich_node_panel.dart b/lib/pages/dynamics/widgets/rich_node_panel.dart index ffd78b62..d568d770 100644 --- a/lib/pages/dynamics/widgets/rich_node_panel.dart +++ b/lib/pages/dynamics/widgets/rich_node_panel.dart @@ -153,7 +153,7 @@ InlineSpan? richNode(item, context) { spanChildren.add( WidgetSpan( child: NetworkImgLayer( - src: i.emoji!.iconUrl, + src: i.emoji!.webpUrl ?? i.emoji!.gifUrl ?? i.emoji!.iconUrl, type: 'emote', width: (i.emoji!.size ?? 1) * 20, height: (i.emoji!.size ?? 1) * 20, diff --git a/lib/pages/emote/view.dart b/lib/pages/emote/view.dart index 1667a3c4..76b90509 100644 --- a/lib/pages/emote/view.dart +++ b/lib/pages/emote/view.dart @@ -95,6 +95,7 @@ class _EmotePanelState extends State ), TabBar( controller: _emotePanelController.tabController, + padding: const EdgeInsets.only(right: 60), dividerColor: Colors.transparent, isScrollable: true, tabs: (loadingState.response as List) diff --git a/lib/pages/history/widgets/item.dart b/lib/pages/history/widgets/item.dart index 3db1645b..40920496 100644 --- a/lib/pages/history/widgets/item.dart +++ b/lib/pages/history/widgets/item.dart @@ -186,7 +186,6 @@ class HistoryItem extends StatelessWidget { return Stack( children: [ NetworkImgLayer( - radius: 12, src: (videoItem.cover != '' ? videoItem.cover : videoItem.covers.first), @@ -228,7 +227,7 @@ class HistoryItem extends StatelessWidget { child: Container( alignment: Alignment.center, decoration: BoxDecoration( - borderRadius: BorderRadius.circular(12), + borderRadius: BorderRadius.circular(10), color: Colors.black.withOpacity(0.6), ), child: SizedBox(