implemented a central haptic feedback system with configurable levels (off, reduced, full), added a Haptics facade providing semantic feedback methods, integrated haptic cues across navigation, settings toggles, and async action results, and updated version to 1.1.0+54

This commit is contained in:
2026-05-30 13:54:19 +02:00
parent 01b4b44010
commit ece0669f7d
26 changed files with 308 additions and 75 deletions
@@ -6,6 +6,7 @@ import 'package:hydrated_bloc/hydrated_bloc.dart';
import '../../../../routing/app_routes.dart';
import '../../../../state/app/modules/settings/bloc/settings_cubit.dart';
import '../../../../storage/settings.dart' as model;
import '../../../../utils/haptics.dart';
import '../../../../widget/centered_leading.dart';
import '../../../../widget/confirm_dialog.dart';
import '../../../../widget/debug/cache_view.dart';
@@ -45,12 +46,13 @@ class _DevToolsSectionState extends State<DevToolsSection> {
title: const Text('Performance graph'),
trailing: Checkbox(
value: dev.showPerformanceOverlay,
onChanged: (e) =>
widget.settings
.val(write: true)
.devToolsSettings
.showPerformanceOverlay =
e!,
onChanged: (e) {
Haptics.selection();
widget.settings
.val(write: true)
.devToolsSettings
.showPerformanceOverlay = e!;
},
),
),
ListTile(
@@ -60,12 +62,13 @@ class _DevToolsSectionState extends State<DevToolsSection> {
title: const Text('Indicate offscreen layers'),
trailing: Checkbox(
value: dev.checkerboardOffscreenLayers,
onChanged: (e) =>
widget.settings
.val(write: true)
.devToolsSettings
.checkerboardOffscreenLayers =
e!,
onChanged: (e) {
Haptics.selection();
widget.settings
.val(write: true)
.devToolsSettings
.checkerboardOffscreenLayers = e!;
},
),
),
ListTile(
@@ -73,12 +76,13 @@ class _DevToolsSectionState extends State<DevToolsSection> {
title: const Text('Indicate raster cache images'),
trailing: Checkbox(
value: dev.checkerboardRasterCacheImages,
onChanged: (e) =>
widget.settings
.val(write: true)
.devToolsSettings
.checkerboardRasterCacheImages =
e!,
onChanged: (e) {
Haptics.selection();
widget.settings
.val(write: true)
.devToolsSettings
.checkerboardRasterCacheImages = e!;
},
),
),
],