Skip to content

Homepage Install Card Component #2133

@henryajisegiri

Description

@henryajisegiri

Description

Implement the Install Card (Home Page variant) as defined in Figma. This component appears on the homepage and provides a prominent entry point for installing Boost via package managers or system installation methods.

The component includes a heading, installation method tabs, a command display area, and a context-specific dropdown selector.

Figma Link

Scope

Component Structure

  • Primary heading (e.g. “Install Boost and get started in your terminal.”)
  • Installation method tabs:
    • Package Managers
    • System Install
  • Command display area (installation command)
  • Context-specific dropdown selector
https://www.boost.org/doc/user-guide/getting-started.html

Installation Contexts & Options

Package Managers Tab

Dropdown options:

  • Conan
  • vcpkg

Behaviour:

  • Default selection per Figma (confirm if Conan is default)
  • Selecting an option updates the command dynamically
  • Example command pattern:
    • conan install boost
    • vcpkg install boost

System Install Tab

Dropdown options:

  • Ubuntu
  • Fedora
  • CentOS
  • Arch
  • Homebrew
System Install Docs

Behaviour:

  • Default selection per Figma
  • Selecting an OS updates the command dynamically
  • Command template must adapt to the selected system

Behaviour

  • Default state:
    • Package Managers tab active
    • Default package manager selected
  • Switching tabs:
    • Updates dropdown options accordingly
    • Updates command content accordingly
  • Dropdown selection updates the command without page reload
  • Command content must be dynamic and driven by configuration

Implementation Requirements

  • Use design tokens for:
    • Typography
    • Spacing
    • Border radius
    • Surface/background styling
    • Active tab styling
  • Code snippet must:
    • Use the existing Code Block component (if applicable)
    • Support dynamic content updates
  • Tabs must:
    • Use proper ARIA roles (tablist, tab, tabpanel)
    • Support keyboard navigation
  • Dropdown must:
    • Be keyboard accessible
    • Close appropriately on selection
  • Command configuration should be structured for easy extension (future OS or package managers)

Out of Scope

  • Backend environment detection
  • Auto-detection of user OS
  • Library subpage variant
  • Analytics event wiring
  • Installation verification logic

Acceptance Criteria

Component

  • Install Card renders correctly on homepage
  • Package Managers tab is active by default
  • Package Managers dropdown shows:
    • Conan
    • vcpkg
  • System Install dropdown shows:
    • Ubuntu
    • Fedora
    • CentOS
    • Arch
    • Homebrew
  • Switching tabs updates dropdown options
  • Selecting dropdown option updates command correctly
  • Active tab styling matches Figma
  • Long commands do not break layout
  • Component renders correctly across mobile, tablet, and desktop, as defined in Figma

Storybook Acceptance Criteria

  • Home Page Install Card is documented in Storybook
  • Demonstrates:
    • Package Managers tab with both options
    • System Install tab with all OS options
    • Tab switching
    • Responsive layouts
  • Code snippets are provided

Accessibility and Analytics

  • Semantic structure
    Use appropriate structural elements (section, heading).
  • Tab accessibility
    Implement ARIA roles correctly and ensure keyboard navigation between tabs functions.
  • Dropdown accessibility
    Dropdown must be fully keyboard accessible.
  • Analytics readiness
    The component must allow analytics-related attributes or identifiers to be passed in without structural modification.

Dependencies / Assumptions

  • Code Block component is implemented
  • Dropdown component is available
  • Design tokens are implemented
  • Figma is the source of truth for layout and behaviour

Definition of Done

  • Home Page Install Card implemented
  • Tab and dropdown behaviour verified
  • Correct option lists verified
  • Responsive layout verified
  • Accessibility validated
  • Storybook documentation complete
  • Task reviewed and approved

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions