@@ -18,6 +18,9 @@ const isOpen = shallowRef(false)
1818/** Check if connected to at least one service */
1919const hasAnyConnection = computed (() => isNpmConnected .value || !! atprotoUser .value )
2020
21+ /** Check if connected to both services */
22+ const hasBothConnections = computed (() => isNpmConnected .value && !! atprotoUser .value )
23+
2124/** Only show count of active (pending/approved/running) operations */
2225const operationCount = computed (() => activeOperations .value .length )
2326
@@ -62,17 +65,31 @@ function openAuthModal() {
6265 class =" border-none"
6366 >
6467 <!-- Stacked avatars when connected -->
65- <div v-if =" hasAnyConnection" class =" flex items-center relative" >
68+ <div
69+ v-if =" hasAnyConnection"
70+ class =" flex items-center"
71+ :class =" hasBothConnections ? '-space-x-2' : ''"
72+ >
73+ <!-- npm avatar (first/back) -->
74+ <span
75+ v-if =" isNpmConnected"
76+ class =" w-6 h-6 rounded-full bg-bg-muted ring-2 ring-bg flex items-center justify-center"
77+ >
78+ <span class =" i-simple-icons:npm w-3 h-3 text-fg-muted" aria-hidden =" true" />
79+ </span >
80+
81+ <!-- Atmosphere avatar (second/front, overlapping) -->
6682 <span
83+ v-if =" atprotoUser"
6784 class =" w-6 h-6 rounded-full bg-bg-muted ring-2 ring-bg flex items-center justify-center"
68- aria-hidden = " true "
85+ :class = " hasBothConnections ? 'relative z-10' : '' "
6986 >
70- <span class =" size-1.5 rounded-full bg-green-600 absolute top-0 -inset-ie-0" ></span >
71- <span class =" i-carbon-cloud w-3 h-3 text-fg-muted" />
87+ <span class =" i-simple-icons:maildotru w-3 h-3 text-fg-muted" aria-hidden =" true" />
7288 </span >
73- <span class =" sr-only" >{{ $t('account_menu.connected') }}</span >
7489 </div >
75- <span v-else class =" font-mono text-sm" >
90+
91+ <!-- "connect" text when not connected -->
92+ <span v-if =" !hasAnyConnection" class =" font-mono text-sm" >
7693 {{ $t('account_menu.connect') }}
7794 </span >
7895
@@ -115,19 +132,8 @@ function openAuthModal() {
115132 class =" w-full px-3 py-2.5 flex items-center gap-3 hover:bg-bg-muted transition-colors text-start rounded-md"
116133 @click =" openConnectorModal"
117134 >
118- <img
119- v-if =" npmAvatar"
120- :src =" npmAvatar"
121- :alt =" npmUser"
122- width =" 32"
123- height =" 32"
124- class =" w-8 h-8 rounded-full object-cover"
125- />
126- <span
127- v-else
128- class =" w-8 h-8 rounded-full bg-bg-muted flex items-center justify-center"
129- >
130- <span class =" i-carbon-terminal w-4 h-4 text-fg-muted" aria-hidden =" true" />
135+ <span class =" w-8 h-8 rounded-full bg-bg-muted flex items-center justify-center" >
136+ <span class =" i-simple-icons:npm w-4 h-4 text-fg-muted" aria-hidden =" true" />
131137 </span >
132138 <div class =" flex-1 min-w-0" >
133139 <div class =" font-mono text-sm text-fg truncate" >~{{ npmUser }}</div >
@@ -158,19 +164,8 @@ function openAuthModal() {
158164 class =" w-full px-3 py-2.5 flex items-center gap-3 hover:bg-bg-muted transition-colors text-start rounded-md"
159165 @click =" openAuthModal"
160166 >
161- <img
162- v-if =" atprotoUser.avatar"
163- :src =" atprotoUser.avatar"
164- :alt =" atprotoUser.handle"
165- width =" 32"
166- height =" 32"
167- class =" w-8 h-8 rounded-full object-cover"
168- />
169- <span
170- v-else
171- class =" w-8 h-8 rounded-full bg-bg-muted flex items-center justify-center"
172- >
173- <span class =" i-carbon-cloud w-4 h-4 text-fg-muted" aria-hidden =" true" />
167+ <span class =" w-8 h-8 rounded-full bg-bg-muted flex items-center justify-center" >
168+ <span class =" i-simple-icons:maildotru w-4 h-4 text-fg-muted" aria-hidden =" true" />
174169 </span >
175170 <div class =" flex-1 min-w-0" >
176171 <div class =" font-mono text-sm text-fg truncate" >@{{ atprotoUser.handle }}</div >
@@ -200,7 +195,7 @@ function openAuthModal() {
200195 class =" i-carbon-circle-dash w-4 h-4 text-yellow-500 animate-spin"
201196 aria-hidden =" true"
202197 />
203- <span v-else class =" i-carbon-terminal w-4 h-4 text-fg-muted" aria-hidden =" true" />
198+ <span v-else class =" i-simple-icons:npm w-4 h-4 text-fg-muted" aria-hidden =" true" />
204199 </span >
205200 <div class =" flex-1 min-w-0" >
206201 <div class =" font-mono text-sm text-fg" >
@@ -222,7 +217,7 @@ function openAuthModal() {
222217 @click =" openAuthModal"
223218 >
224219 <span class =" w-8 h-8 rounded-full bg-bg-muted flex items-center justify-center" >
225- <span class =" i-carbon-cloud w-4 h-4 text-fg-muted" aria-hidden =" true" />
220+ <span class =" i-simple-icons:maildotru w-4 h-4 text-fg-muted" aria-hidden =" true" />
226221 </span >
227222 <div class =" flex-1 min-w-0" >
228223 <div class =" font-mono text-sm text-fg" >
0 commit comments