#ifndef SENSORCARD_H
#define SENSORCARD_H

#include <QWidget>
#include <QLabel>
#include <QPushButton>
#include "sensorchannel.h"

/** @brief Widget visual que representa un sensor en el panel lateral.
 *
 *  Muestra el nombre y valor actual del sensor. Resalta con un borde
 *  del color del sensor cuando está seleccionado. Emite clicked() al
 *  hacer click para que MainWindow pueda cambiar el gráfico activo.
 */
class SensorCard : public QWidget {
    Q_OBJECT

public:
    explicit SensorCard(const SensorChannel& sensor, QWidget* parent = nullptr);
    void updateValue(double value);  ///< Actualiza el valor mostrado
    void setSelected(bool selected); ///< Marca/desmarca selección visual

signals:
    void clicked();  ///< Se emite al hacer click en la tarjeta

protected:
    void mousePressEvent(QMouseEvent* event) override;

private:
    const SensorChannel& m_sensor;
    QLabel* m_nameLabel;
    QLabel* m_valueLabel;
    bool m_selected;

    void updateStyle();  ///< Aplica el stylesheet según estado de selección
};

#endif // SENSORCARD_H