Files
ayurishchevandClaude Opus 5.5 9301069c29 Задача 041: favicon из логотипа бренда
web/favicon.svg повторяет .brand-logo шапки: синий скруглённый квадрат с белым глобусом
(геометрия I.globe без изменений, пропорции логотипа), подключён в index.html.
Итог 039 дополнен результатом pytest (17 passed) после включения учётной записи admin.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 18:26:52 +03:00

27 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Favicon из логотипа бренда (изменение 041)
## Context
У приложения нет favicon: во вкладке браузера стандартная иконка. Нужен favicon в едином стиле с логотипом бренда в шапке —
`.brand-logo`: скруглённый квадрат 28×28, радиус 8, фон `--primary` (`#2450c8`), в центре белая иконка «глобус» 16×16 (`I.globe` в `web/app.js`).
## Изменения
- `web/favicon.svg` (новый): тот же рисунок в `viewBox="0 0 32 32"`:
- `rect` 32×32, `rx≈9` (пропорция 8/28), заливка `#2450c8`;
- по центру контуры глобуса из `I.globe`: `circle r=9` и три `path`, масштаб ≈1.1 от 24-пиксельного `viewBox` иконки через `transform`;
- `stroke="#fff"`, `stroke-width` как у иконки (1.8), скруглённые концы.
Цвета заданы литералами: favicon живёт вне CSS страницы, токены к нему не применяются. Фон одинаковый в обеих темах,
как у логотипа в шапке: у него `--primary` светлее в тёмной теме, но для вкладки браузера достаточно фирменного синего.
- `web/index.html`: `<link rel="icon" href="favicon.svg" type="image/svg+xml">`.
Старые браузеры, которые не понимают SVG и запрашивают `/favicon.ico`, сейчас получают 404 — это приемлемо, ICO не делаем.
- Проверить, что статическая раздача (`RevalidatedStatic` в `app/main.py`) отдаёт `.svg` с `Content-Type: image/svg+xml`.
Файлы `web/` уже раздаются из корня, отдельный маршрут не нужен.
- `README.md`: строка 041 в истории.
## Исполнение
Код — агент на Sonnet, он же пересобирает стенд с `--force-recreate`. Моя часть — ревью и проверка, после неё — прогон `pytest` для 039
(учётная запись `admin` снова включена пользователем).
## Проверка
- `curl -sI /favicon.svg` → 200, `image/svg+xml`; SVG валиден (`xmllint --noout` или Python `xml.etree`).
- Визуально — пользователь: иконка во вкладке совпадает с логотипом в шапке.