ui-for-firebase-authentication
Version:
UI for Firebase Authentication (Firebase UI alternative supporting v9+)
28 lines (27 loc) • 1.42 kB
JavaScript
/**
* Creates a button for a sign in provider. This will create a button that can be used to sign in with the provided provider.
*
* @param signInOption The sign in option to create a button for.
* @returns The button element that can be used to sign in with the provided provider.
* */
function createButtonForProvider(signInOption) {
//Creates a stylized UI button given the provided parameters. Will NOT add event listeners to the button.
//All buttons should be the same size (this is sometimes a branding requirement)
let displayConfig = signInOption.display;
let button = document.createElement("button");
button.classList.add("loginProviderButton");
if (displayConfig.icon) {
//Add an icon, left justified, and centered vertically within the button.
let imageComponent = document.createElement("img");
imageComponent.src = displayConfig.icon;
imageComponent.style.filter = displayConfig.iconFilter; //We will allow for filters to be applied to the icon (like inverting).
button.append(imageComponent);
}
let textComponent = document.createElement("span");
textComponent.innerHTML = `Sign in with ${displayConfig.name}`;
button.appendChild(textComponent);
button.style.backgroundColor = displayConfig.backgroundColor;
button.style.color = displayConfig.color;
return button;
}
export { createButtonForProvider };