Skip to content

feat(activity): enum TimelineReaction - #557

Merged
hefeus merged 4 commits into
feat/timeline-reactionfrom
feat/enum-reaction
Sep 10, 2026
Merged

feat(activity): enum TimelineReaction#557
hefeus merged 4 commits into
feat/timeline-reactionfrom
feat/enum-reaction

Conversation

@GabrielFVDev

Copy link
Copy Markdown
Contributor

Contexto

Fatia S2 do subsistema de reações da timeline web (#539). A S1 (#541) criou a tabela activity_user_reactions; esta entrega o conjunto fixo das 6 reações só em código — o banco guarda apenas o value.

Case value Glifo Rótulo Cor
Like like 👍 Curtir Sky
Love love ❤️ Amei Rose
Laugh laugh 😂 Haha Amber
Celebrate celebrate 🎉 Parabéns Violet
Fire fire 🔥 Fogo Orange
Sad sad 😢 Triste Slate

Nada consome o enum ainda: ele destrava a S3 (#542), S4 (#543) e S5 (#544).

Alterações

  • activity: enum TimelineReaction: string em src/Reaction/Enums/, com use StringifyEnum e os contratos HasColor, HasDescription, HasLabel (guideline 07-enum-filament-contracts). Todo getter é match exaustivo sem default. emoji() fica fora dos contratos — HasIcon devolve Heroicon, e o símbolo da reação é o glifo.
  • activity: fecha o TODO(#540) da migration — o ->comment() da coluna reaction passa a vir de TimelineReaction::stringifyCases(), como os outros ~18 comments de enum do repo.
  • activity: teste unit em tests/Unit/Reaction/TimelineReactionTest.php — contratos, valores, rótulos e glifos exatos, tryFrom() nulo fora do conjunto, e distinção entre os 6 casos.

Conjunto não-ordenado, então getColor() não segue o ramp claro→danger da guideline: cada cor puxa a do próprio glifo, e danger/warning ficaram de fora por significarem erro e alerta.


Plano de Testes

  • make check — rector, pint e phpstan (level 7) verdes, errors: 0
  • make test-unit555 passando, 2286 asserções; o arquivo novo cobre 12 testes e 93 asserções
  • make setup-test-db aplicou a migration alterada, e o comment no Postgres confere: Available enum cases: like, love, laugh, celebrate, fire, sad
  • Mutação: duplicar o glifo do Sad quebra 2 testes; duplicar a cor quebra 1. Revertidas.

Evidências

Sem impacto visual — o enum ainda não é renderizado. A UI de reação entra na #545 e #546.


Issues Relacionadas

Closes #540
Related to #539

@GabrielFVDev GabrielFVDev self-assigned this Sep 9, 2026
Comment thread app-modules/activity/src/Reaction/Enums/TimelineReaction.php Outdated

@BrunaDomingues BrunaDomingues left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!!

@hefeus
hefeus merged commit 1c84403 into feat/timeline-reaction Sep 10, 2026
8 checks passed
@hefeus
hefeus deleted the feat/enum-reaction branch September 10, 2026 01:24
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.

4 participants