Sync TDS v1.2 additions: scanlines, cursor, radar, display-field, VT323

- Sync base.css + base.js from web_template (adds lt-scanlines,
  lt-cursor, lt-radar, lt-display-field, --font-crt/VT323 token)
- Add VT323 to Google Fonts link in layout_header.php
- Add lt-scanlines to <body> — CRT scanline overlay, light-mode suppressed
- Replace custom .editable-metadata:disabled CSS override in ticket.css
  with the canonical .lt-display-field class from base.css
- Switch Priority/Category/Type/Visibility selects and visibility-group
  checkboxes in TicketView.php from disabled attribute to lt-display-field
- Update toggleEditMode() in ticket.js to add/remove lt-display-field
  instead of toggling the disabled attribute

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-01 16:55:12 -04:00
parent 55c6fc81db
commit cfdc9e0f37
6 changed files with 118 additions and 157 deletions
-2
View File
@@ -466,7 +466,6 @@
let data;
try { data = await resp.json(); } catch (_) { data = { success: resp.ok }; }
if (!resp.ok) throw new Error(data.error || data.message || 'HTTP ' + resp.status);
if (data && data.csrf_token) global.CSRF_TOKEN = data.csrf_token;
return data;
}
@@ -2703,7 +2702,6 @@
let data;
try { data = await resp.json(); } catch (_) { data = { success: resp.ok }; }
if (!resp.ok) throw new Error(data.error || data.message || 'HTTP ' + resp.status);
if (data && data.csrf_token) global.CSRF_TOKEN = data.csrf_token;
return data;
}
api.get = url => _apiFetchAuth('GET', url);
+5 -5
View File
@@ -134,9 +134,9 @@ function toggleEditMode() {
descriptionField.style.height = descriptionField.scrollHeight + 'px';
}
// Enable metadata fields (priority, category, type)
// Enable metadata fields (priority, category, type) — remove display-only class
metadataFields.forEach(field => {
field.disabled = false;
field.classList.remove('lt-display-field');
});
} else {
saveTicket();
@@ -148,16 +148,16 @@ function toggleEditMode() {
titleField.setAttribute('contenteditable', 'false');
}
// Disable description — re-render view div with latest content
// Re-render description view div with latest content
if (descriptionField) {
descriptionField.disabled = true;
renderDescriptionView();
showDescriptionView();
}
// Disable metadata fields
// Return metadata fields to display-only using .lt-display-field (not disabled)
metadataFields.forEach(field => {
field.disabled = true;
field.classList.add('lt-display-field');
});
}
}