1 line
19 KiB
JSON
1 line
19 KiB
JSON
{"ast":null,"code":"var _jsxFileName = \"/home/seanedmunds/dev/home-page/src/index.js\",\n _s = $RefreshSig$();\n\nimport React from 'react';\nimport { useState, useEffect } from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\n\nfunction Homepage() {\n return /*#__PURE__*/_jsxDEV(\"main\", {\n id: \"container\",\n class: \"fade\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(Search, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(Header, {\n date: date(),\n greet: greet()\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n children: /*#__PURE__*/_jsxDEV(Applications, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 19,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 5\n }, this);\n}\n\n_c = Homepage;\n\nfunction Search() {\n return /*#__PURE__*/_jsxDEV(\"section\", {\n id: \"search\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n class: \"abackground\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n name: \"keywords\",\n type: \"text\",\n class: \"keyword\",\n id: \"keywords\",\n size: \"50\",\n spellcheck: \"true\",\n placeholder: \"\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 31,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n id: \"searchType\",\n class: \"Input-label\",\n children: \"Google search\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 32,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 30,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 29,\n columnNumber: 5\n }, this);\n}\n\n_c2 = Search;\n\nfunction Header(props) {\n return /*#__PURE__*/_jsxDEV(\"section\", {\n id: \"header\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n id: \"greeting_block\",\n children: /*#__PURE__*/_jsxDEV(\"h1\", {\n id: \"header_greet\",\n children: props.greet\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 42,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 5\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n id: \"date_block\",\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n id: \"header_date\",\n children: props.date\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 45,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Clock, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 46,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 44,\n columnNumber: 5\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 40,\n columnNumber: 5\n }, this);\n}\n\n_c3 = Header;\n\nfunction Applications(props) {\n let applications = getApps();\n\n for (var i = 0; i < applications.length; i++) {\n return /*#__PURE__*/_jsxDEV(\"section\", {\n id: \"apps\",\n children: /*#__PURE__*/_jsxDEV(\"script\", {\n type: \"text/handlebars-template\",\n id: \"apps-template\",\n children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n children: \"Applications\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 58,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n id: \"apps_loop\",\n children: [/*#__PURE__*/_jsxDEV(\"a\", {\n href: \"https://{applications.apps.url}\",\n class: \"{applications.apps.NSFW}-content\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 60,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n class: \"apps_item\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n class: \"apps_icon\",\n children: /*#__PURE__*/_jsxDEV(\"span\", {\n class: \"iconify icon\",\n \"data-icon\": \"mdi-{applications.apps.icon}\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 63,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 62,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n class: \"apps_text\",\n children: [/*#__PURE__*/_jsxDEV(\"span\", {\n id: \"app-name\",\n children: applications.apps.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 66,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n id: \"app-address\",\n children: applications.apps.url\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 67,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 65,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 61,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 59,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 57,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 56,\n columnNumber: 7\n }, this);\n }\n}\n\n_c4 = Applications;\nReactDOM.render( /*#__PURE__*/_jsxDEV(Homepage, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 78,\n columnNumber: 3\n}, this), document.getElementById('root')); //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}\n\nfunction fixDigits(k) {\n if (k < 10) {\n return \"0\" + k;\n } else {\n return k;\n }\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\n let greetings = require('./messages.json');\n\n let timeBased = [];\n let easterEggs = [];\n\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\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}\n\nfunction Clock() {\n _s();\n\n const [date, setDate] = useState(new Date());\n\n function refreshClock() {\n setDate(new Date());\n }\n\n useEffect(() => {\n const timerId = setInterval(refreshClock, 1000);\n return function cleanup() {\n clearInterval(timerId);\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 return /*#__PURE__*/_jsxDEV(\"h2\", {\n id: \"clock\",\n children: time\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 149,\n columnNumber: 5\n }, this);\n}\n\n_s(Clock, \"Gqi45WOZhU2c0BLYX0HoJeiR0fk=\");\n\n_c5 = Clock;\n\nfunction getApps() {\n let applications = require('./apps.json');\n\n return applications;\n}\n\nvar _c, _c2, _c3, _c4, _c5;\n\n$RefreshReg$(_c, \"Homepage\");\n$RefreshReg$(_c2, \"Search\");\n$RefreshReg$(_c3, \"Header\");\n$RefreshReg$(_c4, \"Applications\");\n$RefreshReg$(_c5, \"Clock\");","map":{"version":3,"sources":["/home/seanedmunds/dev/home-page/src/index.js"],"names":["React","useState","useEffect","ReactDOM","Homepage","date","greet","Search","Header","props","Applications","applications","getApps","i","length","apps","name","url","render","document","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","seconds","getSeconds","midday","time"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { useState, useEffect } from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\n\nfunction Homepage() {\n return (\n <main id=\"container\" class=\"fade\">\n <div>\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 </main>\n );\n}\n\nfunction Search() {\n return (\n <section id=\"search\">\n <div class =\"abackground\">\n <input name=\"keywords\" type=\"text\" class=\"keyword\" id=\"keywords\" size=\"50\" spellcheck=\"true\" placeholder=\"\"/>\n <label id=\"searchType\" class=\"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(props) {\n let applications = getApps();\n for (var i = 0; i < applications.length; i++) {\n return (\n <section id=\"apps\">\n <script type=\"text/handlebars-template\" id=\"apps-template\">\n <h3>Applications</h3>\n <div id=\"apps_loop\">\n <a href=\"https://{applications.apps.url}\" class=\"{applications.apps.NSFW}-content\"/>\n <div class=\"apps_item\">\n <div class=\"apps_icon\">\n <span class=\"iconify icon\" data-icon=\"mdi-{applications.apps.icon}\"></span>\n </div>\n <div class=\"apps_text\">\n <span id=\"app-name\">{applications.apps.name}</span>\n <span id=\"app-address\">{applications.apps.url}</span>\n </div>\n </div>\n </div>\n </script>\n </section>\n );\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}\n"]},"metadata":{},"sourceType":"module"} |