backend-infra-engineer: Release v0.3.2 snapshot

This commit is contained in:
scawful
2025-10-17 12:10:25 -04:00
parent 4371618a9b
commit 3d71417f62
857 changed files with 174954 additions and 45626 deletions

View File

@@ -0,0 +1,103 @@
#ifndef YAZE_APP_EDITOR_AGENT_AGENT_UI_THEME_H
#define YAZE_APP_EDITOR_AGENT_AGENT_UI_THEME_H
#include "imgui/imgui.h"
#include "app/gui/core/theme_manager.h"
#include "app/gui/core/color.h"
namespace yaze {
namespace editor {
/**
* @struct AgentUITheme
* @brief Centralized theme colors for Agent UI components
*
* All hardcoded colors from AgentChatWidget, AgentEditor, and AgentChatHistoryPopup
* are consolidated here and derived from the current theme.
*/
struct AgentUITheme {
// Message colors
ImVec4 user_message_color;
ImVec4 agent_message_color;
ImVec4 system_message_color;
ImVec4 text_secondary_color;
// Content colors
ImVec4 json_text_color;
ImVec4 command_text_color;
ImVec4 code_bg_color;
// UI element colors
ImVec4 panel_bg_color;
ImVec4 panel_bg_darker;
ImVec4 panel_border_color;
ImVec4 accent_color;
// Status colors
ImVec4 status_active;
ImVec4 status_inactive;
ImVec4 status_success;
ImVec4 status_warning;
ImVec4 status_error;
// Provider colors
ImVec4 provider_ollama;
ImVec4 provider_gemini;
ImVec4 provider_mock;
// Collaboration colors
ImVec4 collaboration_active;
ImVec4 collaboration_inactive;
// Proposal colors
ImVec4 proposal_panel_bg;
ImVec4 proposal_accent;
// Button colors
ImVec4 button_copy;
ImVec4 button_copy_hover;
// Gradient colors
ImVec4 gradient_top;
ImVec4 gradient_bottom;
// Initialize from current theme
static AgentUITheme FromCurrentTheme();
};
// Helper functions for common UI patterns
namespace AgentUI {
// Get current theme colors
const AgentUITheme& GetTheme();
// Refresh theme from ThemeManager
void RefreshTheme();
// Common UI components
void PushPanelStyle();
void PopPanelStyle();
void RenderSectionHeader(const char* icon, const char* label, const ImVec4& color);
void RenderStatusIndicator(const char* label, bool active);
void RenderProviderBadge(const char* provider);
// Status badge for tests/processes
enum class ButtonColor { Success, Warning, Error, Info, Default };
void StatusBadge(const char* text, ButtonColor color);
// Spacing helpers
void VerticalSpacing(float amount = 8.0f);
void HorizontalSpacing(float amount = 8.0f);
// Common button styles
bool StyledButton(const char* label, const ImVec4& color, const ImVec2& size = ImVec2(0, 0));
bool IconButton(const char* icon, const char* tooltip = nullptr);
} // namespace AgentUI
} // namespace editor
} // namespace yaze
#endif // YAZE_APP_EDITOR_AGENT_AGENT_UI_THEME_H