From 600677c244cdb3b5c12e9e7c8f975540c10aeb75 Mon Sep 17 00:00:00 2001 From: dom Date: Thu, 2 Jul 2026 11:31:32 +0800 Subject: [PATCH] opt icons Signed-off-by: dom --- assets/fonts/custom_icon.ttf | Bin 16944 -> 14736 bytes lib/common/widgets/custom_icon.dart | 49 ++++++++--------- lib/models/common/nav_bar_config.dart | 13 ++--- lib/pages/mine/controller.dart | 74 ++++++++++++-------------- lib/pages/mine/view.dart | 2 +- 5 files changed, 65 insertions(+), 73 deletions(-) diff --git a/assets/fonts/custom_icon.ttf b/assets/fonts/custom_icon.ttf index f7e4a4eaca64a0ee844b15d5f326c2c4629d13c0..8d6b5d03b98529183bb0e833390e4ec3b65b23ca 100644 GIT binary patch delta 2710 zcmbVOYitzP6~2#o?Ci|$>}zJ%-nVzXYu1Z*z1|15@uN04P(LsR3<)vD_<IZ^bL1cfosLer#^?%*VxJ3kWrR2n&W6@=FEV4_4m--}hh>-$odu zL+ek#SaC~NndG4stVlrmvGBLua)lNWa(LA-}LgvO6L%*JjLN|gh?+W4jqP>9CYxo>M#A6>;@B| z6r}e`Nh+%fXc0coMreVRI_@OiR(ZZi8t7GiFMnT{5WX*Z#Ea5h<2hql4#>BZJEk9+ z>&$Pco$8-0N33D%cWkq^5AE+e9&@~{{ainyzvv_@X(5AGerYI3MGhf$B6165Q6HK> zd00_Uv6V(6tk>fjGj{5JtUIB%;#4kM>Fv0p69o~BnQa5cW-OYq7dK_nVA76TaRQ4q zycs*1QkB^i6z z6(2T=28WuOBOK2es>;uVnq{7j5UOy#-lK^`riC1`d5-q^IE9iC%8P-zXePb(u5Py_ ztY)H!9`Y+rlggi!KReW->OAKNSj54XwC%QPk>iCI4rwmYXp`NPx0_PONR=cLgShq< z9}if=okRV7MzcV1B8eNUUV^D$Hum)ob%w24SmVFTM>iQ&Q`BsbN}oDDC{mUrdV#!& z+$ezR5VAvT1dG!Lp$x#Wb6E=nj72aSs=->&8WgpVGZ)H)F6gy9#(dZ%k*ks`%oD=b zx|GXT_MCj4Tw0qV7yt3h^74tjJPyYDgG? z%~F6sssr|%z?l&KOV9CrHW}mQ=7C)Uy9$__8jSRH)I{6rM2-`SwH{x0tmWC1m2z&k zvHSYzQYwt4Pp&_cO>5wV1mAqrzv9K-fR5$_e8W!$Ggp3lR8f6kmB? zd!1)VSpSGFRgnD%8fT}+D)vM0Ssr{?a{zkH7(kv$XFC9_Di$CVOjU^sJ9RX|Of(0` zQVi1!=T0VqA2Zcc%ru*>n8JYHtIF67Ua#em9mV)wU!-o>8}7PrI-cWr-s7c)fVb5c zHx1l4s3z5&`>p=S@{FbR6Ner!NH$5(Evjy)THPE-w#yvm)R7)_i`p}yQmV8kwUE4- zd_c_-=kaoORZ0e9M_Wz|d$n5H+15Yi3_5hLm)8&8=r_fUt=>S9cS(s?-rPNYQYN@h z@HuK#fC`mk^-yhnywx?>WZPn?cz>`^cDGA55XNZ?HUEy>myBESzXJD#;C$KG{2u}E z2mV(85L%gbpEeXZAoMGA4hX#q4Wh$nz56oAAj0z{w#4W=1A zssNh|h<&&z#eh&Ll_=B`9G>X`9jv^t1DrJAOuC)$U(}J}tD&SGQwX$ca(2(o#?3Ov z8DlNI;q6uOH6~W-vlp^0&5b+vWaa$_4(yk!wuh60O#&x7H&tnoDziJHNT!}p#A30S zTFdort7(oTkD#da+k76 zO0!D5elS+AxIFcJjjont%q&ZIREVUjBYs7xjYfUm^15g>`{RDqO*2vFCYM-#NWJ2S zeq<;@SppGm0V3p(1XNgyk`Q1mm;u6L1FJ|Y`@95m5M3)&Pyz=7JYz&&V;`CfBODyZ z=gSM-#J6@QV1^X%M%_f(OuCU51XYpCe<fe0q*kVvQux$croOxu4MDeL4(0=|}CT{{d6NmurI$ zDzy)}OjpP-Qo~B0RX+@H1eR+?73m5WmF@0scFba=K*c-;nye|;=x z*DShfAjyUwvCP=eZ#Mp%Ks_vN%~BjJUG3<43`t`%qvJD+wLAe*7=H4UwZP$()i-c0-FhQ aKG*;0D>^$7GgVFK@A@Shtw+gC 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 diff --git a/lib/common/widgets/custom_icon.dart b/lib/common/widgets/custom_icon.dart index 00117db15..79740c27e 100644 --- a/lib/common/widgets/custom_icon.dart +++ b/lib/common/widgets/custom_icon.dart @@ -7,24 +7,24 @@ abstract final class CustomIcons { static const _kFontFam = 'custom_icon'; static const IconData ai_circle = IconData(0xe800, fontFamily: _kFontFam); - static const IconData coin = IconData(0xe801, fontFamily: _kFontFam); - static const IconData dm_off = IconData(0xe802, fontFamily: _kFontFam); - static const IconData dm_on = IconData(0xe803, fontFamily: _kFontFam); - static const IconData dm_settings = IconData(0xe804, fontFamily: _kFontFam); - static const IconData dyn = IconData(0xe805, fontFamily: _kFontFam); - static const IconData fav = IconData(0xe806, fontFamily: _kFontFam); - static const IconData flip_rotate_90 = IconData(0xe807, fontFamily: _kFontFam); + static const IconData dm_off = IconData(0xe801, fontFamily: _kFontFam); + static const IconData dm_on = IconData(0xe802, fontFamily: _kFontFam); + static const IconData dm_settings = IconData(0xe803, fontFamily: _kFontFam); + static const IconData download = IconData(0xe804, fontFamily: _kFontFam); + static const IconData flip_rotate_90 = IconData(0xe805, fontFamily: _kFontFam); + static const IconData folderDownloadOutline = IconData(0xe806, fontFamily: _kFontFam); + static const IconData history = IconData(0xe807, fontFamily: _kFontFam); static const IconData identifier_circle = IconData(0xe808, fontFamily: _kFontFam); static const IconData live_reserve = IconData(0xe809, fontFamily: _kFontFam); - static const IconData open_in_full_rotate_45 = IconData(0xe80a, fontFamily: _kFontFam); - static const IconData player_dm_tip_back = IconData(0xe80b, fontFamily: _kFontFam); - static const IconData player_dm_tip_copy = IconData(0xe80c, fontFamily: _kFontFam); - static const IconData player_dm_tip_like = IconData(0xe80d, fontFamily: _kFontFam); - static const IconData player_dm_tip_like_solid = IconData(0xe80e, fontFamily: _kFontFam); - static const IconData player_dm_tip_recall = IconData(0xe80f, fontFamily: _kFontFam); - static const IconData repeat_rounded_rotate_90 = IconData(0xe810, fontFamily: _kFontFam); - static const IconData share = IconData(0xe811, fontFamily: _kFontFam); - static const IconData share_line = IconData(0xe812, fontFamily: _kFontFam); + static const IconData motion_photos_on = IconData(0xe80a, fontFamily: _kFontFam); + static const IconData motion_photos_on_outlined = IconData(0xe80b, fontFamily: _kFontFam); + static const IconData open_in_full_rotate_45 = IconData(0xe80c, fontFamily: _kFontFam); + static const IconData player_dm_tip_back = IconData(0xe80d, fontFamily: _kFontFam); + static const IconData player_dm_tip_copy = IconData(0xe80e, fontFamily: _kFontFam); + static const IconData player_dm_tip_like = IconData(0xe80f, fontFamily: _kFontFam); + static const IconData player_dm_tip_like_solid = IconData(0xe810, fontFamily: _kFontFam); + static const IconData player_dm_tip_recall = IconData(0xe811, fontFamily: _kFontFam); + static const IconData repeat_rounded_rotate_90 = IconData(0xe812, fontFamily: _kFontFam); static const IconData share_node = IconData(0xe813, fontFamily: _kFontFam); static const IconData shield_play_arrow = IconData(0xe814, fontFamily: _kFontFam); static const IconData shield_published = IconData(0xe815, fontFamily: _kFontFam); @@ -33,14 +33,9 @@ abstract final class CustomIcons { static const IconData splitscreen_rotate_90 = IconData(0xe818, fontFamily: _kFontFam); static const IconData star_favorite_line = IconData(0xe819, fontFamily: _kFontFam); static const IconData star_favorite_solid = IconData(0xe81a, fontFamily: _kFontFam); - static const IconData thumbs_down = IconData(0xe81b, fontFamily: _kFontFam); - static const IconData thumbs_down_outline = IconData(0xe81c, fontFamily: _kFontFam); - static const IconData thumbs_up = IconData(0xe81d, fontFamily: _kFontFam); - static const IconData thumbs_up_fill = IconData(0xe81e, fontFamily: _kFontFam); - static const IconData thumbs_up_line = IconData(0xe81f, fontFamily: _kFontFam); - static const IconData thumbs_up_outline = IconData(0xe820, fontFamily: _kFontFam); - static const IconData topic_tag = IconData(0xe821, fontFamily: _kFontFam); - static const IconData touch_app_rotate_270 = IconData(0xe822, fontFamily: _kFontFam); - static const IconData view_headline_rotate_90 = IconData(0xe823, fontFamily: _kFontFam); - static const IconData watch_later = IconData(0xe824, fontFamily: _kFontFam); -} + static const IconData subscriptions_outlined = IconData(0xe81b, fontFamily: _kFontFam); + static const IconData topic_tag = IconData(0xe81c, fontFamily: _kFontFam); + static const IconData touch_app_rotate_270 = IconData(0xe81d, fontFamily: _kFontFam); + static const IconData view_headline_rotate_90 = IconData(0xe81e, fontFamily: _kFontFam); + static const IconData watch_later_outlined = IconData(0xe81f, fontFamily: _kFontFam); +} \ No newline at end of file diff --git a/lib/models/common/nav_bar_config.dart b/lib/models/common/nav_bar_config.dart index 75db67df5..d69c8cde5 100644 --- a/lib/models/common/nav_bar_config.dart +++ b/lib/models/common/nav_bar_config.dart @@ -1,3 +1,4 @@ +import 'package:PiliPlus/common/widgets/custom_icon.dart'; import 'package:PiliPlus/models/common/enum_with_label.dart'; import 'package:PiliPlus/pages/dynamics/view.dart'; import 'package:PiliPlus/pages/home/view.dart'; @@ -7,20 +8,20 @@ import 'package:flutter/material.dart'; enum NavigationBarType implements EnumWithLabel { home( '首页', - Icon(Icons.home_outlined, size: 24), - Icon(Icons.home, size: 24), + Icon(Icons.home_outlined), + Icon(Icons.home), HomePage(), ), dynamics( '动态', - Icon(Icons.motion_photos_on_outlined, size: 21), - Icon(Icons.motion_photos_on, size: 21), + Icon(CustomIcons.motion_photos_on_outlined), + Icon(CustomIcons.motion_photos_on), DynamicsPage(), ), mine( '我的', - Icon(Icons.person_outline, size: 24), - Icon(Icons.person, size: 24), + Icon(Icons.person_outline), + Icon(Icons.person), MinePage(), ), ; diff --git a/lib/pages/mine/controller.dart b/lib/pages/mine/controller.dart index 3b6d0a8a4..6f98e20f5 100644 --- a/lib/pages/mine/controller.dart +++ b/lib/pages/mine/controller.dart @@ -1,3 +1,4 @@ +import 'package:PiliPlus/common/widgets/custom_icon.dart'; import 'package:PiliPlus/http/fav.dart'; import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/http/user.dart'; @@ -40,45 +41,40 @@ class MineController extends CommonDataController static RxBool anonymity = (Accounts.account.isNotEmpty && !Accounts.heartbeat.isLogin).obs; - late final list = - <({IconData icon, double size, String title, VoidCallback onTap})>[ - ( - size: 23, - icon: MdiIcons.folderDownloadOutline, - title: '离线缓存', - onTap: () => Get.toNamed('/download'), - ), - ( - size: 23, - icon: Icons.history, - title: '观看记录', - onTap: () { - if (isLogin) { - Get.toNamed('/history'); - } - }, - ), - ( - size: 20, - icon: Icons.subscriptions_outlined, - title: '我的订阅', - onTap: () { - if (isLogin) { - Get.toNamed('/subscription'); - } - }, - ), - ( - size: 21, - icon: Icons.watch_later_outlined, - title: '稍后再看', - onTap: () { - if (isLogin) { - Get.toNamed('/later'); - } - }, - ), - ]; + late final list = <({IconData icon, String title, VoidCallback onTap})>[ + ( + icon: CustomIcons.folderDownloadOutline, + title: '离线缓存', + onTap: () => Get.toNamed('/download'), + ), + ( + icon: CustomIcons.history, + title: '观看记录', + onTap: () { + if (isLogin) { + Get.toNamed('/history'); + } + }, + ), + ( + icon: CustomIcons.subscriptions_outlined, + title: '我的订阅', + onTap: () { + if (isLogin) { + Get.toNamed('/subscription'); + } + }, + ), + ( + icon: CustomIcons.watch_later_outlined, + title: '稍后再看', + onTap: () { + if (isLogin) { + Get.toNamed('/later'); + } + }, + ), + ]; @override void onInit() { diff --git a/lib/pages/mine/view.dart b/lib/pages/mine/view.dart index 8f5c92b94..72d7a19aa 100644 --- a/lib/pages/mine/view.dart +++ b/lib/pages/mine/view.dart @@ -119,7 +119,7 @@ class _MediaPageState extends CommonPageState mainAxisSize: .min, mainAxisAlignment: .center, children: [ - Icon(size: e.size, e.icon, color: primary), + Icon(e.icon, color: primary), Text( e.title, style: const TextStyle(fontSize: 13),