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
@@ -3,6 +3,7 @@ import 'package:flutter_bloc/flutter_bloc.dart';
import '../../../../notification/notify_updater.dart';
import '../../../../state/app/modules/settings/bloc/settings_cubit.dart';
import '../../../../utils/haptics.dart';
import '../../../../widget/centered_leading.dart';
import '../../../../widget/info_dialog.dart';
@@ -21,8 +22,10 @@ class TalkSection extends StatelessWidget {
title: const Text('Favoriten im Talk nach oben sortieren'),
trailing: Checkbox(
value: talkSettings.sortFavoritesToTop,
onChanged: (e) =>
settings.val(write: true).talkSettings.sortFavoritesToTop = e!,
onChanged: (e) {
Haptics.selection();
settings.val(write: true).talkSettings.sortFavoritesToTop = e!;
},
),
),
ListTile(
@@ -30,8 +33,10 @@ class TalkSection extends StatelessWidget {
title: const Text('Ungelesene Chats nach oben sortieren'),
trailing: Checkbox(
value: talkSettings.sortUnreadToTop,
onChanged: (e) =>
settings.val(write: true).talkSettings.sortUnreadToTop = e!,
onChanged: (e) {
Haptics.selection();
settings.val(write: true).talkSettings.sortUnreadToTop = e!;
},
),
),
ListTile(
@@ -43,6 +48,7 @@ class TalkSection extends StatelessWidget {
trailing: Checkbox(
value: notificationSettings.enabled,
onChanged: (e) {
Haptics.selection();
if (e!) {
NotifyUpdater.enableAfterDisclaimer(settings).asDialog(context);
} else {