Skip to content

Commit 59004ee

Browse files
committed
docs: polish demo sizing and contrast
1 parent 8c85c88 commit 59004ee

File tree

1 file changed

+40
-17
lines changed

1 file changed

+40
-17
lines changed

docs/main.tsx

Lines changed: 40 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,20 @@
11
/** @jsxImportSource preact */
22
import { dhash } from "dhash_jsr";
33
import { renderToString } from "preact-render-to-string";
4+
import docsConfig from "./deno.json" with { type: "json" };
45

56
const MAX_FILES = 20;
67
const MAX_BYTES = 10 * 1024 * 1024;
78

9+
const LIB_SPEC =
10+
(docsConfig as { imports?: Record<string, string> }).imports?.dhash_jsr ??
11+
"jsr:@claudiu-ceia/dhash";
12+
const LIB_VERSION = (() => {
13+
// Example: "jsr:@claudiu-ceia/dhash@^0.3.2"
14+
const m = String(LIB_SPEC).match(/@\^?(\d+\.\d+\.\d+)/);
15+
return m ? m[1] : "";
16+
})();
17+
818
function json(data: unknown, status = 200): Response {
919
return new Response(JSON.stringify(data, null, 2) + "\n", {
1020
status,
@@ -113,18 +123,18 @@ tailwind.config = {
113123
<div class="absolute left-1/2 top-1/2 h-[36rem] w-[36rem] -translate-x-1/2 -translate-y-1/2 rounded-full bg-slate-200/30 blur-3xl" />
114124
</div>
115125

116-
<main class="relative mx-auto w-full max-w-6xl px-4 py-10 sm:py-14">
126+
<main class="relative mx-auto w-full max-w-7xl px-4 py-12 sm:py-16">
117127
<header class="flex items-start justify-between gap-4">
118128
<div class="min-w-0">
119129
<div class="flex items-center gap-2">
120-
<h1 class="text-2xl font-semibold tracking-tight text-slate-900 sm:text-3xl">
130+
<h1 class="text-3xl font-semibold tracking-tight text-slate-900 sm:text-4xl">
121131
dHash demo
122132
</h1>
123133
<span class="inline-flex items-center rounded-full border border-slate-200 bg-white/60 px-2 py-0.5 text-[11px] font-medium text-slate-600 shadow-sm">
124134
perceptual hashing
125135
</span>
126136
</div>
127-
<p class="mt-2 max-w-2xl text-sm leading-relaxed text-slate-600">
137+
<p class="mt-3 max-w-2xl text-base leading-relaxed text-slate-600">
128138
Upload up to{" "}
129139
<span class="font-semibold text-slate-900">{MAX_FILES}</span>
130140
{" "}
@@ -140,7 +150,7 @@ tailwind.config = {
140150
href="https://github.com/ClaudiuCeia/dhash"
141151
target="_blank"
142152
rel="noreferrer"
143-
class="inline-flex h-9 w-9 items-center justify-center rounded-xl border border-slate-200 bg-white/70 text-slate-900 shadow-sm transition hover:-translate-y-0.5 hover:shadow-md focus:outline-none focus:ring-2 focus:ring-emerald-300"
153+
class="inline-flex h-10 w-10 items-center justify-center rounded-xl border border-slate-200 bg-white/75 text-slate-900 shadow-sm transition hover:shadow-md focus:outline-none focus:ring-2 focus:ring-emerald-300"
144154
aria-label="GitHub repository"
145155
title="GitHub"
146156
>
@@ -150,7 +160,7 @@ tailwind.config = {
150160
href="https://jsr.io/@claudiu-ceia/dhash"
151161
target="_blank"
152162
rel="noreferrer"
153-
class="inline-flex h-9 w-9 items-center justify-center rounded-xl border border-slate-200 bg-white/70 text-slate-900 shadow-sm transition hover:-translate-y-0.5 hover:shadow-md focus:outline-none focus:ring-2 focus:ring-emerald-300"
163+
class="inline-flex h-10 w-10 items-center justify-center rounded-xl border border-slate-200 bg-white/75 text-slate-900 shadow-sm transition hover:shadow-md focus:outline-none focus:ring-2 focus:ring-emerald-300"
154164
aria-label="JSR package"
155165
title="JSR"
156166
>
@@ -159,8 +169,8 @@ tailwind.config = {
159169
</nav>
160170
</header>
161171

162-
<section class="mt-8 grid gap-6 lg:grid-cols-[1fr_360px]">
163-
<div class="rounded-3xl border border-slate-200/70 bg-white/60 p-5 shadow-soft backdrop-blur sm:p-6">
172+
<section class="mt-10 grid gap-6 lg:grid-cols-[1fr_400px]">
173+
<div class="rounded-3xl border border-slate-200/70 bg-white/60 p-6 shadow-soft backdrop-blur sm:p-7">
164174
<div class="flex flex-wrap items-center justify-between gap-3">
165175
<div class="min-w-0">
166176
<h2 class="text-base font-semibold text-slate-900">
@@ -175,14 +185,14 @@ tailwind.config = {
175185
<button
176186
id="pick"
177187
type="button"
178-
class="inline-flex items-center rounded-xl bg-slate-900 px-3 py-2 text-sm font-medium text-white shadow-sm transition hover:-translate-y-0.5 hover:shadow-md focus:outline-none focus:ring-2 focus:ring-emerald-300"
188+
class="inline-flex items-center rounded-xl bg-slate-900 px-4 py-2.5 text-sm font-medium text-white shadow-sm transition hover:shadow-md focus:outline-none focus:ring-2 focus:ring-emerald-300"
179189
>
180190
Choose images
181191
</button>
182192
<button
183193
id="clear"
184194
type="button"
185-
class="inline-flex items-center rounded-xl border border-slate-200 bg-white/70 px-3 py-2 text-sm font-medium text-slate-900 shadow-sm transition hover:-translate-y-0.5 hover:shadow-md disabled:opacity-60"
195+
class="inline-flex items-center rounded-xl border border-slate-200 bg-white/75 px-4 py-2.5 text-sm font-medium text-slate-900 shadow-sm transition hover:shadow-md disabled:opacity-60"
186196
disabled
187197
>
188198
Clear
@@ -199,7 +209,7 @@ tailwind.config = {
199209
/>
200210

201211
<div class="mt-4 flex flex-wrap items-center gap-3">
202-
<div class="inline-flex items-center rounded-2xl border border-slate-200 bg-white/70 px-3 py-2 text-xs text-slate-700 shadow-sm">
212+
<div class="inline-flex items-center rounded-2xl border border-slate-200 bg-white/75 px-3 py-2 text-xs text-slate-700 shadow-sm">
203213
<span class="mr-2 inline-flex h-2 w-2 rounded-full bg-emerald-400" />
204214
<span id="fileLabel">No files selected</span>
205215
</div>
@@ -212,11 +222,11 @@ tailwind.config = {
212222

213223
<div
214224
id="grid"
215-
class="mt-6 grid grid-cols-1 gap-3 sm:grid-cols-2 xl:grid-cols-3"
225+
class="mt-7 grid grid-cols-1 gap-4 sm:grid-cols-2 xl:grid-cols-3"
216226
/>
217227
</div>
218228

219-
<aside class="rounded-3xl border border-slate-200/70 bg-white/55 p-5 shadow-soft backdrop-blur sm:p-6">
229+
<aside class="rounded-3xl border border-slate-200/70 bg-white/55 p-6 shadow-soft backdrop-blur sm:p-7">
220230
<h2 class="text-base font-semibold text-slate-900">
221231
How it works
222232
</h2>
@@ -263,6 +273,16 @@ tailwind.config = {
263273
</code>{" "}
264274
on Deno Deploy.
265275
</p>
276+
<div class="mt-4 rounded-2xl border border-slate-200 bg-white/65 p-4 text-xs text-slate-700">
277+
<div class="flex items-center justify-between gap-3">
278+
<span class="font-medium text-slate-900">
279+
Library version
280+
</span>
281+
<code class="rounded bg-slate-900/5 px-1 py-0.5 font-mono">
282+
{LIB_VERSION ? `v${LIB_VERSION}` : "unknown"}
283+
</code>
284+
</div>
285+
</div>
266286
</aside>
267287
</section>
268288
</main>
@@ -283,7 +303,7 @@ const CSS = `
283303
html, body { height: 100%; }
284304
body {
285305
margin: 0;
286-
background: #ffffff;
306+
background: #fbfcff;
287307
}
288308
`;
289309

@@ -523,10 +543,11 @@ function render() {
523543
for (const { it, idx } of sorted) {
524544
const div = document.createElement("div");
525545
const pending = !it.hash;
526-
const base = "group relative rounded-2xl border bg-white/75 p-4 shadow-sm backdrop-blur transition";
546+
const base =
547+
"group relative rounded-2xl border bg-white/80 p-4 shadow-sm backdrop-blur transition-shadow";
527548
const active = pending
528549
? " opacity-50 cursor-not-allowed border-slate-200"
529-
: " cursor-pointer border-slate-200 hover:-translate-y-0.5 hover:shadow-md";
550+
: " cursor-pointer border-slate-200 hover:shadow-md";
530551
const anchored = (idx === anchor)
531552
? " ring-2 ring-emerald-300 border-emerald-200 shadow-[0_18px_45px_rgba(16,185,129,0.18)]"
532553
: "";
@@ -544,12 +565,14 @@ function render() {
544565
row.className = "flex items-start gap-3";
545566
546567
const img = document.createElement("img");
547-
img.className = "h-24 w-24 shrink-0 rounded-xl border border-slate-200 bg-slate-50 object-cover";
568+
img.className =
569+
"h-24 w-24 shrink-0 rounded-xl border border-slate-300 bg-slate-100 object-cover shadow-inner";
548570
img.src = it.url;
549571
img.alt = it.name;
550572
551573
const canvas = document.createElement("canvas");
552-
canvas.className = "h-24 w-24 shrink-0 rounded-xl border border-slate-200 bg-slate-50";
574+
canvas.className =
575+
"h-24 w-24 shrink-0 rounded-xl border border-slate-300 bg-slate-100 shadow-inner";
553576
canvas.width = 96;
554577
canvas.height = 96;
555578
if (it.hash) drawHash(canvas, it.hash);

0 commit comments

Comments
 (0)