How shawneetz/ani-nino works
Anino ng Ani is a public-facing, source-oriented explorer of martial-law programs and their present-day echoes. Visitors can explore programs by year, topic, province, and era, then open program records; the site also presents sourced charts, sources, and research gaps. The Explorer’s shared filtering path and map/list views are visible in the excerpts. The README is empty, and page-to-data wiring is not established by the supplied evidence, so those connections are omitted rather than inferred.
Main entry points: Explorer.tsx Explorer coordinator · PinMap.tsx Program map · vocab.ts Domain vocabulary · load-content.ts Content loader
Components 22
Site pages
- Home explorer page
nextjs-app/app/page.tsx - Program detail
nextjs-app/app/programs/[slug]/page.tsx - Charts page
nextjs-app/app/charts/page.tsx - Sources page
nextjs-app/app/sources/page.tsx - About page
nextjs-app/app/about/page.tsx
Program explorer
- Explorer coordinator
nextjs-app/src/components/Explorer.tsx - Filter state
nextjs-app/src/hooks/use-filter-state.ts - Filter logic
nextjs-app/src/lib/filter.ts - Filter controls
nextjs-app/src/components/filter-controls.tsx - Year slider
nextjs-app/src/components/YearSlider.tsx - Program map
nextjs-app/src/components/PinMap.tsx - Map legend
nextjs-app/src/components/legend.tsx - Program card
nextjs-app/src/components/program-card.tsx
Research views
- Sourced chart
nextjs-app/src/components/chart-card.tsx - Source list
nextjs-app/src/components/source-list.tsx
Content and definitions
- YAML content
nextjs-app/content - Content loader
nextjs-app/src/lib/load-content.ts - Content validation
nextjs-app/src/lib/content-schema.ts - Domain vocabulary
nextjs-app/src/lib/vocab.ts
Other components
- Visitor
- MapLibre CDN
- OpenFreeMap tiles
Connections 19
- Visitor → Home explorer page: opens
- Explorer coordinator → Filter state: reads state
nextjs-app/src/components/Explorer.tsx - Explorer coordinator → Filter logic: filters programs
nextjs-app/src/components/Explorer.tsx - Explorer coordinator → Filter controls: renders controls
nextjs-app/src/components/Explorer.tsx - Explorer coordinator → Year slider: renders slider
nextjs-app/src/components/Explorer.tsx - Explorer coordinator → Program map: renders map
nextjs-app/src/components/Explorer.tsx - Explorer coordinator → Map legend: renders legend
nextjs-app/src/components/Explorer.tsx - Explorer coordinator → Program card: renders results
nextjs-app/src/components/Explorer.tsx - Program map → Program detail: navigates to
nextjs-app/src/components/PinMap.tsx - Program map → MapLibre CDN: loads library
nextjs-app/src/components/PinMap.tsx - Program map → OpenFreeMap tiles: uses map style
nextjs-app/src/components/PinMap.tsx - Charts page → Sourced chart: presents charts
- Sources page → Source list: presents sources
- Content loader → YAML content: reads YAML
nextjs-app/src/lib/load-content.ts - Content loader → Content validation: validates with
nextjs-app/src/lib/load-content.ts - Content validation → Domain vocabulary: uses domain keys
nextjs-app/src/lib/content-schema.ts - Filter controls → Domain vocabulary: uses labels
nextjs-app/src/components/filter-controls.tsx - Program map → Domain vocabulary: uses topic colors
nextjs-app/src/components/PinMap.tsx - Program card → Domain vocabulary: uses topic labels
nextjs-app/src/components/program-card.tsx