mirror of
https://github.com/revoltchat/revite.git
synced 2024-11-12 18:29:57 -05:00
71 lines
2.6 KiB
TypeScript
71 lines
2.6 KiB
TypeScript
|
import { Text } from "preact-i18n";
|
||
|
import { Helmet } from "react-helmet";
|
||
|
import styles from "./Login.module.scss";
|
||
|
import { useContext } from "preact/hooks";
|
||
|
import { APP_VERSION } from "../../version";
|
||
|
import { LIBRARY_VERSION } from "revolt.js";
|
||
|
import { Route, Switch } from "react-router-dom";
|
||
|
import { ThemeContext } from "../../context/Theme";
|
||
|
import { RevoltClient } from "../../context/revoltjs/RevoltClient";
|
||
|
|
||
|
import background from "./background.jpg";
|
||
|
|
||
|
import { FormLogin } from "./forms/FormLogin";
|
||
|
import { FormCreate } from "./forms/FormCreate";
|
||
|
import { FormResend } from "./forms/FormResend";
|
||
|
import { FormReset, FormSendReset } from "./forms/FormReset";
|
||
|
|
||
|
export const Login = () => {
|
||
|
const theme = useContext(ThemeContext);
|
||
|
|
||
|
return (
|
||
|
<div className={styles.login}>
|
||
|
<Helmet>
|
||
|
<meta name="theme-color" content={theme.background} />
|
||
|
</Helmet>
|
||
|
<div className={styles.content}>
|
||
|
<div className={styles.attribution}>
|
||
|
<span>
|
||
|
API:{" "}
|
||
|
<code>{RevoltClient.configuration?.revolt ?? "???"}</code>{" "}
|
||
|
· revolt.js: <code>{LIBRARY_VERSION}</code>{" "}
|
||
|
· App: <code>{APP_VERSION}</code>
|
||
|
</span>
|
||
|
<span>
|
||
|
{/*<LocaleSelector />*/}
|
||
|
</span>
|
||
|
</div>
|
||
|
<div className={styles.modal}>
|
||
|
<Switch>
|
||
|
<Route path="/login/create">
|
||
|
<FormCreate />
|
||
|
</Route>
|
||
|
<Route path="/login/resend">
|
||
|
<FormResend />
|
||
|
</Route>
|
||
|
<Route path="/login/reset/:token">
|
||
|
<FormReset />
|
||
|
</Route>
|
||
|
<Route path="/login/reset">
|
||
|
<FormSendReset />
|
||
|
</Route>
|
||
|
<Route path="/">
|
||
|
<FormLogin />
|
||
|
</Route>
|
||
|
</Switch>
|
||
|
</div>
|
||
|
<div className={styles.attribution}>
|
||
|
<span>
|
||
|
<Text id="general.image_by" /> ‎@lorenzoherrera
|
||
|
‏· unsplash.com
|
||
|
</span>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div
|
||
|
className={styles.bg}
|
||
|
style={{ background: `url('${background}')` }}
|
||
|
/>
|
||
|
</div>
|
||
|
);
|
||
|
};
|