diff --git a/frontend/src/components/ModelSettingsSection.tsx b/frontend/src/components/ModelSettingsSection.tsx index a105e63..a838fe6 100644 --- a/frontend/src/components/ModelSettingsSection.tsx +++ b/frontend/src/components/ModelSettingsSection.tsx @@ -10,6 +10,8 @@ import { CodeGenerationModel, } from "../lib/models"; import { Badge } from "./ui/badge"; +import { IS_RUNNING_ON_CLOUD } from "../config"; +import { useStore } from "../store/store"; interface Props { codeGenerationModel: CodeGenerationModel; @@ -22,6 +24,8 @@ function ModelSettingsSection({ setCodeGenerationModel, shouldDisableUpdates = false, }: Props) { + const subscriberTier = useStore((state) => state.subscriberTier); + return (
@@ -42,15 +46,25 @@ function ModelSettingsSection({ {Object.values(CodeGenerationModel).map((model) => ( -
- - {CODE_GENERATION_MODEL_DESCRIPTIONS[model].name} - - {CODE_GENERATION_MODEL_DESCRIPTIONS[model].inBeta && ( - - Beta - - )} +
+
+ + {CODE_GENERATION_MODEL_DESCRIPTIONS[model].name} + + {!IS_RUNNING_ON_CLOUD && + CODE_GENERATION_MODEL_DESCRIPTIONS[model].inBeta && ( + + Beta + + )} +
+ {IS_RUNNING_ON_CLOUD && + subscriberTier === "free" && + CODE_GENERATION_MODEL_DESCRIPTIONS[model].isPaid && ( + + Upgrade to Paid + + )}
))} diff --git a/frontend/src/lib/models.ts b/frontend/src/lib/models.ts index a972f78..c76f42a 100644 --- a/frontend/src/lib/models.ts +++ b/frontend/src/lib/models.ts @@ -5,8 +5,12 @@ export enum CodeGenerationModel { } export const CODE_GENERATION_MODEL_DESCRIPTIONS: { - [key in CodeGenerationModel]: { name: string; inBeta: boolean }; + [key in CodeGenerationModel]: { + name: string; + inBeta: boolean; + isPaid: boolean; + }; } = { - gpt_4_vision: { name: "GPT-4 Vision", inBeta: false }, - claude_3_sonnet: { name: "Claude 3 Sonnet", inBeta: true }, + gpt_4_vision: { name: "GPT-4 Vision", inBeta: false, isPaid: false }, + claude_3_sonnet: { name: "Claude 3 Sonnet", inBeta: true, isPaid: true }, };