|
91 | 91 | {/if} |
92 | 92 | <li class="space-y-2"> |
93 | 93 | {#if packages.length > 1} |
| 94 | + <!-- Categories with sub-items --> |
94 | 95 | <h3 class="text-xl font-bold text-primary">{category.name}</h3> |
95 | 96 | <ul class="space-y-2"> |
| 97 | + <!-- Sub-items --> |
96 | 98 | {#each packages as { pkg } (pkg.name)} |
97 | 99 | {@const linkedBadgeData = Object.entries(otherReleases).find( |
98 | 100 | ([k]) => k.localeCompare(pkg.name, undefined, { sensitivity: "base" }) === 0 |
99 | 101 | )} |
100 | 102 | <li> |
101 | 103 | {#if page.url.pathname.endsWith(`/${pkg.name}`)} |
| 104 | + <!-- Active sub-item --> |
102 | 105 | <span class="font-semibold">{pkg.name}</span> |
103 | 106 | {:else} |
| 107 | + <!-- Clickable sub-items --> |
104 | 108 | <a |
105 | 109 | href="/package/{pkg.name}" |
106 | | - class="group inline-flex w-full items-center gap-1 underline-offset-4 hover:underline" |
| 110 | + class="group inline-flex w-full items-center gap-1" |
107 | 111 | > |
108 | | - {pkg.name} |
| 112 | + <span class="underline-offset-4 group-hover:underline">{pkg.name}</span> |
109 | 113 | <span class="ml-auto flex items-center gap-1"> |
110 | 114 | {#if linkedBadgeData} |
111 | 115 | {@const [, p] = linkedBadgeData} |
|
123 | 127 | {/each} |
124 | 128 | </ul> |
125 | 129 | {:else} |
| 130 | + <!-- Categories with 1 sub-item --> |
126 | 131 | {@const firstPackageName = packages[0]?.pkg.name ?? ""} |
127 | 132 | {@const linkedBadgeData = Object.entries(otherReleases).find( |
128 | 133 | ([k]) => k.localeCompare(firstPackageName, undefined, { sensitivity: "base" }) === 0 |
129 | 134 | )} |
130 | 135 | {#if page.url.pathname.endsWith(`/${firstPackageName}`)} |
| 136 | + <!-- Active category --> |
131 | 137 | <h3 class="text-xl font-bold text-primary underline underline-offset-4"> |
132 | 138 | {category.name} |
133 | 139 | </h3> |
134 | 140 | {:else} |
| 141 | + <!-- Clickable category --> |
135 | 142 | <a |
136 | 143 | href="/package/{firstPackageName}" |
137 | | - class="group inline-flex w-full items-center gap-1 text-xl font-bold text-primary underline-offset-4 hover:underline" |
| 144 | + class="group inline-flex w-full items-center gap-1 text-xl font-bold text-primary" |
138 | 145 | > |
139 | | - {category.name} |
| 146 | + <span class="underline-offset-4 group-hover:underline">{category.name}</span> |
140 | 147 | <span class="ml-auto flex items-center gap-1"> |
141 | 148 | {#if linkedBadgeData} |
142 | 149 | {@const [, p] = linkedBadgeData} |
|
0 commit comments