Skip to main content

Props

NameDescriptionTypeDefault valueRequired/Optional
authorInformation about the author user of the postRequired
  - nameDisplay name of the authorstringRequired
  - usernameBluesky handle of the authorstringRequired
  - imageURL to the profile picture of the authorstringRequired
textThe text of the post itselfstringRequired
time

Time of posting. If passed in as a Date object, it will be formatted as it is on Bluesky

Date | stringRequired
permalink

The URL for the post (or anything, it's up to you). Clicking the Bluesky logo or the time of posting on the card will take you to this URL.

stringOptional
imagesImages in the postArray<{ src, alt? }>Optional
  - srcSource URL for the imagestringRequired
  - altAlt description for the imagestringOptional
engagement

The number of engagements (replies, reposts, likes) the post has received

{ replies?, reposts?, likes? }Optional
  - repliesNumber of repliesnumber0Optional
  - repostsNumber of repostsnumber0Optional
  - likesNumber of likesnumber0Optional
clickableProfileLink

Creates a clickable visual effect on the name and profile picture of the author. If turned on, clicking these elements will open the user's profile on Bluesky.

booleanfalseOptional
showTimeControls wheter the time of the post should be displayedbooleantrueOptional
showEngagementControls wheter the engagements of the post should be displayedbooleantrueOptional
themeThe theme setting for the card"light" | "dim" | "dark""light"Optional
colorsGives you the option to override the colors used in the card{ primary, secondary, accent, muted, background, border }{}Optional
gradientBackgroundSets the card's background to gradientbooleanfalseOptional
blurredBackgroundSets the card's background to blurredbooleanfalseOptional

Try them out on this playground:

Live Editor
<BlueskyCard
  className="with-background-image"
  author={{
    name: 'shing yin khor',
    username: 'shing.bsky.social',
    image: 'img/shing.jpg',
  }}
  text="the only constant we have are our communities and networks of care and mutual aid, and that will always be worth investing your time, money and emotional bandwidth into."
  time={new Date('2024-11-06T20:20:00Z')} // try a string instead!
  permalink="https://bsky.app/profile/shing.bsky.social/post/3lackzgbvrq2j"
  engagement={{
    likes: 175,
    reposts: 40,
    replies: 0,
  }}
  theme="light"
  colors={{}}
  gradientBackground={false}
  blurredBackground={false}
  clickableProfileLink={false}
  showEngagement={true}
  showTime={true}
/>
Result
Loading...