// File: src/ui/gantt.js

/**
 * رندر مینیمال گانت داخل uiElements.ganttCanvas
 * @param {Object} uiElements
 * @param {Object} state
 */
export function renderGantt(uiElements, state) {
    const container = uiElements.ganttCanvas;
    if (!container) return;

    const tasks = state.tasks?.byId || {};
    const taskIds = state.tasks?.allIds || [];

    // پاک‌سازی
    container.innerHTML = '';

    if (!taskIds.length) {
        container.textContent = 'هیچ تسکی برای نمایش وجود ندارد.';
        return;
    }

    const table = document.createElement('table');
    table.className = 'cpm-gantt-table';

    const thead = document.createElement('thead');
    thead.innerHTML = `
        <tr>
            <th>کد</th>
            <th>نام تسک</th>
            <th>WBS</th>
            <th>شروع</th>
            <th>پایان</th>
            <th>مدت</th>
        </tr>
    `;

    const tbody = document.createElement('tbody');

    taskIds.forEach(id => {
        const t = tasks[id];
        if (!t) return;

        const tr = document.createElement('tr');
        tr.innerHTML = `
            <td>${t.code || ''}</td>
            <td>${t.name || ''}</td>
            <td>${t.wbsId ?? ''}</td>
            <td>${t.startDate || ''}</td>
            <td>${t.endDate || ''}</td>
            <td>${t.duration ?? ''}</td>
        `;
        tbody.appendChild(tr);
    });

    table.appendChild(thead);
    table.appendChild(tbody);
    container.appendChild(table);
}
