#pragma once

#include "entt/entity/entity.hpp"

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

class ShipStatsPanel;

// The card for one selected ship (REQ-UI-SHIP-STATS-PANEL): its live hull stats and the
// summaries of the capability modules it carries, computed from what is actually
// installed (REQ-MOD-STAT-CALC). Applies to player and enemy ships alike
// (REQ-UI-ENTITY-CLICK-SELECT).
class ShipContent : public SelectionContent
{
    Q_OBJECT

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

protected:
    void refreshRuntime() override;

private:
    entt::entity    m_entity;
    ShipStatsPanel* m_statsPanel;
};
