add nuxt and expo with orpc

This commit is contained in:
Aman Varshney
2025-04-23 13:03:38 +05:30
parent 49c7d4f436
commit d3a80b7e63
145 changed files with 2013 additions and 874 deletions

View File

@@ -0,0 +1,27 @@
<script setup lang="ts">
import { useQuery } from '@tanstack/vue-query'
const {$authClient} = useNuxtApp()
definePageMeta({
middleware: ['auth']
})
const { $orpc } = useNuxtApp()
const session = $authClient.useSession()
const privateData = useQuery($orpc.privateData.queryOptions())
</script>
<template>
<div class="container mx-auto p-4">
<h1 class="text-2xl font-bold mb-4">Dashboard</h1>
<div v-if="session?.data?.user">
<p class="mb-2">Welcome {{ session.data.user.name }}</p>
</div>
<div v-if="privateData.status.value === 'pending'">Loading private data...</div>
<div v-else-if="privateData.status.value === 'error'">Error loading private data: {{ privateData.error.value?.message }}</div>
<p v-else-if="privateData.data.value">Private Data: {{ privateData.data.value.message }}</p>
</div>
</template>

View File

@@ -0,0 +1,24 @@
<script setup lang="ts">
const { $authClient } = useNuxtApp();
import SignInForm from "~/components/SignInForm.vue";
import SignUpForm from "~/components/SignUpForm.vue";
const session = $authClient.useSession();
const showSignIn = ref(true);
watchEffect(() => {
if (!session?.value.isPending && session?.value.data) {
navigateTo("/dashboard", { replace: true });
}
});
</script>
<template>
<div>
<Loader v-if="session.isPending" />
<div v-else-if="!session.data">
<SignInForm v-if="showSignIn" @switch-to-sign-up="showSignIn = false" />
<SignUpForm v-else @switch-to-sign-in="showSignIn = true" />
</div>
</div>
</template>