Initial version

This commit is contained in:
Benjamin Renard 2024-04-14 12:56:45 +02:00
commit b88ed0ac41
2 changed files with 234 additions and 0 deletions

90
index.html Normal file
View file

@ -0,0 +1,90 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title id="title">Zionetrix - Authentication</title>
<link rel="stylesheet" href="style.css" />
<link rel="icon" href="logo.svg" sizes="32x32" />
<link rel="icon" href="logo.svg" sizes="192x192" />
<link rel="apple-touch-icon" href="logo.svg" />
<meta name="msapplication-TileImage" content="logo.svg" />
<style>
body {
margin: 0;
padding: 0;
display: grid;
place-content: center;
min-height: 100vh;
text-align: center;
font-family: Public Sans, sans-serif;
font-size: 100%;
color: #888;
line-height: 1.8;
}
#logo {
max-width: min(50vw, 20em);
}
input {
height: 1.1em;
font-family: Public Sans, sans-serif;
border: 1px solid #e88884;
font-size: 0.9em;
text-align: center;
width: min(50vw, 36em);
color: #888;
}
#error {
color: #e88884;
}
</style>
</head>
<body>
<div>
<img id="logo" src="logo.svg"></img>
<div id="confirm" style="display: none">
<p id="copy_paste">Please copy/paste the following code in your terminal:</p>
<input id="code" readonly="readonly" />
<p id="can_close">After copied this code, you could close this page.</p>
</div>
<div id="error" style="display: none">
<strong>Error:</strong> No authentication code found in URL.
</div>
</div>
<script>
const translations = {
fr: {
title: "Zionetrix - Authentification",
copy_paste: "Merci de copier/coller le code suivant dans votre terminal :",
can_close: "Une fois le code copier, vous pouvez fermer cette page.",
error: "<strong>Erreur :</strong> Aucun code d'authentification trouvé dans l'URL."
},
};
if (
navigator.languages
&& !navigator.languages[0].startsWith('en')
&& navigator.languages[0].substr(0, 2) in translations
) {
for (
const [id, text] of Object.entries(
translations[navigator.languages[0].substr(0, 2)]
)
) {
if (id == 'title')
document.title = text;
else
document.getElementById(id).innerHTML = text;
}
}
const urlParams = new URLSearchParams(window.location.search);
if (urlParams.get('code')) {
document.getElementById("code").value = urlParams.get('code');
document.getElementById("confirm").style.display = "block";
}
else {
document.getElementById("error").style.display = "block";
}
</script>
</body>
</html>

144
logo.svg Normal file
View file

@ -0,0 +1,144 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="792"
height="489.6561900573673"
viewBox="0 0 350 216.38846782838203"
class="looka-1j8o68f"
version="1.1"
id="svg54"
sodipodi:docname="zionetrix.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview56"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="0.9605056"
inkscape:cx="630.91771"
inkscape:cy="244.66281"
inkscape:window-width="1920"
inkscape:window-height="1011"
inkscape:window-x="0"
inkscape:window-y="32"
inkscape:window-maximized="1"
inkscape:current-layer="svg54" />
<defs
id="SvgjsDefs1013" />
<g
id="SvgjsG1014"
featurekey="ghXSps-0"
transform="matrix(1.5555799511626318,0,0,1.5555799511626318,97.21991947471642,-21.060996270439148)"
fill="#ffffff"
style="stroke:none;stroke-opacity:1;fill:#e84444;fill-opacity:1">
<g
display="none"
id="g21"
style="stroke:none;stroke-opacity:1;fill:#e84444;fill-opacity:1">
<rect
x="-137.382"
y="-8.38"
display="inline"
fill="#ffffff"
stroke="#ffffff"
stroke-width="0.4634"
stroke-miterlimit="10"
width="1226.941"
height="1582.379"
id="rect19"
style="stroke:none;stroke-opacity:1;fill:#e84444;fill-opacity:1" />
</g>
<g
id="g45"
style="stroke:none;stroke-opacity:1;fill:#e84444;fill-opacity:1">
<g
id="g43"
style="stroke:none;stroke-opacity:1;fill:#e84444;fill-opacity:1">
<path
d="M93.626,33.986c-2.331-4.859-7.324-8-12.718-8c-0.508,0-1.012,0.027-1.512,0.081c-0.671-5.771-4.906-10.803-10.833-12.167 c-1.042-0.24-2.108-0.361-3.169-0.361c-1.32,0-2.633,0.187-3.902,0.555c-5.703,1.654-9.686,7.088-9.686,13.215v0.971v10.629V61.1 v7.968v3.569c0,7.236,5.489,13.293,12.497,13.79c0.328,0.023,0.661,0.035,0.989,0.035c1.051,0,2.104-0.12,3.13-0.356 c5.924-1.337,10.18-6.348,10.876-12.112c0.518,0.058,1.041,0.087,1.568,0.087c5.372,0,10.356-3.122,12.699-7.953 c2.656-5.478,1.39-11.935-2.69-16.073C94.972,45.932,96.264,39.477,93.626,33.986z M90.917,64.845 c-1.929,3.977-5.91,6.295-10.052,6.295c-1.555,0-3.132-0.327-4.633-1.015c1.215,5.934-2.537,11.776-8.471,13.115 c-0.826,0.19-1.661,0.281-2.471,0.281c-0.262,0-0.522-0.009-0.781-0.028c-5.569-0.395-9.764-5.273-9.764-10.856v-3.569V61.1 V38.908V28.279v-0.971c0-4.738,3.014-9.071,7.564-10.39c0.989-0.287,2.025-0.438,3.083-0.438c0.828,0,1.668,0.093,2.51,0.286 c5.925,1.363,9.652,7.223,8.412,13.156c1.489-0.674,3.053-0.995,4.593-0.995c4.159,0,8.15,2.335,10.068,6.333 c2.636,5.487,0.38,12.057-5.033,14.784C91.347,52.796,93.57,59.374,90.917,64.845z"
id="path23"
style="stroke:none;stroke-opacity:1;fill:#e84444;fill-opacity:1" />
<g
id="g41"
style="stroke:none;stroke-opacity:1;fill:#e84444;fill-opacity:1">
<path
d="M17.646,48.444h8.611v9.173h9.966v-1.961h-0.865h-7.14v-8.086v-1.086h-0.959h-7.652v-5.537h2.05v-0.808V34.69h-6.257 v6.257h2.246V48.444z M17.36,38.986v-2.335h2.335v2.335H17.36z"
id="path25"
style="stroke:none;stroke-opacity:1;fill:#e84444;fill-opacity:1" />
<path
d="M19.606,66.513v-6.847h2.05v-0.764v-5.493h-6.257v6.257h2.246v8.807h9.778v-0.98v0v-0.98h-0.658H19.606z M17.36,57.705 V55.37h2.335v2.335H17.36z"
id="path27"
style="stroke:none;stroke-opacity:1;fill:#e84444;fill-opacity:1" />
<path
d="M39.921,52.143h-0.98v2.505v19.707h-2.822v-2.148h-4.052h-2.205v6.257h6.257v-2.148h4.783V52.143H39.921L39.921,52.143z M34.158,76.503h-2.335v-2.335h2.335V76.503z"
id="path29"
style="stroke:none;stroke-opacity:1;fill:#e84444;fill-opacity:1" />
<path
d="M34.714,30.031v-2.148h3.468v9.126v1.267h1.961V25.923h-5.429v-2.148h-6.256v6.256h4.326H34.714z M32.754,28.071h-2.335 v-2.335h2.335V28.071z"
id="path31"
style="stroke:none;stroke-opacity:1;fill:#e84444;fill-opacity:1" />
<path
d="M68.447,59.847h-0.98v1.657v12.712h-3.733v-2.148h-2.516h-3.741v6.257h6.257v-2.148h5.693v-16.33H68.447L68.447,59.847z M61.774,76.364h-2.335v-2.335h2.335V76.364z"
id="path33"
style="stroke:none;stroke-opacity:1;fill:#e84444;fill-opacity:1" />
<path
d="M82.615,43.399v-7.812l-16.581,0.091h-5.175v-8.914h3.995v2.148h2.987h3.269v-6.257h-6.257v2.148h-5.956v30.792h-1.42 v6.257h6.257v-6.257h-2.876v-0.542V37.638h11.289v10.583h-1.779v0.322v5.196h5.518v-5.518h-1.778V37.548h1.297h5.25v4.702v1.149 h-1.778v5.517h5.518v-5.517H82.615z M66.814,24.616h2.335v2.335h-2.335V24.616z M61.774,57.556v2.335h-2.335v-2.335H61.774z M73.925,51.779h-1.596v-1.596h1.596V51.779z M82.432,46.955h-1.596v-1.596h1.596V46.955z"
id="path35"
style="stroke:none;stroke-opacity:1;fill:#e84444;fill-opacity:1" />
<path
d="M78.876,59.037v0.82h1.778v5.537h-6.759h-0.768v0.98v0v0.98h9.487v-7.497h1.778V54.34h-5.517V59.037z M80.836,56.3h1.596 v1.596h-1.596V56.3z"
id="path37"
style="stroke:none;stroke-opacity:1;fill:#e84444;fill-opacity:1" />
<path
d="M38.51,14.09c-1.27-0.37-2.58-0.55-3.9-0.55c-1.06,0-2.13,0.12-3.17,0.36c-5.93,1.36-10.16,6.4-10.84,12.17 c-0.49-0.06-1-0.08-1.51-0.08c-5.39,0-10.38,3.14-12.72,8c-2.63,5.49-1.34,11.94,2.76,16.06c-4.08,4.14-5.35,10.6-2.69,16.08 c2.34,4.83,7.32,7.95,12.7,7.95c0.52,0,1.05-0.03,1.56-0.09c0.7,5.77,4.96,10.78,10.89,12.12c1.02,0.23,2.07,0.35,3.12,0.35 c0.33,0,0.66-0.01,0.99-0.03c7.01-0.5,12.5-6.56,12.5-13.79V27.31C48.2,21.18,44.21,15.75,38.51,14.09z M45.25,72.64 c0,5.58-4.19,10.46-9.76,10.85c-0.26,0.02-0.52,0.03-0.78,0.03c-0.81,0-1.64-0.09-2.47-0.28c-5.93-1.34-9.69-7.18-8.47-13.11 c-1.5,0.68-3.08,1.01-4.63,1.01c-4.15,0-8.13-2.32-10.06-6.3c-2.65-5.47-0.43-12.04,4.98-14.8c-5.42-2.72-7.67-9.29-5.03-14.78 c1.91-4,5.9-6.33,10.06-6.33c1.54,0,3.11,0.32,4.6,0.99c-1.24-5.93,2.48-11.79,8.41-13.15c0.84-0.2,1.68-0.29,2.51-0.29 c1.06,0,2.09,0.15,3.08,0.44c4.55,1.32,7.56,5.65,7.56,10.39v17.33h-7.5v-2.15h-6.26v6.26h6.26V46.6h7.5V72.64z M35.79,44.45 v2.34h-2.33v-2.34H35.79z"
id="path39"
style="stroke:none;stroke-opacity:1;fill:#e84444;fill-opacity:1" />
</g>
</g>
</g>
</g>
<g
id="SvgjsG1015"
featurekey="anH1Ye-0"
transform="matrix(4.1696449,0,0,4.1696449,-1.9180368,111.80115)"
fill="#ffffff"
style="fill:#e84444;fill-opacity:1;stroke:none">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.6966px;line-height:125%;font-family:MathJax_SansSerif;-inkscape-font-specification:'MathJax_SansSerif Bold';letter-spacing:0px;word-spacing:0px;fill:#e84444;fill-opacity:1;stroke:none;stroke-width:0.105985px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="0.12814674"
y="16.386152"
id="text2713"><tspan
sodipodi:role="line"
id="tspan2711"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.6966px;font-family:MathJax_SansSerif;-inkscape-font-specification:'MathJax_SansSerif Bold';fill:#e84444;fill-opacity:1;stroke:none;stroke-width:0.105985px"
x="0.12814674"
y="16.386152">ZIONETRIX</tspan></text>
</g>
<g
id="SvgjsG1015-5"
featurekey="anH1Ye-0"
transform="matrix(4.1696449,0,0,4.1696449,-26.760423,209.56749)"
fill="#ffffff"
style="fill:#e84444;fill-opacity:1;stroke:none">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.65253px;line-height:125%;font-family:MathJax_SansSerif;-inkscape-font-specification:'MathJax_SansSerif Bold';letter-spacing:0px;word-spacing:0px;fill:#e84444;fill-opacity:1;stroke:none;stroke-width:0.105985px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="19.940874"
y="-0.093921892"
id="text2713-2"><tspan
sodipodi:role="line"
id="tspan2711-5"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.65253px;font-family:MathJax_SansSerif;-inkscape-font-specification:'MathJax_SansSerif Bold';fill:#e84444;fill-opacity:1;stroke:none;stroke-width:0.105985px"
x="19.940874"
y="-0.093921892">FREE TECHNOLOGY</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.9 KiB