веб-ui: знак «jb» стал единым для шапки, иконки вкладки и превью ссылки

- логотип сведён в web/static/logo.svg (буквы геометрией, оптическая
  центровка); прежний favicon с «play» убран
- <head> шести страниц свёрнут в партиал head с og-мета; адреса абсолютные,
  база берётся из запроса, хост из недоверенного заголовка проверяется
- растровые ассеты og-cover.jpg и apple-touch-icon.png собирает `task brand`
  из исходников web/*.html
This commit is contained in:
av
2026-09-02 10:55:45 +03:00
parent 3bce73fc34
commit 2971a520c7
24 changed files with 339 additions and 51 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

+1 -2
View File
@@ -129,8 +129,7 @@ a:hover{text-decoration:underline}
.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:var(--fs-md);
letter-spacing:-.01em;color:var(--text)}
.brand:hover{text-decoration:none}
.brand .logo{width:22px;height:22px;border-radius:6px;background:var(--accent);
display:grid;place-items:center;color:var(--on-accent);font-size:13px;flex:none}
.brand .logo{width:22px;height:22px;flex:none;display:block}
.nav{display:flex;gap:2px;margin-left:var(--sp-2)}
.nav a{padding:6px 11px;border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:500;
color:var(--text-dim)}
-12
View File
@@ -1,12 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="jellybit">
<defs>
<linearGradient id="j" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#8b5cf6"/>
<stop offset="1" stop-color="#6d28d9"/>
</linearGradient>
</defs>
<rect x="4" y="4" width="56" height="56" rx="14" fill="url(#j)"/>
<path d="M26 21 L45 32 L26 43 Z" fill="#fff"/>
<rect x="17" y="21" width="5" height="5" rx="1" fill="#fff" opacity=".85"/>
<rect x="17" y="38" width="5" height="5" rx="1" fill="#fff" opacity=".85"/>
</svg>

Before

Width:  |  Height:  |  Size: 563 B

+21
View File
@@ -0,0 +1,21 @@
<!-- Знак jellybit: буквы «jb» в скруглённом квадрате акцентного цвета.
Единственный источник логотипа — шапка веб-UI, favicon и карточка превью
ссылки (og-cover.jpg собирается из него же, `task brand`). Буквы заданы
геометрией, а не текстом: favicon рендерится без наших шрифтов.
Знак оптически центрирован — центр масс белого лежит на середине холста. -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="jellybit">
<defs>
<linearGradient id="jb-bg" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#4a86f5"/>
<stop offset="1" stop-color="#2453c8"/>
</linearGradient>
</defs>
<rect width="64" height="64" rx="15" fill="url(#jb-bg)"/>
<g fill="#fff" fill-rule="evenodd" transform="translate(0,-0.3)">
<!-- b: стержень и правая половина чаши одним контуром, дырка — вторым -->
<path d="M32.8 13.5h6.4V24.5A10.2 10.2 0 0 1 39.2 44.9H32.8ZM39.2 39.9A5.2 5.2 0 0 0 39.2 29.5Z"/>
<!-- j: стержень с хвостом влево -->
<path d="M20.3 24.5h6.4v17.2a7.6 7.6 0 0 1-7.6 7.6h-1.6a3.2 3.2 0 0 1 0-6.4h1.6a1.2 1.2 0 0 0 1.2-1.2z"/>
<circle cx="23.5" cy="17" r="3.6"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB