mirror of
https://github.com/jakejarvis/sofa.git
synced 2026-08-29 05:05:38 -04:00
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:
@@ -5,16 +5,26 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
|||||||
## Commands
|
## Commands
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
bun dev # Start Next.js dev server
|
bun run dev # Start Next.js dev server
|
||||||
bun build # Production build
|
bun run build # Production build
|
||||||
bun lint # Biome lint check
|
bun run lint # Biome lint check
|
||||||
bun format # Biome format (auto-fix)
|
bun run format # Biome format (auto-fix)
|
||||||
bun db:push # Push schema changes to SQLite database
|
bun run db:push # Push schema changes to SQLite database
|
||||||
bun db:generate # Generate Drizzle migration files
|
bun run db:generate # Generate Drizzle migration files
|
||||||
bun db:migrate # Run Drizzle migrations
|
bun run db:migrate # Run Drizzle migrations
|
||||||
bun db:studio # Open Drizzle Studio (visual DB browser)
|
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
|
## Architecture
|
||||||
|
|
||||||
**Sofa** is a self-hosted movie & TV tracking app (like Trakt/TVTime) built as a single Next.js 16 application with SQLite.
|
**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[];
|
items: ContinueWatchingItemProps[];
|
||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<motion.div
|
<motion.div variants={staggerContainer} initial="hidden" animate="visible">
|
||||||
variants={staggerContainer}
|
|
||||||
initial="hidden"
|
|
||||||
animate="visible"
|
|
||||||
>
|
|
||||||
<Carousel
|
<Carousel
|
||||||
opts={{ align: "start", dragFree: true, containScroll: "trimSnaps" }}
|
opts={{ align: "start", dragFree: true, containScroll: "trimSnaps" }}
|
||||||
plugins={[WheelGesturesPlugin({ forceWheelAxis: "x" })]}
|
plugins={[WheelGesturesPlugin({ forceWheelAxis: "x" })]}
|
||||||
|
|||||||
@@ -76,9 +76,11 @@ export function HeroBanner({
|
|||||||
Trending today
|
Trending today
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<h2 className="font-display text-3xl tracking-tight sm:text-4xl">
|
<Link href={href} className="group/title">
|
||||||
{title}
|
<h2 className="font-display text-3xl tracking-tight sm:text-4xl transition-colors group-hover/title:text-primary">
|
||||||
</h2>
|
{title}
|
||||||
|
</h2>
|
||||||
|
</Link>
|
||||||
<p className="mt-2 line-clamp-2 max-w-2xl text-sm text-muted-foreground">
|
<p className="mt-2 line-clamp-2 max-w-2xl text-sm text-muted-foreground">
|
||||||
{overview}
|
{overview}
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
Reference in New Issue
Block a user