chore(history): import initial web product snapshot

This commit is contained in:
wmq
2026-07-25 00:30:00 +08:00
commit cf0eed46c3
131 changed files with 15693 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
import type { HTMLAttributes, ReactNode } from 'react'
import { cn } from '@/utils/cn'
export function Card({ className, ...props }: HTMLAttributes<HTMLDivElement>) {
return (
<div
className={cn('rounded-lg border border-border bg-card shadow-[0_1px_2px_rgba(16,24,40,0.04)]', className)}
{...props}
/>
)
}
export function CardHeader({
className,
title,
description,
action,
children,
...props
}: HTMLAttributes<HTMLDivElement> & { title?: ReactNode; description?: ReactNode; action?: ReactNode }) {
return (
<div className={cn('flex items-start justify-between gap-3 border-b border-border px-4 py-3', className)} {...props}>
<div className="min-w-0">
{title && <h3 className="text-sm font-semibold text-foreground">{title}</h3>}
{description && <p className="mt-0.5 text-xs text-muted-foreground">{description}</p>}
{children}
</div>
{action && <div className="shrink-0">{action}</div>}
</div>
)
}
export function CardContent({ className, ...props }: HTMLAttributes<HTMLDivElement>) {
return <div className={cn('p-4', className)} {...props} />
}
export function CardFooter({ className, ...props }: HTMLAttributes<HTMLDivElement>) {
return <div className={cn('border-t border-border px-4 py-3', className)} {...props} />
}