"""Display helpers for workspace member listings."""
from __future__ import annotations

import hashlib
from typing import Optional

from src.domain.auth.models import User


def member_display_name(user: User) -> Optional[str]:
    """Resolve a human-readable name for team settings UI."""
    if user.display_name and user.display_name.strip():
        return user.display_name.strip()
    parts = [user.first_name, user.last_name]
    combined = " ".join(p.strip() for p in parts if p and p.strip())
    return combined or None


def gravatar_url(email: str, *, size: int = 80) -> str:
    digest = hashlib.md5(email.strip().lower().encode("utf-8")).hexdigest()
    return f"https://www.gravatar.com/avatar/{digest}?s={size}&d=mp"
