31 lines
631 B
TypeScript
31 lines
631 B
TypeScript
|
|
import React from 'react';
|
||
|
|
import { AuthButton } from './AuthButton';
|
||
|
|
|
||
|
|
interface OAuthButtonProps {
|
||
|
|
provider: 'google' | 'github';
|
||
|
|
onClick: () => void;
|
||
|
|
}
|
||
|
|
|
||
|
|
export function OAuthButton({ provider, onClick }: OAuthButtonProps) {
|
||
|
|
const labels = {
|
||
|
|
google: 'Continuer avec Google',
|
||
|
|
github: 'Continuer avec GitHub',
|
||
|
|
};
|
||
|
|
|
||
|
|
const ariaLabels = {
|
||
|
|
google: 'Se connecter avec Google',
|
||
|
|
github: 'Se connecter avec GitHub',
|
||
|
|
};
|
||
|
|
|
||
|
|
return (
|
||
|
|
<AuthButton
|
||
|
|
variant="secondary"
|
||
|
|
onClick={onClick}
|
||
|
|
type="button"
|
||
|
|
aria-label={ariaLabels[provider]}
|
||
|
|
>
|
||
|
|
{labels[provider]}
|
||
|
|
</AuthButton>
|
||
|
|
);
|
||
|
|
}
|