taldir

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

validation_landing.html (3661B)


      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">An error occurred!</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">Registration successful!</h4>
     27         <hr>
     28         You may now <a href="/">go back to the front page</a>.
     29       </div>
     30     </div>
     31     {{if .WalletLink}}
     32     <div class="qr">
     33       <h1>Scan this QR code with your Taler Wallet to complete your registration.</h1>
     34       <a href="{{.WalletLink}}">
     35         <img class="taldir-qr" src="{{.QRCode}}"/>
     36       </a>
     37     </div>
     38     {{else}}
     39     <div class="container pt-5">
     40       <div class="row">
     41         <div class="col-2">
     42           <ul class="timeline">
     43             <li class="done">{{ call .tr "lookup" }}</li>
     44             <li class="done">{{ call .tr "registerOrModify" }}</li>
     45             <li id="confirmitem" class="inprogress">{{ call .tr "confirm" }}</li>
     46           </ul>
     47         </div>
     48         <div class="col-8">
     49           <div id="regcontainer" class="card">
     50             <div class="card-body">
     51               <h4 class="card-title">{{ call .tr "confirmation" }}</h4>
     52               <p class="card-text">{{ .confirmDeletionOrRegistration }}</p>
     53               <div class="row mt-2">
     54                 <div class="col-lg-6 offset-lg-3 text-center">
     55                   <form id="regform">
     56                     <input id="haddrInput" name="haddr" type="hidden" value="{{.haddress}}">
     57                     <input id="solutionInput" name="solution" type="hidden" value="{{.solution}}">
     58                     <input id="confirmbutton" class="btn btn-outline-primary" type="submit" value="{{ call .tr "confirm" }}">
     59                   </form>
     60                 </div>
     61               </div>
     62             </div>
     63           </div>
     64         </div>
     65       </div>
     66       {{end}}
     67       {{ template "footer.html" . }}
     68   </body>
     69   <script>
     70     var form = document.getElementById('regform');
     71     form.onsubmit = function(event){
     72       var xhr = new XMLHttpRequest();
     73       var data = new FormData(form);
     74       var haddr = data.get("haddr");
     75       data.delete("haddr");
     76       xhr.open('POST','/' + haddr)
     77       xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
     78       var json = JSON.stringify(Object.fromEntries(data));
     79       xhr.send(json);
     80 
     81       xhr.onreadystatechange = function() {
     82         if (xhr.readyState == XMLHttpRequest.DONE) {
     83           if (xhr.status == 204) {
     84             var sbanner = document.getElementById('sbanner');
     85             var confirmitem = document.getElementById('confirmitem');
     86             var confirmbutton = document.getElementById('confirmbutton');
     87             sbanner.hidden = false;
     88             confirmitem.classList.add("done");
     89             confirmbutton.disabled = true;
     90           } else {
     91             window.location.href = "?error=Registration failed";
     92           }
     93         }
     94       }
     95 
     96       //Dont submit the form.
     97       return false;
     98     }
     99   </script>
    100 </html>