diff --git a/package-lock.json b/package-lock.json
index 5544ea6..1f060d0 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -36,7 +36,7 @@
"eslint-plugin-jsx-a11y": "^6.7.1",
"eslint-plugin-react": "^7.33.0",
"eslint-plugin-react-hooks": "^4.6.0",
- "gh-pages": "^5.0.0",
+ "gh-pages": "^6.1.1",
"sass": "^1.66.1",
"stylelint": "^13.13.1",
"stylelint-config-standard": "^21.0.0",
@@ -8553,17 +8553,6 @@
"node": ">=8"
}
},
- "node_modules/fork-ts-checker-webpack-plugin/node_modules/jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
"node_modules/fork-ts-checker-webpack-plugin/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -8625,14 +8614,6 @@
"node": ">=6"
}
},
- "node_modules/fork-ts-checker-webpack-plugin/node_modules/universalify": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
- "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
- "engines": {
- "node": ">= 10.0.0"
- }
- },
"node_modules/fork-ts-checker-webpack-plugin/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -8680,17 +8661,17 @@
}
},
"node_modules/fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "version": "11.2.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz",
+ "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
},
"engines": {
- "node": ">=6 <7 || >=8"
+ "node": ">=14.14"
}
},
"node_modules/fs-monkey": {
@@ -8841,17 +8822,17 @@
}
},
"node_modules/gh-pages": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-5.0.0.tgz",
- "integrity": "sha512-Nqp1SjkPIB94Xw/3yYNTUL+G2dxlhjvv1zeN/4kMC1jfViTEqhtVz/Ba1zSXHuvXCN9ADNS1dN4r5/J/nZWEQQ==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-6.1.1.tgz",
+ "integrity": "sha512-upnohfjBwN5hBP9w2dPE7HO5JJTHzSGMV1JrLrHvNuqmjoYHg6TBrCcnEoorjG/e0ejbuvnwyKMdTyM40PEByw==",
"dev": true,
"dependencies": {
"async": "^3.2.4",
- "commander": "^2.18.0",
+ "commander": "^11.0.0",
"email-addresses": "^5.0.0",
"filenamify": "^4.3.0",
"find-cache-dir": "^3.3.1",
- "fs-extra": "^8.1.0",
+ "fs-extra": "^11.1.1",
"globby": "^6.1.0"
},
"bin": {
@@ -8874,6 +8855,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/gh-pages/node_modules/commander": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz",
+ "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=16"
+ }
+ },
"node_modules/gh-pages/node_modules/globby": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
@@ -12443,10 +12433,12 @@
}
},
"node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
"optionalDependencies": {
"graceful-fs": "^4.1.6"
}
@@ -16377,17 +16369,6 @@
"js-yaml": "bin/js-yaml.js"
}
},
- "node_modules/react-scripts/node_modules/jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
"node_modules/react-scripts/node_modules/locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
@@ -16477,14 +16458,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/react-scripts/node_modules/universalify": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
- "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
- "engines": {
- "node": ">= 10.0.0"
- }
- },
"node_modules/react-scripts/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -19324,12 +19297,11 @@
}
},
"node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
"engines": {
- "node": ">= 4.0.0"
+ "node": ">= 10.0.0"
}
},
"node_modules/unpipe": {
@@ -20160,17 +20132,6 @@
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
},
- "node_modules/workbox-build/node_modules/jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
"node_modules/workbox-build/node_modules/source-map": {
"version": "0.8.0-beta.0",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz",
@@ -20190,14 +20151,6 @@
"punycode": "^2.1.0"
}
},
- "node_modules/workbox-build/node_modules/universalify": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
- "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
- "engines": {
- "node": ">= 10.0.0"
- }
- },
"node_modules/workbox-build/node_modules/webidl-conversions": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
diff --git a/package.json b/package.json
index bb71bcb..f2772c4 100644
--- a/package.json
+++ b/package.json
@@ -57,7 +57,7 @@
"eslint-plugin-jsx-a11y": "^6.7.1",
"eslint-plugin-react": "^7.33.0",
"eslint-plugin-react-hooks": "^4.6.0",
- "gh-pages": "^5.0.0",
+ "gh-pages": "^6.1.1",
"sass": "^1.66.1",
"stylelint": "^13.13.1",
"stylelint-config-standard": "^21.0.0",
diff --git a/src/components/UI/ContactForm.tsx b/src/components/UI/ContactForm.tsx
index 5fea1ac..7c3b5ff 100644
--- a/src/components/UI/ContactForm.tsx
+++ b/src/components/UI/ContactForm.tsx
@@ -10,7 +10,7 @@ import '../../styles/UI/ContactForm.scss';
const successButtonIcon = 'https://camo.githubusercontent.com/b55970b1d4c6e5d8d09a07556bce08ff3cfec080b680ad6b5be3ed46546e6f77/68747470733a2f2f6d656469612e67697068792e636f6d2f6d656469612f6b52654b6366727331596f546d74324151742f67697068792e676966';
-const ContactForm: React.FC = () => {
+function ContactForm(): React.ReactElement {
const [formContent, setFormContent] = useState(
JSON.parse(sessionStorage.getItem('formContent')!) || null,
// * ! = non-null assertion operator to tell TS that
@@ -313,6 +313,6 @@ const ContactForm: React.FC = () => {
)}
);
-};
+}
export default ContactForm;
diff --git a/src/components/UI/ExpertiseLinks.tsx b/src/components/UI/ExpertiseLinks.tsx
index a7d05a2..b450aa4 100644
--- a/src/components/UI/ExpertiseLinks.tsx
+++ b/src/components/UI/ExpertiseLinks.tsx
@@ -3,39 +3,41 @@ import { Link } from 'react-router-dom';
import '../../styles/UI/ExpertiseLinks.scss';
-const ExpertiseLinks: React.FC = () => (
-
-
- languages
-
-
- frameworks
-
-
- skills
-
-
- resume
-
-
-);
+function ExpertiseLinks(): React.ReactElement {
+ return (
+
+
+ languages
+
+
+ frameworks
+
+
+ skills
+
+
+ resume
+
+
+ );
+}
export default ExpertiseLinks;
diff --git a/src/components/UI/FileTabsNavbar.tsx b/src/components/UI/FileTabsNavbar.tsx
index 325b956..8568847 100644
--- a/src/components/UI/FileTabsNavbar.tsx
+++ b/src/components/UI/FileTabsNavbar.tsx
@@ -5,7 +5,7 @@ import { FaReact } from 'react-icons/fa';
import '../../styles/UI/FileTabsNavbar.scss';
-const FileTabsNavbar: React.FC = () => {
+function FileTabsNavbar(): React.ReactElement {
const iconSize = 26;
const { pathname } = useLocation();
@@ -74,6 +74,6 @@ const FileTabsNavbar: React.FC = () => {
);
-};
+}
export default FileTabsNavbar;
diff --git a/src/components/UI/LikeButton.tsx b/src/components/UI/LikeButton.tsx
index 3de61be..22a90f5 100644
--- a/src/components/UI/LikeButton.tsx
+++ b/src/components/UI/LikeButton.tsx
@@ -25,7 +25,9 @@ interface LikeButtonProps {
projectsLikes: Like[];
}
-const LikeButton: React.FC = ({ itemId, projectsLikes }) => {
+function LikeButton(props: LikeButtonProps): React.ReactElement {
+ const { itemId, projectsLikes } = props;
+
const [wasLiked, setWasLiked] = useState(false);
const [likeCount, setLikeCount] = useState(0);
const [error, setError] = useState(false);
@@ -36,7 +38,7 @@ const LikeButton: React.FC = ({ itemId, projectsLikes }) => {
const styleButton = useCallback(() => {
if (wasLiked) {
- likeBtn.current?.classList.toggle('liked');
+ likeBtn.current?.classList.add('liked');
}
}, [wasLiked]);
@@ -98,13 +100,15 @@ const LikeButton: React.FC = ({ itemId, projectsLikes }) => {
const handleLikeSubmit = async () => {
// ? Since 'wasLiked' was false, now it will be set to true. This is to
// ? trigger the function 'styleButton' to add the 'liked' class to the button.
- setWasLiked((wasLiked) => !wasLiked);
+ setWasLiked(true);
// * shows an instant update of the like count.
if (!wasLiked) {
setLikeCount((count) => count + 1);
// * set 'wasLiked' to false, so that the user can like the project again.
- setWasLiked((wasLiked) => !wasLiked);
+ setTimeout(() => {
+ setWasLiked(false);
+ }, 1000);
}
if (projectsLikes[0].error || error) {
@@ -164,6 +168,6 @@ const LikeButton: React.FC = ({ itemId, projectsLikes }) => {
)}
);
-};
+}
export default LikeButton;
diff --git a/src/components/UI/LineCount.tsx b/src/components/UI/LineCount.tsx
index 2abebff..b089472 100644
--- a/src/components/UI/LineCount.tsx
+++ b/src/components/UI/LineCount.tsx
@@ -1,6 +1,6 @@
import React, { useEffect, useState } from 'react';
-const LineCount: React.FC = () => {
+function LineCount(): React.ReactElement {
const [windowHeight, setWindowHeight] = useState(window.innerHeight);
const spanHeight = 24; // ? 24px.
@@ -29,6 +29,6 @@ const LineCount: React.FC = () => {
))}
);
-};
+}
export default LineCount;
diff --git a/src/components/UI/Navbar.tsx b/src/components/UI/Navbar.tsx
index 77d6ffc..09d2f59 100644
--- a/src/components/UI/Navbar.tsx
+++ b/src/components/UI/Navbar.tsx
@@ -16,7 +16,7 @@ import { LuSquareStack } from 'react-icons/lu';
import '../../styles/UI/Navbar.scss';
-const Navbar: React.FC = () => {
+function Navbar(): React.ReactElement {
const [isOpen, setIsOpen] = useState(false);
const [windowWidth, setWindowWidth] = useState(window.innerWidth);
const minWith = 768;
@@ -169,6 +169,6 @@ const Navbar: React.FC = () => {
);
-};
+}
export default Navbar;
diff --git a/src/components/UI/SplideCarousel.tsx b/src/components/UI/SplideCarousel.tsx
index a99e0f1..2d9b468 100644
--- a/src/components/UI/SplideCarousel.tsx
+++ b/src/components/UI/SplideCarousel.tsx
@@ -7,50 +7,50 @@ import SplideCarouselSlide from './SplideCarouselSlide.tsx';
import getRandomId from '../../utils/getRandomId.ts';
-/* eslint-disable no-undef */
interface SplideCarouselProps {
projectsGroup: Array<{}>;
projectsLikes: Array<{}>;
}
-const SplideCarousel: React.FC = ({
- projectsGroup,
- projectsLikes,
-}) => (
- <>
-
+
- {projectsGroup.map((projectData) => (
-
- ))}
-
- >
-);
+ }}
+ >
+ {projectsGroup.map((projectData) => (
+
+ ))}
+
+ >
+ );
+}
export default SplideCarousel;
diff --git a/src/components/UI/SplideCarouselSlide.tsx b/src/components/UI/SplideCarouselSlide.tsx
index 2f37469..1df503d 100644
--- a/src/components/UI/SplideCarouselSlide.tsx
+++ b/src/components/UI/SplideCarouselSlide.tsx
@@ -4,7 +4,6 @@ import { SplideSlide } from '@splidejs/react-splide';
import LikeButton from './LikeButton.tsx';
-/* eslint-disable no-undef */
interface SplideCarouselSlideProps {
projectData: {
id: string;
@@ -27,64 +26,67 @@ interface SplideCarouselSlideProps {
projectsLikes: Array<{}>;
}
-const SplideCarouselSlide: React.FC = ({
- projectData,
- projectsLikes,
-}) => (
-
-
-
-
![{projectData.data.img.alt}]({`${process.env.PUBLIC_URL}/projects-preview/${projectData.data.img.src}`})
-
- {`${projectData.projectType} project`}
-
-
-
-
-
- {projectData.data.projectName.name1}
-
- {projectData.data.projectName.name2}
-
-
-
- Description
- {projectData.data.description.join(' ')}
-
-
-
-
- {projectData.data.stack.map((stackItem) => (
-
- {stackItem}
-
-
- ))}
-
-
-
- Live version
-
-
- Source code
-
+function SplideCarouselSlide(props: SplideCarouselSlideProps) {
+ const { projectData, projectsLikes } = props;
+ return (
+
+
+
+
![{projectData.data.img.alt}]({`${process.env.PUBLIC_URL}/projects-preview/${projectData.data.img.src}`})
+
+ {`${projectData.projectType} project`}
+
+
+
+
+
+ {projectData.data.projectName.name1}
+
+ {projectData.data.projectName.name2}
+
+
+
+ Description
+ {projectData.data.description.join(' ')}
+
+
+
+
+ {projectData.data.stack.map((stackItem) => (
+
+ {stackItem}
+
+
+ ))}
+
+
-
-
-);
+
+ );
+}
export default SplideCarouselSlide;
diff --git a/src/components/animations/AccessPageVideo.tsx b/src/components/animations/AccessPageVideo.tsx
index a1266b7..5070f16 100644
--- a/src/components/animations/AccessPageVideo.tsx
+++ b/src/components/animations/AccessPageVideo.tsx
@@ -7,20 +7,22 @@ interface AccessPageVideoProps {
$videoElement: RefObject
| null;
}
-const AccessPageVideo: React.FC = ({ $videoElement }) => (
+function AccessPageVideo(props: AccessPageVideoProps): React.ReactElement {
+ const { $videoElement } = props;
/* eslint-disable jsx-a11y/media-has-caption */
-
- /* eslint-disable jsx-a11y/media-has-caption */
-);
+ return (
+
+ );
+}
/* eslint-disable no-undef */
diff --git a/src/components/animations/Drone.tsx b/src/components/animations/Drone.tsx
index dd12078..1593d03 100644
--- a/src/components/animations/Drone.tsx
+++ b/src/components/animations/Drone.tsx
@@ -2,7 +2,7 @@ import React, { useState, useEffect, useRef } from 'react';
import droneFile from '../../assets/images/gif/drone.gif';
import '../../styles/animations/Drone.scss';
-const Drone: React.FC = () => {
+function Drone(): React.ReactElement {
const [position, setPosition] = useState({ x: 0, y: 0 });
const [firstMove, setFirstMove] = useState(false);
const drone = useRef(null);
@@ -77,6 +77,6 @@ const Drone: React.FC = () => {
}}
/>
);
-};
+}
export default Drone;
diff --git a/src/components/animations/FloatingAstronaut.tsx b/src/components/animations/FloatingAstronaut.tsx
index fa42d0d..e4bd332 100644
--- a/src/components/animations/FloatingAstronaut.tsx
+++ b/src/components/animations/FloatingAstronaut.tsx
@@ -25,35 +25,39 @@ interface FloatingAstronautProps {
};
}
-const FloatingAstronaut: React.FC = ({
- animationSpeed,
- maxWidth,
- move,
- scale,
- rotation,
-}) => (
-
-);
+function FloatingAstronaut(props: FloatingAstronautProps): React.ReactElement {
+ const {
+ animationSpeed,
+ maxWidth,
+ move,
+ scale,
+ rotation,
+ } = props;
+
+ return (
+
+ );
+}
FloatingAstronaut.defaultProps = {
move: {
diff --git a/src/components/pages/AboutPage.tsx b/src/components/pages/AboutPage.tsx
index 28804ac..d7a55a0 100644
--- a/src/components/pages/AboutPage.tsx
+++ b/src/components/pages/AboutPage.tsx
@@ -12,14 +12,16 @@ import ExpertiseLinks from '../UI/ExpertiseLinks.tsx';
import setPageTitle from '../../utils/setPageTitle.ts';
-const AboutPage: React.FC = () => {
+function AboutPage(): React.ReactElement {
const $aboutPage = useRef(null);
setPageTitle('About me 🙋♂️');
useEffect(() => {
if ($aboutPage.current) {
- $aboutPage.current.style.display = 'flex'; // ?overrides the {display: none} on 'aboutPage.scss'. This is to prevent the aboutPage from showing before animation is applied.
+ // * overrides the {display: none} on 'aboutPage.scss'.
+ // * This is to prevent the aboutPage from showing before animation is applied.
+ $aboutPage.current.style.display = 'flex';
$aboutPage.current.classList.add('blend-in-out');
}
});
@@ -68,6 +70,6 @@ const AboutPage: React.FC = () => {
);
-};
+}
export default AboutPage;
diff --git a/src/components/pages/AccessPage.tsx b/src/components/pages/AccessPage.tsx
index dbdd44e..215d84c 100644
--- a/src/components/pages/AccessPage.tsx
+++ b/src/components/pages/AccessPage.tsx
@@ -26,7 +26,7 @@ const AstronautStyleProps = {
},
};
-const AccessPage = () => {
+function AccessPage(): React.ReactElement {
const $accessPageMain = useRef
(null);
const $videoElement = useRef(null);
const navigate = useNavigate();
@@ -79,6 +79,6 @@ const AccessPage = () => {
);
-};
+}
export default AccessPage;
diff --git a/src/components/pages/ContactPage.tsx b/src/components/pages/ContactPage.tsx
index 9728648..3c1f6d3 100644
--- a/src/components/pages/ContactPage.tsx
+++ b/src/components/pages/ContactPage.tsx
@@ -9,7 +9,7 @@ import ContactForm from '../UI/ContactForm.tsx';
import setPageTitle from '../../utils/setPageTitle.ts';
-const ContactPage: React.FC = () => {
+function ContactPage(): React.ReactElement {
const [windowWidth, setWindowWidth] = useState(window.innerWidth);
const laptopWidth = 1366;
@@ -42,6 +42,6 @@ const ContactPage: React.FC = () => {
);
-};
+}
export default ContactPage;
diff --git a/src/components/pages/ExpertiseSummaryPage.tsx b/src/components/pages/ExpertiseSummaryPage.tsx
index a85dde4..9901c32 100644
--- a/src/components/pages/ExpertiseSummaryPage.tsx
+++ b/src/components/pages/ExpertiseSummaryPage.tsx
@@ -6,7 +6,7 @@ import '../../styles/pages/ExpertiseSummaryPage.scss';
import setPageTitle from '../../utils/setPageTitle.ts';
-const ExpertiseSummaryPage: React.FC = () => {
+function ExpertiseSummaryPage(): React.ReactElement {
setPageTitle('My expertise 💼');
return (
@@ -35,6 +35,6 @@ const ExpertiseSummaryPage: React.FC = () => {
);
-};
+}
export default ExpertiseSummaryPage;
diff --git a/src/components/pages/HomePage.tsx b/src/components/pages/HomePage.tsx
index 859a239..7600b17 100644
--- a/src/components/pages/HomePage.tsx
+++ b/src/components/pages/HomePage.tsx
@@ -10,7 +10,7 @@ import ProjectsPage from './ProjectsPage.tsx';
import NotFoundPage from './NotFoundPage.tsx';
import FileTabsNavbar from '../UI/FileTabsNavbar.tsx';
-const HomePage: React.FC = () => {
+function HomePage(): React.ReactElement {
const [windowWidth, setWindowWidth] = useState(window.innerWidth);
const minWith = 768;
@@ -36,6 +36,6 @@ const HomePage: React.FC = () => {
>
);
-};
+}
export default HomePage;
diff --git a/src/components/pages/NotFoundPage.tsx b/src/components/pages/NotFoundPage.tsx
index e405b52..b99e5f5 100644
--- a/src/components/pages/NotFoundPage.tsx
+++ b/src/components/pages/NotFoundPage.tsx
@@ -25,7 +25,9 @@ const AstronautStyleProps = {
},
};
-const NotFoundPage: React.FC = ({ fromPath }) => {
+function NotFoundPage(props: NotFoundPageProps): React.ReactElement {
+ const { fromPath } = props;
+
const isWildCardAtAccessPage = fromPath === '/';
const pathTo = isWildCardAtAccessPage ? '/' : '/homepage';
@@ -63,6 +65,6 @@ const NotFoundPage: React.FC = ({ fromPath }) => {
);
-};
+}
export default NotFoundPage;
diff --git a/src/components/pages/ProjectsPage.tsx b/src/components/pages/ProjectsPage.tsx
index 0be8269..64809a3 100644
--- a/src/components/pages/ProjectsPage.tsx
+++ b/src/components/pages/ProjectsPage.tsx
@@ -10,7 +10,7 @@ import setPageTitle from '../../utils/setPageTitle.ts';
import involvement from '../../services/involvementAPI/involvementAPI.ts';
-const ProjectsPage: React.FC = () => {
+function ProjectsPage(): React.ReactElement {
setPageTitle('My projects 😊');
const [projectsLikes, setProjectsLikes] = useState([{}]);
@@ -49,6 +49,6 @@ const ProjectsPage: React.FC = () => {
);
-};
+}
export default ProjectsPage;