aboutsummaryrefslogtreecommitdiff
path: root/assets
diff options
context:
space:
mode:
Diffstat (limited to 'assets')
-rw-r--r--assets/index.js28
-rw-r--r--assets/index.ts32
-rw-r--r--assets/main.css13
3 files changed, 66 insertions, 7 deletions
diff --git a/assets/index.js b/assets/index.js
index 6146c01..7905d9c 100644
--- a/assets/index.js
+++ b/assets/index.js
@@ -1,4 +1,9 @@
"use strict";
+// Get the routeprefix by finding the '/' after the ID
+let url = window.location.pathname;
+let end = url.indexOf("/", "/server/".length + 1);
+let routePrefix = url.substring(0, end);
+console.log("routePrefix:", routePrefix);
let dels = document.querySelectorAll("form[action=\"/idea/delete/\"]");
for (let el of dels) {
el.onsubmit = function (e) {
@@ -11,8 +16,25 @@ for (let el of dels) {
let eels = document.querySelectorAll("button.edit");
for (let el of eels) {
el.onclick = function () {
- console.log("clicked");
- let title = el.getAttribute("data-title");
- location.href = "/idea/edit?t=" + title;
+ let id = el.getAttribute("idea-id");
+ location.href = routePrefix + "/idea/edit?id=" + id;
};
}
+let link = document.getElementById("link");
+if (link !== null) {
+ link.addEventListener("click", function () {
+ navigator.clipboard.writeText(window.location.href);
+ let old_text;
+ if (link !== null) {
+ old_text = link.innerHTML;
+ link.innerHTML = "(copied)";
+ link.classList.remove("copied");
+ }
+ setTimeout(function () {
+ if (link !== null) {
+ link.innerHTML = old_text;
+ link.classList.add("copied");
+ }
+ }, 1000);
+ });
+}
diff --git a/assets/index.ts b/assets/index.ts
index 70b03b7..8081428 100644
--- a/assets/index.ts
+++ b/assets/index.ts
@@ -1,3 +1,9 @@
+// Get the routeprefix by finding the '/' after the ID
+let url = window.location.pathname
+let end = url.indexOf("/", "/server/".length +1)
+let routePrefix = url.substring(0, end)
+console.log("routePrefix:", routePrefix)
+
let dels:NodeListOf<HTMLFormElement> = document.querySelectorAll("form[action=\"/idea/delete/\"]");
for (let el of dels) {
el.onsubmit = function(e) {
@@ -8,11 +14,29 @@ for (let el of dels) {
};
}
-let eels:NodeListOf<HTMLElement> = document.querySelectorAll("button.edit");
+let eels:NodeListOf<HTMLButtonElement> = document.querySelectorAll("button.edit");
for (let el of eels) {
el.onclick = function() {
- console.log("clicked")
- let title = el.getAttribute("data-title");
- location.href = "/idea/edit?t=" + title;
+ let id = el.getAttribute("idea-id");
+ location.href = routePrefix + "/idea/edit?id=" + id;
}
}
+
+let link = document.getElementById("link");
+if (link !== null) {
+link.addEventListener("click", function() {
+ navigator.clipboard.writeText(window.location.href)
+ let old_text: string;
+ if (link !== null) {
+ old_text = link.innerHTML;
+ link.innerHTML = "(copied)";
+ link.classList.remove("copied");
+ }
+ setTimeout(function() {
+ if (link !== null) {
+ link.innerHTML = old_text;
+ link.classList.add("copied");
+ }
+ }, 1000);
+});
+}
diff --git a/assets/main.css b/assets/main.css
index b3d6710..d551829 100644
--- a/assets/main.css
+++ b/assets/main.css
@@ -49,6 +49,19 @@ textarea[name="text"] {
h3 {
margin-bottom: 0;
}
+span#link {
+ color: #b38eac;
+}
+span#link:hover {
+ cursor: grab;
+ text-decoration: underline;
+}
+span#link.copied {
+ color: #b38eac;
+}
+span.link:hover {
+ cursor: grab;
+}
input[type="text"]{
border-radius: 3px;
border: solid 1px black;