/* src/styles.css или куда ты добавляешь стили */ :root { /* Цвета сообщений чата */ --llm-user-border-color: #78B0E3; --llm-user-background-color: #C5E1FF; --llm-llm-border-color: #A8D8AD; --llm-llm-background-color: #DBF5DD; --llm-tool-border-color: #FFD180; --llm-tool-background-color: #FFF0C9; --llm-error-border-color: #FF6666; --llm-error-background-color: #FFCCCC; --llm-assistant-border-color: #B0B0B0; /* Нейтральный серый для ассистента */ --llm-assistant-background-color: #E0E0E0; /* Светло-серый фон */ /* Общие стили узлов графа */ --node-padding: 10px; --node-border-radius: 5px; --node-font-size: 14px; --node-font-weight: bold; --node-text-color: #333; --node-text-align: center; /* Переменные для текста */ --font-text-size: 14px; --text-normal: #333; --text-muted: #666; --background-secondary-alt: #f0f0f0; --font-monospace: 'Roboto Mono', monospace; --text-accent: #007bff; } .llm-agent-chat-panel .message-type-user { border: 1px solid var(--llm-user-border-color); /* Цвет для user */ background-color: var(--llm-user-background-color); /* Светло-голубой фон для user */ } .llm-agent-chat-panel .message-type-llm { border: 1px solid var(--llm-llm-border-color); /* Цвет для llm */ background-color: var(--llm-llm-background-color); /* Светло-зеленый фон для llm */ } .llm-agent-chat-panel .message-type-tool { border: 1px solid var(--llm-tool-border-color); /* Цвет для tool */ background-color: var(--llm-tool-background-color); /* Светло-оранжевый фон для tool */ } .llm-agent-chat-panel .message-type-error { border: 1px solid var(--llm-error-border-color); /* Красный цвет для error */ background-color: var(--llm-error-background-color); /* Светло-красный фон для error */ } .llm-agent-chat-panel .message-type-assistant { border: 1px solid var(--llm-assistant-border-color); /* Цвет для assistant */ background-color: var(--llm-assistant-background-color); /* Светло-серый фон для assistant */ } /* Общие стили для сообщений */ .llm-agent-chat-panel .message { margin-bottom: 10px; display: flex; /* Flex-контейнер для всего сообщения */ flex-direction: column; /* Элементы внутри сообщения будут выстраиваться вертикально */ padding: 10px; /* Общие отступы для всего сообщения */ border-radius: 5px; max-width: 80%; /* Ограничение ширины сообщения */ word-break: break-word; /* Разбиение слов для длинных сообщений */ overflow-wrap: break-word; /* Перенос слов */ } .llm-agent-chat-panel .message.user { margin-left: auto; /* Выравнивание по правому краю для пользователя */ } .llm-agent-chat-panel .message.assistant { margin-right: auto; /* Выравнивание по левому краю для ассистента, если потребуется */ } .chat-meta { margin-bottom: 5px; /* Отступ между мета-информацией и содержимым */ } .chat-sender-info { display: flex; /* Делаем sender-info flex-контейнером */ align-items: center; /* Выравнивание иконки и текста по центру */ gap: 8px; /* Расстояние между иконкой и текстом */ } .chat-message-icon svg { width: 20px; /* Размер иконки */ height: 20px; flex-shrink: 0; /* Предотвращает сжатие иконки */ } .chat-role-label { font-weight: bold; font-size: 0.9em; color: var(--text-muted); } .chat-message-content { font-size: var(--font-text-size); line-height: 1.5; color: var(--text-normal); user-select: text; /* Разрешить выделение текста внутри содержимого */ } /* Стили для узлов графа */ .react-flow__node-default, .react-flow__node-user, .react-flow__node-llm, .react-flow__node-tool, .react-flow__node-error, .react-flow__node-assistant { padding: var(--node-padding); border-radius: var(--node-border-radius); text-align: var(--node-text-align); font-size: var(--node-font-size); font-weight: var(--node-font-weight); color: var(--node-text-color); } .react-flow__node-user { border: 1px solid var(--llm-user-border-color); /* Цвет для user */ background-color: var(--llm-user-background-color); /* Светло-голубой фон для user */ } .react-flow__node-llm { border: 1px solid var(--llm-llm-border-color); /* Цвет для llm */ background-color: var(--llm-llm-background-color); /* Светло-зеленый фон для llm */ } .react-flow__node-tool { border: 1px solid var(--llm-tool-border-color); /* Цвет для tool */ background-color: var(--llm-tool-background-color); /* Светло-оранжевый фон для tool */ } .react-flow__node-error { border: 1px solid var(--llm-error-border-color); /* Красный цвет для error */ background-color: var(--llm-error-background-color); /* Светло-красный фон для error */ } .react-flow__node-assistant { border: 1px solid var(--llm-assistant-border-color); /* Нейтральный серый для ассистента */ background-color: var(--llm-assistant-background-color); /* Светло-серый фон */ } /* ----------------------------------------------- Chat Panel Styles -------------------------------------------------------- */ .llm-agent-chat-panel { display: flex; flex-direction: column; height: 100%; } .chat-history { flex-grow: 1; overflow-y: auto; padding: 10px; -webkit-user-select: text; /* Разрешить выделение для WebKit-браузеров */ -moz-user-select: text; /* Разрешить выделение для Firefox */ user-select: text; /* Стандартное свойство для выделения текста */ scroll-behavior: smooth; } /* Стили для inline-кода в сообщениях */ .chat-message-content code { background-color: var(--background-secondary-alt); border-radius: 4px; padding: 2px 4px; font-family: var(--font-monospace); font-size: 0.9em; color: var(--text-accent); } /* Стиль для форм ввода чата */ .chat-input-form { display: flex; padding: 10px; border-top: 1px solid #eee; gap: 10px; } .command-input { position: relative; flex-grow: 1; } #message-input { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; } #send-button { padding: 8px 15px; background-color: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer; } #send-button:hover { background-color: #0056b3; } .suggestions { position: absolute; bottom: 100%; /* Помещаем над полем ввода */ left: 0; right: 0; background-color: white; border: 1px solid #ccc; border-radius: 4px; max-height: 150px; overflow-y: auto; z-index: 10; margin-bottom: 5px; /* Отступ от поля ввода */ } .suggestion-item { padding: 8px 10px; cursor: pointer; } .suggestion-item:hover { background-color: #f0f0f0; }