#pragma once

#include "SelectionContent.h"
#include "SelectionContentFactory.h"

class BarRow;
class ItemChipRow;
class SectionBox;

// The card for the HQ (REQ-UI-HQ-PANEL): the global building blocks stock and the HQ's
// HP. It has no configuration group and no status indicator.
//
// The stock is not a buffer: blocks delivered by belt go straight into the global stock
// (REQ-HQ-BELT-INPUT), which is exactly why the card shows it -- it is what tells the
// player to route blocks here. The HP comes from the HQ's proxy entity rather than from
// the building, since that is where its health lives.
class HqContent : public SelectionContent
{
    Q_OBJECT

public:
    HqContent(const SelectionContext& context, const SelectionRequest& request,
              QWidget* parent = nullptr);

protected:
    void refreshRuntime() override;

private:
    SectionBox*  m_stockSection;
    ItemChipRow* m_stockChips;
    BarRow*      m_hpBar;
};
