Template
- Set up next-themes with a light/dark toggle in the header and move all sections onto theme tokens; dark mode stays pure black - Replace the hero terminal line with the AI Elements Snippet component - Restructure components into layout/, sections/, and shared/ with site-wide config in lib/site.ts Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
42 lines
1020 B
TypeScript
42 lines
1020 B
TypeScript
import { Button } from '@/components/ui/button';
|
|
import { cn } from '@/lib/utils';
|
|
|
|
type Action = { label: string; href: string };
|
|
|
|
export function ActionButtons({
|
|
primary,
|
|
secondary,
|
|
className,
|
|
}: {
|
|
primary: Action;
|
|
secondary?: Action;
|
|
className?: string;
|
|
}) {
|
|
return (
|
|
<div
|
|
className={cn(
|
|
'flex flex-col items-center justify-center gap-3 sm:flex-row',
|
|
className,
|
|
)}
|
|
>
|
|
<Button
|
|
asChild
|
|
size="lg"
|
|
className="h-11 rounded-full bg-foreground px-6 text-[15px] text-background hover:bg-foreground/90"
|
|
>
|
|
<a href={primary.href}>{primary.label}</a>
|
|
</Button>
|
|
{secondary && (
|
|
<Button
|
|
asChild
|
|
size="lg"
|
|
variant="outline"
|
|
className="h-11 rounded-full border-foreground/20 bg-transparent px-6 text-[15px] text-foreground hover:bg-foreground/5 hover:text-foreground"
|
|
>
|
|
<a href={secondary.href}>{secondary.label}</a>
|
|
</Button>
|
|
)}
|
|
</div>
|
|
);
|
|
}
|