diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 60779ac..fe09e62 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -1294,6 +1294,7 @@ "usePostersForLibraryIconsDesc": "Show posters instead of icons for libraries", "offline": "Offline", "shortCuts": "Shortcuts", + "keyboardShortCuts": "Keyboard shortcuts", "skipForwardLength": "Skip forward length", "skipBackLength": "Skip back length", "playPause": "Play/Pause", diff --git a/lib/screens/settings/player_settings_page.dart b/lib/screens/settings/player_settings_page.dart index c8d3fae..13b0a3c 100644 --- a/lib/screens/settings/player_settings_page.dart +++ b/lib/screens/settings/player_settings_page.dart @@ -206,29 +206,36 @@ class _PlayerSettingsPageState extends ConsumerState { )), ), if (AdaptiveLayout.inputDeviceOf(context) == InputDevice.pointer) - ...VideoHotKeys.values.map( - (entry) => Padding( - padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), - child: Row( - children: [ - Expanded( - child: Text( - entry.label(context), - style: Theme.of(context).textTheme.titleLarge, - ), - ), - Flexible( - child: KeyCombinationWidget( - currentKey: videoSettings.hotKeys[entry], - defaultKey: videoSettings.defaultShortCuts[entry]!, - onChanged: (value) => - ref.read(videoPlayerSettingsProvider.notifier).setShortcuts(MapEntry(entry, value)), - ), - ) - ], - ), + ExpansionTile( + title: Text( + context.localized.keyboardShortCuts, + style: Theme.of(context).textTheme.titleLarge, ), - ) + children: VideoHotKeys.values.map( + (entry) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), + child: Row( + children: [ + Expanded( + child: Text( + entry.label(context), + style: Theme.of(context).textTheme.titleMedium, + ), + ), + Flexible( + child: KeyCombinationWidget( + currentKey: videoSettings.hotKeys[entry], + defaultKey: videoSettings.defaultShortCuts[entry]!, + onChanged: (value) => ref + .read(videoPlayerSettingsProvider.notifier) + .setShortcuts(MapEntry(entry, value)), + ), + ), + ], + ), + ), + ).toList(), + ), ], ), const SizedBox(height: 12), diff --git a/lib/screens/shared/media/components/poster_image.dart b/lib/screens/shared/media/components/poster_image.dart index e724df3..3e41267 100644 --- a/lib/screens/shared/media/components/poster_image.dart +++ b/lib/screens/shared/media/components/poster_image.dart @@ -1,3 +1,4 @@ +import 'package:fladder/models/items/movie_model.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; @@ -200,22 +201,6 @@ class _PosterImageState extends ConsumerState { ], ), ), - if (widget.poster.unWatched) - Align( - alignment: Alignment.topLeft, - child: StatusCard( - color: Colors.amber, - child: Padding( - padding: const EdgeInsets.all(10), - child: Container( - decoration: const BoxDecoration( - shape: BoxShape.circle, - color: Colors.amber, - ), - ), - ), - ), - ), if (widget.inlineTitle) IgnorePointer( child: Align( @@ -230,7 +215,8 @@ class _PosterImageState extends ConsumerState { ), ), ), - if (widget.poster.unPlayedItemCount != null && widget.poster is SeriesModel) + if ((widget.poster.unPlayedItemCount != null && widget.poster is SeriesModel) + || (widget.poster is MovieModel && !widget.poster.unWatched)) IgnorePointer( child: Align( alignment: Alignment.topRight, diff --git a/lib/theme.dart b/lib/theme.dart index 5b390af..a50d2d6 100644 --- a/lib/theme.dart +++ b/lib/theme.dart @@ -53,6 +53,10 @@ class FladderTheme { margin: EdgeInsets.zero, shape: smallShape, ), + expansionTileTheme: ExpansionTileThemeData( + shape: RoundedRectangleBorder(borderRadius: FladderTheme.defaultShape.borderRadius), + collapsedShape: RoundedRectangleBorder(borderRadius: FladderTheme.defaultShape.borderRadius), + ), progressIndicatorTheme: const ProgressIndicatorThemeData(), floatingActionButtonTheme: FloatingActionButtonThemeData( backgroundColor: scheme?.secondaryContainer, @@ -62,7 +66,7 @@ class FladderTheme { snackBarTheme: SnackBarThemeData( backgroundColor: scheme?.secondary, behavior: SnackBarBehavior.fixed, - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + shape: RoundedRectangleBorder(borderRadius: FladderTheme.defaultShape.borderRadius), elevation: 5, dismissDirection: DismissDirection.horizontal, ), diff --git a/lib/widgets/shared/progress_floating_button.dart b/lib/widgets/shared/progress_floating_button.dart index 77df98a..306a09c 100644 --- a/lib/widgets/shared/progress_floating_button.dart +++ b/lib/widgets/shared/progress_floating_button.dart @@ -158,7 +158,7 @@ class _ProgressFloatingButtonState extends ConsumerState } : null, child: FloatingActionButton( - heroTag: "Progress_Floating_Button", + heroTag: null, onPressed: isActive ? timer.cancel : timer.play, child: Stack( fit: StackFit.expand,