This commit is contained in:
marko-kraemer 2025-08-23 21:30:42 -07:00
parent 0b0efdf5eb
commit e5d4223d4d
2 changed files with 17 additions and 37 deletions

View File

@ -701,8 +701,8 @@ export default function ThreadPage({
className={cn(
"fixed bottom-0 z-10 bg-gradient-to-t from-background via-background/90 to-transparent px-4 pt-8",
isSidePanelAnimating ? "" : "transition-all duration-200 ease-in-out",
leftSidebarState === 'expanded' ? 'left-[72px] md:left-[256px]' : 'left-[72px]',
isSidePanelOpen && !isMobile ? 'right-[90%] sm:right-[450px] md:right-[500px] lg:right-[550px] xl:right-[650px]' : 'right-0',
leftSidebarState === 'expanded' ? 'left-12 md:left-64' : 'left-12',
isSidePanelOpen && !isMobile ? 'right-[90%] sm:right-[450px] md:right-[500px] lg:right-[550px] xl:right-[650px]' : 'right-12',
isMobile ? 'left-0 right-0' : ''
)}>
<div className={cn(

View File

@ -100,13 +100,8 @@ export function AgentModelSelector({
const normalizedValue = normalizeModelId(value);
useEffect(() => {
if (normalizedValue && normalizedValue !== storeSelectedModel) {
storeHandleModelChange(normalizedValue);
}
}, [normalizedValue, storeSelectedModel, storeHandleModelChange]);
const selectedModel = storeSelectedModel;
// Use the prop value if provided, otherwise fall back to store value
const selectedModel = normalizedValue || storeSelectedModel;
const enhancedModelOptions = useMemo(() => {
const modelMap = new Map();
@ -202,7 +197,6 @@ export function AgentModelSelector({
const isCustomModel = customModels.some(model => model.id === modelId);
if (isCustomModel && isLocalMode()) {
storeHandleModelChange(modelId);
onChange(modelId);
setIsOpen(false);
return;
@ -210,7 +204,6 @@ export function AgentModelSelector({
const hasAccess = isLocalMode() || canAccessModel(modelId);
if (hasAccess) {
storeHandleModelChange(modelId);
onChange(modelId);
setIsOpen(false);
} else {
@ -285,12 +278,10 @@ export function AgentModelSelector({
if (dialogMode === 'add') {
storeAddCustomModel(newModel);
storeHandleModelChange(modelId);
onChange(modelId);
} else {
storeUpdateCustomModel(editingModelId!, newModel);
if (selectedModel === editingModelId) {
storeHandleModelChange(modelId);
onChange(modelId);
}
}
@ -312,7 +303,6 @@ export function AgentModelSelector({
if (selectedModel === modelId) {
const defaultModel = subscriptionStatus === 'active' ? DEFAULT_PREMIUM_MODEL_ID : DEFAULT_FREE_MODEL_ID;
storeHandleModelChange(defaultModel);
onChange(defaultModel);
}
};
@ -327,9 +317,8 @@ export function AgentModelSelector({
const isRecommended = MODELS[model.id]?.recommended || false;
return (
<TooltipProvider key={`model-${model.id}-${index}`}>
<Tooltip>
<TooltipTrigger asChild>
<Tooltip key={`model-${model.id}-${index}`}>
<TooltipTrigger asChild>
<div className='w-full'>
<DropdownMenuItem
className={cn(
@ -402,16 +391,14 @@ export function AgentModelSelector({
</TooltipContent>
) : null}
</Tooltip>
</TooltipProvider>
);
};
return (
<div className="relative">
<DropdownMenu open={isOpen} onOpenChange={setIsOpen}>
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Tooltip>
<TooltipTrigger asChild>
<DropdownMenuTrigger asChild disabled={disabled}>
{variant === 'menu-item' ? (
<div
@ -463,8 +450,7 @@ export function AgentModelSelector({
<TooltipContent side={variant === 'menu-item' ? 'left' : 'top'} className="text-xs">
<p>Choose a model for this agent</p>
</TooltipContent>
</Tooltip>
</TooltipProvider>
</Tooltip>
<DropdownMenuContent
align={variant === 'menu-item' ? 'end' : 'start'}
className="w-76 p-0 overflow-hidden"
@ -476,9 +462,8 @@ export function AgentModelSelector({
<span className="text-xs font-medium text-muted-foreground p-2 px-4">All Models</span>
{isLocalMode() && (
<div className="flex items-center gap-1 p-2">
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
<Tooltip>
<TooltipTrigger asChild>
<Link
href="/settings/env-manager"
className="h-6 w-6 p-0 flex items-center justify-center"
@ -489,11 +474,9 @@ export function AgentModelSelector({
<TooltipContent side="bottom" className="text-xs">
Local .Env Manager
</TooltipContent>
</Tooltip>
</TooltipProvider>
<TooltipProvider>
<Tooltip>
<TooltipTrigger asChild>
</Tooltip>
<Tooltip>
<TooltipTrigger asChild>
<Button
size="sm"
variant="ghost"
@ -509,8 +492,7 @@ export function AgentModelSelector({
<TooltipContent side="bottom" className="text-xs">
Add a custom model
</TooltipContent>
</Tooltip>
</TooltipProvider>
</Tooltip>
</div>
)}
</div>
@ -549,9 +531,8 @@ export function AgentModelSelector({
const isRecommended = model.recommended;
return (
<TooltipProvider key={`premium-${model.id}-${index}`}>
<Tooltip>
<TooltipTrigger asChild>
<Tooltip key={`premium-${model.id}-${index}`}>
<TooltipTrigger asChild>
<div className='w-full'>
<DropdownMenuItem
className={cn(
@ -586,7 +567,6 @@ export function AgentModelSelector({
</p>
</TooltipContent>
</Tooltip>
</TooltipProvider>
);
})}
{subscriptionStatus !== 'active' && (