// atgc.codes, the moving parts. // // One of them, and it is an enhancement: the page is complete and correct // with this file deleted. That is the rule the site is built to, not // a nicety — a landing page whose text needs a script to appear is a page // that fails closed for a reader with none, and the whole point of this one // is that it works for somebody who has heard nothing about atgc yet. // // It is also, on purpose, the only script here: no bundle, no framework, no // request to anybody. (function () { "use strict"; // -- copy the install line ------------------------------------------ // // The one line on this page somebody is meant to take away with them. document.querySelectorAll("[data-copy]").forEach(function (button) { button.hidden = !(navigator.clipboard && window.isSecureContext); button.addEventListener("click", function () { navigator.clipboard.writeText(button.dataset.copy).then(function () { var was = button.textContent; button.textContent = "copied"; setTimeout(function () { button.textContent = was; }, 1400); }); }); }); })();