validation_landing.html (3602B)
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <!-- Required meta tags --> 5 <meta charset="utf-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 7 <link href="/css/bootstrap.min.css" rel="stylesheet"> 8 <link href="/css/style.css" rel="stylesheet"> 9 <link href="/fontawesome/css/fontawesome.css" rel="stylesheet" /> 10 <link href="/fontawesome/css/solid.css" rel="stylesheet" /> 11 <title>{{ call .tr "title" }}</title> 12 </head> 13 <body> 14 {{ template "nav.html" . }} 15 {{if .error}} 16 <div class="container pt-5"> 17 <div id="ebanner" class="alert alert-danger" role="alert"> 18 <h4 class="alert-heading">{{ call .tr "error" }}</h4> 19 <hr> 20 <p class="mb-0">{{.error}}.</p> 21 </div> 22 </div> 23 {{end}} 24 <div class="container"> 25 <div id="sbanner" class="alert alert-success" role="alert" hidden> 26 <h4 class="alert-heading">{{ call .tr "successfulAction" }}</h4> 27 </div> 28 </div> 29 {{if .WalletLink}} 30 <div class="qr"> 31 <h1>Scan this QR code with your Taler Wallet to complete your registration.</h1> 32 <a href="{{.WalletLink}}"> 33 <img class="taldir-qr" src="{{.QRCode}}"/> 34 </a> 35 </div> 36 {{else}} 37 <div class="container pt-5"> 38 <div class="row"> 39 <div class="col-2"> 40 <ul class="timeline"> 41 <li class="done">{{ call .tr "lookup" }}</li> 42 <li class="done">{{ call .tr "registerOrModify" }}</li> 43 <li id="confirmitem" class="inprogress">{{ call .tr "confirm" }}</li> 44 </ul> 45 </div> 46 <div class="col-8"> 47 <div id="regcontainer" class="card"> 48 <div class="card-body"> 49 <h4 class="card-title">{{ call .tr "confirmation" }}</h4> 50 <p class="card-text">{{ .confirmDeletionOrRegistration }}</p> 51 <div class="row mt-2"> 52 <div class="col-lg-6 offset-lg-3 text-center"> 53 <form id="regform"> 54 <input id="haliasInput" name="halias" type="hidden" value="{{.halias}}"> 55 <input id="solutionInput" name="solution" type="hidden" value="{{.solution}}"> 56 <input id="confirmbutton" class="btn btn-outline-primary" type="submit" value="{{ call .tr "confirm" }}"> 57 </form> 58 </div> 59 </div> 60 </div> 61 </div> 62 </div> 63 </div> 64 {{end}} 65 {{ template "footer.html" . }} 66 </body> 67 <script> 68 var form = document.getElementById('regform'); 69 form.onsubmit = function(event){ 70 var xhr = new XMLHttpRequest(); 71 var data = new FormData(form); 72 var halias = data.get("halias"); 73 data.delete("halias"); 74 xhr.open('POST','/' + halias) 75 xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); 76 var json = JSON.stringify(Object.fromEntries(data)); 77 xhr.send(json); 78 79 xhr.onreadystatechange = function() { 80 if (xhr.readyState == XMLHttpRequest.DONE) { 81 if (xhr.status == 200) { 82 var sbanner = document.getElementById('sbanner'); 83 var confirmitem = document.getElementById('confirmitem'); 84 var confirmbutton = document.getElementById('confirmbutton'); 85 sbanner.hidden = false; 86 confirmitem.classList.add("done"); 87 confirmbutton.disabled = true; 88 } else { 89 window.location.href = "?error=Registration failed"; 90 } 91 } 92 } 93 94 //Dont submit the form. 95 return false; 96 } 97 </script> 98 </html>