Skip to content

Commit 3d9aaea

Browse files
committed
fix: improve layout and truncation for IPInfoCard and GlobalTrafficIndicator components
1 parent 0301001 commit 3d9aaea

File tree

2 files changed

+33
-22
lines changed

2 files changed

+33
-22
lines changed

components/GlobalTrafficIndicator.vue

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -487,12 +487,16 @@ onBeforeUnmount(() => {
487487
<!-- Stats -->
488488
<div class="grid grid-cols-2 gap-1 text-xs">
489489
<div class="flex items-center gap-1">
490-
<IconArrowDown class="size-3 text-success" />
491-
<span class="font-mono">{{ formatBytes(downloadSpeed) }}/s</span>
490+
<IconArrowDown class="size-3 shrink-0 text-success" />
491+
<span class="truncate font-mono"
492+
>{{ formatBytes(downloadSpeed) }}/s</span
493+
>
492494
</div>
493495
<div class="flex items-center gap-1">
494-
<IconArrowUp class="size-3 text-info" />
495-
<span class="font-mono">{{ formatBytes(uploadSpeed) }}/s</span>
496+
<IconArrowUp class="size-3 shrink-0 text-info" />
497+
<span class="truncate font-mono"
498+
>{{ formatBytes(uploadSpeed) }}/s</span
499+
>
496500
</div>
497501
</div>
498502
</div>

components/IPInfoCard.vue

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -62,36 +62,43 @@ function handleProviderChange(event: Event) {
6262
</div>
6363

6464
<div v-else-if="ipInfo" class="space-y-2">
65-
<div class="flex items-center justify-between">
66-
<span class="text-base-content/60">{{ t('ipAddress') }}</span>
67-
<span class="font-mono font-semibold">{{ ipInfo.ip }}</span>
65+
<div class="flex items-center justify-between gap-2">
66+
<span class="shrink-0 text-base-content/60">{{ t('ipAddress') }}</span>
67+
<span class="truncate font-mono font-semibold" :title="ipInfo.ip">{{
68+
ipInfo.ip
69+
}}</span>
6870
</div>
6971

70-
<div v-if="ipInfo.country" class="flex items-center justify-between">
71-
<span class="text-base-content/60">{{ t('country') }}</span>
72-
<span>{{ ipInfo.country }}</span>
72+
<div
73+
v-if="ipInfo.country"
74+
class="flex items-center justify-between gap-2"
75+
>
76+
<span class="shrink-0 text-base-content/60">{{ t('country') }}</span>
77+
<span class="truncate">{{ ipInfo.country }}</span>
7378
</div>
7479

75-
<div v-if="ipInfo.city" class="flex items-center justify-between">
76-
<span class="text-base-content/60">{{ t('city') }}</span>
77-
<span>{{ ipInfo.city }}</span>
80+
<div v-if="ipInfo.city" class="flex items-center justify-between gap-2">
81+
<span class="shrink-0 text-base-content/60">{{ t('city') }}</span>
82+
<span class="truncate">{{ ipInfo.city }}</span>
7883
</div>
7984

80-
<div v-if="ipInfo.org" class="flex items-center justify-between">
81-
<span class="text-base-content/60">{{ t('organization') }}</span>
82-
<span class="max-w-50 truncate text-right" :title="ipInfo.org">
85+
<div v-if="ipInfo.org" class="flex items-center justify-between gap-2">
86+
<span class="shrink-0 text-base-content/60">{{
87+
t('organization')
88+
}}</span>
89+
<span class="truncate text-right" :title="ipInfo.org">
8390
{{ ipInfo.org }}
8491
</span>
8592
</div>
8693

87-
<div v-if="ipInfo.asn" class="flex items-center justify-between">
88-
<span class="text-base-content/60">ASN</span>
89-
<span class="font-mono">AS{{ ipInfo.asn }}</span>
94+
<div v-if="ipInfo.asn" class="flex items-center justify-between gap-2">
95+
<span class="shrink-0 text-base-content/60">ASN</span>
96+
<span class="truncate font-mono">AS{{ ipInfo.asn }}</span>
9097
</div>
9198

92-
<div v-if="ipInfo.isp" class="flex items-center justify-between">
93-
<span class="text-base-content/60">ISP</span>
94-
<span class="max-w-50 truncate text-right" :title="ipInfo.isp">
99+
<div v-if="ipInfo.isp" class="flex items-center justify-between gap-2">
100+
<span class="shrink-0 text-base-content/60">ISP</span>
101+
<span class="truncate text-right" :title="ipInfo.isp">
95102
{{ ipInfo.isp }}
96103
</span>
97104
</div>

0 commit comments

Comments
 (0)