Skip to content

Commit

Permalink
Fix all eslint errors
Browse files Browse the repository at this point in the history
  • Loading branch information
MvRemmerden committed Jan 9, 2024
1 parent c9a9449 commit 830f900
Showing 1 changed file with 36 additions and 33 deletions.
69 changes: 36 additions & 33 deletions example/components/StyledFirebaseAuth.tsx
Original file line number Diff line number Diff line change
@@ -1,66 +1,69 @@
import { useEffect, useRef, useState } from 'react'
import { onAuthStateChanged } from 'firebase/auth'
import 'firebaseui/dist/firebaseui.css'
import {auth} from "firebaseui"
import { auth } from 'firebaseui'

interface Props {
// The Firebase UI Web UI Config object.
// See: https://github.com/firebase/firebaseui-web#configuration
uiConfig: auth.Config;
uiConfig: auth.Config
// Callback that will be passed the FirebaseUi instance before it is
// started. This allows access to certain configuration options such as
// disableAutoSignIn().
uiCallback?(ui: auth.AuthUI): void;
uiCallback?(ui: auth.AuthUI): void

Check failure on line 13 in example/components/StyledFirebaseAuth.tsx

View workflow job for this annotation

GitHub Actions / build

propType "uiCallback" is not required, but has no corresponding defaultProps declaration
// The Firebase App auth instance to use.
firebaseAuth: any; // As firebaseui-web
className?: string;
firebaseAuth: any // As firebaseui-web

Check failure on line 15 in example/components/StyledFirebaseAuth.tsx

View workflow job for this annotation

GitHub Actions / build

Unexpected any. Specify a different type
className?: string

Check failure on line 16 in example/components/StyledFirebaseAuth.tsx

View workflow job for this annotation

GitHub Actions / build

propType "className" is not required, but has no corresponding defaultProps declaration
}


const StyledFirebaseAuth = ({uiConfig, firebaseAuth, className, uiCallback}: Props) => {
const [firebaseui, setFirebaseui] = useState<typeof import('firebaseui') | null>(null);
const [userSignedIn, setUserSignedIn] = useState(false);
const elementRef = useRef(null);
const StyledFirebaseAuth = ({
uiConfig,
firebaseAuth,
className,
uiCallback,
}: Props) => {
const [firebaseui, setFirebaseui] = useState<
typeof import('firebaseui') | null
>(null)
const [userSignedIn, setUserSignedIn] = useState(false)
const elementRef = useRef(null)

useEffect(() => {
// Firebase UI only works on the Client. So we're loading the package only after
// the component has mounted, so that this works when doing server-side rendering.
setFirebaseui(require('firebaseui'));
}, []);

setFirebaseui(require('firebaseui'))

Check failure on line 34 in example/components/StyledFirebaseAuth.tsx

View workflow job for this annotation

GitHub Actions / build

Unexpected require()

Check failure on line 34 in example/components/StyledFirebaseAuth.tsx

View workflow job for this annotation

GitHub Actions / build

Require statement not part of import statement
}, [])

useEffect(() => {
if (firebaseui === null )
return;
if (firebaseui === null) return

// Get or Create a firebaseUI instance.
const firebaseUiWidget = firebaseui.auth.AuthUI.getInstance() || new firebaseui.auth.AuthUI(firebaseAuth);
if (uiConfig.signInFlow === 'popup')
firebaseUiWidget.reset();
const firebaseUiWidget =
firebaseui.auth.AuthUI.getInstance() ||
new firebaseui.auth.AuthUI(firebaseAuth)
if (uiConfig.signInFlow === 'popup') firebaseUiWidget.reset()

// We track the auth state to reset firebaseUi if the user signs out.
const unregisterAuthObserver = onAuthStateChanged(firebaseAuth, user => {
if (!user && userSignedIn)
firebaseUiWidget.reset();
setUserSignedIn(!!user);
});
const unregisterAuthObserver = onAuthStateChanged(firebaseAuth, (user) => {
if (!user && userSignedIn) firebaseUiWidget.reset()
setUserSignedIn(!!user)
})

// Trigger the callback if any was set.
if (uiCallback)
uiCallback(firebaseUiWidget);
if (uiCallback) uiCallback(firebaseUiWidget)

// Render the firebaseUi Widget.
// @ts-ignore

Check failure on line 56 in example/components/StyledFirebaseAuth.tsx

View workflow job for this annotation

GitHub Actions / build

Use "@ts-expect-error" instead of "@ts-ignore", as "@ts-ignore" will do nothing if the following line is error-free
firebaseUiWidget.start(elementRef.current, uiConfig);
firebaseUiWidget.start(elementRef.current, uiConfig)

return () => {

Check failure on line 59 in example/components/StyledFirebaseAuth.tsx

View workflow job for this annotation

GitHub Actions / build

Arrow function expected no return value
unregisterAuthObserver();
firebaseUiWidget.reset();
};
unregisterAuthObserver()
firebaseUiWidget.reset()
}
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [firebaseui, uiConfig]);
}, [firebaseui, uiConfig])

return <div className={className} ref={elementRef} />;
};
return <div className={className} ref={elementRef} />

Check failure on line 66 in example/components/StyledFirebaseAuth.tsx

View workflow job for this annotation

GitHub Actions / build

'React' must be in scope when using JSX
}

export default StyledFirebaseAuth;
export default StyledFirebaseAuth

0 comments on commit 830f900

Please sign in to comment.