diff --git a/chrome-extension/package.json b/chrome-extension/package.json index cb1597f..0a5ff34 100644 --- a/chrome-extension/package.json +++ b/chrome-extension/package.json @@ -1,6 +1,6 @@ { "name": "openlingo-extension", - "version": "0.4.0", + "version": "0.4.1", "description": "OpenLingo — core extension (manifest, background SW)", "type": "module", "private": true, diff --git a/package.json b/package.json index b888cde..5889bbc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "openlingo", - "version": "0.4.0", + "version": "0.4.1", "description": "OpenLingo — open-source bilingual page translator (DeepL)", "license": "MIT", "private": true, diff --git a/packages/translation/lib/registry.ts b/packages/translation/lib/registry.ts index 280aeca..1dad82c 100644 --- a/packages/translation/lib/registry.ts +++ b/packages/translation/lib/registry.ts @@ -88,7 +88,7 @@ export const PROVIDER_PRESETS: ProviderPreset[] = [ { id: 'openai-compatible', name: 'Custom', - tier: 'OpenAI-compatible', + tier: 'OpenAI API', endpoint: 'custom endpoint', credentialFields: ['baseUrl', 'model', 'apiKey', 'systemPrompt'], }, diff --git a/pages/popup/src/Popup.tsx b/pages/popup/src/Popup.tsx index 7972fc7..77429fd 100644 --- a/pages/popup/src/Popup.tsx +++ b/pages/popup/src/Popup.tsx @@ -5,7 +5,7 @@ import { getProviderPreset, PROVIDER_PRESETS } from '@extension/translation'; import { ErrorDisplay, LoadingSpinner } from '@extension/ui'; import { useEffect, useRef, useState } from 'react'; import type { AsrPrepareResponse, AsrSessionState, AsrStartResponse, YouTubeAsrContext } from '@extension/shared'; -import type { ProviderId } from '@extension/translation'; +import type { ProviderId, ProviderPreset } from '@extension/translation'; import type { CSSProperties } from 'react'; type PageStatus = 'idle' | 'translating' | 'translated' | 'unknown'; @@ -451,7 +451,15 @@ const LanguageMenu = ({ active, onPick }: { active: string; onPick: (code: strin ); -const ProviderMenu = ({ active, onPick }: { active: ProviderId; onPick: (id: ProviderId) => void }) => ( +const ProviderMenu = ({ + presets, + active, + onPick, +}: { + presets: ProviderPreset[]; + active: ProviderId; + onPick: (id: ProviderId) => void; +}) => (
Provider
- {PROVIDER_PRESETS.map(p => { + {presets.map(p => { const isActive = p.id === active; return ( -
+
{activeTabId && youtubeContext && (
{ - {openMenu === 'provider' && } + {openMenu === 'provider' && }
);