You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
21 KiB
Plaintext
1 line
21 KiB
Plaintext
[{"C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\index.tsx":"1","C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\reportWebVitals.ts":"2","C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\App.tsx":"3","C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\components\\Header.tsx":"4","C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\components\\Home.tsx":"5","C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\components\\Main.tsx":"6","C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\components\\Contact.tsx":"7","C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\components\\Resume.tsx":"8","C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\components\\ProjectGrid.tsx":"9","C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\cusotmHooks.ts":"10","C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\components\\Footer.tsx":"11","C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\components\\AboutMe.tsx":"12"},{"size":560,"mtime":1609455390298,"results":"13","hashOfConfig":"14"},{"size":440,"mtime":1609445337674,"results":"15","hashOfConfig":"14"},{"size":384,"mtime":1609720686967,"results":"16","hashOfConfig":"14"},{"size":1395,"mtime":1609720686979,"results":"17","hashOfConfig":"14"},{"size":235,"mtime":1609720686977,"results":"18","hashOfConfig":"14"},{"size":424,"mtime":1609644947153,"results":"19","hashOfConfig":"14"},{"size":142,"mtime":1609448138377,"results":"20","hashOfConfig":"14"},{"size":132,"mtime":1609448124025,"results":"21","hashOfConfig":"14"},{"size":9456,"mtime":1609720687002,"results":"22","hashOfConfig":"14"},{"size":1072,"mtime":1609462531624,"results":"23","hashOfConfig":"14"},{"size":1241,"mtime":1609720686985,"results":"24","hashOfConfig":"14"},{"size":5418,"mtime":1609720686980,"results":"25","hashOfConfig":"14"},{"filePath":"26","messages":"27","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"28"},"lcbj9u",{"filePath":"29","messages":"30","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"28"},{"filePath":"31","messages":"32","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"28"},{"filePath":"33","messages":"34","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"28"},{"filePath":"35","messages":"36","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"28"},{"filePath":"37","messages":"38","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"28"},{"filePath":"39","messages":"40","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"28"},{"filePath":"41","messages":"42","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"28"},{"filePath":"43","messages":"44","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"45","usedDeprecatedRules":"28"},{"filePath":"46","messages":"47","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"48","messages":"49","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"28"},{"filePath":"50","messages":"51","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"52","usedDeprecatedRules":"53"},"C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\index.tsx",[],["54","55"],"C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\reportWebVitals.ts",[],"C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\App.tsx",[],"C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\components\\Header.tsx",[],"C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\components\\Home.tsx",[],"C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\components\\Main.tsx",[],"C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\components\\Contact.tsx",[],"C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\components\\Resume.tsx",[],"C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\components\\ProjectGrid.tsx",["56"],"/**\n * TODO:\n * - For things that can't be linked, use <ExpandAltOutlined /> to signal that clicking will open a modal https://ant.design/components/modal/\n * in order to give a more complex writeup and some pictures\n * - Tooltip for modal and linkable items, possibly <QuestionCircleOutlined /> which displays a modal with an example card with tooltips or explanations\n * - Footer\n * - Responsive top bar\n *\n */\n\nimport \"./ProjectGrid.scss\";\nimport Masonry from \"masonry-layout\";\nimport { useEffect } from \"react\";\nimport {LinkOutlined} from \"@ant-design/icons\";\nimport CodeDaySD from \"../images/SanDiego.svg\";\nimport Foresight from \"../images/foresightsports.png\";\nimport Distest from \"../images/distest.svg\";\nimport Scoresaver from \"../images/scoresaver.svg\";\nimport Hashicorp from \"../images/HashiCorp_Logo_no_text.png\";\n\n\ntype GridElementImageProps = {\n image_url: string;\n image_alt: string;\n title: string;\n text: string;\n link?: string;\n org?: string;\n};\n\ntype GridElementProps = {\n title: string;\n text: string;\n link?: string;\n org?: string;\n};\n\nconst OneWide = ({ title, text, link, org }: GridElementProps) => {\n if (link === undefined) {\n return (\n <div className={\"OneWide GridElement\"}>\n <div className={\"GridElementInternal\"}>\n <div className={\"title\"}>\n <h2>{title}</h2>\n {org && <h3>{org}</h3>}\n </div>\n <div className={\"description\"}>\n <p>{text}</p>\n </div>\n </div>\n </div>\n );\n }\n return (\n <a className={\"OneWide GridElement Link\"} href={link} rel={\"noreferrer\"} target={\"_blank\"}>\n <div className={\"GridElementInternal\"}>\n <div className={\"title\"}>\n <h2>{title}</h2>\n {org && <h3>{org}</h3>}\n <LinkOutlined className={\"LinkIcon\"}/>\n </div>\n <div className={\"description\"}>\n <p>{text}</p>\n </div>\n </div>\n </a>\n );\n};\n\nconst OneWidePic = ({\n image_url,\n image_alt,\n title,\n text,\n link,\n org,\n}: GridElementImageProps) => {\n if (link === undefined) {\n return (\n <div className={\"OneWide Pic GridElement\"}>\n <div className={\"GridElementInternal\"}>\n <div className={\"image\"}>\n <img src={image_url} alt={image_alt} />\n </div>\n <div className={\"description\"}>\n <h2>{title}</h2>\n {org && <h3>{org}</h3>}\n\n <p>{text}</p>\n </div>\n </div>\n </div>\n );\n }\n return (\n <a className={\"OneWide Pic GridElement Link\"} href={link} target={\"_blank\"} rel={\"noreferrer\"}>\n <div className={\"GridElementInternal\"}>\n <div className={\"image\"}>\n <img src={image_url} alt={image_alt} />\n <LinkOutlined className={\"LinkIcon\"}/>\n </div>\n <div className={\"description\"}>\n <h2>{title}</h2>\n {org && <h3>{org}</h3>}\n <p>{text}</p>\n </div>\n </div>\n </a>\n );\n};\n\nconst FourByOneGridElement = ({\n image_url,\n image_alt,\n title,\n text,\n link,\n org,\n}: GridElementImageProps) => {\n if (link === undefined) {\n return (\n <div className={\"FourByOne GridElement\"}>\n <div className={\"GridElementInternal\"}>\n <div className={\"image\"}>\n <img src={image_url} alt={image_alt} />\n </div>\n <div className={\"description\"}>\n <h2>{title}</h2>\n {org && <h3>{org}</h3>}\n <p>{text}</p>\n </div>\n </div>\n </div>\n );\n }\n return (\n <a className={\"FourByOne GridElement Link\"} href={link} target={\"_blank\"} rel={\"noreferrer\"}>\n <div className={\"GridElementInternal\"}>\n <div className={\"image\"}>\n <img src={image_url} alt={image_alt} />\n <LinkOutlined className={\"LinkIcon\"}/>\n </div>\n <div className={\"description\"}>\n <h2>{title}</h2>\n {org && <h3>{org}</h3>}\n <p>{text}</p>\n </div>\n </div>\n </a>\n );\n};\n\nexport const ProjectGrid = () => {\n useEffect(() => {\n var elem = document.querySelector(\"#project-grid\");\n\n // @ts-ignore\n var msnry = new Masonry(elem, {\n itemSelector: \".GridElement\",\n gutter: 0,\n columnWidth: \".GridSizer\",\n percentPosition: true,\n });\n });\n\n return (\n <div>\n <div id={\"project-grid-parent\"}>\n <div id={\"project-header\"}>\n <h2></> My Projects</h2>\n <p>\n A gallery of some of my most interesting projects. Look for <LinkOutlined />, click those projects for more information!\n </p>\n </div>\n <div id={\"project-grid\"}>\n\n <div className={\"GridSizer\"}/>\n <OneWide\n title={\"ElaticMatch\"}\n org={\"CodeDay\"}\n text={\"A set of tools, including a custom suggestion and weighting system, as well as a custom matching algorithm that I wrote and used to match around 350 students to the best-fitting mentors in the CodeDay Labs summer internship program in 2020.\"}\n link={\"https://github.com/codeday/labs-elastic-match\"}\n />\n <OneWide\n title={\"John Peter\"}\n org={\"CodeDay\"}\n text={\n \"John Peter is a Discord bot used for moderation and server management for Virtual CodeDay. It has a very extensive featureset, and has been used for multiple CodeDays and has worked with over 1000 students.\"\n }\n link={\"https://github.com/codeday/johnpeter-discord\"}\n />\n <OneWide\n title={\"CopyMoji\"}\n org={\"BetterDiscord\"}\n text={\n \"An extension for the alternate discord client BetterDiscord that changes the functionality of copying emoji to copy the actual emoji characters rather than their names from the discord client.\"\n }\n link={\"https://github.com/JakeCover/BetterDiscordExtensions/tree/main/plugins/CopyMoji\"}\n />\n <OneWidePic\n image_url={CodeDaySD}\n image_alt={\"CodeDay San Diego Logo\"}\n org={\"CodeDay\"}\n title={\"CodeDay San Diego\"}\n text={\n \"A 24 hour hackathon occurring around the world a few times a year. I volunteered for and then later ran the San Diego event.\"\n }\n link={\"https://event.codeday.org/sandiego\"}\n />\n <FourByOneGridElement\n image_url={Foresight}\n image_alt={\"Foresight Sports Logo\"}\n title={\"Foresight Sports\"}\n text={\n \"Foresight Sports creates advanced augmented reality sports experiences. I created multiple games using Unity that took data from their launch monitor technology and translated it into a seamless experience.\"\n }\n />\n <OneWidePic\n image_url={Distest}\n image_alt={\"Distest Logo\"}\n title={\"Distest\"}\n org={\"Random Projects\"}\n text={\n \"Distest is a testing library I wrote for Discord bots that allows for full integration tests of bots, improving the discord bot development workflow significantly. As far as I know, it's the only tool available for this sort of testing.\"\n }\n link={\"https://github.com/JakeCover/distest\"}\n />\n <OneWidePic\n image_url={Scoresaver}\n image_alt={\"Scoresaver Logo\"}\n title={\"ScoreSaver\"}\n org={\"Random Projects\"}\n text={\n \"A Chrome extension to help you download beatsaber songs directly from ScoreSaber. No more searching for mapper names on BeatSaver, just download the newest ranked songs directly!\"\n }\n link={\"https://github.com/JakeCover/ScoreSaverExtention\"}\n />\n <OneWide\n title={\"Personal Website\"}\n org={\"Random Projects\"}\n text={\n \"You're looking at it! There's not a whole lot to this, it's just a React site hosted on GitHub Pages, but I didn't know React before starting on this so I'm pretty proud of it.\"\n }\n link={\"https://github.com/JakeCover/PersonalWebsite_Static\"}\n />\n <OneWidePic\n image_url={Hashicorp}\n image_alt={\"HashiCorp Logo\"}\n title={\"Hashicorp Stack Sysadmin\"}\n org={\"CodeDay, Random Projects\"}\n text={\n \"I've setup and used a stack consisting of Nomad, Consul, and Vault along with Traefik both at CodeDay, where it runs almost every service we have, as well as at home, where I use it to run a number of assorted services on a few old machines. I strongly recommend it, it's very powerful and not all that complex to get started with!\"\n }\n />\n <OneWide\n title={\"CodeDay\"}\n text={\n \"CodeDay, an event by SRND, is a beginner-friendly 24 hour event for students that challenges\\n attendees to create a game or an app.\"\n }\n />\n </div>\n </div>\n </div>\n );\n};\n","C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\cusotmHooks.ts",[],"C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\components\\Footer.tsx",[],"C:\\Users\\jdc10\\Documents\\GitHub\\PersonalWebsite_Static\\src\\components\\AboutMe.tsx",["57","58","59","60","61"],"import \"./AboutMe.scss\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Tooltip } from \"antd\";\r\nimport { useState, useEffect } from \"react\";\r\nimport axios from \"axios\";\r\n\r\nconst TelegramOutlinedSvg = () => {\r\n return (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n version=\"1.1\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n style={{\r\n fillRule: \"evenodd\",\r\n clipRule: \"evenodd\",\r\n strokeLinejoin: \"round\",\r\n strokeMiterlimit: 1.41421,\r\n }}\r\n >\r\n <path\r\n id=\"telegram-1\"\r\n d=\"M18.384,22.779c0.322,0.228 0.737,0.285 1.107,0.145c0.37,-0.141 0.642,-0.457 0.724,-0.84c0.869,-4.084 2.977,-14.421 3.768,-18.136c0.06,-0.28 -0.04,-0.571 -0.26,-0.758c-0.22,-0.187 -0.525,-0.241 -0.797,-0.14c-4.193,1.552 -17.106,6.397 -22.384,8.35c-0.335,0.124 -0.553,0.446 -0.542,0.799c0.012,0.354 0.25,0.661 0.593,0.764c2.367,0.708 5.474,1.693 5.474,1.693c0,0 1.452,4.385 2.209,6.615c0.095,0.28 0.314,0.5 0.603,0.576c0.288,0.075 0.596,-0.004 0.811,-0.207c1.216,-1.148 3.096,-2.923 3.096,-2.923c0,0 3.572,2.619 5.598,4.062Zm-11.01,-8.677l1.679,5.538l0.373,-3.507c0,0 6.487,-5.851 10.185,-9.186c0.108,-0.098 0.123,-0.262 0.033,-0.377c-0.089,-0.115 -0.253,-0.142 -0.376,-0.064c-4.286,2.737 -11.894,7.596 -11.894,7.596Z\"\r\n />\r\n </svg>\r\n );\r\n};\r\n\r\nconst LastFmLi = () => {\r\n const [nowPlayingSong, setNowPlayingSong] = useState<string>(\"nothing\");\r\n const [nowPlayingArtist, setNowPlayingArtist] = useState<string>(\"no-one\");\r\n\r\n const updateNowPlaying = async () => {\r\n try {\r\n const songData = await axios.get(\r\n \"https://jsonplaceholder.typicode.com/posts\"\r\n );\r\n\r\n console.log(songData.data);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n updateNowPlaying();\r\n\r\n const interval = setInterval(updateNowPlaying, 10000);\r\n\r\n return () => {\r\n clearInterval(interval);\r\n };\r\n }, []);\r\n return <li>listening to ____ by ____</li>;\r\n};\r\n\r\nconst Age = () => {\r\n const [age, setAge] = useState(\r\n Math.round((new Date().getTime() - 1021004428000) / 1000)\r\n );\r\n\r\n const UpdateAge = () => {\r\n setAge(Math.round((new Date().getTime() - 1021004428000) / 1000));\r\n };\r\n\r\n useEffect(() => {\r\n UpdateAge();\r\n\r\n const interval = setInterval(UpdateAge, 1000);\r\n\r\n return () => {\r\n clearInterval(interval);\r\n };\r\n }, []);\r\n\r\n return (\r\n <li>\r\n <span style={{ fontFamily: \"Fira Code\" }}>{age}</span> seconds old{\" \"}\r\n </li>\r\n );\r\n};\r\n\r\nexport const AboutMe = () => {\r\n const EmailHandler = () => {\r\n const email = \"Y29udGFjdEBqYWtlY292ZXIubWU=\";\r\n window.prompt(\"Thanks for being a human! Here's my email:\", atob(email));\r\n };\r\n\r\n return (\r\n <div id={\"about-me-parent\"}>\r\n <div id={\"about-me\"} className={\"about-me-card\"}>\r\n <h1> Hi! I'm Jake!</h1>\r\n\r\n <div id={\"info-parent\"}>\r\n <div id={\"specific-info\"}>\r\n <h2> A bit about me:</h2>\r\n\r\n <ul>\r\n <li>\r\n <b>Name</b>: Jake Cover\r\n </li>\r\n <li>Occupation: Student</li>\r\n <li>Location: Southern California</li>\r\n <li>\r\n Projects:{\" \"}\r\n <button\r\n onClick={() =>\r\n document.getElementById(\"project-header\")?.scrollIntoView({\r\n behavior: \"smooth\",\r\n block: \"start\",\r\n })\r\n }\r\n >\r\n Down there\r\n </button>\r\n </li>\r\n <li>\r\n Resume: <Link to={\"/resume\"}>Over here</Link>\r\n </li>\r\n <li>\r\n Find Me:\r\n <ul>\r\n <li>\r\n Email: <button onClick={EmailHandler}>Click This</button>\r\n </li>\r\n <li>\r\n Twitter:{\" \"}\r\n <Tooltip title={\":(\"}>\r\n <a\r\n href={\"https://github.com/JakeCover\"}\r\n target=\"_blank\"\r\n rel=\"noreferrer\"\r\n >\r\n @cobular_\r\n </a>\r\n </Tooltip>\r\n </li>\r\n <li>\r\n GitHub:{\" \"}\r\n <a\r\n href={\"https://github.com/JakeCover\"}\r\n target=\"_blank\"\r\n rel=\"noreferrer\"\r\n >\r\n JakeCover\r\n </a>\r\n </li>\r\n <li>\r\n Telegram:{\" \"}\r\n <a\r\n href={\"https://t.me/cobular\"}\r\n target=\"_blank\"\r\n rel=\"noreferrer\"\r\n >\r\n @cobular\r\n </a>\r\n </li>\r\n <li>Elsewhere: Probably @cobular</li>\r\n </ul>\r\n </li>\r\n </ul>\r\n </div>\r\n <div id={\"fun-info\"}>\r\n <h2>I'm:</h2>\r\n <ul>\r\n <Age />\r\n <LastFmLi />\r\n <li>\r\n doing (general stuff - in class, projects, sleeping, games)\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n",["62","63"],{"ruleId":"64","replacedBy":"65"},{"ruleId":"66","replacedBy":"67"},{"ruleId":"68","severity":1,"message":"69","line":158,"column":9,"nodeType":"70","messageId":"71","endLine":158,"endColumn":14},{"ruleId":"68","severity":1,"message":"72","line":7,"column":7,"nodeType":"70","messageId":"71","endLine":7,"endColumn":26},{"ruleId":"68","severity":1,"message":"73","line":30,"column":10,"nodeType":"70","messageId":"71","endLine":30,"endColumn":24},{"ruleId":"68","severity":1,"message":"74","line":30,"column":26,"nodeType":"70","messageId":"71","endLine":30,"endColumn":43},{"ruleId":"68","severity":1,"message":"75","line":31,"column":10,"nodeType":"70","messageId":"71","endLine":31,"endColumn":26},{"ruleId":"68","severity":1,"message":"76","line":31,"column":28,"nodeType":"70","messageId":"71","endLine":31,"endColumn":47},{"ruleId":"64","replacedBy":"77"},{"ruleId":"66","replacedBy":"78"},"no-native-reassign",["79"],"no-negated-in-lhs",["80"],"@typescript-eslint/no-unused-vars","'msnry' is assigned a value but never used.","Identifier","unusedVar","'TelegramOutlinedSvg' is assigned a value but never used.","'nowPlayingSong' is assigned a value but never used.","'setNowPlayingSong' is assigned a value but never used.","'nowPlayingArtist' is assigned a value but never used.","'setNowPlayingArtist' is assigned a value but never used.",["79"],["80"],"no-global-assign","no-unsafe-negation"] |