opt icons

Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-05-02 17:13:33 +08:00
parent ef9d5060b0
commit 069424f9b6
8 changed files with 55 additions and 140 deletions

Binary file not shown.

View File

@@ -3,37 +3,43 @@
import 'package:flutter/widgets.dart';
class CustomIcons {
static const IconData coin = _CustomIconData(0xe800);
static const IconData dm_off = _CustomIconData(0xe801);
static const IconData dm_on = _CustomIconData(0xe802);
static const IconData dm_settings = _CustomIconData(0xe803);
static const IconData dyn = _CustomIconData(0xe804);
static const IconData fav = _CustomIconData(0xe805);
static const IconData flip_rotate_90 = _CustomIconData(0xe806);
static const IconData live_reserve = _CustomIconData(0xe807);
static const IconData open_in_full_rotate_45 = _CustomIconData(0xe808);
static const IconData player_dm_tip_back = _CustomIconData(0xe809);
static const IconData player_dm_tip_copy = _CustomIconData(0xe80a);
static const IconData player_dm_tip_like = _CustomIconData(0xe80b);
static const IconData player_dm_tip_like_solid = _CustomIconData(0xe80c);
static const IconData player_dm_tip_recall = _CustomIconData(0xe80d);
static const IconData repeat_rounded_rotate_90 = _CustomIconData(0xe80e);
static const IconData share = _CustomIconData(0xe80f);
static const IconData share_line = _CustomIconData(0xe810);
static const IconData share_node = _CustomIconData(0xe811);
static const IconData splitscreen_rotate_90 = _CustomIconData(0xe812);
static const IconData star_favorite_line = _CustomIconData(0xe813);
static const IconData star_favorite_solid = _CustomIconData(0xe814);
static const IconData thumbs_down = _CustomIconData(0xe815);
static const IconData thumbs_down_outline = _CustomIconData(0xe816);
static const IconData thumbs_up = _CustomIconData(0xe817);
static const IconData thumbs_up_fill = _CustomIconData(0xe818);
static const IconData thumbs_up_line = _CustomIconData(0xe819);
static const IconData thumbs_up_outline = _CustomIconData(0xe81a);
static const IconData topic_tag = _CustomIconData(0xe81b);
static const IconData touch_app_rotate_270 = _CustomIconData(0xe81c);
static const IconData view_headline_rotate_90 = _CustomIconData(0xe81d);
static const IconData watch_later = _CustomIconData(0xe81e);
static const IconData ai_circle = _CustomIconData(0xe800);
static const IconData coin = _CustomIconData(0xe801);
static const IconData dm_off = _CustomIconData(0xe802);
static const IconData dm_on = _CustomIconData(0xe803);
static const IconData dm_settings = _CustomIconData(0xe804);
static const IconData dyn = _CustomIconData(0xe805);
static const IconData fav = _CustomIconData(0xe806);
static const IconData flip_rotate_90 = _CustomIconData(0xe807);
static const IconData identifier_circle = _CustomIconData(0xe808);
static const IconData live_reserve = _CustomIconData(0xe809);
static const IconData open_in_full_rotate_45 = _CustomIconData(0xe80a);
static const IconData player_dm_tip_back = _CustomIconData(0xe80b);
static const IconData player_dm_tip_copy = _CustomIconData(0xe80c);
static const IconData player_dm_tip_like = _CustomIconData(0xe80d);
static const IconData player_dm_tip_like_solid = _CustomIconData(0xe80e);
static const IconData player_dm_tip_recall = _CustomIconData(0xe80f);
static const IconData repeat_rounded_rotate_90 = _CustomIconData(0xe810);
static const IconData share = _CustomIconData(0xe811);
static const IconData share_line = _CustomIconData(0xe812);
static const IconData share_node = _CustomIconData(0xe813);
static const IconData shield_play_arrow = _CustomIconData(0xe814);
static const IconData shield_published = _CustomIconData(0xe815);
static const IconData shield_reply = _CustomIconData(0xe816);
static const IconData shopping_bag_not_interested = _CustomIconData(0xe817);
static const IconData splitscreen_rotate_90 = _CustomIconData(0xe818);
static const IconData star_favorite_line = _CustomIconData(0xe819);
static const IconData star_favorite_solid = _CustomIconData(0xe81a);
static const IconData thumbs_down = _CustomIconData(0xe81b);
static const IconData thumbs_down_outline = _CustomIconData(0xe81c);
static const IconData thumbs_up = _CustomIconData(0xe81d);
static const IconData thumbs_up_fill = _CustomIconData(0xe81e);
static const IconData thumbs_up_line = _CustomIconData(0xe81f);
static const IconData thumbs_up_outline = _CustomIconData(0xe820);
static const IconData topic_tag = _CustomIconData(0xe821);
static const IconData touch_app_rotate_270 = _CustomIconData(0xe822);
static const IconData view_headline_rotate_90 = _CustomIconData(0xe823);
static const IconData watch_later = _CustomIconData(0xe824);
}
class _CustomIconData extends IconData {

View File

@@ -1,3 +1,4 @@
import 'package:PiliPlus/common/widgets/custom_icon.dart';
import 'package:PiliPlus/http/user.dart';
import 'package:PiliPlus/http/video.dart';
import 'package:PiliPlus/models/common/account_type.dart';
@@ -52,13 +53,7 @@ class VideoPopupMenu extends StatelessWidget {
if (videoItem.bvid?.isNotEmpty == true) ...[
_VideoCustomAction(
videoItem.bvid!,
const Stack(
clipBehavior: Clip.none,
children: [
Icon(MdiIcons.identifier, size: 16),
Icon(MdiIcons.circleOutline, size: 16),
],
),
const Icon(CustomIcons.identifier_circle, size: 16),
() => Utils.copyText(videoItem.bvid!),
),
_VideoCustomAction(
@@ -69,30 +64,7 @@ class VideoPopupMenu extends StatelessWidget {
if (videoItem.cid != null && Pref.enableAi)
_VideoCustomAction(
'AI总结',
const Stack(
alignment: Alignment.center,
clipBehavior: Clip.none,
children: [
Icon(Icons.circle_outlined, size: 16),
ExcludeSemantics(
child: Text(
'AI',
style: TextStyle(
fontSize: 10,
height: 1,
fontWeight: FontWeight.w700,
),
strutStyle: StrutStyle(
fontSize: 10,
height: 1,
leading: 0,
fontWeight: FontWeight.w700,
),
textScaler: TextScaler.noScaling,
),
),
],
),
const Icon(CustomIcons.ai_circle, size: 16),
() async {
final res = await UgcIntroController.getAiConclusion(
videoItem.bvid!,

View File

@@ -2,6 +2,7 @@ import 'dart:math';
import 'package:PiliPlus/common/assets.dart';
import 'package:PiliPlus/common/style.dart';
import 'package:PiliPlus/common/widgets/custom_icon.dart';
import 'package:PiliPlus/common/widgets/dialog/report.dart';
import 'package:PiliPlus/common/widgets/extra_hit_test_widget.dart';
import 'package:PiliPlus/common/widgets/pendant_avatar.dart';
@@ -391,14 +392,7 @@ class AuthorPanel extends StatelessWidget {
);
},
minLeadingWidth: 0,
leading: const Stack(
clipBehavior: Clip.none,
alignment: Alignment.center,
children: [
Icon(Icons.shield_outlined, size: 19),
Icon(Icons.published_with_changes_sharp, size: 12),
],
),
leading: const Icon(CustomIcons.shield_published, size: 19),
title: Text('检查动态', style: theme.textTheme.titleSmall!),
),
if (onSetTop != null)

View File

@@ -1,5 +1,6 @@
import 'package:PiliPlus/common/style.dart';
import 'package:PiliPlus/common/widgets/badge.dart';
import 'package:PiliPlus/common/widgets/custom_icon.dart';
import 'package:PiliPlus/common/widgets/flutter/layout_builder.dart';
import 'package:PiliPlus/common/widgets/image/image_save.dart';
import 'package:PiliPlus/common/widgets/image/network_img_layer.dart';
@@ -132,13 +133,7 @@ class SearchArchiveGrpc extends StatelessWidget {
child: Row(
spacing: 6,
children: [
const Stack(
clipBehavior: Clip.none,
children: [
Icon(MdiIcons.identifier, size: 16),
Icon(MdiIcons.circleOutline, size: 16),
],
),
const Icon(CustomIcons.identifier_circle, size: 16),
Text(bvid, style: const TextStyle(fontSize: 13)),
],
),

View File

@@ -70,14 +70,7 @@ List<SettingsModel> get extraSettings => [
normalModel: const NormalModel.split(
title: '空降助手',
subtitle: '点击配置',
leading: Stack(
clipBehavior: Clip.none,
alignment: Alignment.center,
children: [
Icon(Icons.shield_outlined),
Icon(Icons.play_arrow_rounded, size: 15),
],
),
leading: Icon(CustomIcons.shield_play_arrow),
),
switchModel: SwitchModel.split(
defaultVal: false,
@@ -356,14 +349,7 @@ List<SettingsModel> get extraSettings => [
const SwitchModel(
title: '发评反诈',
subtitle: '发送评论后检查评论是否可见',
leading: Stack(
clipBehavior: Clip.none,
alignment: Alignment.center,
children: [
Icon(Icons.shield_outlined),
Icon(Icons.reply, size: 14),
],
),
leading: Icon(CustomIcons.shield_reply),
setKey: SettingBoxKey.enableCommAntifraud,
defaultVal: false,
),
@@ -380,41 +366,20 @@ List<SettingsModel> get extraSettings => [
const SwitchModel(
title: '发布/转发动态反诈',
subtitle: '发布/转发动态后检查动态是否可见',
leading: Stack(
clipBehavior: Clip.none,
alignment: Alignment.center,
children: [
Icon(Icons.shield_outlined),
Icon(Icons.motion_photos_on, size: 12),
],
),
leading: Icon(CustomIcons.shield_published),
setKey: SettingBoxKey.enableCreateDynAntifraud,
defaultVal: false,
),
SwitchModel(
title: '屏蔽带货动态',
leading: const Stack(
clipBehavior: Clip.none,
alignment: Alignment.center,
children: [
Icon(Icons.shopping_bag_outlined, size: 14),
Icon(Icons.not_interested),
],
),
leading: const Icon(CustomIcons.shopping_bag_not_interested),
setKey: SettingBoxKey.antiGoodsDyn,
defaultVal: false,
onChanged: (value) => DynamicsDataModel.antiGoodsDyn = value,
),
SwitchModel(
title: '屏蔽带货评论',
leading: const Stack(
clipBehavior: Clip.none,
alignment: Alignment.center,
children: [
Icon(Icons.shopping_bag_outlined, size: 14),
Icon(Icons.not_interested),
],
),
leading: const Icon(CustomIcons.shopping_bag_not_interested),
setKey: SettingBoxKey.antiGoodsReply,
defaultVal: false,
onChanged: (value) => ReplyGrpc.antiGoodsReply = value,

View File

@@ -4,6 +4,7 @@ import 'package:PiliPlus/common/assets.dart';
import 'package:PiliPlus/common/constants.dart';
import 'package:PiliPlus/common/style.dart';
import 'package:PiliPlus/common/widgets/badge.dart';
import 'package:PiliPlus/common/widgets/custom_icon.dart';
import 'package:PiliPlus/common/widgets/dialog/report.dart';
import 'package:PiliPlus/common/widgets/extra_hit_test_widget.dart';
import 'package:PiliPlus/common/widgets/flutter/text/text.dart' as custom_text;
@@ -1093,14 +1094,7 @@ class ReplyItemGrpc extends StatelessWidget {
onCheckReply?.call(item);
},
minLeadingWidth: 0,
leading: const Stack(
clipBehavior: Clip.none,
alignment: Alignment.center,
children: [
Icon(Icons.shield_outlined, size: 19),
Icon(Icons.reply, size: 12),
],
),
leading: const Icon(CustomIcons.shield_reply, size: 19),
title: Text('检查评论', style: style),
),
],

View File

@@ -1843,21 +1843,10 @@ class HeaderControlState extends State<HeaderControl>
tooltip: '提交片段',
style: btnStyle,
onPressed: () => videoDetailCtr.onBlock(context),
icon: const Stack(
clipBehavior: Clip.none,
alignment: Alignment.center,
children: [
Icon(
Icons.shield_outlined,
size: 19,
color: Colors.white,
),
Icon(
Icons.play_arrow_rounded,
size: 13,
color: Colors.white,
),
],
icon: const Icon(
CustomIcons.shield_play_arrow,
size: 20,
color: Colors.white,
),
),
),