#pragma once

#include <vector>
#include <string>

class ServiceMenu
{
public:
    static ServiceMenu &get_instance()
    {
        static ServiceMenu instance;
        return instance;
    }

    // Eliminar copia y asignación
    ServiceMenu(const ServiceMenu &) = delete;
    ServiceMenu &operator=(const ServiceMenu &) = delete;

    void show();
    void render();
    void handle_input();
    void execute_option(size_t option);

private:
    ServiceMenu();
    ~ServiceMenu() = default;

    bool is_active;
    size_t selected_option;
    std::vector<std::string> options;
};