Skip to content

Team logo component #5

@zippy1978

Description

@zippy1978

Implement the TeamLogo component, a reusable UI element that displays team logos throughout the application. This component is used in multiple contexts including game cards, standings, and potentially team profile screens.

Visual Requirements

  • Default size: 48px (configurable)
  • Size variations:
    • Large: 75px (used in FeaturedGameCard)
    • Medium: 48px (used in regular GameCard)
    • Small: 30px (used in Standings screen)
  • Proper aspect ratio maintenance
  • No visible pixelation at any size
  • Proper handling of transparent backgrounds
  • Consistent sizing across different team logos

Data Requirements

The component should accept the following data:

  • Team object containing:
    • Team logo path/URL
    • Team identifier (for accessibility and tracking)
  • Size parameter (optional, defaults to 48px)

Functionality

  • Properly display logo from specified path/URL
  • Maintain proper sizing based on size parameter
  • Graceful handling of loading states
  • Fallback placeholder if image fails to load
  • Properly scale without distortion

Accessibility Requirements

  • Include alt text derived from team name
  • Appropriate ARIA attributes for screen readers
  • Handle high contrast mode appropriately

Acceptance Criteria

  1. TeamLogo renders at the specified size
  2. Component accepts and properly uses the team data
  3. All size variations render correctly
  4. Logos maintain proper aspect ratio
  5. Placeholder appears when images fail to load
  6. Component is properly reusable across the app
  7. Logos appear with correct quality at all sizes
  8. Proper accessibility attributes are included

Edge Cases

  • Handle missing logo assets
  • Handle different logo aspect ratios
  • Handle various image formats
  • Ensure consistent behavior across all screens

Dependencies

  • Design Style Guide implementation
  • Asset management system for logo files

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions