Link explore hero title to its title detail page

Wraps the hero banner h2 in a Link with a subtle primary color
hover transition, matching the app's warm-accent interaction pattern.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-03 19:40:19 -05:00
co-authored by Claude Opus 4.6
parent 2c561a2bf4
commit 724893196e
3 changed files with 24 additions and 16 deletions
+18 -8
View File
@@ -5,16 +5,26 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
## Commands
```bash
bun dev # Start Next.js dev server
bun build # Production build
bun lint # Biome lint check
bun format # Biome format (auto-fix)
bun db:push # Push schema changes to SQLite database
bun db:generate # Generate Drizzle migration files
bun db:migrate # Run Drizzle migrations
bun db:studio # Open Drizzle Studio (visual DB browser)
bun run dev # Start Next.js dev server
bun run build # Production build
bun run lint # Biome lint check
bun run format # Biome format (auto-fix)
bun run db:push # Push schema changes to SQLite database
bun run db:generate # Generate Drizzle migration files
bun run db:migrate # Run Drizzle migrations
bun run db:studio # Open Drizzle Studio (visual DB browser)
```
IMPORTANT: Default to using Bun instead of Node.js:
- Use `bun <file>` instead of `node <file>` or `ts-node <file>`
- Use `bun test` instead of `jest` or `vitest`
- Use `bun build <file.html|file.ts|file.css>` instead of `webpack` or `esbuild`
- Use `bun install` instead of `npm install` or `yarn install` or `pnpm install`
- Use `bun run <script>` instead of `npm run <script>` or `yarn run <script>` or `pnpm run <script>`
- Use `bunx <package> <command>` instead of `npx <package> <command>`
- Bun automatically loads .env, so don't use dotenv.
## Architecture
**Sofa** is a self-hosted movie & TV tracking app (like Trakt/TVTime) built as a single Next.js 16 application with SQLite.
@@ -33,11 +33,7 @@ export function ContinueWatchingList({
items: ContinueWatchingItemProps[];
}) {
return (
<motion.div
variants={staggerContainer}
initial="hidden"
animate="visible"
>
<motion.div variants={staggerContainer} initial="hidden" animate="visible">
<Carousel
opts={{ align: "start", dragFree: true, containScroll: "trimSnaps" }}
plugins={[WheelGesturesPlugin({ forceWheelAxis: "x" })]}
+3 -1
View File
@@ -76,9 +76,11 @@ export function HeroBanner({
Trending today
</span>
</div>
<h2 className="font-display text-3xl tracking-tight sm:text-4xl">
<Link href={href} className="group/title">
<h2 className="font-display text-3xl tracking-tight sm:text-4xl transition-colors group-hover/title:text-primary">
{title}
</h2>
</Link>
<p className="mt-2 line-clamp-2 max-w-2xl text-sm text-muted-foreground">
{overview}
</p>