From 822a77eef5b96572d897a4c92dc24bdd2516ead2 Mon Sep 17 00:00:00 2001 From: matevip Date: Wed, 29 Apr 2026 11:36:55 +0800 Subject: [PATCH] =?UTF-8?q?sync:=20tile=20catalog-row=20provider=20icons?= =?UTF-8?q?=20in=20dark=20mode=20(Settings=20=E2=86=92=20Models)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/Settings/Models/ProviderCatalogRow.vue | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/mateclaw-ui/src/views/Settings/Models/ProviderCatalogRow.vue b/mateclaw-ui/src/views/Settings/Models/ProviderCatalogRow.vue index 90cb673f..4a8e95b6 100644 --- a/mateclaw-ui/src/views/Settings/Models/ProviderCatalogRow.vue +++ b/mateclaw-ui/src/views/Settings/Models/ProviderCatalogRow.vue @@ -76,6 +76,20 @@ const busy = computed(() => props.togglingId === props.provider.id) border-radius: 8px; object-fit: contain; } +/* + * In dark mode, monochrome dark-foreground logos (OpenRouter, Zhipu, …) + * disappear against the panel. Tile them on a cream surface — same trick + * .provider-icon-shell uses on the card itself, so the visual language + * stays consistent across drawer rows and cards. + * `padding + object-fit: contain` shrinks the logo into the tile without + * cropping; box-sizing: border-box keeps the cell at 32×32. + */ +:global(html.dark .catalog-row__icon) { + background: linear-gradient(180deg, #ffffff, #f5ede6); + border: 1px solid rgba(255, 248, 241, 0.18); + padding: 3px; + box-sizing: border-box; +} .catalog-row__meta { flex: 1; min-width: 0;