diff --git a/apps/maple-research/frontend/src/components/ModelSelector.tsx b/apps/maple-research/frontend/src/components/ModelSelector.tsx index 116e438e7..e62ecf349 100644 --- a/apps/maple-research/frontend/src/components/ModelSelector.tsx +++ b/apps/maple-research/frontend/src/components/ModelSelector.tsx @@ -296,12 +296,17 @@ export function ModelSelector({ const elements: React.ReactNode[] = []; if (selectedModel) { - elements.push(selectedModel.display_name || selectedModel.short_name || modelId); + elements.push( + + {selectedModel.display_name || selectedModel.short_name || modelId} + + ); const badges = getModelBadges(modelId); if (badges && badges.length > 0) { badges.forEach((badge, index) => { - let badgeClass = "rounded-md px-1.5 py-0.5 text-[10px] font-medium"; + let badgeClass = + "shrink-0 whitespace-nowrap rounded-md px-1.5 py-0.5 text-[10px] font-medium leading-4"; if (badge === "Coming Soon") { badgeClass += " bg-muted text-muted-foreground"; @@ -327,20 +332,18 @@ export function ModelSelector({ } if (showLock && !hasAccessToModel(modelId)) { - elements.push(); + elements.push(); } } else { elements.push(getDisplayNameText(modelId)); } - return {elements}; + return {elements}; }; // Show current category or model name in the collapsed view const modelDisplay = ( -
-
{getDisplayLabel(model)}
-
+ {getDisplayLabel(model)} ); // Always show dropdown even with single model (it may be loading more) @@ -348,20 +351,23 @@ export function ModelSelector({ return ( <> + {/* The chip counts as 5rem when the composer row wraps, grows up to the + full name when there is room, and truncates instead of pushing the + other controls onto a new row. */} - + {!showAdvanced ? (
{/* Primary options */} @@ -497,10 +503,12 @@ export function ModelSelector({ }`} disabled={effectivelyDisabled} > -
-
{getDisplayName(availableModel.id, true)}
+
+
+ {getDisplayName(availableModel.id, true)} +
- {isActive && } + {isActive && } ); }) diff --git a/apps/maple-research/frontend/src/components/PromoDialog.tsx b/apps/maple-research/frontend/src/components/PromoDialog.tsx index ffc00ef61..f29c59de8 100644 --- a/apps/maple-research/frontend/src/components/PromoDialog.tsx +++ b/apps/maple-research/frontend/src/components/PromoDialog.tsx @@ -22,7 +22,7 @@ interface PromoDialogProps { const PROMO_BENEFITS = [ { icon: , - text: "Powerful AI models including Gemma 4 31B, GLM 5.3, and Kimi K2.6" + text: "Powerful AI models including Gemma 4 31B, GLM 5.3, and Kimi K3" }, { icon: , diff --git a/apps/maple-research/frontend/src/components/UpgradePromptDialog.tsx b/apps/maple-research/frontend/src/components/UpgradePromptDialog.tsx index 6432babd0..d909991c6 100644 --- a/apps/maple-research/frontend/src/components/UpgradePromptDialog.tsx +++ b/apps/maple-research/frontend/src/components/UpgradePromptDialog.tsx @@ -90,7 +90,7 @@ export function UpgradePromptDialog({ benefits: [ "Images stay private with end-to-end encryption", "Upload JPEG, PNG, and WebP formats securely", - "Use Gemma 4 31B and Kimi K2.6 on Pro and above", + "Use Gemma 4 31B and Kimi K3 on Pro and above", "Analyze diagrams, screenshots, and photos privately", "Extract text from images without exposing data" ] @@ -159,7 +159,7 @@ export function UpgradePromptDialog({ : isPro ? [ "10x more monthly messages with Max plan", - "Access to all AI models including GLM 5.3 and Kimi K2.6", + "Access to all AI models including GLM 5.3 and Kimi K3", "Highest priority during peak times", "Maximum rate limits for power users", "Or purchase extra credits to keep chatting now" @@ -207,7 +207,7 @@ export function UpgradePromptDialog({ requiredPlan: "Pro", benefits: [ "All models run in secure, encrypted environments", - "Access to GLM 5.3, Kimi K2.6, and the full model lineup", + "Access to GLM 5.3, Kimi K3, and the full model lineup", "OpenAI GPT-OSS, Gemma, and other advanced models", "Higher token limits for longer conversations", "Priority access to new models as they launch" @@ -285,7 +285,7 @@ export function UpgradePromptDialog({ {isFreeTier ? "Plus access to powerful models, image & document processing, and more" : isPro - ? "Plus access to GLM 5.3, Kimi K2.6, 10x more usage, API access, and priority support" + ? "Plus access to GLM 5.3, Kimi K3, 10x more usage, API access, and priority support" : "Explore our pricing options for the best plan for your needs"}

diff --git a/apps/maple-research/frontend/src/components/chat/ThinkingLevelSelector.tsx b/apps/maple-research/frontend/src/components/chat/ThinkingLevelSelector.tsx index c00bc26a3..cf9eae8b6 100644 --- a/apps/maple-research/frontend/src/components/chat/ThinkingLevelSelector.tsx +++ b/apps/maple-research/frontend/src/components/chat/ThinkingLevelSelector.tsx @@ -54,7 +54,10 @@ export function ThinkingLevelSelector({ - {!isDefault && {currentLabel}} + {/* Phones keep the tinted icon only so the model name has room. */} + {!isDefault && ( + {currentLabel} + )} diff --git a/apps/maple-research/frontend/src/config/pricingConfig.tsx b/apps/maple-research/frontend/src/config/pricingConfig.tsx index 4e9fd1b46..07f2cd87d 100644 --- a/apps/maple-research/frontend/src/config/pricingConfig.tsx +++ b/apps/maple-research/frontend/src/config/pricingConfig.tsx @@ -58,7 +58,7 @@ export const PRICING_PLANS: PricingPlan[] = [ icon: }, { - text: "Paid AI models including Gemma 4 31B, GLM 5.3, and Kimi K2.6", + text: "Paid AI models including Gemma 4 31B, GLM 5.3, and Kimi K3", included: false, icon: }, @@ -97,7 +97,7 @@ export const PRICING_PLANS: PricingPlan[] = [ icon: }, { - text: "All AI models including GLM 5.3 and Kimi K2.6", + text: "All AI models including GLM 5.3 and Kimi K3", included: true, icon: }, @@ -151,7 +151,7 @@ export const PRICING_PLANS: PricingPlan[] = [ icon: }, { - text: "All AI models including GLM 5.3 and Kimi K2.6", + text: "All AI models including GLM 5.3 and Kimi K3", included: true, icon: }, @@ -214,7 +214,7 @@ export const PRICING_PLANS: PricingPlan[] = [ icon: }, { - text: "All AI models including GLM 5.3 and Kimi K2.6", + text: "All AI models including GLM 5.3 and Kimi K3", included: true, icon: },