#ifndef RECIPE_INPUT_VIEW_HPP_
#define RECIPE_INPUT_VIEW_HPP_

#include <Widget/StaticItemSlot/StaticItemSlot.hpp>
#include <Item/IInventory.hpp>

/**
 * @brief An item slot for displaying a recipe input, with indication of availability.
 */
class RecipeInputView : public StaticItemSlot
{
private:
    IInventory &inv;
    ItemStack templStack;

protected:
    virtual glm::vec4 getHighlight() override;
    virtual void getExtraToolTipLines(ToolTip &tip) override;

public:
    /**
     * @brief Construct this view with the specified template stack.
     */
    RecipeInputView(IInventory &inv, ItemStack templStack);
};

#endif