atproto explorer

fix navbar link width

+61 -64
+61 -64
src/components/navbar.tsx
··· 94 94 </div> 95 95 <div class="flex flex-col flex-wrap"> 96 96 <Show when={props.params.repo}> 97 - <div> 98 - <div class="relative mt-1 flex items-center justify-between gap-1"> 99 - <div class="flex basis-full items-center gap-2"> 100 - <Tooltip text="Repository"> 101 - <button onclick={() => addToClipboard(props.params.repo)}> 102 - <div class="i-lucide-at-sign text-lg" /> 103 - </button> 104 - </Tooltip> 105 - <div class="flex gap-1"> 106 - {props.params.collection || location.pathname.includes("/labels") ? 107 - <A 108 - end 109 - href={`/at://${props.params.repo}`} 110 - inactiveClass="text-blue-400 hover:underline" 111 - > 112 - {showHandle() ? handle() : props.params.repo} 113 - </A> 114 - : <span>{showHandle() ? handle() : props.params.repo}</span>} 115 - <Show when={showHandle()}> 116 - <Tooltip 117 - text={ 118 - validHandle() === true ? "Valid handle" 119 - : validHandle() === undefined ? 120 - "Validating" 121 - : "Invalid handle" 122 - } 123 - > 124 - <div 125 - classList={{ 126 - "i-lucide-circle-check": validHandle() === true, 127 - "i-lucide-circle-x text-red-500 dark:text-red-400": 128 - validHandle() === false, 129 - "i-lucide-loader-circle animate-spin": validHandle() === undefined, 130 - }} 131 - /> 132 - </Tooltip> 133 - </Show> 134 - </div> 135 - </div> 136 - <Tooltip text={showHandle() ? "Show DID" : "Show Handle"}> 137 - <button 138 - onclick={() => { 139 - localStorage.showHandle = !showHandle(); 140 - setShowHandle(!showHandle()); 141 - }} 142 - > 143 - <div 144 - class={ 145 - `duration-400 shrink-0 text-lg transition-transform ${showHandle() ? "rotate-y-180" : ""} ` + 146 - (swapIcons[props.params.repo] ?? "i-lucide-arrow-left-right") 147 - } 148 - /> 97 + <div class="relative mt-1 flex items-center justify-between gap-1"> 98 + <div class="flex basis-full items-center gap-2"> 99 + <Tooltip text="Repository"> 100 + <button onclick={() => addToClipboard(props.params.repo)}> 101 + <div class="i-lucide-at-sign text-lg" /> 149 102 </button> 150 103 </Tooltip> 151 - </div> 152 - <Show when={props.params.repo in labelerCache && !props.params.collection}> 153 - <div class="mt-1 flex items-center gap-2"> 154 - <div class="i-lucide-tag text-lg" /> 155 - <A 156 - end 157 - href={`/at://${props.params.repo}/labels`} 158 - inactiveClass="text-blue-400 grow hover:underline" 159 - > 160 - labels 161 - </A> 104 + <div class="flex w-full gap-1"> 105 + {props.params.collection || location.pathname.includes("/labels") ? 106 + <A 107 + end 108 + href={`/at://${props.params.repo}`} 109 + inactiveClass={`text-blue-400 hover:underline ${!showHandle() ? "w-full" : ""}`} 110 + > 111 + {showHandle() ? handle() : props.params.repo} 112 + </A> 113 + : <span>{showHandle() ? handle() : props.params.repo}</span>} 114 + <Show when={showHandle()}> 115 + <Tooltip 116 + text={ 117 + validHandle() === true ? "Valid handle" 118 + : validHandle() === undefined ? 119 + "Validating" 120 + : "Invalid handle" 121 + } 122 + > 123 + <div 124 + classList={{ 125 + "i-lucide-circle-check": validHandle() === true, 126 + "i-lucide-circle-x text-red-500 dark:text-red-400": validHandle() === false, 127 + "i-lucide-loader-circle animate-spin": validHandle() === undefined, 128 + }} 129 + /> 130 + </Tooltip> 131 + </Show> 162 132 </div> 163 - </Show> 133 + </div> 134 + <Tooltip text={showHandle() ? "Show DID" : "Show Handle"}> 135 + <button 136 + onclick={() => { 137 + localStorage.showHandle = !showHandle(); 138 + setShowHandle(!showHandle()); 139 + }} 140 + > 141 + <div 142 + class={ 143 + `duration-400 shrink-0 text-lg transition-transform ${showHandle() ? "rotate-y-180" : ""} ` + 144 + (swapIcons[props.params.repo] ?? "i-lucide-arrow-left-right") 145 + } 146 + /> 147 + </button> 148 + </Tooltip> 149 + </div> 150 + </Show> 151 + <Show when={props.params.repo in labelerCache && !props.params.collection}> 152 + <div class="mt-1 flex items-center gap-2"> 153 + <div class="i-lucide-tag text-lg" /> 154 + <A 155 + end 156 + href={`/at://${props.params.repo}/labels`} 157 + inactiveClass="text-blue-400 grow hover:underline" 158 + > 159 + labels 160 + </A> 164 161 </div> 165 162 </Show> 166 163 <Show when={props.params.collection}>