From 0047f2ca85818fdf9a2f1cf73b71037163b0cbdf Mon Sep 17 00:00:00 2001 From: admin Date: Sat, 22 Aug 2026 23:10:30 +0000 Subject: [PATCH] Terminal --- src/lib/reports.ts | 66 ---------------------------------------------- 1 file changed, 66 deletions(-) delete mode 100644 src/lib/reports.ts diff --git a/src/lib/reports.ts b/src/lib/reports.ts deleted file mode 100644 index d55cffe..0000000 --- a/src/lib/reports.ts +++ /dev/null @@ -1,66 +0,0 @@ -// Shared helpers for the printable documents: report cards, progress reports, -// and tuition invoices. -import { todayISO } from "@/lib/plans"; - -export const SCHOOL_NAME = "Bayside Academy"; - -export const money = (cents: number) => - `${cents < 0 ? "-" : ""}$${(Math.abs(cents) / 100).toFixed(2)}`; - -export type AttendanceRow = { status: string; date: string }; - -export type AttendanceCounts = { - present: number; - late: number; - absent: number; - excused: number; - recorded: number; - /** Share of recorded days the student actually attended (present or late). */ - attendedPct: number | null; -}; - -export function summarizeAttendance( - rows: AttendanceRow[], - from: string, - to: string, -): AttendanceCounts { - const inRange = rows.filter((r) => r.date >= from && r.date <= to); - const count = (s: string) => inRange.filter((r) => r.status === s).length; - const present = count("present"); - const late = count("late"); - const absent = count("absent"); - const excused = count("excused"); - const recorded = inRange.length; - return { - present, - late, - absent, - excused, - recorded, - attendedPct: recorded === 0 ? null : ((present + late) / recorded) * 100, - }; -} - -// School year runs Aug 1 → Jul 31, so a report pulled in e.g. February still -// covers the year that began the previous August. -export function schoolYearRange(today = new Date()): { from: string; to: string } { - const startYear = today.getMonth() >= 7 ? today.getFullYear() : today.getFullYear() - 1; - return { from: `${startYear}-08-01`, to: `${startYear + 1}-07-31` }; -} - -export function monthToDateRange(today = new Date()): { from: string; to: string } { - const y = today.getFullYear(); - const m = String(today.getMonth() + 1).padStart(2, "0"); - return { from: `${y}-${m}-01`, to: todayISO() }; -} - -export const REPORT_TYPES = [ - { value: "report_card", label: "Report card" }, - { value: "progress", label: "Academic progress report" }, - { value: "iep", label: "504 / IEP progress report" }, -] as const; - -export type ReportType = (typeof REPORT_TYPES)[number]["value"]; - -export const reportTitle = (t: ReportType) => - REPORT_TYPES.find((r) => r.value === t)?.label ?? "Report";