···
25
-
<nav class="flex w-full flex-col px-2 text-sm wrap-anywhere sm:text-base">
26
-
<div class="relative flex items-center justify-between gap-1">
27
-
<div class="flex min-h-5 basis-full items-center gap-2 sm:min-h-6">
25
+
<nav class="flex w-full flex-col text-sm wrap-anywhere sm:text-base">
27
+
<div class="group relative flex items-center justify-between gap-1 rounded-md border-[0.5px] border-transparent bg-transparent px-2 py-0.5 transition-all duration-200 hover:border-neutral-300 hover:bg-neutral-50/40 dark:hover:border-neutral-600 dark:hover:bg-neutral-800/40">
28
+
<div class="flex min-h-5 basis-full items-center gap-1.5 sm:min-h-6">
29
-
<span class="iconify lucide--hard-drive shrink-0"></span>
30
+
<span class="iconify lucide--hard-drive shrink-0 text-neutral-500 transition-colors duration-200 group-hover:text-neutral-700 dark:text-neutral-400 dark:group-hover:text-neutral-200"></span>
32
-
<Show when={props.params.repo} fallback={<span>{pds()}</span>}>
33
+
<Show when={props.params.repo} fallback={<span class="font-medium">{pds()}</span>}>
36
-
inactiveClass="text-blue-400 w-full hover:underline active:underline"
37
+
inactiveClass="text-blue-500 w-full font-medium hover:text-blue-600 transition-colors duration-150 dark:text-blue-400 dark:hover:text-blue-300"
···
47
-
buttonClass="rounded p-0.5 sm:p-1 text-base"
48
-
menuClass="top-6 p-2 text-xs"
48
+
buttonClass="rounded p-1 text-base transition-all duration-200 hover:bg-neutral-200/70 active:bg-neutral-300/70 dark:hover:bg-neutral-700/70 dark:active:bg-neutral-600/70"
49
+
menuClass="top-7 p-2 text-xs"
<CopyMenu copyContent={pds()!} label="Copy PDS" />
···
62
-
<div class="flex flex-col flex-wrap">
64
+
<div class="flex flex-col">
<Show when={props.params.repo}>
64
-
<div class="relative flex items-center justify-between gap-1">
65
-
<div class="flex basis-full items-center gap-2">
66
+
{/* Repository Level */}
67
+
<div class="group relative flex items-center justify-between gap-1 rounded-md border-[0.5px] border-transparent bg-transparent px-2 py-0.5 transition-all duration-200 hover:border-neutral-300 hover:bg-neutral-50/40 dark:hover:border-neutral-600 dark:hover:bg-neutral-800/40">
68
+
<div class="flex basis-full items-center gap-1.5">
<Tooltip text="Repository">
67
-
<span class="iconify lucide--book-user"></span>
70
+
<span class="iconify lucide--book-user text-neutral-500 transition-colors duration-200 group-hover:text-neutral-700 dark:text-neutral-400 dark:group-hover:text-neutral-200"></span>
{props.params.collection || location.pathname.includes("/labels") ?
href={`/at://${props.params.repo}`}
73
-
inactiveClass="text-blue-400 hover:underline active:underline w-full"
76
+
inactiveClass="text-blue-500 w-full font-medium hover:text-blue-600 transition-colors duration-150 dark:text-blue-400 dark:hover:text-blue-300"
{showHandle() ? handle() : props.params.repo}
77
-
: <span>{showHandle() ? handle() : props.params.repo}</span>}
80
+
: <span class="font-medium">{showHandle() ? handle() : props.params.repo}</span>}
<Tooltip text={showHandle() ? "Show DID" : "Show handle"}>
81
-
class="flex items-center rounded p-0.5 text-base hover:bg-neutral-200 active:bg-neutral-300 sm:p-1 dark:hover:bg-neutral-700 dark:active:bg-neutral-600"
84
+
class="flex items-center rounded p-1 text-base transition-all duration-200 hover:bg-neutral-200/70 active:bg-neutral-300/70 dark:hover:bg-neutral-700/70 dark:active:bg-neutral-600/70"
localStorage.showHandle = !showHandle();
setShowHandle(!showHandle());
88
-
class={`iconify shrink-0 transition-transform duration-400 ${showHandle() ? "rotate-y-180" : ""} lucide--arrow-left-right`}
91
+
class={`iconify shrink-0 transition-transform duration-300 ease-in-out ${showHandle() ? "rotate-y-180" : ""} lucide--arrow-left-right`}
98
+
{/* Labels Level */}
!props.params.collection &&
(props.params.repo in labelerCache || location.pathname.endsWith("/labels"))
100
-
<div class="flex items-center gap-2">
101
-
<span class="iconify lucide--tag"></span>
105
+
<div class="group flex items-center gap-1.5 rounded-md border-[0.5px] border-transparent bg-transparent px-2 py-0.5 transition-all duration-200 hover:border-neutral-300 hover:bg-neutral-50/40 dark:hover:border-neutral-600 dark:hover:bg-neutral-800/40">
106
+
<span class="iconify lucide--tag text-neutral-500 transition-colors duration-200 group-hover:text-neutral-700 dark:text-neutral-400 dark:group-hover:text-neutral-200"></span>
href={`/at://${props.params.repo}/labels`}
105
-
inactiveClass="text-blue-400 grow hover:underline active:underline"
110
+
inactiveClass="text-blue-500 grow font-medium hover:text-blue-600 transition-colors duration-150 dark:text-blue-400 dark:hover:text-blue-300"
117
+
{/* Collection Level */}
<Show when={props.params.collection}>
112
-
<div class="flex items-center gap-2">
119
+
<div class="group flex items-center gap-1.5 rounded-md border-[0.5px] border-transparent bg-transparent px-2 py-0.5 transition-all duration-200 hover:border-neutral-300 hover:bg-neutral-50/40 dark:hover:border-neutral-600 dark:hover:bg-neutral-800/40">
<Tooltip text="Collection">
114
-
<span class="iconify lucide--folder-open"></span>
121
+
<span class="iconify lucide--folder-open text-neutral-500 transition-colors duration-200 group-hover:text-neutral-700 dark:text-neutral-400 dark:group-hover:text-neutral-200"></span>
116
-
<Show when={props.params.rkey} fallback={<span>{props.params.collection}</span>}>
124
+
when={props.params.rkey}
125
+
fallback={<span class="font-medium">{props.params.collection}</span>}
href={`/at://${props.params.repo}/${props.params.collection}`}
120
-
inactiveClass="text-blue-400 w-full hover:underline active:underline"
130
+
inactiveClass="text-blue-500 w-full font-medium hover:text-blue-600 transition-colors duration-150 dark:text-blue-400 dark:hover:text-blue-300"
{props.params.collection}
138
+
{/* Record Level */}
<Show when={props.params.rkey}>
128
-
<div class="flex items-center gap-2">
140
+
<div class="group flex items-center gap-1.5 rounded-md border-[0.5px] border-transparent bg-transparent px-2 py-0.5 transition-all duration-200 hover:border-neutral-300 hover:bg-neutral-50/40 dark:hover:border-neutral-600 dark:hover:bg-neutral-800/40">
130
-
<span class="iconify lucide--file-json"></span>
142
+
<span class="iconify lucide--file-json text-neutral-500 transition-colors duration-200 group-hover:text-neutral-700 dark:text-neutral-400 dark:group-hover:text-neutral-200"></span>
132
-
<span>{props.params.rkey}</span>
144
+
<span class="font-medium">{props.params.rkey}</span>