taldir

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

lookup_result.html (5262B)


      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     <div class="container">
     16       <div  id="ebanner" class="container" hidden>
     17         <div class="alert alert-danger" role="alert">
     18           <h4 class="alert-heading">{{ call .tr "error" }}</h4>
     19           <hr>
     20           <p class="mb-0" id="ebanner-text">{{.error}}.</p>
     21         </div>
     22       </div>
     23       <div id="sbanner" class="container" hidden>
     24         <div class="alert alert-success" role="alert">
     25           <h4 class="alert-heading">{{ call .tr "validationInitiated" }}</h4>
     26           <hr>
     27           {{ call .tr "pleaseCompleteValidation" }}
     28         </div>
     29       </div>
     30       <div class="container pt-5">
     31        <div class="row">
     32         <div class="col-2">
     33           <ul class="timeline">
     34             <li class="done">{{ call .tr "lookup" }}</li>
     35             <li class="inprogress">{{ call .tr "registerOrModify" }}</li>
     36             <li>{{ call .tr "confirm" }}</li>
     37           </ul>
     38         </div>
     39         <div class="col-8">
     40           <div class="card">
     41             {{if .available}}
     42             <div class="card-body">
     43               <h4 class="card-title">{{ call .tr "available" }}</h4>
     44               <hr>
     45               <p class="card-text">{{ call .tr "notYetLinked" .address}}</p>
     46             </div>
     47             <form id="regform">
     48               <input id="methodInput" type="hidden" name="method" value="{{.method}}">
     49               <input id="addrInput" type="hidden" name="address" value="{{.address}}">
     50               <div class="row">
     51                 <div class="col-lg-8 offset-lg-2 text-center">
     52                   <div class="input-group mb-3">
     53                     <!--<span class="input-group-text" id="inputGroup-sizing-default">{{.address}}: </span>-->
     54                     <input id="uriInput" name="target_uri" type="text" class="form-control" placeholder="{{ call .tr "paymentSystemAddressExample" }}" aria-label="Default" aria-describedby="inputGroup-sizing-default">
     55                     <input class="input-group-text btn btn-outline-primary" type="submit" value="{{ call .tr "linkIt" }}">
     56                   </div>
     57                 </div>
     58               </div>
     59             </form>
     60             {{else}}
     61             <div class="card-body" role="alert">
     62               <h4 class="card-title">{{ call .tr "lookupResultFound" }}</h4>
     63               <hr>
     64               <p class="card-text">{{ call .tr "isLinked" .address }}</p>
     65             </div>
     66             <form id="regform">
     67               <input id="methodInput" type="hidden" name="method" value="{{.method}}">
     68               <input id="addrInput" type="hidden" name="address" value="{{.address}}">
     69               <input id="uriInput" type="hidden" name="target_uri" value="">
     70               <div class="row">
     71                 <div class="col-lg-6 offset-lg-3 text-center">
     72                   <div class="input-group mb-3">
     73                     <!--<span class="input-group-text" id="inputGroup-sizing-default">{{.address}}: </span>-->
     74                     <input disabled="disabled" type="text" class="form-control" aria-label="Default" aria-describedby="inputGroup-sizing-default" value="{{.result}}">
     75                     <input class="input-group-text btn btn-outline-danger" type="submit" value="{{ call .tr "deleteIt" }}">
     76                   </div>
     77                 </div>
     78               </div>
     79             </form>
     80             {{end}}
     81           </div>
     82         </div>
     83        </div>
     84       </div>
     85       {{ template "footer.html" . }}
     86   </body>
     87   <script>
     88     var form = document.getElementById('regform');
     89     form.onsubmit = function(event){
     90       var xhr = new XMLHttpRequest();
     91       var data = new FormData(form);
     92       var method = data.get("method");
     93       var addr = data.get("address");
     94       data.delete("method");
     95       xhr.open('POST','/register/' + method) // FIXME method
     96       xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
     97       var json = JSON.stringify(Object.fromEntries(data));
     98       json["duration"] = 1000000000
     99       xhr.send(json);
    100 
    101       xhr.onreadystatechange = function() {
    102         if (xhr.readyState == XMLHttpRequest.DONE) {
    103           form.reset(); //reset form after AJAX success.
    104           var ebanner = document.getElementById('ebanner');
    105           var sbanner = document.getElementById('sbanner');
    106           if (xhr.status == 202) {
    107             sbanner.hidden = false;
    108             ebanner.hidden = true;
    109           } else {
    110             var jsonResponse = JSON.parse(xhr.responseText);
    111             document.getElementById('ebanner-text').innerHTML = jsonResponse.hint;
    112             sbanner.hidden = true;
    113             ebanner.hidden = false;
    114             // window.location.href = "/?error=Registration failed";
    115           }
    116         }
    117       }
    118 
    119       //Dont submit the form.
    120       return false;
    121     }
    122   </script>
    123 </html>