update to v2.2.2

- Add custom login background,put your image (allow png jpg gif) or MP4 video into /www/luci-static/argon/background, random change【v2.2.2】
- Add force dark mode, login ssh and type "touch /etc/dark" to open dark mode.【v2.2.2】
- Add a volume mute button for video background, default is muted.【v2.2.2】
- fix login page when keyboard show the bottom text overlay the button on mobile.【v2.2.2】
- fix select color in dark mode,and add a style for scrollbar.【v2.2.2】
- jquery update to v3.5.1【v2.2.2】
- change request bing api method form wget to luasocket (DEPENDS)【v2.2.2】
This commit is contained in:
jerrykuku 2020-08-16 20:12:41 +08:00
parent 90062c3ba7
commit 6105120c76
15 changed files with 1720 additions and 165 deletions

View File

@ -7,9 +7,9 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
LUCI_TITLE:=Argon Theme LUCI_TITLE:=Argon Theme
LUCI_DEPENDS:= LUCI_DEPENDS:=+luasocket
PKG_VERSION:=2.2.1 PKG_VERSION:=2.2.2
PKG_RELEASE:=20200725 PKG_RELEASE:=20200816
include $(TOPDIR)/feeds/luci/luci.mk include $(TOPDIR)/feeds/luci/luci.mk

View File

@ -6,7 +6,7 @@
[4]: https://github.com/jerrykuku/luci-theme-argon/pulls [4]: https://github.com/jerrykuku/luci-theme-argon/pulls
[5]: https://img.shields.io/badge/Issues-welcome-brightgreen.svg [5]: https://img.shields.io/badge/Issues-welcome-brightgreen.svg
[6]: https://github.com/jerrykuku/luci-theme-argon/issues/new [6]: https://github.com/jerrykuku/luci-theme-argon/issues/new
[7]: https://img.shields.io/badge/release-v2.2.1-blue.svg? [7]: https://img.shields.io/badge/release-v2.2.2-blue.svg?
[8]: https://github.com/jerrykuku/luci-theme-argon/releases [8]: https://github.com/jerrykuku/luci-theme-argon/releases
[9]: https://img.shields.io/github/downloads/jerrykuku/luci-theme-argon/total [9]: https://img.shields.io/github/downloads/jerrykuku/luci-theme-argon/total
[10]: https://img.shields.io/badge/Contact-telegram-blue [10]: https://img.shields.io/badge/Contact-telegram-blue
@ -53,25 +53,33 @@ make -j1 V=s
## Install ## Install
### For Lean openwrt 18.06 LuCI ### For Lean openwrt 18.06 LuCI
``` ```
wget --no-check-certificate https://github.com/jerrykuku/luci-theme-argon/releases/download/v1.6.3/luci-theme-argon_1.6.3-20200725_all.ipk wget --no-check-certificate https://github.com/jerrykuku/luci-theme-argon/releases/download/v1.6.6/luci-theme-argon_1.6.6-20200815_all.ipk
opkg install luci-theme-argon*.ipk opkg install luci-theme-argon*.ipk
``` ```
### For openwrt official 19.07 Snapshots LuCI master ### For openwrt official 19.07 Snapshots LuCI master
``` ```
wget --no-check-certificate https://github.com/jerrykuku/luci-theme-argon/releases/download/v2.2.1/luci-theme-argon_2.2.1-20200725_all.ipk wget --no-check-certificate https://github.com/jerrykuku/luci-theme-argon/releases/download/v2.2.2/luci-theme-argon_2.2.2-20200816_all.ipk
opkg install luci-theme-argon*.ipk opkg install luci-theme-argon*.ipk
``` ```
## Update log 2020.07.25 v2.2.1 ## Update log 2020.07.25 v2.2.2
- Add custom login background,put your image (allow png jpg gif) or MP4 video into /www/luci-static/argon/background, random change【v2.2.2】
- Add force dark mode, login ssh and type "touch /etc/dark" to open dark mode.【v2.2.2】
- Add a volume mute button for video background, default is muted.【v2.2.2】
- fix login page when keyboard show the bottom text overlay the button on mobile.【v2.2.2】
- fix select color in dark mode,and add a style for scrollbar.【v2.2.2】
- jquery update to v3.5.1【v2.2.2】
- change request bing api method form wget to luasocket (DEPENDS)【v2.2.2】
- Add blur effect for login form 【v2.2.1】
- New login theme, Request background imge from bing.com, Auto change everyday. - New login theme, Request background imge from bing.com, Auto change everyday.
- New theme icon - New theme icon
- Add more menu category icon - Add more menu category icon
- Fix font-size and padding margin - Fix font-size and padding margin
- Restructure css file - Restructure css file
- Auto adapt to dark mode - Auto adapt to dark mode
- Add blur effect for login form 【v2.2.1】
## More Screenshots ## More Screenshots

View File

@ -5,7 +5,7 @@
[4]: https://github.com/jerrykuku/luci-theme-argon/pulls [4]: https://github.com/jerrykuku/luci-theme-argon/pulls
[5]: https://img.shields.io/badge/Issues-welcome-brightgreen.svg [5]: https://img.shields.io/badge/Issues-welcome-brightgreen.svg
[6]: https://github.com/jerrykuku/luci-theme-argon/issues/new [6]: https://github.com/jerrykuku/luci-theme-argon/issues/new
[7]: https://img.shields.io/badge/release-v2.2-blue.svg? [7]: https://img.shields.io/badge/release-v2.2.2-blue.svg?
[8]: https://github.com/jerrykuku/luci-theme-argon/releases [8]: https://github.com/jerrykuku/luci-theme-argon/releases
[9]: https://img.shields.io/github/downloads/jerrykuku/luci-theme-argon/total [9]: https://img.shields.io/github/downloads/jerrykuku/luci-theme-argon/total
[10]: https://img.shields.io/badge/Contact-telegram-blue [10]: https://img.shields.io/badge/Contact-telegram-blue
@ -50,25 +50,34 @@ make -j1 V=s
## 安装 ## 安装
### For Lean openwrt ### For Lean openwrt
``` ```
wget --no-check-certificate https://github.com/jerrykuku/luci-theme-argon/releases/download/v1.6.3/luci-theme-argon_1.6.3-20200725_all.ipk wget --no-check-certificate https://github.com/jerrykuku/luci-theme-argon/releases/download/v1.6.6/luci-theme-argon_1.6.6-20200815_all.ipk
opkg install luci-theme-argon*.ipk opkg install luci-theme-argon*.ipk
``` ```
### For openwrt official 19.07 Snapshots LuCI master ### For openwrt official 19.07 Snapshots LuCI master
``` ```
wget --no-check-certificate https://github.com/jerrykuku/luci-theme-argon/releases/download/v2.2.1/luci-theme-argon_2.2.1-20200725_all.ipk wget --no-check-certificate https://github.com/jerrykuku/luci-theme-argon/releases/download/v2.2.2/luci-theme-argon_2.2.2-20200816_all.ipk
opkg install luci-theme-argon*.ipk opkg install luci-theme-argon*.ipk
``` ```
## 更新日志 2020.07.25 v2.2.1 ## 更新日志 2020.07.25 v2.2.1
- 背景文件策略调整为,同时接受 jpg png gif mp4, 自行上传文件至 /www/luci-static/argon/background 图片和视频同时随机。【v2.2.2】
- 增加强制暗色模式进入ssh 输入 "touch /etc/dark" 进行开启。【v2.2.2】
- 视频背景加了一个音量开关喜欢带声音的可以自行点击开启默认为静音模式【v2.2.2】
- 修复了手机模式下登录页面出现键盘时文字覆盖按钮的问题【v2.2.2】
- 修正了暗黑模式下下拉选项的背景颜色同时修改了滚动条的样式【v2.2.2】
- jquery 更新到 v3.5.1【v2.2.2】
- 获取Bing Api 的方法从wget 更新到luasocket 并添加依赖【v2.2.2】
- 登录背景添加毛玻璃效果 【v2.2.1】
- 全新的登录界面,图片背景跟随Bing.com每天自动切换 - 全新的登录界面,图片背景跟随Bing.com每天自动切换
- 全新的主题icon - 全新的主题icon
- 增加多个导航icon - 增加多个导航icon
- 细致的微调了 字号大小边距等等 - 细致的微调了 字号大小边距等等
- 重构了css文件 - 重构了css文件
- 自动适应的暗黑模式 - 自动适应的暗黑模式
- 登录背景添加毛玻璃效果 【v2.2.1】
## 更多截图 ## 更多截图

View File

@ -0,0 +1,2 @@
Drop background here!
accept jpg png gif and mp4

View File

@ -2,7 +2,7 @@
* Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template * Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template
* *
* luci-theme-argon * luci-theme-argon
* Copyright 2019 Jerrykuku <jerrykuku@qq.com> * Copyright 2020 Jerrykuku <jerrykuku@qq.com>
* *
* Have a bug? Please create an issue here on GitHub! * Have a bug? Please create an issue here on GitHub!
* https://github.com/jerrykuku/luci-theme-argon/issues * https://github.com/jerrykuku/luci-theme-argon/issues
@ -69,6 +69,10 @@
--breakpoint-md: 768px; --breakpoint-md: 768px;
--breakpoint-lg: 992px; --breakpoint-lg: 992px;
--breakpoint-xl: 1200px; --breakpoint-xl: 1200px;
--blur-radius: 10px;
--blur-opacity: 0.5;
--blur-radius-dark: 10px;
--blur-opacity-dark: 0.5;
--font-family-sans-serif: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; --font-family-sans-serif: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB";
--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
--font-family-normal: Open Sans, PingFangSC-Regular, Microsoft Yahei, WenQuanYi Micro Hei, "Helvetica Neue", Helvetica, Hiragino Sans GB, sans-serif; --font-family-normal: Open Sans, PingFangSC-Regular, Microsoft Yahei, WenQuanYi Micro Hei, "Helvetica Neue", Helvetica, Hiragino Sans GB, sans-serif;
@ -99,8 +103,8 @@ body {
box-sizing: border-box; box-sizing: border-box;
} }
::selection { ::selection {
background-color: var(--primary);
background-color: #5e72e4; background-color: #5e72e4;
background-color: var(--primary);
color: #ffffff; color: #ffffff;
color: var(--white); color: var(--white);
} }
@ -296,6 +300,36 @@ hr {
background-size: cover; background-size: cover;
transition: all 0.5s; transition: all 0.5s;
} }
.login-page .video {
position: absolute;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
background-color: #000;
background-color: var(--darker);
overflow: hidden;
pointer-events: none;
}
.login-page .video video {
width: 100%;
height: auto;
}
.login-page .volume-control {
position: fixed;
right: 1rem;
top: 1rem;
width: 1.5rem;
height: 1.5rem;
z-index: 5000;
cursor: pointer;
background-size: contain;
background-image: url(../img/volume_high.svg);
}
.login-page .volume-control.mute {
background-image: url(../img/volume_off.svg);
}
.login-page .login-container { .login-page .login-container {
height: 100%; height: 100%;
margin-left: 4.5rem; margin-left: 4.5rem;
@ -426,7 +460,7 @@ hr {
width: 100%; width: 100%;
cursor: pointer; cursor: pointer;
min-height: 50px; min-height: 50px;
background-image: linear-gradient(-135deg, #8692de 0%, #788aef 100%); background-color: #5e72e4 !important;
border-radius: 6px; border-radius: 6px;
outline: none; outline: none;
border-width: initial; border-width: initial;
@ -440,7 +474,7 @@ hr {
} }
.login-page .login-container .login-form .cbi-button-apply:hover, .login-page .login-container .login-form .cbi-button-apply:hover,
.login-page .login-container .login-form .cbi-button-apply :focus { .login-page .login-container .login-form .cbi-button-apply :focus {
background-image: linear-gradient(-135deg, #828fe0 0%, #5e72e4 100%); background-color: #5065d8 !important;
} }
.login-page .login-container footer { .login-page .login-container footer {
box-sizing: border-box; box-sizing: border-box;
@ -451,16 +485,22 @@ hr {
justify-content: space-evenly; justify-content: space-evenly;
margin-top: auto; margin-top: auto;
padding: 0px 0px 30px; padding: 0px 0px 30px;
color: #525461;
z-index: 10; z-index: 10;
} }
.login-page .login-container footer .ftc {
position: absolute;
bottom: 30px;
width: 100%;
}
.login-page .login-container footer .luci-link { .login-page .login-container footer .luci-link {
display: block; display: block;
} }
@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { @supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) {
.login-page .login-container .login-form { .login-page .login-container .login-form {
-webkit-backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(var(--blur-radius));
backdrop-filter: blur(10px); backdrop-filter: blur(var(--blur-radius));
background-color: rgba(244, 245, 247, 0.7); background-color: rgba(244, 245, 247, var(--blur-opacity));
} }
} }
header, header,
@ -3709,9 +3749,9 @@ pre.command-output {
} }
@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { @supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) {
.login-page .login-container .login-form { .login-page .login-container .login-form {
-webkit-backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(var(--blur-radius-dark));
backdrop-filter: blur(10px); backdrop-filter: blur(var(--blur-radius-dark));
background-color: rgba(0, 0, 0, 0.7); background-color: rgba(0, 0, 0, var(--blur-opacity-dark));
} }
} }
} }

View File

@ -0,0 +1,613 @@
/**
* Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template
*
* luci-theme-argon
* Copyright 2020 Jerryk <jerrykuku@gmail.com>
*
* Have a bug? Please create an issue here on GitHub!
* https://github.com/jerrykuku/luci-theme-argon/issues
*
* luci-theme-bootstrap:
* Copyright 2008 Steven Barth <steven@midlink.org>
* Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
* Copyright 2012 David Menting <david@nut-bolt.nl>
*
* MUI:
* https://github.com/muicss/mui
*
* luci-theme-material:
* https://github.com/LuttyYang/luci-theme-material/
*
* Agron Theme
* https://demos.creative-tim.com/argon-dashboard/index.html
*
* Login background
* https://unsplash.com/
*
* Licensed to the public under the Apache License 2.0
*/
body {
background: #1e1e1e;
color: #cccccc;
}
.login-page .login-container .login-form {
background-color: #1e1e1e;
}
.login-page .login-container .login-form .brand {
color: #adb5bd;
}
.login-page .login-container .login-form .form-login .input-group::before {
color: #adb5bd;
}
.login-page .login-container .login-form .form-login .input-group input {
background-color: transparent !important;
color: #adb5bd;
border-bottom: #adb5bd 1px solid !important;
border-radius: 0 !important;
border-top: none !important;
border-left: none !important;
border-right: none !important;
box-shadow: none;
}
.login-page .login-container .login-form .form-login .cbi-button-apply {
background-image: linear-gradient(-135deg, #6c61ab 0%, #594ca9 100%);
}
.login-page .login-container .login-form .form-login .cbi-button-apply:hover,
.login-page .login-container .login-form .form-login .cbi-button-apply:focus {
background-image: linear-gradient(-135deg, #554c8a 0%, #483d8b 100%);
}
header::after {
background-color: #1e1e1e !important;
}
.main .main-left {
background-color: #333333 !important;
box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.15);
}
.main .main-left .sidenav-header .brand {
color: #ccc;
}
.main .main-left .nav .slide .slide-menu .active a {
color: #cccccc;
}
.main .main-left .nav .slide .slide-menu .active a::after {
background-color: #cccccc !important;
}
.main .main-left .nav .slide .slide-menu li a {
color: #cccccc;
}
.main .main-left .nav .slide .slide-menu li a:hover {
background: none !important;
}
.main .main-left .nav .slide .menu.active {
background-color: darkslateblue !important;
color: #cccccc !important;
}
.main .main-left .nav .slide .menu.active a::after {
background-color: #cccccc !important;
}
.main .main-left .nav li a {
color: #cccccc !important;
}
.main .main-left .nav li a:hover {
background-color: darkslateblue !important;
color: #cccccc !important;
}
.main .main-left::-webkit-scrollbar-thumb {
background-color: #252526 !important;
}
.main .main-left::-webkit-scrollbar-track {
background-color: #333;
}
.main .main-right {
background-color: #1e1e1e;
}
h2 {
color: #ccc;
background: #333333;
}
h3 {
color: #ccc;
border-bottom: 0;
background: #333333;
}
a:-webkit-any-link {
color: -webkit-link;
cursor: pointer;
color: darkslateblue;
}
input:-webkit-autofill {
background-color: #3c3c3c !important;
}
.cbi-value-field .cbi-input-apply,
.cbi-button-apply,
.cbi-button-edit {
color: #fff !important;
background-color: darkslateblue !important;
border-color: darkslateblue !important;
}
.cbi-section em {
color: #ccc;
}
header.bg-primary {
background-color: #1e1e1e !important;
}
.cbi-map-descr {
color: #ccc;
}
.cbi-section {
background: none;
box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35);
}
.panel-title {
color: #ccc;
background-color: #333333;
border-bottom: 0px;
}
div > table > tbody > tr:nth-of-type(2n),
div > .table > .tr:nth-of-type(2n) {
background-color: #252526;
}
table > tbody > tr > td,
table > tfoot > tr > td,
table > thead > tr > td {
color: #ccc;
}
fieldset > table > tbody > tr:nth-of-type(2n) {
background-color: #252526;
}
table > tbody > tr > td,
table > tfoot > tr > td,
table > thead > tr > td {
border-top: 1px solid #252526;
}
#swaptotal > div > div,
#swapfree > div > div,
#memfree > div > div,
#membuff > div > div,
#conns > div > div,
#memtotal > div > div {
background-color: #32325d !important;
}
#swaptotal > div > div > div > small,
#swapfree > div > div > div > small,
#memfree > div > div > div > small,
#membuff > div > div > div > small,
#conns > div > div > div > small,
#memtotal > div > div > div > small {
color: #ccc !important;
}
.node-system-packages > .main .cbi-section-node:first-child .cbi-value-last {
line-height: 1.8em;
}
.node-system-packages > .main .cbi-section-node:first-child .cbi-value-last div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] {
border: 1px solid #999999 !important;
background-color: transparent !important;
}
.node-system-packages > .main .cbi-section-node:first-child .cbi-value-last div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] div {
background-color: #32325d !important;
}
table > tbody > tr > th,
table > tfoot > tr > th,
table > thead > tr > th {
background-color: #252526;
border-bottom: black 1px solid !important;
}
tr > td,
tr > th,
.tr > .td,
.tr > .th,
.cbi-section-table-row::before,
#cbi-wireless > #wifi_assoclist_table > .tr:nth-child(2) {
border-top: 0;
}
.cbi-rowstyle-2 {
background-color: #1e1e1e;
}
.cbi-rowstyle-1 {
background-color: #252526;
}
.cbi-section > h3:first-child,
.panel-title,
h3 {
color: #ccc;
border-bottom: 0;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
h4 {
background-color: #1e1e1f;
}
.cbi-progressbar {
position: relative;
min-width: 170px;
height: 20px;
margin: 6px 0;
border: thin solid #999;
background: transparent;
border-radius: 0.2rem;
overflow: hidden;
}
.cbi-progressbar div {
background-color: #32325d !important;
}
.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell {
background-color: #1e1e1f;
}
.cbi-button {
color: #ccc !important;
background-color: darkslateblue;
}
.cbi-section-node {
background: none;
border-radius: 0 0 0.375rem 0.375rem;
padding: 0rem;
}
abbr {
color: #5e72e4;
}
div > table > tbody > tr:nth-of-type(2n),
div > .table > .tbody > .tr:nth-of-type(2n) {
background-color: #252526;
}
#content_syslog {
box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35);
}
#syslog {
color: #ccc;
background-color: #1e1e1e;
}
#iwsvg,
#iwsvg2,
#bwsvg {
overflow: hidden;
box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35);
background-color: #1e1e1e !important;
}
.tabs {
background-color: #252526;
}
.tabs > li[class~="active"] > a {
color: #ccc;
}
.tabs > li[class~="active"],
.tabs > li:hover {
border-bottom: 0.18751rem solid darkslateblue;
color: #ccc;
background-color: #181819;
}
.cbi-tabmenu > li > a,
.tabs > li > a {
color: #ccc;
}
.cbi-tabmenu > li > a:hover,
.tabs > li > a:hover {
color: #ccc;
}
.cbi-tabmenu > li {
background: #2d2d2d;
}
.cbi-tabmenu li[class~="cbi-tab"] a {
color: #ccc;
}
.cbi-tabmenu > li:hover {
color: #ccc;
background: #2d2d2d;
}
.cbi-tabmenu > li[class~="cbi-tab"] {
background-color: #181819;
}
.cbi-tabcontainer > .cbi-value:nth-of-type(2n) {
background-color: #252526;
}
.cbi-value-title {
color: #ccc;
}
select,
input {
color: #ccc;
background-color: transparent !important;
border: 1px solid #252526;
box-shadow: none;
}
select:not([multiple="multiple"]):focus,
input:focus {
border-color: darkslateblue !important;
outline: 0;
}
select {
background-color: #1e1e1e !important;
}
#cbi-dropbear h2,
#cbi-dropbear .cbi-map-descr,
#cbi-dropbear .cbi-map-descr abbr,
#cbi-rc h2,
#cbi-rc .cbi-map-descr,
#cbi-distfeedconf h2,
#cbi-distfeedconf .cbi-map-descr,
#cbi-customfeedconf h2,
#cbi-customfeedconf .cbi-map-descr,
#cbi-download h2,
#cbi-filelist h2 {
color: #ccc !important;
}
.cbi-value-field > ul > li .ifacebadge {
background-color: #3c3c3c;
}
.cbi-section-descr {
color: #ccc;
}
.cbi-input-textarea {
background-color: #1e1e1e;
color: #ccc;
}
.cbi-section-remove:nth-of-type(2n),
.cbi-section-node:nth-of-type(2n) {
background-color: #1e1e1e;
}
.node-system-packages > .main table tr td:nth-last-child(1) {
color: #ccc;
}
.cbi-section-node .cbi-value {
padding: 1rem 1rem 0.3rem 1rem;
}
.ifacebox {
background-color: none;
border: 1px solid #1e1e1e;
}
.ifacebox-head {
color: #666;
}
.ifacebox-body {
background-color: #333;
}
.zonebadge strong {
color: #333;
}
.zonebadge > .ifacebadge {
background-color: #3c3c3c;
}
div.cbi-value var,
td.cbi-value-field var {
color: #5e72e4;
}
#diag-rc-output > pre {
color: #ccc;
background-color: #1e1e1e;
}
.node-services-vssr .block {
background-color: #3c3c3c !important;
box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35);
}
.node-services-vssr .block h4 {
color: #ccc !important;
}
.node-services-vssr .status-bar {
color: #ccc;
box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35);
background-color: #1e1e1e;
}
.node-services-vssr .cbi-section-table-row {
color: #ccc;
background-color: #3c3c3c !important;
box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.35);
}
.node-services-vssr .cbi-section-table-row.fast {
background: darkslateblue !important;
color: #fff;
}
.node-services-vssr .ssr-button {
color: #ccc;
}
.node-services-vssr .incon:nth-child(2) {
border-right: #1e1e1e 1px solid;
}
#xhr_poll_status > .label.success {
color: #ccc !important;
background-color: darkolivegreen !important;
}
.notice {
background-color: darkslateblue !important;
}
.cbi-input-find,
.cbi-input-save,
.cbi-button-add,
.cbi-button-save,
.cbi-button-find,
.cbi-input-reload,
.cbi-button-reload {
color: #fff !important;
background: darkolivegreen !important;
border-color: darkolivegreen !important;
}
.cbi-button-reset,
.cbi-input-remove {
color: #fff !important;
background-color: darkorange !important;
border-color: darkorange !important;
}
.cbi-page-actions .cbi-button-apply,
.cbi-section-actions .cbi-button-edit,
.cbi-button-edit.important,
.cbi-button-apply.important,
.cbi-button-reload.important,
.cbi-button-action.important {
border: 1px darkslateblue solid !important;
}
.btn[value="Dismiss"],
.cbi-button[value="Terminate"],
.cbi-button[value="Reset"],
.cbi-button[value="Disabled"],
.cbi-button[onclick^="iface_reconnect"],
.cbi-button[onclick="handleReset(event)"],
.cbi-button-neutral[value="Disable"] {
font-weight: normal;
color: #fff;
border: thin solid darkorange!important;
background-color: darkorange!important;
}
fieldset[id^="cbi-apply-"] {
background-color: #333333;
}
#detail-bubble > div {
border: 1px solid #ccc;
border-radius: 2px;
padding: 5px;
background: #252525;
}
.ifacebox-head.active {
background-color: #32325d !important;
}
header .fill .status span[data-style="active"] {
color: #ccc !important;
background-color: darkolivegreen !important;
}
#cbi-wireless .td,
#cbi-network .tr:first-child > .td,
.table[width="100%"] > .tr:first-child > .td,
[data-page="admin-network-diagnostics"] .tr > .td,
.tr.table-titles > .th,
.tr.cbi-section-table-titles > .th {
background-color: #252526;
border-bottom: black 1px solid !important;
}
.network-status-table .ifacebox-body .ifacebadge {
background-color: #252526;
border-bottom: 0;
box-shadow: none;
}
td > .ifacebadge,
.td > .ifacebadge {
background-color: darkslateblue;
border: 0;
}
.btn.danger,
.cbi-section-remove > .cbi-button,
.cbi-button-remove,
.cbi-button-reset,
.cbi-button-negative,
.cbi-button[value="Stop"],
.cbi-button[value="Kill"],
.cbi-button[onclick="reboot(this)"],
.cbi-button-neutral[value="Restart"] {
border: thin solid darkorange;
background-color: darkorange;
}
.cbi-section,
.cbi-section-error,
#iptables,
.Firewall form,
#cbi-network > .cbi-section-node,
#cbi-wireless > .cbi-section-node,
#cbi-wireless > #wifi_assoclist_table,
[data-tab-title],
[data-page^="admin-system-admin"]:not(.node-main-login) .cbi-map:not(#cbi-dropbear),
[data-page="admin-system-opkg"] #maincontent > .container {
background: #1e1e1e !important;
box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35);
}
div[style="width:100%;height:300px;border:1px solid #000;background:#fff"] {
background: transparent !important;
}
[data-page="admin-system-admin"] .cbi-map h2,
[data-page="admin-system-admin-password"] .cbi-map h2,
[data-page="admin-system-admin"] .cbi-map .cbi-map-descr,
[data-page="admin-system-admin-password"] .cbi-map .cbi-map-descr {
color: #ccc;
}
.cbi-value input[type="password"] + .cbi-button-neutral {
background-color: darkslateblue !important;
}
.btn,
button,
select,
input,
.cbi-dropdown {
border: 1px solid #3c3c3c !important;
}
.cbi-dropdown .preview {
color: #ccc;
}
.cbi-section-table-row {
background-color: #1e1e1e !important;
}
.modal {
background-color: #1e1e1e;
}
.cbi-button-positive {
color: #fff !important;
background-color: darkolivegreen !important;
}
[data-page="admin-system-flash"] legend {
color: #ccc;
}
.logout:before {
color: #adb5bd !important;
}
.cbi-dropdown[open] {
border-color: darkslateblue !important;
}
.cbi-dropdown[open] > ul.dropdown {
background: #252526 !important;
color: #ccc !important;
box-shadow: none;
border: 1px solid #3c3c3c !important;
}
.cbi-dropdown[open] > ul.dropdown li {
color: #ccc;
border-bottom: 1px solid #3c3c3c !important;
}
.cbi-dropdown[open] > ul.dropdown > li[selected] {
background-color: darkslateblue !important;
border-bottom: 1px solid #3c3c3c !important;
}
.cbi-dropdown[open] > ul.dropdown > li.focus {
background: darkslateblue;
outline: none;
}
.ifacebadge {
background-color: #333333;
}
.cbi-dynlist > .item > span {
border: 1px solid #3c3c3c !important;
}
.cbi-page-actions .cbi-button-apply,
.cbi-section-actions .cbi-button-edit,
.cbi-button-edit,
.cbi-button-apply,
.cbi-button-reload,
.cbi-button-action,
.cbi-button[value="Submit"],
.cbi-button[value="Upload"],
.cbi-button[value$="Apply"],
.cbi-button[onclick="addKey(event)"] {
background: darkslateblue !important;
}
.btn.primary,
.cbi-page-actions .cbi-button-save,
.cbi-page-actions .cbi-button-apply + .cbi-button-save,
.cbi-button-add,
.cbi-button-save,
.cbi-button-positive,
.cbi-button-link,
.cbi-button[value="Enable"],
.cbi-button[value="Scan"],
.cbi-button[value^="Back"],
.cbi-button-neutral[onclick="handleConfig(event)"] {
background: darkslateblue;
}
[data-page="admin-system-opkg"] h2 {
color: #ccc !important;
}
@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) {
.login-page .login-container .login-form {
-webkit-backdrop-filter: blur(var(--blur-radius-dark));
backdrop-filter: blur(var(--blur-radius-dark));
background-color: rgba(0, 0, 0, var(--blur-opacity-dark));
}
}
@media screen and (max-width: 480px) {
.node-status-iptables > .main div > .cbi-map > form {
background-color: #1e1e1e;
box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35);
}
}

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1597500707209" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9192" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M484.430769 51.2L236.307692 354.461538H118.153846c-43.323077 0-78.769231 35.446154-78.769231 78.769231v157.538462c0 43.323077 35.446154 78.769231 78.769231 78.769231h118.153846l248.123077 303.261538c25.6 25.6 66.953846 7.876923 66.953846-27.569231V78.769231c0-35.446154-43.323077-53.169231-66.953846-27.569231z m354.461539 120.123077c-7.876923-7.876923-19.692308-7.876923-27.569231 0l-27.569231 27.569231c-7.876923 7.876923-7.876923 21.661538 0 27.56923C858.584615 299.323077 905.846154 399.753846 905.846154 512c0 112.246154-47.261538 212.676923-122.092308 285.538462-7.876923 7.876923-7.876923 19.692308 0 27.56923l27.569231 27.569231c7.876923 7.876923 19.692308 7.876923 27.569231 0C927.507692 768 984.615385 645.907692 984.615385 512c0-133.907692-55.138462-256-145.723077-340.676923z m-124.061539 126.030769c-7.876923-7.876923-19.692308-7.876923-27.569231 0l-27.56923 27.569231c-7.876923 7.876923-7.876923 19.692308 0 27.569231 43.323077 39.384615 68.923077 96.492308 68.923077 159.507692 0 63.015385-27.569231 120.123077-70.892308 159.507692-7.876923 7.876923-7.876923 19.692308 0 27.569231l27.569231 27.569231c7.876923 7.876923 19.692308 7.876923 27.56923 0 57.107692-53.169231 94.523077-129.969231 94.523077-216.615385 0-82.707692-35.446154-159.507692-92.553846-212.676923z" p-id="9193" fill="#ffffff"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1597500723732" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9385" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M484.430769 51.2L236.307692 354.461538H118.153846c-43.323077 0-78.769231 35.446154-78.769231 78.769231v157.538462c0 43.323077 35.446154 78.769231 78.769231 78.769231h118.153846l248.123077 303.261538c25.6 25.6 66.953846 7.876923 66.953846-27.569231V78.769231c0-35.446154-43.323077-53.169231-66.953846-27.569231zM882.215385 512l96.492307-96.492308c7.876923-7.876923 7.876923-19.692308 0-27.56923l-27.56923-27.569231c-7.876923-7.876923-19.692308-7.876923-27.569231 0L827.076923 456.861538l-96.492308-96.492307c-7.876923-7.876923-19.692308-7.876923-27.56923 0l-27.569231 27.569231c-7.876923 7.876923-7.876923 19.692308 0 27.56923l96.492308 96.492308-96.492308 96.492308c-7.876923 7.876923-7.876923 19.692308 0 27.56923l27.569231 27.569231c7.876923 7.876923 19.692308 7.876923 27.56923 0l96.492308-96.492307 96.492308 96.492307c7.876923 7.876923 19.692308 7.876923 27.569231 0l27.56923-27.569231c7.876923-7.876923 7.876923-19.692308 0-27.56923L882.215385 512z" p-id="9386" fill="#ffffff"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

File diff suppressed because one or more lines are too long

View File

@ -3,7 +3,7 @@
* Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template * Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template
* *
* luci-theme-argon * luci-theme-argon
* Copyright 2019 Jerrykuku <jerrykuku@qq.com> * Copyright 2020 Jerrykuku <jerrykuku@qq.com>
* *
* Have a bug? Please create an issue here on GitHub! * Have a bug? Please create an issue here on GitHub!
* https://github.com/jerrykuku/luci-theme-argon/issues * https://github.com/jerrykuku/luci-theme-argon/issues
@ -75,7 +75,10 @@
--breakpoint-md: 768px; --breakpoint-md: 768px;
--breakpoint-lg: 992px; --breakpoint-lg: 992px;
--breakpoint-xl: 1200px; --breakpoint-xl: 1200px;
--blur-radius: 10px;
--blur-opacity: 0.5;
--blur-radius-dark: 10px;
--blur-opacity-dark: 0.5;
--font-family-sans-serif: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB"; --font-family-sans-serif: "Google Sans", "Microsoft Yahei", "WenQuanYi Micro Hei", "sans-serif", "Helvetica Neue", "Helvetica", "Hiragino Sans GB";
--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
--font-family-normal: Open Sans, PingFangSC-Regular, Microsoft Yahei, WenQuanYi Micro Hei, "Helvetica Neue", Helvetica, Hiragino Sans GB, sans-serif; --font-family-normal: Open Sans, PingFangSC-Regular, Microsoft Yahei, WenQuanYi Micro Hei, "Helvetica Neue", Helvetica, Hiragino Sans GB, sans-serif;
@ -111,8 +114,8 @@ body {
} }
::selection { ::selection {
background-color: var(--primary);
background-color: #5e72e4; background-color: #5e72e4;
background-color: var(--primary);
color: #ffffff; color: #ffffff;
color: var(--white); color: var(--white);
} }
@ -355,6 +358,38 @@ hr {
background-size: cover; background-size: cover;
transition: all 0.5s; transition: all 0.5s;
.video {
position: absolute;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
background-color: #000;
background-color: var(--darker);
overflow: hidden;
pointer-events: none;
video {
width: 100%;
height: auto;
}
}
.volume-control{
position: fixed;
right: 1rem;
top: 1rem;
width: 1.5rem;
height: 1.5rem;
z-index: 5000;
cursor: pointer;
background-size: contain;
background-image: url(../img/volume_high.svg);
&.mute{
background-image: url(../img/volume_off.svg);
}
}
.login-container { .login-container {
height: 100%; height: 100%;
margin-left: 4.5rem; margin-left: 4.5rem;
@ -501,7 +536,7 @@ hr {
width: 100%; width: 100%;
cursor: pointer; cursor: pointer;
min-height: 50px; min-height: 50px;
background-image: linear-gradient(-135deg, rgb(134, 146, 222) 0%, rgb(120, 138, 239) 100%); background-color: #5e72e4 !important;
border-radius: 6px; border-radius: 6px;
outline: none; outline: none;
border-width: initial; border-width: initial;
@ -515,7 +550,7 @@ hr {
&:hover, &:hover,
:focus { :focus {
background-image: linear-gradient(-135deg, rgb(130, 143, 224) 0%, rgb(94, 114, 228) 100%); background-color: #5065d8 !important;
} }
} }
} }
@ -529,8 +564,13 @@ hr {
justify-content: space-evenly; justify-content: space-evenly;
margin-top: auto; margin-top: auto;
padding: 0px 0px 30px; padding: 0px 0px 30px;
color: #525461;
z-index: 10; z-index: 10;
.ftc{
position: absolute;
bottom: 30px;
width: 100%;
}
.luci-link { .luci-link {
display: block; display: block;
} }
@ -541,9 +581,9 @@ hr {
@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { @supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) {
.login-page .login-container .login-form { .login-page .login-container .login-form {
-webkit-backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(var(--blur-radius));
backdrop-filter: blur(10px); backdrop-filter: blur(var(--blur-radius));
background-color: rgba(244, 245, 247, 0.7); background-color: rgba(244, 245, 247, var(--blur-opacity));
} }
} }
@ -4548,6 +4588,7 @@ pre.command-output {
.cbi-button-neutral[onclick="handleConfig(event)"] { .cbi-button-neutral[onclick="handleConfig(event)"] {
background: darkslateblue !important; background: darkslateblue !important;
} }
[data-page="admin-system-opkg"] h2 { [data-page="admin-system-opkg"] h2 {
color: #ccc !important; color: #ccc !important;
@ -4555,9 +4596,9 @@ pre.command-output {
@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) { @supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) {
.login-page .login-container .login-form { .login-page .login-container .login-form {
-webkit-backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(var(--blur-radius-dark));
backdrop-filter: blur(10px); backdrop-filter: blur(var(--blur-radius-dark));
background-color: rgba(0, 0, 0, 0.7); background-color: rgba(0, 0, 0, var(--blur-opacity-dark));
} }
} }

View File

@ -0,0 +1,786 @@
/**
* Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material and Argon Template
*
* luci-theme-argon
* Copyright 2020 Jerryk <jerrykuku@gmail.com>
*
* Have a bug? Please create an issue here on GitHub!
* https://github.com/jerrykuku/luci-theme-argon/issues
*
* luci-theme-bootstrap:
* Copyright 2008 Steven Barth <steven@midlink.org>
* Copyright 2008 Jo-Philipp Wich <jow@openwrt.org>
* Copyright 2012 David Menting <david@nut-bolt.nl>
*
* MUI:
* https://github.com/muicss/mui
*
* luci-theme-material:
* https://github.com/LuttyYang/luci-theme-material/
*
* Agron Theme
* https://demos.creative-tim.com/argon-dashboard/index.html
*
* Login background
* https://unsplash.com/
*
* Licensed to the public under the Apache License 2.0
*/
body {
background: #1e1e1e;
color: #cccccc;
}
.login-page .login-container {
.login-form {
background-color: #1e1e1e;
.brand {
color: #adb5bd;
}
.form-login {
.input-group {
&::before {
color: #adb5bd;
}
input {
background-color: transparent !important;
color: #adb5bd;
border-bottom: #adb5bd 1px solid !important;
border-radius: 0 !important;
border-top: none !important;
border-left: none !important;
border-right: none !important;
box-shadow: none;
}
}
.cbi-button-apply {
background-image: linear-gradient(-135deg, #6c61ab 0%, #594ca9 100%);
&:hover,
&:focus {
background-image: linear-gradient(-135deg, rgb(85, 76, 138) 0%, rgb(72, 61, 139) 100%);
}
}
}
}
}
header::after {
background-color: #1e1e1e !important;
}
.main {
.main-left {
background-color: #333333 !important;
box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .15);
.sidenav-header .brand {
color: #ccc;
}
.nav {
.slide {
.slide-menu {
.active {
a {
color: #cccccc;
&::after {
background-color: #cccccc !important;
}
}
}
li {
a {
color: #cccccc;
}
a:hover {
background: none !important;
}
}
}
.menu.active {
background-color: darkslateblue !important;
color: #cccccc !important;
a::after {
background-color: #cccccc !important;
}
}
}
li {
a {
color: #cccccc !important;
}
a:hover {
background-color: darkslateblue !important;
color: #cccccc !important;
}
}
}
&::-webkit-scrollbar-thumb {
background-color: #252526 !important;
}
&::-webkit-scrollbar-track {
background-color: #333;
}
}
.main-right {
background-color: #1e1e1e;
}
}
h2 {
color: #ccc;
background: #333333;
}
h3 {
color: #ccc;
border-bottom: 0;
background: #333333;
}
a:-webkit-any-link {
color: -webkit-link;
cursor: pointer;
color: darkslateblue;
}
input:-webkit-autofill {
background-color: #3c3c3c !important;
}
.cbi-value-field .cbi-input-apply,
.cbi-button-apply,
.cbi-button-edit {
color: #fff !important;
background-color: darkslateblue !important;
border-color: darkslateblue !important;
}
.cbi-section em {
color: #ccc;
}
header.bg-primary {
background-color: #1e1e1e !important;
}
.cbi-map-descr {
color: #ccc;
}
.cbi-section {
background: none;
box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35)
}
.panel-title {
color: #ccc;
background-color: #333333;
border-bottom: 0px;
}
div>table>tbody>tr:nth-of-type(2n),
div>.table>.tr:nth-of-type(2n) {
background-color: #252526;
}
table>tbody>tr>td,
table>tfoot>tr>td,
table>thead>tr>td {
color: #ccc;
}
fieldset>table>tbody>tr:nth-of-type(2n) {
background-color: #252526;
}
table>tbody>tr>td,
table>tfoot>tr>td,
table>thead>tr>td {
border-top: 1px solid #252526;
}
#swaptotal>div>div,
#swapfree>div>div,
#memfree>div>div,
#membuff>div>div,
#conns>div>div,
#memtotal>div>div {
background-color: #32325d !important;
}
#swaptotal>div>div>div>small,
#swapfree>div>div>div>small,
#memfree>div>div>div>small,
#membuff>div>div>div>small,
#conns>div>div>div>small,
#memtotal>div>div>div>small {
color: #ccc !important;
}
.node-system-packages>.main .cbi-section-node:first-child .cbi-value-last {
line-height: 1.8em;
div[style="margin:3px 0; width:300px; height:10px; border:1px solid #000000; background-color:#80C080"] {
border: 1px solid #999999 !important;
background-color: transparent !important;
div {
background-color: #32325d !important;
}
}
}
table>tbody>tr>th,
table>tfoot>tr>th,
table>thead>tr>th {
background-color: #252526;
border-bottom: black 1px solid !important;
}
tr>td,
tr>th,
.tr>.td,
.tr>.th,
.cbi-section-table-row::before,
#cbi-wireless>#wifi_assoclist_table>.tr:nth-child(2) {
border-top: 0;
}
.cbi-rowstyle-2 {
background-color: #1e1e1e;
}
.cbi-rowstyle-1 {
background-color: #252526;
}
.cbi-section>h3:first-child,
.panel-title,
h3 {
color: #ccc;
border-bottom: 0;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
h4 {
background-color: #1e1e1f;
}
.cbi-progressbar {
position: relative;
min-width: 170px;
height: 20px;
margin: 6px 0;
border: thin solid #999;
background: transparent;
border-radius: 0.2rem;
overflow: hidden;
div {
background-color: #32325d !important;
}
}
.cbi-section-table .cbi-section-table-titles .cbi-section-table-cell {
background-color: #1e1e1f;
}
.cbi-button {
color: #ccc !important;
background-color: darkslateblue;
}
.cbi-section-node {
background: none;
border-radius: 0 0 .375rem .375rem;
padding: 0rem;
}
abbr {
color: #5e72e4;
}
div>table>tbody>tr:nth-of-type(2n),
div>.table>.tbody>.tr:nth-of-type(2n) {
background-color: #252526;
}
#content_syslog {
box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35)
}
#syslog {
color: #ccc;
background-color: #1e1e1e;
}
#iwsvg,
#iwsvg2,
#bwsvg {
overflow: hidden;
box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35);
background-color: #1e1e1e !important;
}
.tabs {
background-color: #252526;
}
.tabs>li[class~="active"]>a {
color: #ccc;
}
.tabs>li[class~="active"],
.tabs>li:hover {
border-bottom: 0.18751rem solid darkslateblue;
color: #ccc;
background-color: #181819;
}
.cbi-tabmenu>li>a,
.tabs>li>a {
color: #ccc;
&:hover {
color: #ccc;
}
}
.cbi-tabmenu>li {
background: #2d2d2d;
}
.cbi-tabmenu li[class~="cbi-tab"] a {
color: #ccc;
}
.cbi-tabmenu>li:hover {
color: #ccc;
background: #2d2d2d;
}
.cbi-tabmenu>li[class~="cbi-tab"] {
background-color: #181819;
}
.cbi-tabcontainer>.cbi-value:nth-of-type(2n) {
background-color: #252526;
}
.cbi-value-title {
color: #ccc;
}
select,
input {
color: #ccc;
background-color: transparent !important;
border: 1px solid #252526;
box-shadow: none;
}
select:not([multiple="multiple"]):focus,
input:focus {
border-color: darkslateblue !important;
outline: 0;
}
select {
background-color: #1e1e1e !important;
}
#cbi-dropbear h2,
#cbi-dropbear .cbi-map-descr,
#cbi-dropbear .cbi-map-descr abbr,
#cbi-rc h2,
#cbi-rc .cbi-map-descr,
#cbi-distfeedconf h2,
#cbi-distfeedconf .cbi-map-descr,
#cbi-customfeedconf h2,
#cbi-customfeedconf .cbi-map-descr,
#cbi-download h2,
#cbi-filelist h2 {
color: #ccc !important;
}
.cbi-value-field>ul>li .ifacebadge {
background-color: #3c3c3c;
}
.cbi-section-descr {
color: #ccc;
}
.cbi-input-textarea {
background-color: #1e1e1e;
color: #ccc;
}
.cbi-section-remove:nth-of-type(2n),
.cbi-section-node:nth-of-type(2n) {
background-color: #1e1e1e;
}
.node-system-packages>.main table tr td:nth-last-child(1) {
color: #ccc;
}
.cbi-section-node .cbi-value {
padding: 1rem 1rem 0.3rem 1rem;
}
.ifacebox {
background-color: none;
border: 1px solid #1e1e1e;
}
.ifacebox-head {
color: #666;
}
.ifacebox-body {
background-color: #333;
}
.zonebadge strong {
color: #333;
}
.zonebadge>.ifacebadge {
background-color: #3c3c3c;
}
div.cbi-value var,
td.cbi-value-field var {
color: #5e72e4;
}
#diag-rc-output>pre {
color: #ccc;
background-color: #1e1e1e;
}
.node-services-vssr .block {
background-color: #3c3c3c !important;
box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35);
}
.node-services-vssr .block h4 {
color: #ccc !important;
}
.node-services-vssr .status-bar {
color: #ccc;
box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35);
background-color: #1e1e1e;
}
.node-services-vssr .cbi-section-table-row {
color: #ccc;
background-color: #3c3c3c !important;
box-shadow: 0 0 5px 0 rgba(0, 0, 0, .35)
}
.node-services-vssr .cbi-section-table-row.fast {
background: darkslateblue !important;
color: #fff;
}
.node-services-vssr .ssr-button {
color: #ccc;
}
.node-services-vssr .incon:nth-child(2) {
border-right: #1e1e1e 1px solid;
}
#xhr_poll_status>.label.success {
color: #ccc !important;
background-color: darkolivegreen !important;
}
.notice {
background-color: darkslateblue !important;
}
.cbi-input-find,
.cbi-input-save,
.cbi-button-add,
.cbi-button-save,
.cbi-button-find,
.cbi-input-reload,
.cbi-button-reload {
color: #fff !important;
background: darkolivegreen !important;
border-color: darkolivegreen !important;
}
.cbi-button-reset,
.cbi-input-remove {
color: #fff !important;
background-color: darkorange !important;
border-color: darkorange !important;
}
.cbi-page-actions .cbi-button-apply,
.cbi-section-actions .cbi-button-edit,
.cbi-button-edit.important,
.cbi-button-apply.important,
.cbi-button-reload.important,
.cbi-button-action.important {
border: 1px darkslateblue solid !important;
}
.btn[value="Dismiss"],
.cbi-button[value="Terminate"],
.cbi-button[value="Reset"],
.cbi-button[value="Disabled"],
.cbi-button[onclick^="iface_reconnect"],
.cbi-button[onclick="handleReset(event)"],
.cbi-button-neutral[value="Disable"] {
font-weight: normal;
color: #fff;
border: thin solid darkorange!important;
background-color: darkorange!important;
}
fieldset[id^="cbi-apply-"] {
background-color: #333333;
}
#detail-bubble>div {
border: 1px solid #ccc;
border-radius: 2px;
padding: 5px;
background: #252525;
}
.ifacebox-head.active {
background-color: #32325d !important;
}
header .fill .status span[data-style="active"] {
color: #ccc !important;
background-color: darkolivegreen !important;
}
#cbi-wireless .td,
#cbi-network .tr:first-child>.td,
.table[width="100%"]>.tr:first-child>.td,
[data-page="admin-network-diagnostics"] .tr>.td,
.tr.table-titles>.th,
.tr.cbi-section-table-titles>.th {
background-color: #252526;
border-bottom: black 1px solid !important;
}
.network-status-table .ifacebox-body .ifacebadge {
background-color: #252526;
border-bottom: 0;
box-shadow: none;
}
td>.ifacebadge,
.td>.ifacebadge {
background-color: darkslateblue;
border: 0;
}
.btn.danger,
.cbi-section-remove>.cbi-button,
.cbi-button-remove,
.cbi-button-reset,
.cbi-button-negative,
.cbi-button[value="Stop"],
.cbi-button[value="Kill"],
.cbi-button[onclick="reboot(this)"],
.cbi-button-neutral[value="Restart"] {
border: thin solid darkorange;
background-color: darkorange;
}
.cbi-section,
.cbi-section-error,
#iptables,
.Firewall form,
#cbi-network>.cbi-section-node,
#cbi-wireless>.cbi-section-node,
#cbi-wireless>#wifi_assoclist_table,
[data-tab-title],
[data-page^="admin-system-admin"]:not(.node-main-login) .cbi-map:not(#cbi-dropbear),
[data-page="admin-system-opkg"] #maincontent>.container {
background: #1e1e1e !important;
box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.35);
}
div[style="width:100%;height:300px;border:1px solid #000;background:#fff"] {
background: transparent !important;
}
[data-page="admin-system-admin"] .cbi-map h2,
[data-page="admin-system-admin-password"] .cbi-map h2,
[data-page="admin-system-admin"] .cbi-map .cbi-map-descr,
[data-page="admin-system-admin-password"] .cbi-map .cbi-map-descr {
color: #ccc;
}
.cbi-value input[type="password"]+.cbi-button-neutral {
background-color: darkslateblue !important;
}
.btn,
button,
select,
input,
.cbi-dropdown {
border: 1px solid #3c3c3c !important;
}
.cbi-dropdown .preview {
color: #ccc;
}
.cbi-section-table-row {
background-color: #1e1e1e !important;
}
.modal {
background-color: #1e1e1e;
}
.cbi-button-positive {
color: #fff !important;
background-color: darkolivegreen !important;
}
[data-page="admin-system-flash"] legend {
color: #ccc;
}
.logout:before {
color: #adb5bd !important;
}
.cbi-dropdown[open] {
border-color: darkslateblue !important;
}
.cbi-dropdown[open]>ul.dropdown {
background: #252526 !important;
color: #ccc !important;
box-shadow: none;
border: 1px solid #3c3c3c !important;
}
.cbi-dropdown[open]>ul.dropdown li {
color: #ccc;
border-bottom: 1px solid #3c3c3c !important;
}
.cbi-dropdown[open]>ul.dropdown>li[selected] {
background-color: darkslateblue !important;
border-bottom: 1px solid #3c3c3c !important;
}
.cbi-dropdown[open]>ul.dropdown>li.focus {
background: darkslateblue;
outline: none;
}
.ifacebadge {
background-color: #333333;
}
.cbi-dynlist>.item>span {
border: 1px solid #3c3c3c !important;
}
.cbi-page-actions .cbi-button-apply,
.cbi-section-actions .cbi-button-edit,
.cbi-button-edit,
.cbi-button-apply,
.cbi-button-reload,
.cbi-button-action,
.cbi-button[value="Submit"],
.cbi-button[value="Upload"],
.cbi-button[value$="Apply"],
.cbi-button[onclick="addKey(event)"] {
background: darkslateblue !important;
}
.btn.primary,
.cbi-page-actions .cbi-button-save,
.cbi-page-actions .cbi-button-apply+.cbi-button-save,
.cbi-button-add,
.cbi-button-save,
.cbi-button-positive,
.cbi-button-link,
.cbi-button[value="Enable"],
.cbi-button[value="Scan"],
.cbi-button[value^="Back"],
.cbi-button-neutral[onclick="handleConfig(event)"] {
background: darkslateblue;
}
[data-page="admin-system-opkg"] h2 {
color: #ccc !important;
}
@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) {
.login-page .login-container .login-form {
-webkit-backdrop-filter: blur(var(--blur-radius-dark));
backdrop-filter: blur(var(--blur-radius-dark));
background-color: rgba(0, 0, 0, var(--blur-opacity-dark));
}
}
@media screen and (max-width: 480px) {
.node-status-iptables>.main div>.cbi-map>form {
background-color: #1e1e1e;
box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, .35);
}
}

View File

@ -2,7 +2,7 @@
Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material Argon Template Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material Argon Template
luci-theme-argon luci-theme-argon
Copyright 2019 Jerrykuku <jerrykuku@qq.com> Copyright 2020 Jerrykuku <jerrykuku@qq.com>
Have a bug? Please create an issue here on GitHub! Have a bug? Please create an issue here on GitHub!
https://github.com/jerrykuku/luci-theme-argon/issues https://github.com/jerrykuku/luci-theme-argon/issues
@ -21,7 +21,7 @@
<footer class="mobile-hide"> <footer class="mobile-hide">
<div> <div>
<a class="luci-link" href="https://github.com/openwrt/luci">Powered by <%= ver.luciname %> (<%= ver.luciversion %>)</a> / <a class="luci-link" href="https://github.com/openwrt/luci">Powered by <%= ver.luciname %> (<%= ver.luciversion %>)</a> /
<a href="https://github.com/jerrykuku/luci-theme-argon">ArgonTheme v2.2</a> / <a href="https://github.com/jerrykuku/luci-theme-argon">ArgonTheme <%# vPKG_VERSION %></a> /
<%= ver.distversion %> <%= ver.distversion %>
<ul class="breadcrumb pull-right" id="modemenu" style="display:none"></ul> <ul class="breadcrumb pull-right" id="modemenu" style="display:none"></ul>
</div> </div>
@ -31,6 +31,15 @@
<script> <script>
// thanks for Jo-Philipp Wich <jow@openwrt.org> // thanks for Jo-Philipp Wich <jow@openwrt.org>
var luciLocation = <%= luci.http.write_json(luci.dispatcher.context.path) %>; var luciLocation = <%= luci.http.write_json(luci.dispatcher.context.path) %>;
var winHeight = $(window).height();
$(window).resize(function () {
var winWidth = $(window).width()
if(winWidth < 600){
var newHeight = $(this).height();
var keyboradHeight = newHeight - winHeight;
$(".ftc").css("bottom", keyboradHeight + 30);
}
})
</script> </script>
<script src="<%=media%>/js/script.js"></script> <script src="<%=media%>/js/script.js"></script>
</body> </body>

View File

@ -2,7 +2,7 @@
Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material Argon Template Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-material Argon Template
luci-theme-argon luci-theme-argon
Copyright 2019 Jerrykuku <jerrykuku@qq.com> Copyright 2020 Jerrykuku <jerrykuku@qq.com>
Have a bug? Please create an issue here on GitHub! Have a bug? Please create an issue here on GitHub!
https://github.com/jerrykuku/luci-theme-argon/issues https://github.com/jerrykuku/luci-theme-argon/issues
@ -29,27 +29,9 @@
local fs = require "nixio.fs" local fs = require "nixio.fs"
local nutil = require "nixio.util" local nutil = require "nixio.util"
-- send as HTML5 -- send as HTML5
http.prepare_content("text/html") http.prepare_content("text/html")
math.randomseed(os.time()) math.randomseed(os.time())
function glob(...)
local iter, code, msg = fs.glob(...)
if iter then
return nutil.consume(iter)
else
return nil, code, msg
end
end
local bgcount = 0
for f in ipairs(glob("/www/luci-static/argon/img/*")) do
bgcount = bgcount + 1
end
-%> -%>
<!DOCTYPE html> <!DOCTYPE html>
<html lang="<%=luci.i18n.context.lang%>"> <html lang="<%=luci.i18n.context.lang%>">
@ -83,6 +65,9 @@
<meta name="msapplication-TileImage" content="<%=media%>/icon/ms-icon-144x144.png"> <meta name="msapplication-TileImage" content="<%=media%>/icon/ms-icon-144x144.png">
<meta name="theme-color" content="#5e72e4"> <meta name="theme-color" content="#5e72e4">
<link rel="stylesheet" href="<%=media%>/css/cascade.css?v=<%=math.random(1,100000)%>"> <link rel="stylesheet" href="<%=media%>/css/cascade.css?v=<%=math.random(1,100000)%>">
<% if nixio.fs.access("/etc/dark") then %>
<link rel="stylesheet" href="<%=media%>/css/dark.css?v=<%=math.random(1,100000)%>">
<% end -%>
<link rel="shortcut icon" href="<%=media%>/favicon.ico"> <link rel="shortcut icon" href="<%=media%>/favicon.ico">
<% if node and node.css then %> <% if node and node.css then %>
<link rel="stylesheet" href="<%=resource%>/<%=node.css%>"> <link rel="stylesheet" href="<%=resource%>/<%=node.css%>">
@ -90,13 +75,12 @@
<% if css then %> <% if css then %>
<style title="text/css"> <style title="text/css">
<%=css %> <%=css %>
</style> </style>
<% end -%> <% end -%>
<script src="<%=url('admin/translations', luci.i18n.context.lang)%><%# ?v=PKG_VERSION %>"></script> <script src="<%=url('admin/translations', luci.i18n.context.lang)%><%# ?v=PKG_VERSION %>"></script>
<script src="<%=resource%>/cbi.js"></script> <script src="<%=resource%>/cbi.js<%# ?v=PKG_VERSION %>"></script>
<script src="<%=resource%>/luci.js"></script> <script src="<%=resource%>/luci.js<%# ?v=PKG_VERSION %>"></script>
<script src="<%=media%>/js/jquery.min.js"></script> <script src="<%=media%>/js/jquery.min.js<%# ?v=PKG_VERSION %>"></script>
<script type="text/javascript">//<![CDATA[ <script type="text/javascript">//<![CDATA[
(function () { (function () {
function get_children(node) { function get_children(node) {
@ -233,7 +217,7 @@
<div class="main"> <div class="main">
<div class="main-left" id="mainmenu" style="display:none"> <div class="main-left" id="mainmenu" style="display:none">
<div class="sidenav-header d-flex align-items-center"> <div class="sidenav-header d-flex align-items-center">
<a class="brand" href="#"><%=boardinfo.hostname or "?"%></a> <a class="brand" href="#"><%=boardinfo.hostname or "?"%></a>
<div class="ml-auto"> <div class="ml-auto">
<!-- Sidenav toggler --> <!-- Sidenav toggler -->
<div class="sidenav-toggler d-none d-xl-block active" data-action="sidenav-unpin" <div class="sidenav-toggler d-none d-xl-block active" data-action="sidenav-unpin"

View File

@ -2,7 +2,7 @@
edge is a clean HTML5 theme for LuCI. It is based on luci-theme-material edge Template edge is a clean HTML5 theme for LuCI. It is based on luci-theme-material edge Template
luci-theme-edge luci-theme-edge
Copyright 2019 Jerrykuku <jerrykuku@qq.com> Copyright 2020 Jerrykuku <jerrykuku@qq.com>
Have a bug? Please create an issue here on GitHub! Have a bug? Please create an issue here on GitHub!
https://github.com/jerrykuku/luci-theme-edge/issues https://github.com/jerrykuku/luci-theme-edge/issues
@ -23,33 +23,14 @@
local disp = require "luci.dispatcher" local disp = require "luci.dispatcher"
local boardinfo = util.ubus("system", "board") local boardinfo = util.ubus("system", "board")
local node = disp.context.dispatched local node = disp.context.dispatched
local fs = require "nixio.fs" local fs = require "nixio.fs"
local nutil = require "nixio.util" local nutil = require "nixio.util"
-- send as HTML5 -- send as HTML5
http.prepare_content("text/html") http.prepare_content("text/html")
math.randomseed(os.time()) math.randomseed(tonumber(tostring(os.time()):reverse():sub(1, 9)))
function glob(...)
local iter, code, msg = fs.glob(...)
if iter then
return nutil.consume(iter)
else
return nil, code, msg
end
end
local bgcount = 0
for f in ipairs(glob("/www/luci-static/edge/img/*")) do
bgcount = bgcount + 1
end
-%> -%>
<!DOCTYPE html> <!DOCTYPE html>
<html lang="<%=luci.i18n.context.lang%>"> <html lang="<%=luci.i18n.context.lang%>">
@ -84,25 +65,25 @@
<meta name="theme-color" content="#5e72e4"> <meta name="theme-color" content="#5e72e4">
<link rel="stylesheet" href="<%=media%>/css/cascade.css?v=<%=math.random(1,100000)%>"> <link rel="stylesheet" href="<%=media%>/css/cascade.css?v=<%=math.random(1,100000)%>">
<link rel="shortcut icon" href="<%=media%>/favicon.ico"> <link rel="shortcut icon" href="<%=media%>/favicon.ico">
<% if nixio.fs.access("/etc/dark") then %>
<link rel="stylesheet" href="<%=media%>/css/dark.css?v=<%=math.random(1,100000)%>">
<% end -%>
<% if node and node.css then %> <% if node and node.css then %>
<link rel="stylesheet" href="<%=resource%>/<%=node.css%>"> <link rel="stylesheet" href="<%=resource%>/<%=node.css%>">
<% end -%> <% end -%>
<% if css then %> <% if css then %>
<style title="text/css"> <style title="text/css">
<%=css %> <%=css %>
</style> </style>
<% end -%> <% end -%>
<script src="<%=url('admin/translations', luci.i18n.context.lang)%>?v=2.1"></script> <script src="<%=url('admin/translations', luci.i18n.context.lang)%><%# ?v=PKG_VERSION %>"></script>
<script src="<%=resource%>/cbi.js?v=2.1"></script> <script src="<%=resource%>/cbi.js<%# ?v=PKG_VERSION %>"></script>
<script src="<%=resource%>/xhr.js?v=2.1"></script> <script src="<%=resource%>/xhr.js<%# ?v=PKG_VERSION %>"></script>
<script src="<%=media%>/js/jquery.min.js?v=2.1"></script> <script src="<%=media%>/js/jquery.min.js<%# ?v=PKG_VERSION %>"></script>
</head> </head>
<body <body
class="lang_<%=luci.i18n.context.lang%> <% if node then %><%= striptags( node.title ) %><% end %> <% if luci.dispatcher.context.authsession then %>logged-in<% end %>" class="lang_<%=luci.i18n.context.lang%> <% if node then %><%= striptags( node.title ) %><% end %> <% if luci.dispatcher.context.authsession then %>logged-in<% end %>"
data-page="<%= table.concat(disp.context.requestpath, "-") %>"> data-page="<%= table.concat(disp.context.requestpath, "-") %>">
<div class="login-page">
<div class="login-container">
<div class="login-form">

View File

@ -1,15 +1,92 @@
<%# <%#
Argon is a clean HTML5 theme for LuCI. It is based on luci-theme-bootstrap and MUI and Argon Template
luci-theme-argon
Copyright 2020 Jerryk <jerrykuku@gmail.com>
Have a bug? Please create an issue here on GitHub!
https://github.com/jerrykuku/luci-theme-argon/issues
luci-theme-bootstrap:
Copyright 2008 Steven Barth <steven@midlink.org> Copyright 2008 Steven Barth <steven@midlink.org>
Copyright 2008-2012 Jo-Philipp Wich <jow@openwrt.org> Copyright 2008-2016 Jo-Philipp Wich <jow@openwrt.org>
Licensed to the public under the Apache License 2.0. Copyright 2012 David Menting <david@nut-bolt.nl>
MUI:
https://github.com/muicss/mui
Agron Theme
https://demos.creative-tim.com/argon-dashboard/index.html
Licensed to the public under the Apache License 2.0
-%> -%>
<%+header_login%> <%+header_login%>
<% <%
local util = require "luci.util" local util = require "luci.util"
local boardinfo = util.ubus("system", "board") local boardinfo = util.ubus("system", "board")
local fs = require "nixio.fs"
local nutil = require "nixio.util"
function glob(...)
local iter, code, msg = fs.glob(...)
if iter then
return nutil.consume(iter)
else
return nil, code, msg
end
end
function getExtension(str)
return str:match(".+%.(%w+)$")
end
local bgcount = 0
local currentBg = {}
local bgs,attr = {}
local theme_dir = media .. "/background/"
for i, f in ipairs(glob("/www" .. theme_dir .. "*")) do
attr = fs.stat(f)
if attr then
local ext = getExtension(fs.basename(f))
if ext == "jpg" or ext == "png" or ext == "gif" or ext == "mp4" then
local bg = {}
bg.type = ext
bg.url = theme_dir .. fs.basename(f)
table.insert(bgs,bg)
bgcount = bgcount + 1
end
end
end
if bgcount > 0 then
currentBg = bgs[math.random(1,bgcount)]
end
%> %>
<a class="brand" href="/"><img src="/luci-static/argon/img/argon.svg" class="icon"><span <div class="login-page">
<% if (bgcount > 0 and currentBg.type == "mp4") then %>
<div class="video">
<video autoplay loop muted id="video">
<source src="<%=currentBg.url%>" type="video/mp4">
</video>
</div>
<div class="volume-control mute"></div>
<script>
$(".volume-control").click(function(){
if($(this).hasClass("mute")){
$(this).removeClass("mute")
$("#video").prop('muted', false);
}else{
$(this).addClass("mute")
$("#video").prop('muted', true);
}
})
</script>
<% end %>
<div class="login-container">
<div class="login-form">
<a class="brand" href="/"><img src="<%=media%>/img/argon.svg" class="icon"><span
class="brand-text"><%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %></span></a> class="brand-text"><%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %></span></a>
<form class="form-login" method="post" action="<%=pcdata(luci.http.getenv("REQUEST_URI"))%>"> <form class="form-login" method="post" action="<%=pcdata(luci.http.getenv("REQUEST_URI"))%>">
@ -17,7 +94,6 @@ local boardinfo = util.ubus("system", "board")
<div class="errorbox"><%:Invalid username and/or password! Please try again.%></div> <div class="errorbox"><%:Invalid username and/or password! Please try again.%></div>
<% end -%> <% end -%>
<div class="input-container"> <div class="input-container">
<div class="input-group user-icon"> <div class="input-group user-icon">
<input class="cbi-input-user" id="cbi-input-user" type="text" name="luci_username" value="<%=duser%>" /> <input class="cbi-input-user" id="cbi-input-user" type="text" name="luci_username" value="<%=duser%>" />
@ -27,35 +103,42 @@ local boardinfo = util.ubus("system", "board")
<input class="cbi-input-password" id="cbi-input-password" type="password" name="luci_password" /> <input class="cbi-input-password" id="cbi-input-password" type="password" name="luci_password" />
<label class="border" for="cbi-input-password"></label> <label class="border" for="cbi-input-password"></label>
</div> </div>
</div> </div>
<div> <div>
<input type="submit" value="<%:Login%>" class="cbi-button cbi-button-apply" /> <input type="submit" value="<%:Login%>" class="cbi-button cbi-button-apply" />
</div> </div>
</form> </form>
<% <%
local bing = string.gsub(luci.sys.exec("content=`wget --no-check-certificate -q -O - 'http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US'`;echo $content"), "\n", "") if (bgcount == 0) then
local bingjson = "{}"
local http = require "socket.http"
local bing = http.request("http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US")
if (bing and bing ~= '') then
bingjson = bing
end
%> %>
<script type="text/javascript">//<![CDATA[ <script type="text/javascript">//<![CDATA[
var input = document.getElementsByName('luci_password')[0]; var input = document.getElementsByName('luci_password')[0];
if (input) if (input)
input.focus(); input.focus();
try { try {
var bing = <%=bing%>; var bing = <%=bingjson%>;
var bg = "https://www.bing.com" + bing.images[0].url; var bg = "https://www.bing.com" + bing.images[0].url;
$(".login-page").css("background-image", "url(" + bg + ")"); $(".login-page").css("background-image", "url(" + bg + ")");
} catch{ } catch{
console.log("can not access bing api"); console.log("can not access bing api");
$(".login-page").css("background-image", "url(/luci-static/argon/img/bg1.jpg)"); $(".login-page").css("background-image", "url(<%=media%>/img/bg1.jpg)");
} }
//]]></script> //]]></script>
<% elseif (bgcount > 0 and currentBg["type"] ~= "mp4") then%>
<script type="text/javascript">//<![CDATA[
console.log("can not access bing api");
$(".login-page").css("background-image", "url(<%=currentBg.url%>)");
//]]></script>
<% <%
end
local uci = require "luci.model.uci".cursor() local uci = require "luci.model.uci".cursor()
local fs = require "nixio.fs" local fs = require "nixio.fs"
local https_key = uci:get("uhttpd", "main", "key") local https_key = uci:get("uhttpd", "main", "key")
@ -67,7 +150,6 @@ end
if https_port and fs.access(https_key) then if https_port and fs.access(https_key) then
https_port = https_port:match("(%d+)$") https_port = https_port:match("(%d+)$")
%> %>
<script type="text/javascript">//<![CDATA[ <script type="text/javascript">//<![CDATA[
if (document.location.protocol != 'https:') { if (document.location.protocol != 'https:') {
var url = 'https://' + window.location.hostname + ':' + '<%=https_port%>' + window.location.pathname; var url = 'https://' + window.location.hostname + ':' + '<%=https_port%>' + window.location.pathname;
@ -79,7 +161,5 @@ if https_port and fs.access(https_key) then
}, 5000); }, 5000);
} }
//]]></script> //]]></script>
<% end %> <% end %>
<%+footer%> <%+footer%>