'use client' import { useState } from 'react' import { formatNumber } from '@/lib/utils/format' import { getBrowserIcon, getOSIcon, getDeviceIcon } from '@/lib/utils/icons' import { MdMonitor } from 'react-icons/md' interface TechSpecsProps { browsers: Array<{ browser: string; pageviews: number }> os: Array<{ os: string; pageviews: number }> devices: Array<{ device: string; pageviews: number }> screenResolutions: Array<{ screen_resolution: string; pageviews: number }> } type Tab = 'browsers' | 'os' | 'devices' | 'screens' export default function TechSpecs({ browsers, os, devices, screenResolutions }: TechSpecsProps) { const [activeTab, setActiveTab] = useState('browsers') const renderContent = () => { let data: Array<{ name: string; pageviews: number; icon?: React.ReactNode }> = [] if (activeTab === 'browsers') { data = browsers.map(b => ({ name: b.browser, pageviews: b.pageviews, icon: getBrowserIcon(b.browser) })) } else if (activeTab === 'os') { data = os.map(o => ({ name: o.os, pageviews: o.pageviews, icon: getOSIcon(o.os) })) } else if (activeTab === 'devices') { data = devices.map(d => ({ name: d.device, pageviews: d.pageviews, icon: getDeviceIcon(d.device) })) } else if (activeTab === 'screens') { data = screenResolutions.map(s => ({ name: s.screen_resolution, pageviews: s.pageviews, icon: })) } if (!data || data.length === 0) { return

No data available

} return (
{data.map((item, index) => (
{item.icon && {item.icon}} {item.name === 'Unknown' ? 'Unknown' : item.name}
{formatNumber(item.pageviews)}
))}
) } return (

Technology

{renderContent()}
) }