From 2b313669c04d5c04728bf7a4ce34d3ec5e9fa082 Mon Sep 17 00:00:00 2001 From: My-Responsitories <107370289+My-Responsitories@users.noreply.github.com> Date: Tue, 9 Jun 2026 11:27:54 +0800 Subject: [PATCH] opt: svg big-vip --- assets/images/big-vip.png | Bin 2622 -> 0 bytes assets/images/big-vip.svg | 1 + lib/common/assets.dart | 2 +- lib/common/widgets/pendant_avatar.dart | 7 +++---- lib/pages/mine/view.dart | 6 +++--- .../introduction/pgc/widgets/pgc_panel.dart | 6 +++--- 6 files changed, 11 insertions(+), 11 deletions(-) delete mode 100644 assets/images/big-vip.png create mode 100644 assets/images/big-vip.svg diff --git a/assets/images/big-vip.png b/assets/images/big-vip.png deleted file mode 100644 index bb009154668fb7ca30e2f7a9531f621cfb22f264..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2622 zcmV-E3c>Y>P)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H13Cl@D zK~#90&6|60R96|mf4e5x&6|V}2+&G{2@oQM@Rmw=6oK++skGKIf;1LqECY#Z zopF@ffp#3NwzjkmDne1FU@aDTlt6Y(k z^FVDATx*4<8_>}OzMImP5D&>N$V`F317KJNq$Y+lp2NT@;8Hj@L1a_l31kkYno4OJ zoUesXE<u0KCL z4IZ7QH*5;;f#R{z_1)o>F?y5>{|w-p{V(=cz(C;Vx?45it^M{ac= z|MfQ6nbiD(ehypzk!(Pe5X`YED6fuwZ~%$%#%<=tjdhNH3Z)lSErWn{ffoW5kOn-X zyT#*!ogdjVFo0Vo7HUGAeb3o`RHm(-bp-e^feQFGDu4dngu4o&-+#6);bCpF}X9RGUA1&RAGD!Txz04h~>u0W6thE~nnY#{pSR zBx#}lek*IuJ1y4h?5-87tWjNc05hFP;v$$f4_plq!yAxn-hL->$D73jpsv|y zHyG;#M(HlsHih=gYMR0rVT@_*lr7r`4X9I&H{Xf4zQJ5;4gJtvWzo5>cJlYK&@xw* z@09NZvUHalEjT^rYGCtj_^biCEd^lhrK=k*U4>Wo!eI->n%a>Y6o)G4;jw6toU4Hs z-mxZIG6$x7!MOdW+haSex|DuFsuM`j3)^gwWv9cWk;d)S^|4=5yvlb39phZHxgoM|qz_f%hib@VV;Ggo4Je$M?D-rNr@QM%-6C#>BGH0Ul5G|zil!s&q3 zv*j;oM4JZ=ob4T8Je151etCc~!{H~(VO*5qGW9!McLEo5mj|au_b`xoUwDtX%#LGy zi&O4kNqMPAal?1!!;*=Sk7tN7Qe5Rk3X*~umKk|f4~YBu;5c)c3w2N$p!-nqKnJjR zBCL48d_gt3H%D2#Qt3phv4TlWgdq`ByEuSlQ$l-ZULR~Z5Nt_aylNgV^fR*nRu+f% z2g=EWRApMd!ikik>5W>w|7?yc9!loIg7Kkc|9D8k*MYQj!aJqb%{wtU;!ukX5&4M2-gUKewj-P*5z{duaEdM$Uzxk)Noa5|5_)3Ur=12W5 zr+@~(A+%T5JZdOp=#9i6TygN&H2C2oMvF`^<<+q5h`G$k|G>|-TigGaO_4;48JQ`N zm!oRg3w=RRedg5RfEoG59VaEg^N+}4XC*3BSqrc4vzGg7>4eRD;KLA3j?)QG&o$p_ zXN)ommi!6&6i|j#WCk;*(AX+mG!ceps@wW=>WZY(Z-$Xk?&*;f*X|SMa%qY3C8%)4 z!7OFIu>vTE;Jm;VomjFPW*QWI77RBZn4cq6@Z0ypd-*_il}XW+8Af9?F^Ieo==Ky}TqahD`k>_F3C%R%EX{c%N&(&N)0QE6OlBB0K=|LV0FxURcpY918j z248#sq&O;pboWRu@r4~wt?wo(I=t}O2U3m~$faxgkl3V=Fj*OVsYhyzZ=b7mAd$B$%8l&drqu_~>Hr&XS!DKVD|!{jCDt z3cR3FfCI4(XXtLPYmraeECPEsNpZvTOQqge&p}`o7D{9^L{s`OYR&*yyFj*=|2JH5 zGB)+gw;<&)%7Q2rmw<06TXM7EyGx9mi@QUz3)U}^$}=@3z-3i~nF+TYDLmFQVh}vL zR0^K%HreU${fA-XU?YiN0*0Y$E2Xk;AX7q**C(Exk#iGkCX9fUv&>=%TY+y7MX4-E zvGh*hAw!AM3$VQu+H5SPF(W-moG|rP=jUDEQNT3DA5OXa8>k8?{CIq@r(9xucIOrR zxZ|ak@S*YMl_u~uGVenUB%A{i4qzkjtf^Fo7xq<1Wk!=tHbG`e-+_r_lPs{T@*9C4 zU@>zU$&s1mh%Id%In^|&%qXvx{Cr)r^<=6831f{OD)q#9L#!N`X+a9Tc3OOjJSxIN zQzMac1P@rgqum>DXsR7Le0@{J6%WY?keLcY(qU+(m7_6%97Ohc \ No newline at end of file diff --git a/lib/common/assets.dart b/lib/common/assets.dart index 898445748..ed429dc80 100644 --- a/lib/common/assets.dart +++ b/lib/common/assets.dart @@ -6,7 +6,7 @@ abstract final class Assets { static const logoIco = 'assets/images/logo/ico/app_icon.ico'; static const logoLarge = 'assets/images/logo/desktop/logo_large.png'; - static const vipIcon = 'assets/images/big-vip.png'; + static const vipIcon = 'assets/images/big-vip.svg'; static const avatarPlaceHolder = 'assets/images/noface.jpeg'; static const loading = 'assets/images/loading.png'; static const buffering = 'assets/images/loading.webp'; diff --git a/lib/common/widgets/pendant_avatar.dart b/lib/common/widgets/pendant_avatar.dart index 9589e381c..5c88faa4f 100644 --- a/lib/common/widgets/pendant_avatar.dart +++ b/lib/common/widgets/pendant_avatar.dart @@ -4,10 +4,10 @@ import 'package:PiliPlus/common/widgets/extra_hittest_stack.dart'; import 'package:PiliPlus/common/widgets/image/network_img_layer.dart'; import 'package:PiliPlus/models/common/avatar_badge_type.dart'; import 'package:PiliPlus/models/common/image_type.dart'; -import 'package:PiliPlus/utils/extension/num_ext.dart'; import 'package:PiliPlus/utils/page_utils.dart'; import 'package:PiliPlus/utils/storage_pref.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_svg/svg.dart'; class PendantAvatar extends StatelessWidget { const PendantAvatar( @@ -142,12 +142,11 @@ class PendantAvatar extends StatelessWidget { Widget _buildBadge(BuildContext context, ColorScheme colorScheme) { final child = switch (badgeType) { - .vip => Image.asset( + .vip => SvgPicture.asset( Assets.vipIcon, width: badgeSize, height: badgeSize, - cacheWidth: badgeSize.cacheSize(context), - semanticLabel: badgeType.desc, + semanticsLabel: badgeType.desc, ), _ => Icon( Icons.offline_bolt, diff --git a/lib/pages/mine/view.dart b/lib/pages/mine/view.dart index 7712abb5c..8f5c92b94 100644 --- a/lib/pages/mine/view.dart +++ b/lib/pages/mine/view.dart @@ -22,6 +22,7 @@ import 'package:PiliPlus/utils/platform_utils.dart'; import 'package:PiliPlus/utils/storage.dart'; import 'package:PiliPlus/utils/utils.dart'; import 'package:flutter/material.dart' hide ListTile; +import 'package:flutter_svg/svg.dart'; import 'package:get/get.dart'; import 'package:material_design_icons_flutter/material_design_icons_flutter.dart'; @@ -274,11 +275,10 @@ class _MediaPageState extends CommonPageState Positioned( right: -1, bottom: -2, - child: Image.asset( + child: SvgPicture.asset( Assets.vipIcon, height: 19, - cacheHeight: 19.cacheSize(context), - semanticLabel: "大会员", + semanticsLabel: "大会员", ), ), ], diff --git a/lib/pages/video/introduction/pgc/widgets/pgc_panel.dart b/lib/pages/video/introduction/pgc/widgets/pgc_panel.dart index 2fec611e3..da1d1d610 100644 --- a/lib/pages/video/introduction/pgc/widgets/pgc_panel.dart +++ b/lib/pages/video/introduction/pgc/widgets/pgc_panel.dart @@ -13,6 +13,7 @@ import 'package:PiliPlus/utils/storage_pref.dart'; import 'package:PiliPlus/utils/utils.dart'; import 'package:flutter/material.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; +import 'package:flutter_svg/svg.dart'; import 'package:get/get.dart'; class PgcPanel extends StatefulWidget { @@ -213,11 +214,10 @@ class _PgcPanelState extends State { if (item.badge?.isNotEmpty == true) ...[ const SizedBox(width: 2), if (item.badge == '会员') - Image.asset( + SvgPicture.asset( Assets.vipIcon, height: 16, - cacheHeight: 16.cacheSize(context), - semanticLabel: "大会员", + semanticsLabel: "大会员", ) else Text(