import { BarChart3, Calendar, ChevronDown, ChevronUp, ExternalLink, Globe, Link2, UserCheck, Users, } from 'lucide-react'; import { generatePath, Link } from 'react-router-dom'; import { formatAttendanceDate } from '@/business/campus-attendance/selectors'; import { AttendanceSummaryCard } from '@/components/campus-attendance/AttendanceSummaryCard'; import { percentageBackgroundClass, percentageBorderClass, percentageTextClass, } from '@/components/campus-attendance/styles'; import type { CampusAttendancePageActions, CampusAttendancePageState, } from '@/components/campus-attendance/types'; import { useScopeContext } from '@/contexts/scope-context'; import { APP_ROUTE_PATHS } from '@/shared/constants/routes'; type SuperintendentAttendanceViewProps = { state: CampusAttendancePageState; actions: CampusAttendancePageActions; }; export function SuperintendentAttendanceView({ state, actions }: SuperintendentAttendanceViewProps) { const { selectedTenant } = useScopeContext(); const { today, weekStart, overallStats, combinedStats, staffSummary, campusStats, attendanceChildStats, expandedCampus, scopeModel, } = state; const staffRecordTotal = staffSummary.summary ? Math.max( staffSummary.summary.staffCount, staffSummary.summary.present + staffSummary.summary.late + staffSummary.summary.absent, ) : null; const staffPresentOrLate = staffSummary.summary ? staffSummary.summary.present + staffSummary.summary.late : null; const staffAttendanceHelper = staffRecordTotal && staffPresentOrLate !== null ? `${staffPresentOrLate}/${staffRecordTotal} present or late` : scopeModel.aggregateHelper; const scopeRouteState = { __scope: selectedTenant }; return ( <>
{attendanceChildStats.length > 0 ? (
{attendanceChildStats.map((child) => (

{child.mascot}

{child.fullName}

{child.isOnline && ( Online )}

Today

{child.todayPct !== null ? `${child.todayPct}%` : 'N/A'}

Week Avg

{child.weekAvg !== null ? `${child.weekAvg}%` : 'N/A'}

{child.todayRecord && (

Enrolled

{child.todayRecord.total_enrolled}

Present

{child.todayRecord.total_present}

Absent

{child.todayRecord.total_absent}

)} {expandedCampus === child.id && child.recentData.length > 0 && (
{child.recentData.map((record) => (
{formatAttendanceDate(record.date)}
{record.total_present}/{record.total_enrolled} {record.attendance_percentage.toFixed(1)}%
))}
)}
))}
) : (

{scopeModel.emptyHistoryMessage}

)} {campusStats.length > 0 && (

Campus Attendance System Links

{campusStats.map((campus) => (
{campus.mascot[0]}

{campus.fullName}

{campus.config?.updated_by && (

Updated by {campus.config.updated_by}

)}
{campus.config?.attendance_link ? ( Open Link ) : ( Not configured )}
))}
)} ); }