Files
obc-terrassement/components/ui/Card.tsx
Claude 41e686c560 feat: complete HookLab MVP - TikTok Shop coaching platform
Full-stack Next.js 15 application with:
- Landing page with marketing components (Hero, Testimonials, Pricing, FAQ)
- Multi-step candidature form with API route
- Stripe Checkout integration (subscription + webhooks)
- Supabase Auth (login/register) with middleware protection
- Dashboard with progress tracking and module system
- Formations pages with completion tracking
- Profile management with password change
- Database schema with RLS policies
- Resend email integration for transactional emails

Stack: Next.js 15, TypeScript, Tailwind CSS v4, Supabase, Stripe, Resend

https://claude.ai/code/session_01H2aRGDaKgarPvhay2HxN6Y
2026-02-08 12:39:18 +00:00

33 lines
713 B
TypeScript

import { cn } from "@/lib/utils";
import { HTMLAttributes, forwardRef } from "react";
interface CardProps extends HTMLAttributes<HTMLDivElement> {
hover?: boolean;
glass?: boolean;
}
const Card = forwardRef<HTMLDivElement, CardProps>(
({ className, hover = false, glass = false, children, ...props }, ref) => {
return (
<div
ref={ref}
className={cn(
"rounded-[20px] p-6",
glass
? "glass"
: "bg-dark-light border border-dark-border",
hover && "card-hover cursor-pointer",
className
)}
{...props}
>
{children}
</div>
);
}
);
Card.displayName = "Card";
export default Card;