From e9b03ae61b77f87a0a30e8f06eab19001b99c73f Mon Sep 17 00:00:00 2001 From: DuongNguyendev Date: Fri, 24 Apr 2026 13:01:44 +0700 Subject: [PATCH] Fixing Student Support bug --- views/admin/student-support/index.ejs | 45 ++++++++++++++++++--------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/views/admin/student-support/index.ejs b/views/admin/student-support/index.ejs index 3e53fd6..6a87b23 100644 --- a/views/admin/student-support/index.ejs +++ b/views/admin/student-support/index.ejs @@ -344,16 +344,28 @@ // return html; // } + function iconPickerInputHtml(extraClass, currentValue) { + return ( + '
' + + '' + + (currentValue ? '' : '') + + '' + + '' + + '
' + ); + } + function buildServiceRow(svc) { svc = svc || {}; - var iconSel = ''; - var hoursIconSel = ''; return ( '
' + '
' + '
' + - '
' + iconPickerInput('svc-icon-select', svc.icon) + '
' + - '
' + iconPickerInput('svc-hours-icon-select', svc.hoursIcon) + '
' + + '
' + iconPickerInputHtml('svc-icon-field', svc.icon) + '
' + + '
' + iconPickerInputHtml('svc-hours-icon-field', svc.hoursIcon) + '
' + '
' + '' + '
' + @@ -376,7 +388,7 @@ return ( '
' + '
' + - '
' + iconPickerInput('ch-icon-select', ch.icon) + '
' + + '
' + iconPickerInputHtml('ch-icon-field', ch.icon) + '
' + '
' + '
' + '
' + @@ -427,14 +439,16 @@ var services = []; document.querySelectorAll('#servicesContainer .service-row').forEach(function(row) { + // Icon inputs: all .ch-icon inside this row — first = service icon, second = hours icon + var iconInputs = row.querySelectorAll('.ch-icon'); services.push({ - icon: row.querySelector('.svc-icon-select').value, - title: row.querySelector('.svc-title').value.trim(), - description: row.querySelector('.svc-description').value.trim(), - hours: row.querySelector('.svc-hours').value.trim(), - hoursIcon: row.querySelector('.svc-hours-icon-select').value, - buttonLabel: row.querySelector('.svc-btn-label').value.trim(), - buttonHref: row.querySelector('.svc-btn-href').value.trim(), + icon: iconInputs[0] ? iconInputs[0].value : '', + title: row.querySelector('.svc-title') ? row.querySelector('.svc-title').value.trim() : '', + description: row.querySelector('.svc-description') ? row.querySelector('.svc-description').value.trim() : '', + hours: row.querySelector('.svc-hours') ? row.querySelector('.svc-hours').value.trim() : '', + hoursIcon: iconInputs[1] ? iconInputs[1].value : '', + buttonLabel: row.querySelector('.svc-btn-label') ? row.querySelector('.svc-btn-label').value.trim() : '', + buttonHref: row.querySelector('.svc-btn-href') ? row.querySelector('.svc-btn-href').value.trim() : '', }); }); document.getElementById('directoryJson').value = JSON.stringify({ @@ -445,10 +459,11 @@ var channels = []; document.querySelectorAll('#channelsContainer .channel-row').forEach(function(row) { + var iconInput = row.querySelector('.ch-icon'); channels.push({ - icon: row.querySelector('.ch-icon-select').value, - title: row.querySelector('.ch-title').value.trim(), - detail: row.querySelector('.ch-detail').value.trim(), + icon: iconInput ? iconInput.value : '', + title: row.querySelector('.ch-title') ? row.querySelector('.ch-title').value.trim() : '', + detail: row.querySelector('.ch-detail') ? row.querySelector('.ch-detail').value.trim() : '', }); }); var departments = [];