added new error 404 and 500 pages
This commit is contained in:
parent
68ec892ee3
commit
5b649005ac
3 changed files with 244 additions and 751 deletions
84
404.html
84
404.html
|
@ -3,56 +3,52 @@
|
|||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>404 - Page not found</title>
|
||||
<link href="/css/404.css" rel="stylesheet">
|
||||
<link href="/css/error.css" rel="stylesheet">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
|
||||
<script src="https://www.mattboldt.com/demos/typed-js/js/typed.custom.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Matomo Image Tracker-->
|
||||
<img src="https://matomo.jonasled.de/matomo.php?idsite=1&rec=1" style="border:0" alt="" />
|
||||
<!-- End Matomo -->
|
||||
<div class="moon"></div>
|
||||
<div class="moon__crater moon__crater1"></div>
|
||||
<div class="moon__crater moon__crater2"></div>
|
||||
<div class="moon__crater moon__crater3"></div>
|
||||
|
||||
<div class="star star1"></div>
|
||||
<div class="star star2"></div>
|
||||
<div class="star star3"></div>
|
||||
<div class="star star4"></div>
|
||||
<div class="star star5"></div>
|
||||
|
||||
<div class="error">
|
||||
<div class="error__title">404</div>
|
||||
<div class="error__subtitle">Hmmm...</div>
|
||||
<div class="error__description">It looks like one of the developers fell asleep</div>
|
||||
<div id="particles-js"></div>
|
||||
<div class="terminal-window">
|
||||
<header>
|
||||
<div class="button green"></div>
|
||||
<div class="button yellow"></div>
|
||||
<div class="button red"></div>
|
||||
</header>
|
||||
<section class="terminal">
|
||||
<div class="history"></div>
|
||||
$ <span class="prompt"></span>
|
||||
<span class="typed-cursor"></span>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="astronaut">
|
||||
<div class="astronaut__backpack"></div>
|
||||
<div class="astronaut__body"></div>
|
||||
<div class="astronaut__body__chest"></div>
|
||||
<div class="astronaut__arm-left1"></div>
|
||||
<div class="astronaut__arm-left2"></div>
|
||||
<div class="astronaut__arm-right1"></div>
|
||||
<div class="astronaut__arm-right2"></div>
|
||||
<div class="astronaut__arm-thumb-left"></div>
|
||||
<div class="astronaut__arm-thumb-right"></div>
|
||||
<div class="astronaut__leg-left"></div>
|
||||
<div class="astronaut__leg-right"></div>
|
||||
<div class="astronaut__foot-left"></div>
|
||||
<div class="astronaut__foot-right"></div>
|
||||
<div class="astronaut__wrist-left"></div>
|
||||
<div class="astronaut__wrist-right"></div>
|
||||
|
||||
<div class="astronaut__cord">
|
||||
<canvas id="cord" height="500px" width="500px"></canvas>
|
||||
</div>
|
||||
|
||||
<div class="astronaut__head">
|
||||
<canvas id="visor" width="60px" height="60px"></canvas>
|
||||
<div class="astronaut__head-visor-flare1"></div>
|
||||
<div class="astronaut__head-visor-flare2"></div>
|
||||
</div>
|
||||
<!-- data -->
|
||||
<div class="terminal-data mimik-run-output">
|
||||
</div>
|
||||
<script src="/js/404.js"></script>
|
||||
<script>
|
||||
var data = [
|
||||
{
|
||||
action: 'type',
|
||||
strings: ["Accessing files.."],
|
||||
output: 'grabbing files..<br><br>',
|
||||
postDelay: 1000
|
||||
},
|
||||
{
|
||||
action: 'type',
|
||||
strings: ["404 File not found"],
|
||||
output: '<span class="gray">It looks like you want to access a file that\'s not available</><br> ',
|
||||
postDelay: 1000
|
||||
},
|
||||
{
|
||||
action: 'type',
|
||||
strings: ["These are not the error codes you're looking for.", 'Please either report this error to an administrator or return back and forget you were here...'],
|
||||
postDelay: 2000
|
||||
}
|
||||
|
||||
];
|
||||
</script>
|
||||
<script src="/js/error.js"></script>
|
||||
</body>
|
||||
</html>
|
796
css/error.css
796
css/error.css
|
@ -1,642 +1,172 @@
|
|||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
#particles-js {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
background: linear-gradient(90deg, rgba(47,54,64,1) 23%, rgba(24,27,32,1) 100%);
|
||||
}
|
||||
|
||||
.moon {
|
||||
background: linear-gradient(90deg, rgba(208,208,208,1) 48%, rgba(145,145,145,1) 100%);
|
||||
position: absolute;
|
||||
top: -100px;
|
||||
left: -300px;
|
||||
width: 900px;
|
||||
height: 900px;
|
||||
content: '';
|
||||
border-radius: 100%;
|
||||
box-shadow: 0 0 30px -4px rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.moon__crater {
|
||||
position: absolute;
|
||||
content: '';
|
||||
border-radius: 100%;
|
||||
background: linear-gradient(90deg, rgba(122,122,122,1) 38%, rgba(195,195,195,1) 100%);
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
.moon__crater1 {
|
||||
top: 250px;
|
||||
left: 500px;
|
||||
width: 60px;
|
||||
height: 180px;
|
||||
}
|
||||
|
||||
.moon__crater2 {
|
||||
top: 650px;
|
||||
left: 340px;
|
||||
width: 40px;
|
||||
height: 80px;
|
||||
transform: rotate(55deg);
|
||||
}
|
||||
|
||||
.moon__crater3 {
|
||||
top: -20px;
|
||||
left: 40px;
|
||||
width: 65px;
|
||||
height: 120px;
|
||||
transform: rotate(250deg);
|
||||
}
|
||||
|
||||
.star {
|
||||
background: grey;
|
||||
position: absolute;
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
content: '';
|
||||
border-radius: 100%;
|
||||
transform: rotate(250deg);
|
||||
opacity: 0.4;
|
||||
animation-name: shimmer;
|
||||
animation-duration: 1.5s;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
@keyframes shimmer {
|
||||
from {opacity: 0;}
|
||||
to {opacity: 0.7;}
|
||||
}
|
||||
|
||||
.star1 {
|
||||
top: 40%;
|
||||
left: 50%;
|
||||
animation-delay: 1s;
|
||||
}
|
||||
|
||||
.star2 {
|
||||
top: 60%;
|
||||
left: 90%;
|
||||
animation-delay: 3s;
|
||||
}
|
||||
|
||||
.star3 {
|
||||
top: 10%;
|
||||
left: 70%;
|
||||
animation-delay: 2s;
|
||||
}
|
||||
|
||||
.star4 {
|
||||
top: 90%;
|
||||
left: 40%;
|
||||
}
|
||||
|
||||
.star5 {
|
||||
top: 20%;
|
||||
left: 30%;
|
||||
animation-delay: 0.5s;
|
||||
}
|
||||
|
||||
.error {
|
||||
position: absolute;
|
||||
left: 100px;
|
||||
top: 400px;
|
||||
transform: translateY(-60%);
|
||||
font-family: 'Righteous', cursive;
|
||||
color: #363e49;
|
||||
}
|
||||
|
||||
.error__title {
|
||||
font-size: 10em;
|
||||
}
|
||||
|
||||
.error__subtitle {
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
.error__description {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.astronaut {
|
||||
position: absolute;
|
||||
width: 185px;
|
||||
height: 300px;
|
||||
left: 70%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%) rotate(20deg) scale(1.2);
|
||||
}
|
||||
|
||||
.astronaut__head {
|
||||
background-color: white;
|
||||
position: absolute;
|
||||
top: 60px;
|
||||
left: 60px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
content: '';
|
||||
border-radius: 2em;
|
||||
}
|
||||
|
||||
.astronaut__head-visor-flare1 {
|
||||
background-color: #7f8fa6;
|
||||
position: absolute;
|
||||
top: 28px;
|
||||
left: 40px;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
content: '';
|
||||
border-radius: 2em;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.astronaut__head-visor-flare2 {
|
||||
background-color: #718093;
|
||||
position: absolute;
|
||||
top: 40px;
|
||||
left: 38px;
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
content: '';
|
||||
border-radius: 2em;
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.astronaut__backpack {
|
||||
background-color: #bfbfbf;
|
||||
position: absolute;
|
||||
top: 90px;
|
||||
left: 47px;
|
||||
width: 86px;
|
||||
height: 90px;
|
||||
content: '';
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.astronaut__body {
|
||||
background-color: #e6e6e6;
|
||||
position: absolute;
|
||||
top: 115px;
|
||||
left: 55px;
|
||||
width: 70px;
|
||||
height: 80px;
|
||||
content: '';
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.astronaut__body__chest {
|
||||
background-color: #d9d9d9;
|
||||
position: absolute;
|
||||
top: 140px;
|
||||
left: 68px;
|
||||
width: 45px;
|
||||
height: 25px;
|
||||
content: '';
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.astronaut__arm-left1 {
|
||||
background-color: #e6e6e6;
|
||||
position: absolute;
|
||||
top: 127px;
|
||||
left: 9px;
|
||||
width: 65px;
|
||||
height: 20px;
|
||||
content: '';
|
||||
border-radius: 8px;
|
||||
transform: rotate(-30deg);
|
||||
}
|
||||
|
||||
.astronaut__arm-left2 {
|
||||
background-color: #e6e6e6;
|
||||
position: absolute;
|
||||
top: 102px;
|
||||
left: 7px;
|
||||
width: 20px;
|
||||
height: 45px;
|
||||
content: '';
|
||||
transform: rotate(-12deg);
|
||||
border-radius: 8em 8em 8px 8px;
|
||||
}
|
||||
|
||||
.astronaut__arm-right1 {
|
||||
background-color: #e6e6e6;
|
||||
position: absolute;
|
||||
top: 113px;
|
||||
left: 100px;
|
||||
width: 65px;
|
||||
height: 20px;
|
||||
content: '';
|
||||
border-radius: 8px;
|
||||
transform: rotate(-10deg);
|
||||
}
|
||||
|
||||
.astronaut__arm-right2 {
|
||||
background-color: #e6e6e6;
|
||||
position: absolute;
|
||||
top: 78px;
|
||||
left: 141px;
|
||||
width: 20px;
|
||||
height: 45px;
|
||||
content: '';
|
||||
transform: rotate(-10deg);
|
||||
border-radius: 8em 8em 8px 8px;
|
||||
}
|
||||
|
||||
.astronaut__arm-thumb-left {
|
||||
background-color: #e6e6e6;
|
||||
position: absolute;
|
||||
top: 110px;
|
||||
left: 21px;
|
||||
width: 10px;
|
||||
height: 6px;
|
||||
content: '';
|
||||
border-radius: 8em;
|
||||
transform: rotate(-35deg);
|
||||
}
|
||||
|
||||
.astronaut__arm-thumb-right {
|
||||
background-color: #e6e6e6;
|
||||
position: absolute;
|
||||
top: 90px;
|
||||
left: 133px;
|
||||
width: 10px;
|
||||
height: 6px;
|
||||
content: '';
|
||||
border-radius: 8em;
|
||||
transform: rotate(20deg);
|
||||
}
|
||||
|
||||
.astronaut__wrist-left {
|
||||
background-color: #e67e22;
|
||||
position: absolute;
|
||||
top: 122px;
|
||||
left: 7px;
|
||||
width: 21px;
|
||||
height: 4px;
|
||||
content: '';
|
||||
border-radius: 8em;
|
||||
transform: rotate(-15deg);
|
||||
}
|
||||
|
||||
.astronaut__wrist-right {
|
||||
background-color: #e67e22;
|
||||
position: absolute;
|
||||
top: 98px;
|
||||
left: 141px;
|
||||
width: 21px;
|
||||
height: 4px;
|
||||
content: '';
|
||||
border-radius: 8em;
|
||||
transform: rotate(-10deg);
|
||||
}
|
||||
|
||||
.astronaut__leg-left {
|
||||
background-color: #e6e6e6;
|
||||
position: absolute;
|
||||
top: 188px;
|
||||
left: 50px;
|
||||
width: 23px;
|
||||
height: 75px;
|
||||
content: '';
|
||||
transform: rotate(10deg);
|
||||
}
|
||||
|
||||
.astronaut__leg-right {
|
||||
background-color: #e6e6e6;
|
||||
position: absolute;
|
||||
top: 188px;
|
||||
left: 108px;
|
||||
width: 23px;
|
||||
height: 75px;
|
||||
content: '';
|
||||
transform: rotate(-10deg);
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
background: #97cfca;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.terminal-window {
|
||||
text-align: left;
|
||||
width: 37.5rem;
|
||||
height: 22.5rem;
|
||||
border-radius: .625rem;
|
||||
margin: auto;
|
||||
position: relative;
|
||||
top: 10.5rem;
|
||||
}
|
||||
|
||||
.terminal-window header {
|
||||
background: #E0E8F0;
|
||||
height: 1.875rem;
|
||||
border-radius: .5rem .5rem 0 0;
|
||||
padding-left: .625rem;
|
||||
}
|
||||
|
||||
.terminal-window header .button {
|
||||
width: .75rem;
|
||||
height: .75rem;
|
||||
margin: .625rem .25rem 0 0;
|
||||
display: inline-block;
|
||||
border-radius: .5rem;
|
||||
}
|
||||
|
||||
.terminal-window header .button.green {
|
||||
background: #3BB662;
|
||||
}
|
||||
|
||||
.terminal-window header .button.yellow {
|
||||
background: #E5C30F;
|
||||
}
|
||||
|
||||
.terminal-window header .button.red {
|
||||
background: #E75448;
|
||||
}
|
||||
|
||||
.terminal-window section.terminal {
|
||||
color: white;
|
||||
font-family: Menlo, Monaco, "Consolas", "Courier New", "Courier";
|
||||
font-size: 11pt;
|
||||
background: #30353A;
|
||||
padding: .625rem;
|
||||
box-sizing: border-box;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
background: linear-gradient(90deg, rgba(47,54,64,1) 23%, rgba(24,27,32,1) 100%);
|
||||
top: 1.875rem;
|
||||
bottom: 0;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.moon {
|
||||
background: linear-gradient(90deg, rgba(208,208,208,1) 48%, rgba(145,145,145,1) 100%);
|
||||
position: absolute;
|
||||
top: -100px;
|
||||
left: -300px;
|
||||
width: 900px;
|
||||
height: 900px;
|
||||
content: '';
|
||||
border-radius: 100%;
|
||||
box-shadow: 0 0 30px -4px rgba(0,0,0,0.5);
|
||||
.terminal-window section.terminal .typed-cursor {
|
||||
opacity: 1;
|
||||
-webkit-animation: blink 0.7s infinite;
|
||||
-moz-animation: blink 0.7s infinite;
|
||||
animation: blink 0.7s infinite;
|
||||
}
|
||||
@keyframes blink{
|
||||
0% { opacity:1; }
|
||||
50% { opacity:0; }
|
||||
100% { opacity:1; }
|
||||
}
|
||||
@-webkit-keyframes blink{
|
||||
0% { opacity:1; }
|
||||
50% { opacity:0; }
|
||||
100% { opacity:1; }
|
||||
}
|
||||
@-moz-keyframes blink{
|
||||
0% { opacity:1; }
|
||||
50% { opacity:0; }
|
||||
100% { opacity:1; }
|
||||
}
|
||||
|
||||
.moon__crater {
|
||||
position: absolute;
|
||||
content: '';
|
||||
border-radius: 100%;
|
||||
background: linear-gradient(90deg, rgba(122,122,122,1) 38%, rgba(195,195,195,1) 100%);
|
||||
opacity: 0.6;
|
||||
.terminal-data { display: none; }
|
||||
.terminal-window .gray { color: gray; }
|
||||
.terminal-window .green { color: green;}
|
||||
|
||||
/*Media for mobile responsive viewing*/
|
||||
@media only screen and (max-width: 600px) {
|
||||
.terminal-window {
|
||||
text-align: left;
|
||||
width: 37.5vmin;
|
||||
height: 22.5vmin;
|
||||
border-radius: .625vmin;
|
||||
margin: auto;
|
||||
position: relative;
|
||||
top: 30.5vmin;
|
||||
}
|
||||
}
|
||||
@media only screen and (max-width: 600px) {
|
||||
.terminal-window header {
|
||||
background: #E0E8F0;
|
||||
height: 1.875vmin;
|
||||
border-radius: .5vmin .5vmin 0 0;
|
||||
padding-left: 1vmin;
|
||||
}
|
||||
}
|
||||
@media only screen and (max-width: 600px) {
|
||||
.terminal-window header .button {
|
||||
width: .75vmin;
|
||||
height: .75vmin;
|
||||
margin: .625vmin .25vmin 0 0;
|
||||
display: inline-block;
|
||||
border-radius: .5vmin;
|
||||
}
|
||||
}
|
||||
@media only screen and (max-width: 600px) {
|
||||
.terminal-window header .button.green {
|
||||
background: #3BB662;
|
||||
}
|
||||
}
|
||||
@media only screen and (max-width: 600px) {
|
||||
.terminal-window header .button.yellow {
|
||||
background: #E5C30F;
|
||||
}
|
||||
}
|
||||
@media only screen and (max-width: 600px) {
|
||||
.terminal-window header .button.red {
|
||||
background: #E75448;
|
||||
}
|
||||
}
|
||||
@media only screen and (max-width: 600px) {
|
||||
.terminal-window section.terminal {
|
||||
color: white;
|
||||
font-family: Menlo, Monaco, "Consolas", "Courier New", "Courier";
|
||||
font-size: .6875vmin;
|
||||
background: #30353A;
|
||||
padding: .625vmin;
|
||||
box-sizing: border-box;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
top: 1.875vmin;
|
||||
bottom: 0;
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
.terminal-window section.terminal .typed-cursor {
|
||||
opacity: 1;
|
||||
-webkit-animation: blink 0.7s infinite;
|
||||
-moz-animation: blink 0.7s infinite;
|
||||
animation: blink 0.7s infinite;
|
||||
}
|
||||
@keyframes blink{
|
||||
0% { opacity:1; }
|
||||
50% { opacity:0; }
|
||||
100% { opacity:1; }
|
||||
}
|
||||
@-webkit-keyframes blink{
|
||||
0% { opacity:1; }
|
||||
50% { opacity:0; }
|
||||
100% { opacity:1; }
|
||||
}
|
||||
@-moz-keyframes blink{
|
||||
0% { opacity:1; }
|
||||
50% { opacity:0; }
|
||||
100% { opacity:1; }
|
||||
}
|
||||
|
||||
.moon__crater1 {
|
||||
top: 250px;
|
||||
left: 500px;
|
||||
width: 60px;
|
||||
height: 180px;
|
||||
}
|
||||
|
||||
.moon__crater2 {
|
||||
top: 650px;
|
||||
left: 340px;
|
||||
width: 40px;
|
||||
height: 80px;
|
||||
transform: rotate(55deg);
|
||||
}
|
||||
|
||||
.moon__crater3 {
|
||||
top: -20px;
|
||||
left: 40px;
|
||||
width: 65px;
|
||||
height: 120px;
|
||||
transform: rotate(250deg);
|
||||
}
|
||||
|
||||
@keyframes shimmer {
|
||||
from {opacity: 0;}
|
||||
to {opacity: 0.7;}
|
||||
}
|
||||
|
||||
.star1 {
|
||||
top: 40%;
|
||||
left: 50%;
|
||||
animation-delay: 1s;
|
||||
}
|
||||
|
||||
.star2 {
|
||||
top: 60%;
|
||||
left: 90%;
|
||||
animation-delay: 3s;
|
||||
}
|
||||
|
||||
.star3 {
|
||||
top: 10%;
|
||||
left: 70%;
|
||||
animation-delay: 2s;
|
||||
}
|
||||
|
||||
.star4 {
|
||||
top: 90%;
|
||||
left: 40%;
|
||||
}
|
||||
|
||||
.star5 {
|
||||
top: 20%;
|
||||
left: 30%;
|
||||
animation-delay: 0.5s;
|
||||
}
|
||||
|
||||
.error {
|
||||
position: absolute;
|
||||
left: 100px;
|
||||
top: 400px;
|
||||
transform: translateY(-60%);
|
||||
font-family: 'Righteous', cursive;
|
||||
color: #363e49;
|
||||
}
|
||||
|
||||
.error__title {
|
||||
font-size: 10em;
|
||||
}
|
||||
|
||||
.error__subtitle {
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
.error__description {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.astronaut {
|
||||
position: absolute;
|
||||
width: 185px;
|
||||
height: 300px;
|
||||
left: 70%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%) rotate(20deg) scale(1.2);
|
||||
}
|
||||
|
||||
.astronaut__head {
|
||||
background-color: white;
|
||||
position: absolute;
|
||||
top: 60px;
|
||||
left: 60px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
content: '';
|
||||
border-radius: 2em;
|
||||
}
|
||||
|
||||
.astronaut__head-visor-flare1 {
|
||||
background-color: #7f8fa6;
|
||||
position: absolute;
|
||||
top: 28px;
|
||||
left: 40px;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
content: '';
|
||||
border-radius: 2em;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.astronaut__head-visor-flare2 {
|
||||
background-color: #718093;
|
||||
position: absolute;
|
||||
top: 40px;
|
||||
left: 38px;
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
content: '';
|
||||
border-radius: 2em;
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.astronaut__backpack {
|
||||
background-color: #bfbfbf;
|
||||
position: absolute;
|
||||
top: 90px;
|
||||
left: 47px;
|
||||
width: 86px;
|
||||
height: 90px;
|
||||
content: '';
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.astronaut__body {
|
||||
background-color: #e6e6e6;
|
||||
position: absolute;
|
||||
top: 115px;
|
||||
left: 55px;
|
||||
width: 70px;
|
||||
height: 80px;
|
||||
content: '';
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.astronaut__body__chest {
|
||||
background-color: #d9d9d9;
|
||||
position: absolute;
|
||||
top: 140px;
|
||||
left: 68px;
|
||||
width: 45px;
|
||||
height: 25px;
|
||||
content: '';
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.astronaut__arm-left1 {
|
||||
background-color: #e6e6e6;
|
||||
position: absolute;
|
||||
top: 127px;
|
||||
left: 9px;
|
||||
width: 65px;
|
||||
height: 20px;
|
||||
content: '';
|
||||
border-radius: 8px;
|
||||
transform: rotate(-30deg);
|
||||
}
|
||||
|
||||
.astronaut__arm-left2 {
|
||||
background-color: #e6e6e6;
|
||||
position: absolute;
|
||||
top: 102px;
|
||||
left: 7px;
|
||||
width: 20px;
|
||||
height: 45px;
|
||||
content: '';
|
||||
transform: rotate(-12deg);
|
||||
border-radius: 8em 8em 8px 8px;
|
||||
}
|
||||
|
||||
.astronaut__arm-right1 {
|
||||
background-color: #e6e6e6;
|
||||
position: absolute;
|
||||
top: 113px;
|
||||
left: 100px;
|
||||
width: 65px;
|
||||
height: 20px;
|
||||
content: '';
|
||||
border-radius: 8px;
|
||||
transform: rotate(-10deg);
|
||||
}
|
||||
|
||||
.astronaut__arm-right2 {
|
||||
background-color: #e6e6e6;
|
||||
position: absolute;
|
||||
top: 78px;
|
||||
left: 141px;
|
||||
width: 20px;
|
||||
height: 45px;
|
||||
content: '';
|
||||
transform: rotate(-10deg);
|
||||
border-radius: 8em 8em 8px 8px;
|
||||
}
|
||||
|
||||
.astronaut__arm-thumb-left {
|
||||
background-color: #e6e6e6;
|
||||
position: absolute;
|
||||
top: 110px;
|
||||
left: 21px;
|
||||
width: 10px;
|
||||
height: 6px;
|
||||
content: '';
|
||||
border-radius: 8em;
|
||||
transform: rotate(-35deg);
|
||||
}
|
||||
|
||||
.astronaut__arm-thumb-right {
|
||||
background-color: #e6e6e6;
|
||||
position: absolute;
|
||||
top: 90px;
|
||||
left: 133px;
|
||||
width: 10px;
|
||||
height: 6px;
|
||||
content: '';
|
||||
border-radius: 8em;
|
||||
transform: rotate(20deg);
|
||||
}
|
||||
|
||||
.astronaut__wrist-left {
|
||||
background-color: #e67e22;
|
||||
position: absolute;
|
||||
top: 122px;
|
||||
left: 7px;
|
||||
width: 21px;
|
||||
height: 4px;
|
||||
content: '';
|
||||
border-radius: 8em;
|
||||
transform: rotate(-15deg);
|
||||
}
|
||||
|
||||
.astronaut__wrist-right {
|
||||
background-color: #e67e22;
|
||||
position: absolute;
|
||||
top: 98px;
|
||||
left: 141px;
|
||||
width: 21px;
|
||||
height: 4px;
|
||||
content: '';
|
||||
border-radius: 8em;
|
||||
transform: rotate(-10deg);
|
||||
}
|
||||
|
||||
.astronaut__leg-left {
|
||||
background-color: #e6e6e6;
|
||||
position: absolute;
|
||||
top: 188px;
|
||||
left: 50px;
|
||||
width: 23px;
|
||||
height: 75px;
|
||||
content: '';
|
||||
transform: rotate(10deg);
|
||||
}
|
||||
|
||||
.astronaut__leg-right {
|
||||
background-color: #e6e6e6;
|
||||
position: absolute;
|
||||
top: 188px;
|
||||
left: 108px;
|
||||
width: 23px;
|
||||
height: 75px;
|
||||
content: '';
|
||||
transform: rotate(-10deg);
|
||||
}
|
||||
|
||||
.astronaut__foot-left {
|
||||
background-color: white;
|
||||
position: absolute;
|
||||
top: 240px;
|
||||
left: 43px;
|
||||
width: 28px;
|
||||
height: 20px;
|
||||
content: '';
|
||||
transform: rotate(10deg);
|
||||
border-radius: 8em 8em 3px 3px;
|
||||
border-bottom: 4px solid #e67e22;
|
||||
}
|
||||
|
||||
.astronaut__foot-right {
|
||||
background-color: white;
|
||||
position: absolute;
|
||||
top: 240px;
|
||||
left: 111px;
|
||||
width: 28px;
|
||||
height: 20px;
|
||||
content: '';
|
||||
transform: rotate(-10deg);
|
||||
border-radius: 8em 8em 3px 3px;
|
||||
border-bottom: 4px solid #e67e22;
|
||||
}
|
||||
.terminal-data { display: none; }
|
||||
.terminal-window .gray { color: gray; }
|
||||
.terminal-window .green { color: green;}
|
115
js/error.js
115
js/error.js
|
@ -1,77 +1,44 @@
|
|||
function drawVisor() {
|
||||
const canvas = document.getElementById('visor');
|
||||
const ctx = canvas.getContext('2d');
|
||||
$(function() {
|
||||
runScripts(data, 0);
|
||||
});
|
||||
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(5, 45);
|
||||
ctx.bezierCurveTo(15, 64, 45, 64, 55, 45);
|
||||
function runScripts(data, pos) {
|
||||
var prompt = $('.prompt'),
|
||||
script = data[pos];
|
||||
if(script.clear === true) {
|
||||
$('.history').html('');
|
||||
}
|
||||
switch(script.action) {
|
||||
case 'type':
|
||||
// cleanup for next execution
|
||||
prompt.removeData();
|
||||
$('.typed-cursor').text('');
|
||||
prompt.typed({
|
||||
strings: script.strings,
|
||||
typeSpeed: 30,
|
||||
callback: function() {
|
||||
var history = $('.history').html();
|
||||
history = history ? [history] : [];
|
||||
history.push('$ ' + prompt.text());
|
||||
if(script.output) {
|
||||
history.push(script.output);
|
||||
prompt.html('');
|
||||
$('.history').html(history.join('<br>'));
|
||||
}
|
||||
// scroll to bottom of screen
|
||||
$('.terminal').scrollTop($('.terminal').height());
|
||||
// Run next script
|
||||
pos++;
|
||||
if(pos < data.length) {
|
||||
setTimeout(function() {
|
||||
runScripts(data, pos);
|
||||
}, script.postDelay || 1000);
|
||||
}
|
||||
}
|
||||
});
|
||||
break;
|
||||
case 'view':
|
||||
|
||||
ctx.lineTo(55, 20);
|
||||
ctx.bezierCurveTo(55, 15, 50, 10, 45, 10);
|
||||
|
||||
ctx.lineTo(15, 10);
|
||||
|
||||
ctx.bezierCurveTo(15, 10, 5, 10, 5, 20);
|
||||
ctx.lineTo(5, 45);
|
||||
|
||||
ctx.fillStyle = '#2f3640';
|
||||
ctx.strokeStyle = '#f5f6fa';
|
||||
ctx.fill();
|
||||
ctx.stroke();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
const cordCanvas = document.getElementById('cord');
|
||||
const ctx = cordCanvas.getContext('2d');
|
||||
|
||||
let y1 = 160;
|
||||
let y2 = 100;
|
||||
let y3 = 100;
|
||||
|
||||
let y1Forward = true;
|
||||
let y2Forward = false;
|
||||
let y3Forward = true;
|
||||
|
||||
function animate() {
|
||||
requestAnimationFrame(animate);
|
||||
ctx.clearRect(0, 0, innerWidth, innerHeight);
|
||||
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(130, 170);
|
||||
ctx.bezierCurveTo(250, y1, 345, y2, 400, y3);
|
||||
|
||||
ctx.strokeStyle = 'white';
|
||||
ctx.lineWidth = 8;
|
||||
ctx.stroke();
|
||||
|
||||
|
||||
if (y1 === 100) {
|
||||
y1Forward = true;
|
||||
}
|
||||
|
||||
if (y1 === 300) {
|
||||
y1Forward = false;
|
||||
}
|
||||
|
||||
if (y2 === 100) {
|
||||
y2Forward = true;
|
||||
}
|
||||
|
||||
if (y2 === 310) {
|
||||
y2Forward = false;
|
||||
}
|
||||
|
||||
if (y3 === 100) {
|
||||
y3Forward = true;
|
||||
}
|
||||
|
||||
if (y3 === 317) {
|
||||
y3Forward = false;
|
||||
}
|
||||
|
||||
y1Forward ? y1 += 1 : y1 -= 1;
|
||||
y2Forward ? y2 += 1 : y2 -= 1;
|
||||
y3Forward ? y3 += 1 : y3 -= 1;
|
||||
}
|
||||
|
||||
drawVisor();
|
||||
animate();
|
Loading…
Reference in a new issue