mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-08-01 08:20:14 +08:00
@@ -3,27 +3,25 @@
|
|||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
|
|
||||||
class CustomIcon {
|
class CustomIcon {
|
||||||
static const _kFontFam = 'custom_icon';
|
static const IconData coin = _CustomIconData(0xe800);
|
||||||
|
static const IconData dm_off = _CustomIconData(0xe801);
|
||||||
static const IconData coin = IconData(0xe800, fontFamily: _kFontFam);
|
static const IconData dm_on = _CustomIconData(0xe802);
|
||||||
static const IconData dm_off = IconData(0xe801, fontFamily: _kFontFam);
|
static const IconData dm_settings = _CustomIconData(0xe803);
|
||||||
static const IconData dm_on = IconData(0xe802, fontFamily: _kFontFam);
|
static const IconData dyn = _CustomIconData(0xe804);
|
||||||
static const IconData dm_settings = IconData(0xe803, fontFamily: _kFontFam);
|
static const IconData fav = _CustomIconData(0xe805);
|
||||||
static const IconData dyn = IconData(0xe804, fontFamily: _kFontFam);
|
static const IconData share = _CustomIconData(0xe806);
|
||||||
static const IconData fav = IconData(0xe805, fontFamily: _kFontFam);
|
static const IconData share_line = _CustomIconData(0xe807);
|
||||||
static const IconData share = IconData(0xe806, fontFamily: _kFontFam);
|
static const IconData share_node = _CustomIconData(0xe808);
|
||||||
static const IconData share_line = IconData(0xe807, fontFamily: _kFontFam);
|
static const IconData star_favorite_line = _CustomIconData(0xe809);
|
||||||
static const IconData share_node = IconData(0xe808, fontFamily: _kFontFam);
|
static const IconData thumbs_down = _CustomIconData(0xe80a);
|
||||||
static const IconData star_favorite_line =
|
static const IconData thumbs_down_outline = _CustomIconData(0xe80b);
|
||||||
IconData(0xe809, fontFamily: _kFontFam);
|
static const IconData thumbs_up = _CustomIconData(0xe80c);
|
||||||
static const IconData thumbs_down = IconData(0xe80a, fontFamily: _kFontFam);
|
static const IconData thumbs_up_line = _CustomIconData(0xe80d);
|
||||||
static const IconData thumbs_down_outline =
|
static const IconData thumbs_up_outline = _CustomIconData(0xe80e);
|
||||||
IconData(0xe80b, fontFamily: _kFontFam);
|
static const IconData topic_tag = _CustomIconData(0xe80f);
|
||||||
static const IconData thumbs_up = IconData(0xe80c, fontFamily: _kFontFam);
|
static const IconData watch_later = _CustomIconData(0xe810);
|
||||||
static const IconData thumbs_up_line =
|
}
|
||||||
IconData(0xe80d, fontFamily: _kFontFam);
|
|
||||||
static const IconData thumbs_up_outline =
|
class _CustomIconData extends IconData {
|
||||||
IconData(0xe80e, fontFamily: _kFontFam);
|
const _CustomIconData(super.codePoint) : super(fontFamily: 'custom_icon');
|
||||||
static const IconData topic_tag = IconData(0xe80f, fontFamily: _kFontFam);
|
|
||||||
static const IconData watch_later = IconData(0xe810, fontFamily: _kFontFam);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ class VideoCustomActions {
|
|||||||
VideoCustomAction(
|
VideoCustomAction(
|
||||||
videoItem.bvid!,
|
videoItem.bvid!,
|
||||||
'copy',
|
'copy',
|
||||||
Stack(
|
const Stack(
|
||||||
clipBehavior: Clip.none,
|
clipBehavior: Clip.none,
|
||||||
children: [
|
children: [
|
||||||
Icon(MdiIcons.identifier, size: 16),
|
Icon(MdiIcons.identifier, size: 16),
|
||||||
@@ -47,7 +47,7 @@ class VideoCustomActions {
|
|||||||
VideoCustomAction(
|
VideoCustomAction(
|
||||||
'稍后再看',
|
'稍后再看',
|
||||||
'pause',
|
'pause',
|
||||||
Icon(MdiIcons.clockTimeEightOutline, size: 16),
|
const Icon(MdiIcons.clockTimeEightOutline, size: 16),
|
||||||
() async {
|
() async {
|
||||||
var res = await UserHttp.toViewLater(bvid: videoItem.bvid);
|
var res = await UserHttp.toViewLater(bvid: videoItem.bvid);
|
||||||
SmartDialog.showToast(res['msg']);
|
SmartDialog.showToast(res['msg']);
|
||||||
@@ -58,7 +58,7 @@ class VideoCustomActions {
|
|||||||
VideoCustomAction(
|
VideoCustomAction(
|
||||||
'访问:${videoItem.owner.name}',
|
'访问:${videoItem.owner.name}',
|
||||||
'visit',
|
'visit',
|
||||||
Icon(MdiIcons.accountCircleOutline, size: 16),
|
const Icon(MdiIcons.accountCircleOutline, size: 16),
|
||||||
() {
|
() {
|
||||||
Get.toNamed('/member?mid=${videoItem.owner.mid}', arguments: {
|
Get.toNamed('/member?mid=${videoItem.owner.mid}', arguments: {
|
||||||
'heroTag': '${videoItem.owner.mid}',
|
'heroTag': '${videoItem.owner.mid}',
|
||||||
@@ -69,7 +69,7 @@ class VideoCustomActions {
|
|||||||
VideoCustomAction(
|
VideoCustomAction(
|
||||||
'不感兴趣',
|
'不感兴趣',
|
||||||
'dislike',
|
'dislike',
|
||||||
Icon(MdiIcons.thumbDownOutline, size: 16),
|
const Icon(MdiIcons.thumbDownOutline, size: 16),
|
||||||
() {
|
() {
|
||||||
String? accessKey = Accounts.get(AccountType.recommend).accessKey;
|
String? accessKey = Accounts.get(AccountType.recommend).accessKey;
|
||||||
if (accessKey == null || accessKey == "") {
|
if (accessKey == null || accessKey == "") {
|
||||||
@@ -233,7 +233,7 @@ class VideoCustomActions {
|
|||||||
VideoCustomAction(
|
VideoCustomAction(
|
||||||
'拉黑:${videoItem.owner.name}',
|
'拉黑:${videoItem.owner.name}',
|
||||||
'block',
|
'block',
|
||||||
Icon(MdiIcons.cancel, size: 16),
|
const Icon(MdiIcons.cancel, size: 16),
|
||||||
() {
|
() {
|
||||||
showDialog(
|
showDialog(
|
||||||
context: context,
|
context: context,
|
||||||
@@ -274,12 +274,9 @@ class VideoCustomActions {
|
|||||||
VideoCustomAction(
|
VideoCustomAction(
|
||||||
"${MineController.anonymity.value ? '退出' : '进入'}无痕模式",
|
"${MineController.anonymity.value ? '退出' : '进入'}无痕模式",
|
||||||
'anonymity',
|
'anonymity',
|
||||||
Icon(
|
MineController.anonymity.value
|
||||||
MineController.anonymity.value
|
? const Icon(MdiIcons.incognitoOff, size: 16)
|
||||||
? MdiIcons.incognitoOff
|
: const Icon(MdiIcons.incognito, size: 16),
|
||||||
: MdiIcons.incognito,
|
|
||||||
size: 16,
|
|
||||||
),
|
|
||||||
() => MineController.onChangeAnonymity(context),
|
() => MineController.onChangeAnonymity(context),
|
||||||
)
|
)
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ List get homeTabsConfig => [
|
|||||||
'page': const BangumiPage(tabType: HomeTabType.bangumi),
|
'page': const BangumiPage(tabType: HomeTabType.bangumi),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'icon': Icon(
|
'icon': const Icon(
|
||||||
MdiIcons.theater,
|
MdiIcons.theater,
|
||||||
size: 15,
|
size: 15,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -18,9 +18,9 @@ extension ThemeTypeExt on ThemeType {
|
|||||||
ThemeType.system => ThemeMode.system,
|
ThemeType.system => ThemeMode.system,
|
||||||
};
|
};
|
||||||
|
|
||||||
IconData get iconData => switch (this) {
|
Icon get icon => switch (this) {
|
||||||
ThemeType.light => MdiIcons.weatherSunny,
|
ThemeType.light => const Icon(MdiIcons.weatherSunny, size: 24),
|
||||||
ThemeType.dark => MdiIcons.weatherNight,
|
ThemeType.dark => const Icon(MdiIcons.weatherNight, size: 24),
|
||||||
ThemeType.system => MdiIcons.themeLightDark,
|
ThemeType.system => const Icon(MdiIcons.themeLightDark, size: 24),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ Commit Hash: ${BuildConfig.commitHash}''',
|
|||||||
onTap: () {
|
onTap: () {
|
||||||
Utils.channel.invokeMethod('linkVerifySettings');
|
Utils.channel.invokeMethod('linkVerifySettings');
|
||||||
},
|
},
|
||||||
leading: Icon(MdiIcons.linkBoxOutline),
|
leading: const Icon(MdiIcons.linkBoxOutline),
|
||||||
title: const Text('打开受支持的链接'),
|
title: const Text('打开受支持的链接'),
|
||||||
trailing: Icon(
|
trailing: Icon(
|
||||||
Icons.arrow_forward,
|
Icons.arrow_forward,
|
||||||
|
|||||||
@@ -215,7 +215,7 @@ class OpusContent extends StatelessWidget {
|
|||||||
children: element.list!.items?.indexed.map((entry) {
|
children: element.list!.items?.indexed.map((entry) {
|
||||||
return TextSpan(
|
return TextSpan(
|
||||||
children: [
|
children: [
|
||||||
WidgetSpan(
|
const WidgetSpan(
|
||||||
child: Icon(MdiIcons.circleMedium),
|
child: Icon(MdiIcons.circleMedium),
|
||||||
alignment: PlaceholderAlignment.middle,
|
alignment: PlaceholderAlignment.middle,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -271,7 +271,7 @@ class _DynTopicPageState extends State<DynTopicPage> {
|
|||||||
Utils.shareText(
|
Utils.shareText(
|
||||||
'${_controller.topicName} https://m.bilibili.com/topic-detail?topic_id=${_controller.topicId}');
|
'${_controller.topicName} https://m.bilibili.com/topic-detail?topic_id=${_controller.topicId}');
|
||||||
},
|
},
|
||||||
icon: Icon(MdiIcons.share),
|
icon: const Icon(MdiIcons.share),
|
||||||
),
|
),
|
||||||
PopupMenuButton(
|
PopupMenuButton(
|
||||||
itemBuilder: (context) {
|
itemBuilder: (context) {
|
||||||
|
|||||||
@@ -264,7 +264,7 @@ class HistoryItem extends StatelessWidget {
|
|||||||
height: 35,
|
height: 35,
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
Icon(MdiIcons.accountCircleOutline, size: 16),
|
const Icon(MdiIcons.accountCircleOutline, size: 16),
|
||||||
const SizedBox(width: 6),
|
const SizedBox(width: 6),
|
||||||
Text(
|
Text(
|
||||||
'访问:${videoItem.authorName}',
|
'访问:${videoItem.authorName}',
|
||||||
|
|||||||
@@ -52,13 +52,17 @@ class LiveHeaderControl extends StatelessWidget implements PreferredSizeWidget {
|
|||||||
Obx(
|
Obx(
|
||||||
() => IconButton(
|
() => IconButton(
|
||||||
onPressed: plPlayerController.setOnlyPlayAudio,
|
onPressed: plPlayerController.setOnlyPlayAudio,
|
||||||
icon: Icon(
|
icon: plPlayerController.onlyPlayAudio.value
|
||||||
size: 18,
|
? const Icon(
|
||||||
plPlayerController.onlyPlayAudio.value
|
size: 18,
|
||||||
? MdiIcons.musicCircle
|
MdiIcons.musicCircle,
|
||||||
: MdiIcons.musicCircleOutline,
|
color: Colors.white,
|
||||||
color: Colors.white,
|
)
|
||||||
),
|
: const Icon(
|
||||||
|
size: 18,
|
||||||
|
MdiIcons.musicCircleOutline,
|
||||||
|
color: Colors.white,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 10),
|
const SizedBox(width: 10),
|
||||||
|
|||||||
@@ -109,9 +109,7 @@ class MineController extends GetxController {
|
|||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Row(
|
Row(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Icon(
|
const Icon(MdiIcons.incognito),
|
||||||
MdiIcons.incognito,
|
|
||||||
),
|
|
||||||
const SizedBox(width: 10),
|
const SizedBox(width: 10),
|
||||||
Text('已进入无痕模式', style: theme.textTheme.titleMedium)
|
Text('已进入无痕模式', style: theme.textTheme.titleMedium)
|
||||||
],
|
],
|
||||||
@@ -183,9 +181,7 @@ class MineController extends GetxController {
|
|||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.start,
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Icon(
|
const Icon(MdiIcons.incognitoOff),
|
||||||
MdiIcons.incognitoOff,
|
|
||||||
),
|
|
||||||
const SizedBox(width: 10),
|
const SizedBox(width: 10),
|
||||||
Text('已退出无痕模式', style: theme.textTheme.titleMedium),
|
Text('已退出无痕模式', style: theme.textTheme.titleMedium),
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -45,12 +45,9 @@ class _MinePageState extends State<MinePage> {
|
|||||||
MineController.onChangeAnonymity(context);
|
MineController.onChangeAnonymity(context);
|
||||||
setState(() {});
|
setState(() {});
|
||||||
},
|
},
|
||||||
icon: Icon(
|
icon: MineController.anonymity.value
|
||||||
MineController.anonymity.value
|
? const Icon(MdiIcons.incognito, size: 24)
|
||||||
? MdiIcons.incognito
|
: const Icon(MdiIcons.incognitoOff, size: 24),
|
||||||
: MdiIcons.incognitoOff,
|
|
||||||
size: 24,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
Obx(
|
Obx(
|
||||||
() {
|
() {
|
||||||
@@ -62,10 +59,7 @@ class _MinePageState extends State<MinePage> {
|
|||||||
),
|
),
|
||||||
tooltip: '切换至${_mineController.nextThemeType.description}主题',
|
tooltip: '切换至${_mineController.nextThemeType.description}主题',
|
||||||
onPressed: _mineController.onChangeTheme,
|
onPressed: _mineController.onChangeTheme,
|
||||||
icon: Icon(
|
icon: _mineController.themeType.value.icon,
|
||||||
_mineController.themeType.value.iconData,
|
|
||||||
size: 24,
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
@@ -80,10 +74,7 @@ class _MinePageState extends State<MinePage> {
|
|||||||
Get.back(),
|
Get.back(),
|
||||||
Get.toNamed('/setting', preventDuplicates: false),
|
Get.toNamed('/setting', preventDuplicates: false),
|
||||||
},
|
},
|
||||||
icon: Icon(
|
icon: const Icon(MdiIcons.cogs, size: 24),
|
||||||
MdiIcons.cogs,
|
|
||||||
size: 24,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
const SizedBox(width: 10),
|
const SizedBox(width: 10),
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ class _SettingPageState extends State<SettingPage> {
|
|||||||
subtitle: '震动、搜索、收藏、ai、评论、动态、代理、更新检查等',
|
subtitle: '震动、搜索、收藏、ai、评论、动态、代理、更新检查等',
|
||||||
icon: Icons.extension_outlined,
|
icon: Icons.extension_outlined,
|
||||||
),
|
),
|
||||||
_SettingsModel(
|
const _SettingsModel(
|
||||||
name: 'webdavSetting',
|
name: 'webdavSetting',
|
||||||
title: 'WebDAV 设置',
|
title: 'WebDAV 设置',
|
||||||
icon: MdiIcons.databaseCogOutline,
|
icon: MdiIcons.databaseCogOutline,
|
||||||
|
|||||||
@@ -212,7 +212,7 @@ List<SettingsModel> get styleSettings => [
|
|||||||
SettingsModel(
|
SettingsModel(
|
||||||
settingsType: SettingsType.sw1tch,
|
settingsType: SettingsType.sw1tch,
|
||||||
title: '优化平板导航栏',
|
title: '优化平板导航栏',
|
||||||
leading: Icon(MdiIcons.soundbar),
|
leading: const Icon(MdiIcons.soundbar),
|
||||||
setKey: SettingBoxKey.optTabletNav,
|
setKey: SettingBoxKey.optTabletNav,
|
||||||
defaultVal: true,
|
defaultVal: true,
|
||||||
needReboot: true,
|
needReboot: true,
|
||||||
@@ -383,7 +383,7 @@ List<SettingsModel> get styleSettings => [
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
title: '消息未读标记',
|
title: '消息未读标记',
|
||||||
leading: Icon(MdiIcons.bellBadgeOutline),
|
leading: const Icon(MdiIcons.bellBadgeOutline),
|
||||||
getSubtitle: () => '当前标记样式:${GStorage.msgBadgeMode.description}',
|
getSubtitle: () => '当前标记样式:${GStorage.msgBadgeMode.description}',
|
||||||
),
|
),
|
||||||
SettingsModel(
|
SettingsModel(
|
||||||
@@ -412,7 +412,7 @@ List<SettingsModel> get styleSettings => [
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
title: '消息未读类型',
|
title: '消息未读类型',
|
||||||
leading: Icon(MdiIcons.bellCogOutline),
|
leading: const Icon(MdiIcons.bellCogOutline),
|
||||||
getSubtitle: () =>
|
getSubtitle: () =>
|
||||||
'当前消息类型:${GStorage.msgUnReadTypeV2.map((item) => item.title).join('、')}',
|
'当前消息类型:${GStorage.msgUnReadTypeV2.map((item) => item.title).join('、')}',
|
||||||
),
|
),
|
||||||
@@ -778,14 +778,14 @@ List<SettingsModel> get playSettings => [
|
|||||||
SettingsModel(
|
SettingsModel(
|
||||||
settingsType: SettingsType.sw1tch,
|
settingsType: SettingsType.sw1tch,
|
||||||
title: '左右侧滑动调节亮度/音量',
|
title: '左右侧滑动调节亮度/音量',
|
||||||
leading: Icon(MdiIcons.tuneVerticalVariant),
|
leading: const Icon(MdiIcons.tuneVerticalVariant),
|
||||||
setKey: SettingBoxKey.enableSlideVolumeBrightness,
|
setKey: SettingBoxKey.enableSlideVolumeBrightness,
|
||||||
defaultVal: true,
|
defaultVal: true,
|
||||||
),
|
),
|
||||||
SettingsModel(
|
SettingsModel(
|
||||||
settingsType: SettingsType.sw1tch,
|
settingsType: SettingsType.sw1tch,
|
||||||
title: '中间滑动进入/退出全屏',
|
title: '中间滑动进入/退出全屏',
|
||||||
leading: Icon(MdiIcons.panVertical),
|
leading: const Icon(MdiIcons.panVertical),
|
||||||
setKey: SettingBoxKey.enableSlideFS,
|
setKey: SettingBoxKey.enableSlideFS,
|
||||||
defaultVal: true,
|
defaultVal: true,
|
||||||
),
|
),
|
||||||
@@ -1029,7 +1029,7 @@ List<SettingsModel> get videoSettings => [
|
|||||||
SettingsModel(
|
SettingsModel(
|
||||||
settingsType: SettingsType.normal,
|
settingsType: SettingsType.normal,
|
||||||
title: 'CDN 设置',
|
title: 'CDN 设置',
|
||||||
leading: Icon(MdiIcons.cloudPlusOutline),
|
leading: const Icon(MdiIcons.cloudPlusOutline),
|
||||||
getSubtitle: () =>
|
getSubtitle: () =>
|
||||||
'当前使用:${CDNService.fromCode(GStorage.defaultCDNService).description},部分 CDN 可能失效,如无法播放请尝试切换',
|
'当前使用:${CDNService.fromCode(GStorage.defaultCDNService).description},部分 CDN 可能失效,如无法播放请尝试切换',
|
||||||
onTap: (setState) async {
|
onTap: (setState) async {
|
||||||
@@ -1057,7 +1057,7 @@ List<SettingsModel> get videoSettings => [
|
|||||||
settingsType: SettingsType.sw1tch,
|
settingsType: SettingsType.sw1tch,
|
||||||
title: '音频不跟随 CDN 设置',
|
title: '音频不跟随 CDN 设置',
|
||||||
subtitle: '直接采用备用 URL,可解决部分视频无声',
|
subtitle: '直接采用备用 URL,可解决部分视频无声',
|
||||||
leading: Icon(MdiIcons.musicNotePlus),
|
leading: const Icon(MdiIcons.musicNotePlus),
|
||||||
setKey: SettingBoxKey.disableAudioCDN,
|
setKey: SettingBoxKey.disableAudioCDN,
|
||||||
defaultVal: true,
|
defaultVal: true,
|
||||||
),
|
),
|
||||||
@@ -1585,7 +1585,7 @@ List<SettingsModel> get extraSettings => [
|
|||||||
title: '显示视频分段信息',
|
title: '显示视频分段信息',
|
||||||
leading: Transform.rotate(
|
leading: Transform.rotate(
|
||||||
angle: pi / 2,
|
angle: pi / 2,
|
||||||
child: Icon(MdiIcons.viewHeadline),
|
child: const Icon(MdiIcons.viewHeadline),
|
||||||
),
|
),
|
||||||
setKey: SettingBoxKey.showViewPoints,
|
setKey: SettingBoxKey.showViewPoints,
|
||||||
defaultVal: true,
|
defaultVal: true,
|
||||||
@@ -1593,21 +1593,21 @@ List<SettingsModel> get extraSettings => [
|
|||||||
SettingsModel(
|
SettingsModel(
|
||||||
settingsType: SettingsType.sw1tch,
|
settingsType: SettingsType.sw1tch,
|
||||||
title: '视频页显示相关视频',
|
title: '视频页显示相关视频',
|
||||||
leading: Icon(MdiIcons.motionPlayOutline),
|
leading: const Icon(MdiIcons.motionPlayOutline),
|
||||||
setKey: SettingBoxKey.showRelatedVideo,
|
setKey: SettingBoxKey.showRelatedVideo,
|
||||||
defaultVal: true,
|
defaultVal: true,
|
||||||
),
|
),
|
||||||
SettingsModel(
|
SettingsModel(
|
||||||
settingsType: SettingsType.sw1tch,
|
settingsType: SettingsType.sw1tch,
|
||||||
title: '显示视频评论',
|
title: '显示视频评论',
|
||||||
leading: Icon(MdiIcons.commentTextOutline),
|
leading: const Icon(MdiIcons.commentTextOutline),
|
||||||
setKey: SettingBoxKey.showVideoReply,
|
setKey: SettingBoxKey.showVideoReply,
|
||||||
defaultVal: true,
|
defaultVal: true,
|
||||||
),
|
),
|
||||||
SettingsModel(
|
SettingsModel(
|
||||||
settingsType: SettingsType.sw1tch,
|
settingsType: SettingsType.sw1tch,
|
||||||
title: '显示番剧评论',
|
title: '显示番剧评论',
|
||||||
leading: Icon(MdiIcons.commentTextOutline),
|
leading: const Icon(MdiIcons.commentTextOutline),
|
||||||
setKey: SettingBoxKey.showBangumiReply,
|
setKey: SettingBoxKey.showBangumiReply,
|
||||||
defaultVal: true,
|
defaultVal: true,
|
||||||
),
|
),
|
||||||
@@ -1768,7 +1768,7 @@ List<SettingsModel> get extraSettings => [
|
|||||||
settingsType: SettingsType.sw1tch,
|
settingsType: SettingsType.sw1tch,
|
||||||
title: '分P/合集:倒序播放从首集开始播放',
|
title: '分P/合集:倒序播放从首集开始播放',
|
||||||
subtitle: '开启则自动切换为倒序首集,否则保持当前集',
|
subtitle: '开启则自动切换为倒序首集,否则保持当前集',
|
||||||
leading: Icon(MdiIcons.sort),
|
leading: const Icon(MdiIcons.sort),
|
||||||
setKey: SettingBoxKey.reverseFromFirst,
|
setKey: SettingBoxKey.reverseFromFirst,
|
||||||
defaultVal: true,
|
defaultVal: true,
|
||||||
),
|
),
|
||||||
@@ -1878,14 +1878,14 @@ List<SettingsModel> get extraSettings => [
|
|||||||
SettingsModel(
|
SettingsModel(
|
||||||
settingsType: SettingsType.sw1tch,
|
settingsType: SettingsType.sw1tch,
|
||||||
title: '显示会员彩色弹幕',
|
title: '显示会员彩色弹幕',
|
||||||
leading: Icon(MdiIcons.gradientHorizontal),
|
leading: const Icon(MdiIcons.gradientHorizontal),
|
||||||
setKey: SettingBoxKey.showVipDanmaku,
|
setKey: SettingBoxKey.showVipDanmaku,
|
||||||
defaultVal: true,
|
defaultVal: true,
|
||||||
),
|
),
|
||||||
SettingsModel(
|
SettingsModel(
|
||||||
settingsType: SettingsType.sw1tch,
|
settingsType: SettingsType.sw1tch,
|
||||||
title: '显示高级弹幕',
|
title: '显示高级弹幕',
|
||||||
leading: Icon(MdiIcons.paletteAdvanced),
|
leading: const Icon(MdiIcons.paletteAdvanced),
|
||||||
setKey: SettingBoxKey.showSpecialDanmaku,
|
setKey: SettingBoxKey.showSpecialDanmaku,
|
||||||
defaultVal: false,
|
defaultVal: false,
|
||||||
),
|
),
|
||||||
@@ -2049,7 +2049,7 @@ List<SettingsModel> get extraSettings => [
|
|||||||
SettingsModel(
|
SettingsModel(
|
||||||
settingsType: SettingsType.sw1tch,
|
settingsType: SettingsType.sw1tch,
|
||||||
title: '展示头像/评论/动态装饰',
|
title: '展示头像/评论/动态装饰',
|
||||||
leading: Icon(MdiIcons.stickerCircleOutline),
|
leading: const Icon(MdiIcons.stickerCircleOutline),
|
||||||
setKey: SettingBoxKey.showDynDecorate,
|
setKey: SettingBoxKey.showDynDecorate,
|
||||||
defaultVal: true,
|
defaultVal: true,
|
||||||
onChanged: (value) => PendantAvatar.showDynDecorate = value,
|
onChanged: (value) => PendantAvatar.showDynDecorate = value,
|
||||||
@@ -2165,7 +2165,7 @@ List<SettingsModel> get extraSettings => [
|
|||||||
SettingsModel(
|
SettingsModel(
|
||||||
settingsType: SettingsType.sw1tch,
|
settingsType: SettingsType.sw1tch,
|
||||||
title: '全屏展示点赞/投币/收藏等操作按钮',
|
title: '全屏展示点赞/投币/收藏等操作按钮',
|
||||||
leading: Icon(MdiIcons.dotsHorizontalCircleOutline),
|
leading: const Icon(MdiIcons.dotsHorizontalCircleOutline),
|
||||||
setKey: SettingBoxKey.showFSActionItem,
|
setKey: SettingBoxKey.showFSActionItem,
|
||||||
defaultVal: true,
|
defaultVal: true,
|
||||||
),
|
),
|
||||||
@@ -2186,14 +2186,14 @@ List<SettingsModel> get extraSettings => [
|
|||||||
SettingsModel(
|
SettingsModel(
|
||||||
settingsType: SettingsType.sw1tch,
|
settingsType: SettingsType.sw1tch,
|
||||||
title: '启用拖拽字幕调整底部边距',
|
title: '启用拖拽字幕调整底部边距',
|
||||||
leading: Icon(MdiIcons.dragVariant),
|
leading: const Icon(MdiIcons.dragVariant),
|
||||||
setKey: SettingBoxKey.enableDragSubtitle,
|
setKey: SettingBoxKey.enableDragSubtitle,
|
||||||
defaultVal: false,
|
defaultVal: false,
|
||||||
),
|
),
|
||||||
SettingsModel(
|
SettingsModel(
|
||||||
settingsType: SettingsType.sw1tch,
|
settingsType: SettingsType.sw1tch,
|
||||||
title: '展示追番时间表',
|
title: '展示追番时间表',
|
||||||
leading: Icon(MdiIcons.chartTimelineVariantShimmer),
|
leading: const Icon(MdiIcons.chartTimelineVariantShimmer),
|
||||||
setKey: SettingBoxKey.showPgcTimeline,
|
setKey: SettingBoxKey.showPgcTimeline,
|
||||||
defaultVal: true,
|
defaultVal: true,
|
||||||
needReboot: true,
|
needReboot: true,
|
||||||
|
|||||||
@@ -251,7 +251,7 @@ class HeaderControlState extends State<HeaderControl> {
|
|||||||
ListTile(
|
ListTile(
|
||||||
dense: true,
|
dense: true,
|
||||||
title: const Text('CDN 设置', style: titleStyle),
|
title: const Text('CDN 设置', style: titleStyle),
|
||||||
leading: Icon(MdiIcons.cloudPlusOutline, size: 20),
|
leading: const Icon(MdiIcons.cloudPlusOutline, size: 20),
|
||||||
subtitle: Text(
|
subtitle: Text(
|
||||||
'当前:${CDNService.fromCode(defaultCDNService).description},无法播放请切换',
|
'当前:${CDNService.fromCode(defaultCDNService).description},无法播放请切换',
|
||||||
style: subTitleStyle,
|
style: subTitleStyle,
|
||||||
@@ -2068,7 +2068,7 @@ class HeaderControlState extends State<HeaderControl> {
|
|||||||
),
|
),
|
||||||
onPressed: () =>
|
onPressed: () =>
|
||||||
videoDetailCtr.showSBDetail(context),
|
videoDetailCtr.showSBDetail(context),
|
||||||
icon: Icon(
|
icon: const Icon(
|
||||||
MdiIcons.advertisements,
|
MdiIcons.advertisements,
|
||||||
size: 19,
|
size: 19,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ class _WhisperPageState extends State<WhisperPage> {
|
|||||||
controller: _controller,
|
controller: _controller,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
icon: Icon(size: 20, e.type.icon),
|
icon: e.type.icon,
|
||||||
);
|
);
|
||||||
}).toList());
|
}).toList());
|
||||||
}
|
}
|
||||||
@@ -58,7 +58,7 @@ class _WhisperPageState extends State<WhisperPage> {
|
|||||||
},
|
},
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
Icon(size: 17, e.type.icon),
|
e.type.icon,
|
||||||
Text(' ${e.title}'),
|
Text(' ${e.title}'),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ class _WhisperSecPageState extends State<WhisperSecPage> {
|
|||||||
},
|
},
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
Icon(size: 17, e.type.icon),
|
e.type.icon,
|
||||||
Text(' ${e.title}'),
|
Text(' ${e.title}'),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -450,7 +450,7 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
|
|||||||
child: ComBtn(
|
child: ComBtn(
|
||||||
icon: Transform.rotate(
|
icon: Transform.rotate(
|
||||||
angle: pi / 2,
|
angle: pi / 2,
|
||||||
child: Icon(
|
child: const Icon(
|
||||||
MdiIcons.viewHeadline,
|
MdiIcons.viewHeadline,
|
||||||
semanticLabel: '分段信息',
|
semanticLabel: '分段信息',
|
||||||
size: 22,
|
size: 22,
|
||||||
|
|||||||
@@ -132,18 +132,20 @@ extension RationalExt on Rational {
|
|||||||
}
|
}
|
||||||
|
|
||||||
extension ThreeDotItemTypeExt on ThreeDotItemType {
|
extension ThreeDotItemTypeExt on ThreeDotItemType {
|
||||||
IconData get icon => switch (this) {
|
Icon get icon => switch (this) {
|
||||||
ThreeDotItemType.THREE_DOT_ITEM_TYPE_MSG_SETTING => Icons.settings,
|
ThreeDotItemType.THREE_DOT_ITEM_TYPE_MSG_SETTING =>
|
||||||
|
const Icon(Icons.settings, size: 20),
|
||||||
ThreeDotItemType.THREE_DOT_ITEM_TYPE_READ_ALL =>
|
ThreeDotItemType.THREE_DOT_ITEM_TYPE_READ_ALL =>
|
||||||
Icons.cleaning_services,
|
const Icon(Icons.cleaning_services, size: 20),
|
||||||
ThreeDotItemType.THREE_DOT_ITEM_TYPE_CLEAR_LIST =>
|
ThreeDotItemType.THREE_DOT_ITEM_TYPE_CLEAR_LIST =>
|
||||||
Icons.delete_forever_outlined,
|
const Icon(Icons.delete_forever_outlined, size: 20),
|
||||||
ThreeDotItemType.THREE_DOT_ITEM_TYPE_UP_HELPER => Icons.live_tv,
|
ThreeDotItemType.THREE_DOT_ITEM_TYPE_UP_HELPER =>
|
||||||
|
const Icon(Icons.live_tv, size: 20),
|
||||||
ThreeDotItemType.THREE_DOT_ITEM_TYPE_CONTACTS =>
|
ThreeDotItemType.THREE_DOT_ITEM_TYPE_CONTACTS =>
|
||||||
Icons.account_box_outlined,
|
const Icon(Icons.account_box_outlined, size: 20),
|
||||||
ThreeDotItemType.THREE_DOT_ITEM_TYPE_FANS_GROUP_HELPER =>
|
ThreeDotItemType.THREE_DOT_ITEM_TYPE_FANS_GROUP_HELPER =>
|
||||||
Icons.notifications_none,
|
const Icon(Icons.notifications_none, size: 20),
|
||||||
_ => MdiIcons.circleMedium,
|
_ => const Icon(MdiIcons.circleMedium, size: 20),
|
||||||
};
|
};
|
||||||
|
|
||||||
void action({
|
void action({
|
||||||
|
|||||||
11
pubspec.lock
11
pubspec.lock
@@ -1155,11 +1155,12 @@ packages:
|
|||||||
material_design_icons_flutter:
|
material_design_icons_flutter:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: material_design_icons_flutter
|
path: "."
|
||||||
sha256: "6f986b7a51f3ad4c00e33c5c84e8de1bdd140489bbcdc8b66fc1283dad4dea5a"
|
ref: const
|
||||||
url: "https://pub.dev"
|
resolved-ref: c11f18c031f1045900dc3e817f7519eb863c2550
|
||||||
source: hosted
|
url: "https://github.com/bggRGjQaUbCoE/material_design_icons_flutter.git"
|
||||||
version: "7.0.7296"
|
source: git
|
||||||
|
version: "7.0.7447"
|
||||||
media_kit:
|
media_kit:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -90,7 +90,11 @@ dependencies:
|
|||||||
# pull_to_refresh_notification: ^3.1.0
|
# pull_to_refresh_notification: ^3.1.0
|
||||||
# 图标
|
# 图标
|
||||||
font_awesome_flutter: ^10.8.0
|
font_awesome_flutter: ^10.8.0
|
||||||
material_design_icons_flutter: ^7.0.7296
|
# material_design_icons_flutter: ^7.0.7296
|
||||||
|
material_design_icons_flutter:
|
||||||
|
git:
|
||||||
|
url: https://github.com/bggRGjQaUbCoE/material_design_icons_flutter.git
|
||||||
|
ref: const
|
||||||
# toast
|
# toast
|
||||||
flutter_smart_dialog: ^4.9.8+5
|
flutter_smart_dialog: ^4.9.8+5
|
||||||
# 下滑关闭
|
# 下滑关闭
|
||||||
|
|||||||
Reference in New Issue
Block a user