diff --git a/assets/fonts/bili_icon.ttf b/assets/fonts/bili_icon.ttf index 4c0de9c32..a0be6a060 100644 Binary files a/assets/fonts/bili_icon.ttf and b/assets/fonts/bili_icon.ttf differ diff --git a/lib/common/widgets/icon/bili_icons.dart b/lib/common/widgets/icon/bili_icons.dart index 7aba12e2e..4cd0c07c5 100644 --- a/lib/common/widgets/icon/bili_icons.dart +++ b/lib/common/widgets/icon/bili_icons.dart @@ -19,13 +19,19 @@ abstract final class BiliIcons { static const IconData ic_liked = IconData(0xe80a, fontFamily: _kFontFam); static const IconData ic_share = IconData(0xe80b, fontFamily: _kFontFam); static const IconData live_reserve = IconData(0xe80c, fontFamily: _kFontFam); - static const IconData star_favorite_line = IconData(0xe80d, fontFamily: _kFontFam); - static const IconData star_favorite_solid = IconData(0xe80e, fontFamily: _kFontFam); - static const IconData topic_tag = IconData(0xe80f, fontFamily: _kFontFam); - static const IconData ugcvideo_ic_coin = IconData(0xe810, fontFamily: _kFontFam); - static const IconData ugcvideo_ic_dislike = IconData(0xe811, fontFamily: _kFontFam); - static const IconData ugcvideo_ic_favorite = IconData(0xe812, fontFamily: _kFontFam); - static const IconData ugcvideo_ic_like = IconData(0xe813, fontFamily: _kFontFam); - static const IconData ugcvideo_ic_offline = IconData(0xe814, fontFamily: _kFontFam); - static const IconData ugcvideo_ic_share = IconData(0xe815, fontFamily: _kFontFam); + static const IconData topbar_coin = IconData(0xe80d, fontFamily: _kFontFam); + static const IconData topbar_coined = IconData(0xe80e, fontFamily: _kFontFam); + static const IconData topbar_favorite = IconData(0xe80f, fontFamily: _kFontFam); + static const IconData topbar_favorited = IconData(0xe810, fontFamily: _kFontFam); + static const IconData topbar_like = IconData(0xe811, fontFamily: _kFontFam); + static const IconData topbar_liked = IconData(0xe812, fontFamily: _kFontFam); + static const IconData topbar_share = IconData(0xe813, fontFamily: _kFontFam); + static const IconData topic_tag = IconData(0xe814, fontFamily: _kFontFam); + static const IconData ugcvideo_ic_coin = IconData(0xe815, fontFamily: _kFontFam); + static const IconData ugcvideo_ic_dislike = IconData(0xe816, fontFamily: _kFontFam); + static const IconData ugcvideo_ic_favorite = IconData(0xe817, fontFamily: _kFontFam); + static const IconData ugcvideo_ic_like = IconData(0xe818, fontFamily: _kFontFam); + static const IconData ugcvideo_ic_offline = IconData(0xe819, fontFamily: _kFontFam); + static const IconData ugcvideo_ic_offline_outline = IconData(0xe81a, fontFamily: _kFontFam); + static const IconData ugcvideo_ic_share = IconData(0xe81b, fontFamily: _kFontFam); } diff --git a/lib/pages/pgc_review/child/view.dart b/lib/pages/pgc_review/child/view.dart index 28bb24c05..ba63ea2e7 100644 --- a/lib/pages/pgc_review/child/view.dart +++ b/lib/pages/pgc_review/child/view.dart @@ -18,7 +18,6 @@ import 'package:PiliPlus/utils/extension/theme_ext.dart'; import 'package:PiliPlus/utils/num_utils.dart'; import 'package:PiliPlus/utils/platform_utils.dart'; import 'package:flutter/material.dart'; -import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:get/get.dart'; class PgcReviewChildPage extends StatefulWidget { @@ -262,13 +261,13 @@ class _PgcReviewChildPageState extends State (index) { if (index <= item.score - 1) { return const Icon( - BiliIcons.star_favorite_solid, + BiliIcons.ic_favorited, size: 13, color: Color(0xFFFFAD35), ); } return const Icon( - BiliIcons.star_favorite_line, + BiliIcons.ic_favorite, size: 14, color: Colors.grey, ); @@ -327,8 +326,8 @@ class _PgcReviewChildPageState extends State ), child: Icon( isDislike - ? FontAwesomeIcons.solidThumbsDown - : FontAwesomeIcons.thumbsDown, + ? BiliIcons.ic_disliked + : BiliIcons.ic_dislike, size: 16, color: isDislike ? primary : color, ), diff --git a/lib/pages/pgc_review/post/view.dart b/lib/pages/pgc_review/post/view.dart index d3391c8dc..884ed5cee 100644 --- a/lib/pages/pgc_review/post/view.dart +++ b/lib/pages/pgc_review/post/view.dart @@ -96,12 +96,12 @@ class _PgcReviewPostPanelState extends State { return Obx( () => index <= _score.value - 1 ? const Icon( - BiliIcons.star_favorite_solid, + BiliIcons.ic_favorited, size: 50, color: Color(0xFFFFAD35), ) : const Icon( - BiliIcons.star_favorite_line, + BiliIcons.ic_favorite, size: 50, color: Colors.grey, ), diff --git a/lib/pages/video/widgets/header_control.dart b/lib/pages/video/widgets/header_control.dart index 3b1b560bf..c0f01c1cd 100644 --- a/lib/pages/video/widgets/header_control.dart +++ b/lib/pages/video/widgets/header_control.dart @@ -1771,62 +1771,77 @@ class HeaderControlState extends State width: btnWidth, height: btnHeight, child: Obx( - () => ActionItem( - expand: false, - icon: const Icon( - BiliIcons.ugcvideo_ic_like, - color: Colors.white, - ), - selectStatus: introController.hasLike.value, - animation: introController.tripleAnimation, - onStartTriple: () { - plPlayerController.tripling = true; - introController.onStartTriple(); - }, - onCancelTriple: ([bool isTapUp = false]) { - plPlayerController - ..tripling = false - ..hideTaskControls(); - introController.onCancelTriple(isTapUp); - }, - ), + () { + final hasLike = introController.hasLike.value; + return ActionItem( + expand: false, + icon: hasLike + ? const Icon(BiliIcons.topbar_liked) + : const Icon( + BiliIcons.topbar_like, + color: Colors.white, + ), + selectStatus: hasLike, + animation: introController.tripleAnimation, + onStartTriple: () { + plPlayerController.tripling = true; + introController.onStartTriple(); + }, + onCancelTriple: ([bool isTapUp = false]) { + plPlayerController + ..tripling = false + ..hideTaskControls(); + introController.onCancelTriple(isTapUp); + }, + ); + }, ), ), SizedBox( width: btnWidth, height: btnHeight, child: Obx( - () => ActionItem( - expand: false, - animation: introController.tripleAnimation, - icon: const Icon( - BiliIcons.ugcvideo_ic_coin, - color: Colors.white, - size: 20, - ), - onTap: introController.actionCoinVideo, - selectStatus: introController.hasCoin, - ), + () { + final hasCoin = introController.hasCoin; + return ActionItem( + expand: false, + animation: introController.tripleAnimation, + icon: hasCoin + ? const Icon(BiliIcons.topbar_coined) + : const Icon( + BiliIcons.topbar_coin, + color: Colors.white, + ), + onTap: introController.actionCoinVideo, + selectStatus: hasCoin, + ); + }, ), ), SizedBox( width: btnWidth, height: btnHeight, child: Obx( - () => ActionItem( - expand: false, - animation: introController.tripleAnimation, - icon: const Icon( - BiliIcons.ugcvideo_ic_favorite, - color: Colors.white, - ), - onTap: () => introController.showFavBottomSheet(context), - onLongPress: () => introController.showFavBottomSheet( - context, - isLongPress: true, - ), - selectStatus: introController.hasFav.value, - ), + () { + final hasFav = introController.hasFav.value; + return ActionItem( + expand: false, + animation: introController.tripleAnimation, + icon: hasFav + ? const Icon(BiliIcons.topbar_favorited) + : const Icon( + BiliIcons.topbar_favorite, + color: Colors.white, + ), + onTap: () => + introController.showFavBottomSheet(context), + onLongPress: () => introController.showFavBottomSheet( + context, + isLongPress: true, + ), + selectStatus: hasFav, + ); + }, ), ), SizedBox( @@ -1835,7 +1850,7 @@ class HeaderControlState extends State child: ActionItem( expand: false, icon: const Icon( - BiliIcons.ugcvideo_ic_offline, + BiliIcons.ugcvideo_ic_offline_outline, color: Colors.white, ), onTap: () => videoDetailCtr.onDownload(context), @@ -1847,7 +1862,7 @@ class HeaderControlState extends State child: ActionItem( expand: false, icon: const Icon( - BiliIcons.ugcvideo_ic_share, + BiliIcons.topbar_share, color: Colors.white, ), onTap: () => introController.actionShareVideo(context),