'use client'; import { type ReactNode } from 'react'; import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; import { Badge } from '@/components/ui/badge'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '@/components/ui/select'; export interface ResponsiveTab { id: string; label: string; content: ReactNode; badge?: string | number; } interface ResponsiveTabsProps { tabs: ResponsiveTab[]; value: string; onValueChange: (value: string) => void; } /** * Tabs that collapse to a native {tabs.map((tab) => ( {tab.label} {tab.badge !== undefined && tab.badge !== null && ( ({tab.badge}) )} ))} {/* Desktop / tablet: tab strip */} {tabs.map((tab) => ( {tab.label} {tab.badge !== undefined && tab.badge !== null && ( {tab.badge} )} ))} {tabs.map((tab) => ( {tab.content} ))} ); }