• R/O
  • HTTP
  • SSH
  • HTTPS

luci: Commit

LuCI - OpenWrt Configuration Interface


Commit MetaInfo

Revisão3747b2aa5e0739dd9c6d8d9e79bc35c0f5585989 (tree)
Hora2022-01-26 17:12:13
AutorTianling Shen <cnsztl@immo...>
CommiterTianling Shen

Mensagem de Log

luci-theme-bootstrap-blue: remove outdated package

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit fd6bb04b9da236e2e52a583fef7cacaa580ab9d6)

Mudança Sumário

  • delete: themes/luci-theme-bootstrap-blue/Makefile
  • delete: themes/luci-theme-bootstrap-blue/htdocs/luci-static/bootstrap_blue/cascade.css
  • delete: themes/luci-theme-bootstrap-blue/htdocs/luci-static/bootstrap_blue/favicon.ico
  • delete: themes/luci-theme-bootstrap-blue/htdocs/luci-static/bootstrap_blue/html5.js
  • delete: themes/luci-theme-bootstrap-blue/htdocs/luci-static/bootstrap_blue/mobile.css
  • delete: themes/luci-theme-bootstrap-blue/htdocs/luci-static/bootstrap_blue/wifi.png
  • delete: themes/luci-theme-bootstrap-blue/luasrc/view/themes/bootstrap_blue/footer.htm
  • delete: themes/luci-theme-bootstrap-blue/luasrc/view/themes/bootstrap_blue/header.htm
  • delete: themes/luci-theme-bootstrap-blue/root/etc/uci-defaults/30_luci-theme-bootstrap-blue

Diff

--- a/themes/luci-theme-bootstrap-blue/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
1-# Copyright (C) 2020 Lienol <lawlienol@gmail.com>
2-#
3-# This is free software, licensed under the GNU General Public License v3.
4-#
5-
6-include $(TOPDIR)/rules.mk
7-
8-LUCI_TITLE:=Bootstrap Blue Theme By Lienol
9-LUCI_DEPENDS:=
10-PKG_VERSION:=2
11-PKG_DATE:=20200912
12-
13-include ../../luci.mk
14-
15-# call BuildPackage - OpenWrt buildroot signature
--- a/themes/luci-theme-bootstrap-blue/htdocs/luci-static/bootstrap_blue/cascade.css
+++ /dev/null
@@ -1,1597 +0,0 @@
1-html,
2-body {
3- height: 100%;
4-}
5-
6-body {
7- background: #ffffff;
8- color: #333;
9- font-family: Helvetica, Arial, sans-serif;
10- font-size: 14px;
11- line-height: 1.8;
12- margin: 0;
13- /* padding-top: 60px; */
14- margin: unset;
15-}
16-
17-a {
18- color: #118af3;
19- text-decoration: none;
20- outline: 0;
21-}
22-
23-a:hover {
24- opacity: 1;
25-}
26-
27-h1,
28-h2,
29-h3,
30-h4,
31-h5,
32-h6,
33-p,
34-.cbi-map-descr,
35-.cbi-section-descr {
36- color: #19a4e6;
37- margin-top: 0;
38- margin-bottom: 10px;
39-}
40-
41-ul,
42-ol {
43- margin: 0;
44- padding: 0;
45- list-style: none;
46-}
47-
48-tr,
49-.tr {
50- display: table-row;
51-}
52-
53-legend {
54- color: #19a4e6;
55- font-size: 18px;
56- font-weight: bold;
57- padding: 0 0 3px;
58-}
59-
60-.left {
61- text-align: left !important;
62-}
63-
64-.right {
65- text-align: right !important;
66-}
67-
68-.center {
69- text-align: center !important;
70-}
71-
72-.top {
73- vertical-align: top !important;
74-}
75-
76-.middle {
77- vertical-align: middle !important;
78-}
79-
80-.bottom {
81- vertical-align: bottom !important;
82-}
83-
84-.pull-left {
85- float: left !important;
86-}
87-
88-.pull-right {
89- float: right !important;
90-}
91-
92-.inline {
93- display: inline;
94-}
95-
96-.hidden {
97- display: none;
98-}
99-
100-
101-/* Style */
102-
103-.container:first-child {
104- /* min-height: 40px; */
105- display: flow-root;
106-}
107-
108-.container {
109- max-width: 1080px;
110- margin: 0 auto;
111-}
112-
113-/* Header */
114-
115-header {
116- font-size: 14px;
117- /* position: fixed;
118- top: 0;
119- left: 0;
120- right: 0; */
121- background: #34aee8;
122- box-shadow: 0 2px 2px rgba(0, 0, 0, .1);
123- z-index: 100;
124- border-bottom: 2px solid #19a4e6;
125-}
126-
127-.brand {
128- float: left;
129- color: #ffffff;
130- font-size: 24px;
131- font-weight: 700;
132- line-height: 40px;
133- margin-right: 20px;
134- position: absolute;
135- left: 0;
136- margin-left: 20px;
137-}
138-
139-
140-/* .brand { display:none; } */
141-
142-.brand:hover {
143- opacity: 1;
144-}
145-
146-.nav li {
147- float: left;
148-}
149-
150-.nav a {
151- display: block;
152- color: #fff;
153- line-height: 40px;
154- padding: 0 15px;
155-}
156-
157-.nav a:hover {}
158-
159-
160-/* Dropdown */
161-
162-.dropdown {
163- position: relative;
164-}
165-
166-.dropdown:hover {
167- background-color: #0088cc;
168-}
169-
170-.dropdown:hover .dropdown-menu {
171- display: block;
172-}
173-
174-.dropdown-menu {
175- display: none;
176- position: absolute;
177- top: 40px;
178- background: #34aee8;
179- border-radius: 5px;
180- padding: 5px 0px;
181- z-index: 100;
182-}
183-
184-.dropdown-menu:before {
185- content: '';
186- position: absolute;
187- top: -6px;
188- left: 27px;
189- border-bottom: 6px solid #00aaff;
190- border-left: 7px solid transparent;
191- border-right: 7px solid transparent;
192-}
193-
194-.dropdown-menu a {
195- color: #fff;
196- line-height: 30px;
197- min-width: 150px;
198- padding: 0 20px;
199- font-size: 14px;
200-}
201-
202-.dropdown-menu a:hover {
203- background: #118af3;
204- /* color: #3fc3ef; */
205-}
206-
207-.cbi-dropdown {
208- display: inline-block;
209- width: 210px;
210- height: 30px;
211- padding: 4px;
212- font-size: 13px;
213- line-height: 18px;
214- color: #808080;
215- border: 1px solid #ccc;
216- border-radius: 3px;
217- box-sizing: border-box;
218-}
219-
220-.cbi-dropdown {
221- border: 1px solid #ccc;
222- border-radius: 3px;
223- display: inline-flex;
224- padding: 0;
225- cursor: pointer;
226- height: auto;
227- background: linear-gradient(#fff 0%, #e9e8e6 100%);
228- position: relative;
229- color: #404040;
230-}
231-
232-.cbi-dropdown {
233- /* min-width: 210px; */
234- max-width: 400px;
235- width: auto;
236-}
237-
238-.cbi-dropdown:focus {
239- outline: 2px solid #4b6e9b;
240-}
241-
242-.cbi-dropdown>ul {
243- margin: 0 !important;
244- padding: 0;
245- list-style: none;
246- overflow-x: hidden;
247- overflow-y: auto;
248- display: flex;
249- width: 100%;
250-}
251-
252-.cbi-dropdown>ul.preview {
253- display: none;
254-}
255-
256-.cbi-dropdown>.open,
257-.cbi-dropdown>.more {
258- flex-grow: 0;
259- flex-shrink: 0;
260- display: flex;
261- flex-direction: column;
262- justify-content: center;
263- text-align: center;
264- line-height: 2em;
265- padding: 0 .25em;
266-}
267-
268-.cbi-dropdown>.more,
269-.cbi-dropdown>ul>li[placeholder] {
270- color: #777;
271- font-weight: bold;
272- text-shadow: 1px 1px 0px #fff;
273- display: none;
274-}
275-
276-.cbi-dropdown>ul>li {
277- display: none;
278- padding: .25em;
279- white-space: nowrap;
280- overflow: hidden;
281- text-overflow: ellipsis;
282- flex-shrink: 1;
283- flex-grow: 1;
284- align-items: center;
285- align-self: center;
286- /* color: #404040; */
287- min-height: 20px;
288-}
289-
290-.cbi-dropdown>ul>li .hide-open {
291- display: block;
292- display: initial;
293-}
294-
295-.cbi-dropdown>ul>li .hide-close {
296- display: none;
297-}
298-
299-.cbi-dropdown>ul>li[display]:not([display="0"]) {
300- border-left: 1px solid #ccc;
301-}
302-
303-.cbi-dropdown[empty]>ul {
304- max-width: 1px;
305-}
306-
307-.cbi-dropdown>ul>li>form {
308- display: none;
309- margin: 0;
310- padding: 0;
311- pointer-events: none;
312-}
313-
314-.cbi-dropdown>ul>li img {
315- vertical-align: middle;
316- margin-right: .25em;
317-}
318-
319-.cbi-dropdown>ul>li>form>input[type="checkbox"] {
320- margin: 0;
321-}
322-
323-.cbi-dropdown>ul>li input[type="text"] {
324- height: 20px;
325-}
326-
327-.cbi-dropdown[open] {
328- position: relative;
329-}
330-
331-.cbi-dropdown[open]>ul.dropdown {
332- display: block;
333- background: #f6f6f5;
334- border: 1px solid #918e8c;
335- box-shadow: 0 0 4px #918e8c;
336- position: absolute;
337- z-index: 1000;
338- max-width: none;
339- min-width: 100%;
340- width: auto;
341-}
342-
343-.cbi-dropdown>ul>li[display],
344-.cbi-dropdown[open]>ul.preview,
345-.cbi-dropdown[open]>ul.dropdown>li,
346-.cbi-dropdown[multiple]>ul>li>label,
347-.cbi-dropdown[multiple][open]>ul.dropdown>li,
348-.cbi-dropdown[multiple][more]>.more,
349-.cbi-dropdown[multiple][empty]>.more {
350- flex-grow: 1;
351- display: flex;
352-}
353-
354-.cbi-dropdown[empty]>ul>li,
355-.cbi-dropdown[optional][open]>ul.dropdown>li[placeholder],
356-.cbi-dropdown[multiple][open]>ul.dropdown>li>form {
357- display: block;
358-}
359-
360-.cbi-dropdown[open]>ul.dropdown>li .hide-open {
361- display: none;
362-}
363-
364-.cbi-dropdown[open]>ul.dropdown>li .hide-close {
365- display: block;
366- display: initial;
367-}
368-
369-.cbi-dropdown[open]>ul.dropdown>li {
370- border-bottom: 1px solid #ccc;
371-}
372-
373-.cbi-dropdown[open]>ul.dropdown>li[selected] {
374- background: #b0d0f0;
375-}
376-
377-.cbi-dropdown[open]>ul.dropdown>li.focus {
378- background: linear-gradient(90deg, #a3c2e8 0%, #84aad9 100%);
379-}
380-
381-.cbi-dropdown[open]>ul.dropdown>li:last-child {
382- margin-bottom: 0;
383- border-bottom: none;
384-}
385-
386-.cbi-dropdown[disabled] {
387- pointer-events: none;
388- opacity: .6;
389-}
390-
391-#maincontent.container {
392- margin-top: 10px;
393-}
394-
395-
396-/* Label */
397-
398-.label {
399- border-radius: 10px !important;
400- display: inline-block;
401- background: #bbb;
402- border-bottom: 2px solid rgba(0, 0, 0, .05);
403- border-radius: 4px;
404- color: #fff;
405- font-size: 14px;
406- line-height: 24px;
407- text-transform: uppercase;
408- margin-top: 6px;
409- padding: 2px 9px;
410- cursor: pointer;
411-}
412-
413-.label.success {
414- background: #118af3;
415-}
416-
417-.label.notice {
418- background: #118af3;
419-}
420-
421-.label.important {
422- background: #f00;
423-}
424-
425-.label.warning {
426- background: #fc0;
427-}
428-
429-
430-/* Main */
431-
432-h2 a {
433- color: #333;
434-}
435-
436-h2 a:hover {
437- opacity: 1;
438-}
439-
440-h2+.cbi-map-descr {
441- margin-top: -10px;
442-}
443-
444-.alert-message {
445- position: relative;
446- padding: 15px;
447- margin-bottom: 10px;
448- background: linear-gradient(to bottom, #fceec1, #eedc94) repeat-x;
449- /* border: 1px solid rgba(0, 0, 0, .1);
450- border-width: 2px 0; */
451- border-radius: 2px;
452-}
453-
454-.alert-message>h4,
455-p {
456- margin: 0;
457-}
458-
459-.error,
460-.errorbox {
461- display: inline;
462-}
463-
464-.error {
465- color: #f00;
466-}
467-
468-.errorbox {
469- color: #3b3;
470-}
471-
472-#maincontainer {
473- box-shadow: 0 0 2px rgba(0, 0, 0, .3);
474- border-radius: 4px;
475- width: 500px;
476- margin: 120px auto 0;
477- padding: 30px;
478-}
479-
480-#syslog {
481- color: #111;
482- width: 100%;
483-}
484-
485-
486-/* Change List */
487-
488-.uci-change-legend {
489- padding-top: 15px;
490-}
491-
492-.uci-change-legend-label {
493- float: left;
494- margin-right: 100px;
495-}
496-
497-.uci-change-legend-label>ins,
498-.uci-change-legend-label>del,
499-.uci-change-legend-label>var {
500- float: left;
501- width: 10px;
502- height: 10px;
503- margin-top: 3px;
504- margin-right: 6px;
505-}
506-
507-.uci-change-list {
508- font-family: monospace;
509-}
510-
511-.uci-change-list ins,
512-.uci-change-legend-label ins,
513-.uci-change-list del,
514-.uci-change-legend-label del,
515-.uci-change-list var,
516-.uci-change-legend-label var {
517- display: block;
518- text-decoration: none;
519- padding: 2px;
520-}
521-
522-.uci-change-list ins,
523-.uci-change-legend-label ins {
524- background: #cfc;
525- border: 2px solid #4f4;
526-}
527-
528-.uci-change-list del,
529-.uci-change-legend-label del {
530- background: #fcc;
531- border: 2px solid #f00;
532-}
533-
534-.uci-change-list var,
535-.uci-change-legend-label var {
536- background: #f2f2f2;
537- border: 2px solid #ccc;
538-}
539-
540-.uci-change-list var ins,
541-.uci-change-list var del {
542- border: 0;
543- white-space: pre;
544- padding: 0;
545-}
546-
547-.uci-change-legend-label var ins,
548-.uci-change-legend-label var del {
549- border: 0;
550- line-height: 6px;
551-}
552-
553-
554-/* Tabs */
555-
556-.tabs,
557-.cbi-tabmenu {
558- border-bottom: 2px solid #34aee8;
559- margin-bottom: 20px;
560-}
561-
562-.tabs li,
563-.cbi-tabmenu li {
564- display: inline-block;
565-}
566-
567-.tabs a,
568-.cbi-tabmenu a {
569- display: block;
570- color: #19a4e6;
571- line-height: 34px;
572- margin-bottom: -2px;
573- margin-right: 20px;
574- padding: 0 3px;
575-}
576-
577-.active a,
578-.cbi-tab a {
579- border-bottom: 2px solid #111;
580- color: #111;
581-}
582-
583-
584-/* Fieldset */
585-
586-fieldset {
587- border: 0px;
588- margin: 10px 0;
589- padding: 0;
590-}
591-
592-fieldset fieldset {
593- margin: 0;
594-}
595-
596-.cbi-value {
597- margin-bottom: 1em;
598- zoom: 1;
599- clear: both;
600-}
601-
602-table .cbi-value-field,
603-.table .cbi-value-field {
604- display: table-cell;
605-}
606-
607-.cbi-value-title {
608- /* white-space: nowrap;
609- overflow: hidden;
610- text-overflow: clip; */
611- display: table-cell;
612- padding-top: 0.4em;
613- line-height: 1.2em;
614- float: left;
615- width: 13em;
616- margin-right: 1.5em;
617- text-align: right;
618- color: #404040;
619-}
620-
621-.cbi-value-field {
622- color: #811;
623- display: table-cell;
624-}
625-
626-.cbi-section-table-cell {
627- white-space: nowrap;
628-}
629-
630-.cbi-section-create {
631- margin: -3px;
632- display: inline-flex;
633- align-items: center;
634-}
635-
636-.cbi-section-create>* {
637- margin: 3px;
638- flex: 1 1 auto;
639-}
640-
641-
642-/* Table */
643-
644-
645-/* .cbi-section table tbody tr:nth-child(odd) { background-color: #fdfdfd; } */
646-
647-table,
648-.table {
649- width: 100%;
650- display: table;
651- margin: 0 0 10px !important;
652- border-radius: 5px;
653- /* border: 1px solid #a9b1bb26; */
654- border-collapse: collapse;
655- position: relative;
656-}
657-
658-
659-/* table tr:first-child, .table .tr:first-child { border-top: 1px solid #b0e6b9; } */
660-
661-
662-/* table tr, .table .tr { border-bottom: 1px solid #b0e6b9; } */
663-
664-table th,
665-table td,
666-.table .th,
667-.table .td {
668- color: #811;
669- padding: 3px !important;
670-}
671-
672-table tr+tr td,
673-.table .tr+.tr .td {
674- border-top: 1px solid #a9b1bb26;
675-}
676-
677-table th,
678-.table .th {
679- text-align: left;
680- font-weight: bold;
681-}
682-
683-table td:first-child,
684-.table .td:first-child {
685- color: #127;
686-}
687-
688-.table[width="33%"],
689-.th[width="33%"],
690-.td[width="33%"] {
691- width: 33%;
692-}
693-
694-.table[width="100%"],
695-.th[width="100%"],
696-.td[width="100%"] {
697- width: 100%;
698-}
699-
700-.table .th,
701-.table .td {
702- display: table-cell;
703- vertical-align: middle;
704-}
705-
706-.table .tr.placeholder {
707- height: calc(3em + 20px);
708-}
709-
710-.table .tr.placeholder>.td {
711- position: absolute;
712- left: 0;
713- right: 0;
714- bottom: 0;
715- text-align: center;
716- line-height: 3em;
717-}
718-
719-.td.cbi-section-actions>* {
720- /* display: flex; */
721-}
722-
723-.td.cbi-section-actions>*>*,
724-.td.cbi-section-actions>*>form>* {
725- /* flex: 1 1 4em;
726- margin: 0 1px; */
727-}
728-
729-.td.cbi-section-actions>*>.cbi-button-up,
730-.cbi-input-up {
731- /* background: unset; */
732-}
733-
734-.td.cbi-section-actions>*>.cbi-button-down,
735-.cbi-input-down {
736- /* background: unset; */
737-}
738-
739-#cbi-network .tr,
740-#cbi-wireless .tr,
741-.tr .tr:first-child,
742-#cbi-network tr,
743-#cbi-wireless tr,
744-tr tr:first-child {
745- border-top: 0;
746-}
747-
748-#cbi-network .tr,
749-#cbi-wireless .tr,
750-.tr .tr,
751-#cbi-network tr,
752-#cbi-wireless tr,
753-tr tr {
754- border-bottom: 0;
755-}
756-
757-#cpu_free,
758-#memtotal,
759-#memfree,
760-#memcache,
761-#membuff,
762-#conns,
763-#swaptotal,
764-#swapfree {
765- line-height: 18px;
766-}
767-
768-#cpu_free>div,
769-#memtotal>div,
770-#memfree>div,
771-#memcache>div,
772-#membuff>div,
773-#conns>div,
774-#swaptotal>div,
775-#swapfree>div {
776- border: 1.5px solid #bbb !important;
777- border-radius: 5px;
778- width: 240px !important;
779-}
780-
781-#cpu_free>div>div,
782-#memtotal>div>div,
783-#memfree>div>div,
784-#memcache>div>div,
785-#membuff>div>div,
786-#conns>div>div,
787-#swaptotal>div>div,
788-#swapfree>div>div {
789- background: #00adff7a !important;
790- height: 18px !important;
791- border-radius: 3px;
792-}
793-
794-
795-/* Form */
796-
797-input,
798-textarea,
799-select {
800- display: inline-block;
801- width: 16em;
802- padding: 0.4em;
803- border: 1px solid #118af3;
804- border-radius: 5px;
805- box-sizing: border-box;
806- color: #111;
807- font: inherit;
808- line-height: 18px;
809-}
810-
811-table.cbi-section-table input,
812-table.cbi-section-table textarea,
813-table.cbi-section-table select,
814-.table.cbi-section-table input,
815-.table.cbi-section-table textarea,
816-.table.cbi-section-table select {
817- width: auto;
818-}
819-
820-#cbi-network-switch_vlan select,
821-#cbi-firewall-zone select,
822-#cbi-firewall-redirect select {
823- width: auto;
824-}
825-
826-input:active,
827-input:focus {
828- outline: 0;
829- border-color: #118af3;
830-}
831-
832-input[type=file]:focus,
833-input[type=checkbox]:focus,
834-textarea:focus,
835-select:focus {
836- outline: 0;
837-}
838-
839-input[type=button],
840-input[type=reset],
841-input[type=submit],
842-button {
843- width: auto !important;
844-}
845-
846-input[type=checkbox],
847-input[type=radio] {
848- width: auto;
849- margin: 0;
850- vertical-align: middle;
851- cursor: pointer;
852-}
853-
854-input[type=file] {
855- padding: 0;
856- border: 0;
857-}
858-
859-.cbi-input-invalid,
860-.cbi-value-error input {
861- color: #f00;
862- border-color: #f00 !important;
863-}
864-
865-.cbi-image-button {
866- margin: 10px 8px;
867- vertical-align: middle;
868-}
869-
870-.uneditable-input {
871- background: #fafafa;
872- border-color: #f2f2f2;
873- color: #ccc;
874- cursor: not-allowed;
875-}
876-
877-.uneditable-input:active,
878-.uneditable-input:focus {
879- border-color: #f2f2f2;
880-}
881-
882-.cbi-value-description {
883- /* display: inline; */
884- background-image: url(/luci-static/resources/cbi/help.gif);
885- /* background-position-x: 0px;
886- background-position-y: 1px; */
887- background-position: 0em 0.3em;
888- background-repeat: no-repeat;
889- padding: 0 1.2rem;
890-}
891-
892-.cbi-value-description img {
893- display: none;
894- vertical-align: sub;
895-}
896-
897-.cbi-page-actions {
898- text-align: right;
899- padding: 10px 0px;
900-}
901-
902-.cbi-page-actions.right {
903- float: inherit;
904-}
905-
906-
907-/* Button */
908-
909-.btn,
910-.cbi-button,
911-button {
912- border-radius: 6px !important;
913- display: inline-block;
914- background: #fff;
915- border: 1px solid #118af3;
916- border-radius: 2px;
917- box-shadow: 0 2px 2px rgba(0, 0, 0, .05);
918- color: #333;
919- line-height: 16px;
920- padding: 0.5em;
921- cursor: pointer;
922- margin-left: 0.2em;
923-}
924-
925-.btn:active,
926-.btn:focus,
927-.cbi-button:active,
928-.cbi-button:focus,
929-button:active,
930-button:focus {
931- border-color: #bbb;
932-}
933-
934-/*
935-.cbi-button-up,
936-.cbi-input-up {
937- background-position: center;
938- background-image: url('../resources/cbi/up.gif'), linear-gradient(#ffffff, #ffffff 50%, #e6e6e6);
939- background-repeat: no-repeat;
940- padding-left: 15px;
941- padding-right: 15px;
942-}
943-
944-.cbi-button-down,
945-.cbi-input-down {
946- background-position: center;
947- background-image: url('../resources/cbi/down.gif'), linear-gradient(#ffffff, #ffffff 50%, #e6e6e6);
948- background-repeat: no-repeat;
949- padding-left: 15px;
950- padding-right: 15px;
951-}
952-*/
953-
954-.cbi-button-add,
955-.cbi-input-add {
956- background: #19a4e6;
957- border-color: #19a4e6;
958- color: #fff;
959-}
960-
961-.cbi-button-add:active,
962-.cbi-button-add:focus,
963-.cbi-input-add:active,
964-.cbi-input-add:focus {
965-}
966-
967-.cbi-button-remove,
968-.cbi-input-remove,
969-.cbi-section-remove input {
970- border-color: red;
971- background-color: red;
972- color: #fff;
973-}
974-
975-.cbi-button-remove:active,
976-.cbi-button-remove:focus,
977-.cbi-input-remove:active,
978-.cbi-input-remove:focus,
979-.cbi-section-remove input:active,
980-.cbi-section-remove input:focus {
981-}
982-
983-.cbi-button-reload,
984-.cbi-input-reload {
985- background: rgb(148, 143, 225);
986- border-color: rgb(148, 143, 225);
987- color: #fff;
988-}
989-
990-.cbi-button-reload:active,
991-.cbi-button-reload:focus,
992-.cbi-input-reload:active,
993-.cbi-input-reload:focus {
994-}
995-
996-.cbi-button-reset,
997-.cbi-input-reset {
998- background: #6bde84;
999- border-color: #6bde84;
1000- color: #fff;
1001-}
1002-
1003-.cbi-button-reset:active,
1004-.cbi-button-reset:focus,
1005-.cbi-input-reset:active,
1006-.cbi-input-reset:focus {
1007-}
1008-
1009-.cbi-button-edit,
1010-.cbi-input-edit {
1011- background: #ff7700;
1012- border-color: #ff7700;
1013- color: #fff;
1014-}
1015-
1016-.cbi-button-edit:active,
1017-.cbi-button-edit:focus,
1018-.cbi-input-edit:active,
1019-.cbi-input-edit:focus {
1020-}
1021-
1022-.cbi-button-apply,
1023-.cbi-input-apply {
1024- background: rgb(0, 171, 232);
1025- border-color: rgb(0, 171, 232);
1026- color: #fff;
1027-}
1028-
1029-.cbi-button-apply:active,
1030-.cbi-button-apply:focus,
1031-.cbi-input-apply:active,
1032-.cbi-input-apply:focus {
1033-}
1034-
1035-.cbi-button-save,
1036-.cbi-input-save {
1037- background: rgb(148, 143, 225);
1038- border-color: rgb(148, 143, 225);
1039- color: #fff;
1040-}
1041-
1042-.cbi-button-save:active,
1043-.cbi-button-save:focus,
1044-.cbi-input-save:active,
1045-.cbi-input-save:focus {
1046-}
1047-
1048-/* LuCI 18 DynamicList */
1049-input[type="text"] + .cbi-button,
1050-input[type="password"] + .cbi-button,
1051-select + .cbi-button {
1052- padding: 4px 8px;
1053-}
1054-
1055-
1056-/* Input Error */
1057-
1058-.cbi-section-error {
1059- background: #fee;
1060- border: 2px solid #f00;
1061- padding: 10px;
1062-}
1063-
1064-.cbi-section-error ul {
1065- padding-left: 20px;
1066-}
1067-
1068-.cbi-section-error ul li {
1069- color: #f00;
1070- list-style: disc;
1071-}
1072-
1073-
1074-/* Interface */
1075-
1076-.ifacebox {
1077- text-align: center;
1078- margin-right: 60px;
1079-}
1080-
1081-.ifacebox .ifacebox-head {
1082- border-bottom: 1px solid #ccc;
1083- padding: 2px;
1084- background: #eee;
1085-}
1086-
1087-.ifacebox .ifacebox-head.active {
1088- background: #85d8ff;
1089-}
1090-
1091-.ifacebox .ifacebox-body {
1092- border: 2px solid #f2f2f2;
1093- border-top: 0;
1094- border-radius: 0 0 4px 4px;
1095- padding: 2px 10px;
1096-}
1097-
1098-.network-status-table .ifacebox-body {
1099- display: flex;
1100- flex-direction: column;
1101- height: 100%;
1102- text-align: left;
1103-}
1104-
1105-.network-status-table .ifacebox {
1106- margin: .5em;
1107- flex-grow: 1;
1108-}
1109-
1110-.ifacebox .ifacebox-body {
1111- padding: .25em;
1112-}
1113-
1114-.ifacebox {
1115- background-color: #fff;
1116- border: 1px solid #ccc;
1117- margin: 0 10px;
1118- text-align: center;
1119- white-space: nowrap;
1120- background-image: linear-gradient(#fff, #fff 25%, #f9f9f9);
1121- text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
1122- border-radius: 4px;
1123- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
1124- display: inline-flex;
1125- flex-direction: column;
1126- line-height: 1.2em;
1127- min-width: 100px;
1128-}
1129-
1130-.ifacebadge {
1131- display: inline-block;
1132- flex-direction: row;
1133- white-space: nowrap;
1134- background-color: #fff;
1135- border: 1px solid #ccc;
1136- padding: 2px;
1137- background-image: linear-gradient(#fff, #fff 25%, #f9f9f9);
1138- text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
1139- border-radius: 4px;
1140- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
1141- cursor: default;
1142- line-height: 1.2em;
1143-}
1144-
1145-.ifacebadge.large,
1146-.network-status-table .ifacebox-body .ifacebadge {
1147- display: inline-flex;
1148- flex: 1;
1149- padding: .25em;
1150- min-width: 220px;
1151- margin: .125em;
1152- float: left;
1153-}
1154-
1155-.ifacebadge img {
1156- width: 16px;
1157- height: 16px;
1158- vertical-align: middle;
1159-}
1160-
1161-.ifacebadge>*,
1162-.ifacebadge.large>* {
1163- margin: 0 .125em;
1164-}
1165-
1166-.ifacebadge>*,
1167-.ifacebadge.large>* {
1168- margin: 0 .125em;
1169-}
1170-
1171-.network-status-table {
1172- display: flex;
1173- flex-wrap: wrap;
1174-}
1175-
1176-.cbi-tooltip {
1177- position: absolute;
1178- z-index: 1000;
1179- left: -10000px;
1180- box-shadow: 0 0 2px #ccc;
1181- border-radius: 3px;
1182- background: #fff;
1183- white-space: pre;
1184- opacity: 0;
1185- transition: opacity .25s ease-in;
1186- padding: 2px 5px;
1187-}
1188-
1189-.cbi-tooltip-container {
1190- /* cursor: help; */
1191-}
1192-
1193-
1194-/* Firewall */
1195-
1196-.zonebadge {
1197- display: inline-block;
1198- border-radius: 4px;
1199- color: #333;
1200- white-space: nowrap;
1201- padding: 0 8px;
1202- cursor: pointer;
1203-}
1204-
1205-.zonebadge em,
1206-.zonebadge strong {
1207- margin: 0 5px;
1208-}
1209-
1210-.zonebadge-empty {
1211- border: 2px dashed #ddd;
1212- color: #ddd;
1213- font-style: italic;
1214-}
1215-
1216-.zone-forwards {
1217- display: flex;
1218- flex-wrap: wrap;
1219-}
1220-
1221-.zone-forwards .zone-src,
1222-.zone-forwards .zone-dest {
1223- display: flex;
1224- flex-direction: column;
1225-}
1226-
1227-.zone-forwards>span {
1228- flex-basis: 10%;
1229- text-align: center;
1230-}
1231-
1232-.zone-forwards>* {
1233- flex: 1 1 40%;
1234- padding: 1px;
1235-}
1236-
1237-
1238-/* Footer */
1239-
1240-footer {
1241- border-top: 1px solid #34aee8;
1242- color: #111;
1243- text-align: center;
1244- padding: 10px 0;
1245- margin-top: 10px;
1246-}
1247-
1248-footer a {
1249- color: #118af3;
1250-}
1251-
1252-footer a:hover {
1253- color: #fff;
1254-}
1255-
1256-
1257-/* diy */
1258-
1259-#wan4_i,
1260-#wan6_i {
1261- vertical-align: top;
1262- width: 50px !important;
1263-}
1264-
1265-/* login */
1266-body.node-main-login {
1267- /* background: url(bg.jpg); */
1268- background: linear-gradient(#8f97f59e,#22b9a4);
1269- background-repeat: no-repeat;
1270- background-size: 100% 100%;
1271- -moz-background-size: 100% 100%;
1272- padding-top: unset;
1273-}
1274-
1275-body.node-main-login>header {
1276- background: none;
1277- border-bottom: none;
1278-}
1279-
1280-body.node-main-login .alert-message {
1281- z-index: 999;
1282-}
1283-
1284-.node-main-login>.container>form {
1285- width: 20rem;
1286- display: inline-block;
1287- padding: 1rem 1rem;
1288- border-radius: .375rem;
1289- text-align: center;
1290- position: absolute;
1291- top: 50%;
1292- left: 50%;
1293- transform: translate(-50%, -50%);
1294-}
1295-
1296-.node-main-login>.container>form .errorbox {
1297- color: red;
1298-}
1299-
1300-.node-main-login>.container>form>.cbi-map>h2 {
1301- width: 100px;
1302- height: 100px;
1303- color: #fff;
1304- text-align: center;
1305- letter-spacing: 4px;
1306- display: block;
1307- margin: -100px auto 15px auto;
1308- padding: 0;
1309- text-indent: -500px;
1310- overflow: hidden;
1311- border-radius: 60px;
1312- /* border: #118af3 3px solid; */
1313- background-image: url(wifi.png);
1314- background-size: cover;
1315- /* box-shadow: 0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 10px -5px rgba(156, 39, 176, 0.4); */
1316-}
1317-
1318-.node-main-login>.container>form input[name='luci_username'],
1319-.node-main-login>.container>form input[name='luci_password'] {
1320- background: unset;
1321- color: #000;
1322-}
1323-
1324-.node-main-login>.container>form>.cbi-map>.cbi-section {
1325- display: inline-block;
1326-}
1327-
1328-.node-main-login>.container>footer {
1329- position: absolute;
1330- top: 40%;
1331- left: 50%;
1332- transform: translate(-50%, -50%);
1333- width: 100%;
1334- margin-top: 60px;
1335- display: none;
1336-}
1337-
1338-.node-main-login>.container>form .cbi-page-actions {
1339- text-align: center !important;
1340-}
1341-
1342-/* luci18 */
1343-.cbi-section-table-titles.named::before {
1344- content: attr(data-title) " ";
1345- display: table-cell;
1346- padding: 5px 3px !important;
1347- line-height: 18px;
1348- font-weight: bold;
1349- vertical-align: middle;
1350- color: #811;
1351-}
1352-
1353-.cbi-section-table-descr.named::before {
1354- content: attr(data-title) " ";
1355- display: table-cell;
1356- padding: 10px 10px 9px;
1357- line-height: 18px;
1358- font-weight: bold;
1359- vertical-align: middle;
1360-}
1361-
1362-.cbi-section-table-row[data-title]::before {
1363- border-top: 1px solid #a9b1bb26;
1364- content: attr(data-title) " ";
1365- display: table-cell;
1366- padding: 10px 10px 9px;
1367- line-height: 18px;
1368- font-weight: bold;
1369- vertical-align: middle;
1370-}
1371-
1372-/* luci 19 */
1373-body.modal-overlay-active {
1374- overflow: hidden;
1375- height: 100vh;
1376-}
1377-
1378-body.modal-overlay-active #modal_overlay {
1379- visibility: visible;
1380- left: 0;
1381- right: 0;
1382- opacity: 1;
1383-}
1384-
1385-body.modal-overlay-active #modal_overlay>.modal {
1386- align-items: center;
1387- box-shadow: 0 0 3px #444;
1388- display: flex;
1389- flex-wrap: wrap;
1390- max-height: unset;
1391- max-width: unset;
1392- min-height: 32px;
1393- min-width: 270px;
1394- /* background: linear-gradient(to bottom, #fceec1, #eedc94) repeat-x !important; */
1395- border-radius: 3px;
1396- padding: 1em;
1397- margin: 0;
1398- position: absolute;
1399- top: 15%;
1400- left: 50%;
1401- transform: translate(-50%, -15%);
1402-}
1403-
1404-#modal_overlay {
1405- visibility: hidden;
1406- position: fixed;
1407- top: 0;
1408- bottom: 0;
1409- left: -10000px;
1410- right: 10000px;
1411- background: rgba(0, 0, 0, 0.7);
1412- z-index: 900;
1413- overflow-y: scroll;
1414- -webkit-overflow-scrolling: touch;
1415- transition: opacity .125s ease-in;
1416- opacity: 0;
1417-}
1418-
1419-#modal_overlay>.modal.uci-dialog,
1420-#modal_overlay>.modal.cbi-modal {
1421- max-width: 900px;
1422-}
1423-
1424-/*.modal.alert-message.notice {
1425- position: absolute;
1426- padding: 15px;
1427- margin-bottom: 10px;
1428- background: linear-gradient(to bottom, #fceec1, #eedc94) repeat-x;
1429- border: 1px solid rgba(0, 0, 0, .1);
1430- border-width: 2px 0;
1431-}*/
1432-
1433-.modal>* {
1434- flex-basis: 100%;
1435- /* line-height: normal; */
1436- margin-bottom: .5em;
1437- max-width: 100%;
1438-}
1439-
1440-#modal_overlay .modal>* {
1441- flex-basis: 100%;
1442- /* line-height: normal; */
1443- margin-bottom: .5em;
1444-}
1445-
1446-[data-tab-title] {
1447- height: 0;
1448- opacity: 0;
1449- overflow: hidden;
1450-}
1451-
1452-[data-tab-active="true"],
1453-.cbi-filebrowser.open {
1454- height: auto;
1455- opacity: 1;
1456- overflow: visible;
1457- transition: opacity .25s ease-in;
1458-}
1459-
1460-.tabs>li:not(.active),
1461-.cbi-tabmenu>.cbi-tab-disabled {
1462- color: #999;
1463-}
1464-
1465-.cbi-dynlist {
1466- height: auto;
1467- min-height: 30px;
1468- display: inline-flex;
1469- flex-direction: column;
1470-}
1471-
1472-.cbi-dropdown:not(.btn):not(.cbi-button),
1473-.cbi-dynlist {
1474- min-width: 210px;
1475- max-width: 400px;
1476- width: auto;
1477- background: white;
1478- /* border: 1px solid #118af3; */
1479- border-radius: 5px;
1480- box-sizing: border-box;
1481- /* padding: 0 0.4em !important; */
1482-}
1483-
1484-.cbi-dynlist>.item {
1485- margin-bottom: 4px;
1486- box-shadow: 0 0 2px #ccc;
1487- background: #fff;
1488- border: 1px solid #118af3;
1489- border-radius: 3px;
1490- position: relative;
1491- pointer-events: none;
1492- padding: 2px 2em 2px 10px;
1493-}
1494-
1495-.cbi-dynlist>.item::after {
1496- content: "×";
1497- position: absolute;
1498- display: inline-flex;
1499- align-items: center;
1500- top: -1px;
1501- right: -1px;
1502- bottom: -1px;
1503- border: 1px solid #ccc;
1504- border-radius: 0 3px 3px 0;
1505- font-weight: 700;
1506- color: #c44;
1507- pointer-events: auto;
1508- padding: 0 6px;
1509-}
1510-
1511-.cbi-dynlist>.add-item,
1512-.td.cbi-section-actions>* {
1513- /* display: flex; */
1514-}
1515-
1516-.cbi-dynlist>.add-item>input,
1517-.cbi-dynlist>.add-item>button {
1518- flex: 1 1 auto;
1519- overflow: hidden;
1520- text-overflow: ellipsis;
1521- white-space: nowrap;
1522-}
1523-
1524-.cbi-dropdown.btn>.open,
1525-.cbi-dropdown.cbi-button>.open {
1526- margin-left: .5em;
1527- border-left: 1px solid;
1528- padding: 0 .5em;
1529-}
1530-
1531-.cbi-dropdown.btn>ul:not(.dropdown),
1532-.cbi-dropdown.cbi-button>ul:not(.dropdown) {
1533- margin: 0 0 0 13px !important;
1534-}
1535-
1536-.btn.primary,
1537-.cbi-button-action.important {
1538- color: #fff;
1539- background: #118af3;
1540- border: 1px solid #118af3;
1541-}
1542-
1543-.cbi-dropdown {
1544- display: inline-flex !important;
1545- cursor: pointer;
1546- height: auto;
1547- position: relative;
1548- padding: 0 !important;
1549-}
1550-
1551-.cbi-progressbar {
1552- border: 1px solid #ccc;
1553- border-radius: 3px;
1554- position: relative;
1555- min-width: 170px;
1556- height: 20px;
1557- background: #f9f9f9;
1558- margin: 4px 0;
1559-}
1560-
1561-.cbi-progressbar>div {
1562- background: #85d8ff;
1563- height: 100%;
1564- transition: width .25s ease-in;
1565- width: 0%;
1566-}
1567-
1568-.cbi-progressbar::after {
1569- position: absolute;
1570- bottom: 0;
1571- top: 0;
1572- right: 0;
1573- left: 0;
1574- text-align: center;
1575- text-shadow: 0 0 2px #fff;
1576- content: attr(title);
1577- white-space: pre;
1578- overflow: hidden;
1579- text-overflow: ellipsis;
1580-}
1581-
1582-header [data-indicator] {
1583- padding: 1px 3px 2px;
1584- font-size: 9.75px;
1585- font-weight: bold;
1586- color: #fff !important;
1587- text-transform: uppercase;
1588- white-space: nowrap;
1589- background-color: #bfbfbf;
1590- border-radius: 3px;
1591- text-shadow: none;
1592- margin-left: .4em;
1593-}
1594-
1595-header [data-indicator][data-style="active"] {
1596- background-color: #62cffc;
1597-}
\ No newline at end of file
Binary files a/themes/luci-theme-bootstrap-blue/htdocs/luci-static/bootstrap_blue/favicon.ico and /dev/null differ
--- a/themes/luci-theme-bootstrap-blue/htdocs/luci-static/bootstrap_blue/html5.js
+++ /dev/null
@@ -1,3 +0,0 @@
1-// HTML5 Shiv v3 | @jon_neal @afarkas @rem | MIT/GPL2 Licensed
2-// Uncompressed source: https://github.com/aFarkas/html5shiv
3-(function(a,b){function f(a){var c,d,e,f;b.documentMode>7?(c=b.createElement("font"),c.setAttribute("data-html5shiv",a.nodeName.toLowerCase())):c=b.createElement("shiv:"+a.nodeName);while(a.firstChild)c.appendChild(a.childNodes[0]);for(d=a.attributes,e=d.length,f=0;f<e;++f)d[f].specified&&c.setAttribute(d[f].nodeName,d[f].nodeValue);c.style.cssText=a.style.cssText,a.parentNode.replaceChild(c,a),c.originalElement=a}function g(a){var b=a.originalElement;while(a.childNodes.length)b.appendChild(a.childNodes[0]);a.parentNode.replaceChild(b,a)}function h(a,b){b=b||"all";var c=-1,d=[],e=a.length,f,g;while(++c<e){f=a[c],g=f.media||b;if(f.disabled||!/print|all/.test(g))continue;d.push(h(f.imports,g),f.cssText)}return d.join("")}function i(c){var d=new RegExp("(^|[\\s,{}])("+a.html5.elements.join("|")+")","gi"),e=c.split("{"),f=e.length,g=-1;while(++g<f)e[g]=e[g].split("}"),b.documentMode>7?e[g][e[g].length-1]=e[g][e[g].length-1].replace(d,'$1font[data-html5shiv="$2"]'):e[g][e[g].length-1]=e[g][e[g].length-1].replace(d,"$1shiv\\:$2"),e[g]=e[g].join("}");return e.join("{")}var c=function(a){return a.innerHTML="<x-element></x-element>",a.childNodes.length===1}(b.createElement("a")),d=function(a,b,c){return b.appendChild(a),(c=(c?c(a):a.currentStyle).display)&&b.removeChild(a)&&c==="block"}(b.createElement("nav"),b.documentElement,a.getComputedStyle),e={elements:"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video".split(" "),shivDocument:function(a){a=a||b;if(a.documentShived)return;a.documentShived=!0;var f=a.createElement,g=a.createDocumentFragment,h=a.getElementsByTagName("head")[0],i=function(a){f(a)};c||(e.elements.join(" ").replace(/\w+/g,i),a.createElement=function(a){var b=f(a);return b.canHaveChildren&&e.shivDocument(b.document),b},a.createDocumentFragment=function(){return e.shivDocument(g())});if(!d&&h){var j=f("div");j.innerHTML=["x<style>","article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}","audio{display:none}","canvas,video{display:inline-block;*display:inline;*zoom:1}","[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}","mark{background:#FF0;color:#000}","</style>"].join(""),h.insertBefore(j.lastChild,h.firstChild)}return a}};e.shivDocument(b),a.html5=e;if(c||!a.attachEvent)return;a.attachEvent("onbeforeprint",function(){if(a.html5.supportsXElement||!b.namespaces)return;b.namespaces.shiv||b.namespaces.add("shiv");var c=-1,d=new RegExp("^("+a.html5.elements.join("|")+")$","i"),e=b.getElementsByTagName("*"),g=e.length,j,k=i(h(function(a,b){var c=[],d=a.length;while(d)c.unshift(a[--d]);d=b.length;while(d)c.unshift(b[--d]);c.sort(function(a,b){return a.sourceIndex-b.sourceIndex}),d=c.length;while(d)c[--d]=c[d].styleSheet;return c}(b.getElementsByTagName("style"),b.getElementsByTagName("link"))));while(++c<g)j=e[c],d.test(j.nodeName)&&f(j);b.appendChild(b._shivedStyleSheet=b.createElement("style")).styleSheet.cssText=k}),a.attachEvent("onafterprint",function(){if(a.html5.supportsXElement||!b.namespaces)return;var c=-1,d=b.getElementsByTagName("*"),e=d.length,f;while(++c<e)f=d[c],f.originalElement&&g(f);b._shivedStyleSheet&&b._shivedStyleSheet.parentNode.removeChild(b._shivedStyleSheet)})})(this,document)
\ No newline at end of file
--- a/themes/luci-theme-bootstrap-blue/htdocs/luci-static/bootstrap_blue/mobile.css
+++ /dev/null
@@ -1,78 +0,0 @@
1-@media screen and (max-width: 1600px) {
2-
3- header h3 a,
4- header .brand {
5- display: none !important;
6- }
7-}
8-
9-@media screen and (max-width: 1600px) {
10- .container>.pull-right>* {
11- position: absolute;
12- right: 0.5rem;
13- cursor: pointer;
14- }
15-}
16-
17-@media screen and (max-width: 1024px) {
18- body {
19- font-size: 12px;
20- }
21-
22- header {
23- font-size: 13px;
24- }
25-
26- legend {
27- font-size: 14px;
28- }
29-
30- .dropdown-menu a {
31- font-size: 13px;
32- min-width: 130px;
33- padding: 0 15px;
34- }
35-
36- .mobile-hide {
37- display: none;
38- }
39-
40- #maincontent.container {
41- padding: 0px 10px;
42- }
43-
44- div.cbi-section,
45- fieldset {
46- min-width: inherit;
47- overflow-x: auto;
48- overflow-y: hidden;
49- }
50-
51- .cbi-value {}
52-
53- .cbi-value-title {
54- width: 30%;
55- min-width: 0rem !important;
56- margin-right: 1em;
57- /* text-align: left;
58- padding-left: 1em; */
59- }
60-
61- .cbi-value-field {
62- width: 55%;
63- }
64-
65- .cbi-value-description {
66- width: 75%;
67- display: inline-table;
68- padding: 1px 1.2rem;
69- background-position-y: 3px;
70- }
71-
72- .cbi-value-field .cbi-input-select,
73- .cbi-value input[type="password"],
74- .cbi-value input[type="text"] {
75- min-width: unset;
76- /* width: 95%; */
77- }
78-}
\ No newline at end of file
Binary files a/themes/luci-theme-bootstrap-blue/htdocs/luci-static/bootstrap_blue/wifi.png and /dev/null differ
--- a/themes/luci-theme-bootstrap-blue/luasrc/view/themes/bootstrap_blue/footer.htm
+++ /dev/null
@@ -1,54 +0,0 @@
1-<%#
2- Copyright 2008 Steven Barth <steven@midlink.org>
3- Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
4- Copyright 2012 David Menting <david@nut-bolt.nl>
5- Copyright 2020 Lienol <lawlienol@gmail.com>
6- Licensed to the public under the Apache License 2.0.
7--%>
8-
9-<%
10- local ver = require "luci.version"
11-%>
12-
13- <footer>
14- <a href="https://github.com/Lienol/openwrt-luci">Powered by <%= ver.luciname %> (<%= ver.luciversion %>)</a> / <%= ver.distversion %>
15- <ul class="breadcrumb pull-right" id="modemenu" style="display:none"></ul>
16- </footer>
17- </div>
18- <script type="text/javascript">L.require('menu-bootstrap')</script>
19- </body>
20-</html>
21-<script>
22- window.onload = function(){
23- var content = document.getElementsByName("content");
24- var luci_username = document.getElementsByName("luci_username");
25- var luci_password = document.getElementsByName("luci_password");
26- if (content.length == 1 && luci_username.length == 1 && luci_password.length == 1) {
27- //需要登录
28- document.body.classList.add('node-main-login');
29- luci_username[0].parentElement.parentElement.classList.add('luci_username_div');
30- luci_username[0].parentElement.parentElement.children[0].style.display = "none";
31- luci_password[0].parentElement.parentElement.classList.add('luci_password_div');
32- luci_password[0].parentElement.parentElement.children[0].style.display = "none";
33-
34- var errorbox = document.getElementsByClassName("errorbox");
35- var alert_message = document.getElementsByClassName("alert-message");
36- if (errorbox.length == 1) {
37- var tips = document.getElementsByClassName("cbi-map-descr");
38- if (tips.length == 1) {
39- tips[0].innerHTML = errorbox[0].innerHTML;
40- tips[0].classList.add('errorbox');
41- errorbox[0].style.display = "none";
42- }
43- } else if (alert_message.length == 1) {
44- var tips = document.getElementsByClassName("cbi-map-descr");
45- if (tips.length == 1) {
46- tips[0].innerHTML = alert_message[0].innerHTML;
47- tips[0].classList.add('errorbox');
48- alert_message[0].style.display = "none";
49- }
50- }
51- }
52- }
53-</script>
54-</html>
--- a/themes/luci-theme-bootstrap-blue/luasrc/view/themes/bootstrap_blue/header.htm
+++ /dev/null
@@ -1,76 +0,0 @@
1-<%#
2- Copyright 2008 Steven Barth <steven@midlink.org>
3- Copyright 2008-2016 Jo-Philipp Wich <jow@openwrt.org>
4- Copyright 2012 David Menting <david@nut-bolt.nl>
5- Copyright 2020 Lienol <lawlienol@gmail.com>
6- Licensed to the public under the Apache License 2.0.
7--%>
8-
9-<%
10- local sys = require "luci.sys"
11- local util = require "luci.util"
12- local http = require "luci.http"
13- local disp = require "luci.dispatcher"
14-
15- local boardinfo = util.ubus("system", "board")
16-
17- local node = disp.context.dispatched
18-
19- -- send as HTML5
20- http.prepare_content("text/html")
21--%>
22-<!DOCTYPE html>
23-<html lang="<%=luci.i18n.context.lang%>">
24-<style>
25-body {
26- margin-top: unset !important
27-}
28-</style>
29- <head>
30- <meta charset="utf-8">
31- <title><%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - LuCI</title>
32- <meta name="viewport" content="initial-scale=1.0">
33- <link rel="stylesheet" href="<%=media%>/cascade.css">
34- <link rel="stylesheet" media="only screen and (max-device-width: 1600px)" href="<%=media%>/mobile.css" type="text/css" />
35- <link rel="shortcut icon" href="<%=media%>/favicon.ico">
36- <% if node and node.css then %>
37- <link rel="stylesheet" href="<%=resource%>/<%=node.css%>">
38- <% end -%>
39- <% if css then %>
40- <style title="text/css"><%= css %></style>
41- <% end -%>
42- <script src="<%=url('admin/translations', luci.i18n.context.lang)%>"></script>
43- <script src="<%=resource%>/cbi.js"></script>
44- <!-- <script src="<%=resource%>/xhr.js"></script> -->
45- </head>
46-
47- <body class="lang_<%=luci.i18n.context.lang%> <% if node then %><%= striptags( node.title ) %><%- end %>" data-page="<%= pcdata(table.concat(disp.context.requestpath, "-")) %>">
48- <header>
49- <div class="fill">
50- <div class="container">
51- <a class="brand" href="/"><%=boardinfo.hostname or "?"%></a>
52- <ul class="nav" id="topmenu" style="display:none"></ul>
53- <div id="indicators" class="pull-right"></div>
54- </div>
55- </div>
56- </header>
57-
58- <div id="maincontent" class="container">
59- <%- if luci.sys.process.info("uid") == 0 and luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") then -%>
60- <div class="alert-message warning">
61- <h4><%:No password set!%></h4>
62- <p><%:There is no password set on this router. Please configure a root password to protect the web interface.%></p>
63- <% if disp.lookup("admin/system/admin") then %>
64- <div class="right"><a class="btn" href="<%=url("admin/system/admin")%>"><%:Go to password configuration...%></a></div>
65- <% end %>
66- </div>
67- <%- end -%>
68-
69- <noscript>
70- <div class="alert-message warning">
71- <h4><%:JavaScript required!%></h4>
72- <p><%:You must enable JavaScript in your browser or LuCI will not work properly.%></p>
73- </div>
74- </noscript>
75-
76- <div id="tabmenu" style="display:none"></div>
\ No newline at end of file
--- a/themes/luci-theme-bootstrap-blue/root/etc/uci-defaults/30_luci-theme-bootstrap-blue
+++ /dev/null
@@ -1,6 +0,0 @@
1-#!/bin/sh
2-uci batch <<-EOF
3- set luci.themes.Bootstrap_Blue=/luci-static/bootstrap_blue
4- commit luci
5-EOF
6-exit 0
Show on old repository browser