diff --git a/luci-theme-openmptcprouter/htdocs/luci-static/openmptcprouter/cascade.css b/luci-theme-openmptcprouter/htdocs/luci-static/openmptcprouter/cascade.css index 9fe28f463..5ac38bf30 100644 --- a/luci-theme-openmptcprouter/htdocs/luci-static/openmptcprouter/cascade.css +++ b/luci-theme-openmptcprouter/htdocs/luci-static/openmptcprouter/cascade.css @@ -39,6 +39,7 @@ form, label, legend, button, table, caption, tbody, tfoot, thead, tr, th, td, abbr[title], acronym[title] { border-bottom: 1px dotted; + font-weight: inherit; cursor: help; } @@ -162,7 +163,7 @@ textarea { * Basic and global styles for generating a grid system, structural layout, and page templates * ------------------------------------------------------------------------------------------- */ body { - background-color: #ffffff; + background-color: #fff; margin: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; @@ -516,7 +517,7 @@ input[type=checkbox], input[type=radio] { } input[type=file] { - background-color: #ffffff; + background-color: #fff; padding: initial; border: initial; line-height: initial; @@ -537,7 +538,7 @@ select, input[type=file] { select[multiple] { height: inherit; - background-color: #ffffff; + background-color: #fff; } textarea { @@ -552,7 +553,7 @@ textarea { } .uneditable-input { - background-color: #ffffff; + background-color: #fff; display: block; border-color: #eee; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); @@ -567,15 +568,17 @@ textarea { color: #bfbfbf; } -input, textarea { +.btn, .cbi-button, input, textarea { transition: border linear 0.2s, box-shadow linear 0.2s; box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1); } +.btn:hover, .cbi-button:hover, input:focus, textarea:focus { outline: 0; - border-color: rgba(82, 168, 236, 0.8); + border-color: rgba(82, 168, 236, 0.8) !important; box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 8px rgba(82, 168, 236, 0.6); + text-decoration: none; } input[type=file]:focus, input[type=checkbox]:focus, select:focus { @@ -583,66 +586,6 @@ input[type=file]:focus, input[type=checkbox]:focus, select:focus { outline: 1px dotted #666; } -form .clearfix.error > label, form .clearfix.error .help-block, form .clearfix.error .help-inline { - color: #b94a48; -} - -form .clearfix.error input, form .clearfix.error textarea { - color: #b94a48; - border-color: #ee5f5b; -} - -form .clearfix.error input:focus, form .clearfix.error textarea:focus { - border-color: #e9322d; - box-shadow: 0 0 6px #f8b9b7; -} - -form .clearfix.error .input-prepend .add-on, form .clearfix.error .input-append .add-on { - color: #b94a48; - background-color: #fce6e6; - border-color: #b94a48; -} - -form .clearfix.warning > label, form .clearfix.warning .help-block, form .clearfix.warning .help-inline { - color: #c09853; -} - -form .clearfix.warning input, form .clearfix.warning textarea { - color: #c09853; - border-color: #ccae64; -} - -form .clearfix.warning input:focus, form .clearfix.warning textarea:focus { - border-color: #be9a3f; - box-shadow: 0 0 6px #e5d6b1; -} - -form .clearfix.warning .input-prepend .add-on, form .clearfix.warning .input-append .add-on { - color: #c09853; - background-color: #d2b877; - border-color: #c09853; -} - -form .clearfix.success > label, form .clearfix.success .help-block, form .clearfix.success .help-inline { - color: #468847; -} - -form .clearfix.success input, form .clearfix.success textarea { - color: #468847; - border-color: #57a957; -} - -form .clearfix.success input:focus, form .clearfix.success textarea:focus { - border-color: #458845; - box-shadow: 0 0 6px #9acc9a; -} - -form .clearfix.success .input-prepend .add-on, form .clearfix.success .input-append .add-on { - color: #468847; - background-color: #bcddbc; - border-color: #468847; -} - input[disabled], select[disabled], textarea[disabled], @@ -651,6 +594,14 @@ select[readonly], textarea[readonly] { background-color: #f5f5f5; border-color: #ddd; + pointer-events: none; + cursor: default; +} + +select[readonly], +textarea[readonly] { + pointer-events: auto; + cursor: auto; } .cbi-optionals, @@ -698,6 +649,11 @@ textarea[readonly] { text-decoration: underline; } +.cbi-page-actions > form { + display: inline; + margin: 0; +} + .help-inline, .help-block { font-size: 13px; line-height: 18px; @@ -745,20 +701,27 @@ textarea[readonly] { text-align: left; } -.table .th { +.table .tr:first-child .th { padding-top: 9px; font-weight: bold; - vertical-align: middle; + vertical-align: top; } -.table .td { - vertical-align: top; +.table .td, .table .th { border-top: 1px solid #ddd; } -.table .tbody .th { - border-top: 1px solid #ddd; - vertical-align: top; +.tr.placeholder { + height: calc(3em + 20px); +} + +.tr.placeholder > .td { + position: absolute; + left: 0; + right: 0; + bottom: 0; + text-align: center; + line-height: 3em; } /* @@ -794,19 +757,6 @@ table tbody th { vertical-align: top; } -.tr.placeholder { - height: calc(3em + 20px); -} - -.tr.placeholder > .td { - position: absolute; - left: 0; - right: 0; - bottom: 0; - text-align: center; - line-height: 3em; -} - /* Patterns.less * Repeatable UI elements outside the base styles provided from the scaffolding * ---------------------------------------------------------------------------- */ @@ -829,7 +779,7 @@ header a { header h3 a:hover, header .brand:hover, header ul .active > a { background-color: #333; background-color: rgba(255, 255, 255, 0.05); - color: #ffffff; + color: #fff; text-decoration: none; } @@ -842,7 +792,7 @@ header h3 a, header .brand { display: block; padding: 8px 20px 12px; margin-left: -20px; - color: #ffffff; + color: #fff; font-size: 20px; font-weight: 200; line-height: 1; @@ -883,7 +833,7 @@ header div > ul a, .nav a { } header div > ul a:hover, .nav a:hover { - color: #ffffff; + color: #fff; text-decoration: none; } @@ -933,7 +883,7 @@ header div > ul .menu-dropdown .dropdown-toggle, .nav .menu-dropdown .dropdown-toggle, header div > ul .dropdown-menu .dropdown-toggle, .nav .dropdown-menu .dropdown-toggle { - color: #ffffff; + color: #fff; } header div > ul .menu-dropdown a.menu.open, @@ -963,14 +913,14 @@ header div > ul .dropdown-menu li a:hover, background-color: #191919; background-repeat: repeat-x; background-image: linear-gradient(to bottom, #292929, #191919); - color: #ffffff; + color: #fff; } header div > ul .menu-dropdown .active a, .nav .menu-dropdown .active a, header div > ul .dropdown-menu .active a, .nav .dropdown-menu .active a { - color: #ffffff; + color: #fff; } header div > ul .menu-dropdown .divider, @@ -1000,12 +950,12 @@ a.menu:after, .dropdown-toggle:after { margin-left: 4px; border-left: 4px solid transparent; border-right: 4px solid transparent; - border-top: 4px solid #ffffff; + border-top: 4px solid #fff; opacity: 0.5; } .menu-dropdown, .dropdown-menu { - background-color: #ffffff; + background-color: #fff; float: left; position: absolute; top: 45px; @@ -1038,7 +988,7 @@ a.menu:after, .dropdown-toggle:after { margin: 5px 0; overflow: hidden; background-color: #eee; - border-bottom: 1px solid #ffffff; + border-bottom: 1px solid #fff; } header .dropdown-menu a, .dropdown-menu a { @@ -1048,16 +998,16 @@ header .dropdown-menu a, .dropdown-menu a { font-weight: normal; line-height: 18px; color: #808080; - text-shadow: 0 1px 0 #ffffff; + text-shadow: 0 1px 0 #fff; } header .dropdown-menu a:hover, .dropdown-menu a:hover, header .dropdown-menu a.hover, .dropdown-menu a.hover { - background-color: #dddddd; + background-color: #ddd; background-repeat: repeat-x; - background-image: linear-gradient(to bottom, #eeeeee, #dddddd); + background-image: linear-gradient(to bottom, #eee, #ddd); color: #404040; text-decoration: none; box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025); @@ -1067,7 +1017,7 @@ header .dropdown-menu a.hover, .dropdown.open .menu, .open .dropdown-toggle, .dropdown.open .dropdown-toggle { - color: #ffffff; + color: #fff; background: #ccc; background: rgba(0, 0, 0, 0.3); } @@ -1166,7 +1116,7 @@ header .dropdown-menu a.hover, .cbi-tabmenu .active > a, .cbi-tabmenu .active > a:hover, .cbi-tab > a:link, .cbi-tab > a:hover { color: #808080; - background-color: #ffffff; + background-color: #fff; border: 1px solid #ddd; border-bottom-color: transparent; cursor: default; @@ -1210,15 +1160,15 @@ header .dropdown-menu a.hover, margin: 0 0 18px; background-color: #f5f5f5; background-repeat: repeat-x; - background-image: linear-gradient(to bottom, #ffffff, #f5f5f5); + background-image: linear-gradient(to bottom, #fff, #f5f5f5); border: 1px solid #ddd; border-radius: 3px; - box-shadow: inset 0 1px 0 #ffffff; + box-shadow: inset 0 1px 0 #fff; } .breadcrumb li { display: inline; - text-shadow: 0 1px 0 #ffffff; + text-shadow: 0 1px 0 #fff; } .breadcrumb .divider { @@ -1252,7 +1202,7 @@ footer { .alert-message.info, .btn.info:hover, .alert-message.info:hover { - color: #ffffff; + color: #fff; } .btn .close, .alert-message .close { @@ -1264,29 +1214,26 @@ footer { .alert-message.danger, .btn.error, .alert-message.error { - background-color: #c43c35; - background-repeat: repeat-x; - background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); + background: linear-gradient(to bottom, #ee5f5b, #c43c35) repeat-x; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - border-color: #c43c35 #c43c35 #882a25; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); } .btn.success, .alert-message.success { - background-color: #57a957; - background-repeat: repeat-x; - background-image: linear-gradient(to bottom, #62c462, #57a957); + background: linear-gradient(to bottom, #62c462, #57a957) repeat-x; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - border-color: #57a957 #57a957 #3d773d; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); } .btn.info, .alert-message.info { - background-color: #339bb9; - background-repeat: repeat-x; - background-image: linear-gradient(to bottom, #5bc0de, #339bb9); + background: linear-gradient(to bottom, #5bc0de, #339bb9) repeat-x; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - border-color: #339bb9 #339bb9 #22697d; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); +} + +.alert-message.notice { + background: linear-gradient(to bottom, #efefef, #fefefe) repeat-x; + text-shadow: 0 -1px 0 rgba(255, 255, 255, 0.25); border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); } @@ -1294,9 +1241,7 @@ footer { .cbi-button { cursor: pointer; display: inline-block; - background-color: #e6e6e6; - background-repeat: no-repeat; - background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); + background: linear-gradient(#fff, #fff 25%, #e6e6e6) no-repeat; padding: 5px 14px 6px; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); color: #333; @@ -1308,12 +1253,6 @@ footer { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); } -.btn:hover, -.cbi-button:hover { - color: #333; - text-decoration: none; -} - .btn:focus, .cbi-button:focus { outline: 1px dotted #666; @@ -1321,8 +1260,8 @@ footer { .cbi-input-invalid, .cbi-value-error input { - color: #FF0000; - border-color: #FF0000; + color: #f00; + border-color: #f00; } .cbi-button-positive, @@ -1339,7 +1278,6 @@ footer { .cbi-button-link, .cbi-button-up, .cbi-button-down { - border-color: #444; color: #444; } @@ -1360,24 +1298,41 @@ footer { color: #c44; } +.cbi-page-actions::after { + display: table; + content: ""; + clear: both; +} + +.cbi-page-actions > :not([method="post"]):not(.cbi-button-apply):not(.cbi-button-save):not(.cbi-button-reset) { + float: left; + margin-right: .4em; +} + .btn.primary, .cbi-button-action.important, .cbi-page-actions .cbi-button-apply, .cbi-section-actions .cbi-button-edit { color: #fff; - background: #0069d6; + background: linear-gradient(to bottom, #0069d6, #0049d6) no-repeat; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); } .cbi-button-positive.important, .cbi-page-actions .cbi-button-save { color: #fff; - background: #4a4; + background: linear-gradient(to bottom, #4a4, #484) no-repeat; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +.cbi-button-negative.important { + color: #fff; + background: linear-gradient(to bottom, #c44, #c00) no-repeat; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); } .cbi-page-actions .cbi-button-apply + .cbi-button-save { - background: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); + background: linear-gradient(#fff, #fff 25%, #e6e6e6); text-shadow: 0 -1px 0 rgba(255, 255, 255, 0.75); color: #4a4; } @@ -1446,7 +1401,7 @@ footer { min-height: 20px; } -.cbi-dropdown > ul > li .hide-open { display: initial; } +.cbi-dropdown > ul > li .hide-open { display: block; display: initial; } .cbi-dropdown > ul > li .hide-close { display: none; } .cbi-dropdown > ul > li[display]:not([display="0"]) { @@ -1511,7 +1466,7 @@ footer { } .cbi-dropdown[open] > ul.dropdown > li .hide-open { display: none; } -.cbi-dropdown[open] > ul.dropdown > li .hide-close { display: initial; } +.cbi-dropdown[open] > ul.dropdown > li .hide-close { display: block; display: initial; } .cbi-dropdown[open] > ul.dropdown > li { border-bottom: 1px solid #ccc; @@ -1624,16 +1579,16 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner { .close { float: right; - color: #000000; + color: #000; font-size: 20px; font-weight: bold; line-height: 13.5px; - text-shadow: 0 1px 0 #ffffff; + text-shadow: 0 1px 0 #fff; opacity: 0.25; } .close:hover { - color: #000000; + color: #000; text-decoration: none; opacity: 0.4; } @@ -1643,11 +1598,8 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner { padding: 7px 15px; margin-bottom: 18px; color: #404040; - background-color: #eedc94; - background-repeat: repeat-x; - background-image: linear-gradient(to bottom, #fceec1, #eedc94); + background: linear-gradient(to bottom, #fceec1, #eedc94) repeat-x; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - border-color: #eedc94 #eedc94 #e4c652; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); border-width: 1px; @@ -1670,7 +1622,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner { .alert-message.error p a, .alert-message.success p a, .alert-message.info p a { - color: #ffffff; + color: #fff; } .alert-message h5 { @@ -1687,15 +1639,11 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner { line-height: 28px; } -.alert-message .btn { - box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25); -} - .label { padding: 1px 3px 2px; font-size: 9.75px; font-weight: bold; - color: #ffffff !important; + color: #fff !important; text-transform: uppercase; white-space: nowrap; background-color: #bfbfbf; @@ -1705,7 +1653,7 @@ button.btn::-moz-focus-inner, input[type=submit].btn::-moz-focus-inner { a.label:link, a.label:visited { - color: #ffffff; + color: #fff; } a.label:hover { @@ -1736,7 +1684,7 @@ a.label:hover { #memcache > div, #membuff > div, #conns > div { - border: 1px solid #CCCCCC; + border: 1px solid #ccc; border-radius: 3px 3px 3px 3px; color: #808080; display: inline-block; @@ -1748,7 +1696,7 @@ a.label:hover { cursor: pointer; } -form.inline { display: inline } +form.inline { display: inline; margin-bottom: 0; } header .pull-right { padding-top: 8px; } @@ -1756,15 +1704,13 @@ header .pull-right { padding-top: 8px; } #syslog { width: 100%; } -.cbi-section-table tbody tr:nth-child(odd) td, .cbi-section-table tbody tr:nth-child(odd) th { - background-color: #f9f9f9; -} - -.cbi-section-table tbody tr:hover td, .cbi-section-table tbody tr:hover th { +.cbi-section-table .tr:hover .td, +.cbi-section-table .tr:hover .th, +.cbi-section-table .tr:hover::before { background-color: #f5f5f5; } -.cbi-section-table tr.cbi-section-table-descr th { +.cbi-section-table .tr.cbi-section-table-descr .th { font-weight: normal; } @@ -1776,17 +1722,21 @@ header .pull-right { padding-top: 8px; } padding: 10px 10px 9px; line-height: 18px; font-weight: bold; + vertical-align: middle; } +.cbi-section-table-titles.named::before, +.cbi-section-table-descr.named::before, .cbi-section-table-row[data-title]::before { border-top: 1px solid #ddd; } .left { text-align: left !important; } - .right { text-align: right !important; } - .center { text-align: center !important; } +.top { vertical-align: top !important; } +.middle { vertical-align: middle !important; } +.bottom { vertical-align: bottom !important; } .cbi-value-field { line-height: 1.5em; } @@ -1801,10 +1751,11 @@ table table td, border: none; } -.table.cbi-section-table input, +.table.cbi-section-table input[type="password"], +.table.cbi-section-table input[type="text"], .table.cbi-section-table textarea, .table.cbi-section-table select { - width: auto; + width: 100%; } .table.cbi-section-table .td.cbi-section-table-cell { @@ -1816,10 +1767,36 @@ table table td, width: inherit; } +.td.cbi-section-actions { + text-align: right; + vertical-align: middle; +} + +.td.cbi-section-actions > * { + display: flex; +} + +.td.cbi-section-actions > * > *, +.td.cbi-section-actions > * > form > * { + flex: 1 1 4em; + margin: 0 1px; +} + +.td.cbi-section-actions > * > form { + display: inline-flex; + margin: 0; +} + .table.valign-middle .td { vertical-align: middle; } +.cbi-rowstyle-2, +.tr.table-titles, +.tr.cbi-section-table-titles { + background: #f9f9f9; +} + .cbi-value-description { background-image: url(/luci-static/resources/cbi/help.gif); background-position: .25em .2em; @@ -1829,26 +1806,27 @@ table table td, } .cbi-section-error { - border: 1px solid #FF0000; + border: 1px solid #f00; border-radius: 3px; - background-color: #FCE6E6; + background-color: #fce6e6; padding: 5px; + margin-bottom: 18px; } .cbi-section-error ul { margin: 0 0 0 20px; } .cbi-section-error ul li { - color: #FF0000; + color: #f00; font-weight: bold; } .ifacebox { - background-color: #FFFFFF; - border: 1px solid #CCCCCC; + background-color: #fff; + border: 1px solid #ccc; margin: 0 10px; text-align: center; white-space: nowrap; - background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); + background-image: linear-gradient(#fff, #fff 25%, #f9f9f9); text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); border-radius: 4px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); @@ -1859,7 +1837,7 @@ table table td, } .ifacebox .ifacebox-head { - border-bottom: 1px solid #CCCCCC; + border-bottom: 1px solid #ccc; padding: 2px; background: #eee; } @@ -1869,17 +1847,17 @@ table table td, } .ifacebox .ifacebox-body { - padding: 6px; + padding: .25em; } .ifacebadge { - display: inline-flex; + display: inline-block; flex-direction: row; white-space: nowrap; - background-color: #FFFFFF; - border: 1px solid #CCCCCC; + background-color: #fff; + border: 1px solid #ccc; padding: 2px; - background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); + background-image: linear-gradient(#fff, #fff 25%, #f9f9f9); text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); border-radius: 4px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); @@ -1891,11 +1869,10 @@ table table td, width: 16px; height: 16px; vertical-align: middle; - margin-right: .25em; } .ifacebadge-active { - border-color: #000000; + border-color: #000; font-weight: bold; } @@ -1916,21 +1893,32 @@ table table td, text-align: left; } +.network-status-table .ifacebox-body > * { + margin: .25em; +} + .network-status-table .ifacebox-body > span { - flex: 10; + flex: 10 10 auto; } .network-status-table .ifacebox-body > div { display: flex; flex-wrap: wrap; + margin: -.125em; } .ifacebadge.large, .network-status-table .ifacebox-body .ifacebadge { + display: inline-flex; flex: 1; - margin: .5em .25em 0 .25em; - padding: .5em; + padding: .25em; min-width: 220px; + margin: .125em; +} + +.ifacebadge > *, +.ifacebadge.large > * { + margin: 0 .125em; } .zonebadge { @@ -1938,7 +1926,7 @@ table table td, border-radius: 4px; display: inline-block; white-space: nowrap; - color: #666666; + color: #666; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); } @@ -1957,8 +1945,8 @@ table table td, } .zonebadge-empty { - border: 1px dashed #AAAAAA; - color: #AAAAAA; + border: 1px dashed #aaa; + color: #aaa; font-style: italic; font-size: smaller; } @@ -1966,7 +1954,7 @@ table table td, div.cbi-value var, .td.cbi-value-field var { font-style: italic; - color: #0069D6; + color: #0069d6; } .uci-change-list { @@ -1976,8 +1964,8 @@ div.cbi-value var, .uci-change-list ins, .uci-change-legend-label ins { text-decoration: none; - border: 1px solid #00FF00; - background-color: #CCFFCC; + border: 1px solid #0f0; + background-color: #cfc; display: block; padding: 2px; } @@ -1985,8 +1973,8 @@ div.cbi-value var, .uci-change-list del, .uci-change-legend-label del { text-decoration: none; - border: 1px solid #FF0000; - background-color: #FFCCCC; + border: 1px solid #f00; + background-color: #fcc; display: block; font-style: normal; padding: 2px; @@ -1995,8 +1983,8 @@ div.cbi-value var, .uci-change-list var, .uci-change-legend-label var { text-decoration: none; - border: 1px solid #CCCCCC; - background-color: #EEEEEE; + border: 1px solid #ccc; + background-color: #eee; display: block; font-style: normal; padding: 2px; diff --git a/luci-theme-openmptcprouter/luasrc/view/themes/openmptcprouter/header.htm b/luci-theme-openmptcprouter/luasrc/view/themes/openmptcprouter/header.htm index 4933a2c2c..6eb21a93d 100644 --- a/luci-theme-openmptcprouter/luasrc/view/themes/openmptcprouter/header.htm +++ b/luci-theme-openmptcprouter/luasrc/view/themes/openmptcprouter/header.htm @@ -170,6 +170,7 @@ <% if css then %> <% end -%> +