feat: add gemini

This commit is contained in:
Shivam Mishra
2025-12-23 14:35:15 +05:30
parent c711ffb85a
commit 529f22954e
4 changed files with 130 additions and 5 deletions
@@ -28,7 +28,7 @@ const PROVIDER_ICONS = {
openai: 'i-logos-openai-icon',
anthropic: 'i-logos-anthropic-icon',
mistral: 'i-logos-mistral-icon',
gemini: 'i-logos-gemini-icon',
gemini: 'i-woot-gemini',
};
const iconForModel = model => {
@@ -128,7 +128,7 @@ const selectModel = model => {
</button>
<DropdownBody
v-if="isOpen"
class="absolute right-0 top-full mt-1 min-w-64 z-50"
class="absolute right-0 top-full mt-1 min-w-64 z-50 max-h-96 [&>ul]:max-h-96 [&>ul]:overflow-y-scroll"
>
<DropdownItem
v-for="model in availableModels"
@@ -18,11 +18,18 @@ const getters = {
const feature = $state.features[featureKey];
const models = feature?.models || [];
const providerOrder = { openai: 0, anthropic: 1, gemini: 2 };
return [...models].sort((a, b) => {
// Move coming_soon items to the end
if (a.coming_soon && !b.coming_soon) return 1;
if (!a.coming_soon && b.coming_soon) return -1;
// Sort by provider
const providerA = providerOrder[a.provider] ?? 999;
const providerB = providerOrder[b.provider] ?? 999;
if (providerA !== providerB) return providerA - providerB;
// Sort by credit_multiplier (highest first)
return (b.credit_multiplier || 0) - (a.credit_multiplier || 0);
});