added teacher-focused lesson sheet with direct class and teacher timetable links
This commit is contained in:
@@ -46,6 +46,10 @@ class _TimetableState extends State<Timetable> {
|
||||
if (guardDemoAction(context)) return;
|
||||
final ref = await AppRoutes.openElementPicker(context);
|
||||
if (!mounted || ref == null) return;
|
||||
_openElement(ref);
|
||||
}
|
||||
|
||||
void _openElement(TimetableElementRef ref) {
|
||||
setState(() => _selected = ref);
|
||||
}
|
||||
|
||||
@@ -103,6 +107,7 @@ class _TimetableState extends State<Timetable> {
|
||||
final atToday = innerState != null && _isOnInitialWeek(innerState);
|
||||
final capabilities = context.watch<CapabilitiesCubit>();
|
||||
final canViewForeign = capabilities.canViewForeignTimetables;
|
||||
final teacherPlan = capabilities.isTeacher;
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
// Der Kalender scrollt nicht (nur ziehen/reloaden), aber seine internen
|
||||
@@ -162,10 +167,12 @@ class _TimetableState extends State<Timetable> {
|
||||
state,
|
||||
apt,
|
||||
canEditSubjectColor: true,
|
||||
teacherPlan: teacherPlan,
|
||||
onOpenElement: canViewForeign ? _openElement : null,
|
||||
),
|
||||
onCreateEvent: _onCreateEventAt,
|
||||
customEvents: state.customEvents?.events ?? const [],
|
||||
showClassInsteadOfTeacher: capabilities.isTeacher,
|
||||
showClassInsteadOfTeacher: teacherPlan,
|
||||
),
|
||||
),
|
||||
);
|
||||
@@ -179,6 +186,7 @@ class _TimetableState extends State<Timetable> {
|
||||
final canViewForeign = context
|
||||
.watch<CapabilitiesCubit>()
|
||||
.canViewForeignTimetables;
|
||||
final teacherPlan = selected.type == TimetableElementType.teacher;
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
// Siehe _buildOwnPlan: den scroll-under-Farbwechsel unterdrücken, weil
|
||||
@@ -214,11 +222,15 @@ class _TimetableState extends State<Timetable> {
|
||||
key: _calendarKey,
|
||||
state: state,
|
||||
onWeekChanged: bloc.changeWeek,
|
||||
onAppointmentTap: (apt) =>
|
||||
AppointmentDetailsDispatcher.show(context, state, apt),
|
||||
onAppointmentTap: (apt) => AppointmentDetailsDispatcher.show(
|
||||
context,
|
||||
state,
|
||||
apt,
|
||||
teacherPlan: teacherPlan,
|
||||
onOpenElement: canViewForeign ? _openElement : null,
|
||||
),
|
||||
customEvents: const [],
|
||||
showClassInsteadOfTeacher:
|
||||
selected.type == TimetableElementType.teacher,
|
||||
showClassInsteadOfTeacher: teacherPlan,
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user