forProvider static method
Get the configuration for a given provider.
Implementation
static SocialProviderConfig forProvider(SocialProvider provider) {
return switch (provider) {
SocialProvider.google => const SocialProviderConfig(
defaultLabel: 'Continue with Google',
backgroundColor: '#ffffff',
foregroundColor: '#1f1f1f',
borderColor: '#dadce0',
hoverBackgroundColor: '#f8f9fa',
buildIcon: SocialIcons.google,
),
SocialProvider.github => const SocialProviderConfig(
defaultLabel: 'Continue with GitHub',
backgroundColor: '#24292e',
foregroundColor: '#ffffff',
borderColor: '#24292e',
hoverBackgroundColor: '#2f363d',
buildIcon: SocialIcons.github,
),
SocialProvider.apple => const SocialProviderConfig(
defaultLabel: 'Continue with Apple',
backgroundColor: '#000000',
foregroundColor: '#ffffff',
borderColor: '#000000',
hoverBackgroundColor: '#1a1a1a',
buildIcon: SocialIcons.apple,
),
SocialProvider.microsoft => const SocialProviderConfig(
defaultLabel: 'Continue with Microsoft',
backgroundColor: '#2f2f2f',
foregroundColor: '#ffffff',
borderColor: '#2f2f2f',
hoverBackgroundColor: '#3f3f3f',
buildIcon: SocialIcons.microsoft,
),
SocialProvider.discord => const SocialProviderConfig(
defaultLabel: 'Continue with Discord',
backgroundColor: '#5865F2',
foregroundColor: '#ffffff',
borderColor: '#5865F2',
hoverBackgroundColor: '#4752c4',
buildIcon: SocialIcons.discord,
),
SocialProvider.twitter => const SocialProviderConfig(
defaultLabel: 'Continue with X',
backgroundColor: '#000000',
foregroundColor: '#ffffff',
borderColor: '#000000',
hoverBackgroundColor: '#1a1a1a',
buildIcon: SocialIcons.twitter,
),
SocialProvider.facebook => const SocialProviderConfig(
defaultLabel: 'Continue with Facebook',
backgroundColor: '#1877F2',
foregroundColor: '#ffffff',
borderColor: '#1877F2',
hoverBackgroundColor: '#166fe5',
buildIcon: SocialIcons.facebook,
),
SocialProvider.linkedin => const SocialProviderConfig(
defaultLabel: 'Continue with LinkedIn',
backgroundColor: '#0A66C2',
foregroundColor: '#ffffff',
borderColor: '#0A66C2',
hoverBackgroundColor: '#004182',
buildIcon: SocialIcons.linkedin,
),
SocialProvider.slack => const SocialProviderConfig(
defaultLabel: 'Continue with Slack',
backgroundColor: '#4A154B',
foregroundColor: '#ffffff',
borderColor: '#4A154B',
hoverBackgroundColor: '#611f64',
buildIcon: SocialIcons.slack,
),
SocialProvider.gitlab => const SocialProviderConfig(
defaultLabel: 'Continue with GitLab',
backgroundColor: '#FC6D26',
foregroundColor: '#ffffff',
borderColor: '#FC6D26',
hoverBackgroundColor: '#e24329',
buildIcon: SocialIcons.gitlab,
),
};
}