import { Text, View, Pressable } from "react-native"; import { Container } from "@/components/container"; import { authClient } from "@/lib/auth-client"; import { Ionicons } from "@expo/vector-icons"; import { Card, Chip, useThemeColor } from "heroui-native"; import { SignIn } from "@/components/sign-in"; import { SignUp } from "@/components/sign-up"; {{#if (eq api "orpc")}} import { useQuery } from "@tanstack/react-query"; import { queryClient, orpc } from "@/utils/orpc"; {{/if}} {{#if (eq api "trpc")}} import { useQuery } from "@tanstack/react-query"; import { queryClient, trpc } from "@/utils/trpc"; {{/if}} export default function Home() { {{#if (eq api "orpc")}} const healthCheck = useQuery(orpc.healthCheck.queryOptions()); const privateData = useQuery(orpc.privateData.queryOptions()); const isConnected = healthCheck?.data === "OK"; const isLoading = healthCheck?.isLoading; {{/if}} {{#if (eq api "trpc")}} const healthCheck = useQuery(trpc.healthCheck.queryOptions()); const privateData = useQuery(trpc.privateData.queryOptions()); const isConnected = healthCheck?.data === "OK"; const isLoading = healthCheck?.isLoading; {{/if}} const { data: session } = authClient.useSession(); const mutedColor = useThemeColor("muted"); const successColor = useThemeColor("success"); const dangerColor = useThemeColor("danger"); const foregroundColor = useThemeColor("foreground"); return ( BETTER T STACK {session?.user ? ( Welcome, {session.user.name} {session.user.email} { authClient.signOut(); {{#if (eq api "orpc")}} queryClient.invalidateQueries(); {{/if}} {{#if (eq api "trpc")}} queryClient.invalidateQueries(); {{/if}} }} > Sign Out ) : null} {{#unless (eq api "none")}} System Status {isConnected ? "LIVE" : "OFFLINE"} {{#if (eq api "orpc")}}ORPC{{else}}TRPC{{/if}} Backend {isLoading ? "Checking connection..." : isConnected ? "Connected to API" : "API Disconnected"} {isLoading && ( )} {!isLoading && isConnected && ( )} {!isLoading && !isConnected && ( )} Private Data {privateData && ( {privateData.data?.message} )} {{/unless}} {!session?.user && ( <> )} ); }