diff --git a/package-lock.json b/package-lock.json index a65b4ef..a9fb093 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-helmet": "^6.1.0", + "react-router-dom": "^6.24.1", "react-scripts": "5.0.1", "serve": "^14.2.1", "web-vitals": "^2.1.4" @@ -3358,6 +3359,14 @@ } } }, + "node_modules/@remix-run/router": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.17.1.tgz", + "integrity": "sha512-mCOMec4BKd6BRGBZeSnGiIgwsbLGp3yhVqAD8H+PxiRNEHgDpZb8J1TnrSDlg97t0ySKMQJTHCWBCmBpSmkF6Q==", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@rollup/plugin-babel": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", @@ -15795,6 +15804,36 @@ "node": ">=0.10.0" } }, + "node_modules/react-router": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.24.1.tgz", + "integrity": "sha512-PTXFXGK2pyXpHzVo3rR9H7ip4lSPZZc0bHG5CARmj65fTT6qG7sTngmb6lcYu1gf3y/8KxORoy9yn59pGpCnpg==", + "dependencies": { + "@remix-run/router": "1.17.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.24.1.tgz", + "integrity": "sha512-U19KtXqooqw967Vw0Qcn5cOvrX5Ejo9ORmOtJMzYWtCT4/WOfFLIZGGsVLxcd9UkBO0mSTZtXqhZBsWlHr7+Sg==", + "dependencies": { + "@remix-run/router": "1.17.1", + "react-router": "6.24.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, "node_modules/react-scripts": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", diff --git a/package.json b/package.json index e712081..7a8e418 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-helmet": "^6.1.0", + "react-router-dom": "^6.24.1", "react-scripts": "5.0.1", "serve": "^14.2.1", "web-vitals": "^2.1.4" diff --git a/src/App.js b/src/App.js index ad13d88..e0a1a9a 100644 --- a/src/App.js +++ b/src/App.js @@ -1,10 +1,11 @@ -import logo from './logo.svg'; import './App.css'; import LandingPage from './components/LandingPage/LandingPage'; +import NavBar from './components/NavBar/NavBar'; function App() { return (
+
); diff --git a/src/components/ContactPage/ContactPage.js b/src/components/ContactPage/ContactPage.js new file mode 100644 index 0000000..7590cb3 --- /dev/null +++ b/src/components/ContactPage/ContactPage.js @@ -0,0 +1,15 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + + +const ContactPage = () => ( +
+ ContactPage Component +
+); + +ContactPage.propTypes = {}; + +ContactPage.defaultProps = {}; + +export default ContactPage; diff --git a/src/components/HomePage/HomePage.js b/src/components/HomePage/HomePage.js new file mode 100644 index 0000000..6051bbf --- /dev/null +++ b/src/components/HomePage/HomePage.js @@ -0,0 +1,15 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + + +const HomePage = () => ( +
+ HomePage Component +
+); + +HomePage.propTypes = {}; + +HomePage.defaultProps = {}; + +export default HomePage; diff --git a/src/components/LandingPage/LandingPage.js b/src/components/LandingPage/LandingPage.js index 304605a..3dad8aa 100644 --- a/src/components/LandingPage/LandingPage.js +++ b/src/components/LandingPage/LandingPage.js @@ -1,18 +1,33 @@ import React from 'react'; -import '../../styles/landingPage.scss' +import { Route } from 'react-router-dom'; +import { Routes } from 'react-router-dom'; +import { typeWriterEffect } from '../../helpers/animations'; +import LinksPage from '../LinksPage/LinksPage'; +import ProjectsPage from '../ProjectsPage/ProjectsPage'; +import './LandingPage.scss' const LandingPage = () => { return (
-

nÿlo.dev

-

Hello. 

- - My name is Danylo; welcome to my homepage. Feel free to reach me at the following email. - - - Thank you for visiting. - + + +

nÿlo.dev

+

Hello. 

+ + My name is Danylo; welcome to my homepage. I am a software engineer and general enthusiast of making things. + You can reach me at dotsenkodanylo@gmail.com. +
+ Thank you for visiting! +
+
+ } /> + } /> + } /> + + +
) diff --git a/src/styles/landingPage.scss b/src/components/LandingPage/LandingPage.scss similarity index 69% rename from src/styles/landingPage.scss rename to src/components/LandingPage/LandingPage.scss index 13917a4..c703538 100644 --- a/src/styles/landingPage.scss +++ b/src/components/LandingPage/LandingPage.scss @@ -17,6 +17,8 @@ font-family: 'Menlo', 'Helvetica', 'Futura'; letter-spacing: -1px; text-align: left; + display: flex; + justify-content: center; span { display: block; @@ -35,12 +37,26 @@ margin: 0 0 40px; @media (max-width: 750px) { - font-size: 80px; + font-size: 60px; + margin-bottom: 10px; } } .subtitle { text-align: left; width: 80%; - margin: 0; + margin: 5px 0; +} + +.body { + width: '80%'; + text-align: left; + margin-top: '5px'; + margin-bottom: '5px'; + line-height: '130%'; + font-size: 30px; + + @media (max-width: 750px) { + font-size: 20px; + } } \ No newline at end of file diff --git a/src/components/LinksPage/LinksPage.js b/src/components/LinksPage/LinksPage.js new file mode 100644 index 0000000..e1c6209 --- /dev/null +++ b/src/components/LinksPage/LinksPage.js @@ -0,0 +1,20 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import './LinksPage.scss' + +const LinksPage = () => ( +
+ +
+); + +//LinksPage.propTypes = {}; + +//LinksPage.defaultProps = {}; + +export default LinksPage; diff --git a/src/components/LinksPage/LinksPage.scss b/src/components/LinksPage/LinksPage.scss new file mode 100644 index 0000000..dc9d612 --- /dev/null +++ b/src/components/LinksPage/LinksPage.scss @@ -0,0 +1,18 @@ +.links { + ul { + line-height: 120%; + overflow-wrap: normal; + + li a { + color: white; + } + + @media (max-width: 750px) { + font-size: 15px; + + li { + margin: 4px 0; + } + } + } +} \ No newline at end of file diff --git a/src/components/NavBar/NavBar.js b/src/components/NavBar/NavBar.js new file mode 100644 index 0000000..4de40d2 --- /dev/null +++ b/src/components/NavBar/NavBar.js @@ -0,0 +1,23 @@ +import React from 'react'; +import { Link } from 'react-router-dom'; +import './NavBar.scss'; + +const NavBar = () => { + return ( + + ) +}; + +//NavbarComponent.propTypes = {}; + +//NavbarComponent.defaultProps = {}; + +export default NavBar; diff --git a/src/components/NavBar/NavBar.scss b/src/components/NavBar/NavBar.scss new file mode 100644 index 0000000..83a9e99 --- /dev/null +++ b/src/components/NavBar/NavBar.scss @@ -0,0 +1,36 @@ +.navbar { + color: #fff; + position: fixed; + top: 0; + width: 100%; + z-index: 1000; + display: flex; + + a { + text-decoration: none; + color: white; + font-family: 'Menlo', 'Helvetica', 'Futura'; + font-weight: 700; + } + + ul { + list-style-type: none; + display: flex; + justify-content: center; + padding: 0; + width: 100%; + + li { + margin: 0 2%; + font-size: 25px; + + @media (max-width: 750px) { + font-size: medium; + } + } + + + } + + +} \ No newline at end of file diff --git a/src/components/ProjectsPage/ProjectsPage.js b/src/components/ProjectsPage/ProjectsPage.js new file mode 100644 index 0000000..c15e761 --- /dev/null +++ b/src/components/ProjectsPage/ProjectsPage.js @@ -0,0 +1,16 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import './ProjectsPage.scss' + + +const ProjectsPage = () => ( +
+ Currently migrating to on-prem "cloud"... +
+); + +//ProjectsPage.propTypes = {}; + +//ProjectsPage.defaultProps = {}; + +export default ProjectsPage; diff --git a/src/components/ProjectsPage/ProjectsPage.scss b/src/components/ProjectsPage/ProjectsPage.scss new file mode 100644 index 0000000..ac73b8a --- /dev/null +++ b/src/components/ProjectsPage/ProjectsPage.scss @@ -0,0 +1,8 @@ +.placeholder { + text-align: center; + font-weight: 500; + + @media (max-width: 750px) { + font-size: large; + } +} \ No newline at end of file diff --git a/src/helpers/animations.js b/src/helpers/animations.js new file mode 100644 index 0000000..e69de29 diff --git a/src/index.js b/src/index.js index 8b00ce9..69032eb 100644 --- a/src/index.js +++ b/src/index.js @@ -3,12 +3,15 @@ import ReactDOM from 'react-dom/client'; import './index.css'; import App from './App'; import reportWebVitals from './reportWebVitals'; +import { BrowserRouter } from 'react-router-dom'; const root = ReactDOM.createRoot(document.getElementById('root')); root.render( // + + // );