Updated site
This commit is contained in:
@@ -1,7 +0,0 @@
|
||||
import { getSession } from "@/lib/auth/session"
|
||||
|
||||
export default async function PasswordSettings() {
|
||||
const {} = await getSession()
|
||||
|
||||
return null
|
||||
}
|
||||
@@ -20,14 +20,14 @@ export default function UserProfile() {
|
||||
|
||||
if (isPending) {
|
||||
return (
|
||||
<Card className="max-w-lg">
|
||||
<Card>
|
||||
<CardContent className="p-6">
|
||||
<div className="animate-pulse">
|
||||
<div className="flex items-center space-x-4">
|
||||
<div className="w-16 h-16 bg-gray-200 rounded-full"></div>
|
||||
<div className="space-y-2">
|
||||
<div className="h-4 bg-gray-200 rounded w-32"></div>
|
||||
<div className="h-3 bg-gray-200 rounded w-24"></div>
|
||||
<div className="w-32 h-4 bg-gray-200 rounded"></div>
|
||||
<div className="w-24 h-3 bg-gray-200 rounded"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -52,7 +52,7 @@ export default function UserProfile() {
|
||||
: user.email?.[0]?.toUpperCase() || "U"
|
||||
|
||||
return (
|
||||
<Card className="max-w-lg">
|
||||
<Card>
|
||||
<CardHeader className="text-center">
|
||||
<div className="flex justify-center mb-4">
|
||||
<Avatar className="w-20 h-20">
|
||||
@@ -62,13 +62,13 @@ export default function UserProfile() {
|
||||
</AvatarFallback>
|
||||
</Avatar>
|
||||
</div>
|
||||
<div className="flex items-center justify-between">
|
||||
<div className="flex justify-between items-center">
|
||||
<CardTitle className="text-xl">Profile</CardTitle>
|
||||
</div>
|
||||
</CardHeader>
|
||||
<CardContent className="space-y-4">
|
||||
<div className="space-y-2">
|
||||
<Label className="text-sm font-medium flex items-center gap-2">
|
||||
<Label className="flex gap-2 items-center text-sm font-medium">
|
||||
<User className="w-4 h-4" />
|
||||
User ID
|
||||
</Label>
|
||||
@@ -80,7 +80,7 @@ export default function UserProfile() {
|
||||
</div>
|
||||
|
||||
<div className="space-y-2">
|
||||
<Label className="text-sm font-medium flex items-center gap-2">
|
||||
<Label className="flex gap-2 items-center text-sm font-medium">
|
||||
<Calendar className="w-4 h-4" />
|
||||
Joined
|
||||
</Label>
|
||||
@@ -155,7 +155,7 @@ function UserUpdateForm({ name, image, email }: z.infer<typeof userUpdateSchema>
|
||||
name="name"
|
||||
render={({ field }) => (
|
||||
<FormItem>
|
||||
<FormLabel className="text-sm font-medium flex items-center gap-2">
|
||||
<FormLabel className="flex gap-2 items-center text-sm font-medium">
|
||||
<User2 className="w-4 h-4" />
|
||||
Name
|
||||
</FormLabel>
|
||||
@@ -171,7 +171,7 @@ function UserUpdateForm({ name, image, email }: z.infer<typeof userUpdateSchema>
|
||||
name="image"
|
||||
render={({ field }) => (
|
||||
<FormItem>
|
||||
<FormLabel className="text-sm font-medium flex items-center gap-2">
|
||||
<FormLabel className="flex gap-2 items-center text-sm font-medium">
|
||||
{/* eslint-disable-next-line jsx-a11y/alt-text */}
|
||||
<Image className="w-4 h-4" />
|
||||
Image
|
||||
|
||||
@@ -13,7 +13,7 @@ export default async function UserAuthPage() {
|
||||
return (
|
||||
<div>
|
||||
<DashBoardTitle title="User Auth" renderSubtitle subtitle="Manage user settings" />
|
||||
<div className="flex flex-col gap-6">
|
||||
<div className="flex flex-col gap-6 max-w-lg">
|
||||
<PasskeyAdd />
|
||||
<PasskeysList />
|
||||
</div>
|
||||
|
||||
@@ -10,7 +10,7 @@ export default async function UserPage() {
|
||||
}
|
||||
|
||||
return (
|
||||
<div>
|
||||
<div className="max-w-lg">
|
||||
<DashBoardTitle title="User Profile" renderSubtitle subtitle="Manage Profile" />
|
||||
<UserProfile />
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { relations } from "drizzle-orm"
|
||||
import { boolean, integer, pgTable, text, timestamp } from "drizzle-orm/pg-core"
|
||||
|
||||
export const user = pgTable("user", {
|
||||
@@ -59,3 +60,30 @@ export const passkey = pgTable("passkey", {
|
||||
createdAt: timestamp("created_at"),
|
||||
aaguid: text("aaguid")
|
||||
})
|
||||
|
||||
export const userRelations = relations(user, ({ many }) => ({
|
||||
accounts: many(account),
|
||||
passkeys: many(passkey),
|
||||
sessions: many(session)
|
||||
}))
|
||||
|
||||
export const accountRelations = relations(account, ({ one }) => ({
|
||||
user: one(user, {
|
||||
fields: [account.userId],
|
||||
references: [user.id]
|
||||
})
|
||||
}))
|
||||
|
||||
export const passkeyRelations = relations(passkey, ({ one }) => ({
|
||||
user: one(user, {
|
||||
fields: [passkey.userId],
|
||||
references: [user.id]
|
||||
})
|
||||
}))
|
||||
|
||||
export const sessionRelations = relations(session, ({ one }) => ({
|
||||
user: one(user, {
|
||||
fields: [session.userId],
|
||||
references: [user.id]
|
||||
})
|
||||
}))
|
||||
|
||||
Reference in New Issue
Block a user