diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2025-06-08 20:18:49 -0500 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2025-08-20 15:57:18 +0200 |
| commit | 59e6a92c4f5c64c3b6b1a8a9e9b55ae03d7d021b (patch) | |
| tree | 4129bcda19d82defb9bb3aaa18621690fc068e8d /html/js | |
| parent | 2bc941c548c7249fe122fbdf43963b798cb2b14f (diff) | |
| download | muhqs-game-59e6a92c4f5c64c3b6b1a8a9e9b55ae03d7d021b.tar.gz muhqs-game-59e6a92c4f5c64c3b6b1a8a9e9b55ae03d7d021b.zip | |
move linkable rule js into seperate file
Diffstat (limited to 'html/js')
| -rw-r--r-- | html/js/linkableRules.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/html/js/linkableRules.js b/html/js/linkableRules.js new file mode 100644 index 00000000..82261a1e --- /dev/null +++ b/html/js/linkableRules.js @@ -0,0 +1,44 @@ +/* +@licstart The following is the entire license notice for the +JavaScript code in this page. + +Copyright (C) 2025 Florian Fischer + +The JavaScript code in this page is free software: you can +redistribute it and/or modify it under the terms of the GNU +General Public License (GNU GPL) as published by the Free Software +Foundation, either version 3 of the License, or any later version. +The code is distributed WITHOUT ANY WARRANTY; +without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. + +As additional permission under GNU GPL version 3 section 7, you +may distribute non-source (e.g., minimized or compacted) forms of +that code without the copy of the GNU GPL normally required by +section 4, provided you include this license notice and a URL +through which recipients can access the Corresponding Source. + +@licend The above is the entire license notice +for the JavaScript code in this page. +*/ +function prepareLinkableRules() { + for (let e of document.querySelectorAll(".rule")) { + // Add class via js to ensure there is no wrong + // sense of functionality in browsers without js + e.classList.add("linkable-rule"); + // TODO: support nested lists + e.onclick = function() { + if (e.matches(':hover') || e.matches(':active')) { + const origin = window.location.origin; + const path = window.location.pathname; + const anchor = e.id; + let url = origin + '/' + path + '#' + anchor; + navigator.clipboard.writeText(url); + // document.getElementsByTagName("body")[0].focus(); + } + } + } +} +window.onload = function() { + prepareLinkableRules(); +} |
