Components / Content Card

Content Card

The generated-post card: 9:16 media rendered through MediaPlayer with the two-cell ContentCardFooter (account and schedule) beneath, wrapped in the gradient hover glow.

import { ContentCard, type ContentAccountInfo } from '@layers/ui/content-card'

Rendered stock

House rules

  • Feed it the post shape (id, media_urls, media_type); the footer cells come from accounts, isScheduled, and scheduledPosts.
  • onMediaClick opens the post; onFooterClick opens assignment and scheduling. They are separate targets on purpose.
  • hideFooter rounds the media region into a full card for footerless grids.
  • Styles ship with the component (content-card.css is self-imported).
  • ContentRenderer is a near duplicate that accepts nullable post fields; prefer ContentCard when your data is non-nullable.

See also