Archived
1
0
This repository has been archived on 2023-05-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
home-page/node_modules/.cache/babel-loader/9cd8f5b4d81a335ed9b5d41cd5bdc8e5.json
2021-12-14 16:49:05 -06:00

1 line
57 KiB
JSON

{"ast":null,"code":"import _slicedToArray from\"/home/seanedmunds/dev/home-page/node_modules/@babel/runtime/helpers/esm/slicedToArray\";import React from'react';import{useState,useEffect}from'react';import ReactDOM from'react-dom';import'./index.css';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var setValueFromLocalStorage=function setValueFromLocalStorage(property){var value=localStorage.getItem(property);setValue(property,value);};var setValue=function setValue(property,value){if(value){document.documentElement.style.setProperty(\"--\".concat(property),value);var input=document.querySelector(\"#\".concat(property));if(input){value=value.replace('px','');input.value=value;}}};function Homepage(){setTheme();return/*#__PURE__*/_jsxs(\"main\",{id:\"container\",className:\"fade\",children:[/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsx(Search,{})}),/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsx(Header,{date:date(),greet:greet()})}),/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsx(Applications,{})}),/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsx(Bookmarks,{})}),/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsx(ModalMenu,{})}),/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsx(ModalInit,{})})]});}function Search(){return/*#__PURE__*/_jsx(\"section\",{id:\"search\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"abackground\",children:[/*#__PURE__*/_jsx(\"input\",{name:\"keywords\",type:\"text\",className:\"keyword\",id:\"keywords\",size:\"50\",spellCheck:\"true\",placeholder:\"\",autoComplete:\"off\",autoFocus:true,onKeyUp:handleKeyPress}),/*#__PURE__*/_jsx(\"label\",{id:\"searchType\",className:\"Input-label\",children:\"Google search\"})]})});}function Header(props){return/*#__PURE__*/_jsxs(\"section\",{id:\"header\",children:[/*#__PURE__*/_jsx(\"div\",{id:\"greeting_block\",children:/*#__PURE__*/_jsx(\"h1\",{id:\"header_greet\",children:props.greet})}),/*#__PURE__*/_jsxs(\"div\",{id:\"date_block\",children:[/*#__PURE__*/_jsx(\"h2\",{id:\"header_date\",children:props.date}),/*#__PURE__*/_jsx(Clock,{})]})]});}function Applications(){var appList=getApps();var items=[];for(var i=0;i<appList.apps.length;i++){var safe=appList.apps[i].NSFW;var NSFWEnabled=localStorage.getItem(\"contenttype\");if(safe===\"SAFE\"){items.push(/*#__PURE__*/_jsx(App,{name:appList.apps[i].name,url:appList.apps[i].url,icon:appList.apps[i].icon,NSFW:appList.apps[i].NSFW},i));}else if(safe===\"NSFW\"&&NSFWEnabled){items.push(/*#__PURE__*/_jsx(App,{name:appList.apps[i].name,url:appList.apps[i].url,icon:appList.apps[i].icon,NSFW:appList.apps[i].NSFW},i));}else{}}return/*#__PURE__*/_jsxs(\"section\",{id:\"apps\",children:[/*#__PURE__*/_jsx(\"h3\",{children:\"Applications\"}),/*#__PURE__*/_jsx(\"div\",{id:\"apps_loop\",children:items})]});}function App(props){var classNameType=props.NSFW+\"-content\";var hrefUrl=\"https://\"+props.url;var iconName=\"mdi-\"+props.icon;return/*#__PURE__*/_jsx(\"div\",{className:classNameType,children:/*#__PURE__*/_jsx(\"a\",{href:hrefUrl,children:/*#__PURE__*/_jsxs(\"div\",{className:\"apps_item\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"apps_icon\",children:/*#__PURE__*/_jsx(\"span\",{className:\"iconify icon\",\"data-icon\":iconName})}),/*#__PURE__*/_jsxs(\"div\",{className:\"apps_text\",children:[/*#__PURE__*/_jsx(\"span\",{id:\"app-name\",children:props.name}),/*#__PURE__*/_jsx(\"span\",{id:\"app-address\",children:props.url})]})]})})});}function Bookmarks(){var bookmarkList=getLinks();var items=[];for(var i=0;i<bookmarkList.bookmarks.length;i++){items.push(/*#__PURE__*/_jsx(LinkGroups,{category:bookmarkList.bookmarks[i].category,links:bookmarkList.bookmarks[i].links},i));}return/*#__PURE__*/_jsxs(\"section\",{id:\"links\",children:[/*#__PURE__*/_jsx(\"h3\",{children:\"Bookmarks\"}),/*#__PURE__*/_jsx(\"div\",{id:\"links_loop\",children:items})]});}function LinkGroups(props){var items=[];for(var i=0;i<props.links.length;i++){items.push(/*#__PURE__*/_jsx(LinkItem,{link:props.links[i]},i));}return/*#__PURE__*/_jsxs(\"div\",{id:\"links_item\",children:[/*#__PURE__*/_jsx(\"h4\",{children:props.category}),items]});}function LinkItem(props){return/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsx(\"a\",{href:props.link.url,className:\"theme_color-border theme_text-select\",children:props.link.name})});}function ModalMenu(){var providers=getProviders();var items=[];var isChecked=localStorage.getItem(\"contenttype\");console.log(localStorage.getItem(\"contenttype\"));for(var i=0;i<providers.providers.length;i++){items.push(/*#__PURE__*/_jsx(Provider,{provider:providers.providers[i]},i));}return/*#__PURE__*/_jsx(\"section\",{id:\"modal\",children:/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"header\",{id:\"modal-header\",children:[/*#__PURE__*/_jsx(\"h1\",{children:\"Options\"}),/*#__PURE__*/_jsx(\"a\",{href:\"#\",title:\"Close\",className:\"modal-close\",children:/*#__PURE__*/_jsx(\"span\",{className:\"iconify\",\"data-icon\":\"mdi-close\"})})]}),/*#__PURE__*/_jsx(\"h2\",{children:\"Color themes\"}),/*#__PURE__*/_jsxs(\"div\",{id:\"modal-theme\",children:[/*#__PURE__*/_jsx(\"button\",{\"data-theme\":\"blackboard\",className:\"theme-button theme-blackboard\",onClick:updateTheme,children:\"Blackboard\"}),/*#__PURE__*/_jsx(\"button\",{\"data-theme\":\"gazette\",className:\"theme-button theme-gazette\",onClick:updateTheme,children:\"Gazette\"}),/*#__PURE__*/_jsx(\"button\",{\"data-theme\":\"espresso\",className:\"theme-button theme-espresso\",onClick:updateTheme,children:\"Espresso\"}),/*#__PURE__*/_jsx(\"button\",{\"data-theme\":\"cab\",className:\"theme-button theme-cab\",onClick:updateTheme,children:\"Cab\"}),/*#__PURE__*/_jsx(\"button\",{\"data-theme\":\"cloud\",className:\"theme-button theme-cloud\",onClick:updateTheme,children:\"Cloud\"}),/*#__PURE__*/_jsx(\"button\",{\"data-theme\":\"lime\",className:\"theme-button theme-lime\",onClick:updateTheme,children:\"Lime\"}),/*#__PURE__*/_jsx(\"button\",{\"data-theme\":\"passion\",className:\"theme-button theme-passion\",onClick:updateTheme,children:\"Passion\"}),/*#__PURE__*/_jsx(\"button\",{\"data-theme\":\"blues\",className:\"theme-button theme-blues\",onClick:updateTheme,children:\"Blues\"}),/*#__PURE__*/_jsx(\"button\",{\"data-theme\":\"chalk\",className:\"theme-button theme-chalk\",onClick:updateTheme,children:\"Chalk\"}),/*#__PURE__*/_jsx(\"button\",{\"data-theme\":\"tron\",className:\"theme-button theme-tron\",onClick:updateTheme,children:\"Tron\"}),/*#__PURE__*/_jsx(\"button\",{\"data-theme\":\"paper\",className:\"theme-button theme-paper\",onClick:updateTheme,children:\"Paper\"}),/*#__PURE__*/_jsx(\"button\",{\"data-theme\":\"cyberpunk\",className:\"theme-button theme-cyberpunk\",onClick:updateTheme,children:\"Cyberpunk\"}),/*#__PURE__*/_jsx(\"button\",{\"data-theme\":\"quadra\",className:\"theme-button theme-panam\",onClick:updateTheme,children:\"Quadra\"}),/*#__PURE__*/_jsx(\"button\",{\"data-theme\":\"panam\",className:\"theme-button theme-panam\",onClick:updateTheme,children:\"Panam\"}),/*#__PURE__*/_jsx(\"button\",{\"data-theme\":\"touch\",className:\"theme-button theme-touch\",onClick:updateTheme,children:\"Touch\"}),/*#__PURE__*/_jsx(\"button\",{\"data-theme\":\"peek\",className:\"theme-button theme-peek\",onClick:updateTheme,children:\"Peek\"})]}),/*#__PURE__*/_jsx(\"h2\",{children:\"Search options\"}),/*#__PURE__*/_jsx(\"section\",{id:\"providers\",children:/*#__PURE__*/_jsx(\"table\",{children:/*#__PURE__*/_jsxs(\"tbody\",{children:[/*#__PURE__*/_jsxs(\"tr\",{children:[/*#__PURE__*/_jsx(\"th\",{children:\"Website\"}),/*#__PURE__*/_jsx(\"th\",{children:\"Prefix\"})]}),items]})})}),/*#__PURE__*/_jsxs(\"header\",{id:\"modal-footer\",children:[/*#__PURE__*/_jsx(\"a\",{href:\"https://github.com/jeroenpardon/\",children:/*#__PURE__*/_jsx(\"span\",{className:\"iconify\",\"data-icon\":\"mdi-github-box\"})}),/*#__PURE__*/_jsx(\"a\",{href:\"https://materialdesignicons.com/\",children:/*#__PURE__*/_jsx(\"span\",{className:\"iconify\",\"data-icon\":\"mdi-material-design\"})}),/*#__PURE__*/_jsx(HideButton,{checked:isChecked})]})]})});}function HideButton(props){console.log(props.checked);if(props.checked===\"true\"){console.log(\"icon should be grey\");return/*#__PURE__*/_jsxs(\"div\",{className:\"sneaky\",children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",id:\"contenttype\",onChange:udpateDisplayedItems,defaultChecked:true}),/*#__PURE__*/_jsx(\"label\",{for:\"contenttype\",children:/*#__PURE__*/_jsx(\"span\",{className:\"iconify\",\"data-icon\":\"mdi-domino-mask\"})})]});}else{console.log(\"icon should be white\");return/*#__PURE__*/_jsxs(\"div\",{className:\"sneaky\",children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",id:\"contenttype\",onChange:udpateDisplayedItems,defaultChecked:false}),/*#__PURE__*/_jsx(\"label\",{for:\"contenttype\",children:/*#__PURE__*/_jsx(\"span\",{className:\"iconify\",\"data-icon\":\"mdi-domino-mask\"})})]});}}function Provider(props){return/*#__PURE__*/_jsxs(\"tr\",{children:[/*#__PURE__*/_jsx(\"td\",{children:/*#__PURE__*/_jsx(\"a\",{href:props.provider.url,children:props.provider.name})}),/*#__PURE__*/_jsx(\"td\",{children:props.provider.prefix})]});}function ModalInit(){setDisplayedItems();return/*#__PURE__*/_jsx(\"div\",{id:\"modal_init\",children:/*#__PURE__*/_jsx(\"a\",{className:\"btn\",href:\"#modal\",children:/*#__PURE__*/_jsx(\"span\",{className:\"iconify icon\",\"data-icon\":\"mdi-xbox-controller-menu\"})})});}ReactDOM.render(/*#__PURE__*/_jsx(Homepage,{}),document.getElementById('root'));//Functions below this line are for calculating data for\n//other functions\nfunction date(){var currentDate=new Date();var dateOptions={weekday:\"long\",year:\"numeric\",month:\"long\",day:\"numeric\"};var date=currentDate.toLocaleDateString(\"en-GB\",dateOptions);return date;}function fixDigits(k){if(k<10){return\"0\"+k;}else{return k;}}function greet(){var currentTime=new Date();var greet=Math.floor(currentTime.getHours()/6);var easterEggChance=Math.floor(Math.random()*100);var greetings=require('./messages.json');var timeBased=[];var easterEggs=[];for(var i=0;i<greetings.messages.length;i++){if(greetings.messages[i].easteregg===\"FALSE\"){timeBased=timeBased.concat(greetings.messages[i]);}else{easterEggs=easterEggs.concat(greetings.messages[i]);}}if(easterEggChance>10){return timeBased[greet].message;}else{var easterEggText=Math.floor(Math.random()*easterEggs.length);return easterEggs[easterEggText].message;}}function Clock(){var _useState=useState(new Date()),_useState2=_slicedToArray(_useState,2),date=_useState2[0],setDate=_useState2[1];function refreshClock(){setDate(new Date());}useEffect(function(){var timerId=setInterval(refreshClock,1000);return function cleanup(){clearInterval(timerId);};},[]);var hour=date.getHours();var minutes=date.getMinutes();//var seconds = date.getSeconds();\nvar midday=\"AM\";midday=hour>=12?\"PM\":\"AM\";hour=hour===0?12:hour>12?hour-12:hour;minutes=fixDigits(minutes);//seconds = fixDigits(seconds);\nvar time=hour+\":\"+minutes+\" \"+midday;return/*#__PURE__*/_jsx(\"h2\",{id:\"clock\",children:time});}function getApps(){var applications=require('./apps.json');return applications;}function getLinks(){var links=require('./links.json');return links;}function getProviders(){var providers=require('./providers.json');return providers;}function getThemes(){var themes=require('./themes.json');return themes;}function updateTheme(e){var themes=getThemes();var themeName=e.target.innerHTML.toLowerCase();var index=themes.themes.findIndex(function(item,i){return item.name===themeName;});localStorage.setItem(\"image-background\",themes.themes[index].imagebackground);localStorage.setItem(\"color-background\",themes.themes[index].colorbackground);localStorage.setItem(\"color-search-background\",themes.themes[index].colorserachbackground);localStorage.setItem(\"color-text-pri\",themes.themes[index].colortextpri);localStorage.setItem(\"color-text-acc\",themes.themes[index].colortextacc);localStorage.setItem(\"color-border\",themes.themes[index].colorborder);//document.documentElement.style.setProperty(prop, `var(--${themeName}${prop.substring(10)})`);\nsetTheme();}function setTheme(){setValueFromLocalStorage('image-background');setValueFromLocalStorage('color-background');setValueFromLocalStorage('color-search-background');setValueFromLocalStorage('color-text-pri');setValueFromLocalStorage('color-text-acc');setValueFromLocalStorage('color-border');setValueFromLocalStorage('content-display');}function handleKeyPress(e){var sindex=0;var cycle=false;var key=e.keyCode||e.which;var text=e.target.value.replaceAll(\"+\",\"%2B\");var option=text.substr(1,text.indexOf(' ')-1)||text.substr(1);var subtext=text.substr(2+option.length);if(key===13){// Search functions\nsearch(text);}if(key===9){// Tab Completion Functions\ne.preventDefault();e.stopPropagation();if(text[0]===';'){switch(option){case't':var streamers=['admiralbahroo','moonmoon_ow','witwix'];if(!subtext||cycle){cycle=true;if(sindex>streamers.length-1)sindex=0;document.getElementById(\"keywords\").value=';t '+streamers[sindex++];return;}for(var _i=0,_streamers=streamers;_i<_streamers.length;_i++){var streamer=_streamers[_i];if(subtext===streamer.substr(0,subtext.length)){document.getElementById(\"keywords\").value=';t '+streamer;return;}}break;default:break;}}}if(key===32){//Space to go to search\nupdateLabel(text);}sindex=0;cycle=false;updateLabel(text);}function updateLabel(text){var option=text.substr(1,text.indexOf(' ')-1)||text.substr(1);if(text[0]==='/'){// if (text.indexOf(' ') > -1) {\nswitch(option){case\"am\":document.getElementById(\"searchType\").innerHTML=\"Allmusic search\";break;case\"d\":document.getElementById(\"searchType\").innerHTML=\"Duck Duck Go search\";break;case\"di\":document.getElementById(\"searchType\").innerHTML=\"Discogs search\";break;case\"i\":document.getElementById(\"searchType\").innerHTML=\"IMDB search\";break;case\"m\":document.getElementById(\"searchType\").innerHTML=\"TheMovieDB search\";break;case\"r\":document.getElementById(\"searchType\").innerHTML=\"Reddit search\";break;case\"q\":document.getElementById(\"searchType\").innerHTML=\"Qwant search\";break;case\"so\":document.getElementById(\"searchType\").innerHTML=\"Soundcloud search\";break;case\"s\":document.getElementById(\"searchType\").innerHTML=\"Spotify search\";break;case\"tv\":document.getElementById(\"searchType\").innerHTML=\"TheTVDB search\";break;case\"t\":document.getElementById(\"searchType\").innerHTML=\"Trakt search\";break;case\"y\":document.getElementById(\"searchType\").innerHTML=\"YouTube search\";break;case\"w\":document.getElementById(\"searchType\").innerHTML=\"Wikipedia search\";break;case\"p\":document.getElementById(\"searchType\").innerHTML=\"Plex search\";break;case\"rt\":document.getElementById(\"searchType\").innerHTML=\"Rotten Tomatoes search\";break;default:document.getElementById(\"searchType\").innerHTML=\"Invalid search\";break;}}else{document.getElementById(\"searchType\").innerHTML=\"Google search\";}}function search(text){if(text[0]==='/'){if(text.indexOf(' ')>-1){var option=text.substr(1,text.indexOf(' ')-1)||text.substr(1);var subtext=text.substr(2+option.length);switch(option){case\"am\":window.location=\"https://www.allmusic.com/search/all/\"+subtext;break;case\"d\":window.location=\"https://duckduckgo.com/?q=\"+subtext;break;case\"di\":window.location=\"https://www.discogs.com/search/?q=\"+subtext;break;case\"i\":window.location=\"https://www.imdb.com/find?q=\"+subtext;break;case\"m\":window.location=\"https://www.themoviedb.org/search?query=\"+subtext;break;case\"r\":window.location=\"https://www.reddit.com/search?q=\"+subtext;break;case\"q\":window.location=\"https://www.qwant.com/?q=\"+subtext;break;case\"so\":window.location=\"https://soundcloud.com/search?q=\"+subtext;break;case\"s\":window.location=\"https://open.spotify.com/search/results/\"+subtext;break;case\"t\":window.location=\"https://trakt.tv/search?query=\"+subtext;break;case\"tv\":window.location=\"https://www.thetvdb.com/search?query=\"+subtext;break;case\"y\":window.location=\"https://www.youtube.com/results?search_query=\"+subtext;break;case\"w\":window.location=\"https://en.wikipedia.org/w/index.php?search=\"+subtext;break;case\"p\":window.location=\"https://app.plex.tv/desktop/#!/search?query=\"+subtext;break;case\"rt\":window.location=\"https://www.rottentomatoes.com/search?search=\"+subtext;break;default:break;}}else{var _option=text.substr(1);switch(_option){case\"d\":window.location=\"https://www.duckduckgo.com\";break;case\"y\":window.location=\"https://www.youtube.com\";break;case\"r\":window.location=\"https://reddit.com\";break;case\"s\":window.location=\"https://open.spotify.com\";break;default:break;}}}else if(validURL(text)){if(containsProtocol(text))window.location=text;else window.location=\"https://\"+text;}else{window.location=\"https://www.google.com/search?q=\"+text;}}function validURL(str){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\nreturn!!pattern.test(str);}function containsProtocol(str){var pattern=new RegExp('^(https?:\\\\/\\\\/){1}.*','i');return!!pattern.test(str);}String.prototype.replaceAll=function(search,replacement){var target=this;return target.split(search).join(replacement);};function udpateDisplayedItems(e){localStorage.setItem('contenttype',e.target.checked);if(e.target.checked){localStorage.setItem('content-display','none');}else{localStorage.setItem('content-display','block');}setDisplayedItems();}function setDisplayedItems(){setValueFromLocalStorage('contenttype');setValueFromLocalStorage('content-display');}","map":{"version":3,"sources":["/home/seanedmunds/dev/home-page/src/index.js"],"names":["React","useState","useEffect","ReactDOM","setValueFromLocalStorage","property","value","localStorage","getItem","setValue","document","documentElement","style","setProperty","input","querySelector","replace","Homepage","setTheme","date","greet","Search","handleKeyPress","Header","props","Applications","appList","getApps","items","i","apps","length","safe","NSFW","NSFWEnabled","push","name","url","icon","App","classNameType","hrefUrl","iconName","Bookmarks","bookmarkList","getLinks","bookmarks","category","links","LinkGroups","LinkItem","link","ModalMenu","providers","getProviders","isChecked","console","log","updateTheme","HideButton","checked","udpateDisplayedItems","Provider","provider","prefix","ModalInit","setDisplayedItems","render","getElementById","currentDate","Date","dateOptions","weekday","year","month","day","toLocaleDateString","fixDigits","k","currentTime","Math","floor","getHours","easterEggChance","random","greetings","require","timeBased","easterEggs","messages","easteregg","concat","message","easterEggText","Clock","setDate","refreshClock","timerId","setInterval","cleanup","clearInterval","hour","minutes","getMinutes","midday","time","applications","getThemes","themes","e","themeName","target","innerHTML","toLowerCase","index","findIndex","item","setItem","imagebackground","colorbackground","colorserachbackground","colortextpri","colortextacc","colorborder","sindex","cycle","key","keyCode","which","text","replaceAll","option","substr","indexOf","subtext","search","preventDefault","stopPropagation","streamers","streamer","updateLabel","window","location","validURL","containsProtocol","str","pattern","RegExp","test","String","prototype","replacement","split","join"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { useState, useEffect } from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\n\nconst setValueFromLocalStorage = property => {\n let value = localStorage.getItem(property);\n setValue(property, value);\n};\nconst setValue = (property, value) => {\n if (value) {\n document.documentElement.style.setProperty(`--${property}`, value);\n\n const input = document.querySelector(`#${property}`);\n if (input) {\n value = value.replace('px', '');\n input.value = value;\n }\n }\n};\n\nfunction Homepage() {\n setTheme();\n \n return (\n <main id=\"container\" className=\"fade\">\n <div>\n <Search />\n </div>\n <div>\n <Header\n date={date()}\n greet={greet()}\n />\n </div>\n <div>\n <Applications />\n </div>\n <div>\n <Bookmarks />\n </div>\n <div>\n <ModalMenu />\n </div>\n <div>\n <ModalInit />\n </div>\n </main>\n );\n}\n\nfunction Search() {\n return (\n <section id=\"search\">\n <div className=\"abackground\">\n <input name=\"keywords\" type=\"text\" className=\"keyword\" id=\"keywords\" size=\"50\" spellCheck=\"true\" placeholder=\"\" autoComplete=\"off\" autoFocus={true} onKeyUp={handleKeyPress}/>\n <label id=\"searchType\" className=\"Input-label\">Google search</label>\n </div>\n </section>\n )\n}\n\nfunction Header(props) {\n return (\n <section id=\"header\">\n <div id=\"greeting_block\">\n <h1 id=\"header_greet\">{props.greet}</h1>\n </div>\n <div id=\"date_block\">\n <h2 id=\"header_date\">{props.date}</h2>\n <Clock />\n </div>\n </section>\n );\n}\n\nfunction Applications() {\n let appList = getApps();\n var items = [];\n for (var i = 0; i < appList.apps.length; i++) {\n var safe = appList.apps[i].NSFW;\n var NSFWEnabled = localStorage.getItem(\"contenttype\");\n if (safe === \"SAFE\") {\n items.push(\n <App\n key={i}\n name={appList.apps[i].name}\n url={appList.apps[i].url}\n icon={appList.apps[i].icon}\n NSFW={appList.apps[i].NSFW}\n />\n );\n } else if (safe === \"NSFW\" && NSFWEnabled) {\n items.push(\n <App\n key={i}\n name={appList.apps[i].name}\n url={appList.apps[i].url}\n icon={appList.apps[i].icon}\n NSFW={appList.apps[i].NSFW}\n />\n );\n } else {\n \n }\n \n }\n return (\n <section id=\"apps\">\n <h3>Applications</h3>\n <div id=\"apps_loop\">\n {items}\n </div>\n </section>\n );\n}\n\nfunction App(props) {\n \n let classNameType = props.NSFW + \"-content\";\n let hrefUrl = \"https://\" + props.url;\n let iconName = \"mdi-\" + props.icon;\n return (\n <div className={classNameType}>\n <a href={hrefUrl}>\n <div className=\"apps_item\">\n <div className=\"apps_icon\">\n <span className=\"iconify icon\" data-icon={iconName}></span>\n </div>\n <div className=\"apps_text\">\n <span id=\"app-name\">{props.name}</span>\n <span id=\"app-address\">{props.url}</span>\n </div>\n </div>\n </a>\n </div>\n );\n}\n\nfunction Bookmarks() {\n let bookmarkList = getLinks();\n var items = [];\n for (var i = 0; i < bookmarkList.bookmarks.length; i++) {\n items.push(\n <LinkGroups\n key={i}\n category={bookmarkList.bookmarks[i].category}\n links={bookmarkList.bookmarks[i].links}\n />\n );\n }\n return (\n <section id=\"links\">\n <h3>Bookmarks</h3>\n <div id=\"links_loop\">\n {items}\n </div>\n </section>\n );\n}\n\nfunction LinkGroups(props) {\n var items = [];\n for (var i = 0; i < props.links.length; i++) {\n items.push(\n <LinkItem\n key={i}\n link={props.links[i]}\n />\n );\n }\n return (\n <div id=\"links_item\">\n <h4>{props.category}</h4>\n {items}\n </div>\n );\n}\n\nfunction LinkItem(props) {\n return (\n <div>\n <a href={props.link.url} className=\"theme_color-border theme_text-select\">{props.link.name}</a>\n </div>\n );\n}\n\nfunction ModalMenu() {\n var providers = getProviders();\n var items = [];\n var isChecked = localStorage.getItem(\"contenttype\");\n console.log(localStorage.getItem(\"contenttype\"));\n for (var i = 0; i < providers.providers.length; i++) {\n items.push(\n <Provider \n key={i}\n provider={providers.providers[i]}\n />\n );\n }\n return (\n <section id=\"modal\">\n <div>\n <header id=\"modal-header\">\n <h1>Options</h1>\n <a href=\"#\" title=\"Close\" className=\"modal-close\">\n <span className=\"iconify\" data-icon=\"mdi-close\"></span>\n </a>\n </header>\n\n <h2>Color themes</h2>\n\n <div id=\"modal-theme\">\n <button data-theme=\"blackboard\" className=\"theme-button theme-blackboard\" onClick={updateTheme}>Blackboard</button>\n <button data-theme=\"gazette\" className=\"theme-button theme-gazette\" onClick={updateTheme}>Gazette</button>\n <button data-theme=\"espresso\" className=\"theme-button theme-espresso\" onClick={updateTheme}>Espresso</button>\n <button data-theme=\"cab\" className=\"theme-button theme-cab\" onClick={updateTheme}>Cab</button>\n <button data-theme=\"cloud\" className=\"theme-button theme-cloud\" onClick={updateTheme}>Cloud</button>\n <button data-theme=\"lime\" className=\"theme-button theme-lime\" onClick={updateTheme}>Lime</button>\n <button data-theme=\"passion\" className=\"theme-button theme-passion\" onClick={updateTheme}>Passion</button>\n <button data-theme=\"blues\" className=\"theme-button theme-blues\" onClick={updateTheme}>Blues</button>\n <button data-theme=\"chalk\" className=\"theme-button theme-chalk\" onClick={updateTheme}>Chalk</button>\n <button data-theme=\"tron\" className=\"theme-button theme-tron\" onClick={updateTheme}>Tron</button>\n <button data-theme=\"paper\" className=\"theme-button theme-paper\" onClick={updateTheme}>Paper</button>\n <button data-theme=\"cyberpunk\" className=\"theme-button theme-cyberpunk\" onClick={updateTheme}>Cyberpunk</button>\n <button data-theme=\"quadra\" className=\"theme-button theme-panam\" onClick={updateTheme}>Quadra</button>\n <button data-theme=\"panam\" className=\"theme-button theme-panam\" onClick={updateTheme}>Panam</button>\n <button data-theme=\"touch\" className=\"theme-button theme-touch\" onClick={updateTheme}>Touch</button>\n <button data-theme=\"peek\" className=\"theme-button theme-peek\" onClick={updateTheme}>Peek</button>\n </div>\n\n\n <h2>Search options</h2>\n <section id=\"providers\">\n <table>\n <tbody>\n <tr>\n <th>Website</th>\n <th>Prefix</th>\n </tr>\n {items}\n </tbody>\n </table>\n </section>\n\n <header id=\"modal-footer\">\n <a href=\"https://github.com/jeroenpardon/\"><span className=\"iconify\" data-icon=\"mdi-github-box\"></span></a>\n <a href=\"https://materialdesignicons.com/\"><span className=\"iconify\" data-icon=\"mdi-material-design\"></span></a>\n <HideButton \n checked = {isChecked}\n />\n </header>\n </div>\n </section>\n );\n}\n\nfunction HideButton(props) {\n console.log(props.checked);\n if(props.checked === \"true\") {\n console.log(\"icon should be grey\");\n return (\n <div className=\"sneaky\"><input type=\"checkbox\" id=\"contenttype\" onChange={udpateDisplayedItems} defaultChecked={true}></input>\n <label for=\"contenttype\"><span className=\"iconify\" data-icon=\"mdi-domino-mask\"></span></label></div>\n );\n } else {\n console.log(\"icon should be white\");\n return (\n <div className=\"sneaky\"><input type=\"checkbox\" id=\"contenttype\" onChange={udpateDisplayedItems} defaultChecked={false}></input>\n <label for=\"contenttype\"><span className=\"iconify\" data-icon=\"mdi-domino-mask\"></span></label></div>\n );\n }\n}\n\nfunction Provider(props) {\n return (\n <tr>\n <td><a href={props.provider.url}>{props.provider.name}</a></td>\n <td>{props.provider.prefix}</td>\n </tr>\n );\n}\n\nfunction ModalInit() {\n setDisplayedItems();\n return (\n <div id=\"modal_init\">\n <a className=\"btn\" href=\"#modal\">\n <span className=\"iconify icon\" data-icon=\"mdi-xbox-controller-menu\"></span>\n </a>\n </div>\n );\n}\n\nReactDOM.render(\n <Homepage />,\n document.getElementById('root')\n);\n\n//Functions below this line are for calculating data for\n//other functions\n\nfunction date() {\n let currentDate = new Date();\n let dateOptions = {\n weekday: \"long\",\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\"\n };\n let date = currentDate.toLocaleDateString(\"en-GB\", dateOptions);\n return date;\n}\nfunction fixDigits(k) {\n if (k < 10) {\n return \"0\" + k;\n }\n else {\n return k;\n }\n}\nfunction greet() {\n let currentTime = new Date();\n let greet = Math.floor(currentTime.getHours() / 6);\n let easterEggChance = Math.floor(Math.random() * 100);\n let greetings = require('./messages.json');\n let timeBased = [];\n let easterEggs = [];\n for (var i = 0; i < greetings.messages.length; i++) {\n if (greetings.messages[i].easteregg === \"FALSE\") {\n timeBased = timeBased.concat(greetings.messages[i]);\n } else {\n easterEggs = easterEggs.concat(greetings.messages[i]);\n }\n }\n if (easterEggChance > 10) {\n return timeBased[greet].message;\n } else {\n let easterEggText = Math.floor(Math.random() * easterEggs.length);\n return easterEggs[easterEggText].message;\n }\n}\nfunction Clock() {\n const [date, setDate] = useState(new Date());\n\n function refreshClock() {\n setDate(new Date());\n }\n useEffect(() => {\n const timerId = setInterval(refreshClock, 1000);\n return function cleanup() {\n clearInterval(timerId);\n };\n }, []);\n\n var hour = date.getHours();\n var minutes = date.getMinutes();\n //var seconds = date.getSeconds();\n var midday = \"AM\";\n midday = (hour >= 12) ? \"PM\" : \"AM\";\n hour = (hour === 0) ? 12 : ((hour > 12) ? (hour - 12) : hour);\n minutes = fixDigits(minutes);\n //seconds = fixDigits(seconds);\n let time = hour + \":\" + minutes + \" \" + midday;\n\n return (\n <h2 id=\"clock\">{time}</h2>\n\n );\n}\nfunction getApps() {\n let applications = require('./apps.json');\n return applications;\n}\nfunction getLinks() {\n let links = require('./links.json');\n return links;\n}\nfunction getProviders() {\n let providers = require('./providers.json');\n return providers;\n}\nfunction getThemes() {\n let themes = require('./themes.json');\n return themes;\n}\nfunction updateTheme(e) {\n var themes = getThemes();\n var themeName = e.target.innerHTML.toLowerCase();\n var index = themes.themes.findIndex(function(item, i){\n return item.name === themeName;\n });\n localStorage.setItem(\"image-background\", themes.themes[index].imagebackground);\n localStorage.setItem(\"color-background\", themes.themes[index].colorbackground);\n localStorage.setItem(\"color-search-background\", themes.themes[index].colorserachbackground);\n localStorage.setItem(\"color-text-pri\",themes.themes[index].colortextpri);\n localStorage.setItem(\"color-text-acc\", themes.themes[index].colortextacc);\n localStorage.setItem(\"color-border\", themes.themes[index].colorborder);\n \n //document.documentElement.style.setProperty(prop, `var(--${themeName}${prop.substring(10)})`);\n setTheme();\n}\nfunction setTheme() {\n setValueFromLocalStorage('image-background');\n setValueFromLocalStorage('color-background');\n setValueFromLocalStorage('color-search-background');\n setValueFromLocalStorage('color-text-pri');\n setValueFromLocalStorage('color-text-acc');\n setValueFromLocalStorage('color-border');\n setValueFromLocalStorage('content-display');\n}\nfunction handleKeyPress(e) {\n var sindex = 0;\n var cycle = false;\n var key = e.keyCode || e.which;\n var text = e.target.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 default :\n break;\n }\n }\n }\n if(key === 32){ //Space to go to search\n updateLabel(text);\n }\n sindex = 0;\n cycle = false;\n updateLabel(text);\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 case \"d\":\n document.getElementById(\"searchType\").innerHTML = \"Duck Duck Go search\";\n break;\n case \"di\":\n document.getElementById(\"searchType\").innerHTML = \"Discogs search\";\n break;\n case \"i\":\n document.getElementById(\"searchType\").innerHTML = \"IMDB search\";\n break;\n case \"m\":\n document.getElementById(\"searchType\").innerHTML = \"TheMovieDB search\";\n break;\n case \"r\":\n document.getElementById(\"searchType\").innerHTML = \"Reddit search\";\n break;\n case \"q\":\n document.getElementById(\"searchType\").innerHTML = \"Qwant search\";\n break;\n case \"so\":\n document.getElementById(\"searchType\").innerHTML = \"Soundcloud search\";\n break;\n case \"s\":\n document.getElementById(\"searchType\").innerHTML = \"Spotify search\";\n break;\n case \"tv\":\n document.getElementById(\"searchType\").innerHTML = \"TheTVDB search\";\n break;\n case \"t\":\n document.getElementById(\"searchType\").innerHTML = \"Trakt search\";\n break;\n case \"y\":\n document.getElementById(\"searchType\").innerHTML = \"YouTube search\";\n break;\n case \"w\":\n document.getElementById(\"searchType\").innerHTML = \"Wikipedia search\";\n break;\n case \"p\":\n document.getElementById(\"searchType\").innerHTML = \"Plex search\";\n break;\n case \"rt\":\n document.getElementById(\"searchType\").innerHTML = \"Rotten Tomatoes search\";\n break;\n default:\n document.getElementById(\"searchType\").innerHTML = \"Invalid search\";\n break;\n }\n}else {\n document.getElementById(\"searchType\").innerHTML = \"Google search\";\n }\n}\nfunction search(text) {\n if (text[0] === '/') {\n if (text.indexOf(' ') > -1) {\n let option = text.substr(1, text.indexOf(' ') - 1) || text.substr(1);\n var subtext = text.substr(2 + option.length);\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 case \"w\":\n window.location = \"https://en.wikipedia.org/w/index.php?search=\" + subtext;\n break;\n case \"p\":\n window.location = \"https://app.plex.tv/desktop/#!/search?query=\" + subtext;\n break;\n case \"rt\":\n window.location = \"https://www.rottentomatoes.com/search?search=\" + subtext;\n break;\n default :\n break;\n }\n } else {\n let 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 default :\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}\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}\nfunction containsProtocol(str) {\n var pattern = new RegExp('^(https?:\\\\/\\\\/){1}.*', 'i');\n return !!pattern.test(str);\n}\nString.prototype.replaceAll = function(search, replacement) {\n var target = this;\n return target.split(search).join(replacement);\n};\nfunction udpateDisplayedItems(e) {\n localStorage.setItem('contenttype', e.target.checked);\n if (e.target.checked) {\n localStorage.setItem('content-display', 'none');\n } else {\n localStorage.setItem('content-display', 'block');\n }\n setDisplayedItems();\n}\nfunction setDisplayedItems() {\n setValueFromLocalStorage('contenttype');\n setValueFromLocalStorage('content-display');\n}"]},"metadata":{},"sourceType":"module"}