diff --git a/lib/widgets/collection/collection_grid.dart b/lib/widgets/collection/collection_grid.dart index b82d43022..7ff185e0d 100644 --- a/lib/widgets/collection/collection_grid.dart +++ b/lib/widgets/collection/collection_grid.dart @@ -513,6 +513,7 @@ class _CollectionScrollViewState extends State<_CollectionScrollView> with Widge : const SectionedListSliver(), const NavBarPaddingSliver(), const BottomPaddingSliver(), + const TvTileGridBottomPaddingSliver(), ], ); } diff --git a/lib/widgets/common/basic/insets.dart b/lib/widgets/common/basic/insets.dart index f10133933..33e91eb0b 100644 --- a/lib/widgets/common/basic/insets.dart +++ b/lib/widgets/common/basic/insets.dart @@ -1,4 +1,6 @@ +import 'package:aves/model/device.dart'; import 'package:aves/widgets/common/extensions/media_query.dart'; +import 'package:aves/widgets/common/tile_extent_controller.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -113,3 +115,16 @@ class BottomPaddingSliver extends StatelessWidget { ); } } + +class TvTileGridBottomPaddingSliver extends StatelessWidget { + const TvTileGridBottomPaddingSliver({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return SliverToBoxAdapter( + child: SizedBox( + height: device.isTelevision ? context.select((controller) => controller.spacing) : 0, + ), + ); + } +} diff --git a/lib/widgets/common/identity/aves_filter_chip.dart b/lib/widgets/common/identity/aves_filter_chip.dart index 78a7122ca..20dc4c134 100644 --- a/lib/widgets/common/identity/aves_filter_chip.dart +++ b/lib/widgets/common/identity/aves_filter_chip.dart @@ -4,6 +4,7 @@ import 'dart:math'; import 'package:aves/app_mode.dart'; import 'package:aves/model/actions/chip_actions.dart'; import 'package:aves/model/covers.dart'; +import 'package:aves/model/device.dart'; import 'package:aves/model/filters/album.dart'; import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/filters/location.dart'; @@ -59,9 +60,10 @@ class AvesFilterChip extends StatefulWidget { static const double minChipHeight = kMinInteractiveDimension; static const double minChipWidth = 80; static const double iconSize = 18; - static const double fontSize = 14; static const double decoratedContentVerticalPadding = 5; + static double get fontSize => device.isTelevision ? 18 : 14; + const AvesFilterChip({ super.key, required this.filter, diff --git a/lib/widgets/dialogs/entry_editors/tag_editor_page.dart b/lib/widgets/dialogs/entry_editors/tag_editor_page.dart index 96d961f02..ffe8283ef 100644 --- a/lib/widgets/dialogs/entry_editors/tag_editor_page.dart +++ b/lib/widgets/dialogs/entry_editors/tag_editor_page.dart @@ -306,7 +306,7 @@ class _TagCount extends StatelessWidget { ), child: Text( '$count', - style: const TextStyle(fontSize: AvesFilterChip.fontSize), + style: TextStyle(fontSize: AvesFilterChip.fontSize), ), ); } diff --git a/lib/widgets/filter_grids/common/action_delegates/album_set.dart b/lib/widgets/filter_grids/common/action_delegates/album_set.dart index 91f9942a5..86a629abe 100644 --- a/lib/widgets/filter_grids/common/action_delegates/album_set.dart +++ b/lib/widgets/filter_grids/common/action_delegates/album_set.dart @@ -75,7 +75,7 @@ class AlbumChipSetActionDelegate extends ChipSetActionDelegate with }) { switch (action) { case ChipSetAction.createAlbum: - return appMode == AppMode.main && !isSelecting; + return !device.isReadOnly && appMode == AppMode.main && !isSelecting; case ChipSetAction.delete: case ChipSetAction.rename: return !device.isReadOnly && appMode == AppMode.main && isSelecting; diff --git a/lib/widgets/filter_grids/common/filter_grid_page.dart b/lib/widgets/filter_grids/common/filter_grid_page.dart index 8f9630514..855847d60 100644 --- a/lib/widgets/filter_grids/common/filter_grid_page.dart +++ b/lib/widgets/filter_grids/common/filter_grid_page.dart @@ -664,6 +664,7 @@ class _FilterScrollView extends StatelessWidget { }), const NavBarPaddingSliver(), const BottomPaddingSliver(), + const TvTileGridBottomPaddingSliver(), ], ); } diff --git a/lib/widgets/settings/viewer/viewer.dart b/lib/widgets/settings/viewer/viewer.dart index 74a582080..74bd92888 100644 --- a/lib/widgets/settings/viewer/viewer.dart +++ b/lib/widgets/settings/viewer/viewer.dart @@ -34,7 +34,7 @@ class ViewerSection extends SettingsSection { FutureOr> tiles(BuildContext context) async { final canSetCutoutMode = await windowService.canSetCutoutMode(); return [ - SettingsTileViewerQuickActions(), + if (!device.isTelevision) SettingsTileViewerQuickActions(), SettingsTileViewerOverlay(), SettingsTileViewerSlideshow(), if (!device.isTelevision) SettingsTileViewerGestureSideTapNext(), diff --git a/lib/widgets/viewer/overlay/slideshow_buttons.dart b/lib/widgets/viewer/overlay/slideshow_buttons.dart index 091332761..52a6612ce 100644 --- a/lib/widgets/viewer/overlay/slideshow_buttons.dart +++ b/lib/widgets/viewer/overlay/slideshow_buttons.dart @@ -14,6 +14,7 @@ class SlideshowButtons extends StatelessWidget { @override Widget build(BuildContext context) { + // TODO TLAD [tv] action buttons const padding = ViewerButtonRowContent.padding; return SafeArea( child: Padding(