Files
coder/site/src/pages/cli-auth.tsx
Presley Pizzo 0bf9dee7e3 chore(site): rename userXService to authXService (#924)
* chore(site): rename userXService to authXService

* Rename contents of xService
2022-04-08 11:42:57 -04:00

46 lines
1.1 KiB
TypeScript

import { makeStyles } from "@material-ui/core/styles"
import { useActor } from "@xstate/react"
import React, { useContext, useEffect, useState } from "react"
import { getApiKey } from "../api"
import { FullScreenLoader } from "../components/Loader/FullScreenLoader"
import { CliAuthToken } from "../components/SignIn"
import { XServiceContext } from "../xServices/StateContext"
export const CliAuthenticationPage: React.FC = () => {
const xServices = useContext(XServiceContext)
const [authState] = useActor(xServices.authXService)
const { me } = authState.context
const styles = useStyles()
const [apiKey, setApiKey] = useState<string | null>(null)
useEffect(() => {
if (me?.id) {
void getApiKey().then(({ key }) => {
setApiKey(key)
})
}
}, [me?.id])
if (!apiKey) {
return <FullScreenLoader />
}
return (
<div className={styles.root}>
<CliAuthToken sessionToken={apiKey} />
</div>
)
}
const useStyles = makeStyles(() => ({
root: {
width: "100vw",
height: "100vh",
display: "flex",
justifyContent: "center",
alignItems: "center",
},
}))