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
+2
View File
@@ -11,6 +11,7 @@ import '../../../state/app/modules/settings/bloc/settings_cubit.dart';
import '../../../state/app/modules/timetable/bloc/timetable_bloc.dart';
import '../../../state/app/modules/timetable/bloc/timetable_state.dart';
import '../../../utils/haptics.dart';
import '../../../widget/demo_restricted.dart';
import 'custom_events/custom_event_edit_dialog.dart';
import 'details/appointment_details_dispatcher.dart';
import 'widgets/timetable_calendar_view.dart';
@@ -42,6 +43,7 @@ class _TimetableState extends State<Timetable> {
state.startDate == _mondayOf(_initialDisplayDate());
Future<void> _openPicker() async {
if (guardDemoAction(context)) return;
final ref = await AppRoutes.openElementPicker(context);
if (!mounted || ref == null) return;
setState(() => _selected = ref);