Skip to main content

Components

CommonPlace is built with reusable React components. Each component documented below includes props, key behaviors, and usage examples.

Content Display

ComponentFileDescription
FeedFeed.jsxMain content feed with slow-feed pacing
PostPost.jsxIndividual post card with intent styling
PostDetailPostDetail.jsxFull single-post view page
PostHeaderpost-parts/PostHeader.jsxAuthor name, timestamp, intent label
PostContentpost-parts/PostContent.jsxText/HTML content with truncation
PostActionspost-parts/PostActions.jsxRespond, save, share, report buttons
PostImagespost-parts/PostImages.jsxResponsive image grid
IntentBadgepost-parts/IntentBadge.jsxCorner avatar + intent emoji overlay
SavePopoverpost-parts/SavePopover.jsxSave-to-shelf popover

Content Creation

ComponentFileDescription
CreatePostCreatePost.jsxQuick composer with intent-first flow
AdvancedComposerAdvancedComposer.jsxFull-page editor with style customization
AudienceSelectorAudienceSelector.jsxAudience picker (public/friends/circles)

User Spaces

ComponentFileDescription
HomeRoomHomeRoom.jsxPersonal profile space with modular layout
SavedPageSavedPage.jsxSaved posts and shelves management
ProfileProfile.jsxUser profile display
ComponentFileDescription
HeaderHeader.jsxTop navigation bar
ErrorBoundaryErrorBoundary.jsxError boundary with fallback UI

Authentication & Privacy

ComponentFileDescription
AuthAuth.jsxLogin, signup, and session management
PrivacyCurtainPrivacyCurtain.jsxAuto-lock overlay for idle sessions

Messaging

ComponentFileDescription
ConversationViewmessaging/ConversationView.jsxSingle conversation thread
NewConversationModalmessaging/NewConversationModal.jsxStart a new conversation

Media & Utility

ComponentFileDescription
AvatarAvatar.jsxUser avatar display
Lightboxpost-parts/Lightbox.jsxFull-screen image viewer
VoiceRecorderVoiceRecorder.jsxAudio recording for voice notes
VoicePlayerVoicePlayer.jsxAudio playback for voice notes

Settings

ComponentFileDescription
IntentStylesSettingssettings/IntentStylesSettings.jsxPer-intent style customization

Last updated: 2026-02-07