docs/briefs/community-chat.md

Module brief: CommunityChatModule

Slug / tier / group / category: community-chat · advanced · features · Community One-liner: Global chat room — live message feed with composer. Closest references: NotificationsModule (titled list), MusicPlayerModule (stateful advanced module). Built from the shared chat primitives (MessageList, MessageInput).

Anatomy (top → bottom)

  • ModuleShell, title default "Community" + member-count meta top-right
  • Body: MessageList (incoming bubbles left, own messages right)
  • Footer: MessageInput (soft field + solid send button)

Content model (props)

prop type sample value
messages {id, author, text, time, own?}[] GUERILLAZ crew chatter
memberCount number 214
onSend (text) => void host-driven; mock appends locally in studio

Client-editable fields

key label type
title Module title text
header Show header toggle

States & interactions

Empty ("No messages yet — say hi"), sending via onSend callback (presentational; realtime backend later per NEXT-PHASE §4).

Colour expectations

Own bubbles accent-9/accent-contrast (profile remaps them); incoming bubbles --module-surface-raised; presence/unread accents from the seed scale.

Out of scope

Realtime transport, auth, moderation, typing indicators.