feat(m6): board with threads/comments, markdown, tests, e2e

- BoardRepository (thread/comment CRUD, soft-delete, search, pagination,
  pinned-first ordering) + BoardService (membership permission,
  author/admin edit/delete, comment->board_commented notification,
  board_posted/comment_added activity logs, category validation)
- APIs: threads list/create/detail/edit/delete, comments create/edit/delete
- MarkdownBody (react-markdown + remark-gfm + rehype-sanitize),
  ThreadForm, CommentForm, board list + thread detail screens, ProjectNav link
- Unit tests (BoardRepository, BoardService) + e2e board.spec
This commit is contained in:
Ken Yasue
2026-06-25 01:28:08 +02:00
parent ac598a50f2
commit 2017585f84
16 changed files with 1448 additions and 1 deletions

View File

@ -1,5 +1,6 @@
const NAV_ITEMS = [
{ href: '', label: '概要' },
{ href: '/board', label: '掲示板' },
{ href: '/members', label: 'メンバー' },
{ href: '/activity', label: 'アクティビティ' },
{ href: '/settings', label: '設定' },
@ -14,10 +15,11 @@ export function ProjectNav({
active,
}: {
projectId: number;
active: 'overview' | 'members' | 'activity' | 'settings';
active: 'overview' | 'board' | 'members' | 'activity' | 'settings';
}) {
const activeMap: Record<string, boolean> = {
overview: active === 'overview',
board: active === 'board',
members: active === 'members',
activity: active === 'activity',
settings: active === 'settings',