import React from 'react'; import { Link } from 'react-router-dom'; import { Search, ChevronDown, ChevronRight, Plus } from 'lucide-react'; import { Input } from '@/components/ui/input'; import { Button } from '@/components/ui/button'; import { cn } from '@/lib/utils'; /** * Shared “Deals-style” workspace: tabs, teal primary action, centered search, right actions, * optional filters strip, collapsible section header, table area. */ export default function MainTableWorkspace({ tabs = [], primaryAction = null, search = null, right = null, filters = null, /** 'top' = full-width strip above the table card; 'left' = narrow rail beside the table inside the card */ filtersPlacement = 'top', sectionIcon: SectionIcon, sectionTitle, sectionCount, sectionOpen, onSectionToggle, tableToolbar = null, children, }) { return (
{tabs.length > 0 && (
{tabs.map((t) => ( ))}
)}
{primaryAction && (primaryAction.to ? ( ) : ( ))}
{search && (
)}
{right}
{filtersPlacement === 'top' && filters && (
{filters}
)}
{sectionOpen && (filtersPlacement === 'left' && filters ? (
{tableToolbar} {children}
) : ( <> {tableToolbar} {children} ))}
); }