Compare commits
2 Commits
2a1ae41d74
...
08457d6b91
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
08457d6b91 | ||
|
|
689be873fc |
392
src/App.css
Normal file
392
src/App.css
Normal file
@@ -0,0 +1,392 @@
|
||||
/* Global CSS */
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: "Roboto", sans-serif;
|
||||
-webkit-font-smoothing: "Roboto", sans-serif;
|
||||
-moz-osx-font-smoothing: "Roboto", sans-serif;
|
||||
font-style: normal;
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
:root {
|
||||
--primary: #5e3bee;
|
||||
--heading-color: #282938;
|
||||
--bg-shade: #f5fcff;
|
||||
--github: #e62872;
|
||||
--darkblue: #1c1e53;
|
||||
--black: #000000;
|
||||
--white: #ffffff;
|
||||
}
|
||||
.btn {
|
||||
font-family: "Roboto";
|
||||
display: inline-block;
|
||||
padding: 14px 32px;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
border-radius: 4px;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-ms-border-radius: 5px;
|
||||
-o-border-radius: 5px;
|
||||
transition: background-color 0.5s;
|
||||
-webkit-transition: background-color 0.5s;
|
||||
-moz-transition: background-color 0.5s;
|
||||
-ms-transition: background-color 0.5s;
|
||||
-o-transition: background-color 0.5s;
|
||||
}
|
||||
.btn-outline-primary {
|
||||
color: var(--primary);
|
||||
background-color: var(--white);
|
||||
border: 1px solid var(--primary);
|
||||
}
|
||||
.btn-outline-primary:hover {
|
||||
color: var(--white);
|
||||
background-color: var(--primary);
|
||||
}
|
||||
.btn-primary {
|
||||
color: var(--white);
|
||||
background-color: var(--primary);
|
||||
border: 1px solid var(--primary);
|
||||
}
|
||||
.btn-primary:hover {
|
||||
color: var(--primary);
|
||||
background-color: var(--white);
|
||||
}
|
||||
.btn-github {
|
||||
color: var(--white);
|
||||
background-color: var(--github);
|
||||
border: var(--github);
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
box-shadow: 0 1px 2px 0 rgba(16, 24, 40, 0.95);
|
||||
gap: 16px;
|
||||
}
|
||||
.btn-github:hover {
|
||||
color: var(--github);
|
||||
background-color: var(--white);
|
||||
}
|
||||
/* Global CSS Ends */
|
||||
/* Main Headings */
|
||||
|
||||
/* Heading 1 */
|
||||
h1 {
|
||||
font-size: 56px;
|
||||
font-weight: 700;
|
||||
line-height: 67px;
|
||||
}
|
||||
/* Heading 2 */
|
||||
h2 {
|
||||
font-size: 48px;
|
||||
font-weight: 700;
|
||||
line-height: 58px;
|
||||
}
|
||||
/* Heading 3 */
|
||||
h2 {
|
||||
font-size: 24px;
|
||||
font-weight: 700;
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
/* Pragraphs text large medium small */
|
||||
/* Body 1 */
|
||||
.text-lg {
|
||||
color: var(--darkblue);
|
||||
font-size: 18px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 27px;
|
||||
}
|
||||
/* Body 2 */
|
||||
.text-md {
|
||||
color: var(--darkblue);
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
}
|
||||
/* Body 3 */
|
||||
.text-sm {
|
||||
color: var(--black);
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 21px;
|
||||
}
|
||||
|
||||
/* Section Titles */
|
||||
/* Skills & About Me */
|
||||
.section--title {
|
||||
color: var(--heading-color);
|
||||
font-size: 21px;
|
||||
text-align: center;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
line-height: 32px;
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
}
|
||||
/* Portfolio, Testimonial & Contact Me */
|
||||
.sub--title {
|
||||
color: var(--heading-color);
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
line-height: 24px;
|
||||
}
|
||||
/* Section Titles Ends */
|
||||
|
||||
/* Navbar Style Start */
|
||||
.navbar {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 15px 85.333px;
|
||||
background: var(--white);
|
||||
box-shadow: 0px 5.333px 80px 0 rgba(0, 0, 0, 0.1);
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
}
|
||||
.navbar--items > ul {
|
||||
list-style: none;
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 42.667px;
|
||||
text-decoration: none;
|
||||
}
|
||||
.navbar--items ul > li > a {
|
||||
text-decoration: none;
|
||||
}
|
||||
/* Navbar Content */
|
||||
.navbar--content {
|
||||
color: var(--darkblue);
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.navbar--active-content {
|
||||
color: var(--primary);
|
||||
}
|
||||
/* Navbar Styler Ends */
|
||||
|
||||
/* Hero Section Style */
|
||||
.hero--section {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
padding: 133.333px 85.333px 133.333px;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 32px;
|
||||
background-color: var(--bg-shade);
|
||||
}
|
||||
.hero--section--content-box {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 32px;
|
||||
}
|
||||
.hero--section--content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 21.333px;
|
||||
}
|
||||
.hero--section--content--box > button {
|
||||
margin-top: 21.333px;
|
||||
}
|
||||
.hero--section--title {
|
||||
color: var(--heading-color);
|
||||
font-size: 74.667px;
|
||||
font-weight: 700;
|
||||
line-height: 90px;
|
||||
align-self: stretch;
|
||||
}
|
||||
.hero--section--title--color {
|
||||
color: var(--primary);
|
||||
}
|
||||
.hero--section-description {
|
||||
color: var(--darkblue);
|
||||
font-size: 24px;
|
||||
font-weight: 400;
|
||||
line-height: 36px;
|
||||
}
|
||||
.hero--section--img {
|
||||
display: flex;
|
||||
}
|
||||
.hero--section--img > img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
/* Hero Section Style Ends */
|
||||
|
||||
/* Skills Section Style */
|
||||
.skills--section {
|
||||
display: flex;
|
||||
padding: 149.33px 85.33px;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
gap: 106.667px;
|
||||
}
|
||||
.skills--section--heading {
|
||||
color: var(--heading-color);
|
||||
font-size: 64px;
|
||||
font-weight: 700;
|
||||
line-height: 77px;
|
||||
}
|
||||
.skills--section--container {
|
||||
display: grid;
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
gap: 42.6px;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
}
|
||||
.skills--section--card {
|
||||
display: flex;
|
||||
padding: 32px;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 32px;
|
||||
flex: 1 0 0;
|
||||
border-radius: 10.6px;
|
||||
background: var(--bg-shade);
|
||||
min-height: 250px;
|
||||
}
|
||||
.skills--section--card:hover {
|
||||
border-bottom: 4px solid var(--primary);
|
||||
}
|
||||
.skills--section--card:hover .skills--section--description {
|
||||
color: var(--darkblue);
|
||||
}
|
||||
.skills--section--img {
|
||||
display: flex;
|
||||
padding: 13.3px;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 13.3px;
|
||||
border-radius: 10.6px;
|
||||
background: #fff;
|
||||
box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.skills--section--card--content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 32px;
|
||||
align-self: stretch;
|
||||
}
|
||||
.skills--section--title {
|
||||
color: var(--heading-color);
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
line-height: 45px;
|
||||
}
|
||||
.skills--section--description {
|
||||
color: var(--black);
|
||||
font-size: 21.3px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
line-height: 32px;
|
||||
}
|
||||
/* Skills Style Ends */
|
||||
|
||||
/* About Us Starts*/
|
||||
.about--section {
|
||||
display: grid;
|
||||
padding: 133.3px 85.3px;
|
||||
align-items: center;
|
||||
gap: 114.6px;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
.about--section--img > img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
/* About Us Ends */
|
||||
|
||||
/* My Portfolio Starts */
|
||||
.portfolio--section {
|
||||
display: flex;
|
||||
padding: 112px 85px;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 80px;
|
||||
}
|
||||
.portfolio--container-box {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
}
|
||||
.portfolio--container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 21.3px;
|
||||
}
|
||||
.portfolio--section--container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 42.6px;
|
||||
width: 100%;
|
||||
}
|
||||
.portfolio--section--img {
|
||||
border-radius: 8px;
|
||||
width: 100%;
|
||||
}
|
||||
.portfolio--section--img > img {
|
||||
width: 100%;
|
||||
}
|
||||
.portfolio--section--card {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 32px;
|
||||
flex: 1 0 0;
|
||||
background: #fff;
|
||||
box-shadow: 0 0 32px 0 rgba(0, 0, 0, 0.15);
|
||||
cursor: pointer;
|
||||
border-top-left-radius: 12px;
|
||||
border-top-right-radius: 12px;
|
||||
}
|
||||
.portfolio--section--card--content {
|
||||
display: flex;
|
||||
padding: 32px;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 32px;
|
||||
align-self: stretch;
|
||||
}
|
||||
.portfolio--section--title {
|
||||
color: var(--heading-color);
|
||||
}
|
||||
.portfolio--link {
|
||||
text-decoration: none;
|
||||
display: flex;
|
||||
gap: 16px;
|
||||
border-bottom: 1.33px solid var(--primary);
|
||||
padding-bottom: 10.6px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.portfolio--section--card:hover path {
|
||||
stroke: #006b6a;
|
||||
}
|
||||
/* Portfolio Ends */
|
||||
28
src/Pages/Home/AboutMe.jsx
Normal file
28
src/Pages/Home/AboutMe.jsx
Normal file
@@ -0,0 +1,28 @@
|
||||
export default function AboutMe() {
|
||||
return (
|
||||
<section id="AboutMe" className="about--section">
|
||||
<div className="about--section--img">
|
||||
<img src="./img/logo512.png" alt="AboutMe" />
|
||||
</div>
|
||||
<div className="hero--section--content-box about--section--box">
|
||||
<div className="hero--section--content">
|
||||
<p className="section--title">A propos</p>
|
||||
<h1 className="skills-section--heading">A propos de moi</h1>
|
||||
<p className="hero--section-description">
|
||||
Je suis un étudiant hors pair, le meilleur alternant que vous pouvez
|
||||
trouver. Ma passion est de jouer The Song of The Golden Dragon, de
|
||||
Estas Tones. Le poulet c'est délicieux.
|
||||
</p>
|
||||
<p className="hero--section-description">
|
||||
Ensuite, il faut dire que la guitare c'est génial et pourquoi pas me
|
||||
choisir pour ça je vous le demande. Enfin j'aimerais ajouter qu'il
|
||||
ne faut pas oublier de dire quelque chose de très important. Et oui,
|
||||
vous voyez, l'alternant basique l'oubli, mais pas moi. J'ai de la
|
||||
famille dans la mafia italienne ... J'apprécierais que vous me
|
||||
choisissiez, fin vous comprenez.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
27
src/Pages/Home/HeroSection.jsx
Normal file
27
src/Pages/Home/HeroSection.jsx
Normal file
@@ -0,0 +1,27 @@
|
||||
export default function HeroSection() {
|
||||
return (
|
||||
<section id="heroSection" className="hero--section">
|
||||
<div className="hero--section--content-box">
|
||||
<div className="hero--section--content">
|
||||
<p className="section--title">Hello, je suis ALESSI Thibaut</p>
|
||||
<h1 className="hero--section--title">
|
||||
<span className="hero--section--title--color">
|
||||
Etudiant à Polytech Lyon
|
||||
</span>{" "}
|
||||
<br />
|
||||
Dev, BDD
|
||||
</h1>
|
||||
<p className="hero--section--description">
|
||||
Voici la description, j'adore l'informatique miam miam
|
||||
<br />A la recherche d'une alternance de 3 ans avec l'école
|
||||
d'ingénieur Polytech Lyon
|
||||
</p>
|
||||
</div>
|
||||
<button className="btn btn-primary">Contactez-moi</button>
|
||||
</div>
|
||||
<div className="hero--section--img">
|
||||
<img src="./img/logo512.png" alt="Hero Section" />
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
25
src/Pages/Home/MySkills.jsx
Normal file
25
src/Pages/Home/MySkills.jsx
Normal file
@@ -0,0 +1,25 @@
|
||||
import data from "../../data/index.json";
|
||||
|
||||
export default function MySkills() {
|
||||
return (
|
||||
<section className="skills--section" id="mySkills">
|
||||
<div className="portfolio--container">
|
||||
<p className="section--title">Mes Compétences</p>
|
||||
<h2 className="skills--section--heading">Mes Skills</h2>
|
||||
</div>
|
||||
<div className="skills--section--container">
|
||||
{data?.skills?.map((item, index) => (
|
||||
<div key={index} className="skills--section--card">
|
||||
<div className="skills--section--img">
|
||||
<img src={item.src} alt="Tools" />
|
||||
</div>
|
||||
<div className="skills--section--card--content">
|
||||
<h3 className="skills--section--title">{item.title}</h3>
|
||||
<p className="skills--section--description">{item.description}</p>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
124
src/Pages/Home/Navbar.jsx
Normal file
124
src/Pages/Home/Navbar.jsx
Normal file
@@ -0,0 +1,124 @@
|
||||
import { useState, useEffect } from "react";
|
||||
import { Link } from "react-scroll";
|
||||
|
||||
function Navbar() {
|
||||
const [navActive, setNavActive] = useState(false);
|
||||
|
||||
const toggleNav = () => {
|
||||
setNavActive(!navActive);
|
||||
};
|
||||
|
||||
const closeMenu = () => {
|
||||
setNavActive(false);
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
const handleResize = () => {
|
||||
if (window.innerWidth <= 500) {
|
||||
closeMenu;
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener("resize", handleResize);
|
||||
|
||||
return () => {
|
||||
window.removeEventListener("resize", handleResize);
|
||||
};
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
if (window.innerWidth <= 1200) {
|
||||
closeMenu;
|
||||
}
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<nav className={`navbar ${navActive ? "active" : ""}`}>
|
||||
<div>
|
||||
<img src="/logo.svg" alt="Logoipsum" />
|
||||
</div>
|
||||
<a
|
||||
className={`nav__hamburger ${navActive ? "active" : ""}`}
|
||||
onClick={toggleNav}
|
||||
>
|
||||
<span className="nav__hamburger__line"></span>
|
||||
<span className="nav__hamburger__line"></span>
|
||||
<span className="nav__hamburger__line"></span>
|
||||
</a>
|
||||
<div className={`navbar--items ${navActive ? "active" : ""}`}>
|
||||
<ul>
|
||||
<li>
|
||||
<Link
|
||||
onClick={closeMenu}
|
||||
activeClass="navbar--active-content"
|
||||
spy={true}
|
||||
smooth={true}
|
||||
offset={-70}
|
||||
duration={500}
|
||||
to="heroSection"
|
||||
className="navbar--content"
|
||||
>
|
||||
Home
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
onClick={closeMenu}
|
||||
activeClass="navbar--active-content"
|
||||
spy={true}
|
||||
smooth={true}
|
||||
offset={-70}
|
||||
duration={500}
|
||||
to="MyPortfolio"
|
||||
className="navbar--content"
|
||||
>
|
||||
Portfolio
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
onClick={closeMenu}
|
||||
activeClass="navbar--active-content"
|
||||
spy={true}
|
||||
smooth={true}
|
||||
offset={-70}
|
||||
duration={500}
|
||||
to="AboutMe"
|
||||
className="navbar--content"
|
||||
>
|
||||
About Me
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
onClick={closeMenu}
|
||||
activeClass="navbar--active-content"
|
||||
spy={true}
|
||||
smooth={true}
|
||||
offset={-70}
|
||||
duration={500}
|
||||
to="testimonial"
|
||||
className="navbar--content"
|
||||
>
|
||||
Testimonials
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<Link
|
||||
onClick={closeMenu}
|
||||
activeClass="navbar--active-content"
|
||||
spy={true}
|
||||
smooth={true}
|
||||
offset={-70}
|
||||
duration={500}
|
||||
to="Contact"
|
||||
className="btn btn-outline-primary"
|
||||
>
|
||||
Contact Me
|
||||
</Link>
|
||||
</nav>
|
||||
);
|
||||
}
|
||||
|
||||
export default Navbar;
|
||||
Reference in New Issue
Block a user