From e3b810b4ff64351165a5537130bab5e56c041a97 Mon Sep 17 00:00:00 2001 From: rouggy Date: Wed, 29 Jul 2026 23:37:57 +0200 Subject: [PATCH] feat: draw the actual 4O3A mark in the sidebar, not a text badge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The wordmark I put there was not what the author expected: the brand is "4", a green waveform of stacked lenses, then "3A". Only the waveform is SVG. The digits stay HTML text so they keep the sidebar's own typeface at any theme or zoom — an SVG would pick its own font and drift from the menu around it. Seven ellipses, tallest in the middle, match the shape of the mark. Still drawn rather than fetched: an image off the web has no verifiable provenance, and this stays one small component to swap if the official SVG is preferred. --- frontend/src/components/SettingsModal.tsx | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/frontend/src/components/SettingsModal.tsx b/frontend/src/components/SettingsModal.tsx index e89a557..f20b806 100644 --- a/frontend/src/components/SettingsModal.tsx +++ b/frontend/src/components/SettingsModal.tsx @@ -209,12 +209,21 @@ type TreeNode = // rather show the official mark, drop the SVG in and swap this component out. function VendorMark({ vendor }: { vendor: 'o3a' }) { if (vendor !== 'o3a') return null; + // The 4O3A mark: "4", the green waveform, "3A". Drawn inline rather than + // shipped as an image — it scales with the row, keeps the sidebar's own type + // for the digits, and adds no binary asset. The waveform is the part that + // carries the brand, so only it is SVG; the characters stay HTML text so they + // match the surrounding menu at any theme or zoom. + const lens = [3.2, 5.2, 7.4, 9.5, 7.4, 5.2, 3.2]; // half-heights, tallest in the middle return ( - - 4O3A + + 4 + + 3A ); }