webui: Deduplicate model aliases in data + handle single/multiple aliases in UI (#22979)
* fix: Deduplicate aliases + display single alias instead of default name or 2+ aliases as tags * refactor: Address review comments
This commit is contained in:
+2257
-2255
File diff suppressed because it is too large
Load Diff
@@ -31,9 +31,12 @@
|
|||||||
|
|
||||||
let parsed = $derived(ModelsService.parseModelId(modelId));
|
let parsed = $derived(ModelsService.parseModelId(modelId));
|
||||||
let resolvedShowRaw = $derived(showRaw ?? (config().showRawModelNames as boolean) ?? false);
|
let resolvedShowRaw = $derived(showRaw ?? (config().showRawModelNames as boolean) ?? false);
|
||||||
let displayName = $derived(parsed.modelName ?? modelId);
|
|
||||||
let allAliases = $derived(aliases ?? []);
|
let uniqueAliases = $derived([...new Set(aliases ?? [])]);
|
||||||
let allTags = $derived([...(parsed.tags ?? []), ...(tags ?? [])]);
|
let uniqueTags = $derived([...new Set([...(parsed.tags ?? []), ...(tags ?? [])])]);
|
||||||
|
|
||||||
|
let primaryAlias = $derived(uniqueAliases.length === 1 ? uniqueAliases[0] : null);
|
||||||
|
let displayName = $derived(primaryAlias ?? parsed.modelName ?? modelId);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#if resolvedShowRaw}
|
{#if resolvedShowRaw}
|
||||||
@@ -56,14 +59,18 @@
|
|||||||
</span>
|
</span>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{#if allAliases.length > 0}
|
{#if primaryAlias}
|
||||||
{#each allAliases as alias (alias)}
|
{#if primaryAlias !== parsed.modelName}
|
||||||
|
<span class={badgeClass}>{parsed.modelName ?? modelId}</span>
|
||||||
|
{/if}
|
||||||
|
{:else if uniqueAliases.length > 1}
|
||||||
|
{#each uniqueAliases as alias (alias)}
|
||||||
<span class={badgeClass}>{alias}</span>
|
<span class={badgeClass}>{alias}</span>
|
||||||
{/each}
|
{/each}
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{#if allTags.length > 0}
|
{#if uniqueTags.length > 0}
|
||||||
{#each allTags as tag (tag)}
|
{#each uniqueTags as tag (tag)}
|
||||||
<span class={tagBadgeClass}>{tag}</span>
|
<span class={tagBadgeClass}>{tag}</span>
|
||||||
{/each}
|
{/each}
|
||||||
{/if}
|
{/if}
|
||||||
|
|||||||
Reference in New Issue
Block a user