Add gradient border to profile avatar circle

Applied the same gradient border treatment as other UI elements:
- Inner gradient fill: Red to orange to blue
- Outer gradient border: White to red with mask composite
- 2px border width with rounded corners
- Applied to both desktop and mobile profile avatars

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Dorian
2026-02-03 00:32:50 +00:00
parent 192abfc88c
commit 9f001572cc

View File

@@ -35,8 +35,8 @@
@click="toggleProfileMenu" @click="toggleProfileMenu"
class="profile-button flex items-center gap-2" class="profile-button flex items-center gap-2"
> >
<div class="w-8 h-8 rounded-full bg-gradient-to-br from-orange-500 to-pink-500 flex items-center justify-center text-white text-sm font-semibold"> <div class="profile-avatar">
D <span>D</span>
</div> </div>
<span class="text-white text-sm font-medium">Dorian</span> <span class="text-white text-sm font-medium">Dorian</span>
<svg class="w-4 h-4 transition-transform" :class="{ 'rotate-180': profileMenuOpen }" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <svg class="w-4 h-4 transition-transform" :class="{ 'rotate-180': profileMenuOpen }" fill="none" stroke="currentColor" viewBox="0 0 24 24">
@@ -73,8 +73,8 @@
<!-- Mobile User Avatar + Name (No Dropdown) --> <!-- Mobile User Avatar + Name (No Dropdown) -->
<div class="md:hidden flex items-center gap-2 mr-2"> <div class="md:hidden flex items-center gap-2 mr-2">
<div class="w-8 h-8 rounded-full bg-gradient-to-br from-orange-500 to-pink-500 flex items-center justify-center text-white text-sm font-semibold"> <div class="profile-avatar">
D <span>D</span>
</div> </div>
<span class="text-white text-sm font-medium">Dorian</span> <span class="text-white text-sm font-medium">Dorian</span>
</div> </div>
@@ -479,6 +479,35 @@ onUnmounted(() => {
} }
/* Profile Dropdown Styles */ /* Profile Dropdown Styles */
.profile-avatar {
position: relative;
width: 32px;
height: 32px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-weight: 600;
color: white;
background: linear-gradient(135deg, #F0003D 0%, #FA4727 36.98%, #6B90F4 77.6%);
}
.profile-avatar::before {
content: '';
position: absolute;
inset: 0;
border-radius: inherit;
padding: 2px;
background: linear-gradient(135deg, rgba(255, 255, 255, 0.8), rgba(245, 37, 50, 0.6));
-webkit-mask:
linear-gradient(#fff 0 0) content-box,
linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
pointer-events: none;
}
.profile-button { .profile-button {
padding: 6px 12px 6px 6px; padding: 6px 12px 6px 6px;
border-radius: 12px; border-radius: 12px;