Spaces:
Sleeping
Sleeping
yassinekolsi
Fix all TypeScript errors: remove unused imports, delete orphan reactflow components
532554f | import * as React from 'react'; | |
| import { SidebarTrigger } from '@/components/animate-ui/components/radix/sidebar'; | |
| import { | |
| Breadcrumb, | |
| BreadcrumbItem, | |
| BreadcrumbLink, | |
| BreadcrumbList, | |
| BreadcrumbPage, | |
| BreadcrumbSeparator, | |
| } from '@/components/ui/breadcrumb'; | |
| import { Separator } from '@/components/ui/separator'; | |
| import { cn } from '@/lib/utils'; | |
| interface PageHeaderProps { | |
| title: string; | |
| subtitle?: string; | |
| icon?: React.ReactNode; | |
| className?: string; | |
| breadcrumbs?: Array<{ label: string; href?: string }>; | |
| showSidebarTrigger?: boolean; | |
| } | |
| export function PageHeader({ | |
| title, | |
| subtitle, | |
| icon, | |
| className, | |
| breadcrumbs, | |
| showSidebarTrigger = true, | |
| }: PageHeaderProps) { | |
| return ( | |
| <div className={cn('space-y-4', className)}> | |
| {(showSidebarTrigger || breadcrumbs) && ( | |
| <header className="flex h-16 shrink-0 items-center gap-2 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12"> | |
| <div className="flex items-center gap-2"> | |
| {showSidebarTrigger && ( | |
| <> | |
| <SidebarTrigger className="-ml-1" /> | |
| <Separator orientation="vertical" className="mr-2 h-4" /> | |
| </> | |
| )} | |
| {breadcrumbs && breadcrumbs.length > 0 && ( | |
| <Breadcrumb> | |
| <BreadcrumbList> | |
| {breadcrumbs.map((crumb, index) => ( | |
| <React.Fragment key={index}> | |
| {index > 0 && ( | |
| <BreadcrumbSeparator className="hidden md:block" /> | |
| )} | |
| <BreadcrumbItem | |
| className={index === 0 ? 'hidden md:block' : ''} | |
| > | |
| {crumb.href ? ( | |
| <BreadcrumbLink href={crumb.href}> | |
| {crumb.label} | |
| </BreadcrumbLink> | |
| ) : ( | |
| <BreadcrumbPage>{crumb.label}</BreadcrumbPage> | |
| )} | |
| </BreadcrumbItem> | |
| </React.Fragment> | |
| ))} | |
| </BreadcrumbList> | |
| </Breadcrumb> | |
| )} | |
| </div> | |
| </header> | |
| )} | |
| <div className="space-y-2"> | |
| <h1 className="flex items-center gap-3 text-3xl font-bold tracking-tight"> | |
| {icon && <span className="text-primary">{icon}</span>} | |
| {title} | |
| </h1> | |
| {subtitle && ( | |
| <p className="text-muted-foreground text-lg">{subtitle}</p> | |
| )} | |
| </div> | |
| </div> | |
| ); | |
| } | |
| export function SectionHeader({ | |
| title, | |
| icon, | |
| action, | |
| }: { | |
| title: string; | |
| icon?: React.ReactNode; | |
| action?: React.ReactNode; | |
| }) { | |
| return ( | |
| <div className="mb-6 flex items-center justify-between"> | |
| <h2 className="flex items-center gap-2 text-xl font-semibold"> | |
| {icon} | |
| {title} | |
| </h2> | |
| {action} | |
| </div> | |
| ); | |
| } | |