@@ -17,10 +17,11 @@ export interface SignInModalProps {
1717 }
1818 resolvePath ?: ( path : string ) => string
1919 mode ?: "signin" | "signup"
20+ lastUsedIdentityProvider ?: pxt . IdentityProviderId
2021}
2122
2223export const SignInModal = ( props : SignInModalProps ) => {
23- const { onSignIn, onClose, appMessage, dialogMessages, hideDismissButton } = props
24+ const { onSignIn, onClose, appMessage, dialogMessages, hideDismissButton, lastUsedIdentityProvider } = props
2425 const { signInMessage, signUpMessage } = dialogMessages || {
2526 signInMessage : lf ( "Sign in to save your progress and access your work anytime, anywhere." ) ,
2627 signUpMessage : lf ( "Join now to save your progress and access your work anytime, anywhere." )
@@ -70,19 +71,24 @@ export const SignInModal = (props: SignInModalProps) => {
7071 < div className = 'signin-body' >
7172 < div className = 'providers' >
7273 { pxt . auth . identityProviders ( ) . map ( ( provider , index ) => {
74+ const isLastUsedProvider = provider . id === lastUsedIdentityProvider
7375 const title =
7476 mode === "signin"
7577 ? lf ( "Continue with {0}" , provider . name )
7678 : lf ( "Sign up with {0}" , provider . name )
79+ const ariaLabel = isLastUsedProvider
80+ ? lf ( "{0}. You last used this option." , title )
81+ : title
7782 return (
7883 < Button
7984 key = { index }
8085 className = 'provider'
8186 onClick = { ( ) => onSignIn ( provider , rememberMe ) }
8287 title = { title }
83- ariaLabel = { title }
88+ ariaLabel = { ariaLabel }
8489 label = {
8590 < div className = 'label' >
91+ { isLastUsedProvider && < div className = 'ui orange right ribbon label last-used-ribbon' aria-hidden = "true" > { lf ( "Last used" ) } </ div > }
8692 < div >
8793 < img className = 'logo' src = { resolvePath ( provider . icon ) } />
8894 </ div >
0 commit comments