fix: improve model list layout in ProviderCard (#311)

* fix: add LongCat provider, OpenRouter free models, model list in cards

- Add longcat to PROVIDER_ENV_MAP and PROVIDER_PRESETS
- Add freeOnly param to fetchProviderModels, use for OpenRouter
- Show model list in ProviderCard with count
- Fix qq.ts import.meta.url → __dirname for CJS compat
- Add zh/en i18n keys for model count display

* fix: improve model list layout in ProviderCard

- Change models-list from max-height to fixed height (100px)
- Add align-content: flex-start to prevent vertical spacing
- Optimize gap to 4px vertical, 6px horizontal
- Fix model-tag height to 20px to prevent background stretching
- Use inline-flex for better tag alignment

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: idle888 <546806917@qq.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
ekko
2026-04-29 20:48:21 +08:00
committed by GitHub
parent 2ae7e7ad1b
commit 0051092216
8 changed files with 104 additions and 2 deletions
@@ -134,6 +134,17 @@ export async function getAvailable(ctx: any) {
}
if (Object.keys(modelMeta).length === 0) modelMeta = undefined
}
} else if (providerKey === 'openrouter') {
// OpenRouter has 200+ models — fetch dynamically like Copilot
if (envMapping.api_key_env) {
const orKey = envGetValue(envMapping.api_key_env)
if (orKey) {
try {
const fetched = await fetchProviderModels(baseUrl, orKey, true)
if (fetched.length > 0) modelsList = fetched
} catch { /* ignore — leave empty, won't show */ }
}
}
}
if (modelsList.length > 0) {
const apiKey = envMapping.api_key_env ? envGetValue(envMapping.api_key_env) : ''