#pragma once
#include <imgui.h>

namespace fn_ui {

struct AppCardData {
    const char* id;          // unique ImGui ID within the parent window
    const char* title;       // bold display name (single line)
    const char* description; // optional second line; may be nullptr or ""
    ImU32       accent;      // accent color (IM_COL32 / hex parsed)
    ImTextureID icon;        // optional icon texture (0 = no icon, layout still works)
};

// Renders a card-shaped clickable area with:
//  - rounded translucent accent background
//  - solid accent stripe on the left edge
//  - title on top, wrapped description below
// Uses InvisibleButton for hit-testing + ImDrawList for visuals so it does
// not inherit ImGui::Button colors.
//
// Returns true on the frame the user clicks the card.
bool app_card(const AppCardData& data, ImVec2 size);

}  // namespace fn_ui
