Open mccordryan opened 6 months ago
A big part of our motivation for rebuilding this component is that this firebase-web
package doesn't seem to be maintained anymore—it was a huge pain for us to get working in a Next.js app and it felt clunky and dated.
We built firebaseui-react
with zero dependencies as a React-first component and made sure it works seamlessly with Next.js. I've got it deployed in production on my small SaaS, Fileinbox.
Here's the minimal code to try it out:
import { getAuth } from "firebase/auth";
import dynamic from "next/dynamic";
const FirebaseUIReact = dynamic(() => import("firebaseui-react"), {
ssr: false,
});
// soon, just:
// import FirebaseUIReact from "firebaseui-react";
export default function AuthComponent() {
const auth = getAuth();
const config = {
// link back to this page for password resets
continueUrl: document.location.href,
signInOptions: ["emailpassword", "google.com"],
};
return <FirebaseUIReact auth={auth} config={config} />
}
which would give you:
PRs and feature requests are welcome!
Hi @Taoula and @christiangenco, very cool, thank you for open sourcing this! Would you like to advertise on https://github.com/firebase/firebaseui-web-react as well?
Longer term, we are working on a web-components-based replacement for the current FirebaseUI library so that all frameworks can be supported, but I think your library could be a great solution for React developers.
@Taoula and @christiangenco, great work! Thanks. Two questions:
1) Why not put the code above in the examples your repo under 'nextjs'? The next usage is a bit different and non obvious. 2) Why not have better / any support for Typescript? Better yet, why not build it in TS? :)
@artemis-prime 1. Oh yup that's a great idea. @Taoula can you do that please? :D
Hi @christiangenco I am interested in raising pr for converting to reusable react components
Hey everybody! @christiangenco and I have rebuilt FirebaseUI as a React component under the npm package
firebaseui-react
. It works more or less the same way (though I would still recommend looking through the documentation before trying to reuse an existing configuration). If you're having trouble getting the original FirebaseUI to work on your project, come check us out!Our component supports:
Links npm Github demo