commit d5fa1ffd7a0582f5f827fd1cfa761258e8969fb2
parent 5ce04d5bb0a7c29041daac88cb63918475267a39
Author: James Eversole <james@eversole.co>
Date: Tue, 27 Dec 2022 14:11:41 -0600
Add copy link button. Enhance buttons by reverting their text when a new copy event occurs.
Diffstat:
4 files changed, 26 insertions(+), 12 deletions(-)
diff --git a/views/index.hamlet b/views/index.hamlet
@@ -5,7 +5,7 @@ $doctype 5
<title>purr
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://unpkg.com/htmx.org@1.7.0" integrity="sha384-EzBXYPt0/T6gxNp0nuPtLkmRpmDBbjg6WmCUZRLXBBwYYmwAUxzlSGej0ARHX0Bo" crossorigin="anonymous">
- <script src="/copySecret.js" integrity="sha384-jB3mpB1WyAo8ToD7oWm/LjXBnEImM/8GB7tjExykwuNErwdPHa9mihHlVJRtV+bt">
+ <script src="/copyButtons.js" integrity="sha384-eNQZr7QWPQmi/EWi4lVVFOavm+Eibmh7iDvDptgE0j5fI3xycLssbDBZbKphi8pk">
<link rel="stylesheet" href="/style.css">
<body>
diff --git a/views/public/copyButtons.js b/views/public/copyButtons.js
@@ -0,0 +1,23 @@
+function copySecret(secret) {
+ var tempText = document.createElement('input');
+ tempText.style = 'position: absolute; left: -1000px; top: -1000px';
+ tempText.value = secret;
+ document.body.appendChild(tempText);
+ tempText.select();
+ document.execCommand('copy');
+ document.body.removeChild(tempText);
+ document.getElementById('secretButton').innerHTML = "- secret copied -";
+ document.getElementById('linkButton').innerHTML = "copy link";
+}
+
+function copyLink(link) {
+ var tempText = document.createElement('input');
+ tempText.style = 'position: absolute; left: -1000px; top: -1000px';
+ tempText.value = window.location.origin + '/pw/' + link;
+ document.body.appendChild(tempText);
+ tempText.select();
+ document.execCommand('copy');
+ document.body.removeChild(tempText);
+ document.getElementById('linkButton').innerHTML = "- link copied -";
+ document.getElementById('secretButton').innerHTML = "copy secret";
+}
diff --git a/views/public/copySecret.js b/views/public/copySecret.js
@@ -1,10 +0,0 @@
-function copySecret(secret) {
- var tempText = document.createElement('input');
- tempText.style = 'position: absolute; left: -1000px; top: -1000px';
- tempText.value = secret;
- document.body.appendChild(tempText);
- tempText.select();
- document.execCommand('copy');
- document.body.removeChild(tempText);
- document.getElementById('copyButton').innerHTML = "- secret copied -";
-}
diff --git a/views/pw.hamlet b/views/pw.hamlet
@@ -2,7 +2,8 @@
$maybe pw <- password
<p .resLink>secret found at <a href="/pw/#{link}">/pw/#{link}</a>:
<h3 .pwResult>#{pw}
- <button #copyButton .mainButton onclick="copySecret('#{pw}')">copy secret</button>
+ <button #secretButton .mainButton onclick="copySecret('#{pw}')">copy secret</button>
+ <button #linkButton .mainButton onclick="copyLink('#{link}')">copy link</button>
$nothing
<p .resLink>no secret found at
<br /><a href="/pw/#{link}">/pw/#{link}</a>