Skip to content

Commit 5519948

Browse files
committed
fix: v1.7.2 — infralens green harmonization, tool category labels, icon dedup
- infralens: repointed the brand-secondary token from blue to green across the hero, landing cards, history, and recommendation links, keeping the semantic "Info" and diff "Added" blues intact; surfaced "Compare reports" in the hero so it's reachable before running a scan - tool pages (cron builder, json studio, api studio, metalens): page header and social-share image now show the tool's real category instead of a generic "Developer Tool" label - about: replaced the two icons that duplicated the tools collection's wrench with distinct ones
1 parent 5b6283e commit 5519948

16 files changed

Lines changed: 69 additions & 18 deletions

File tree

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,29 @@ InfraLens's history as a standalone product (2026-01-06 to 2026-08-10) is
99
frozen in [`docs/infralens/CHANGELOG.md`](docs/infralens/CHANGELOG.md).
1010
InfraLens changes since its native migration are recorded here.
1111

12+
## [1.7.2] — 2026-08-20
13+
14+
### Fixed
15+
16+
- **InfraLens's remaining blue accents repainted green** — the
17+
`brand-secondary` token (hero kicker text, category icon badges, history
18+
hover states, recommendation links, compare drag-over highlight) was
19+
still aliased to InfraLens's original blue; repointed to a lighter green
20+
tier so every decorative accent matches its actual green identity. The
21+
semantic blue used for "Info" status badges and the compare page's
22+
"Added" diff category is unchanged.
23+
- **Compare reports wasn't discoverable before running a scan** — added
24+
next to GitHub/Docs/Privacy/License in InfraLens's hero; previously only
25+
reachable from the report header after an analysis.
26+
- **About page's two non-tool icons no longer share the tools collection's
27+
wrench** — "Produit-first" and "Mécanique" now use distinct icons
28+
(`Target`, `Gauge`).
29+
- **Tool pages showed a generic "Developer Tool" label instead of their
30+
real category** — Cron Builder, JSON Studio, API Studio and MetaLens's
31+
page header and social-share image now read their actual category
32+
("Web & API" or "Developer Utilities") from the same source already
33+
used on `/tools`.
34+
1235
## [1.7.1] — 2026-08-20
1336

1437
### Changed

app/about/page.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { PageShell } from "@/components/layout/page-shell";
22
import { brand } from "@/lib/brand";
3-
import { Code2, Lightbulb, Package, Wrench, Zap } from "lucide-react";
3+
import { Code2, Gauge, Lightbulb, Package, Target, Zap } from "lucide-react";
44
import type { Metadata } from "next";
55
import Link from "next/link";
66

@@ -45,7 +45,7 @@ const values = [
4545
desc: "Je choisis les outils adaptés au problème, pas les plus tendance. La simplicité est une feature.",
4646
},
4747
{
48-
icon: Wrench,
48+
icon: Target,
4949
title: "Produit-first",
5050
desc: "Je code pour résoudre un problème business. La technique est au service de la valeur livrée.",
5151
},
@@ -58,7 +58,7 @@ const values = [
5858

5959
const domains = [
6060
{
61-
icon: Wrench,
61+
icon: Gauge,
6262
title: "Mécanique",
6363
tagline: "Diagnostic & précision",
6464
intro:

app/globals.css

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,17 @@
55
@custom-variant dark (&:is(.dark *));
66

77
@theme {
8-
/* InfraLens brand tokens — the hex values already match the blue-/green-
9-
scale below one-for-one; kept as named aliases because InfraLens's
8+
/* InfraLens brand tokens — kept as named aliases because InfraLens's
109
components reference bg-brand-accent, text-brand-secondary-hover, etc.
11-
directly. */
10+
directly. brand-secondary used to alias the blue scale (a leftover from
11+
the original standalone repo); repointed to a lighter green tier so
12+
every decorative accent in InfraLens reads as its actual green identity
13+
instead of mixing in blue. */
1214
--color-brand-accent: #14b894;
1315
--color-brand-accent-hover: #35d3ad;
1416
--color-brand-accent-strong: #0c9478;
15-
--color-brand-secondary: #2388f2;
16-
--color-brand-secondary-hover: #4aa7ff;
17+
--color-brand-secondary: var(--green-400);
18+
--color-brand-secondary-hover: var(--green-300);
1719
}
1820

1921
@theme inline {

app/privacy/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ export default function ConfidentialitePage() {
4444
<Block title="Éditeur du site">
4545
<p>
4646
Ce site est publié par{" "}
47-
<span className="font-medium text-zinc-200">Randy Rimbault</span>, à
48-
titre personnel et non professionnel. Contact :{" "}
47+
<span className="font-medium text-zinc-200">Randy Rimbault</span>.
48+
Contact :{" "}
4949
<a
5050
href="mailto:randy.rcode@gmail.com"
5151
className="text-blue-400 underline underline-offset-2 hover:text-blue-300"

app/tools/api-studio/opengraph-image.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { renderToolOgImage } from "@/components/og/tool-og-image";
22
import { brand } from "@/lib/brand";
3+
import { TOOL_CATEGORY_LABELS } from "@/lib/tools";
34

45
export const runtime = "nodejs";
56
export const alt = "API Studio — Randy Code";
@@ -123,6 +124,7 @@ export default async function Image() {
123124
tagline: "Build, send, receive, and inspect HTTP requests.",
124125
color,
125126
iconNodes: SEND_ICON,
127+
label: TOOL_CATEGORY_LABELS["web-api"],
126128
preview,
127129
});
128130
}

app/tools/api-studio/page.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { ToolAboutSection } from "@/components/layout/tool-about-section";
33
import { ToolHeader } from "@/components/layout/tool-header";
44
import { ToolPageShell } from "@/components/layout/tool-page-shell";
55
import { brand } from "@/lib/brand";
6+
import { TOOL_CATEGORY_LABELS } from "@/lib/tools";
67
import { Send } from "lucide-react";
78
import type { Metadata, Viewport } from "next";
89

@@ -57,7 +58,7 @@ export default function ApiStudioPage() {
5758
<div className="mx-auto w-full max-w-5xl">
5859
<ToolHeader
5960
icon={Send}
60-
label="Developer Tool"
61+
label={TOOL_CATEGORY_LABELS["web-api"]}
6162
title="API Studio"
6263
tagline="Build, send, receive, and inspect HTTP requests."
6364
color={brand.colors.green[500]}

app/tools/cron-builder/opengraph-image.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Icon, renderToolOgImage } from "@/components/og/tool-og-image";
22
import { brand } from "@/lib/brand";
3+
import { TOOL_CATEGORY_LABELS } from "@/lib/tools";
34

45
export const runtime = "nodejs";
56
export const alt = "Cron Builder — Randy Code";
@@ -128,6 +129,7 @@ export default async function Image() {
128129
tagline: "Build, validate and understand cron expressions.",
129130
color,
130131
iconNodes: CLOCK_ICON,
132+
label: TOOL_CATEGORY_LABELS["developer-utilities"],
131133
preview,
132134
});
133135
}

app/tools/cron-builder/page.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { ToolPageShell } from "@/components/layout/tool-page-shell";
44
import { CronBuilder } from "@/cron-builder/components/cron-builder";
55
import { CronReference } from "@/cron-builder/components/cron-reference";
66
import { brand } from "@/lib/brand";
7+
import { TOOL_CATEGORY_LABELS } from "@/lib/tools";
78
import { Clock } from "lucide-react";
89
import type { Metadata, Viewport } from "next";
910

@@ -52,7 +53,7 @@ export default function CronBuilderPage() {
5253
<div className="mx-auto w-full max-w-5xl">
5354
<ToolHeader
5455
icon={Clock}
55-
label="Developer Tool"
56+
label={TOOL_CATEGORY_LABELS["developer-utilities"]}
5657
title="Cron Builder"
5758
tagline="Build, validate, and understand cron expressions without memorizing the syntax."
5859
color={brand.colors.green[500]}

app/tools/json-studio/opengraph-image.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Icon, renderToolOgImage } from "@/components/og/tool-og-image";
22
import { brand } from "@/lib/brand";
3+
import { TOOL_CATEGORY_LABELS } from "@/lib/tools";
34

45
export const runtime = "nodejs";
56
export const alt = "JSON Studio — Randy Code";
@@ -122,6 +123,7 @@ export default async function Image() {
122123
tagline: "Validate, format and inspect JSON instantly.",
123124
color,
124125
iconNodes: BRACES_ICON,
126+
label: TOOL_CATEGORY_LABELS["developer-utilities"],
125127
preview,
126128
});
127129
}

app/tools/json-studio/page.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { ToolHeader } from "@/components/layout/tool-header";
33
import { ToolPageShell } from "@/components/layout/tool-page-shell";
44
import { JsonStudio } from "@/json-studio/components/json-studio";
55
import { brand } from "@/lib/brand";
6+
import { TOOL_CATEGORY_LABELS } from "@/lib/tools";
67
import { Braces } from "lucide-react";
78
import type { Metadata, Viewport } from "next";
89

@@ -47,7 +48,7 @@ export default function JsonStudioPage() {
4748
<div className="mx-auto w-full max-w-5xl">
4849
<ToolHeader
4950
icon={Braces}
50-
label="Developer Tool"
51+
label={TOOL_CATEGORY_LABELS["developer-utilities"]}
5152
title="JSON Studio"
5253
tagline="Format, validate and explore JSON instantly."
5354
color={brand.colors.green[500]}

0 commit comments

Comments
 (0)