一些改动

This commit is contained in:
rang 2025-11-20 08:36:55 +08:00
parent 4a02b757bc
commit a8942c2657
6 changed files with 792 additions and 854 deletions

View file

@ -1,4 +1,3 @@
import 'package:animated_theme_switcher/animated_theme_switcher.dart';
import 'package:flutter/material.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
@ -9,13 +8,11 @@ import 'package:vaani/api/library_item_provider.dart';
import 'package:vaani/constants/hero_tag_conventions.dart';
import 'package:vaani/features/item_viewer/view/library_item_page.dart';
import 'package:vaani/features/player/providers/audiobook_player.dart';
import 'package:vaani/globals.dart';
import 'package:vaani/router/models/library_item_extras.dart';
import 'package:vaani/settings/app_settings_provider.dart';
import 'package:vaani/shared/extensions/duration_format.dart';
import 'package:vaani/shared/extensions/model_conversions.dart';
import 'package:vaani/shared/widgets/shelves/book_shelf.dart';
import 'package:vaani/theme/providers/theme_from_cover_provider.dart';
class LibraryItemHeroSection extends HookConsumerWidget {
const LibraryItemHeroSection({

View file

@ -3,7 +3,7 @@ import 'package:just_audio/just_audio.dart';
import 'package:logging/logging.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:vaani/features/player/providers/audiobook_player.dart'
show audiobookPlayerProvider, simpleAudiobookPlayerProvider;
show simpleAudiobookPlayerProvider;
import 'package:vaani/features/sleep_timer/providers/sleep_timer_provider.dart'
show sleepTimerProvider;
import 'package:vaani/settings/app_settings_provider.dart'
@ -132,12 +132,12 @@ class ShakeDetector extends _$ShakeDetector {
case ShakeDetectedFeedback.vibrate:
_logger.fine('Vibrating');
if (await Vibration.hasAmplitudeControl() ?? false) {
if (await Vibration.hasAmplitudeControl()) {
Vibration.vibrate(amplitude: 128, duration: 200);
break;
}
if (await Vibration.hasVibrator() ?? false) {
if (await Vibration.hasVibrator()) {
Vibration.vibrate();
break;
}

View file

@ -6,7 +6,7 @@ part of 'shake_detector.dart';
// RiverpodGenerator
// **************************************************************************
String _$shakeDetectorHash() => r'2a380bab1d4021d05d2ae40fec964a5f33d3730c';
String _$shakeDetectorHash() => r'd30daa94f3541bf4d7fa81d5f38dbb7c55c946f7';
/// See also [ShakeDetector].
@ProviderFor(ShakeDetector)

View file

@ -54,10 +54,8 @@ class MessageLookup extends MessageLookupByLibrary {
"accountDeleteServer": MessageLookupByLibrary.simpleMessage(
"Delete Server",
),
"accountInvalidURL":
MessageLookupByLibrary.simpleMessage("Invalid URL"),
"accountManage":
MessageLookupByLibrary.simpleMessage("Manage Accounts"),
"accountInvalidURL": MessageLookupByLibrary.simpleMessage("Invalid URL"),
"accountManage": MessageLookupByLibrary.simpleMessage("Manage Accounts"),
"accountRegisteredServers": MessageLookupByLibrary.simpleMessage(
"Registered Servers",
),
@ -96,8 +94,7 @@ class MessageLookup extends MessageLookupByLibrary {
"autoTurnOnTimerAlways": MessageLookupByLibrary.simpleMessage(
"Always Auto Turn On Timer",
),
"autoTurnOnTimerAlwaysDescription":
MessageLookupByLibrary.simpleMessage(
"autoTurnOnTimerAlwaysDescription": MessageLookupByLibrary.simpleMessage(
"Always turn on the sleep timer, no matter what",
),
"autoTurnOnTimerDescription": MessageLookupByLibrary.simpleMessage(
@ -125,11 +122,9 @@ class MessageLookup extends MessageLookupByLibrary {
"bookAuthors": MessageLookupByLibrary.simpleMessage("Authors"),
"bookDownloads": MessageLookupByLibrary.simpleMessage("Downloads"),
"bookGenres": MessageLookupByLibrary.simpleMessage("Genres"),
"bookMetadataAbridged":
MessageLookupByLibrary.simpleMessage("Abridged"),
"bookMetadataAbridged": MessageLookupByLibrary.simpleMessage("Abridged"),
"bookMetadataLength": MessageLookupByLibrary.simpleMessage("Length"),
"bookMetadataPublished":
MessageLookupByLibrary.simpleMessage("Published"),
"bookMetadataPublished": MessageLookupByLibrary.simpleMessage("Published"),
"bookMetadataUnabridged": MessageLookupByLibrary.simpleMessage(
"Unabridged",
),
@ -171,13 +166,11 @@ class MessageLookup extends MessageLookupByLibrary {
"homeBookContinueSeries": MessageLookupByLibrary.simpleMessage(
"Continue Series",
),
"homeBookContinueSeriesDescription":
MessageLookupByLibrary.simpleMessage(
"homeBookContinueSeriesDescription": MessageLookupByLibrary.simpleMessage(
"Show play button for books in continue series shelf",
),
"homeBookDiscover": MessageLookupByLibrary.simpleMessage("Discover"),
"homeBookListenAgain":
MessageLookupByLibrary.simpleMessage("Listen Again"),
"homeBookListenAgain": MessageLookupByLibrary.simpleMessage("Listen Again"),
"homeBookListenAgainDescription": MessageLookupByLibrary.simpleMessage(
"Show play button for all books in listen again shelf",
),
@ -187,8 +180,7 @@ class MessageLookup extends MessageLookupByLibrary {
"homeBookRecentlyAdded": MessageLookupByLibrary.simpleMessage(
"Recently Added",
),
"homeBookRecommended":
MessageLookupByLibrary.simpleMessage("Recommended"),
"homeBookRecommended": MessageLookupByLibrary.simpleMessage("Recommended"),
"homeContinueListening": MessageLookupByLibrary.simpleMessage(
"Continue Listening",
),
@ -261,8 +253,7 @@ class MessageLookup extends MessageLookupByLibrary {
"nmpSettingsMediaControls": MessageLookupByLibrary.simpleMessage(
"Media Controls",
),
"nmpSettingsMediaControlsDescription":
MessageLookupByLibrary.simpleMessage(
"nmpSettingsMediaControlsDescription": MessageLookupByLibrary.simpleMessage(
"Select the media controls to display",
),
"nmpSettingsSelectOne": MessageLookupByLibrary.simpleMessage(
@ -281,32 +272,27 @@ class MessageLookup extends MessageLookupByLibrary {
"nmpSettingsSubTitleDescription": MessageLookupByLibrary.simpleMessage(
"The subtitle of the notification\n",
),
"nmpSettingsTitle":
MessageLookupByLibrary.simpleMessage("Primary Title"),
"nmpSettingsTitle": MessageLookupByLibrary.simpleMessage("Primary Title"),
"nmpSettingsTitleDescription": MessageLookupByLibrary.simpleMessage(
"The title of the notification\n",
),
"no": MessageLookupByLibrary.simpleMessage("No"),
"notImplemented":
MessageLookupByLibrary.simpleMessage("Not implemented"),
"notImplemented": MessageLookupByLibrary.simpleMessage("Not implemented"),
"notificationMediaPlayer": MessageLookupByLibrary.simpleMessage(
"Notification Media Player",
),
"notificationMediaPlayerDescription":
MessageLookupByLibrary.simpleMessage(
"notificationMediaPlayerDescription": MessageLookupByLibrary.simpleMessage(
"Customize the media player in notifications",
),
"ok": MessageLookupByLibrary.simpleMessage("OK"),
"pause": MessageLookupByLibrary.simpleMessage("Pause"),
"play": MessageLookupByLibrary.simpleMessage("Play"),
"playerSettings":
MessageLookupByLibrary.simpleMessage("Player Settings"),
"playerSettings": MessageLookupByLibrary.simpleMessage("Player Settings"),
"playerSettingsCompleteTime": MessageLookupByLibrary.simpleMessage(
"Mark Complete When Time Left",
),
"playerSettingsCompleteTimeDescriptionHead":
MessageLookupByLibrary.simpleMessage(
"Mark complete when less than "),
MessageLookupByLibrary.simpleMessage("Mark complete when less than "),
"playerSettingsCompleteTimeDescriptionTail":
MessageLookupByLibrary.simpleMessage(" left in the book"),
"playerSettingsDescription": MessageLookupByLibrary.simpleMessage(
@ -321,8 +307,7 @@ class MessageLookup extends MessageLookupByLibrary {
MessageLookupByLibrary.simpleMessage(
"Show the progress of the current chapter in the player",
),
"playerSettingsDisplayTotalProgress":
MessageLookupByLibrary.simpleMessage(
"playerSettingsDisplayTotalProgress": MessageLookupByLibrary.simpleMessage(
"Show Total Progress",
),
"playerSettingsDisplayTotalProgressDescription":
@ -351,8 +336,7 @@ class MessageLookup extends MessageLookupByLibrary {
),
"playerSettingsPlaybackReportingMinimumDescriptionTail":
MessageLookupByLibrary.simpleMessage("of the book"),
"playerSettingsRememberForEveryBook":
MessageLookupByLibrary.simpleMessage(
"playerSettingsRememberForEveryBook": MessageLookupByLibrary.simpleMessage(
"Remember Player Settings for Every Book",
),
"playerSettingsRememberForEveryBookDescription":
@ -366,17 +350,14 @@ class MessageLookup extends MessageLookupByLibrary {
"playerSettingsSpeedOptions": MessageLookupByLibrary.simpleMessage(
"Speed Options",
),
"playerSettingsSpeedOptionsSelect":
MessageLookupByLibrary.simpleMessage(
"playerSettingsSpeedOptionsSelect": MessageLookupByLibrary.simpleMessage(
"Select Speed Options",
),
"playerSettingsSpeedOptionsSelectAdd":
MessageLookupByLibrary.simpleMessage(
"playerSettingsSpeedOptionsSelectAdd": MessageLookupByLibrary.simpleMessage(
"Add Speed Option",
),
"playerSettingsSpeedOptionsSelectAddHelper":
MessageLookupByLibrary.simpleMessage(
"Enter a new speed option to add"),
MessageLookupByLibrary.simpleMessage("Enter a new speed option to add"),
"playerSettingsSpeedSelect": MessageLookupByLibrary.simpleMessage(
"Select Speed",
),
@ -424,8 +405,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shakeActivationThreshold": MessageLookupByLibrary.simpleMessage(
"Shake Activation Threshold",
),
"shakeActivationThresholdDescription":
MessageLookupByLibrary.simpleMessage(
"shakeActivationThresholdDescription": MessageLookupByLibrary.simpleMessage(
"The higher the threshold, the harder you need to shake",
),
"shakeDetector": MessageLookupByLibrary.simpleMessage("Shake Detector"),
@ -463,8 +443,7 @@ class MessageLookup extends MessageLookupByLibrary {
"themeModeHighContrast": MessageLookupByLibrary.simpleMessage(
"High Contrast Mode",
),
"themeModeHighContrastDescription":
MessageLookupByLibrary.simpleMessage(
"themeModeHighContrastDescription": MessageLookupByLibrary.simpleMessage(
"Increase the contrast between the background and the text",
),
"themeModeLight": MessageLookupByLibrary.simpleMessage("Light"),
@ -479,8 +458,7 @@ class MessageLookup extends MessageLookupByLibrary {
"themeSettingsColorsBook": MessageLookupByLibrary.simpleMessage(
"Adaptive Theme on Item Page",
),
"themeSettingsColorsBookDescription":
MessageLookupByLibrary.simpleMessage(
"themeSettingsColorsBookDescription": MessageLookupByLibrary.simpleMessage(
"Get fancy with the colors on the item page at the cost of some performance",
),
"themeSettingsColorsCurrent": MessageLookupByLibrary.simpleMessage(

View file

@ -50,8 +50,7 @@ class MessageLookup extends MessageLookupByLibrary {
"accountDeleteServer": MessageLookupByLibrary.simpleMessage("删除服务器"),
"accountInvalidURL": MessageLookupByLibrary.simpleMessage("无效网址"),
"accountManage": MessageLookupByLibrary.simpleMessage("帐户管理"),
"accountRegisteredServers":
MessageLookupByLibrary.simpleMessage("已注册服务器"),
"accountRegisteredServers": MessageLookupByLibrary.simpleMessage("已注册服务器"),
"accountRemoveServerAndUsers": MessageLookupByLibrary.simpleMessage(
"删除服务器和用户",
),
@ -61,8 +60,7 @@ class MessageLookup extends MessageLookupByLibrary {
"accountRemoveServerAndUsersTail": MessageLookupByLibrary.simpleMessage(
" 以及该应用程序中所有用户的登录信息。",
),
"accountRemoveUserLogin":
MessageLookupByLibrary.simpleMessage("删除用户登录"),
"accountRemoveUserLogin": MessageLookupByLibrary.simpleMessage("删除用户登录"),
"accountRemoveUserLoginHead": MessageLookupByLibrary.simpleMessage(
"这将删除用户 ",
),
@ -74,15 +72,11 @@ class MessageLookup extends MessageLookupByLibrary {
"accountUsersCount": m1,
"appSettings": MessageLookupByLibrary.simpleMessage("应用设置"),
"appearance": MessageLookupByLibrary.simpleMessage("外观"),
"autoSleepTimerSettings":
MessageLookupByLibrary.simpleMessage("自动睡眠定时器设置"),
"autoTurnOnSleepTimer":
MessageLookupByLibrary.simpleMessage("自动开启睡眠定时器"),
"autoSleepTimerSettings": MessageLookupByLibrary.simpleMessage("自动睡眠定时器设置"),
"autoTurnOnSleepTimer": MessageLookupByLibrary.simpleMessage("自动开启睡眠定时器"),
"autoTurnOnTimer": MessageLookupByLibrary.simpleMessage("自动开启定时器"),
"autoTurnOnTimerAlways":
MessageLookupByLibrary.simpleMessage("始终自动开启定时器"),
"autoTurnOnTimerAlwaysDescription":
MessageLookupByLibrary.simpleMessage(
"autoTurnOnTimerAlways": MessageLookupByLibrary.simpleMessage("始终自动开启定时器"),
"autoTurnOnTimerAlwaysDescription": MessageLookupByLibrary.simpleMessage(
"总是打开睡眠定时器",
),
"autoTurnOnTimerDescription": MessageLookupByLibrary.simpleMessage(
@ -118,8 +112,7 @@ class MessageLookup extends MessageLookupByLibrary {
"copyToClipboardDescription": MessageLookupByLibrary.simpleMessage(
"将应用程序设置复制到剪贴板",
),
"copyToClipboardToast":
MessageLookupByLibrary.simpleMessage("设置已复制到剪贴板"),
"copyToClipboardToast": MessageLookupByLibrary.simpleMessage("设置已复制到剪贴板"),
"delete": MessageLookupByLibrary.simpleMessage("删除"),
"deleteDialog": m2,
"deleted": m3,
@ -129,13 +122,11 @@ class MessageLookup extends MessageLookupByLibrary {
"general": MessageLookupByLibrary.simpleMessage("通用"),
"help": MessageLookupByLibrary.simpleMessage("Help"),
"home": MessageLookupByLibrary.simpleMessage("首页"),
"homeBookContinueListening":
MessageLookupByLibrary.simpleMessage("继续收听"),
"homeBookContinueListening": MessageLookupByLibrary.simpleMessage("继续收听"),
"homeBookContinueListeningDescription":
MessageLookupByLibrary.simpleMessage("继续收听书架上显示播放按钮"),
"homeBookContinueSeries": MessageLookupByLibrary.simpleMessage("继续系列"),
"homeBookContinueSeriesDescription":
MessageLookupByLibrary.simpleMessage(
"homeBookContinueSeriesDescription": MessageLookupByLibrary.simpleMessage(
"继续系列书架上显示播放按钮",
),
"homeBookDiscover": MessageLookupByLibrary.simpleMessage("发现"),
@ -157,8 +148,7 @@ class MessageLookup extends MessageLookupByLibrary {
),
"homePageSettingsOtherShelvesDescription":
MessageLookupByLibrary.simpleMessage("显示所有剩余书架上所有书籍的播放按钮"),
"homePageSettingsQuickPlay":
MessageLookupByLibrary.simpleMessage("继续播放"),
"homePageSettingsQuickPlay": MessageLookupByLibrary.simpleMessage("继续播放"),
"homeStartListening": MessageLookupByLibrary.simpleMessage("开始收听"),
"language": MessageLookupByLibrary.simpleMessage("语言"),
"languageDescription": MessageLookupByLibrary.simpleMessage("语言切换"),
@ -175,8 +165,7 @@ class MessageLookup extends MessageLookupByLibrary {
"loginOpenID": MessageLookupByLibrary.simpleMessage("OpenID"),
"loginPassword": MessageLookupByLibrary.simpleMessage("密码"),
"loginServerClick": MessageLookupByLibrary.simpleMessage("单击此处"),
"loginServerConnected":
MessageLookupByLibrary.simpleMessage("服务器已连接,请登录"),
"loginServerConnected": MessageLookupByLibrary.simpleMessage("服务器已连接,请登录"),
"loginServerNo": MessageLookupByLibrary.simpleMessage("没有服务器? "),
"loginServerNoConnected": MessageLookupByLibrary.simpleMessage(
"请输入您的AudiobookShelf服务器的URL",
@ -189,10 +178,8 @@ class MessageLookup extends MessageLookupByLibrary {
"logs": MessageLookupByLibrary.simpleMessage("日志"),
"nmpSettingsBackward": MessageLookupByLibrary.simpleMessage("快退间隔"),
"nmpSettingsForward": MessageLookupByLibrary.simpleMessage("快进间隔"),
"nmpSettingsMediaControls":
MessageLookupByLibrary.simpleMessage("媒体控制"),
"nmpSettingsMediaControlsDescription":
MessageLookupByLibrary.simpleMessage(
"nmpSettingsMediaControls": MessageLookupByLibrary.simpleMessage("媒体控制"),
"nmpSettingsMediaControlsDescription": MessageLookupByLibrary.simpleMessage(
"选择要显示的媒体控件",
),
"nmpSettingsSelectOne": MessageLookupByLibrary.simpleMessage(
@ -213,10 +200,8 @@ class MessageLookup extends MessageLookupByLibrary {
),
"no": MessageLookupByLibrary.simpleMessage(""),
"notImplemented": MessageLookupByLibrary.simpleMessage("未实现"),
"notificationMediaPlayer":
MessageLookupByLibrary.simpleMessage("通知媒体播放器"),
"notificationMediaPlayerDescription":
MessageLookupByLibrary.simpleMessage(
"notificationMediaPlayer": MessageLookupByLibrary.simpleMessage("通知媒体播放器"),
"notificationMediaPlayerDescription": MessageLookupByLibrary.simpleMessage(
"在通知中自定义媒体播放器",
),
"ok": MessageLookupByLibrary.simpleMessage("确定"),
@ -238,8 +223,7 @@ class MessageLookup extends MessageLookupByLibrary {
MessageLookupByLibrary.simpleMessage("显示章节进度"),
"playerSettingsDisplayChapterProgressDescription":
MessageLookupByLibrary.simpleMessage("在播放器中显示当前章节的进度"),
"playerSettingsDisplayTotalProgress":
MessageLookupByLibrary.simpleMessage(
"playerSettingsDisplayTotalProgress": MessageLookupByLibrary.simpleMessage(
"显示总进度",
),
"playerSettingsDisplayTotalProgressDescription":
@ -262,8 +246,7 @@ class MessageLookup extends MessageLookupByLibrary {
MessageLookupByLibrary.simpleMessage("不要报告本书前 "),
"playerSettingsPlaybackReportingMinimumDescriptionTail":
MessageLookupByLibrary.simpleMessage(" 的播放"),
"playerSettingsRememberForEveryBook":
MessageLookupByLibrary.simpleMessage(
"playerSettingsRememberForEveryBook": MessageLookupByLibrary.simpleMessage(
"记住每本书的播放器设置",
),
"playerSettingsRememberForEveryBookDescription":
@ -275,18 +258,15 @@ class MessageLookup extends MessageLookupByLibrary {
"playerSettingsSpeedOptions": MessageLookupByLibrary.simpleMessage(
"播放速度选项",
),
"playerSettingsSpeedOptionsSelect":
MessageLookupByLibrary.simpleMessage(
"playerSettingsSpeedOptionsSelect": MessageLookupByLibrary.simpleMessage(
"播放速度选项",
),
"playerSettingsSpeedOptionsSelectAdd":
MessageLookupByLibrary.simpleMessage(
"playerSettingsSpeedOptionsSelectAdd": MessageLookupByLibrary.simpleMessage(
"添加一个速度选项",
),
"playerSettingsSpeedOptionsSelectAddHelper":
MessageLookupByLibrary.simpleMessage("输入一个新的速度选项"),
"playerSettingsSpeedSelect":
MessageLookupByLibrary.simpleMessage("选择播放速度"),
"playerSettingsSpeedSelect": MessageLookupByLibrary.simpleMessage("选择播放速度"),
"playerSettingsSpeedSelectHelper": MessageLookupByLibrary.simpleMessage(
"输入默认的播放速度",
),
@ -307,10 +287,8 @@ class MessageLookup extends MessageLookupByLibrary {
"restoreBackupHint": MessageLookupByLibrary.simpleMessage("将备份粘贴到此处"),
"restoreBackupInvalid": MessageLookupByLibrary.simpleMessage("无效备份"),
"restoreBackupSuccess": MessageLookupByLibrary.simpleMessage("设置已恢复"),
"restoreBackupValidator":
MessageLookupByLibrary.simpleMessage("请将备份粘贴到此处"),
"restoreDescription":
MessageLookupByLibrary.simpleMessage("从备份中还原应用程序设置"),
"restoreBackupValidator": MessageLookupByLibrary.simpleMessage("请将备份粘贴到此处"),
"restoreDescription": MessageLookupByLibrary.simpleMessage("从备份中还原应用程序设置"),
"resume": MessageLookupByLibrary.simpleMessage("继续"),
"retry": MessageLookupByLibrary.simpleMessage("重试"),
"settings": MessageLookupByLibrary.simpleMessage("设置"),
@ -318,10 +296,8 @@ class MessageLookup extends MessageLookupByLibrary {
"shakeActionDescription": MessageLookupByLibrary.simpleMessage(
"检测到抖动时要执行的操作",
),
"shakeActivationThreshold":
MessageLookupByLibrary.simpleMessage("抖动激活阈值"),
"shakeActivationThresholdDescription":
MessageLookupByLibrary.simpleMessage(
"shakeActivationThreshold": MessageLookupByLibrary.simpleMessage("抖动激活阈值"),
"shakeActivationThresholdDescription": MessageLookupByLibrary.simpleMessage(
"门槛越高,你就越难摇晃",
),
"shakeDetector": MessageLookupByLibrary.simpleMessage("抖动检测器"),
@ -332,8 +308,7 @@ class MessageLookup extends MessageLookupByLibrary {
"shakeDetectorEnableDescription": MessageLookupByLibrary.simpleMessage(
"启用抖动检测以执行各种操作",
),
"shakeDetectorSettings":
MessageLookupByLibrary.simpleMessage("抖动检测器设置"),
"shakeDetectorSettings": MessageLookupByLibrary.simpleMessage("抖动检测器设置"),
"shakeFeedback": MessageLookupByLibrary.simpleMessage("抖动反馈"),
"shakeFeedbackDescription": MessageLookupByLibrary.simpleMessage(
"检测到抖动时给出的反馈",
@ -348,21 +323,18 @@ class MessageLookup extends MessageLookupByLibrary {
"themeMode": MessageLookupByLibrary.simpleMessage("主题模式"),
"themeModeDark": MessageLookupByLibrary.simpleMessage("深色"),
"themeModeHighContrast": MessageLookupByLibrary.simpleMessage("高对比度模式"),
"themeModeHighContrastDescription":
MessageLookupByLibrary.simpleMessage(
"themeModeHighContrastDescription": MessageLookupByLibrary.simpleMessage(
"增加背景和文本之间的对比度",
),
"themeModeLight": MessageLookupByLibrary.simpleMessage("浅色"),
"themeModeSystem": MessageLookupByLibrary.simpleMessage("跟随系统"),
"themeSettings": MessageLookupByLibrary.simpleMessage("主题设置"),
"themeSettingsColors": MessageLookupByLibrary.simpleMessage("主题色"),
"themeSettingsColorsAndroid":
MessageLookupByLibrary.simpleMessage("主题色"),
"themeSettingsColorsAndroid": MessageLookupByLibrary.simpleMessage("主题色"),
"themeSettingsColorsBook": MessageLookupByLibrary.simpleMessage(
"书籍详情页自适应主题",
),
"themeSettingsColorsBookDescription":
MessageLookupByLibrary.simpleMessage(
"themeSettingsColorsBookDescription": MessageLookupByLibrary.simpleMessage(
"以牺牲一些性能为代价,对书籍详情页的颜色进行美化",
),
"themeSettingsColorsCurrent": MessageLookupByLibrary.simpleMessage(
@ -373,8 +345,7 @@ class MessageLookup extends MessageLookupByLibrary {
"themeSettingsColorsDescription": MessageLookupByLibrary.simpleMessage(
"使用应用程序的系统主题色",
),
"themeSettingsDescription":
MessageLookupByLibrary.simpleMessage("自定义应用主题"),
"themeSettingsDescription": MessageLookupByLibrary.simpleMessage("自定义应用主题"),
"timeSecond": m7,
"unknown": MessageLookupByLibrary.simpleMessage("未知"),
"webVersion": MessageLookupByLibrary.simpleMessage("Web版本"),

View file

@ -116,20 +116,16 @@ class ScaffoldWithNavBar extends HookConsumerWidget {
}
Widget? buildNavBottom(BuildContext context, WidgetRef ref) {
final size = MediaQuery.of(context).size;
final playerProgress = ref.watch(playerHeightProvider);
final playerMaxHeight = size.height;
var percentExpandedMiniPlayer = (playerProgress - playerMinHeight) /
(playerMaxHeight - playerMinHeight);
// final size = MediaQuery.of(context).size;
// final playerProgress = ref.watch(playerHeightProvider);
// final playerMaxHeight = size.height;
// var percentExpandedMiniPlayer = (playerProgress - playerMinHeight) /
// (playerMaxHeight - playerMinHeight);
// Clamp the value between 0 and 1
percentExpandedMiniPlayer = percentExpandedMiniPlayer.clamp(0.0, 1.0);
return percentExpandedMiniPlayer != 1
? Opacity(
// Opacity is interpolated from 1 to 0 when player is expanded
opacity: 1 - percentExpandedMiniPlayer,
child: NavigationBar(
// percentExpandedMiniPlayer = percentExpandedMiniPlayer.clamp(0.0, 1.0);
return NavigationBar(
elevation: 0.0,
height: bottomBarHeight * (1 - percentExpandedMiniPlayer),
height: bottomBarHeight.toDouble(),
// TODO: get destinations from the navigationShell
// Here, the items of BottomNavigationBar are hard coded. In a real
@ -138,8 +134,7 @@ class ScaffoldWithNavBar extends HookConsumerWidget {
// `navigationShell.route.branches`.
destinations: _navigationItems(context).map((item) {
final isDestinationLibrary = item.name == S.of(context).library;
var currentLibrary =
ref.watch(currentLibraryProvider).valueOrNull;
var currentLibrary = ref.watch(currentLibraryProvider).valueOrNull;
final libraryIcon = AbsIcons.getIconByName(
currentLibrary?.icon,
);
@ -161,8 +156,7 @@ class ScaffoldWithNavBar extends HookConsumerWidget {
return GestureDetector(
onSecondaryTap: () => showLibrarySwitcher(context, ref),
onDoubleTap: () => showLibrarySwitcher(context, ref),
child:
destinationWidget, // Wrap the actual NavigationDestination
child: destinationWidget, // Wrap the actual NavigationDestination
);
} else {
// Return the unwrapped destination for other items
@ -171,9 +165,7 @@ class ScaffoldWithNavBar extends HookConsumerWidget {
}).toList(),
selectedIndex: navigationShell.currentIndex,
onDestinationSelected: (int index) => _onTap(context, index, ref),
),
)
: null;
);
}
List<_NavigationItem> _navigationItems(BuildContext context) {