Skip to content

Instantly share code, notes, and snippets.

@gd3kr
Last active November 25, 2022 12:01
Show Gist options
  • Save gd3kr/b4399eef601428bcc73bd1d1c1d99188 to your computer and use it in GitHub Desktop.
Save gd3kr/b4399eef601428bcc73bd1d1c1d99188 to your computer and use it in GitHub Desktop.
twitter autocomplete hack v2
//MIT license (ie. do whatever tf you want with this code)
//Paste directly into console or GreaseMonkey https://greasyfork.org/en/scripts/455318-twitter-from-ui-upgrade
let search;
let fromFlag = false;
setTimeout(() => {
search = document.querySelectorAll(
"input[placeholder='Search Twitter']"
)[0];
search.addEventListener("keydown", function (e) {
let searchValue = search.value;
if (searchValue.indexOf("from:") > -1) {
if (fromFlag === false) {
createSpanElement();
search.value = searchValue.replace(/from:/, "");
fromFlag = true;
}
}
if (search.value === "" && e.keyCode === 8) {
let span = document.getElementById("customSpan");
span.parentNode.removeChild(span);
fromFlag = false;
}
if (e.keyCode === 13) {
e.preventDefault();
window.location.href = "https://twitter.com/search?q=from:" + search.value;
}
});
}, 1000); //one second delay to initialise the search bar
const createSpanElement = () => {
let span = document.createElement("span");
span.innerHTML = "from:";
span.style.color = "white";
span.style.margin = "0px";
span.style.height = "20px";
span.style.marginRight = "0.5em";
span.style.padding = "0.3em";
span.style.marginTop = "0.45em";
span.style.borderRadius = "0.5em";
span.id = "customSpan";
span.style.backgroundColor = "#1d99eb";
search.parentNode.insertBefore(span, search);
};
setInterval(function () {
// try catch block
let elements = document.getElementById("typeaheadDropdown-1")?.children;
// if null or undefined return
if (!elements) return;
for (let i = 0; i < elements.length; i++) {
elements[i].addEventListener("click", function (e) {
search.focus();
e.stopImmediatePropagation();
let text = this.innerText.match(/@.*\n/)[0];
search.value = text;
});
}
}, 200);
@abeeku
Copy link

abeeku commented Nov 23, 2022

linkstation.xyz

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment