extract SettingsCheckboxTile for settings toggles

This commit is contained in:
2026-07-12 23:41:12 +02:00
parent dfce3e7b5c
commit 4aa31a2e44
5 changed files with 133 additions and 140 deletions
@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import '../../../../state/app/modules/settings/bloc/settings_cubit.dart';
import '../../../../utils/haptics.dart';
import '../widgets/settings_checkbox_tile.dart';
class FilesSection extends StatelessWidget {
const FilesSection({super.key});
@@ -12,30 +12,20 @@ class FilesSection extends StatelessWidget {
final settings = context.watch<SettingsCubit>();
return Column(
children: [
ListTile(
leading: const Icon(Icons.drive_folder_upload_outlined),
title: const Text('Ordner in Dateien nach oben sortieren'),
trailing: Checkbox(
value: settings.val().fileSettings.sortFoldersToTop,
onChanged: (e) {
Haptics.selection();
settings.val(write: true).fileSettings.sortFoldersToTop = e!;
},
),
SettingsCheckboxTile(
icon: Icons.drive_folder_upload_outlined,
title: 'Ordner in Dateien nach oben sortieren',
value: settings.val().fileSettings.sortFoldersToTop,
onChanged: (e) =>
settings.val(write: true).fileSettings.sortFoldersToTop = e,
),
ListTile(
leading: const Icon(Icons.open_in_new_outlined),
title: const Text('Dateien immer mit Systemdialog öffnen'),
trailing: Checkbox(
value: settings.val().fileViewSettings.alwaysOpenExternally,
onChanged: (e) {
Haptics.selection();
settings
.val(write: true)
.fileViewSettings
.alwaysOpenExternally = e!;
},
),
SettingsCheckboxTile(
icon: Icons.open_in_new_outlined,
title: 'Dateien immer mit Systemdialog öffnen',
value: settings.val().fileViewSettings.alwaysOpenExternally,
onChanged: (e) =>
settings.val(write: true).fileViewSettings.alwaysOpenExternally =
e,
),
],
);