package components import ( "fmt" "github.com/starfleetcptn/gomft/internal/db" ) // getProviderIcon returns the appropriate icon for a provider func getProviderIcon(provider db.AuthProvider) templ.Component { // If provider has a custom icon URL, use it if provider.IconURL != "" { return templ.Raw(fmt.Sprintf(`%s icon`, provider.IconURL, provider.Name)) } // Otherwise fall back to default icons based on type switch provider.Type { case db.ProviderTypeAuthentik: return templ.Raw(`Authentik`) case db.ProviderTypeOIDC: return templ.Raw(`OIDC`) case db.ProviderTypeSAML: return templ.Raw(`SAML`) case db.ProviderTypeOAuth2: return templ.Raw(`OAuth2`) default: return templ.Raw(``) } } templ AuthProviderButtons(providers []db.AuthProvider) { if len(providers) == 0 {
No external authentication providers available
} else {
for _, provider := range providers { if provider.Enabled { @getProviderIcon(provider) { provider.Name } } }
} }