auth.tsx 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import styles from "./auth.module.scss";
  2. import { IconButton } from "./button";
  3. import { useNavigate } from "react-router-dom";
  4. import { Path } from "../constant";
  5. import { useAccessStore } from "../store";
  6. import Locale from "../locales";
  7. import BotIcon from "../icons/bot.svg";
  8. export function AuthPage() {
  9. const navigate = useNavigate();
  10. const access = useAccessStore();
  11. const goHome = () => navigate(Path.Home);
  12. return (
  13. <div className={styles["auth-page"]}>
  14. <div className={`no-dark ${styles["auth-logo"]}`}>
  15. <BotIcon />
  16. </div>
  17. <div className={styles["auth-title"]}>{Locale.Auth.Title}</div>
  18. <div className={styles["auth-tips"]}>{Locale.Auth.Tips}</div>
  19. <input
  20. className={styles["auth-input"]}
  21. type="password"
  22. placeholder={Locale.Auth.Input}
  23. value={access.accessCode}
  24. onChange={(e) => {
  25. access.updateCode(e.currentTarget.value);
  26. }}
  27. />
  28. <div className={styles["auth-actions"]}>
  29. <IconButton
  30. text={Locale.Auth.Confirm}
  31. type="primary"
  32. onClick={goHome}
  33. />
  34. <IconButton text={Locale.Auth.Later} onClick={goHome} />
  35. </div>
  36. </div>
  37. );
  38. }