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>