diff --git a/web/src/views/Login.vue b/web/src/views/Login.vue index 3572129d8..a6256473d 100644 --- a/web/src/views/Login.vue +++ b/web/src/views/Login.vue @@ -23,7 +23,7 @@

{{ $t('login_to_woodpecker_with') }}

@@ -103,18 +103,24 @@ onMounted(async () => { useWPTitle(computed(() => [i18n.t('login')])); -function getHostFromUrl(forge: Forge) { - if (!forge.url && !forge.oauth_host) { - return forge.type.charAt(0).toUpperCase() + forge.type.slice(1); - } - - const url = new URL(forge.oauth_host ?? forge.url); - return url.hostname; -} - const failedForgeFavicons = ref(new Set()); // Track which favicons failed to load -function getFaviconUrl(forge: Forge) { - const url = new URL(forge.oauth_host ?? forge.url); - return `${url.origin}/favicon.ico`; -} + +const forgesWithNameAndFavicon = computed(() => + forges.value.map((forge) => { + let name = forge.type.charAt(0).toUpperCase() + forge.type.slice(1); + let favicon: null | string = null; + + if (forge.url || forge.oauth_host) { + const url = new URL(forge.oauth_host || forge.url); + name = url.hostname; + favicon = `${url.origin}/favicon.ico`; + } + + return { + ...forge, + name, + favicon, + }; + }), +);