aves/lib/widgets/settings/thumbnails/thumbnails.dart
2023-01-05 17:15:00 +01:00

55 lines
1.9 KiB
Dart

import 'package:aves/model/settings/settings.dart';
import 'package:aves/theme/colors.dart';
import 'package:aves/theme/icons.dart';
import 'package:aves/widgets/common/extensions/build_context.dart';
import 'package:aves/widgets/settings/common/tile_leading.dart';
import 'package:aves/widgets/settings/common/tiles.dart';
import 'package:aves/widgets/settings/settings_definition.dart';
import 'package:aves/widgets/settings/thumbnails/collection_actions_editor_page.dart';
import 'package:aves/widgets/settings/thumbnails/overlay.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class ThumbnailsSection extends SettingsSection {
@override
String get key => 'thumbnails';
@override
Widget icon(BuildContext context) => SettingsTileLeading(
icon: AIcons.grid,
color: context.select<AvesColorsData, Color>((v) => v.thumbnails),
);
@override
String title(BuildContext context) => context.l10n.settingsThumbnailSectionTitle;
@override
List<SettingsTile> tiles(BuildContext context) => [
if (!settings.useTvLayout) SettingsTileCollectionQuickActions(),
SettingsTileThumbnailOverlay(),
];
}
class SettingsTileCollectionQuickActions extends SettingsTile {
@override
String title(BuildContext context) => context.l10n.settingsCollectionQuickActionsTile;
@override
Widget build(BuildContext context) => SettingsSubPageTile(
title: title(context),
routeName: CollectionActionEditorPage.routeName,
builder: (context) => const CollectionActionEditorPage(),
);
}
class SettingsTileThumbnailOverlay extends SettingsTile {
@override
String title(BuildContext context) => context.l10n.settingsThumbnailOverlayTile;
@override
Widget build(BuildContext context) => SettingsSubPageTile(
title: title(context),
routeName: ThumbnailOverlayPage.routeName,
builder: (context) => const ThumbnailOverlayPage(),
);
}