Skip to content

Commit 11f30fa

Browse files
chore(ui): proflie page ui update
1 parent 2728ae4 commit 11f30fa

1 file changed

Lines changed: 56 additions & 20 deletions

File tree

src/app/(user)/profile/[profileId]/_components/ProfileContent.tsx

Lines changed: 56 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -147,18 +147,50 @@ function ProfileContent({ profileId }: ProfileContentProps) {
147147
<Card className="border border-border/20 bg-background/20 backdrop-blur-sm mb-8">
148148
<CardContent className="p-8">
149149
<div className="flex flex-col md:flex-row items-start md:items-center gap-6">
150-
<motion.div
151-
initial={{ scale: 0 }}
152-
animate={{ scale: 1 }}
153-
transition={{ delay: 0.2, type: "spring", stiffness: 200 }}
154-
>
155-
<Avatar className="w-24 h-24 border-4 border-primary/20">
156-
<AvatarImage src={isOwnProfile ? session?.user?.image ?? profile.image ?? undefined : profile.image ?? undefined} alt={profile.name} />
157-
<AvatarFallback className="text-2xl font-semibold bg-primary/10">
158-
{profile.name?.split(" ").map(n => n[0]).join("")}
159-
</AvatarFallback>
160-
</Avatar>
161-
</motion.div>
150+
{/* Avatar and mobile action buttons row */}
151+
<div className="flex items-start justify-between w-full md:w-auto">
152+
<motion.div
153+
initial={{ scale: 0 }}
154+
animate={{ scale: 1 }}
155+
transition={{ delay: 0.2, type: "spring", stiffness: 200 }}
156+
>
157+
<Avatar className="w-24 h-24 border-4 border-primary/20">
158+
<AvatarImage src={isOwnProfile ? session?.user?.image ?? profile.image ?? undefined : profile.image ?? undefined} alt={profile.name} />
159+
<AvatarFallback className="text-2xl font-semibold bg-primary/10">
160+
{profile.name?.split(" ").map(n => n[0]).join("")}
161+
</AvatarFallback>
162+
</Avatar>
163+
</motion.div>
164+
165+
{/* Mobile action buttons - visible only on small screens */}
166+
{isOwnProfile && (
167+
<motion.div
168+
initial={{ opacity: 0, scale: 0 }}
169+
animate={{ opacity: 1, scale: 1 }}
170+
transition={{ delay: 0.5 }}
171+
className="flex items-center gap-2 md:hidden"
172+
>
173+
<Button
174+
onClick={() => setIsEditModalOpen(true)}
175+
variant="outline"
176+
size="icon"
177+
className="h-9 w-9 border-border/40 bg-background/50 rounded-sm hover:bg-primary/5 hover:border-primary/10 cursor-pointer"
178+
title="Edit Profile"
179+
>
180+
<Edit3 className="w-4 h-4" />
181+
</Button>
182+
<Button
183+
onClick={() => signOut()}
184+
variant="outline"
185+
size="icon"
186+
className="h-9 w-9 border-border/40 bg-background/50 rounded-full cursor-pointer hover:bg-red-500/5 hover:border-red-500/10 hover:text-red-500"
187+
title="Sign Out"
188+
>
189+
<LogOut className="w-4 h-4" />
190+
</Button>
191+
</motion.div>
192+
)}
193+
</div>
162194

163195
<div className="flex-1 space-y-4">
164196
<div className="flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4">
@@ -209,21 +241,25 @@ function ProfileContent({ profileId }: ProfileContentProps) {
209241
initial={{ opacity: 0, scale: 0 }}
210242
animate={{ opacity: 1, scale: 1 }}
211243
transition={{ delay: 0.5 }}
212-
className="flex flex-col gap-4"
244+
className="hidden md:flex items-center gap-2"
213245
>
214246
<Button
215247
onClick={() => setIsEditModalOpen(true)}
216-
className="bg-primary/80 cursor-pointer hover:bg-primary/90 backdrop-blur-sm"
248+
variant="outline"
249+
size="icon"
250+
className="h-9 w-9 border-border/40 bg-background/50 rounded-sm hover:bg-primary/5 hover:border-primary/10 cursor-pointer"
251+
title="Edit Profile"
217252
>
218-
<Edit3 className="w-4 h-4 mr-2" />
219-
Edit Profile
253+
<Edit3 className="w-4 h-4" />
220254
</Button>
221255
<Button
222256
onClick={() => signOut()}
223-
className="bg-primary/80 hover:bg-primary/90 backdrop-blur-sm"
257+
variant="outline"
258+
size="icon"
259+
className="h-9 w-9 border-border/40 bg-background/50 rounded-full cursor-pointer hover:bg-red-500/5 hover:border-red-500/10 hover:text-red-500"
260+
title="Sign Out"
224261
>
225-
<LogOut className="w-4 h-4 mr-2" />
226-
Sign-Out
262+
<LogOut className="w-4 h-4" />
227263
</Button>
228264
</motion.div>
229265
)}
@@ -247,7 +283,7 @@ function ProfileContent({ profileId }: ProfileContentProps) {
247283
animate={{ opacity: 1, y: 0 }}
248284
transition={{ delay: 0.7 }}
249285
>
250-
<h3 className="text-sm font-medium text-foreground flex items-center gap-2">
286+
<h3 className="text-sm font-medium text-foreground flex items-center mb-3 gap-2">
251287
<Code className="w-4 h-4" />
252288
Skills
253289
</h3>

0 commit comments

Comments
 (0)