#include "core/toolbar.h"
#include "core/tokens.h"
#include <imgui.h>

namespace fn_ui {

void toolbar_begin() {
    ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing,
                        ImVec2(fn_tokens::spacing::sm, 0.0f));
    ImGui::BeginGroup();
}

void toolbar_separator() {
    ImGui::SameLine();
    const float fh = ImGui::GetFrameHeight();
    const float h = fh * 0.7f;
    const ImVec2 p = ImGui::GetCursorScreenPos();
    const ImU32 col = ImGui::ColorConvertFloat4ToU32(fn_tokens::colors::border);
    ImGui::GetWindowDrawList()->AddLine(
        ImVec2(p.x, p.y + (fh - h) * 0.5f),
        ImVec2(p.x, p.y + (fh + h) * 0.5f),
        col, 1.0f);
    ImGui::Dummy(ImVec2(fn_tokens::spacing::xs, fh));
    ImGui::SameLine();
}

void toolbar_end() {
    ImGui::EndGroup();
    ImGui::PopStyleVar();
}

} // namespace fn_ui
