Skip to content

feat(home): enrich list cards + stats bar + activity feed - #36

Merged
8bury merged 5 commits into
mainfrom
8bury/home-improvements
Apr 29, 2026
Merged

8bury merged 5 commits into
mainfrom
8bury/home-improvements

Conversation

@8bury

@8bury 8bury commented Apr 29, 2026

Copy link
Copy Markdown
Owner

Summary

  • Poster stack — cada card de lista exibe até 4 miniaturas de pôsteres dos filmes (TMDB w92)
  • Avatares de membros — até 4 avatares empilhados por lista com fallback de iniciais
  • Última atividade — timestamp relativo ("há 2h") baseado no max de updated_at e movimentações recentes de filmes
  • Stats bar — contador de filmes assistidos no mês atual
  • Activity feed — painel lateral (sticky no desktop) com feed em tempo real de: filme adicionado, filme assistido, comentário criado, membro entrou
  • Skeleton loading — listas e feed mostram skeleton animado durante o carregamento inicial

Mudanças no backend

  • GET /api/lists enriquecido com poster_urls, members (preview) e last_activity_at via batch queries (sem N+1)
  • GET /api/users/stats → { watched_this_month: N }
  • GET /api/users/activity?limit=N → UNION de list_movies, comments e list_members ordenado por timestamp

Test plan

  • Home carrega com skeleton e então exibe listas enriquecidas
  • Listas sem filmes mostram ícone placeholder no lugar dos pôsteres
  • Stat "filmes assistidos este mês" bate com o total de watched no mês
  • Activity feed exibe eventos recentes para o usuário autenticado
  • Layout 2 colunas no desktop, coluna única no mobile
  • Skeleton do feed aparece durante carregamento

🤖 Generated with Claude Code

- Backend: extend GET /api/lists to return poster_urls (up to 4 TMDB
  thumbnails), member previews (up to 5 avatars), and last_activity_at
  per list via batch SQL queries
- Backend: new GET /api/users/stats → watched_this_month count
- Backend: new GET /api/users/activity?limit=N → UNION-based feed of
  movie_added, movie_watched, comment, and member_joined events
- Frontend: skeleton loading for lists and activity panel on initial load
- Frontend: list cards now show poster stack, member avatars, and
  relative last-activity timestamp
- Frontend: stats bar showing films watched this month
- Frontend: activity feed sidebar panel (sticky on desktop)
- i18n: added home.* and lists.lastActivity/justNow keys (pt + en)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@vercel

vercel Bot commented Apr 29, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
list2gether Ready Ready Preview, Comment Apr 29, 2026 9:23pm

Switch home page to an app-shell layout on desktop (lg:h-dvh + flex column)
so the two-column grid fills the remaining viewport height. Lists column
scrolls internally when tall; activity panel always stretches to fill the
available space without driving page scroll.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Removes the isolated floating card that wasted a full row. The stat now
appears as a contextual subtitle under "Suas listas", keeping the count
visible without disrupting the page layout.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@8bury
8bury merged commit 271bccf into main Apr 29, 2026
8 checks passed

This branch was successfully deployed

1 active deployment
Preview — 8e45c4d2 Deployed Apr 29, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant