#pragma once

#include <functional>
#include <ship/window/gui/GuiWindow.h>

class GhostshipModalWindow final : public Ship::GuiWindow {
  public:
    using GuiWindow::GuiWindow;
    void Draw() override;

    void InitElement() override{};
    void DrawElement() override;
    void UpdateElement() override{};
    void RegisterPopup(std::string title, std::string message, std::string button1 = "OK", std::string button2 = "",
                       std::function<void()> button1callback = nullptr,
                       std::function<void()> button2callback = nullptr);
    bool IsPopupOpen(std::string title);
    void DismissPopup();
};