Hey is a decentralized and permissionless social media app built with Lens Protocol 馃尶
1import { useState } from "react";
2import { useAccount } from "wagmi";
3import Login from "@/components/Shared/Auth/Login";
4import { SignupMessage } from "@/components/Shared/Auth/Signup/ChooseUsername";
5import { useAuthModalStore } from "@/store/non-persisted/modal/useAuthModalStore";
6import AuthMessage from "./AuthMessage";
7import Signup from "./Signup";
8
9const NotConnected = ({ isLogin }: { isLogin?: boolean }) => (
10 <AuthMessage
11 description="Connect with our wallet provider to access your account."
12 title={`${isLogin ? "Login" : "Signup"} to Hey.`}
13 />
14);
15
16const Auth = () => {
17 const { authModalType } = useAuthModalStore();
18 const [hasAccounts, setHasAccounts] = useState(true);
19 const { isConnected } = useAccount();
20
21 return (
22 <div className="m-5">
23 {authModalType === "signup" ? (
24 <div className="space-y-5">
25 {!isConnected && <NotConnected />}
26 <Signup />
27 </div>
28 ) : (
29 <div className="space-y-5">
30 {isConnected ? (
31 hasAccounts ? (
32 <AuthMessage
33 description="Hey uses this signature to verify that you're the owner of this address."
34 title="Please sign the message."
35 />
36 ) : (
37 <SignupMessage />
38 )
39 ) : (
40 <NotConnected isLogin />
41 )}
42 <Login setHasAccounts={setHasAccounts} />
43 </div>
44 )}
45 </div>
46 );
47};
48
49export default Auth;