Fix layout regressions, nav drawer structure, and security issues
- base.css: add width:100%+min-width:0 to .lt-main so flex column body doesn't shrink content due to margin:0 auto from .lt-container - layout_header.php: restructure mobile nav drawer to match web_template exactly (nav-drawer-links nav, direct <a> links, section div, no ul/li wrapper, overlay after drawer); fix lt-nav-overlay id mismatch with base.js; rename lt-header-username -> lt-header-user (matches CSS); add JSON_HEX_TAG to all inline json_encode calls (closes </script> XSS) - base.css: add lt-kv-row/label/value aliases (display:contents pattern used in web_template v1.2 kv-grid); add lt-badge-sm variant - Admin views: add missing .catch() on editField/editRecurring/loadUsers; add JSON_HEX_TAG to json_encode in TemplatesView/WorkflowDesignerView - TicketView: add JSON_HEX_TAG to all ticket-data json_encode calls Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -359,6 +359,10 @@ hr {
|
||||
.lt-main {
|
||||
padding-top: calc(var(--header-height) + var(--space-lg));
|
||||
flex: 1;
|
||||
/* When body is a flex column, margin:0 auto from .lt-container would prevent
|
||||
stretch. Force full width so max-width+auto-margin centering still works. */
|
||||
width: 100%;
|
||||
min-width: 0; /* prevent flex overflow on very small viewports */
|
||||
}
|
||||
|
||||
.lt-layout {
|
||||
@@ -1211,6 +1215,7 @@ select option:checked {
|
||||
.lt-badge-green { color: var(--accent-green); }
|
||||
.lt-badge-amber { color: var(--accent-amber); }
|
||||
.lt-badge-red { color: var(--accent-red); }
|
||||
.lt-badge-sm { font-size: 0.52rem; padding: 0.05rem 0.3rem; letter-spacing: 0.08em; }
|
||||
|
||||
/* Status + priority badge variants (dark-mode base) */
|
||||
.lt-badge-open { color: var(--accent-green); background: rgba(0,255,136,0.08); border-color: rgba(0,255,136,0.35); text-shadow: var(--glow-green); }
|
||||
@@ -3192,6 +3197,11 @@ input[type="range"].lt-range::-moz-range-thumb {
|
||||
.lt-kv-val--green { color: var(--accent-green); }
|
||||
.lt-kv-val--red { color: var(--accent-red); }
|
||||
|
||||
/* v1.2 aliases: lt-kv-row wraps label+value as a transparent grid wrapper */
|
||||
.lt-kv-row { display: contents; }
|
||||
.lt-kv-label { padding: var(--space-xs) var(--space-md) var(--space-xs) 0; color: var(--text-dim); text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.7rem; white-space: nowrap; border-right: 1px solid var(--border-dim); }
|
||||
.lt-kv-value { padding: var(--space-xs) 0 var(--space-xs) var(--space-md); color: var(--text-primary); }
|
||||
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
43. HERO / BANNER SECTION
|
||||
|
||||
Reference in New Issue
Block a user