directory: hide the clients line at 0, and profile links are logo only

Clients line: a count of 0 (or an absent count) now renders NO line at all —
never "0 clients", never a dash. The >=1 rules (the plural, the plain number)
are unchanged. Same rule in the runtime renderer and in build-directory.py.

Links row: LinkedIn/GitHub/Upwork/Fiverr now render as LOGO ONLY. The four marks
are one uniform monochrome set (Simple Icons v13, 24x24, single-path), inlined so
the row makes no request and each mark inherits currentColor. Self-hosted copies
in static/icons/. Each link keeps its accessible name (aria-label + title, e.g.
"GitHub profile"); the inline SVG is aria-hidden + focusable=false; the hit area
is 36x36 around a 24px mark, with a visible focus ring.

A null/blank link value still renders no anchor (no empty icon).
This commit is contained in:
webmaster committed 2026-11-03 21:19:00 +00:00
1 parent 1f8179d562
commit c83186f809
6 files changed
+72 -9

No files matched your search

+22
View File
@@ -0,0 +1,22 @@
# static/icons — the profile-link icon set
Four monochrome brand marks shown in the freelancer directory card's links row
(`/odoo-community-developers/`): LinkedIn, GitHub, Upwork, Fiverr.
**Source:** [Simple Icons](https://simpleicons.org) v13 — one uniform set, so the four
share one visual language by construction: the same 24 × 24 grid, the same internal
padding, the same monochrome mass, single-path art. Nothing here is hand-drawn and
nothing is fetched from a third party at runtime.
**How the page uses them.** The card inlines the same path data (see `LINK_ICONS` in the
page's script and in `work/build-directory.py`), so the links row makes **zero requests**
and each mark inherits the link's `currentColor`. These files are the self-hosted,
drop-in copy of that set — identical geometry — for any host that prefers a file over an
inline `<svg>`.
**Brand rule.** A brand mark is never redrawn and never restyled beyond a single
monochrome fill. The one styling the page applies is `fill="currentColor"`.
The `role`/`aria-label` here are for standalone use; the card strips them and marks the
inline SVG `aria-hidden="true" focusable="false"`, putting the accessible name on the
link (`aria-label` + `title`, e.g. "GitHub profile").