Skip to main content
Sessions are one of the most unique features available through the Boxpressd ecosystem. They allow lounges, brands, and retailers to showcase real-world smoking activity happening within their communities. By displaying recent sessions, businesses can demonstrate engagement, highlight popular cigars, and provide visitors with social proof that their products and venues are actively enjoyed. All session components automatically use the business context resolved by the BoxpressdProvider.

Available Components

ComponentDescription
BoxpressdSessionsFeedDisplays a collection of recent smoking sessions.
BoxpressdSessionCardDisplays an individual smoking session.

BoxpressdSessionsFeed

The sessions feed automatically loads recent activity associated with the active business.

Example

import { BoxpressdSessionsFeed } from "@boxpressd/sites-sdk/sessions"

export default function CommunitySection() {
  return (
    <BoxpressdSessionsFeed
      limit={10}
    />
  )
}

Props

PropTypeDescription
limitnumberMaximum number of sessions to display.
layout"list" | "grid"Display layout.
showAvatarsbooleanDisplay user avatars when available.
showRatingsbooleanDisplay session ratings.
showDurationbooleanDisplay smoking duration.
showCigarImagebooleanDisplay cigar artwork when available.
classNamestringAdditional CSS classes.

List Layout

<BoxpressdSessionsFeed
  limit={10}
  layout="list"
/>

Grid Layout

<BoxpressdSessionsFeed
  limit={6}
  layout="grid"
/>

BoxpressdSessionCard

Display a single session. This component is useful when building custom layouts or combining sessions with other content.

Example

import { BoxpressdSessionCard } from "@boxpressd/sites-sdk/sessions"

<BoxpressdSessionCard
  session={session}
/>

Props

PropTypeDescription
sessionBoxpressdSessionSession data object.
showRatingsbooleanDisplay rating information.
showDurationbooleanDisplay smoking duration.
showCigarImagebooleanDisplay cigar artwork.
classNamestringAdditional CSS classes.

Session Object

type BoxpressdSession = {
  id: string
  createdAt: string
  startedAt?: string
  endedAt?: string
  durationSeconds?: number
  rating?: number
  note?: string
  user: {
    id?: string
    displayName: string
    avatarUrl?: string
  }
  cigar?: {
    id: string
    name: string
    brandName?: string
    imageUrl?: string
  }
  venue?: {
    id: string
    name: string
  }
}

Username Normalization

The SDK automatically generates a user-friendly display name using the following fallback order:
display_namefirst_name + last initial"Boxpressd User"
This helps preserve privacy while maintaining an engaging community experience.

Example: Recent Activity

<section>
  <h2>What People Are Smoking</h2>

  <BoxpressdSessionsFeed
    limit={5}
  />
</section>

Example: Brand Community Feed

Brands can use sessions to showcase how customers are enjoying their cigars.
<BoxpressdSessionsFeed
  limit={12}
  layout="grid"
/>
This is especially effective for:
  • Product launch pages
  • Brand homepages
  • Featured cigar campaigns
  • Community sections

Example: Lounge Activity Feed

Lounges can use sessions to highlight community engagement.
<BoxpressdSessionsFeed
  limit={10}
  showRatings
  showDuration
/>

Displaying Ratings

When available, session ratings can help highlight highly-rated cigars.
<BoxpressdSessionsFeed
  showRatings
/>

Displaying Duration

Session duration can provide additional context about the smoking experience.
<BoxpressdSessionsFeed
  showDuration
/>
Typical durations may represent:
  • Short smoke breaks
  • Lounge visits
  • Extended smoking sessions
  • Event participation

Displaying Cigar Artwork

When cigar imagery is available, it can be displayed alongside session information.
<BoxpressdSessionsFeed
  showCigarImage
/>
This can significantly increase engagement on community-focused pages.

Styling

Session components inherit Boxpressd theme variables.
:root {
  --bxp-primary: #d3a966;
  --bxp-border-radius: 16px;
}

Custom Styling

<BoxpressdSessionsFeed
  className="community-sessions"
/>
.community-sessions {
  margin-top: 2rem;
}

Business Awareness

Session components automatically adapt to the active business context.

Venue

<BoxpressdSessionsFeed />
Displays sessions associated with the active venue.

Brand

<BoxpressdSessionsFeed />
Displays sessions associated with the active brand. No manual configuration is required.

Empty States

Some businesses may have little or no recent session activity. Components should gracefully handle empty results.
<BoxpressdSessionsFeed
  emptyMessage="No recent smoking sessions available."
/>

Common Use Cases

Homepage Community Section

<BoxpressdSessionsFeed
  limit={5}
/>

Brand Community Showcase

<BoxpressdSessionsFeed
  limit={12}
  layout="grid"
  showCigarImage
/>

Lounge Activity Feed

<BoxpressdSessionsFeed
  limit={10}
  showRatings
  showDuration
/>

Dedicated Community Page

<BoxpressdSessionsFeed
  limit={25}
  layout="grid"
  showRatings
  showDuration
  showCigarImage
/>

Privacy Considerations

Session components are designed for public-facing websites. The SDK automatically:
  • Uses normalized display names
  • Avoids exposing sensitive user information
  • Respects visibility settings where applicable
Developers should avoid displaying private user data outside of the information returned by the SDK.

Best Practices

  • Use sessions as social proof.
  • Combine sessions with reviews and events.
  • Highlight cigar imagery when available.
  • Display ratings sparingly to avoid visual clutter.
  • Limit homepage feeds to 5–10 items.
  • Use larger feeds on dedicated community pages.

Why Sessions Matter

Unlike traditional website analytics or testimonials, sessions represent real-world engagement from actual cigar enthusiasts. They provide a unique way to demonstrate:
  • Community activity
  • Product popularity
  • Lounge engagement
  • Brand loyalty
  • Customer participation
For many businesses, sessions can become one of the most compelling pieces of dynamic content on their website.

Next Steps

Continue to:
  • Events
  • Reviews
  • Check-ins
  • Data Fetching → Sessions
These guides cover additional community and engagement features.