Skip to content

Commit 0ba322d

Browse files
Merge pull request #41 from MarianaSouza/feature/add-header-navbar
Feature/add header navbar
2 parents 6c14aad + db3304c commit 0ba322d

14 files changed

+472
-2849
lines changed

README.md

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
![Web Developer Path Logo](/images-web-dev-path/web-dev-path-logo.png)
22

3+
# Quickstart
4+
5+
To run this project locally do the following steps:
6+
7+
- [Git clone this repository](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository-from-github/cloning-a-repository)
8+
- npm install
9+
- npm run dev
10+
11+
Our website is live at [WebDevPath](https://webdevpath.co/).
12+
313
# Web Developer Path
414

515
In this repository, you will find content and resources related to the practical steps to land your first job as a web developer.
@@ -50,29 +60,34 @@ These are the videos that explain in detail how to branch out and submit a PR:
5060
- [GitHub Markdown](https://guides.github.com/features/mastering-markdown/)
5161

5262
* **Harvard**
53-
- [CS50x - Introduction to Computer Science](https://cs50.harvard.edu/x/2020/)
54-
- [CS50 Beyond - design and implementations of web apps](https://cs50.harvard.edu/beyond/2019/)
63+
64+
- [CS50x - Introduction to Computer Science](https://cs50.harvard.edu/x/2020/)
65+
- [CS50 Beyond - design and implementations of web apps](https://cs50.harvard.edu/beyond/2019/)
5566

5667
* **JavaScript**
57-
- [Learn JavaScript by Codecademy](https://www.codecademy.com/learn/introduction-to-javascript)
68+
69+
- [Learn JavaScript by Codecademy](https://www.codecademy.com/learn/introduction-to-javascript)
5870

5971
**JS Libraries and Frameworks**
6072
<br />
61-
- _**React**_
73+
74+
- _**React**_
6275
- [React Handbook for Beginners](https://www.freecodecamp.org/news/react-beginner-handbook/)
6376
- [React Functional Components, Props, and JSX – React.js Tutorial for Beginners](https://www.freecodecamp.org/news/react-components-jsx-props-for-beginners/)
6477

6578
* **PHP**
79+
6680
- [PHP Tutorial](https://www.w3schools.com/php/DEFAULT.asp)
6781

6882
* **Python**
6983
- [Best Python Tutorials](https://www.freecodecamp.org/news/best-python-tutorial/)
7084

7185
- **WordPress**
86+
7287
- [How to Make a Custom Website from Scratch using WordPress (Theme Development) by freeCodeCamp ](https://youtu.be/KibbYf9avko)
73-
- [Professional WordPress Theme & Plugin Development](https://www.udemy.com/course/photoshop-psd-to-wordpress-theme-development-from-scratch/)
88+
- [Professional WordPress Theme & Plugin Development](https://www.udemy.com/course/photoshop-psd-to-wordpress-theme-development-from-scratch/)
7489
- [WordPress Plugin Development](https://youtu.be/mm9aQiLEa10)
75-
90+
7691
<br />
7792
<br />
7893

@@ -96,18 +111,18 @@ These are the videos that explain in detail how to branch out and submit a PR:
96111

97112
- **Launching A Website**
98113
- [How to Put a Website Online: Template, Coding, Domain, Hosting, and DNS](https://youtu.be/NQP89ish9t8)
99-
114+
100115
<br />
101116
<br />
102117

103118
## Presentation
104119

105120
- **A Junior Web Developer Resume**
121+
106122
- [How to write an awesome junior developer résumé in a few simple steps, by freeCodeCamp](https://www.freecodecamp.org/news/how-to-write-an-awesome-junior-developer-resume-in-a-few-simple-steps-316010db80ec/)
107123

108124
- **Your LinkedIn**
109125
- [Tips to Optimize your LinkedIn Profile for Developers](https://www.samanthaming.com/blog/tips-to-optimize-your-linkedin-profile-for-developers/)
110126

111127
<br />
112128
<br />
113-

components/Footer.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import footerStyles from "../styles/Footer.module.css";
2+
3+
export default function Footer() {
4+
return (
5+
<footer className={footerStyles.footer}>
6+
<a
7+
href="https://vercel.com?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app"
8+
target="_blank"
9+
rel="noopener noreferrer"
10+
className={footerStyles.a}
11+
>
12+
Powered by{" "}
13+
<img
14+
src="/vercel.svg"
15+
alt="Vercel Logo"
16+
className={footerStyles.logo}
17+
/>
18+
</a>
19+
</footer>
20+
);
21+
}

components/Layout.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import Nav from "./Nav";
2+
import styles from "../styles/Layout.module.css";
3+
import Footer from "./Footer";
4+
5+
export default function Layout({ children }) {
6+
return (
7+
<>
8+
<Nav />
9+
<div className={styles.container}>
10+
<main className={styles.main}>{children}</main>
11+
</div>
12+
<Footer />
13+
</>
14+
);
15+
}

components/Nav.js

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
import Link from "next/link";
2+
import { useEffect, useState } from "react";
3+
import styles from "../styles/Nav.module.css";
4+
5+
export default function Nav() {
6+
const [active, setActive] = useState(false);
7+
8+
//This function fixes the Navlinks position if the hamburger menu is left open while resizing the window
9+
useEffect(() => {
10+
function setTrueSize() {
11+
if (window.innerWidth >= 768) setActive(false);
12+
}
13+
window.addEventListener("resize", setTrueSize);
14+
15+
return () => window.removeEventListener("resize", setTrueSize);
16+
});
17+
18+
const toggleActive = () => {
19+
setActive((active) => !active);
20+
};
21+
22+
return (
23+
<header className={styles.header}>
24+
<div className={`${styles.navContainer} ${styles.row}`}>
25+
<div className={styles.align}>
26+
<Link href="/">
27+
<img
28+
className={styles.logo}
29+
src="/images/web-dev-path-logo-small.png"
30+
alt="Logo"
31+
/>
32+
</Link>
33+
<button
34+
className={styles.navToggle}
35+
aria-label="open navigation"
36+
onClick={toggleActive}
37+
>
38+
<span className={styles.hamburger} />
39+
</button>
40+
</div>
41+
<nav className={`${active ? styles.navVisible : styles.nav}`}>
42+
<ul className={styles.navList}>
43+
<li className={styles.navItem}>
44+
<Link href="/about-us">
45+
<a className={styles.navLink}>About Us</a>
46+
</Link>
47+
</li>
48+
<li className={styles.navItem}>
49+
<Link href="/blog">
50+
<a className={styles.navLink}>Blog</a>
51+
</Link>
52+
</li>
53+
<li className={styles.navItem}>
54+
<Link href="/contact-us">
55+
<a className={styles.navLink}>Contact Us</a>
56+
</Link>
57+
</li>
58+
</ul>
59+
</nav>
60+
</div>
61+
</header>
62+
);
63+
}

0 commit comments

Comments
 (0)