This commit is contained in:
Leandro Facchinetti 2021-03-11 11:19:23 +00:00
parent cb0b836d92
commit c2034b0a6b
3 changed files with 30 additions and 3 deletions

4
package-lock.json generated
View File

@ -5,7 +5,6 @@
"requires": true,
"packages": {
"": {
"name": "kill-the-newsletter",
"version": "0.0.0",
"license": "MIT",
"dependencies": {
@ -18,7 +17,8 @@
"express": "^4.17.1",
"fs-extra": "^9.1.0",
"mailparser": "^3.1.0",
"smtp-server": "^3.8.0"
"smtp-server": "^3.8.0",
"tagged-template-noop": "^2.1.1"
},
"bin": {
"kill-the-newsletter": "lib/index.js"

View File

@ -30,7 +30,8 @@
"express": "^4.17.1",
"fs-extra": "^9.1.0",
"mailparser": "^3.1.0",
"smtp-server": "^3.8.0"
"smtp-server": "^3.8.0",
"tagged-template-noop": "^2.1.1"
},
"devDependencies": {
"@types/express": "^4.17.11",

View File

@ -11,6 +11,7 @@ import { html, HTML } from "@leafac/html";
import { css, process as processCSS } from "@leafac/css";
import { sql, Database } from "@leafac/sqlite";
import databaseMigrate from "@leafac/sqlite-migration";
import javascript from "tagged-template-noop";
const VERSION = require("../package.json").version;
@ -208,6 +209,31 @@ export default function killTheNewsletter(
>
</p>
</footer>
<script>
for (const copyable of document.querySelectorAll(".copyable"))
copyable.insertAdjacentHTML(
"afterend",
$${"`"}
$${html`
<br />
<button
type="button"
onclick="${javascript`
(async () => {
await navigator.clipboard.writeText("\${copyable.innerText}");
const originalInnerText = this.innerText;
this.innerText = "Copied";
await new Promise(resolve => window.setTimeout(resolve, 500));
this.innerText = originalInnerText;
})();
`}"
>
Copy
</button>
`}
$${"`"}
);
</script>
</body>
</html>
`);