Files
supabase/apps/learn/components/next-up.tsx
dda0b526ac Feat/learn (#41566)
wip

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

# Release Notes

* **New Features**
* Added a new Learn application offering foundational Supabase courses
with interactive documentation
* Courses include Architecture, Authentication, Data Fundamentals,
Security, Storage, Realtime, and Edge Functions
  * Chapter tracking and progress indicators for course completions
  * Responsive sidebar navigation with search/command menu
  * Theme switching support (light, dark, classic dark modes)
  * Mobile-friendly course interface

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Alan Daniel <stylesshjs@gmail.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-04 21:36:24 -03:30

39 lines
1.2 KiB
TypeScript

import Link from 'next/link'
import { ArrowRight } from 'lucide-react'
import { Button } from 'ui'
interface NextUpProps {
title: string
description: string
href: string
chapterNumber?: number
}
export function NextUp({ title, description, href, chapterNumber }: NextUpProps) {
return (
<div className="mt-16 mb-8 grow">
<div className="bg-background border border-border rounded-lg shadow-sm p-8 max-w-2xl">
<div className="grid gap-4">
<p className="text-sm text-foreground-lighter">Next Up</p>
<h2 className="text-xl font-bold text-foreground">
{chapterNumber && <span>{chapterNumber}: </span>}
{title}
</h2>
<p className="text-foreground text-base">{description}</p>
<div className="mt-2">
<Link href={href}>
<Button
type="default"
iconRight={<ArrowRight className="h-4 w-4" />}
className="flex items-center gap-2"
>
Start {chapterNumber ? `Chapter ${chapterNumber}` : 'Next'}
</Button>
</Link>
</div>
</div>
</div>
</div>
)
}