fix(ui): 修复 Skills 管理与模型配置交互展示问题 (#4323)

* fix(ui): improve skills and provider interactions

* fix(skills): keep repo manager available on skills.sh

* test(skills): cover repo switch after refresh

* fix(skills): keep refresh available for empty repo results

---------

Co-authored-by: thisTom <19346741+thisTom@users.noreply.github.com>
This commit is contained in:
thisTom
2026-06-23 10:07:14 +08:00
committed by GitHub
parent 2d478876fa
commit 2781d40e82
8 changed files with 366 additions and 56 deletions
@@ -10,7 +10,6 @@ import {
SelectContent,
SelectItem,
SelectTrigger,
SelectValue,
} from "@/components/ui/select";
import {
Popover,
@@ -471,6 +470,19 @@ export function OmoFormFields({
const firstIsUnavailable =
Boolean(currentVariant) &&
!(modelVariantsMap[currentModel] || []).includes(currentVariant);
const defaultVariantLabel = t("omo.defaultWrapped", {
defaultValue: "(Default)",
});
const getVariantLabel = (variant: string, index: number) =>
firstIsUnavailable && index === 0
? t("omo.currentValueUnavailable", {
value: variant,
defaultValue: "{{value}} (current value, unavailable)",
})
: variant;
const selectedVariantLabel = currentVariant
? getVariantLabel(currentVariant, 0)
: defaultVariantLabel;
return (
<Select
@@ -479,25 +491,21 @@ export function OmoFormFields({
onChange(value === EMPTY_VARIANT_VALUE ? "" : value)
}
>
<SelectTrigger className="w-28 h-8 text-xs shrink-0">
<SelectValue
placeholder={t("omo.variantPlaceholder", {
defaultValue: "variant",
})}
/>
<SelectTrigger
className="w-28 min-w-0 h-8 overflow-hidden text-xs shrink-0"
title={selectedVariantLabel}
>
<span className="min-w-0 flex-1 truncate text-left">
{selectedVariantLabel}
</span>
</SelectTrigger>
<SelectContent className="max-h-72">
<SelectItem value={EMPTY_VARIANT_VALUE}>
{t("omo.defaultWrapped", { defaultValue: "(Default)" })}
{defaultVariantLabel}
</SelectItem>
{variantOptions.map((variant, index) => (
<SelectItem key={`${variant}-${index}`} value={variant}>
{firstIsUnavailable && index === 0
? t("omo.currentValueUnavailable", {
value: variant,
defaultValue: "{{value}} (current value, unavailable)",
})
: variant}
{getVariantLabel(variant, index)}
</SelectItem>
))}
</SelectContent>