From 470a1c30e8d30d299a1f48da8a5cdf15c908bc8b Mon Sep 17 00:00:00 2001
From: Caipira <caipira@libnare.net>
Date: Fri, 3 Nov 2023 17:38:33 +0900
Subject: [PATCH] enhance(frontend): federated instance icon with proxy
 (welcome entrance) (#12213)

---
 packages/frontend/src/pages/welcome.entrance.a.vue | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/packages/frontend/src/pages/welcome.entrance.a.vue b/packages/frontend/src/pages/welcome.entrance.a.vue
index 998d942488..e1f2a0cbda 100644
--- a/packages/frontend/src/pages/welcome.entrance.a.vue
+++ b/packages/frontend/src/pages/welcome.entrance.a.vue
@@ -24,7 +24,7 @@ SPDX-License-Identifier: AGPL-3.0-only
 		<MarqueeText :duration="40">
 			<MkA v-for="instance in instances" :key="instance.id" :class="$style.federationInstance" :to="`/instance-info/${instance.host}`" behavior="window">
 				<!--<MkInstanceCardMini :instance="instance"/>-->
-				<img v-if="instance.iconUrl" class="icon" :src="instance.iconUrl" alt=""/>
+				<img v-if="instance.iconUrl" class="icon" :src="getInstanceIcon(instance)" alt=""/>
 				<span class="name _monospace">{{ instance.host }}</span>
 			</MkA>
 		</MarqueeText>
@@ -46,10 +46,15 @@ import { instance } from '@/instance.js';
 import number from '@/filters/number.js';
 import MkNumber from '@/components/MkNumber.vue';
 import MkVisitorDashboard from '@/components/MkVisitorDashboard.vue';
+import { getProxiedImageUrl } from '@/scripts/media-proxy.js';
 
 let meta = $ref<Misskey.entities.Instance>();
 let instances = $ref<any[]>();
 
+function getInstanceIcon(instance): string {
+  return getProxiedImageUrl(instance.iconUrl, 'preview');
+}
+
 os.api('meta', { detail: true }).then(_meta => {
 	meta = _meta;
 });