Skip to content

Create reusable ScreenTitle component for mode identification #165

@bracyw

Description

@bracyw

Description

Add an optional modeTitle property to HeaderView so screens can display their mode name centered in the header (e.g., "PERFORMANCE", "ENDURANCE"). Style it large, bold, similar to the "TRACTION CONTROL - OFF/ON" text on Performance Screen. This helps drivers quickly identify which mode they're in.

Currently, the TSMS indicator from NavigationController shows as centered text on all screens. The mode title will also be centered, so TSMS needs to be repositioned. TSMS must remain visible - either convert it to an icon or reposition the text to avoid overlap with the title.

Acceptance Criteria

  • HeaderView accepts optional modeTitle property (defaults to "")
  • When title is blank, nothing displays
  • Title is large, bold, and centered in HeaderView
  • Fault icons remain visible when present
  • TSMS indicator remains visible (either as icon or repositioned text)
  • SpeedMode.qml updated to use HeaderView with "PERFORMANCE" title
  • SpeedMode's traction control indicator positioned below HeaderView
  • EfficiencyScreen.qml passes "ENDURANCE" as modeTitle
  • Pit screens can optionally pass titles or leave blank

Proposed Solution

  • Add property string modeTitle: "" to HeaderView.qml
  • Add LabelText for title, centered in HeaderView (visible only when modeTitle not empty)
  • Style similar to SpeedMode's traction control (large font, bold)
  • Handle TSMS positioning: either convert to icon or move text to non-conflicting location
  • Handle layout when multiple elements present - title, faults, TSMS, microphone
  • Add HeaderView to SpeedMode.qml with modeTitle: "PERFORMANCE"
  • Reposition SpeedMode's traction control indicator below HeaderView
  • Update EfficiencyScreen to pass modeTitle: "ENDURANCE"

Mocks

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions