${text}
`;
}
aiMessages.appendChild(messageDiv);
aiMessages.scrollTop = aiMessages.scrollHeight;
if (component) {
setTimeout(() => {
const componentContainer = messageDiv.querySelector(`[id^="ai-component-"]`);
if (componentContainer) {
renderComponent(component, componentContainer);
}
}, 300);
}
};
const addTypingIndicator = () => {
const typingDiv = document.createElement('div');
typingDiv.id = 'typing-indicator';
typingDiv.className = 'flex gap-3 items-start';
typingDiv.innerHTML = `
${job.description} `).join('')} `; break; case 'services': container.innerHTML = `