feat(project): 담당자·댓글 작성자 아이콘을 구글 프로필 이미지(원형)로 표시
- 라우터: 이메일→구글 picture URL 아바타 맵을 pj-data 로 전달 - 보드 카드/리스트 담당자, 댓글 작성자에 원형 프로필 이미지 표시 - 이미지 없으면 기존 기본 아이콘 폴백. referrerpolicy=no-referrer Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -441,6 +441,14 @@ async def project_page(request: Request, project_id: int) -> HTMLResponse:
|
||||
board_stage_names.append(s["name"])
|
||||
board_stage_names.sort(key=lambda n: (_order.get(n, 999), n))
|
||||
|
||||
# 아바타 맵: 이메일(소문자) → 구글 프로필 이미지 URL (담당자/댓글 작성자 표시용)
|
||||
from app.main import user_store # noqa: WPS433
|
||||
avatars = {
|
||||
store.norm_str(u["email"], lower=True): u.get("picture") or ""
|
||||
for u in user_store.list_all()
|
||||
if u.get("picture")
|
||||
}
|
||||
|
||||
# 달력(휴가식 월간 그리드) — ?y=&m= 로 월 이동, 기본 이번 달
|
||||
today = today_kst()
|
||||
try:
|
||||
@@ -472,6 +480,7 @@ async def project_page(request: Request, project_id: int) -> HTMLResponse:
|
||||
"projects_meta": projects_meta,
|
||||
"stages_by_project": stages_by_project,
|
||||
"board_stage_names": board_stage_names,
|
||||
"avatars": avatars,
|
||||
"priority_labels": store.PRIORITY_LABELS,
|
||||
"color_palette": list(store.COLOR_PALETTE),
|
||||
"today": today.isoformat(),
|
||||
|
||||
Reference in New Issue
Block a user