#include "page_header.h"
#include "tokens.h"
#include "imgui.h"

bool page_header_begin(const char* title, const char* subtitle) {
    // Título más grande con font scale
    ImGui::SetWindowFontScale(1.4f);
    ImGui::TextUnformatted(title);
    ImGui::SetWindowFontScale(1.0f);

    // Subtítulo en muted
    if (subtitle && *subtitle) {
        ImGui::PushStyleColor(ImGuiCol_Text, fn_tokens::colors::text_muted);
        ImGui::TextUnformatted(subtitle);
        ImGui::PopStyleColor();
    }

    // Reservar la misma línea del título para que el caller ponga acciones
    // a la derecha. SameLine sobre el último Text (título) — el caller usa
    // SameLine con offset para alinear a la derecha si quiere.
    // (En forma idiomática: ImGui::SameLine(ImGui::GetWindowWidth() - 120);)
    return true;
}

void page_header_end() {
    ImGui::Dummy(ImVec2(0.0f, fn_tokens::spacing::sm));
    ImGui::Separator();
    ImGui::Dummy(ImVec2(0.0f, fn_tokens::spacing::sm));
}

void page_header(const char* title, const char* subtitle) {
    page_header_begin(title, subtitle);
    page_header_end();
}
