mirror of
https://github.com/LukeHagar/better-auth.git
synced 2025-12-10 04:19:32 +00:00
feat: support useSession ssr for nuxt (#209)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { createAuthClient } from "better-auth/vue";
|
||||
|
||||
export const client = createAuthClient({
|
||||
export const authClient = createAuthClient({
|
||||
baseURL: "http://localhost:3000",
|
||||
});
|
||||
|
||||
@@ -11,4 +11,4 @@ export const {
|
||||
useSession,
|
||||
forgetPassword,
|
||||
resetPassword,
|
||||
} = client;
|
||||
} = authClient;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
import { useSession, signOut } from "~/lib/auth-client";
|
||||
const session = useSession();
|
||||
const router = useRouter();
|
||||
const { data: session, isPending, error } = await useSession(useFetch);
|
||||
</script>
|
||||
|
||||
|
||||
@@ -16,15 +15,15 @@ const router = useRouter();
|
||||
<CardContent>
|
||||
<div class="flex gap-2 items-center">
|
||||
<Avatar>
|
||||
<AvatarImage :src="session.data?.user.image || ''" alt="User profile" />
|
||||
<AvatarFallback>{{ session.data?.user.name[0] }}</AvatarFallback>
|
||||
<AvatarImage :src="session?.user.image || ''" alt="User profile" />
|
||||
<AvatarFallback>{{ session?.user.name[0] }}</AvatarFallback>
|
||||
</Avatar>
|
||||
<div>
|
||||
<p class="text-sm">
|
||||
{{ session.data?.user?.name }}
|
||||
{{ session?.user?.name }}
|
||||
</p>
|
||||
<p class="text-xs">
|
||||
{{ session.data?.user?.email }}
|
||||
{{ session?.user?.email }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -32,7 +31,7 @@ const router = useRouter();
|
||||
<CardFooter>
|
||||
<Button @click="async () => {
|
||||
await signOut()
|
||||
router.push('/')
|
||||
// router.push('/')
|
||||
}" variant="secondary">
|
||||
Sing Out
|
||||
</Button>
|
||||
|
||||
@@ -17,7 +17,7 @@ const features = [
|
||||
"Rate Limiting",
|
||||
"Session Management",
|
||||
];
|
||||
const session = useSession();
|
||||
const { data: session } = await useSession(useFetch);
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -39,6 +39,7 @@ const session = useSession();
|
||||
features and capabilities. <br />
|
||||
</p>
|
||||
|
||||
|
||||
<div class="flex flex-col gap-3 pt-2 flex-wrap">
|
||||
<div class="border-y py-2 border-dotted bg-secondary/60 opacity-80">
|
||||
<div class="text-xs flex items-center gap-2 justify-center text-muted-foreground">
|
||||
@@ -58,12 +59,12 @@ const session = useSession();
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center gap-2 mt-2 mx-auto">
|
||||
<NuxtLink to="/sign-in" v-if="!session.data">
|
||||
<NuxtLink to="/sign-in" v-if="!session">
|
||||
<Button variant="outline" class="rounded-none">
|
||||
Sign In
|
||||
</Button>
|
||||
</NuxtLink>
|
||||
<NuxtLink to="/dashboard" v-if="session.data">
|
||||
<NuxtLink to="/dashboard" v-if="session">
|
||||
<Button variant="outline" class="rounded-none">
|
||||
Dashboard
|
||||
</Button>
|
||||
|
||||
Reference in New Issue
Block a user