Skip to content

Commit 0160744

Browse files
authored
fix: prevent package manager tabs hydration mismatch (#309)
1 parent bed96e7 commit 0160744

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

app/pages/[...package].vue

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ definePageMeta({
1313
1414
const router = useRouter()
1515
16+
const isMounted = useMounted()
17+
1618
const { packageName, requestedVersion, orgName } = usePackageRoute()
1719
1820
if (import.meta.server) {
@@ -836,10 +838,10 @@ defineOgImageComponent('Package', {
836838
v-for="pm in packageManagers"
837839
:key="pm.id"
838840
role="tab"
839-
:aria-selected="selectedPM === pm.id"
841+
:aria-selected="isMounted && selectedPM === pm.id"
840842
class="px-2 py-1.5 font-mono text-xs rounded transition-colors duration-150 border border-solid focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50 inline-flex items-center gap-1.5"
841843
:class="
842-
selectedPM === pm.id
844+
isMounted && selectedPM === pm.id
843845
? 'bg-bg shadow text-fg border-border'
844846
: 'text-fg-subtle hover:text-fg border-transparent'
845847
"
@@ -921,10 +923,10 @@ defineOgImageComponent('Package', {
921923
v-for="pm in packageManagers"
922924
:key="pm.id"
923925
role="tab"
924-
:aria-selected="selectedPM === pm.id"
926+
:aria-selected="isMounted && selectedPM === pm.id"
925927
class="px-2 py-1.5 font-mono text-xs rounded transition-colors duration-150 border border-solid focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fg/50 inline-flex items-center gap-1.5"
926928
:class="
927-
selectedPM === pm.id
929+
isMounted && selectedPM === pm.id
928930
? 'bg-bg shadow text-fg border-border'
929931
: 'text-fg-subtle hover:text-fg border-transparent'
930932
"

0 commit comments

Comments
 (0)