Проекты: цвет, сайт, фавикон, закрепление, README из репозитория (0.63–0.67)
- Цвет-метка проекта (0.63): у проекта может быть цвет-кружок. Селектор
  цвета — сырым блоком в стиле кита (в ките компонента нет); кружок рисует
  общий компонент ProjectColorDot.
- Сайт проекта (0.63): отдельное поле site_url. Иконку сайта тянет
  бэкенд-прокси с кэшем (GET /api/projects/{id}/favicon, том favicons) —
  сторонние favicon-сервисы не используются, данные не покидают VPS. В 0.65
  иконка встала в метку проекта (кружок + фавикон), а ссылка на сайт —
  чипом в шапке страницы проекта.
- Карточка списка кликабельна целиком (0.63; кнопка «Открыть» дублировала
  ссылку), тайтл крупнее (0.65), клетки прогресса — поверх полосы кита
  (0.64): сегментированной полосы в ките нет.
- Закрепление проектов (0.66): поле pinned, закреплённые — секцией сверху,
  сортировка списка по свежести активности, подвал карточки — отсчёт до
  ближайшего дедлайна.
- Место булавки переставлено (0.67): на карточке — правый верхний угол
  рядом с бейджем актуальности и видна всегда (была приглушена в подвале),
  на странице проекта — кнопка-булавка рядом с именем (искали строкой
  «Закреплён» в параметрах).
- Репозиторий проекта (0.67): ссылка на git-репозиторий — отдельное поле
  repository_url, отдельно от заметки и сайта. README из репозитория
  показывается вторым описанием — карточкой «README из репозитория» под
  заметкой, со ссылкой на репозиторий и сворачиванием длинного текста;
  тянет такой же бэкенд-прокси с кэшем (GET /api/projects/{id}/readme),
  не нашли — «README не найден». Распознавание ссылки на репозиторий в
  заметке проекта снято (у задачи README-вместо-описания остаётся),
  данные в БД не мигрировались.
- Фантомный отступ перед именем у проекта без цвета и фавикона (0.67):
  ProjectMark рисовал пустой спан в ряду с gap.
- ТЗ 0.63–0.67; MCP зеркалит поля проекта (color, site_url,
  repository_url, pinned). Тесты: 207.

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent 78942db commit 68eefacd3c2cbd0edf0223c7b570a5f641786673
@root root authored 1 day ago
Showing 33 changed files
View
backend/Dockerfile
View
backend/alembic/versions/b1c2d3e4f5a6_project_color_site.py 0 → 100644
View
backend/alembic/versions/c3d4e5f6a7b8_project_pinned.py 0 → 100644
View
backend/alembic/versions/d4e5f6a7b8c9_project_repository.py 0 → 100644
View
backend/app/api/projects.py
View
backend/app/api/repo_readme.py
View
backend/app/config.py
View
backend/app/mcp_server.py
View
backend/app/models.py
View
backend/app/schemas.py
View
backend/app/services/favicon.py 0 → 100644
View
backend/app/services/readme.py
View
backend/tests/conftest.py
View
backend/tests/test_favicon.py 0 → 100644
View
backend/tests/test_mcp.py
View
backend/tests/test_project_fields.py 0 → 100644
View
backend/tests/test_project_readme.py 0 → 100644
View
docker-compose.yml
View
docs/TZ.md
View
frontend/src/api.ts
View
frontend/src/components/Dashboard.vue
View
frontend/src/components/ProjectColorDot.vue 0 → 100644
View
frontend/src/components/ProjectColorPicker.vue 0 → 100644
View
frontend/src/components/ProjectMark.vue 0 → 100644
View
frontend/src/components/TaskBadges.vue
View
frontend/src/locales/en.ts
View
frontend/src/locales/ru.ts
View
frontend/src/locales/uk.ts
View
frontend/src/projectColor.ts 0 → 100644
View
frontend/src/taskui.ts
View
frontend/src/views/ProjectView.vue
View
frontend/src/views/ProjectsView.vue
View
frontend/src/views/TaskView.vue