import type {
  CampusAttendancePrintInput,
  CampusAttendanceStats,
  CampusAttendanceSummaryViewModel,
} from '@/business/campus-attendance/types';

export const CAMPUS_ATTENDANCE_TEST_SEED = {
  campusId: 'tigers',
  campusMascot: 'Tigers',
  campusFullName: 'Tigers <Main> Campus',
  campusFullNameEscaped: 'Tigers &lt;Main&gt; Campus',
  generatedByName: 'Test Director',
  generatedByRole: 'Director & Campus Lead',
  generatedByRoleEscaped: 'Director &amp; Campus Lead',
  reportTitleEscaped: 'Attendance &amp; Daily &lt;Report&gt;',
  todayNotesEscaped: 'Needs &lt;support&gt; &amp; follow-up',
} as const;

export const campusAttendanceTodayRecord: CampusAttendanceSummaryViewModel = {
  id: 'summary-1',
  campus_id: CAMPUS_ATTENDANCE_TEST_SEED.campusId,
  date: '2026-06-08',
  total_enrolled: 50,
  total_present: 45,
  total_absent: 5,
  total_tardy: 1,
  attendance_percentage: 90,
  recorded_by: 'director-1',
  notes: 'Needs <support> & follow-up',
};

export const campusAttendanceWeekRecord: CampusAttendanceSummaryViewModel = {
  id: 'summary-2',
  campus_id: CAMPUS_ATTENDANCE_TEST_SEED.campusId,
  date: '2026-06-09',
  total_enrolled: 50,
  total_present: 40,
  total_absent: 10,
  total_tardy: 2,
  attendance_percentage: 80,
  recorded_by: 'director-1',
  notes: null,
};

export const campusAttendanceStatsSeed: CampusAttendanceStats = {
  id: CAMPUS_ATTENDANCE_TEST_SEED.campusId,
  mascot: CAMPUS_ATTENDANCE_TEST_SEED.campusMascot,
  fullName: CAMPUS_ATTENDANCE_TEST_SEED.campusFullName,
  color: 'bg-orange-500',
  bgGradient: 'from-orange-500 to-amber-500',
  borderColor: 'border-orange-500/30',
  textColor: 'text-orange-400',
  bgLight: 'bg-orange-500/10',
  description: 'Strength, courage & determination',
  todayPct: 90,
  weekAvg: 85,
  config: null,
  recentData: [campusAttendanceTodayRecord, campusAttendanceWeekRecord],
  todayRecord: campusAttendanceTodayRecord,
};

export const campusAttendancePrintInputSeed: CampusAttendancePrintInput = {
  reportTitle: 'Attendance & Daily <Report>',
  generatedByName: CAMPUS_ATTENDANCE_TEST_SEED.generatedByName,
  generatedByRole: CAMPUS_ATTENDANCE_TEST_SEED.generatedByRole,
  today: '2026-06-08',
  weekStart: '2026-06-08',
  campusesToPrint: [campusAttendanceStatsSeed],
  printTodayRecords: [campusAttendanceTodayRecord],
  printWeekRecords: [campusAttendanceTodayRecord, campusAttendanceWeekRecord],
};
