mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-01-29 09:01:54 +08:00
own auth
This commit is contained in:
84
web/share/css/index/index.css
Normal file
84
web/share/css/index/index.css
Normal file
@@ -0,0 +1,84 @@
|
||||
div#start-box {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
div#start {
|
||||
text-align: left;
|
||||
outline: none;
|
||||
word-wrap: break-word;
|
||||
max-width: 800px;
|
||||
border: var(--border-window-thin);
|
||||
border-radius: 8px;
|
||||
box-sizing: border-box;
|
||||
box-shadow: var(--shadow-big);
|
||||
background-color: var(--cs-window-default-bg);
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
div#start div#apps-box {
|
||||
display: table;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
div#start div#apps-box ul#apps {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div#start div#apps-box ul#apps li {
|
||||
float: left;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
div#start div#apps-box ul#apps li div.app {
|
||||
height: 100px;
|
||||
width: 100px;
|
||||
text-align: center;
|
||||
background-color: var(--cs-control-default-bg);
|
||||
box-shadow: var(--shadow-micro);
|
||||
border: var(--border-key-thin);
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
div#start div#apps-box ul#apps li div:hover.app {
|
||||
border: var(--border-intensive-thin);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
div#start div#apps-box ul#apps li div.app img {
|
||||
display: block;
|
||||
margin: auto;
|
||||
height: 50px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
div#start div#apps-box ul#apps li div.app a {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
height: 100%;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div#start td.logo {
|
||||
padding-right: 25px;
|
||||
}
|
||||
div#start td.title {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
div#start td.copyright {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
div#start tr.server {
|
||||
font-size: 1.4em;
|
||||
font-weight: bold;
|
||||
font-family: monospace;
|
||||
}
|
||||
28
web/share/css/kvm/about.css
Normal file
28
web/share/css/kvm/about.css
Normal file
@@ -0,0 +1,28 @@
|
||||
div#about {
|
||||
-webkit-user-select: text;
|
||||
-moz-user-select: text;
|
||||
user-select: text;
|
||||
max-width: 600px;
|
||||
white-space: normal;
|
||||
padding: 5px 5px 5px 5px;
|
||||
}
|
||||
|
||||
div#about td.logo {
|
||||
padding-right: 25px;
|
||||
}
|
||||
|
||||
div#about td.title {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
div#about td.copyright {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
div#about tr.version {
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
div#about div#about-meta {
|
||||
height: 200px;
|
||||
}
|
||||
21
web/share/css/kvm/hid.css
Normal file
21
web/share/css/kvm/hid.css
Normal file
@@ -0,0 +1,21 @@
|
||||
textarea#hid-pak-text {
|
||||
display: block;
|
||||
resize: none;
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
color: var(--cs-window-default-fg);
|
||||
background-color: var(--cs-window-default-bg);
|
||||
border: none;
|
||||
outline: 0 !important;
|
||||
-webkit-appearance:none;
|
||||
}
|
||||
|
||||
textarea#hid-pak-text::-moz-placeholder {
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
textarea#hid-pak-text::-webkit-input-placeholder {
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
146
web/share/css/kvm/keyboard.css
Normal file
146
web/share/css/kvm/keyboard.css
Normal file
@@ -0,0 +1,146 @@
|
||||
div.keyboard {
|
||||
zoom: 0.8;
|
||||
}
|
||||
|
||||
div.keyboard div.keyboard-block {
|
||||
display: table-cell;
|
||||
padding-right: 0;
|
||||
}
|
||||
div.keyboard div.keyboard-block:not(:first-child) {
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
div.keyboard div.keyboard-row {
|
||||
white-space: nowrap;
|
||||
height: 40px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
div.keyboard div.keyboard-row:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
div.keyboard div.key, div.modifier, div.empty-key {
|
||||
box-sizing: border-box;
|
||||
display: inline-block;
|
||||
margin-right: 5px;
|
||||
padding: 0;
|
||||
width: 40px;
|
||||
}
|
||||
div.keyboard div.key, div.modifier {
|
||||
font-size: 0.9em;
|
||||
text-align: center;
|
||||
vertical-align: top;
|
||||
box-shadow: var(--shadow-micro);
|
||||
border: var(--border-key-thin);
|
||||
border-radius: 6px;
|
||||
color: var(--cs-key-default-fg);
|
||||
background-color: var(--cs-key-default-bg);
|
||||
cursor: pointer;
|
||||
height: 40px;
|
||||
}
|
||||
div.keyboard div.key:hover, div.modifier:hover {
|
||||
color: var(--cs-key-hovered-fg);
|
||||
background-color: var(--cs-key-hovered-bg);
|
||||
}
|
||||
div.keyboard div.pressed {
|
||||
box-shadow: none;
|
||||
color: var(--cs-key-pressed-fg) !important;
|
||||
background-color: var(--cs-key-pressed-bg) !important;
|
||||
}
|
||||
div.keyboard div.holded {
|
||||
box-shadow: none;
|
||||
color: var(--cs-key-default-fg) !important;
|
||||
background-color: var(--cs-key-holded-bg) !important;
|
||||
}
|
||||
div.keyboard div.key:last-child, div.empty-key:last-child, div.modifier:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
div.keyboard div.margin-0 {
|
||||
margin-right: 0px;
|
||||
}
|
||||
div.keyboard div.wide-0 {
|
||||
width: 26px;
|
||||
}
|
||||
div.keyboard div.wide-1 {
|
||||
width: 61px;
|
||||
}
|
||||
div.keyboard div.wide-2 {
|
||||
width: 64px;
|
||||
}
|
||||
div.keyboard div.wide-3 {
|
||||
width: 77px;
|
||||
}
|
||||
div.keyboard div.wide-4 {
|
||||
width: 102px;
|
||||
}
|
||||
div.keyboard div.wide-5 {
|
||||
width: 288px;
|
||||
}
|
||||
div.keyboard div.left {
|
||||
text-align: left !important;
|
||||
padding-left: 6px !important;
|
||||
}
|
||||
div.keyboard div.right {
|
||||
text-align: right !important;
|
||||
padding-right: 6px !important;
|
||||
}
|
||||
div.keyboard div.small {
|
||||
font-size: 0.7em;
|
||||
}
|
||||
|
||||
div.keyboard p {
|
||||
margin: 0;
|
||||
position: relative;
|
||||
top: 50%;
|
||||
-webkit-transform: translateY(-50%);
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
div.keyboard b {
|
||||
color: var(--cs-key-holded-bg);
|
||||
}
|
||||
|
||||
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
|
||||
div#keyboard-window {
|
||||
visibility: visible !important;
|
||||
padding-top: 9px !important;
|
||||
padding-bottom: 30px !important;
|
||||
border-bottom: 0 !important;
|
||||
border-left: 0 !important;
|
||||
border-right: 0 !important;
|
||||
border-radius: 0 !important;
|
||||
top: unset !important;
|
||||
bottom: 0 !important;
|
||||
width: 100% !important;
|
||||
left: 50% !important;
|
||||
-webkit-transform: translateX(-50%) !important;
|
||||
transform: translateX(-50%) !important;
|
||||
}
|
||||
div#keyboard-window-header {
|
||||
display: none !important
|
||||
}
|
||||
}
|
||||
|
||||
div#keyboard-desktop {
|
||||
display: block;
|
||||
}
|
||||
div#keyboard-mobile {
|
||||
display: none;
|
||||
}
|
||||
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
|
||||
/* iPad */
|
||||
div.keyboard {
|
||||
zoom: 1.28 !important;
|
||||
}
|
||||
|
||||
div.keyboard div.key:hover, div.modifier:hover {
|
||||
color: var(--cs-key-default-fg);
|
||||
background-color: var(--cs-key-default-bg);
|
||||
}
|
||||
|
||||
div#keyboard-desktop {
|
||||
display: none !important;
|
||||
}
|
||||
div#keyboard-mobile {
|
||||
display: block !important;
|
||||
}
|
||||
}
|
||||
22
web/share/css/kvm/msd.css
Normal file
22
web/share/css/kvm/msd.css
Normal file
@@ -0,0 +1,22 @@
|
||||
div#msd-menu {
|
||||
width: 450px;
|
||||
}
|
||||
|
||||
div#msd-menu div.msd-message, input.msd-message {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div#msd-menu table.msd-info {
|
||||
-webkit-user-select: text;
|
||||
-moz-user-select: text;
|
||||
user-select: text;
|
||||
border-spacing: 5px;
|
||||
margin: 0 10px 0 10px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
div#msd-menu table.msd-info td.msd-info-value {
|
||||
font-weight: bold;
|
||||
max-width: 310px;
|
||||
overflow: hidden;
|
||||
}
|
||||
90
web/share/css/kvm/stream.css
Normal file
90
web/share/css/kvm/stream.css
Normal file
@@ -0,0 +1,90 @@
|
||||
div#stream-info {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div#stream-box {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
border: var(--border-window-thin);
|
||||
}
|
||||
div.stream-box-inactive::after {
|
||||
cursor: wait;
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: inline-block;
|
||||
background: radial-gradient(transparent 20%, black);
|
||||
}
|
||||
div.stream-box-mouse-enabled {
|
||||
cursor: url("../../svg/stream-mouse-cursor.svg"), pointer;
|
||||
}
|
||||
|
||||
img#stream-image {
|
||||
width: 640px;
|
||||
height: 480px;
|
||||
display: block;
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
img.stream-image-active {
|
||||
-webkit-filter: none;
|
||||
filter: none;
|
||||
}
|
||||
|
||||
img.stream-image-inactive {
|
||||
-webkit-filter: grayscale(100%) brightness(75%) sepia(75%);
|
||||
filter: grayscale(100%) brightness(75%) sepia(75%);
|
||||
}
|
||||
|
||||
div.stream-slider-box {
|
||||
margin-top: 5px;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
table#stream-auto-resize-box {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
|
||||
@supports (-webkit-appearance: none) {
|
||||
table#stream-auto-resize-box {
|
||||
margin: 20px 0 20px 0 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
div#stream-mouse-buttons {
|
||||
display: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
|
||||
div#stream-window {
|
||||
padding-top: 3px !important;
|
||||
border-top: 0 !important;
|
||||
border-radius: 0 0 8px 8px !important;
|
||||
top: 50px !important;
|
||||
left: 50% !important;
|
||||
-webkit-transform: translateX(-50%) !important;
|
||||
transform: translateX(-50%) !important;
|
||||
}
|
||||
div#stream-window-header {
|
||||
display: none !important;
|
||||
}
|
||||
div#stream-info {
|
||||
display: block !important;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
padding-bottom: 3px;
|
||||
font-size: 0.8em;
|
||||
color: var(--cs-window-header-default-fg);
|
||||
}
|
||||
div#stream-mouse-buttons {
|
||||
display: block !important;
|
||||
}
|
||||
}
|
||||
63
web/share/css/leds.css
Normal file
63
web/share/css/leds.css
Normal file
@@ -0,0 +1,63 @@
|
||||
@-webkit-keyframes spin {
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
@keyframes spin {
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
:root {
|
||||
--led-filter-gray: invert(0.5);
|
||||
--led-filter-green: invert(0.5) sepia(1) saturate(5) hue-rotate(100deg);
|
||||
--led-filter-red: invert(0.5) sepia(1) saturate(15) hue-rotate(320deg);
|
||||
--led-filter-yellow: invert(0.5) sepia(1) saturate(5) hue-rotate(0deg);
|
||||
|
||||
--led-spin-slow: spin 6s linear infinite;
|
||||
--led-spin-medium: spin 3s linear infinite;
|
||||
--led-spin-fast: spin 2s linear infinite;
|
||||
}
|
||||
|
||||
img.led-gray {
|
||||
-webkit-filter: var(--led-filter-gray);
|
||||
filter: var(--led-filter-gray);
|
||||
}
|
||||
|
||||
img.led-green {
|
||||
-webkit-filter: var(--led-filter-green);
|
||||
filter: var(--led-filter-green);
|
||||
}
|
||||
|
||||
img.led-red {
|
||||
-webkit-filter: var(--led-filter-red);
|
||||
filter: var(--led-filter-red);
|
||||
}
|
||||
|
||||
img.led-yellow {
|
||||
-webkit-filter: var(--led-filter-yellow);
|
||||
filter: var(--led-filter-yellow);
|
||||
}
|
||||
|
||||
img.led-green-rotating-medium {
|
||||
-webkit-filter: var(--led-filter-green);
|
||||
filter: var(--led-filter-green);
|
||||
-webkit-animation: var(--led-spin-medium);
|
||||
animation: var(--led-spin-medium);
|
||||
}
|
||||
|
||||
img.led-yellow-rotating-slow {
|
||||
-webkit-filter: var(--led-filter-yellow);
|
||||
filter: var(--led-filter-yellow);
|
||||
-webkit-animation: var(--led-spin-slow);
|
||||
animation: var(--led-spin-slow);
|
||||
}
|
||||
|
||||
img.led-yellow-rotating-fast {
|
||||
-webkit-filter: var(--led-filter-yellow);
|
||||
filter: var(--led-filter-yellow);
|
||||
-webkit-animation: var(--led-spin-fast);
|
||||
animation: var(--led-spin-fast);
|
||||
}
|
||||
25
web/share/css/login/login.css
Normal file
25
web/share/css/login/login.css
Normal file
@@ -0,0 +1,25 @@
|
||||
div#login-box {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
div#login {
|
||||
text-align: left;
|
||||
outline: none;
|
||||
word-wrap: break-word;
|
||||
max-width: 400px;
|
||||
border: var(--border-window-thin);
|
||||
border-radius: 8px;
|
||||
box-sizing: border-box;
|
||||
box-shadow: var(--shadow-big);
|
||||
background-color: var(--cs-window-default-bg);
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
input[type="text"]#user-input, input[type="password"]#passwd-input {
|
||||
text-align: center;
|
||||
}
|
||||
179
web/share/css/main.css
Normal file
179
web/share/css/main.css
Normal file
@@ -0,0 +1,179 @@
|
||||
body {
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
color: var(--cs-page-default-fg);
|
||||
background-color: var(--cs-page-default-bg);
|
||||
font-family: sans-serif !important;
|
||||
}
|
||||
body.body-no-select {
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
touch-action: manipulation;
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--cs-page-default-fg);
|
||||
}
|
||||
|
||||
hr {
|
||||
border: none;
|
||||
border-top: var(--border-default-thin);
|
||||
}
|
||||
|
||||
p.text {
|
||||
text-align: justify;
|
||||
}
|
||||
p:not(:first-child).text {
|
||||
margin-top: 0;
|
||||
}
|
||||
p:last-child.text {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
div.code {
|
||||
white-space: nowrap;
|
||||
overflow-x: auto;
|
||||
font-family: monospace;
|
||||
border-radius: 4px;
|
||||
color: var(--cs-code-default-fg);
|
||||
background-color: var(--cs-code-default-bg);
|
||||
padding: 10px;
|
||||
}
|
||||
div.code::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
}
|
||||
div.code::-webkit-scrollbar-thumb {
|
||||
border-radius: 4px;
|
||||
background: var(--cs-scroll-default-bg);
|
||||
}
|
||||
|
||||
div.code span.code-comment {
|
||||
color: var(--cs-code-comment-fg);
|
||||
}
|
||||
|
||||
img.svg-gray {
|
||||
-webkit-filter: invert(0.7);
|
||||
filter: invert(0.7);
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
button, select {
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
color: var(--cs-control-default-fg);
|
||||
background-color: var(--cs-control-default-bg);
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
font-size: 16px;
|
||||
outline: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
@media (hover: hover), (min--moz-device-pixel-ratio: 0) {
|
||||
/* If we have a mouse cursor */
|
||||
button:enabled:hover, select:enabled:hover {
|
||||
color: var(--cs-control-hovered-fg);
|
||||
background-color: var(--cs-control-hovered-bg) !important;
|
||||
}
|
||||
button:active, select:active {
|
||||
color: var(--cs-control-pressed-fg) !important;
|
||||
}
|
||||
select:enabled:hover {
|
||||
background-image: url("../svg/select-arrow-intensive.svg") !important;
|
||||
}
|
||||
}
|
||||
@media (hover: none) {
|
||||
/* If we DON'T have a mouse cursor */
|
||||
button:active, select:active {
|
||||
color: var(--cs-control-hovered-fg);
|
||||
background-color: var(--cs-control-hovered-bg);
|
||||
}
|
||||
}
|
||||
button:disabled, select:disabled {
|
||||
color: var(--cs-control-disabled-fg);
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
select {
|
||||
-webkit-appearance: button;
|
||||
-moz-appearance: button;
|
||||
appearance: button;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
background-image: url("../svg/select-arrow-normal.svg");
|
||||
background-position: center right;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
select:disabled {
|
||||
background-image: url("../svg/select-arrow-inactive.svg") !important;
|
||||
}
|
||||
select:active {
|
||||
color: var(--cs-control-intensive-fg) !important;
|
||||
background-color: var(--cs-bg-control-intensive) !important;
|
||||
background-image: url("../svg/select-arrow-intensive.svg") !important;
|
||||
}
|
||||
|
||||
input[type=text], input[type=password] {
|
||||
overflow-x: auto;
|
||||
font-family: monospace;
|
||||
border: thin;
|
||||
border-radius: 4px;
|
||||
color: var(--cs-code-default-fg);
|
||||
background-color: var(--cs-code-default-bg);
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
|
||||
button, select, input[type=text], input[type=password] {
|
||||
height: 45px !important;
|
||||
}
|
||||
}
|
||||
|
||||
div.buttons-row {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
.row50 {
|
||||
display: inline-block;
|
||||
width: 50%;
|
||||
}
|
||||
.row25 {
|
||||
display: inline-block;
|
||||
width: 25%;
|
||||
}
|
||||
.row16 {
|
||||
display: inline-block;
|
||||
width: 16.66%
|
||||
}
|
||||
.row50:not(:first-child), .row25:not(:first-child), .row16:not(:first-child) {
|
||||
border-left: var(--border-control-thin);
|
||||
}
|
||||
|
||||
ul.footer {
|
||||
list-style-type: none;
|
||||
bottom: 0;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
font-size: 0.7em;
|
||||
color: var(--cs-page-obscure-fg);
|
||||
z-index: -10;
|
||||
}
|
||||
ul.footer li {
|
||||
padding: 0 10px;
|
||||
}
|
||||
ul.footer li.footer-left {
|
||||
float: left;
|
||||
}
|
||||
ul.footer li.footer-right {
|
||||
float: right;
|
||||
}
|
||||
ul.footer li a {
|
||||
color: var(--cs-page-obscure-fg);
|
||||
}
|
||||
113
web/share/css/menu.css
Normal file
113
web/share/css/menu.css
Normal file
@@ -0,0 +1,113 @@
|
||||
ul#menu {
|
||||
box-shadow: var(--shadow-small);
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: var(--cs-menu-default-bg);
|
||||
position: fixed;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
z-index: 2147483646;
|
||||
}
|
||||
|
||||
ul#menu li.menu-right-items {
|
||||
float: right;
|
||||
}
|
||||
|
||||
ul#menu li.menu-left-items {
|
||||
float: left;
|
||||
}
|
||||
|
||||
ul#menu li a#menu-logo {
|
||||
line-height: 50px;
|
||||
outline: none;
|
||||
cursor: pointer;
|
||||
border-right: var(--border-menu-thin);
|
||||
display: inline-block;
|
||||
color: var(--cs-menu-default-fg);
|
||||
padding-left: 16px;
|
||||
padding-right: 16px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
ul#menu img {
|
||||
vertical-align: middle;
|
||||
margin-right: 10px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
ul#menu li a#menu-logo img {
|
||||
margin-top: -2px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
ul#menu li a.menu-item {
|
||||
line-height: 50px;
|
||||
outline: none;
|
||||
cursor: pointer;
|
||||
border-left: var(--border-menu-thin);
|
||||
display: inline-block;
|
||||
color: var(--cs-menu-default-fg);
|
||||
padding-left: 16px;
|
||||
padding-right: 16px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
ul#menu li a#menu-logo:hover:not(.active), a.menu-item:hover:not(.active) {
|
||||
background-color: var(--cs-menu-hovered-bg);
|
||||
}
|
||||
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
|
||||
/* iPad 8 */
|
||||
ul#menu li a#menu-item:hover:not(.active), a.menu-item:hover:not(.active) {
|
||||
background-color: var(--cs-menu-default-bg) !important;
|
||||
}
|
||||
}
|
||||
|
||||
ul#menu li a.menu-item-selected {
|
||||
box-shadow: var(--shadow-menu-pressed);
|
||||
background-color: var(--cs-menu-pressed-bg) !important;
|
||||
}
|
||||
|
||||
ul#menu li div.menu-item-content {
|
||||
visibility: hidden;
|
||||
outline: none;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
border: var(--border-menu-item-content-default-2px);
|
||||
border-top: var(--border-menu-item-content-top-thin);
|
||||
border-radius: 0 0 8px 8px;
|
||||
position: absolute;
|
||||
background-color: var(--cs-menu-default-bg);
|
||||
min-width: 180px;
|
||||
box-shadow: var(--shadow-big);
|
||||
z-index: 2147483645;
|
||||
}
|
||||
ul#menu li div.menu-item-content-active {
|
||||
border: var(--border-menu-item-content-active-2px) !important;
|
||||
border-top: var(--border-menu-item-content-top-thin) !important;
|
||||
}
|
||||
|
||||
ul#menu li div.menu-item-content-buttons {
|
||||
background-color: var(--cs-control-default-bg);
|
||||
}
|
||||
|
||||
ul#menu li div.menu-item-content-text {
|
||||
margin: 10px 15px 10px 15px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
ul#menu li div.menu-item-content button, select {
|
||||
border-radius: 0;
|
||||
text-align: left;
|
||||
padding: 0 16px;
|
||||
}
|
||||
|
||||
ul#menu li div.menu-item-content hr {
|
||||
margin: 0;
|
||||
display: block;
|
||||
height: 0px;
|
||||
padding: 0;
|
||||
border: none;
|
||||
border-top: var(--border-control-thin);
|
||||
}
|
||||
58
web/share/css/modals.css
Normal file
58
web/share/css/modals.css
Normal file
@@ -0,0 +1,58 @@
|
||||
div.modal {
|
||||
visibility: hidden;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgb(0, 0, 0);
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
z-index: 2147483647;
|
||||
}
|
||||
|
||||
div.modal div.modal-window {
|
||||
display: table;
|
||||
outline: none;
|
||||
margin: 15% auto;
|
||||
overflow: hidden;
|
||||
border: var(--border-window-thin);
|
||||
border-radius: 8px;
|
||||
box-sizing: border-box;
|
||||
box-shadow: var(--shadow-big);
|
||||
background-color: var(--cs-window-default-bg);
|
||||
padding: 0;
|
||||
}
|
||||
div.modal div.modal-window-active {
|
||||
border: var(--border-intensive-2px) !important;
|
||||
}
|
||||
|
||||
div.modal div.modal-window div.modal-header {
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
padding: 3px 9px 3px 9px;
|
||||
border-bottom: var(--border-default-thin);
|
||||
}
|
||||
|
||||
div.modal div.modal-window div.modal-content {
|
||||
max-width: 500px;
|
||||
max-height: 500px;
|
||||
padding: 16px 9px 16px 9px;
|
||||
}
|
||||
|
||||
div.modal div.modal-window div.modal-buttons {
|
||||
border-top: var(--border-control-thin);
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
div.modal div.modal-window div.modal-buttons button {
|
||||
border-radius: 0;
|
||||
height: 40px;
|
||||
}
|
||||
@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
|
||||
/* iPad vertical */
|
||||
div.modal-buttons button {
|
||||
height: 50px !important;
|
||||
}
|
||||
}
|
||||
23
web/share/css/progress.css
Normal file
23
web/share/css/progress.css
Normal file
@@ -0,0 +1,23 @@
|
||||
div.progress {
|
||||
background-color: var(--cs-progress-default-bg);
|
||||
height: 1.5em;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
div.progress:before {
|
||||
color: var(--cs-progress-default-fg);
|
||||
content: attr(data-label);
|
||||
font-size: 0.8em;
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
top: 4px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
div.progress span.progress-value {
|
||||
background-color: var(--cs-progress-bar-bg);
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
}
|
||||
78
web/share/css/sliders.css
Normal file
78
web/share/css/sliders.css
Normal file
@@ -0,0 +1,78 @@
|
||||
@supports (-webkit-appearance:none) {
|
||||
input[type=range].slider {
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
width: 100%;
|
||||
box-shadow: none;
|
||||
background: transparent;
|
||||
margin: 8px 0 8px 0;
|
||||
-webkit-appearance: none;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
}
|
||||
@supports not (-webkit-appearance:none) {
|
||||
input[type=range].slider {
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
width: 100%;
|
||||
box-shadow: none;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
|
||||
@supports (-webkit-appearance: none) {
|
||||
input[type=range].slider {
|
||||
margin: 20px 0 20px 0 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
input[type=range].slider:disabled {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
input[type=range].slider::-webkit-slider-runnable-track {
|
||||
height: 5px;
|
||||
background: var(--cs-control-default-bg);
|
||||
border-radius: 3px;
|
||||
}
|
||||
input[type=range].slider:disabled::-webkit-slider-runnable-track {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
input[type=range].slider::-webkit-slider-thumb {
|
||||
border: var(--border-intensive-2px);
|
||||
height: 18px;
|
||||
width: 18px;
|
||||
border-radius: 25px;
|
||||
background: var(--cs-thumb-default-bg);
|
||||
-webkit-appearance: none;
|
||||
margin-top: -7px;
|
||||
}
|
||||
input[type=range].slider:disabled::-webkit-slider-thumb {
|
||||
cursor: default;
|
||||
border: var(--border-default-2px);
|
||||
background: var(--cs-thumb-disabled-bg);
|
||||
}
|
||||
|
||||
input[type=range].slider::-moz-range-track {
|
||||
height: 5px;
|
||||
background: var(--cs-control-default-bg);
|
||||
border-radius: 3px;
|
||||
}
|
||||
input[type=range].slider:disabled::-moz-range-track {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
input[type=range].slider::-moz-range-thumb {
|
||||
border: var(--border-intensive-2px);
|
||||
height: 18px;
|
||||
width: 18px;
|
||||
border-radius: 25px;
|
||||
background: var(--cs-thumb-default-bg);
|
||||
}
|
||||
input[type=range].slider:disabled::-moz-range-thumb {
|
||||
cursor: default;
|
||||
border: var(--border-default-2px);
|
||||
background: var(--cs-thumb-disabled-bg);
|
||||
}
|
||||
76
web/share/css/switches.css
Normal file
76
web/share/css/switches.css
Normal file
@@ -0,0 +1,76 @@
|
||||
div.switch-box {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
position: relative;
|
||||
width: 50px;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
}
|
||||
|
||||
div.switch-box input[type=checkbox].switch-checkbox {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.switch-box label.switch-label {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
border: none;
|
||||
border-radius: 15px;
|
||||
}
|
||||
|
||||
div.switch-box label.switch-label span.switch-inner {
|
||||
display: block;
|
||||
width: 200%;
|
||||
margin-left: -100%;
|
||||
}
|
||||
|
||||
div.switch-box label.switch-label span.switch-inner:before, span.switch-inner:after {
|
||||
display: block;
|
||||
float: left;
|
||||
width: 50%;
|
||||
height: 20px;
|
||||
padding: 0;
|
||||
line-height: 22px;
|
||||
font-size: 10px;
|
||||
font-family: sans-serif !important;
|
||||
font-weight: bold;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
div.switch-box label.switch-label span.switch-inner:before {
|
||||
content: "ON";
|
||||
padding-left: 5px;
|
||||
background-color: var(--cs-control-default-bg);
|
||||
color: var(--cs-control-default-fg);
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.switch-box label.switch-label span.switch-inner:after {
|
||||
content: "OFF";
|
||||
padding-right: 5px;
|
||||
background-color: var(--cs-control-default-bg);
|
||||
color: var(--cs-control-disabled-fg);
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.switch-box label.switch-label span.switch {
|
||||
display: block;
|
||||
width: 15px;
|
||||
margin: 0px;
|
||||
background: var(--cs-thumb-default-bg);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 31px;
|
||||
border: var(--border-intensive-2px);
|
||||
border-radius: 15px;
|
||||
}
|
||||
|
||||
div.switch-box input[type=checkbox].switch-checkbox:checked + label.switch-label span.switch-inner {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
div.switch-box input[type=checkbox].switch-checkbox:checked + label.switch-label span.switch {
|
||||
right: 0px;
|
||||
}
|
||||
63
web/share/css/vars.css
Normal file
63
web/share/css/vars.css
Normal file
@@ -0,0 +1,63 @@
|
||||
:root {
|
||||
--cs-page-default-bg: #36393f;
|
||||
--cs-page-default-fg: #c3c3c3;
|
||||
--cs-page-obscure-fg: #6c7481;
|
||||
|
||||
--cs-control-default-bg: #36393f;
|
||||
--cs-control-default-fg: #c3c3c3;
|
||||
--cs-control-intensive-fg: white;
|
||||
--cs-control-hovered-bg: #17191d;
|
||||
--cs-control-hovered-fg: white;
|
||||
--cs-control-pressed-fg: #6c7481;
|
||||
--cs-control-disabled-fg: #6c7481;
|
||||
|
||||
--cs-menu-default-bg: #202225;
|
||||
--cs-menu-default-fg: #c3c3c3;
|
||||
--cs-menu-hovered-bg: #1a1c1f;
|
||||
--cs-menu-pressed-bg: #171717;
|
||||
|
||||
--cs-window-default-bg: #484b51;
|
||||
--cs-window-default-fg: #c3c3c3;
|
||||
--cs-window-header-default-fg: #aaaaaa;
|
||||
--cs-window-header-grabbed-bg: #436a8a;
|
||||
--cs-window-header-grabbed-fg: white;
|
||||
--cs-window-closer-default-fg: #6c7481;
|
||||
|
||||
--cs-code-default-bg: #17191d;
|
||||
--cs-code-default-fg: #aaaaaa;
|
||||
--cs-code-comment-fg: #6c7481;
|
||||
|
||||
--cs-scroll-default-bg: #6c7481;
|
||||
--cs-thumb-default-bg: #436a8a;
|
||||
--cs-thumb-disabled-bg: #202225;
|
||||
|
||||
--cs-progress-default-bg: #171717;
|
||||
--cs-progress-default-fg: white;
|
||||
--cs-progress-bar-bg: #436a8a;
|
||||
|
||||
--cs-key-default-bg: #3b3e43;
|
||||
--cs-key-default-fg: #c3c3c3;
|
||||
--cs-key-hovered-bg: #202225;
|
||||
--cs-key-hovered-fg: white;
|
||||
--cs-key-pressed-bg: #17191d;
|
||||
--cs-key-pressed-fg: #6c7481;
|
||||
--cs-key-holded-bg: #436a8a;
|
||||
|
||||
--shadow-micro: 1px 2px 4px 0 rgba(0, 0, 0, 0.4);
|
||||
--shadow-small: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
|
||||
--shadow-big: 0 8px 16px 0 rgba(0, 0, 0, 0.4);
|
||||
--shadow-menu-pressed: 0 5px 0 #5b90bb inset;
|
||||
|
||||
--border-default-thin: thin solid #36393f;
|
||||
--border-default-2px: 2px solid #36393f;
|
||||
--border-menu-thin: thin solid black;
|
||||
--border-control-thin: thin solid #17191d;
|
||||
--border-window-thin: thin solid #17191d;
|
||||
--border-key-thin: thin solid #202225;
|
||||
--border-intensive-2px: 2px solid #5b90bb;
|
||||
--border-intensive-thin: thin solid #5b90bb;
|
||||
|
||||
--border-menu-item-content-default-2px: 2px solid black;
|
||||
--border-menu-item-content-active-2px: 2px solid #5b90bb;
|
||||
--border-menu-item-content-top-thin: thin solid #17191d;
|
||||
}
|
||||
74
web/share/css/windows.css
Normal file
74
web/share/css/windows.css
Normal file
@@ -0,0 +1,74 @@
|
||||
div.window {
|
||||
visibility: hidden;
|
||||
outline: none;
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
border: var(--border-window-thin);
|
||||
border-radius: 8px;
|
||||
box-sizing: border-box;
|
||||
box-shadow: var(--shadow-big);
|
||||
white-space: nowrap;
|
||||
color: var(--cs-window-default-fg);
|
||||
background-color: var(--cs-window-default-bg);
|
||||
padding: 30px 9px 9px 9px;
|
||||
}
|
||||
div.window-active {
|
||||
border: var(--border-intensive-2px) !important;
|
||||
}
|
||||
|
||||
div.window div.window-header {
|
||||
overflow: hidden;
|
||||
top: 0;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
height: 20px;
|
||||
font-size: 0.8em;
|
||||
color: var(--cs-window-header-default-fg);
|
||||
border-bottom: var(--border-default-thin);
|
||||
}
|
||||
|
||||
div.window div.window-header div.window-grab {
|
||||
overflow: hidden;
|
||||
top: 0;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 20px;
|
||||
cursor: move;
|
||||
padding: 3px 0 2px 20px;
|
||||
}
|
||||
|
||||
div.window div.window-header-grabbed {
|
||||
color: var(--cs-window-header-grabbed-fg);
|
||||
background-color: var(--cs-window-header-grabbed-bg);
|
||||
border-bottom: var(--border-intensive-thin);
|
||||
}
|
||||
|
||||
div.window div.window-header button.window-button-close {
|
||||
position: absolute;
|
||||
top: -2px;
|
||||
right: -6px;
|
||||
width: 44px;
|
||||
height: 24px;
|
||||
padding-left: 0;
|
||||
color: var(--cs-window-closer-default-fg);
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
|
||||
/* iPad */
|
||||
div.window {
|
||||
padding-top: 45px !important;
|
||||
}
|
||||
div.window div.window-header {
|
||||
height: 35px !important;
|
||||
}
|
||||
div.window div.window-header div.window-grab {
|
||||
height: 35px !important;
|
||||
}
|
||||
div.window div.window-header button.window-button-close {
|
||||
height: 40px !important;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user