taldir

Directory service to resolve wallet mailboxes by messenger addresses
Log | Files | Refs | Submodules | README | LICENSE

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>