Skip to content

Commit ff43468

Browse files
committed
fix: v1.4.2 — mobile card spacing and footer nav layout
- tighten card-grid gaps on mobile across every portfolio section (home, tools, projects, articles, about x2, lab, project case study), restoring the original spacing once each grid switches to its multi-column layout — none of them had a responsive gap before - footer: replace the nav columns' flex-row with a grid so they spread across the full width at sm instead of clustering left and leaving half the footer empty; mobile now pairs Explorer+Site on one row and Outils+Liens on the next - add a footer "Outils" column linking to all 4 tools, sourced from the same list /tools renders from
1 parent 99c253f commit ff43468

10 files changed

Lines changed: 54 additions & 10 deletions

File tree

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,31 @@ 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.4.2] — 2026-08-16
13+
14+
### Added
15+
16+
- **Footer "Outils" column**, linking to all four tools (InfraLens, Cron
17+
Builder, JSON Studio, MetaLens), sourced from the same list `/tools`
18+
itself renders from.
19+
20+
### Changed
21+
22+
- **Card-grid spacing on mobile** — every portfolio section with a card
23+
grid or list (home, tools, projects, articles, about ×2, lab, a project
24+
case study) used the same gap at every viewport; each now starts tighter
25+
on mobile and opens back up to its original spacing once the layout
26+
switches to multiple columns.
27+
28+
### Fixed
29+
30+
- **Footer nav columns collapsed to the left at the `sm` breakpoint**,
31+
leaving roughly half the footer empty — the columns switched to a flex
32+
row before the section around them did, and flex items don't stretch to
33+
fill unclaimed space. Replaced with a grid (2 columns on mobile, pairing
34+
Explorer+Site and Outils+Liens; 4 across from `sm` up), which spreads
35+
across the full width by construction.
36+
1237
## [1.4.1] — 2026-08-16
1338

1439
### Added

app/about/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ export default function AboutPage() {
162162
{/* Valeurs */}
163163
<section className="mb-12">
164164
<h2 className="mb-4 text-xl font-semibold text-white">Ma méthode</h2>
165-
<div className="grid gap-4 md:grid-cols-3">
165+
<div className="grid gap-3 md:grid-cols-3 md:gap-4">
166166
{values.map(({ icon: Icon, title, desc }) => (
167167
<div
168168
key={title}
@@ -220,7 +220,7 @@ export default function AboutPage() {
220220
</p>
221221
</div>
222222

223-
<div className="grid gap-4 md:grid-cols-2">
223+
<div className="grid gap-3 md:grid-cols-2 md:gap-4">
224224
{domains.map(({ icon: Icon, title, tagline, intro, points }) => (
225225
<div
226226
key={title}

app/articles/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export default function BlogPage() {
2222
color={brand.colors.blue[400]}
2323
icon="bookOpen"
2424
>
25-
<div className="grid gap-6 sm:grid-cols-2">
25+
<div className="grid gap-4 sm:grid-cols-2 sm:gap-6">
2626
{posts.map((post, i) => (
2727
<Link
2828
key={post.slug}

app/lab/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export default function LabPage() {
4545
color={brand.colors.blue[400]}
4646
icon="flask"
4747
>
48-
<div className="flex flex-col gap-5">
48+
<div className="flex flex-col gap-3 sm:gap-5">
4949
{experiments.map((exp) => (
5050
<article
5151
key={exp.id}

app/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export default function Home() {
2121
<h2 className="mb-6 text-xl font-semibold text-white">
2222
Projets phares
2323
</h2>
24-
<div className="grid gap-4 sm:grid-cols-2">
24+
<div className="grid gap-3 sm:grid-cols-2 sm:gap-4">
2525
{featuredProjects.map((project) => (
2626
<div
2727
key={project.slug}

app/projects/[slug]/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ export default async function ProjectPage({ params }: Props) {
8686
</header>
8787

8888
{/* Contenu */}
89-
<div className="flex flex-col gap-6">
89+
<div className="flex flex-col gap-4 sm:gap-6">
9090
{(project.caseStudy
9191
? [
9292
{ label: "Contexte", text: project.caseStudy.context },

app/projects/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export default function ProjectsPage() {
2121
color={brand.colors.blue[400]}
2222
icon="building2"
2323
>
24-
<div className="grid gap-6 md:grid-cols-2 lg:grid-cols-3">
24+
<div className="grid gap-4 md:grid-cols-2 md:gap-6 lg:grid-cols-3">
2525
{projects.map((project) => (
2626
<article
2727
key={project.slug}

app/tools/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export default function ToolsPage() {
2121
color={brand.colors.green[500]}
2222
icon="wrench"
2323
>
24-
<div className="grid gap-6 md:grid-cols-2">
24+
<div className="grid gap-4 md:grid-cols-2 md:gap-6">
2525
{tools.map((tool) => (
2626
<section
2727
key={tool.slug}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "randy-code",
3-
"version": "1.4.1",
3+
"version": "1.4.2",
44
"private": true,
55
"packageManager": "pnpm@10.7.0",
66
"scripts": {

src/components/layout/site-footer.tsx

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { GitHubIcon } from "@/components/github-icon";
22
import { primaryNav } from "@/lib/nav";
3+
import { tools } from "@/lib/tools";
34
import { ExternalLink } from "lucide-react";
45
import Image from "next/image";
56
import Link from "next/link";
@@ -37,7 +38,7 @@ export function SiteFooter() {
3738
<p className="text-xs text-zinc-400">© {year} Randy Code</p>
3839
</div>
3940

40-
<div className="flex flex-col gap-8 sm:flex-row sm:gap-16">
41+
<div className="grid grid-cols-2 gap-x-8 gap-y-8 sm:grid-cols-4 sm:gap-x-10">
4142
<nav aria-label="Explorer">
4243
<p className="mb-3 font-mono text-[11px] uppercase tracking-widest text-zinc-400">
4344
Explorer
@@ -74,6 +75,24 @@ export function SiteFooter() {
7475
</ul>
7576
</nav>
7677

78+
<nav aria-label="Outils">
79+
<p className="mb-3 font-mono text-[11px] uppercase tracking-widest text-zinc-400">
80+
Outils
81+
</p>
82+
<ul className="flex flex-col gap-2">
83+
{tools.map((tool) => (
84+
<li key={tool.slug} className="flex">
85+
<Link
86+
href={tool.href}
87+
className="inline-flex items-center text-xs font-medium text-zinc-400 transition-colors hover:text-white"
88+
>
89+
<span>{tool.name}</span>
90+
</Link>
91+
</li>
92+
))}
93+
</ul>
94+
</nav>
95+
7796
<div>
7897
<p className="mb-3 font-mono text-[11px] uppercase tracking-widest text-zinc-400">
7998
Liens

0 commit comments

Comments
 (0)