1 line
22 KiB
JSON
1 line
22 KiB
JSON
{"ast":null,"code":"var sindex = 0;\nvar cycle = false;\n\nfunction start() {\n var query = getParameterByName('q');\n if (query) search(query.replaceAll(\"+\", \"%2B\"));\n document.getElementById('keywords').focus();\n window.setInterval(function () {\n updatetime();\n }, 200);\n}\n\nfunction handleKeyPress(e) {\n var key = e.keyCode || e.which;\n var text = document.getElementById(\"keywords\").value.replaceAll(\"+\", \"%2B\");\n var option = text.substr(1, text.indexOf(' ') - 1) || text.substr(1);\n var subtext = text.substr(2 + option.length);\n\n if (key == 13) {\n // Search functions\n search(text);\n }\n\n if (key == 9) {\n // Tab Completion Functions\n e.preventDefault();\n e.stopPropagation();\n\n if (text[0] === ';') {\n switch (option) {\n case 't':\n var streamers = ['admiralbahroo', 'moonmoon_ow', 'witwix'];\n\n if (!subtext || cycle) {\n cycle = true;\n if (sindex > streamers.length - 1) sindex = 0;\n document.getElementById(\"keywords\").value = ';t ' + streamers[sindex++];\n return;\n }\n\n for (var streamer of streamers) {\n if (subtext === streamer.substr(0, subtext.length)) {\n document.getElementById(\"keywords\").value = ';t ' + streamer;\n return;\n }\n }\n\n break;\n }\n }\n }\n\n if (key == 32) {\n //Space to go to search\n updateLabel(text);\n }\n\n sindex = 0;\n cycle = false;\n updateLabel(text);\n}\n\nfunction updateLabel(text) {\n var option = text.substr(1, text.indexOf(' ') - 1) || text.substr(1);\n\n if (text[0] === '/') {\n // if (text.indexOf(' ') > -1) {\n switch (option) {\n case \"am\":\n document.getElementById(\"searchType\").innerHTML = \"Allmusic search\";\n break;\n\n case \"d\":\n document.getElementById(\"searchType\").innerHTML = \"Duck Duck Go search\";\n break;\n\n case \"di\":\n document.getElementById(\"searchType\").innerHTML = \"Discogs search\";\n break;\n\n case \"i\":\n document.getElementById(\"searchType\").innerHTML = \"IMDB search\";\n break;\n\n case \"m\":\n document.getElementById(\"searchType\").innerHTML = \"TheMovieDB search\";\n break;\n\n case \"r\":\n document.getElementById(\"searchType\").innerHTML = \"Reddit search\";\n break;\n\n case \"q\":\n document.getElementById(\"searchType\").innerHTML = \"Qwant search\";\n break;\n\n case \"so\":\n document.getElementById(\"searchType\").innerHTML = \"Soundcloud search\";\n break;\n\n case \"s\":\n document.getElementById(\"searchType\").innerHTML = \"Spotify search\";\n break;\n\n case \"tv\":\n document.getElementById(\"searchType\").innerHTML = \"TheTVDB search\";\n break;\n\n case \"t\":\n document.getElementById(\"searchType\").innerHTML = \"Trakt search\";\n break;\n\n case \"y\":\n document.getElementById(\"searchType\").innerHTML = \"YouTube search\";\n break;\n\n case \"w\":\n document.getElementById(\"searchType\").innerHTML = \"Wikipedia search\";\n break;\n\n case \"p\":\n document.getElementById(\"searchType\").innerHTML = \"Plex search\";\n break;\n\n case \"rt\":\n document.getElementById(\"searchType\").innerHTML = \"Rotten Tomatoes search\";\n break;\n\n default:\n document.getElementById(\"searchType\").innerHTML = \"Invalid search\";\n break;\n }\n } else {\n document.getElementById(\"searchType\").innerHTML = \"Google search\";\n }\n}\n\nfunction search(text) {\n var option = text.substr(1, text.indexOf(' ') - 1) || text.substr(1);\n var subtext = text.substr(2 + option.length);\n\n if (text[0] === '/') {\n if (text.indexOf(' ') > -1) {\n switch (option) {\n case \"am\":\n window.location = \"https://www.allmusic.com/search/all/\" + subtext;\n break;\n\n case \"d\":\n window.location = \"https://duckduckgo.com/?q=\" + subtext;\n break;\n\n case \"di\":\n window.location = \"https://www.discogs.com/search/?q=\" + subtext;\n break;\n\n case \"i\":\n window.location = \"https://www.imdb.com/find?q=\" + subtext;\n break;\n\n case \"m\":\n window.location = \"https://www.themoviedb.org/search?query=\" + subtext;\n break;\n\n case \"r\":\n window.location = \"https://www.reddit.com/search?q=\" + subtext;\n break;\n\n case \"q\":\n window.location = \"https://www.qwant.com/?q=\" + subtext;\n break;\n\n case \"so\":\n window.location = \"https://soundcloud.com/search?q=\" + subtext;\n break;\n\n case \"s\":\n window.location = \"https://open.spotify.com/search/results/\" + subtext;\n break;\n\n case \"t\":\n window.location = \"https://trakt.tv/search?query=\" + subtext;\n break;\n\n case \"tv\":\n window.location = \"https://www.thetvdb.com/search?query=\" + subtext;\n break;\n\n case \"y\":\n window.location = \"https://www.youtube.com/results?search_query=\" + subtext;\n break;\n\n case \"w\":\n window.location = \"https://en.wikipedia.org/w/index.php?search=\" + subtext;\n break;\n\n case \"p\":\n window.location = \"https://app.plex.tv/desktop/#!/search?query=\" + subtext;\n break;\n\n case \"rt\":\n window.location = \"https://www.rottentomatoes.com/search?search=\" + subtext;\n break;\n }\n } else {\n var option = text.substr(1);\n\n switch (option) {\n case \"d\":\n window.location = \"https://www.duckduckgo.com\";\n break;\n\n case \"y\":\n window.location = \"https://www.youtube.com\";\n break;\n\n case \"r\":\n window.location = \"https://reddit.com\";\n break;\n\n case \"s\":\n window.location = \"https://open.spotify.com\";\n break;\n }\n }\n } else if (validURL(text)) {\n if (containsProtocol(text)) window.location = text;else window.location = \"https://\" + text;\n } else {\n window.location = \"https://www.google.com/search?q=\" + text;\n }\n} // Source: https://stackoverflow.com/questions/5717093/check-if-a-javascript-string-is-a-url\n\n\nfunction validURL(str) {\n var pattern = new RegExp('^(https?:\\\\/\\\\/)?' + // protocol\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|' + // domain name\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR ip (v4) address\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\n '(\\\\#[-a-z\\\\d_]*)?$', 'i'); // fragment locator\n\n return !!pattern.test(str);\n}\n\nfunction containsProtocol(str) {\n var pattern = new RegExp('^(https?:\\\\/\\\\/){1}.*', 'i');\n return !!pattern.test(str);\n}\n\nString.prototype.replaceAll = function (search, replacement) {\n var target = this;\n return target.split(search).join(replacement);\n};","map":{"version":3,"sources":["/home/seanedmunds/dev/home-page/src/search.js"],"names":["sindex","cycle","start","query","getParameterByName","search","replaceAll","document","getElementById","focus","window","setInterval","updatetime","handleKeyPress","e","key","keyCode","which","text","value","option","substr","indexOf","subtext","length","preventDefault","stopPropagation","streamers","streamer","updateLabel","innerHTML","location","validURL","containsProtocol","str","pattern","RegExp","test","String","prototype","replacement","target","split","join"],"mappings":"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","sourcesContent":["var sindex = 0;\nvar cycle = false;\n\nfunction start() {\n var query = getParameterByName('q');\n if (query) search(query.replaceAll(\"+\", \"%2B\"));\n\n document.getElementById('keywords').focus();\n\n window.setInterval(function () {\n updatetime();\n }, 200);\n}\n\nfunction handleKeyPress(e) {\n var key = e.keyCode || e.which;\n var text = document.getElementById(\"keywords\").value.replaceAll(\"+\", \"%2B\");\n var option = text.substr(1, text.indexOf(' ') - 1) || text.substr(1);\n var subtext = text.substr(2 + option.length);\n if (key == 13) { // Search functions\n search(text);\n }\n if (key == 9) { // Tab Completion Functions\n e.preventDefault();\n e.stopPropagation();\n if (text[0] === ';') {\n switch (option) {\n case 't':\n var streamers = ['admiralbahroo', 'moonmoon_ow', 'witwix'];\n if (!subtext || cycle) {\n cycle = true;\n if (sindex > streamers.length - 1) sindex = 0;\n document.getElementById(\"keywords\").value = ';t ' + streamers[sindex++];\n return;\n }\n for (var streamer of streamers) {\n if (subtext === streamer.substr(0, subtext.length)) {\n document.getElementById(\"keywords\").value = ';t ' + streamer;\n return;\n }\n }\n break;\n }\n }\n }\n if(key == 32){ //Space to go to search\n\tupdateLabel(text);\n }\n sindex = 0;\n cycle = false;\n updateLabel(text);\n}\n\nfunction updateLabel(text) {\n var option = text.substr(1, text.indexOf(' ') - 1) || text.substr(1);\n if (text[0] === '/') {\n// if (text.indexOf(' ') > -1) {\n switch (option) {\n case \"am\":\n document.getElementById(\"searchType\").innerHTML = \"Allmusic search\";\n break;\n\t\tcase \"d\":\n\t\t document.getElementById(\"searchType\").innerHTML = \"Duck Duck Go search\";\n\t\t break;\n\t\tcase \"di\":\n\t\t document.getElementById(\"searchType\").innerHTML = \"Discogs search\";\n\t\t break;\n\t\tcase \"i\":\n\t\t document.getElementById(\"searchType\").innerHTML = \"IMDB search\";\n\t\t break;\n\t\tcase \"m\":\n\t\t document.getElementById(\"searchType\").innerHTML = \"TheMovieDB search\";\n\t\t break;\n\t\tcase \"r\":\n\t\t document.getElementById(\"searchType\").innerHTML = \"Reddit search\";\n\t\t break;\n\t\tcase \"q\":\n\t\t document.getElementById(\"searchType\").innerHTML = \"Qwant search\";\n\t\t break;\n\t\tcase \"so\":\n\t\t document.getElementById(\"searchType\").innerHTML = \"Soundcloud search\";\n\t\t break;\n\t\tcase \"s\":\n\t\t document.getElementById(\"searchType\").innerHTML = \"Spotify search\";\n\t\t break;\n\t\tcase \"tv\":\n\t\t document.getElementById(\"searchType\").innerHTML = \"TheTVDB search\";\n\t\t break;\n\t\tcase \"t\":\n\t\t document.getElementById(\"searchType\").innerHTML = \"Trakt search\";\n\t\t break;\n\t\tcase \"y\":\n\t\t document.getElementById(\"searchType\").innerHTML = \"YouTube search\";\n\t\t break;\n\t\tcase \"w\":\n\t\t document.getElementById(\"searchType\").innerHTML = \"Wikipedia search\";\n\t\t break;\n\t\tcase \"p\":\n\t\t document.getElementById(\"searchType\").innerHTML = \"Plex search\";\n\t\t break;\n\t\tcase \"rt\":\n\t\t document.getElementById(\"searchType\").innerHTML = \"Rotten Tomatoes search\";\n\t\t break;\n\t\tdefault:\n\t\t document.getElementById(\"searchType\").innerHTML = \"Invalid search\";\n\t\t break;\n }\n\t}else {\n\t\tdocument.getElementById(\"searchType\").innerHTML = \"Google search\";\n }\n}\n\nfunction search(text) {\n var option = text.substr(1, text.indexOf(' ') - 1) || text.substr(1);\n var subtext = text.substr(2 + option.length);\n if (text[0] === '/') {\n if (text.indexOf(' ') > -1) {\n switch (option) {\n case \"am\":\n window.location = \"https://www.allmusic.com/search/all/\" + subtext;\n break;\n case \"d\":\n window.location = \"https://duckduckgo.com/?q=\" + subtext;\n break;\n case \"di\":\n window.location = \"https://www.discogs.com/search/?q=\" + subtext;\n break;\n case \"i\":\n window.location = \"https://www.imdb.com/find?q=\" + subtext;\n break;\n case \"m\":\n window.location = \"https://www.themoviedb.org/search?query=\" + subtext;\n break;\n case \"r\":\n window.location = \"https://www.reddit.com/search?q=\" + subtext;\n break;\n case \"q\":\n window.location = \"https://www.qwant.com/?q=\" + subtext;\n break;\n case \"so\":\n window.location = \"https://soundcloud.com/search?q=\" + subtext;\n break;\n case \"s\":\n window.location = \"https://open.spotify.com/search/results/\" + subtext;\n break;\n case \"t\":\n window.location = \"https://trakt.tv/search?query=\" + subtext;\n break;\n case \"tv\":\n window.location = \"https://www.thetvdb.com/search?query=\" + subtext;\n break;\n case \"y\":\n window.location = \"https://www.youtube.com/results?search_query=\" + subtext;\n break;\n\t\tcase \"w\":\n\t\t window.location = \"https://en.wikipedia.org/w/index.php?search=\" + subtext;\n\t\t break;\n\t\tcase \"p\":\n\t\t window.location = \"https://app.plex.tv/desktop/#!/search?query=\" + subtext;\n\t\t break;\n\t\tcase \"rt\":\n\t\t window.location = \"https://www.rottentomatoes.com/search?search=\" + subtext;\n\t\t break;\n }\n } else {\n var option = text.substr(1);\n switch (option) {\n case \"d\":\n window.location = \"https://www.duckduckgo.com\";\n break;\n case \"y\":\n window.location = \"https://www.youtube.com\";\n break;\n case \"r\":\n window.location = \"https://reddit.com\";\n break;\n case \"s\":\n window.location = \"https://open.spotify.com\";\n break;\n }\n }\n } else if (validURL(text)) {\n if (containsProtocol(text))\n window.location = text;\n else\n window.location = \"https://\" + text;\n } else {\n window.location = \"https://www.google.com/search?q=\" + text;\n }\n}\n\n// Source: https://stackoverflow.com/questions/5717093/check-if-a-javascript-string-is-a-url\nfunction validURL(str) {\n var pattern = new RegExp('^(https?:\\\\/\\\\/)?' + // protocol\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|' + // domain name\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR ip (v4) address\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\n '(\\\\#[-a-z\\\\d_]*)?$', 'i'); // fragment locator\n return !!pattern.test(str);\n}\n\nfunction containsProtocol(str) {\n var pattern = new RegExp('^(https?:\\\\/\\\\/){1}.*', 'i');\n return !!pattern.test(str);\n}\n\nString.prototype.replaceAll = function(search, replacement) {\n var target = this;\n return target.split(search).join(replacement);\n};\n"]},"metadata":{},"sourceType":"module"} |