// Добавление новой запчасти
if (addPartBtn) {
addPartBtn.addEventListener('click', function() {
const newPart = createPartItem();
partsContainer.appendChild(newPart);
updateRemoveButtons();
// updatePartsContainerHeight();
// === ДОРАСКРЫТИЕ ФОРМЫ ===
const formContent = document.getElementById('formContent');
const formToggleIcon = document.getElementById('formToggleIcon');
// Если форма свёрнута, раскрываем её
if (!formContent.classList.contains('open')) {
formContent.classList.add('open');
formToggleIcon.classList.add('rotated');
// Прокручиваем к месту добавления
// setTimeout(() => {
// newPart.scrollIntoView({
// behavior: 'smooth',
// block: 'center'
// });
// }, 350);
// } else {
// // Если уже раскрыта, просто прокручиваем
// setTimeout(() => {
// newPart.scrollIntoView({
// behavior: 'smooth',
// block: 'center'
// });
// }, 100);
}
});
}
// Удаление запчасти (делегирование) с анимацией
partsContainer.addEventListener('click', function(e) {
if (e.target.classList.contains('btn-remove-part')) {
const partItem = e.target.closest('.part-item');
if (partItem && partsContainer.children.length > 1) {
// Добавляем класс для анимации удаления
partItem.classList.add('removing');
// Удаляем после завершения анимации
setTimeout(() => {
partItem.remove();
updateRemoveButtons();
// updatePartsContainerHeight();
}, 250);
}
}
});
function updatePartsContainerHeight() {
// Сбрасываем max-height, чтобы получить реальную высоту содержимого
partsContainer.style.maxHeight = 'none';
// Получаем реальную высоту
const height = partsContainer.scrollHeight;
// Устанавливаем её как max-height для анимации
partsContainer.style.maxHeight = height + 'px';
// Небольшая задержка для переключения
requestAnimationFrame(() => {
partsContainer.style.maxHeight = height + 'px';
});
}