50 lines
1.6 KiB
TypeScript
50 lines
1.6 KiB
TypeScript
import { Ionicons } from "@expo/vector-icons";
|
|
import { Card, Chip, useThemeColor } from "heroui-native";
|
|
import { Text, View, Pressable } from "react-native";
|
|
|
|
import { Container } from "@/components/container";
|
|
import { SignIn } from "@/components/sign-in";
|
|
import { SignUp } from "@/components/sign-up";
|
|
import { authClient } from "@/lib/auth-client";
|
|
|
|
export default function Home() {
|
|
const { data: session } = authClient.useSession();
|
|
|
|
const mutedColor = useThemeColor("muted");
|
|
const successColor = useThemeColor("success");
|
|
const dangerColor = useThemeColor("danger");
|
|
const foregroundColor = useThemeColor("foreground");
|
|
|
|
return (
|
|
<Container className="p-6">
|
|
<View className="py-4 mb-6">
|
|
<Text className="text-4xl font-bold text-foreground mb-2">BETTER T STACK</Text>
|
|
</View>
|
|
|
|
{session?.user ? (
|
|
<Card variant="secondary" className="mb-6 p-4">
|
|
<Text className="text-foreground text-base mb-2">
|
|
Welcome, <Text className="font-medium">{session.user.name}</Text>
|
|
</Text>
|
|
<Text className="text-muted text-sm mb-4">{session.user.email}</Text>
|
|
<Pressable
|
|
className="bg-danger py-3 px-4 rounded-lg self-start active:opacity-70"
|
|
onPress={() => {
|
|
authClient.signOut();
|
|
}}
|
|
>
|
|
<Text className="text-foreground font-medium">Sign Out</Text>
|
|
</Pressable>
|
|
</Card>
|
|
) : null}
|
|
|
|
{!session?.user && (
|
|
<>
|
|
<SignIn />
|
|
<SignUp />
|
|
</>
|
|
)}
|
|
</Container>
|
|
);
|
|
}
|