vkorobtsev-nextJs/app/about/page.jsx

105 lines
3.1 KiB
React
Raw Permalink Normal View History

2023-09-02 11:12:47 +07:00
"use client";
2023-09-03 13:23:39 +07:00
import { useEffect } from "react";
2023-09-02 11:12:47 +07:00
import { motion } from "framer-motion";
import Button from "@/components/Button";
2023-09-03 14:45:00 +07:00
import Image from "next/legacy/image";
import FixedButton from "@/components/FixedButton";
2023-09-06 12:29:16 +07:00
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faChevronLeft } from "@fortawesome/free-solid-svg-icons";
import Quote from "./components/quote/quote.jsx";
import Skills from "./components/skills/skills.jsx";
import Experience from "./components/experience.jsx";
import Education from "./components/education.jsx";
2023-09-02 21:23:37 +07:00
// images
import Hero from "@/public/image/me2.jpeg";
2023-09-03 20:26:08 +07:00
import Hr from "@/components/Hr";
import About from "./components/about/about.jsx";
2024-04-19 19:21:34 +07:00
2023-08-30 19:06:48 +07:00
export default function Page() {
2023-09-03 13:23:39 +07:00
useEffect(() => {
window.scrollTo(0, 0);
}, []);
2023-09-02 11:12:47 +07:00
return (
<>
<main className="overflow-hidden">
<FixedButton href="/#about">
2023-09-06 12:29:16 +07:00
<FontAwesomeIcon
icon={faChevronLeft}
className="text-black pr-10"
/>
</FixedButton>
<div className="relative h-screen gap-4 p-10 flex justify-center items-center flex-col mb-10 overflow-hidden">
{/* hero */}
2023-09-02 11:12:47 +07:00
<div className="z-0 mb-48 md:mb-0 md:absolute top-1/4 md:right-[10%] md:-translate-y-16 ">
<motion.div
2023-09-03 14:41:19 +07:00
initial={{ scale: 1 }}
2023-09-03 13:23:39 +07:00
animate={{ scale: 1.6 }}
2023-09-03 14:41:19 +07:00
transition={{ ease: "circOut", duration: 1 }}
2024-04-19 20:53:30 +07:00
className="bg-slate-300 rounded-sm h-[400px] md:h-[600px] w-[80vw] md:w-[30vw] grayscale hover:grayscale-0 ">
2023-09-03 14:41:19 +07:00
<Image
src={Hero}
alt="Виталий Коробцев"
2023-09-03 14:41:19 +07:00
layout="fill"
objectFit="cover"
placeholder="blur"
/>
</motion.div>
2023-09-02 11:12:47 +07:00
</div>
2023-09-03 20:26:08 +07:00
<div className="z-10 w-full absolute md:w-auto md:left-[10%] top-[60%] md:top-1/3 col-span-2 flex flex-col justify-center items-start md:items-start text-start px-10 pt-4 backdrop-filter backdrop-blur-sm md:backdrop-blur-none bg-gray-100 bg-opacity-50 md:bg-transparent md:pt-0">
<h1 className="md:bg-white bg-transparent lg:bg-transparent bg-opacity-50 md:px-0 text-black text-5xl md:text-8xl font-bold">
2023-09-02 11:12:47 +07:00
About Me
</h1>
2023-09-03 20:26:08 +07:00
<Hr />
<p className="title text-xl mt-4 tracking-wider text-gray-900 leading-[1.7rem] mb-5 ">
Немного обо мне и{" "}
<span className="bg-transparent md:bg-gray-100 bg-opacity-50 xl:bg-transparent">
{" "}
моих интересах.
</span>
2023-09-02 11:12:47 +07:00
</p>
<motion.div
2023-09-03 14:41:19 +07:00
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
2023-09-03 13:23:39 +07:00
transition={{ duration: 0.5, ease: "circOut" }}
2023-09-02 11:12:47 +07:00
onClick={() => {
window.scrollTo({
top: 1000,
behavior: "smooth",
});
}}
className="mb-3">
<Button variation="primary">Прокрути</Button>
2023-09-02 11:12:47 +07:00
</motion.div>
</div>
</div>
{/* end hero */}
2023-09-03 14:41:19 +07:00
{/* about */}
<About />
{/* end about */}
2024-08-30 14:26:05 +07:00
{/* skills */}
<Skills />
{/* end skills */}
2024-08-30 18:06:00 +07:00
{/* experience */}
<Experience />
{/* end experience */}
2024-07-01 15:41:21 +07:00
2024-08-30 18:06:00 +07:00
{/* Education */}
<Education />
{/* end Education */}
2024-08-30 18:06:00 +07:00
{/* Quote */}
<Quote />
{/* end Quote */}
2024-08-30 18:06:00 +07:00
2023-09-02 11:12:47 +07:00
</main>
</>
);
2023-08-30 19:06:48 +07:00
}