@@ -2,28 +2,29 @@ module.exports = { env: { browser: true, es6: true, node: true node: true, }, extends: [ "eslint:recommended", "plugin:react/recommended", "plugin:prettier/recommended" "plugin:prettier/recommended", "plugin:@next/next/recommended", ], globals: { Atomics: "readonly", SharedArrayBuffer: "readonly" SharedArrayBuffer: "readonly", }, parserOptions: { ecmaFeatures: { jsx: true jsx: true, }, ecmaVersion: 2018, sourceType: "module" sourceType: "module", }, plugins: ["react", "prettier"], rules: { "prettier/prettier": "error", "react/jsx-uses-react": "error", "react/jsx-uses-vars": "error" } "react/jsx-uses-vars": "error", },};
modified
components/constellations.js
@@ -38,11 +38,11 @@ const Constellations = ({ options }) => { while (numStars < maxNumStars) { const randomPoint = [ cvs.width * Math.random(), cvs.height * Math.random() cvs.height * Math.random(), ]; stars.push({ loc: randomPoint, dir: [Math.random() > 0.5 ? "+" : "-", Math.random() > 0.5 ? "+" : "-"] dir: [Math.random() > 0.5 ? "+" : "-", Math.random() > 0.5 ? "+" : "-"], }); numStars++; }
@@ -55,7 +55,7 @@ const Constellations = ({ options }) => { ctx.clearRect(0, 0, cvs.width, cvs.height); // Draw the canvas stars.map(star => { stars.map((star) => { // Generate stars ctx.beginPath(); ctx.arc(...star.loc, 2, 0, 2 * Math.PI);
@@ -63,7 +63,7 @@ const Constellations = ({ options }) => { ctx.fill(); ctx.closePath(); // Generate lines to close stars const closeStars = stars.filter(closeStar => { const closeStars = stars.filter((closeStar) => { return ( Math.hypot( star.loc[0] - closeStar.loc[0],
@@ -71,23 +71,25 @@ const Constellations = ({ options }) => { ) < starDistance ); }); closeStars.map(closeStar => { closeStars.map((closeStar) => { ctx.beginPath(); ctx.moveTo(...star.loc); ctx.lineTo(...closeStar.loc); ctx.strokeStyle = `rgba(255, 255, 255, ${(starDistance - Math.hypot( star.loc[0] - closeStar.loc[0], star.loc[1] - closeStar.loc[1] )) / starDistance})`; ctx.strokeStyle = `rgba(255, 255, 255, ${ (starDistance - Math.hypot( star.loc[0] - closeStar.loc[0], star.loc[1] - closeStar.loc[1] )) / starDistance })`; ctx.stroke(); ctx.closePath(); }); }); // Update star locations stars = stars.map(star => { stars = stars.map((star) => { // Change star direction when hitting the side of the canvas if (star.loc[0] < 0) star.dir[0] = "+"; else if (star.loc[0] > cvs.width) star.dir[0] = "-";
@@ -118,7 +120,7 @@ const Constellations = ({ options }) => {};Constellations.propTypes = { options: PropTypes.object options: PropTypes.object,};export default Constellations;
modified
components/grid.js
@@ -2,7 +2,7 @@ import React from "react";import styled from "styled-components";import PropTypes from "prop-types";const Grid = props => {const Grid = (props) => { return ( <> <GridLines>
@@ -21,8 +21,8 @@ const Grid = props => {Grid.propTypes = { children: PropTypes.oneOfType([ PropTypes.element, PropTypes.arrayOf(PropTypes.element) ]) PropTypes.arrayOf(PropTypes.element), ]),};export default Grid;
@@ -37,7 +37,7 @@ const GridArea = styled.div` ". . . . . ."; min-height: 100vh; width: 100%; @media (${props => props.theme.breakpoints.tablet}) { @media (${(props) => props.theme.breakpoints.tablet}) { grid-template-columns: 10px 5% 1fr 1fr 5% 10px; }`;
@@ -45,7 +45,7 @@ const GridArea = styled.div`const GridLines = styled(GridArea)` position: fixed; pointer-events: none; @media (${props => props.theme.breakpoints.tablet}) { @media (${(props) => props.theme.breakpoints.tablet}) { display: none; }`;
@@ -53,5 +53,5 @@ const GridLines = styled(GridArea)`const GridLine = styled.div` border-right: 1px solid rgba(125, 125, 125, 0.2); grid-row: 1 / -1; grid-column: ${props => props.column}; grid-column: ${(props) => props.column};`;
modified
components/loader.js
@@ -40,17 +40,17 @@ const Grid = styled.div``;const GridColumn = styled.div` grid-column: ${props => props.column}; grid-column: ${(props) => props.column}; &::before { content: ""; display: block; width: 100%; height: 100vh; background-color: ${props => props.theme.colors.primary}; border-right: 1px solid ${props => props.theme.colors.primary}; background-color: ${(props) => props.theme.colors.primary}; border-right: 1px solid ${(props) => props.theme.colors.primary}; animation: ${FoldUp} 1000ms normal forwards; animation-delay: ${props => props.column * 100}ms; animation-delay: ${(props) => props.column * 100}ms; } &::after {
@@ -61,6 +61,6 @@ const GridColumn = styled.div` background-color: white; border-right: 1px solid white; animation: ${FoldUp} 1000ms normal forwards; animation-delay: ${props => props.column * 100}ms; animation-delay: ${(props) => props.column * 100}ms; }`;
modified
components/menu.js
@@ -46,10 +46,16 @@ const Menu = () => { <Link href="https://blog.bythewood.me/" passHref> <TopLink target="_blank">Blog</TopLink> </Link> <Link href="https://status.bythewood.me/properties/87097ef2-5643-4999-917e-72b172dd9e19/" passHref> <Link href="https://status.bythewood.me/properties/87097ef2-5643-4999-917e-72b172dd9e19/" passHref > <TopLink target="_blank">Status</TopLink> </Link> <Link href="https://analytics.bythewood.me/properties/30e69c06-9beb-4283-8919-8c7a686ab013/" passHref> <Link href="https://analytics.bythewood.me/properties/30e69c06-9beb-4283-8919-8c7a686ab013/" passHref > <TopLink target="_blank">Analytics</TopLink> </Link> <Link href="https://github.com/overshard" passHref>
modified
components/page.js
@@ -5,7 +5,7 @@ import styled from "styled-components";import { strings } from "../site.config";const Page = props => {const Page = (props) => { const baseTitle = strings.title; const defaultDescription = strings.description;
@@ -33,12 +33,12 @@ Page.propTypes = { gridArea: PropTypes.string, children: PropTypes.oneOfType([ PropTypes.node, PropTypes.arrayOf(PropTypes.node) ]) PropTypes.arrayOf(PropTypes.node), ]),};export default Page;const Main = styled.main` ${props => props.gridArea && `grid-area: ${props.gridArea};`} ${(props) => props.gridArea && `grid-area: ${props.gridArea};`}`;
modified
components/retrostars.js
@@ -11,23 +11,23 @@ const RetroStars = ({ options }) => { const starSizeRef = useRef(starSize); starSizeRef.current = starSize; const offsetStar = maxOffset => { const offsetStar = (maxOffset) => { return { x: -Math.floor( (mousePositionRef.current.x / window.innerWidth) * maxOffset ), y: -Math.floor( (mousePositionRef.current.y / window.innerHeight) * maxOffset ) ), }; }; useEffect(() => { // Mouse move event function const mouseMove = evt => { const mouseMove = (evt) => { setMousePosition({ x: evt.clientX, y: evt.clientY y: evt.clientY, }); };
@@ -95,18 +95,18 @@ const RetroStars = ({ options }) => { while (numStars < maxNumStars) { smallStars.push({ loc: [cvs.width * Math.random(), cvs.height * Math.random()], color: colors[Math.floor(Math.random() * colors.length)] color: colors[Math.floor(Math.random() * colors.length)], }); if (mediumStars.length < numStars / 4) { mediumStars.push({ loc: [cvs.width * Math.random(), cvs.height * Math.random()], color: colors[Math.floor(Math.random() * colors.length)] color: colors[Math.floor(Math.random() * colors.length)], }); } if (largeStars.length < numStars / 8) { largeStars.push({ loc: [cvs.width * Math.random(), cvs.height * Math.random()], color: colors[Math.floor(Math.random() * colors.length)] color: colors[Math.floor(Math.random() * colors.length)], }); } numStars++;
@@ -152,9 +152,9 @@ const RetroStars = ({ options }) => { [loc[0] - 5 + mediumStarOffset.x, loc[1] + mediumStarOffset.y], [loc[0] + mediumStarOffset.x, loc[1] - 5 + mediumStarOffset.y], [loc[0] + 5 + mediumStarOffset.x, loc[1] + mediumStarOffset.y], [loc[0] + mediumStarOffset.x, loc[1] + 5 + mediumStarOffset.y] [loc[0] + mediumStarOffset.x, loc[1] + 5 + mediumStarOffset.y], ]; squares.forEach(square => { squares.forEach((square) => { ctx.beginPath(); ctx.fillStyle = color; ctx.fillRect(...square, 5, 5);
@@ -179,9 +179,9 @@ const RetroStars = ({ options }) => { [loc[0] - 5 + largeStarOffset.x, loc[1] + largeStarOffset.y], [loc[0] + largeStarOffset.x, loc[1] - 5 + largeStarOffset.y], [loc[0] + 5 + largeStarOffset.x, loc[1] + largeStarOffset.y], [loc[0] + largeStarOffset.x, loc[1] + 5 + largeStarOffset.y] [loc[0] + largeStarOffset.x, loc[1] + 5 + largeStarOffset.y], ]; squares.forEach(square => { squares.forEach((square) => { ctx.beginPath(); ctx.fillStyle = color; ctx.fillRect(...square, 5, 5);
@@ -192,7 +192,7 @@ const RetroStars = ({ options }) => { [loc[0] - 10 + largeStarOffset.x, loc[1] + largeStarOffset.y], [loc[0] + largeStarOffset.x, loc[1] - 10 + largeStarOffset.y], [loc[0] + 10 + largeStarOffset.x, loc[1] + largeStarOffset.y], [loc[0] + largeStarOffset.x, loc[1] + 10 + largeStarOffset.y] [loc[0] + largeStarOffset.x, loc[1] + 10 + largeStarOffset.y], ]; ctx.beginPath(); ctx.fillStyle = color;
@@ -203,7 +203,7 @@ const RetroStars = ({ options }) => { 15 ); ctx.closePath(); squares.forEach(square => { squares.forEach((square) => { ctx.beginPath(); ctx.fillStyle = color; ctx.fillRect(...square, 5, 5);
@@ -238,7 +238,7 @@ const RetroStars = ({ options }) => {};RetroStars.propTypes = { options: PropTypes.object options: PropTypes.object,};export default RetroStars;
modified
components/synthwave.js
@@ -40,7 +40,7 @@ const Synthwave = () => { while (numStars < maxNumStars) { const randomPoint = [ cvs.width * Math.random(), cvs.height * Math.random() cvs.height * Math.random(), ]; stars.push(randomPoint); numStars++;
@@ -54,7 +54,7 @@ const Synthwave = () => { ctx.fillRect(0, 0, cvs.width, cvs.height); // Draw stars stars.forEach(star => { stars.forEach((star) => { ctx.beginPath(); ctx.arc(...star, 2 * Math.random(), 0, 2 * Math.PI); ctx.fillStyle = `rgba(255, 255, 255, ${Math.random()})`;
@@ -20,6 +20,7 @@ "styled-components": "^5.2.3" }, "devDependencies": { "@next/eslint-plugin-next": "^12.1.6", "eslint": "^8.18.0", "eslint-config-prettier": "^8.1.0", "eslint-plugin-prettier": "^4.0.0",
@@ -14,7 +14,7 @@ const About = () => { "HIPPA & PCI", "Developer", "SysAdmin", "Full-Stack" "Full-Stack", ]); const wordsRef = useRef(words); wordsRef.current = words;
@@ -56,7 +56,7 @@ const About = () => { <Background /> <Words> <TransitionGroup component={null}> {words.map(word => { {words.map((word) => { return ( <CSSTransition key={word}
@@ -159,7 +159,7 @@ const Words = styled.div` height: 100vh; overflow: hidden; @media (${props => props.theme.breakpoints.mobile}) { @media (${(props) => props.theme.breakpoints.mobile}) { top: 50px; font-size: 4vh; line-height: 10vh;
@@ -236,9 +236,9 @@ const Paragraph = styled.p` width: 75px; height: 5px; margin-bottom: 20px; background-color: ${props => props.theme.colors.blue}; background-color: ${(props) => props.theme.colors.blue}; } @media (${props => props.theme.breakpoints.mobile}) { @media (${(props) => props.theme.breakpoints.mobile}) { font-size: 1.2em; }`;
@@ -202,7 +202,7 @@ const Code = ({ commits }) => { );};export async function getServerSideProps(context) {export async function getServerSideProps() { // NOTE: We eval the require on purpose so that webpack doesn't bundle it const { Sequelize } = eval("require('sequelize')");
@@ -293,7 +293,7 @@ export async function getServerSideProps(context) { }, }; });};}Code.propTypes = { commits: PropTypes.object,
modified
pages/contact.js
@@ -10,7 +10,7 @@ const Contact = () => { "I prefer people reach out to me via email.", "If you'd like to get in touch with me about a new project I'm currently only working on open source stuff in my spare time.", "If you're trying to contact me about a job opportunity I'm currently employed with VanNoppen Marketing.", "If you just want to chat then I'm almost always on Discord!" "If you just want to chat then I'm almost always on Discord!", ]; return (
@@ -145,7 +145,7 @@ const Grid = styled.div` transform: translateX(-100vw); animation: ${SlideUp} 750ms 500ms forwards; @media (${props => props.theme.breakpoints.tablet}) { @media (${(props) => props.theme.breakpoints.tablet}) { margin-left: 0; grid-template-columns: 1fr; grid-template-rows: auto auto;
@@ -158,7 +158,7 @@ const GridColumn = styled.div` display: flex; align-items: center; @media (${props => props.theme.breakpoints.tablet}) { @media (${(props) => props.theme.breakpoints.tablet}) { min-height: auto; }`;
@@ -167,7 +167,7 @@ const GridLeft = styled(GridColumn)` grid-area: left; background-color: rgba(0, 0, 0, 0.9); @media (${props => props.theme.breakpoints.tablet}) { @media (${(props) => props.theme.breakpoints.tablet}) { grid-column: 1; grid-row: 1; }
@@ -176,7 +176,7 @@ const GridLeft = styled(GridColumn)`const GridRight = styled(GridColumn)` grid-area: right; @media (${props => props.theme.breakpoints.tablet}) { @media (${(props) => props.theme.breakpoints.tablet}) { grid-column: 1; grid-row: 2; }
@@ -185,7 +185,7 @@ const GridRight = styled(GridColumn)`const ContactWrapper = styled.div` padding-left: 60px; @media (${props => props.theme.breakpoints.tablet}) { @media (${(props) => props.theme.breakpoints.tablet}) { min-height: auto; padding-top: 30px; padding-bottom: 30px;
@@ -203,10 +203,10 @@ const Heading = styled.h1` width: 75px; height: 5px; margin-bottom: 10px; background-color: ${props => props.theme.colors.blue}; background-color: ${(props) => props.theme.colors.blue}; } @media (${props => props.theme.breakpoints.mobile}) { @media (${(props) => props.theme.breakpoints.mobile}) { margin-bottom: 10px; }`;
@@ -220,11 +220,11 @@ const ShoutOut = styled.h2` font-size: 1.4em; background-image: linear-gradient( to right, ${props => props.theme.colors.blue} 0, ${props => props.theme.colors.purple} 100% ${(props) => props.theme.colors.blue} 0, ${(props) => props.theme.colors.purple} 100% ); @media (${props => props.theme.breakpoints.mobile}) { @media (${(props) => props.theme.breakpoints.mobile}) { font-size: 1.1em; }`;
@@ -316,7 +316,7 @@ const ChatMessage = styled.div` background-color: rgba(0, 0, 0, 0.7); width: 65%; @media (${props => props.theme.breakpoints.mobile}) { @media (${(props) => props.theme.breakpoints.mobile}) { font-size: 1em; width: 70%; }
@@ -337,7 +337,7 @@ const ChatAvatar = styled.img` width: 50px; height: 50px; @media (${props => props.theme.breakpoints.mobile}) { @media (${(props) => props.theme.breakpoints.mobile}) { margin-right: 10px; width: 40px; height: 40px;
@@ -81,7 +81,7 @@ const ImageWrapper = styled.div` bottom: 0; left: 60px; @media (${props => props.theme.breakpoints.mobile}) { @media (${(props) => props.theme.breakpoints.mobile}) { left: 0; }
@@ -157,10 +157,10 @@ const Description = styled.h1` width: 75px; height: 5px; margin-bottom: 20px; background-color: ${props => props.theme.colors.blue}; background-color: ${(props) => props.theme.colors.blue}; } @media (${props => props.theme.breakpoints.mobile}) { @media (${(props) => props.theme.breakpoints.mobile}) { font-size: 2em; }`;
@@ -174,15 +174,15 @@ const Name = styled.h2` clear: left; background-image: linear-gradient( to right, ${props => props.theme.colors.blue} 0, ${props => props.theme.colors.purple} 100% ${(props) => props.theme.colors.blue} 0, ${(props) => props.theme.colors.purple} 100% ); transform: translateX(-100vw); animation-name: ${SlideStart}; animation-duration: 750ms; animation-fill-mode: forwards; @media (${props => props.theme.breakpoints.mobile}) { @media (${(props) => props.theme.breakpoints.mobile}) { font-size: 1.5em; }`;
@@ -10,191 +10,191 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9""@babel/code-frame@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg=="@babel/code-frame@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== dependencies: "@babel/highlight" "^7.16.7" "@babel/highlight" "^7.18.6""@babel/compat-data@^7.17.10": version "7.18.5" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.5.tgz#acac0c839e317038c73137fbb6ef71a1d6238471" integrity sha512-BxhE40PVCBxVEJsSBhB6UWyAuqJRxGsAw8BdHMJ3AKGydcwuWW4kOO3HmqBQAdcq/OP+/DlTVxLvsCzRTnZuGg=="@babel/compat-data@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.6.tgz#8b37d24e88e8e21c499d4328db80577d8882fa53" integrity sha512-tzulrgDT0QD6U7BJ4TKVk2SDDg7wlP39P9yAx1RfLy7vP/7rsDRlWVfbWxElslu56+r7QOhB2NSDsabYYruoZQ=="@babel/core@^7.18.5": version "7.18.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.5.tgz#c597fa680e58d571c28dda9827669c78cdd7f000" integrity sha512-MGY8vg3DxMnctw0LdvSEojOsumc70g0t18gNyUdAZqB1Rpd1Bqo/svHGvt+UJ6JcGX+DIekGFDxxIWofBxLCnQ== version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.6.tgz#54a107a3c298aee3fe5e1947a6464b9b6faca03d" integrity sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" "@babel/generator" "^7.18.2" "@babel/helper-compilation-targets" "^7.18.2" "@babel/helper-module-transforms" "^7.18.0" "@babel/helpers" "^7.18.2" "@babel/parser" "^7.18.5" "@babel/template" "^7.16.7" "@babel/traverse" "^7.18.5" "@babel/types" "^7.18.4" "@babel/code-frame" "^7.18.6" "@babel/generator" "^7.18.6" "@babel/helper-compilation-targets" "^7.18.6" "@babel/helper-module-transforms" "^7.18.6" "@babel/helpers" "^7.18.6" "@babel/parser" "^7.18.6" "@babel/template" "^7.18.6" "@babel/traverse" "^7.18.6" "@babel/types" "^7.18.6" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.1" semver "^6.3.0""@babel/generator@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d" integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw=="@babel/generator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.6.tgz#9ab2d46d3cbf631f0e80f72e72874a04c3fc12a9" integrity sha512-AIwwoOS8axIC5MZbhNHRLKi3D+DMpvDf9XUcu3pIVAfOHFT45f4AoDAltRbHIQomCipkCZxrNkfpOEHhJz/VKw== dependencies: "@babel/types" "^7.18.2" "@babel/types" "^7.18.6" "@jridgewell/gen-mapping" "^0.3.0" jsesc "^2.5.1""@babel/helper-annotate-as-pure@^7.16.0": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== dependencies: "@babel/types" "^7.16.7" "@babel/types" "^7.18.6""@babel/helper-compilation-targets@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz#67a85a10cbd5fc7f1457fec2e7f45441dc6c754b" integrity sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ=="@babel/helper-compilation-targets@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.6.tgz#18d35bfb9f83b1293c22c55b3d576c1315b6ed96" integrity sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg== dependencies: "@babel/compat-data" "^7.17.10" "@babel/helper-validator-option" "^7.16.7" "@babel/compat-data" "^7.18.6" "@babel/helper-validator-option" "^7.18.6" browserslist "^4.20.2" semver "^6.3.0""@babel/helper-environment-visitor@^7.16.7", "@babel/helper-environment-visitor@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz#8a6d2dedb53f6bf248e31b4baf38739ee4a637bd" integrity sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ=="@babel/helper-function-name@^7.17.9": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== dependencies: "@babel/template" "^7.16.7" "@babel/types" "^7.17.0""@babel/helper-hoist-variables@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== dependencies: "@babel/types" "^7.16.7""@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.16.0", "@babel/helper-module-imports@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== dependencies: "@babel/types" "^7.16.7""@babel/helper-module-transforms@^7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd" integrity sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA== dependencies: "@babel/helper-environment-visitor" "^7.16.7" "@babel/helper-module-imports" "^7.16.7" "@babel/helper-simple-access" "^7.17.7" "@babel/helper-split-export-declaration" "^7.16.7" "@babel/helper-validator-identifier" "^7.16.7" "@babel/template" "^7.16.7" "@babel/traverse" "^7.18.0" "@babel/types" "^7.18.0""@babel/helper-simple-access@^7.17.7": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz#4dc473c2169ac3a1c9f4a51cfcd091d1c36fcff9" integrity sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ== dependencies: "@babel/types" "^7.18.2""@babel/helper-split-export-declaration@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== dependencies: "@babel/types" "^7.16.7""@babel/helper-validator-identifier@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw=="@babel/helper-validator-option@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ=="@babel/helpers@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.2.tgz#970d74f0deadc3f5a938bfa250738eb4ac889384" integrity sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg== dependencies: "@babel/template" "^7.16.7" "@babel/traverse" "^7.18.2" "@babel/types" "^7.18.2""@babel/highlight@^7.16.7": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.12.tgz#257de56ee5afbd20451ac0a75686b6b404257351" integrity sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg== dependencies: "@babel/helper-validator-identifier" "^7.16.7""@babel/helper-environment-visitor@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.6.tgz#b7eee2b5b9d70602e59d1a6cad7dd24de7ca6cd7" integrity sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q=="@babel/helper-function-name@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.6.tgz#8334fecb0afba66e6d87a7e8c6bb7fed79926b83" integrity sha512-0mWMxV1aC97dhjCah5U5Ua7668r5ZmSC2DLfH2EZnf9c3/dHZKiFa5pRLMH5tjSl471tY6496ZWk/kjNONBxhw== dependencies: "@babel/template" "^7.18.6" "@babel/types" "^7.18.6""@babel/helper-hoist-variables@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== dependencies: "@babel/types" "^7.18.6""@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.16.0", "@babel/helper-module-imports@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== dependencies: "@babel/types" "^7.18.6""@babel/helper-module-transforms@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.6.tgz#57e3ca669e273d55c3cda55e6ebf552f37f483c8" integrity sha512-L//phhB4al5uucwzlimruukHB3jRd5JGClwRMD/ROrVjXfLqovYnvQrK/JK36WYyVwGGO7OD3kMyVTjx+WVPhw== dependencies: "@babel/helper-environment-visitor" "^7.18.6" "@babel/helper-module-imports" "^7.18.6" "@babel/helper-simple-access" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" "@babel/helper-validator-identifier" "^7.18.6" "@babel/template" "^7.18.6" "@babel/traverse" "^7.18.6" "@babel/types" "^7.18.6""@babel/helper-simple-access@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== dependencies: "@babel/types" "^7.18.6""@babel/helper-split-export-declaration@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== dependencies: "@babel/types" "^7.18.6""@babel/helper-validator-identifier@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g=="@babel/helper-validator-option@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw=="@babel/helpers@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.6.tgz#4c966140eaa1fcaa3d5a8c09d7db61077d4debfd" integrity sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ== dependencies: "@babel/template" "^7.18.6" "@babel/traverse" "^7.18.6" "@babel/types" "^7.18.6""@babel/highlight@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== dependencies: "@babel/helper-validator-identifier" "^7.18.6" chalk "^2.0.0" js-tokens "^4.0.0""@babel/parser@^7.16.7", "@babel/parser@^7.18.5": version "7.18.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.5.tgz#337062363436a893a2d22faa60be5bb37091c83c" integrity sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw=="@babel/parser@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.6.tgz#845338edecad65ebffef058d3be851f1d28a63bc" integrity sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw=="@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": version "7.18.3" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.3.tgz#c7b654b57f6f63cf7f8b418ac9ca04408c4579f4" integrity sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug== version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.6.tgz#6a1ef59f838debd670421f8c7f2cbb8da9751580" integrity sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ== dependencies: regenerator-runtime "^0.13.4""@babel/template@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== dependencies: "@babel/code-frame" "^7.16.7" "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7""@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.5", "@babel/traverse@^7.4.5": version "7.18.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.5.tgz#94a8195ad9642801837988ab77f36e992d9a20cd" integrity sha512-aKXj1KT66sBj0vVzk6rEeAO6Z9aiiQ68wfDgge3nHhA/my6xMM/7HGQUNumKZaoa2qUPQ5whJG9aAifsxUKfLA== dependencies: "@babel/code-frame" "^7.16.7" "@babel/generator" "^7.18.2" "@babel/helper-environment-visitor" "^7.18.2" "@babel/helper-function-name" "^7.17.9" "@babel/helper-hoist-variables" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" "@babel/parser" "^7.18.5" "@babel/types" "^7.18.4""@babel/template@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31" integrity sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw== dependencies: "@babel/code-frame" "^7.18.6" "@babel/parser" "^7.18.6" "@babel/types" "^7.18.6""@babel/traverse@^7.18.6", "@babel/traverse@^7.4.5": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.6.tgz#a228562d2f46e89258efa4ddd0416942e2fd671d" integrity sha512-zS/OKyqmD7lslOtFqbscH6gMLFYOfG1YPqCKfAW5KrTeolKqvB8UelR49Fpr6y93kYkW2Ik00mT1LOGiAGvizw== dependencies: "@babel/code-frame" "^7.18.6" "@babel/generator" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.6" "@babel/helper-function-name" "^7.18.6" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" "@babel/parser" "^7.18.6" "@babel/types" "^7.18.6" debug "^4.1.0" globals "^11.1.0""@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.18.4": version "7.18.4" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.4.tgz#27eae9b9fd18e9dccc3f9d6ad051336f307be354" integrity sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw=="@babel/types@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.6.tgz#5d781dd10a3f0c9f1f931bd19de5eb26ec31acf0" integrity sha512-NdBNzPDwed30fZdDQtVR7ZgaO4UKjuaQFH9VArS+HMnurlOY0JWN+4ROlu/iapMFwjRQU4pOG4StZfDmulEwGA== dependencies: "@babel/helper-validator-identifier" "^7.16.7" "@babel/helper-validator-identifier" "^7.18.6" to-fast-properties "^2.0.0""@emotion/is-prop-valid@^1.1.0":
@@ -328,6 +328,13 @@ resolved "https://registry.yarnpkg.com/@next/env/-/env-12.1.6.tgz#5f44823a78335355f00f1687cfc4f1dafa3eca08" integrity sha512-Te/OBDXFSodPU6jlXYPAXpmZr/AkG6DCATAxttQxqOWaq6eDFX25Db3dK0120GZrSZmv4QCe9KsZmJKDbWs4OA=="@next/eslint-plugin-next@^12.1.6": version "12.1.6" resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.1.6.tgz#dde3f98831f15923b25244588d924c716956292e" integrity sha512-yNUtJ90NEiYFT6TJnNyofKMPYqirKDwpahcbxBgSIuABwYOdkGwzos1ZkYD51Qf0diYwpQZBeVqElTk7Q2WNqw== dependencies: glob "7.1.7""@next/swc-android-arm-eabi@12.1.6": version "12.1.6" resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.1.6.tgz#79a35349b98f2f8c038ab6261aa9cd0d121c03f9"
@@ -1058,9 +1065,9 @@ duplexer@^0.1.2: integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==electron-to-chromium@^1.4.164: version "1.4.170" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.170.tgz#0415fc489402e09bfbe1f0c99bbf4d73f31d48d4" integrity sha512-rZ8PZLhK4ORPjFqLp9aqC4/S1j4qWFsPPz13xmWdrbBkU/LlxMcok+f+6f8YnQ57MiZwKtOaW15biZZsY5Igvw== version "1.4.171" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.171.tgz#2beb4e03744ef24a90580074edb87c06fbc86ed7" integrity sha512-DmVNWJlGfCYtdgyxp24Aznd7Ou6a+XBSawxODh4lc39OHdh1a49Sitw8oxwMqzzm8n9m2P93OelvIF09SOTNwA==emoji-regex@^8.0.0: version "8.0.0"
@@ -1170,9 +1177,9 @@ eslint-config-prettier@^8.1.0: integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==eslint-plugin-prettier@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== version "4.1.0" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.1.0.tgz#1cd4b3fadf3b3cdb30b1874b55e7f93f85eb43ad" integrity sha512-A3AXIEfTnq3D5qDFjWJdQ9c4BLhw/TqhSR+6+SVaoPJBAWciFEuJiNQh275OnjRrAi7yssZzuWBRw66VG2g6UA== dependencies: prettier-linter-helpers "^1.0.0"
@@ -1354,9 +1361,9 @@ flat-cache@^3.0.4: rimraf "^3.0.2"flatted@^3.1.0: version "3.2.5" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== version "3.2.6" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.6.tgz#022e9218c637f9f3fc9c35ab9c9193f05add60b2" integrity sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==fs-constants@^1.0.0: version "1.0.0"
@@ -1468,6 +1475,18 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==glob@7.1.7: version "7.1.7" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" minimatch "^3.0.4" once "^1.3.0" path-is-absolute "^1.0.0"glob@^7.1.3, glob@^7.1.4: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"