From b07c2d6792174c9132679671ea7dae77c87349d9 Mon Sep 17 00:00:00 2001 From: Jakob Stendahl Date: Sat, 6 Feb 2021 14:10:00 +0100 Subject: Use parcel, add features --- src/scss/styles.scss | 280 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 280 insertions(+) create mode 100644 src/scss/styles.scss (limited to 'src/scss') diff --git a/src/scss/styles.scss b/src/scss/styles.scss new file mode 100644 index 0000000..b72acef --- /dev/null +++ b/src/scss/styles.scss @@ -0,0 +1,280 @@ +@import '@fortawesome/fontawesome-free/css/all.css'; + +$background-base: #454545; +$foreground-base: #9c9c9c; +$background-z1: #333333; +$foreground-z1: #b5b5b5; +$background-z2: #252525; +$foreground-z2: #b5b5b5; + +$color-danger: #c32222; +$color-info: #0374a8; +$color-success: #008000; +$color-warning: #d99b0b; + +html, body { + margin: 0; + padding: 0; + /* width: 100%; + height: 100%; */ + font-family: monospace; + overflow: hidden; + font-family: 'Kufam', cursive; +} + +body { + // margin: 10px; + background-color: $background-base; + color: $foreground-base; +} + +h1 { + font-size: 10px; + margin: 0; + color: $foreground-base; +} + +.statusline { + position: absolute; + display: flex; + bottom: 0; + left: 0; + height: 40px; + /* padding-left: 5px; */ + width: calc(100%); + font-size: 12px; + margin: 0; + align-items: center; + + background-color: $background-z1; + i { + font-size: 14px; + margin-right: 5px; + } + + &-item { + display: none; + align-items: flex-start; + margin-left: 5px; + margin-right: 5px; + font-size: 13px; + + color: $foreground-z1; + + .connected & { display: flex; } + } + + &-item:first-child { + margin-left: 10px; + margin-left: calc(env(safe-area-inset-left) + 10px); + } + + &-item:last-child { + margin-right: 10px; + margin-right: calc(env(safe-area-inset-right) + 10px); + } +} + +.connection { + display: flex; + color: $color-danger; + + &:after { + display: block; + content: "DISCONNECTED"; + } + + .connected & { color: $color-success; } + .connected &:after { + display: block; + content: "CONNECTED"; + } +} + +.arm { + color: $color-danger; + + &:after { + content: 'DISARMED'; + display: block; + } + + .armed & {color: $color-success; } + .armed &:after { + content: 'ARMED'; + display: block; + } +} + +.ping { + margin-left: auto; + + i { + -webkit-animation: ping-fade-out 2s forwards; /* Safari 4+ */ + -moz-animation: ping-fade-out 2s forwards; /* Fx 2+ */ + -o-animation: ping-fade-out 2s forwards; /* Opera 12+ */ + animation: ping-fade-out 2s forwards; /* IE 10+, Fx 29+ */ + } + + @-webkit-keyframes ping-fade-out { + 0% { opacity: 1; } + 100% { opacity: 0; } + } +} + +.acc-string { + display: none; + position: absolute; + top: 60px; + left: calc(50% - 50px - 10px); + width: 100px; + text-align: center; + background-color: #272727; + padding: 0 10px; + border-radius: 10px; + font-size: 9px; + + .connected & { display: block; } +} + +.button-center { + position: absolute; + display: none; + margin-top: 5px; + border: none; + background-color: $background-z1; + color: $foreground-z1; + padding: 10px; + width: 140px; + height: 40px; + left: calc(50% - 70px); + font-weight: 400; + font-size: 15px; + + .armed & { display: block; } + &-top { top: 10px; } + &-bottom { bottom: 50px; } +} + +#btn_connect { display: block; } +.connected #btn_connect { display: none; } +.connected #btn_disconnect { display: block; } +.connected #btn_arm { display: block; } +.armed #btn_arm { display: none; } + +#btn_connect, #btn_disconnect { + text-shadow: 0 0 5px #c3c3c3, 0 0 10px #636363; +} +#btn_arm, #btn_disarm { + color: red; + text-shadow: 0 0 5px #c53f3f, 0 0 10px #c53f3f; +} +#btn_disarm{ + color: #00ff15; + text-shadow: 0 0 5px #11b91f, 0 0 10px #297b30; +} + +.joystick { + position: absolute; + width: 200px; + height: 200px; + top: calc(50% - 100px - 10px); /* 50% - half height - statusline height */ + /* border: 1px solid pink; */ + + &-left { left: calc(25% - 100px); } + &-right { left: calc(75% - 100px); } +} + + +.landscape-warning { + display: none; + position: absolute; + z-index: 9999999; + width: 100%; + height: 100%; + padding-top: 50%; + background-color: $background-base; + text-align: center; + + &-content { + position: relative; + top: -50px; + } + i { font-size: 5em; } + h1 { + font-size: 1em; + margin: 10px; + } + button { + border: none; + background-color: $background-z1; + color: $foreground-z1; + padding: 10px; + width: 140px; + height: 40px; + } + + .ignore-landscape-warning & { display: none !important; } +} + +@media screen and (orientation:portrait) { + .landscape-warning { + display: block; + } +} + +.notification { + background-color: $background-z2; + color: $foreground-z2; + overflow: hidden; + display: flex; + align-items: baseline; + + &-area { + height: 100%; + width: 100%; + overflow: hidden; + margin-left: 5px; + margin-right: 5px; + + -webkit-animation: fade-in 0.5s linear; /* Safari 4+ */ + -moz-animation: fade-in 0.5s linear; /* Fx 2+ */ + -o-animation: fade-in 0.5s linear; /* Opera 12+ */ + animation: fade-in 0.5s linear; /* IE 10+, Fx 29+ */ + } + + &-content { + margin-left: 5px; + margin-right: 5px; + width: 100%; + overflow: hidden; + } + + i { + margin-left: 5px; + margin-right: 5px; + } + + i.alert { color: $color-danger; } + i.info { color: $color-info; } + i.success { color: $color-success; } + i.warning { color: $color-warning; } + + p { + width: max-content; + -webkit-animation: scroll-text 5s linear; /* Safari 4+ */ + -moz-animation: scroll-text 5s linear; /* Fx 2+ */ + -o-animation: scroll-text 5s linear; /* Opera 12+ */ + animation: scroll-text 5s linear; /* IE 10+, Fx 29+ */ + } + + @-webkit-keyframes scroll-text { + 0% { margin-left: 100%; } + 100% { margin-left: -100%; } + } + + @-webkit-keyframes fade-in { + 0% { opacity: 1; } + 100% { opacity: 0; } + } +} -- cgit v1.2.3