implemented a comprehensive client-side demo mode triggered by a "demo@" username prefix, serving curated fixture data for all app modules

This commit is contained in:
2026-07-07 20:24:16 +02:00
parent 2668b111f1
commit 9b74c9fd81
45 changed files with 1409 additions and 43 deletions
@@ -10,6 +10,7 @@ import '../../../../api/mhsl/custom_timetable_event/custom_timetable_event.dart'
import '../../../../extensions/date_time.dart';
import '../../../../state/app/modules/timetable/bloc/timetable_bloc.dart';
import '../../../../widget/async_action_button.dart';
import '../../../../widget/demo_restricted.dart';
import '../../../../widget/focus_behaviour.dart';
import 'custom_event_colors.dart';
@@ -130,6 +131,7 @@ class _CustomEventEditDialogState extends State<CustomEventEditDialog> {
end.second == 0;
Future<void> _save() async {
if (guardDemoAction(context)) return;
if (_name.text.trim().isEmpty) {
throw Exception('Bitte einen Terminnamen eingeben.');
}