diff --git a/web/_js/draw.js b/web/_js/draw.js
index 294c002d..314d95af 100644
--- a/web/_js/draw.js
+++ b/web/_js/draw.js
@@ -48,7 +48,7 @@ const wikiGroup = document.getElementById("wikiGroup");
const exportArea = document.getElementById("exportString");
const subredditPattern = /^(?:(?:(?:(?:(?:https?:\/\/)?(?:(?:www|old|new|np)\.)?)?reddit\.com)?\/)?[rR]\/)?([A-Za-z0-9][A-Za-z0-9_]{2,20})(?:\/[^" ]*)*$/
-const discordPattern = /(?:https?:\/\/)?(?:www\.)?(?:(?:discord)?\.?gg|discord(?:app?)\.com\/invite)\/([^\s/]+?)(?=\b)/
+const discordPattern = /^(?:(?:https?:\/\/)?(?:www\.)?(?:(?:discord)?\.?gg|discord(?:app)?\.com\/invite)\/)?([^\s/]+?)(?=\b)$/
let entryId = 0;
let path = [];
@@ -599,6 +599,16 @@ function initDraw() {
inputButton.innerHTML = '';
inputButton.addEventListener('click', () => removeFieldButton(inputGroup, array, index));
}
+
+ inputField.addEventListener('paste', (event) => {
+ let paste = (event.clipboardData || window.clipboardData).getData('text')
+ paste = paste.trim().match(subredditPattern)?.[1]
+ if (paste) {
+ event.target.value = "r/" + paste
+ event.preventDefault()
+ }
+ })
+
inputGroup.appendChild(inputButton);
}
@@ -639,6 +649,16 @@ function initDraw() {
inputButton.innerHTML = '';
inputButton.addEventListener('click', () => removeFieldButton(inputGroup, array, index));
}
+
+ inputField.addEventListener('paste', (event) => {
+ let paste = (event.clipboardData || window.clipboardData).getData('text')
+ paste = paste.trim().match(discordPattern)?.[1]
+ if (paste) {
+ event.target.value = paste
+ event.preventDefault()
+ }
+ })
+
inputGroup.appendChild(inputButton);
}