Look# Spartan River Report — Design Spec
**Date:** 2026-04-02
**Status:** Approved

## Overview

A single-page video archive for Clayton's monthly "Spartan River Report" leadership videos.
Videos are served as local MP4s from a dedicated folder on the server. The page auto-discovers
files from that folder — no hardcoded video list, no database. Adding a new month means dropping
a file in the folder.

---

## Files

| Action | Path |
|--------|------|
| Create | `public/executive/river_report.php` |
| Create | `public/assets/video/river_report/` (directory) |
| Edit   | `public/menu.php` — add direct nav link |

`home.php` is **not touched**.

---

## Video Directory & Naming Convention

**Path:** `public/assets/video/river_report/`

**Filename pattern:** `RiverReport_MMM_YYYY.mp4`
- Examples: `RiverReport_Jan_2026.mp4`, `RiverReport_Mar_2026.mp4`
- Eric renames existing files before dropping into the new folder

**Auto-discovery logic (in `river_report.php`):**
1. `glob()` all `*.mp4` in the folder
2. Regex parse month + year from each filename: `/RiverReport_([A-Za-z]+)_(\d{4})\.mp4/i`
3. Convert to `DateTime` for sorting
4. Sort **reverse chronological** — newest card first
5. Badge the most recent card **NEW**

Files that don't match the naming pattern are silently skipped.

---

## Page — `public/executive/river_report.php`

**Hero:** Title "Spartan River Reports", standard intranet hero + logo + search box

**Menu:** Standard `menu.php` include

**Card grid:** One card per discovered video
- Card title: full month name + year (e.g., "March 2026")
- NEW badge on the first (most recent) card
- Click → opens modal player

**Modal player:**
- Centered overlay, dark backdrop
- `<video controls autoplay>` pointing to `/assets/video/river_report/<filename>`
- Title displayed above player
- ✕ close button (top-right)
- Click outside modal → closes and pauses video
- ESC key → closes and pauses video

**Empty state:** If no videos are found in the folder, show a friendly "No videos available yet" message instead of an empty grid.

---

## Menu — `public/menu.php`

Add a direct top-level `<a class="nav-link">` link for **"Spartan River Report"** immediately
**before** the HR dropdown. Uses `nav_active('/executive/river_report.php')` for active state.

---

## Out of Scope

- No database involvement
- No admin upload UI — file drop on server is the workflow
- No changes to `home.php`
- No YouTube embeds — local MP4 only
- No per-video description or thumbnail — filename is the only metadata source
