/** * Questions List UI * * UI компонент для списка вопросов. */ import appState from '../state/appState.js' import { escapeHtml, formatTime, pluralize } from '../utils/format.utils.js' import { setElementText, setElementHTML } from '../utils/dom.utils.js' /** * Проверить наличие аннотаций в секции документов * @param {object} docsSection - Секция документов * @returns {boolean} True если есть аннотации */ export function hasAnnotationsInDocs(docsSection) { if (!docsSection) return false // Check research documents if (docsSection.research) { for (const docIndex in docsSection.research) { const doc = docsSection.research[docIndex] if (doc.issues?.length > 0 || doc.comment) { return true } } } // Check analytical_hub documents if (docsSection.analytical_hub) { for (const docIndex in docsSection.analytical_hub) { const doc = docsSection.analytical_hub[docIndex] if (doc.issues?.length > 0 || doc.comment) { return true } } } return false } /** * Отрендерить список вопросов */ export function render() { const container = document.getElementById('questions-list') const countElement = document.getElementById('questions-count') if (!container) { console.error('Questions list container not found') return } const env = appState.getCurrentEnv() const response = env.currentResponse if (!response || !response.answers || response.answers.length === 0) { setElementHTML(container, `