From 7e1ce66ace97c6299514c2112cdad652a83900a7 Mon Sep 17 00:00:00 2001 From: matevip Date: Thu, 21 May 2026 16:26:11 +0800 Subject: [PATCH] =?UTF-8?q?fix(goal,ui):=20the=20ring=20rendered=20as=20a?= =?UTF-8?q?=20square=20=E2=80=94=20explicit=20box-shadow:none?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mateclaw-ui/src/components/goal/GoalAvatarRing.vue | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/mateclaw-ui/src/components/goal/GoalAvatarRing.vue b/mateclaw-ui/src/components/goal/GoalAvatarRing.vue index f1b0dd23..740fd8e0 100644 --- a/mateclaw-ui/src/components/goal/GoalAvatarRing.vue +++ b/mateclaw-ui/src/components/goal/GoalAvatarRing.vue @@ -122,6 +122,14 @@ const tooltip = computed(() => { pointer-events: none; transform: rotate(-90deg); transition: transform 220ms cubic-bezier(0.4, 0, 0.2, 1); + /* overflow:visible — SVG's default `hidden` would clip the stroke and + * the drop-shadow glow at the viewBox edge. */ + overflow: visible; + /* Some upstream rule (couldn't track down — possibly a UA default for + * SVG or a global focus-ring style) was applying a 1px box-shadow on + * the SVG element itself, rendering as a square outline regardless of + * the circle inside. Explicitly clear it here. */ + box-shadow: none !important; } /* Hover invites — the ring lifts and brightens, telegraphing "you can * inspect me". Stays subtle to keep the steady-state quiet. */ @@ -140,7 +148,7 @@ const tooltip = computed(() => { */ .ring-track { stroke: currentColor; - stroke-opacity: 0.22; + stroke-opacity: 0.45; stroke-width: 2; }