mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-05-25 23:24:03 +00:00
Major additions: - Complete Next.js studio application with 1600+ components - Docker support (Dockerfile.combined, docker-compose.yml) - GCP deployment documentation and benchmarks - SQL benchmark scripts for performance testing - Sentry integration for monitoring - Comprehensive test suite and mocks Studio features: - Dashboard and admin interfaces - Data visualization components - Authentication and user management - API integration with RuVector backend - Static data and public assets 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
39 lines
1 KiB
TypeScript
39 lines
1 KiB
TypeScript
import { ReactNode } from 'react'
|
|
import { cn } from 'ui'
|
|
|
|
interface FeaturePreviewSidebarPanelProps {
|
|
title: string
|
|
description: string
|
|
illustration?: ReactNode
|
|
actions?: ReactNode
|
|
className?: string
|
|
}
|
|
|
|
export function FeaturePreviewSidebarPanel({
|
|
title,
|
|
description,
|
|
illustration,
|
|
actions,
|
|
className,
|
|
}: FeaturePreviewSidebarPanelProps) {
|
|
return (
|
|
<div
|
|
className={cn(
|
|
'rounded-lg border p-4 space-y-3',
|
|
'bg-muted/10 border-border/50',
|
|
// Force left alignment and override any centering
|
|
'text-left [&_*]:text-left [&_div]:items-start',
|
|
className
|
|
)}
|
|
>
|
|
{illustration && <div className="flex justify-start items-start">{illustration}</div>}
|
|
|
|
<div className="space-y-1">
|
|
<h3 className="font-medium text-sm text-foreground">{title}</h3>
|
|
<p className="text-xs text-foreground-light">{description}</p>
|
|
</div>
|
|
|
|
{actions && <div className="flex justify-start items-start gap-x-2">{actions}</div>}
|
|
</div>
|
|
)
|
|
}
|