# Components Reusable Go template components. ## Available Templates | Component | File | Purpose | | ----------------- | -------------------------- | -------------------------------------------- | | Anime Card | `anime_card.gohtml` | Poster card with hover reveal | | Continue Watching | `continue_watching.gohtml` | Continue watching row | | Dropdown | `dropdown.gohtml` | Dropdown wrapper (also uses ``) | | Filter Bar | `filter_bar.gohtml` | Search + filters for browse | | Header | `header.gohtml` | Sticky header with nav | | Navigation | `navigation.gohtml` | Sidebar navigation | | Video Player | `video_player.gohtml` | Episode video container | | Watchlist Actions | `watchlist_actions.gohtml` | Add/remove watchlist button | | Watch Order | `watch_order.gohtml` | Watch order queue | ## Usage Components are rendered with `{{template "name" .}}`. Props follow a keyword convention: ```gohtml {{template "anime_card" dict "Anime" .Data "WithActions" true}} {{template "navigation" dict "CurrentPath" .CurrentPath}} ``` ## Props Convention Components receive a `dict` with named keys — no positional arguments, no implicit state. ``` dict "Key" .Value "Key2" .Value2 ``` ## Adding a component 1. Create `.gohtml` in this directory. 2. Register it in `template_fs.go` if not already picked up by the embed glob. 3. Wire it into the page template.