improve responsive design
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
import HeroSection from "@/components/sections/HeroSection";
|
import HeroSection from "@/components/sections/HeroSection";
|
||||||
import WorksSection from "@/components/sections/WorksSection";
|
import WorksSection from "@/components/sections/WorksSection";
|
||||||
import FeatureSection from "@/components/sections/FeatureSection";
|
import FeatureSection from "@/components/sections/FeatureSection";
|
||||||
import TimelineSection from "@/components/sections/TimelineSection";
|
import TimelineSection from "@/components/sections/AboutSection";
|
||||||
|
|
||||||
export default function Home() {
|
export default function Home() {
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ export default function Footer() {
|
|||||||
{/* Logo */}
|
{/* Logo */}
|
||||||
<img src="/icons/logo.svg" alt="logo mg dev mb-4" />
|
<img src="/icons/logo.svg" alt="logo mg dev mb-4" />
|
||||||
|
|
||||||
<div className="flex flex-row justify-center items-start gap-16">
|
<div className="flex flex-col lg:flex-row justify-center items-start gap-16">
|
||||||
<div className="flex flex-col items-start justify-start gap-4">
|
<div className="flex flex-col items-start justify-start gap-4">
|
||||||
<h3 className="font-serif text-3xl">Mathéo Guilbert EI</h3>
|
<h3 className="font-serif text-3xl">Mathéo Guilbert EI</h3>
|
||||||
<p className="font-sans text-base">Développeur Full Stack & Architecte Web</p>
|
<p className="font-sans text-base">Développeur Full Stack & Architecte Web</p>
|
||||||
|
|||||||
@@ -1,19 +1,42 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
import React, { MouseEvent } from 'react';
|
||||||
|
|
||||||
export default function Header() {
|
export default function Header() {
|
||||||
return (
|
|
||||||
<div className="bg-brand-beige min-h-fit fixed left-2.75 right-2.75 z-50 rounded-b-[20px]">
|
const links = [
|
||||||
<header className="bg-brand-brown text-brand-beige py-6 px-10 flex justify-between items-center rounded-[10px]">
|
{"text": "Accueil" , "target": "/"},
|
||||||
<div className="font-serif text-2xl font-light">M. Guilbert</div>
|
{"text": "Travaux" , "target": "/#works"},
|
||||||
<nav>
|
{"text": "À propos" , "target": "/#about"},
|
||||||
<ul className="flex gap-8 font-sans text-base font-light">
|
{"text": "Blog" , "target": "/blog"},
|
||||||
<li>Accueil</li>
|
];
|
||||||
<li>Projets</li>
|
|
||||||
<li>À propos</li>
|
const handleAnchorClick = (e: MouseEvent<HTMLLIElement>, target: string) => {
|
||||||
<li>Blog</li>
|
if (target.startsWith("/#")) { // only anchor links
|
||||||
</ul>
|
e.preventDefault();
|
||||||
</nav>
|
const id = target.slice(2);
|
||||||
<div className="font-sans text-base font-light">France</div>
|
const element = document.getElementById(id);
|
||||||
</header>
|
if (element) {
|
||||||
</div>
|
element.scrollIntoView({ behavior: "smooth" });
|
||||||
|
}
|
||||||
);
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="bg-brand-beige h-20 fixed left-2.75 right-2.75 z-50 rounded-b-[20px]">
|
||||||
|
<header className="h-20 bg-brand-brown text-brand-beige py-6 px-10 flex justify-between items-center rounded-[10px]">
|
||||||
|
<div className="hidden md:block font-serif text-2xl font-light">M. Guilbert</div>
|
||||||
|
<img className="block md:hidden w-auto h-15" src="/icons/logo.svg" alt="logo mg dev" />
|
||||||
|
<nav className="hidden sm:block">
|
||||||
|
<ul className="flex gap-8 font-sans text-base font-light">
|
||||||
|
{links.map((link, index) => (
|
||||||
|
<li key={index} onClick={(e) => handleAnchorClick(e, link.target)}><a href={link.target}>{link.text}</a></li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
<div className="hidden sm:block font-sans text-base font-light">France</div>
|
||||||
|
</header>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
);
|
||||||
}
|
}
|
||||||
@@ -24,9 +24,9 @@ export default function TimelineSection() {
|
|||||||
const progressWidth = "95%";
|
const progressWidth = "95%";
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<section className="bg-[#f5f5f3] py-20 md:py-32">
|
<section id="about" className="bg-[#f5f5f3] py-20 md:py-32">
|
||||||
<div className="mx-auto w-full px-6 md:w-[90vw]">
|
<div className="mx-auto w-full px-6 md:w-[90vw]">
|
||||||
<h2 className="mb-16 text-center font-serif text-4xl leading-none text-brand-brown md:mb-24 md:text-6xl">
|
<h2 className="mb-16 text-center font-serif text-[clamp(80px,10vw,128px)] leading-none text-brand-brown md:mb-24 md:text-6xl">
|
||||||
A propos de moi
|
A propos de moi
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
@@ -2,7 +2,7 @@ import { FeatureColumn } from '@/components/ui/FeatureColumn';
|
|||||||
|
|
||||||
export default function FeatureSection() {
|
export default function FeatureSection() {
|
||||||
return (
|
return (
|
||||||
<section className="w-full flex flex-wrap justify-around items-center gap-16 mt-30 lg:mt-40 mb-40">
|
<section className="w-full flex flex-wrap justify-around items-center gap-16 mt-30 lg:mt-40 mb-20">
|
||||||
<FeatureColumn
|
<FeatureColumn
|
||||||
imagePath={"/icons/brain.svg"}
|
imagePath={"/icons/brain.svg"}
|
||||||
title={"Plus qu'un simple exécutant"}
|
title={"Plus qu'un simple exécutant"}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { ProjectCard } from "../ui/ProjectCard";
|
|||||||
|
|
||||||
export default function WorksSection() {
|
export default function WorksSection() {
|
||||||
return (
|
return (
|
||||||
<section className="w-full flex flex-col items-start justify-start">
|
<section id="works" className="w-full flex flex-col items-start justify-start">
|
||||||
<h2 className="text-[clamp(80px,10vw,128px)] font-serif text-brand-brown mt-6 mb-4">Travaux</h2>
|
<h2 className="text-[clamp(80px,10vw,128px)] font-serif text-brand-brown mt-6 mb-4">Travaux</h2>
|
||||||
|
|
||||||
<ProjectCard
|
<ProjectCard
|
||||||
|
|||||||
Reference in New Issue
Block a user