Skip to content

feat: 게시판/포스트 이모지 리액션 기능 추가#71

Merged
bbbang105 merged 8 commits intodevfrom
feat/board-emoji-reactions
Apr 1, 2026
Merged

feat: 게시판/포스트 이모지 리액션 기능 추가#71
bbbang105 merged 8 commits intodevfrom
feat/board-emoji-reactions

Conversation

@bbbang105
Copy link
Copy Markdown
Owner

@bbbang105 bbbang105 commented Apr 1, 2026

Summary

  • 게시판 글 + 포스트에 고정 6종 이모지 리액션 기능 추가 (👍👀🔥💡😂✅)
  • board_post_reactions, post_reactions 테이블 신규 생성
  • ReactionBar 공용 컴포넌트 (apiPath prop으로 board/posts 구분)
  • 포스트 목록 카드에 리액션 칩 + SmilePlus 피커 표시
  • 인기글 점수 공식 변경: 댓글×3 + 조회수×2 + 리액션×1
  • 게시판 공지 Discord 알림에 본문 미리보기 (최대 500자) 추가

Changes

  • packages/shared/src/db/schema.ts — boardPostReactions, postReactions 테이블 + relations
  • packages/web/src/components/board/reaction-bar.tsx — ReactionBar 공용 컴포넌트
  • packages/web/src/app/api/board/[id]/reactions/route.ts — 게시판 리액션 토글 API
  • packages/web/src/app/api/posts/[id]/reactions/route.ts — 포스트 리액션 GET + 토글 API
  • packages/web/src/app/api/board/[id]/route.ts — GET 응답에 reactions 추가
  • packages/web/src/app/api/posts/route.ts — 리스트에 reactionCount 추가
  • packages/web/src/app/(user)/board/[id]/page.tsx — 게시판 상세 ReactionBar
  • packages/web/src/app/(user)/posts/[id]/page.tsx — 포스트 상세 ReactionBar
  • packages/web/src/app/(user)/posts/page.tsx — 포스트 목록 리액션 칩

DDL (이미 적용됨)

-- board_post_reactions (이미 push 완료)
-- post_reactions (수동 적용 완료)

Test plan

  • 게시판 상세에서 이모지 토글 (추가/제거) 확인
  • 포스트 상세에서 이모지 토글 확인
  • 포스트 목록 카드에서 리액션 칩 표시 + 피커 동작 확인
  • 호버(PC) / 클릭(모바일) 시 닉네임 팝오버 확인
  • 복수 이모지 동시 선택 가능 확인
  • 다크모드 UI 확인

🤖 Generated with Claude Code

bbbang105 and others added 8 commits April 1, 2026 13:37
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
…page

- ReactionBar: emoji pill buttons with toggle, hover/long-press member popover
- Integrated into board detail page with reactions state and refresh
- Fixed TypeScript errors in reactions API route and board GET route

Co-Authored-By: Claude <noreply@anthropic.com>
- Wrap toggle in transaction to prevent race condition
- Add timer cleanup on component unmount
- Add aria-label and aria-pressed for accessibility
- Check deletedAt on post existence query

Co-Authored-By: Claude <noreply@anthropic.com>
- Add postReactions table and API (GET/POST /api/posts/[id]/reactions)
- Integrate ReactionBar into post detail page
- Add reaction chips with member popover to post list cards
- Add SmilePlus picker button to board ReactionBar
- Include reaction count in popular post scoring
- Add board notice content preview in Discord notifications (500 chars)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add apiPath prop to ReactionBar (board/posts) to fix wrong API path
- Move fetchReactions before useEffect to fix declaration order
- Move REACTION_EMOJIS to module scope to avoid per-render allocation

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
@bbbang105 bbbang105 requested a review from choihooo as a code owner April 1, 2026 06:18
@vercel
Copy link
Copy Markdown

vercel bot commented Apr 1, 2026

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

Project Deployment Actions Updated (UTC)
study-admin-web Ready Ready Preview, Comment Apr 1, 2026 6:20am

@bbbang105 bbbang105 added 📄 docs 문서 추가 및 수정 🚀 feat 새로운 기능 추가 / 일부 코드 추가 / 일부 코드 수정 (리팩토링과 구분) / 디자인 요소 수정 🚨 fix 버그 수정 / 에러 해결 labels Apr 1, 2026
@bbbang105 bbbang105 changed the title feat: 게시판/포스트 이모지 리액션 기능 추가 (v1.1.0) feat: 게시판/포스트 이모지 리액션 기능 추가 Apr 1, 2026
@bbbang105 bbbang105 merged commit c53feaf into dev Apr 1, 2026
8 checks passed
@bbbang105 bbbang105 deleted the feat/board-emoji-reactions branch April 1, 2026 06:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📄 docs 문서 추가 및 수정 🚀 feat 새로운 기능 추가 / 일부 코드 추가 / 일부 코드 수정 (리팩토링과 구분) / 디자인 요소 수정 🚨 fix 버그 수정 / 에러 해결

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant