fix: auth icons

Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
2026-08-08 22:26:47 -04:00
parent a5acea72c3
commit 5646591c74
+11 -2
View File
@@ -311,7 +311,16 @@ function backToIdentity() {
} }
function getMethodIcon(method: AuthenticationMethod): string { function getMethodIcon(method: AuthenticationMethod): string {
if (method.icon) return method.icon; if (method.icon?.startsWith('mdi-') || method.icon?.startsWith('$')) {
return method.icon;
}
// Authentication providers may return a bare Material Design icon name
// (for example, "lock" or "mail") instead of Vuetify's "mdi-*" form.
if (method.icon && /^[a-z0-9-]+$/i.test(method.icon)) {
return `mdi-${method.icon}`;
}
switch (method.method) { switch (method.method) {
case 'credential': return 'mdi-key'; case 'credential': return 'mdi-key';
case 'challenge': return 'mdi-shield-check'; case 'challenge': return 'mdi-shield-check';
@@ -388,7 +397,7 @@ function getMethodIcon(method: AuthenticationMethod): string {
size="large" size="large"
@click="initiateSsoLogin(method.id)" @click="initiateSsoLogin(method.id)"
> >
<v-icon v-if="method.icon" start>{{ method.icon }}</v-icon> <v-icon start>{{ getMethodIcon(method) }}</v-icon>
{{ method.label }} {{ method.label }}
</v-btn> </v-btn>
</div> </div>