lookup_result.html (5547B)
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 <!-- <meta name="taler-uri" content="{{.talerAddContactURI}}"> --> 8 <link href="/css/bootstrap.min.css" rel="stylesheet"> 9 <link href="/css/style.css" rel="stylesheet"> 10 <link href="/fontawesome/css/fontawesome.css" rel="stylesheet" /> 11 <link href="/fontawesome/css/solid.css" rel="stylesheet" /> 12 <title>{{ call .tr "title" }}</title> 13 </head> 14 <body> 15 {{ template "nav.html" . }} 16 <div class="container"> 17 <div id="ebanner" class="container" hidden> 18 <div class="alert alert-danger" role="alert"> 19 <h4 class="alert-heading">{{ call .tr "error" }}</h4> 20 <hr> 21 <p class="mb-0" id="ebanner-text">{{.error}}.</p> 22 </div> 23 </div> 24 <div id="sbanner" class="container" hidden> 25 <div class="alert alert-success" role="alert"> 26 <h4 class="alert-heading">{{ call .tr "validationInitiated" }}</h4> 27 <hr> 28 {{ call .tr "pleaseCompleteValidation" }} 29 </div> 30 </div> 31 <div class="container pt-5"> 32 <div class="row"> 33 <div class="col-2"> 34 <ul class="timeline"> 35 <li class="done">{{ call .tr "lookup" }}</li> 36 <li class="inprogress">{{ call .tr "registerOrModify" }}</li> 37 <li>{{ call .tr "confirm" }}</li> 38 </ul> 39 </div> 40 <div class="col-8"> 41 <div class="card"> 42 {{if .available}} 43 <div class="card-body"> 44 <h4 class="card-title">{{ call .tr "available" }}</h4> 45 <hr> 46 <p class="card-text">{{ call .tr "notYetLinked" .alias}}</p> 47 </div> 48 <form id="regform"> 49 <input id="atypeInput" type="hidden" name="alias_type" value="{{.alias_type}}"> 50 <input id="addrInput" type="hidden" name="alias" value="{{.alias}}"> 51 <div class="row"> 52 <div class="col-lg-8 offset-lg-2 text-center"> 53 <div class="input-group mb-3"> 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"> 65 {{ call .tr "isLinked" .alias }}<br/> 66 {{ call .tr "importContactLink" }} 67 <a class="link-dark" href="{{.talerAddContactURI}}" class="btn btn-success mb-3"> 68 {{ call .tr "importContactLinkText" }} 69 </a> 70 <br/> 71 {{ call .tr "importContactQr" }} 72 <div class="qr"> 73 <img class="qr" src="{{.qrCode}}"/> 74 </div> 75 </p> 76 </div> 77 <form id="regform"> 78 <input id="atypeInput" type="hidden" name="alias_type" value="{{.alias_type}}"> 79 <input id="addrInput" type="hidden" name="alias" value="{{.alias}}"> 80 <input id="uriInput" type="hidden" name="target_uri" value=""> 81 <div class="row"> 82 <div class="col-lg-8 offset-lg-2 text-center"> 83 <div class="input-group mb-3"> 84 <input disabled="disabled" type="text" class="form-control" aria-label="Default" aria-describedby="inputGroup-sizing-default" value="{{.result}}"> 85 <input class="input-group-text btn btn-outline-danger" type="submit" value="{{ call .tr "deleteIt" }}"> 86 </div> 87 </div> 88 </div> 89 </form> 90 {{end}} 91 </div> 92 </div> 93 </div> 94 </div> 95 {{ template "footer.html" . }} 96 </body> 97 <script> 98 var form = document.getElementById('regform'); 99 form.onsubmit = function(event){ 100 var xhr = new XMLHttpRequest(); 101 var data = new FormData(form); 102 var atype = data.get("alias_type"); 103 var alias = data.get("alias"); 104 data.delete("alias_type"); 105 xhr.open('POST','/register/' + atype) 106 xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); 107 var json = JSON.stringify(Object.fromEntries(data)); 108 json["duration"] = 1000000000 109 xhr.send(json); 110 111 xhr.onreadystatechange = function() { 112 if (xhr.readyState == XMLHttpRequest.DONE) { 113 form.reset(); //reset form after AJAX success. 114 var ebanner = document.getElementById('ebanner'); 115 var sbanner = document.getElementById('sbanner'); 116 if (xhr.status == 202) { 117 sbanner.hidden = false; 118 ebanner.hidden = true; 119 } else { 120 var jsonResponse = JSON.parse(xhr.responseText); 121 document.getElementById('ebanner-text').innerHTML = jsonResponse.hint; 122 sbanner.hidden = true; 123 ebanner.hidden = false; 124 // window.location.href = "/?error=Registration failed"; 125 } 126 } 127 } 128 129 //Dont submit the form. 130 return false; 131 } 132 </script> 133 </html>