Copy site url with peers link to sidebar

This commit is contained in:
shortcutme 2018-07-19 20:42:04 +02:00
parent 405394707f
commit a07a31a2bb
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE
3 changed files with 37 additions and 1 deletions

View file

@ -115,9 +115,17 @@ class UiWebsocketPlugin(object):
else:
local_html = ""
copy_link = "http://127.0.0.1:43110/%s/?zeronet_peers=%s" % (
site.content_manager.contents["content.json"].get("domain", site.address),
",".join([peer.key for peer in site.getConnectablePeers(20, allow_private=False)])
)
body.append(_(u"""
<li>
<label>{_[Peers]}</label>
<label>
{_[Peers]}
<small><a href='{copy_link}' id='link-copypeers' class='link-right'>{_[Copy to clipboard]}</a></small>
</label>
<ul class='graph'>
<li style='width: 100%' class='total back-black' title="{_[Total peers]}"></li>
<li style='width: {percent_connectable:.0%}' class='connectable back-blue' title='{_[Connectable peers]}'></li>

View file

@ -358,6 +358,19 @@ class Sidebar extends Class
@wrapper.ws.cmd "serverShowdirectory", ["site", @wrapper.site_info.address]
return false
# Copy site with peers
@tag.find("#link-copypeers").off("click touchend").on "click touchend", (e) =>
copy_text = e.currentTarget.href
handler = (e) =>
e.clipboardData.setData('text/plain', copy_text)
e.preventDefault()
@wrapper.notifications.add "copy", "done", "Site address with peers copied to your clipboard", 5000
document.removeEventListener('copy', handler, true)
document.addEventListener('copy', handler, true)
document.execCommand('copy')
return false
# Sign and publish content.json
$(document).on "click touchend", =>
@tag?.find("#button-sign-publish-menu").removeClass("visible")

View file

@ -697,6 +697,21 @@ window.initScrollable = function () {
return false;
};
})(this));
this.tag.find("#link-copypeers").off("click touchend").on("click touchend", (function(_this) {
return function(e) {
var copy_text, handler;
copy_text = e.currentTarget.href;
handler = function(e) {
e.clipboardData.setData('text/plain', copy_text);
e.preventDefault();
_this.wrapper.notifications.add("copy", "done", "Site address with peers copied to your clipboard", 5000);
return document.removeEventListener('copy', handler, true);
};
document.addEventListener('copy', handler, true);
document.execCommand('copy');
return false;
};
})(this));
$(document).on("click touchend", (function(_this) {
return function() {
var ref, ref1;