Progress bar is in place.
Este cometimento está contido em:
ascendente
43f0fe9faa
cometimento
fe530836c7
Ficheiro binário não mostrado.
Ficheiro binário não mostrado.
Antes Largura: | Altura: | Tamanho: 6.1 KiB Depois Largura: | Altura: | Tamanho: 6.1 KiB |
|
@ -2,17 +2,81 @@
|
|||
<head>
|
||||
<title>Greenlock™</title>
|
||||
<meta property="og:image" content="https://greenlock.ppl.family/img/greenlock-mark-400x400.png" />
|
||||
<link href="style/main.css" rel="stylesheet">
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-style: normal;
|
||||
font-display: block;
|
||||
font-weight: 400;
|
||||
src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url(./fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7l.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-display: block;
|
||||
src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url(./fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdu.woff2) format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||
}
|
||||
</style>
|
||||
|
||||
<link href="styles/main.css" rel="stylesheet">
|
||||
|
||||
</head>
|
||||
<body hidden>
|
||||
<!-- let's define our SVG that we will reuse -->
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="0" height="0" viewBox="0 0 24 24">
|
||||
<defs>
|
||||
<g id="svg-check">
|
||||
<path fill="none" d="M0 0h24v24H0z"/>
|
||||
<path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/>
|
||||
</g>
|
||||
</defs>
|
||||
</svg>
|
||||
<div class="column-container wide">
|
||||
<div class="column-row">
|
||||
<img src="../img/greenlock-820x150.png">
|
||||
<div id="js-progress-bar" class="progress-bar">
|
||||
<div class="progress-bar-step">
|
||||
<div class="circle">
|
||||
<svg display="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<use xlink:href="#svg-check"></use>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="progress-step-label"><div>Details</div></div>
|
||||
</div>
|
||||
<div class="progress-bar-step">
|
||||
<div class="circle">
|
||||
<svg display="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<use xlink:href="#svg-check"></use>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="progress-step-label"><div>Verify domain</div></div>
|
||||
</div>
|
||||
<div class="progress-bar-step">
|
||||
<div class="circle">
|
||||
<svg display="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<use xlink:href="#svg-check"></use>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="progress-step-label"><div>Install certificates</div></div>
|
||||
</div>
|
||||
<!-- hide until the steps are all updated
|
||||
<div class="progress-bar-step">
|
||||
<div class="circle">
|
||||
<svg display="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<use xlink:href="#svg-check"></use>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="progress-step-label"><div>Done</div></div>
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
<div class="greenlock-logo-badge"><img src="./img/greenlock-mark-400x400.png"></div>
|
||||
<div class="greenlock-name">Greenlock</div>
|
||||
</div>
|
||||
<div class="column-row">
|
||||
<h1>Get the green lock for your website</h1>
|
||||
|
||||
<!-- Step 1 Choose Domain(s) -->
|
||||
<form class="js-acme-form js-acme-form-domains">
|
||||
<h1><label>What's your domain?</label></h1>
|
||||
<h4>Certificates are valid for 90 days. Renewal is free :)</h4>
|
||||
|
@ -159,18 +223,18 @@
|
|||
<!-- Step 5 Get Certs -->
|
||||
<form class="js-acme-form js-acme-form-download">
|
||||
<div>
|
||||
<h2><label>privkey.pem</label></h2>
|
||||
<textarea cols="80" rows="10" class="js-privkey">-</textarea>
|
||||
</div>
|
||||
<h2><label>privkey.pem</label></h2>
|
||||
<textarea cols="80" rows="10" class="js-privkey">-</textarea>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h2><label>fullchain.pem</label></h2>
|
||||
<textarea cols="80" rows="60" class="js-fullchain">-</textarea>
|
||||
</div>
|
||||
<div>
|
||||
<h2><label>fullchain.pem</label></h2>
|
||||
<textarea cols="80" rows="60" class="js-fullchain">-</textarea>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3>node.js https server example</h3>
|
||||
<pre><code>'use strict';
|
||||
<div>
|
||||
<h3>node.js https server example</h3>
|
||||
<pre><code>'use strict';
|
||||
|
||||
var https = require('https');
|
||||
var server = https.createServer({
|
||||
|
@ -181,7 +245,7 @@
|
|||
}).listen(443, function () {
|
||||
console.log('Listening on', this.address());
|
||||
})
|
||||
</code></pre>
|
||||
</code></pre>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
|
|
|
@ -29,9 +29,26 @@
|
|||
});
|
||||
}
|
||||
|
||||
function updateProgress(currentStep) {
|
||||
var progressSteps = $qs("#js-progress-bar").children;
|
||||
for(var j = 0; j < progressSteps.length; j++) {
|
||||
if(j < currentStep) {
|
||||
progressSteps[j].classList.add("js-progress-step-complete");
|
||||
progressSteps[j].classList.remove("js-progress-step-started");
|
||||
} else if(j === currentStep) {
|
||||
progressSteps[j].classList.remove("js-progress-step-complete");
|
||||
progressSteps[j].classList.add("js-progress-step-started");
|
||||
} else {
|
||||
progressSteps[j].classList.remove("js-progress-step-complete");
|
||||
progressSteps[j].classList.remove("js-progress-step-started");
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function submitForm(ev) {
|
||||
var j = i;
|
||||
i += 1;
|
||||
|
||||
steps[j].submit(ev);
|
||||
}
|
||||
$qsa('.js-acme-form').forEach(function ($el) {
|
||||
|
@ -83,6 +100,7 @@
|
|||
}
|
||||
|
||||
steps[1] = function () {
|
||||
updateProgress(0);
|
||||
hideForms();
|
||||
$qs('.js-acme-form-domains').hidden = false;
|
||||
};
|
||||
|
@ -108,13 +126,13 @@
|
|||
};
|
||||
|
||||
steps[2] = function () {
|
||||
updateProgress(0);
|
||||
hideForms();
|
||||
$qs('.js-acme-form-account').hidden = false;
|
||||
};
|
||||
steps[2].submit = function () {
|
||||
var email = $qs('.js-acme-account-email').value.toLowerCase().trim();
|
||||
|
||||
|
||||
info.contact = [ 'mailto:' + email ];
|
||||
info.agree = $qs('.js-acme-account-tos').checked;
|
||||
info.greenlockAgree = $qs('.js-gl-tos').checked;
|
||||
|
@ -290,6 +308,7 @@
|
|||
};
|
||||
|
||||
steps[3] = function () {
|
||||
updateProgress(1);
|
||||
hideForms();
|
||||
$qs('.js-acme-form-challenges').hidden = false;
|
||||
};
|
||||
|
@ -374,6 +393,7 @@
|
|||
|
||||
// spinner
|
||||
steps[4] = function () {
|
||||
updateProgress(1);
|
||||
hideForms();
|
||||
$qs('.js-acme-form-poll').hidden = false;
|
||||
}
|
||||
|
@ -505,6 +525,7 @@
|
|||
};
|
||||
|
||||
steps[5] = function () {
|
||||
updateProgress(2)
|
||||
hideForms();
|
||||
$qs('.js-acme-form-download').hidden = false;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,90 @@
|
|||
.column-row {
|
||||
width: 22.222222em;
|
||||
}
|
||||
|
||||
.column-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.progress-bar {
|
||||
height: 0;
|
||||
border: solid 1px #5bc17f;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
width: 22em;
|
||||
margin: 1.388888889em auto;
|
||||
}
|
||||
|
||||
.greenlock-logo-badge > img {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.greenlock-logo-badge {
|
||||
display: inline-block;
|
||||
border: solid 1px #d9d9d9;
|
||||
border-radius: 500px;
|
||||
width: 5.333333333em;
|
||||
height: 5.333333333em;
|
||||
margin-top: 4.277777778em;
|
||||
}
|
||||
|
||||
.column-row {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.progress-bar-step {position: relative;margin: -0.722222222em -0.166666667em;display: inline-block;background-color: white;/* border-radius: 100%; */padding: 0 0.111111em;}
|
||||
|
||||
.progress-bar-step > .circle {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
border: solid 0.111111111em #5bc17f;
|
||||
width: 0.888888889em;
|
||||
height: 0.888888889em;
|
||||
border-radius: 100%;
|
||||
background: white;
|
||||
}
|
||||
|
||||
.progress-step-label {
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
=: block
|
||||
font-size:;
|
||||
top: 139%;
|
||||
font-size: 0.722222222em;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.progress-step-label > div {
|
||||
position: relative;
|
||||
right: 50%;
|
||||
}
|
||||
|
||||
body {
|
||||
font-size: 18px;
|
||||
font-family: Source Sans Pro, sans-serif;
|
||||
margin: 0;
|
||||
line-height: 1.33;
|
||||
}
|
||||
|
||||
.greenlock-name {
|
||||
color: #808080;
|
||||
}
|
||||
|
||||
.js-progress-step-complete > .circle, .js-progress-step-started > .circle {
|
||||
background-color: #5bc17f;
|
||||
}
|
||||
|
||||
.progress-bar-step.js-progress-step-complete svg {
|
||||
fill: white;
|
||||
/* stroke: none; */
|
||||
display: initial;
|
||||
}
|
||||
|
||||
svg {
|
||||
}
|
||||
|
||||
.js-progress-step-complete > .circle {}
|
Carregando…
Criar uma nova questão referindo esta