index.tsx 995 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import React from "react";
  2. import Router from "next/router";
  3. import { DISALLOW_ANONYMOUS_LINKS } from "../consts";
  4. import NeedToLogin from "../components/NeedToLogin";
  5. import Extensions from "../components/Extensions";
  6. import LinksTable from "../components/LinksTable";
  7. import AppWrapper from "../components/AppWrapper";
  8. import Shortener from "../components/Shortener";
  9. import Features from "../components/Features";
  10. import Footer from "../components/Footer";
  11. import { useStoreState } from "../store";
  12. const Homepage = () => {
  13. const isAuthenticated = useStoreState(s => s.auth.isAuthenticated);
  14. if (
  15. !isAuthenticated &&
  16. DISALLOW_ANONYMOUS_LINKS &&
  17. typeof window !== "undefined"
  18. ) {
  19. Router.push("/login");
  20. return null;
  21. }
  22. return (
  23. <AppWrapper>
  24. <Shortener />
  25. {!isAuthenticated && <NeedToLogin />}
  26. {isAuthenticated && <LinksTable />}
  27. <Features />
  28. <Extensions />
  29. <Footer />
  30. </AppWrapper>
  31. );
  32. };
  33. export default Homepage;