Added basic control panel
This commit is contained in:
183
frontend/views/control/scss/advanced.scss
Normal file
183
frontend/views/control/scss/advanced.scss
Normal file
@@ -0,0 +1,183 @@
|
||||
.ntsh-outofservicemode {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
gap: 20px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.ntsh-timer {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
gap: 10px;
|
||||
margin-top: 30px;
|
||||
|
||||
.ntsh-timer-row {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
gap: 20px;
|
||||
|
||||
h4 {
|
||||
width: 85px;
|
||||
}
|
||||
|
||||
input[type="time"] {
|
||||
position: relative;
|
||||
padding: 10px;
|
||||
border: 2px solid #000;
|
||||
font-weight: 500;
|
||||
transition-duration: 0.2s;
|
||||
cursor: pointer;
|
||||
font-size: 20px;
|
||||
|
||||
&::-webkit-calendar-picker-indicator {
|
||||
background: transparent;
|
||||
bottom: 0;
|
||||
color: transparent;
|
||||
cursor: pointer;
|
||||
height: auto;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.ntsh-autolighting {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
gap: 20px;
|
||||
margin: 30px 0px;
|
||||
}
|
||||
|
||||
|
||||
.ntsh_lightingsettings-container {
|
||||
width: 100%;
|
||||
|
||||
&.disabled {
|
||||
opacity: .3;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
h3 {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.ntsh_lightingsettings {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
gap: 5px;
|
||||
|
||||
.ntsh_lightingsettings-row {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
gap: 20px;
|
||||
|
||||
h4 {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
input {
|
||||
position: relative;
|
||||
padding: 10px;
|
||||
border: 2px solid #000;
|
||||
font-weight: 500;
|
||||
transition-duration: 0.2s;
|
||||
cursor: pointer;
|
||||
font-size: 20px;
|
||||
|
||||
&::-webkit-calendar-picker-indicator {
|
||||
background: transparent;
|
||||
bottom: 0;
|
||||
color: transparent;
|
||||
cursor: pointer;
|
||||
height: auto;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ntsh_soundsettings {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
gap: 5px;
|
||||
|
||||
&.disabled {
|
||||
opacity: .3;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.ntsh_soundsettings-row {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
gap: 20px;
|
||||
|
||||
h4 {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
input {
|
||||
padding: 10px;
|
||||
border: 2px solid #000;
|
||||
font-weight: 500;
|
||||
transition-duration: 0.2s;
|
||||
cursor: pointer;
|
||||
font-size: 20px;
|
||||
|
||||
&::-webkit-calendar-picker-indicator {
|
||||
background: transparent;
|
||||
bottom: 0;
|
||||
color: transparent;
|
||||
cursor: pointer;
|
||||
height: auto;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ntsh_soundsettings-resetcontainer {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
margin-bottom: 30px;
|
||||
|
||||
.ntsh_soundsettings-reset {
|
||||
padding: 10px 20px;
|
||||
border: 2px solid #000;
|
||||
font-weight: 500;
|
||||
transition-duration: .2s;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
background: #d7ccc1;
|
||||
}
|
||||
}
|
||||
}
|
||||
70
frontend/views/control/scss/checklist.scss
Normal file
70
frontend/views/control/scss/checklist.scss
Normal file
@@ -0,0 +1,70 @@
|
||||
.ntsh-checklist {
|
||||
width: 100%;
|
||||
margin: 30px 0px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
gap: 10px;
|
||||
|
||||
|
||||
|
||||
.ntsh-checklist-row {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
|
||||
.ntsh-checklist-row-status {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin: 0px 10px;
|
||||
border-radius: 100%;
|
||||
background: #00000024;
|
||||
flex-shrink: 0;
|
||||
|
||||
&.GREEN {
|
||||
background: #1db100;
|
||||
}
|
||||
|
||||
&.RED {
|
||||
background: #b10000;
|
||||
}
|
||||
|
||||
&.YELLOW {
|
||||
background: #b1a100;
|
||||
}
|
||||
|
||||
&.GRAY {
|
||||
background: #d5c7ba;
|
||||
}
|
||||
}
|
||||
|
||||
.ntsh-checklist-row-text {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.ntsh-checklist-row-buttons {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 3px;
|
||||
|
||||
.ntsh-checklist-row-button {
|
||||
align-self: stretch;
|
||||
display: none;
|
||||
padding: 5px 10px;
|
||||
border: 2px solid #000;
|
||||
font-weight: 500;
|
||||
transition-duration: 0.2s;
|
||||
cursor: pointer;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
|
||||
&:hover {
|
||||
background: #d7ccc1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
60
frontend/views/control/scss/home.scss
Normal file
60
frontend/views/control/scss/home.scss
Normal file
@@ -0,0 +1,60 @@
|
||||
.ntsh-fullreboot {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
|
||||
.ntsh-fullreboot-button {
|
||||
padding: 20px;
|
||||
border: 2px solid #000;
|
||||
font-weight: 500;
|
||||
transition-duration: 0.2s;
|
||||
cursor: pointer;
|
||||
background: #ff644e;
|
||||
font-size: 25px;
|
||||
font-weight: 800;
|
||||
letter-spacing: -1px;
|
||||
|
||||
&:hover {
|
||||
background: #be4939;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.ntsh-support {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 20px;
|
||||
margin-top: 30px;
|
||||
|
||||
img {
|
||||
height: 50px;
|
||||
cursor: pointer;
|
||||
transition-duration: .2s;
|
||||
|
||||
&:hover {
|
||||
filter: brightness(.8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ntsh-calibration {
|
||||
width: 100%;
|
||||
margin: 30px 0px;
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.ntsh_callanchor {
|
||||
width: 100%;
|
||||
display: block;
|
||||
background: #454545;
|
||||
text-align: center;
|
||||
padding: 10px 00px;
|
||||
font-size: 40px;
|
||||
color: #fff;
|
||||
}
|
||||
75
frontend/views/control/scss/index.scss
Normal file
75
frontend/views/control/scss/index.scss
Normal file
@@ -0,0 +1,75 @@
|
||||
@use '../node_modules/morphux/style.css';
|
||||
@use './topbar.scss';
|
||||
@use './checklist.scss';
|
||||
@use './text.scss';
|
||||
@use './switch.scss';
|
||||
@use './home.scss';
|
||||
@use './advanced.scss';
|
||||
|
||||
@font-face {
|
||||
font-family: Roboto;
|
||||
src: url(/font/Roboto-VariableFont_wdth,wght.ttf) format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: ScothBrace;
|
||||
src: url(/font/ScothBrace.ttf) format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: RidleyGrotesk;
|
||||
src: url(/font/RidleyGrotesk-Bold.otf) format('opentype');
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: RidleyGrotesk;
|
||||
src: url(/font/RidleyGrotesk-Regular.otf) format('opentype');
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
position: absolute;
|
||||
inset: 0px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
color: #000;
|
||||
font-family: RidleyGrotesk, sans-serif;
|
||||
background: #E1EAF6;
|
||||
}
|
||||
|
||||
.ntsh {
|
||||
position: absolute;
|
||||
inset: 0px;
|
||||
overflow-y: scroll;
|
||||
|
||||
.ntsh-wrapper {
|
||||
width: 100%;
|
||||
min-height: 100%;
|
||||
background: linear-gradient(0deg, #E1EAF6, #F9E7D6);
|
||||
|
||||
.ntsh-inlay {
|
||||
width: min(800px, calc(100% - 40px));
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ntsh_tabs {
|
||||
width: 100%;
|
||||
|
||||
.ntsh_tab {
|
||||
width: 100%;
|
||||
display: none;
|
||||
|
||||
&.visible {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ntsh-separator {
|
||||
width: 100%;
|
||||
border-bottom: 10px dotted #000;
|
||||
margin: 30px 0px;
|
||||
}
|
||||
61
frontend/views/control/scss/switch.scss
Normal file
61
frontend/views/control/scss/switch.scss
Normal file
@@ -0,0 +1,61 @@
|
||||
.switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 60px;
|
||||
height: 34px;
|
||||
}
|
||||
|
||||
/* Hide default HTML checkbox */
|
||||
.switch input {
|
||||
opacity: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
/* The slider */
|
||||
.slider {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: #ccc;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
|
||||
.slider:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 26px;
|
||||
width: 26px;
|
||||
left: 4px;
|
||||
bottom: 4px;
|
||||
background-color: white;
|
||||
-webkit-transition: .4s;
|
||||
transition: .4s;
|
||||
}
|
||||
|
||||
input:checked+.slider {
|
||||
background-color: #2bc038;
|
||||
}
|
||||
|
||||
input:focus+.slider {
|
||||
box-shadow: 0 0 1px #2bc038;
|
||||
}
|
||||
|
||||
input:checked+.slider:before {
|
||||
-webkit-transform: translateX(26px);
|
||||
-ms-transform: translateX(26px);
|
||||
transform: translateX(26px);
|
||||
}
|
||||
|
||||
/* Rounded sliders */
|
||||
.slider.round {
|
||||
border-radius: 34px;
|
||||
}
|
||||
|
||||
.slider.round:before {
|
||||
border-radius: 50%;
|
||||
}
|
||||
27
frontend/views/control/scss/text.scss
Normal file
27
frontend/views/control/scss/text.scss
Normal file
@@ -0,0 +1,27 @@
|
||||
h1 {
|
||||
font-size: 45px;
|
||||
margin: 0px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
|
||||
h2 {
|
||||
font-size: 24px;
|
||||
margin: 0px 0px 5px 0px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 22px;
|
||||
margin: 0px;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 14px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 14px;
|
||||
margin: 0px;
|
||||
}
|
||||
30
frontend/views/control/scss/topbar.scss
Normal file
30
frontend/views/control/scss/topbar.scss
Normal file
@@ -0,0 +1,30 @@
|
||||
.ntsh-topbar {
|
||||
.ntsh_menubar {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 30px;
|
||||
|
||||
.ntsh_menubar-item {
|
||||
padding: 10px 20px;
|
||||
border: 2px solid #000;
|
||||
font-weight: 500;
|
||||
transition-duration: .2s;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
background: #d7ccc1;
|
||||
}
|
||||
|
||||
&.selected {
|
||||
pointer-events: none;
|
||||
opacity: .3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user