diff --git a/src/PowderCoating.Web/Views/Announcements/_AnnouncementForm.cshtml b/src/PowderCoating.Web/Views/Announcements/_AnnouncementForm.cshtml index 03d1440..805e48d 100644 --- a/src/PowderCoating.Web/Views/Announcements/_AnnouncementForm.cshtml +++ b/src/PowderCoating.Web/Views/Announcements/_AnnouncementForm.cshtml @@ -113,7 +113,7 @@ const preview = document.getElementById('announcementPreview'); preview.className = 'alert mb-0 ' + (typeMap[type] || 'alert-info'); document.getElementById('previewTitle').textContent = document.getElementById('Title').value || 'Title'; - document.getElementById('previewMessage').textContent = ' — ' + (document.getElementById('Message').value || 'Message'); + document.getElementById('previewMessage').textContent = '\u2014' + (document.getElementById('Message').value || 'Message'); } document.getElementById('Type')?.addEventListener('change', updatePreview); document.getElementById('Title')?.addEventListener('input', updatePreview); diff --git a/src/PowderCoating.Web/Views/Bills/Create.cshtml b/src/PowderCoating.Web/Views/Bills/Create.cshtml index bd31224..ba858f7 100644 --- a/src/PowderCoating.Web/Views/Bills/Create.cshtml +++ b/src/PowderCoating.Web/Views/Bills/Create.cshtml @@ -598,7 +598,7 @@ const modal = bootstrap.Modal.getInstance(document.getElementById('scanReceiptModal')); if (modal) modal.hide(); - statusEl.textContent = 'Scan complete — review and adjust as needed.'; + statusEl.innerHTML = 'Scan complete — review and adjust as needed.'; } catch (e) { statusEl.textContent = 'Error connecting to AI service.'; } finally { diff --git a/src/PowderCoating.Web/Views/CompanySettings/Index.cshtml b/src/PowderCoating.Web/Views/CompanySettings/Index.cshtml index 5e19082..8e1788b 100644 --- a/src/PowderCoating.Web/Views/CompanySettings/Index.cshtml +++ b/src/PowderCoating.Web/Views/CompanySettings/Index.cshtml @@ -3382,7 +3382,7 @@ document.getElementById('ovenCalcToggle').addEventListener('click', function (e) { e.preventDefault(); const hidden = _calcPanel.classList.toggle('d-none'); - if (!hidden) { _calcW.value = ''; _calcD.value = ''; _calcH.value = ''; _calcResult.textContent = '—'; _calcApply.disabled = true; _calcW.focus(); } + if (!hidden) { _calcW.value = ''; _calcD.value = ''; _calcH.value = ''; _calcResult.innerHTML = '—'; _calcApply.disabled = true; _calcW.focus(); } }); function _updateCalc() { @@ -3402,7 +3402,7 @@ _calcApply.disabled = false; _calcApply.dataset.val = val; } else { - _calcResult.textContent = '—'; + _calcResult.innerHTML = '—'; _calcApply.disabled = true; } } @@ -3420,7 +3420,7 @@ document.getElementById('ovenModal').addEventListener('hidden.bs.modal', function () { _calcPanel.classList.add('d-none'); _calcW.value = ''; _calcD.value = ''; _calcH.value = ''; - _calcResult.textContent = '—'; _calcApply.disabled = true; + _calcResult.innerHTML = '—'; _calcApply.disabled = true; }); // ───────────────────────────────────────────────────────────────────── diff --git a/src/PowderCoating.Web/Views/Jobs/Details.cshtml b/src/PowderCoating.Web/Views/Jobs/Details.cshtml index 4265eb1..8b3ba56 100644 --- a/src/PowderCoating.Web/Views/Jobs/Details.cshtml +++ b/src/PowderCoating.Web/Views/Jobs/Details.cshtml @@ -2936,8 +2936,12 @@ profitEl.className = profit >= 0 ? 'text-success' : 'text-danger'; document.getElementById('costingMargin').textContent = `${d.grossMargin}%`; - document.getElementById('costingQuotedMargin').textContent = - d.quotedPrice > 0 ? `${d.quotedMargin}% (quoted ${fmt(d.quotedPrice)})` : '—'; + const quotedMarginEl = document.getElementById('costingQuotedMargin'); + if (d.quotedPrice > 0) { + quotedMarginEl.textContent = `${d.quotedMargin}% (quoted ${fmt(d.quotedPrice)})`; + } else { + quotedMarginEl.innerHTML = '—'; + } // Powder detail lines const pBody = document.getElementById('powderLines'); diff --git a/src/PowderCoating.Web/Views/Reports/AnomalyDetection.cshtml b/src/PowderCoating.Web/Views/Reports/AnomalyDetection.cshtml index a19ceec..9dc0360 100644 --- a/src/PowderCoating.Web/Views/Reports/AnomalyDetection.cshtml +++ b/src/PowderCoating.Web/Views/Reports/AnomalyDetection.cshtml @@ -168,7 +168,7 @@ } catch (e) { document.getElementById('loadingState').classList.add('d-none'); - document.getElementById('errorMessage').textContent = 'Network error — please try again.'; + document.getElementById('errorMessage').innerHTML = 'Network error — please try again.'; document.getElementById('errorState').classList.remove('d-none'); } } diff --git a/src/PowderCoating.Web/Views/Reports/CashFlowForecast.cshtml b/src/PowderCoating.Web/Views/Reports/CashFlowForecast.cshtml index 61c0560..eb8548c 100644 --- a/src/PowderCoating.Web/Views/Reports/CashFlowForecast.cshtml +++ b/src/PowderCoating.Web/Views/Reports/CashFlowForecast.cshtml @@ -225,7 +225,7 @@ } catch (e) { document.getElementById('loadingState').classList.add('d-none'); - document.getElementById('errorMessage').textContent = 'Network error — please try again.'; + document.getElementById('errorMessage').innerHTML = 'Network error — please try again.'; document.getElementById('errorState').classList.remove('d-none'); } } diff --git a/src/PowderCoating.Web/wwwroot/js/timeclock-kiosk.js b/src/PowderCoating.Web/wwwroot/js/timeclock-kiosk.js index 5bae897..686ae07 100644 --- a/src/PowderCoating.Web/wwwroot/js/timeclock-kiosk.js +++ b/src/PowderCoating.Web/wwwroot/js/timeclock-kiosk.js @@ -123,7 +123,6 @@ var todayLine = result.dailyTotal.toFixed(2) + ' hrs today (' + result.segmentCount + (result.segmentCount === 1 ? ' segment' : ' segments') + ')'; document.getElementById('tc-confirm-icon').innerHTML = icon; - document.getElementById('tc-confirm-title').textContent = result.displayName + ' — ' + title; document.getElementById('tc-confirm-title').innerHTML = escHtml(result.displayName) + ' — ' + title; document.getElementById('tc-confirm-time').textContent = timeStr; document.getElementById('tc-confirm-today').textContent = todayLine;