{tabs.map((tab) => (
setActiveTab(tab.id)}
icon={tab.icon}
title={tab.title}
description={tab.description}
isPro={tab.isPro}
compact={isMobile}
/>
))}
{!isMobile && (
Credits
{isLoadingUsage
? "…"
: `${tokensToCredits(tokensUsed)} / ${tokensToCredits(tokensLimit)}`}
80
? "#ef4444"
: hasPaidPlan
? "linear-gradient(to right, #4BA0FA 80%, #002757 100%)"
: "#0054AD",
}}
/>
Search Queries
{isLoadingUsage
? "…"
: `${formatUsageNumber(searchesUsed)} / ${formatUsageNumber(searchesLimit)}`}
80
? "#ef4444"
: hasPaidPlan
? "linear-gradient(to right, #4BA0FA 80%, #002757 100%)"
: "#0054AD",
}}
/>
{!hasPaidPlan && (
)}
)}
{activeTab === "note" && (
)}
{activeTab === "link" && (
)}
{activeTab === "file" && (
{
void handleFileSubmit(fileDataRef.current)
}}
isSubmitting={fileMutation.isPending}
isOpen={isOpen}
/>
)}
{activeTab === "connect" && (
)}
{!isMobile && (
setLocalSelectedProject(projects[0] ?? localSelectedProject)
}
variant="insideOut"
singleSelect
/>
)}
{activeTab !== "connect" && (
)}
)
}
function TabButton({
active,
onClick,
icon: Icon,
title,
description,
isPro,
compact,
}: {
active: boolean
onClick: () => void
icon: React.ComponentType<{ className?: string }>
title: string
description: string
isPro?: boolean
compact?: boolean
}) {
if (compact) {
return (
)
}
return (
)
}