qrcode
This commit is contained in:
parent
b99ebf2c10
commit
b86b6bcac4
18
i/index.html
18
i/index.html
@ -1,6 +1,6 @@
|
||||
<!DOCTYPE html>
|
||||
<html><head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
||||
<meta content="width=device-width, initial-scale=1, user-scalable=0" name="viewport">
|
||||
@ -12,20 +12,20 @@
|
||||
<div class="main">
|
||||
<noscript><h3>Вам нужен JavaScript для принятия этого приглашения.</h3></noscript>
|
||||
<h3 class="text-center" id="heading"></h3>
|
||||
<p class="text-center"><a class="btn btn-primary" id="button" href=""></a></p>
|
||||
<input type="url" class="form-control text-center" id="url_in" readonly="readonly" value="">
|
||||
<p class="text-center"><a class="btn btn-primary" id="button"></a></p>
|
||||
<input type="url" class="form-control text-center" id="url_in" readonly/>
|
||||
<div class="qrcode" id="qrcode"></div>
|
||||
|
||||
<p class="hint text-center" id="clients"></p>
|
||||
<p class="lead" id="recommend"></p>
|
||||
|
||||
<ul class="lead" id="client_list"></ul>
|
||||
|
||||
<p class="lead" id="checkfulllist"></p>
|
||||
<a onclick=''><p class="lead" id="create" hidden></p></a>
|
||||
<p class="lead" id="createhide" hidden></p>
|
||||
<p class="hint" id="xmppis"></p>
|
||||
</div>
|
||||
<script src="js/i18n-text.js"></script>
|
||||
<script src="js/main.js"></script>
|
||||
|
||||
|
||||
</body></html>
|
||||
<script src="js/qrcode.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
23
i/js/main.js
23
i/js/main.js
@ -52,12 +52,16 @@
|
||||
}
|
||||
|
||||
// TODO: proper error checking / display / Creation of invitations
|
||||
if (jid.search("@") <= 0) return {jid: jid, name: jid};
|
||||
if (jid.search("@") <= 0) return {jid:jid, jid_encoded:jid, name: jid};
|
||||
|
||||
var name = jid.split("@")[0];
|
||||
name = name.charAt(0).toUpperCase() + name.slice(1);
|
||||
|
||||
return {jid: jid, name: name};
|
||||
var jid_parts = jid.split("?");
|
||||
jid_parts[0] = encodeURIComponent(jid_parts[0]) // URL-encode the JID only
|
||||
var jid_encoded = jid_parts.join("?");
|
||||
|
||||
return {jid: jid, jid_encoded: jid_encoded, name: name};
|
||||
}
|
||||
|
||||
function translate_ui() {
|
||||
@ -68,18 +72,23 @@
|
||||
document.getElementById(id).innerHTML = i18n.text(key_prefix + id, display_data);
|
||||
});
|
||||
// and agnostic
|
||||
['clients', 'recommend', 'checkfulllist', 'xmppis', 'create', 'createhide'].forEach(function(id) {
|
||||
['clients', 'recommend', 'checkfulllist', 'xmppis'].forEach(function(id) {
|
||||
document.getElementById(id).innerHTML = i18n.text(id, display_data);
|
||||
});
|
||||
}
|
||||
|
||||
function rehash() {
|
||||
display_data = load_hash();
|
||||
document.getElementById('button').href = "xmpp:" + display_data.jid;
|
||||
document.getElementById('button').href = "xmpp:" + display_data.jid_encoded;
|
||||
document.getElementById('url_in').value = "xmpp:" + display_data.jid;
|
||||
translate_ui();
|
||||
}
|
||||
|
||||
function createQR() {
|
||||
display_data = load_hash();
|
||||
new QRCode(document.getElementById("qrcode"), "xmpp:" + display_data.jid);
|
||||
}
|
||||
|
||||
function load_done() {
|
||||
if (initialized) return;
|
||||
initialized = true;
|
||||
@ -96,13 +105,15 @@
|
||||
load_clients("json/clients_Android.json")
|
||||
}
|
||||
else if (navigator.userAgent.indexOf("Linux") >= 0) {
|
||||
load_clients("json/clients_Linux.json")
|
||||
load_clients("json/clients_Linux.json");
|
||||
createQR();
|
||||
}
|
||||
else if (navigator.userAgent.indexOf("iPhone") >= 0) {
|
||||
load_clients("json/clients_iOS.json")
|
||||
}
|
||||
else {
|
||||
load_clients("json/clients_Windows.json")
|
||||
load_clients("json/clients_Windows.json");
|
||||
createQR();
|
||||
}
|
||||
|
||||
window.addEventListener("hashchange", rehash, false);
|
||||
|
1
i/js/qrcode.min.js
vendored
Normal file
1
i/js/qrcode.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user