import '../../../state/app/modules/marianum_dates/bloc/marianum_dates_state.dart';
import '../demo_persona.dart';

/// Demo fixtures for the school calendar — a handful of upcoming events built
/// relative to "now" and consistent with the demo persona (class 10b).
class DemoMarianumDates {
  const DemoMarianumDates._();

  static List<MarianumDate> events() {
    final today = DateTime.now();
    DateTime at(int offset, [int hour = 0, int minute = 0]) => DateTime(
      today.year,
      today.month,
      today.day,
      hour,
      minute,
    ).add(Duration(days: offset));

    return [
      MarianumDate(
        uid: 'demo-klausur-mathe',
        title: 'Klausur Mathematik ${DemoPersona.className}',
        description: 'Erste Klausur bei Herr Müller. Themen: Analysis.',
        start: at(4, 9, 45),
        end: at(4, 11, 15),
        isAllDay: false,
      ),
      MarianumDate(
        uid: 'demo-wandertag',
        title: 'Wandertag',
        description: 'Gemeinsamer Ausflug der Jahrgangsstufe 10.',
        start: at(11),
        end: at(12),
        isAllDay: true,
      ),
      MarianumDate(
        uid: 'demo-elternsprechtag',
        title: 'Elternsprechtag',
        description: 'Anmeldung zu den Gesprächen über das Sekretariat.',
        start: at(18, 14, 0),
        end: at(18, 19, 0),
        isAllDay: false,
      ),
      MarianumDate(
        uid: 'demo-zeugniskonferenz',
        title: 'Zeugniskonferenz',
        description: 'Unterrichtsfrei ab der 4. Stunde.',
        start: at(32),
        end: at(33),
        isAllDay: true,
      ),
    ];
  }
}
