Skip to content

Commit

Permalink
completed the website--except the funtioning of navbar
Browse files Browse the repository at this point in the history
  • Loading branch information
Ayush215mb committed Aug 13, 2024
1 parent 00eaf5f commit f2ce48b
Show file tree
Hide file tree
Showing 9 changed files with 407 additions and 84 deletions.
35 changes: 35 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
},
"dependencies": {
"@vercel/analytics": "^1.3.1",
"@vercel/speed-insights": "^1.0.12",
"framer-motion": "^11.3.24",
"react": "^18.3.1",
"react-dom": "^18.3.1",
Expand Down
6 changes: 6 additions & 0 deletions src/App.jsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import Bio from "./Components/Bio";
import ContactUs from "./Components/ContactUs";
import First from "./Components/First";
import Footer from "./Components/Footer";
import Navbar from "./Components/Navbar";
import Projects from "./Components/Projects";
import Skills from "./Components/Skills";
Expand All @@ -18,7 +20,11 @@ function App() {
<Projects />
<Bio />
<Skills />
<ContactUs />
</main>
<footer>
<Footer />
</footer>
<Analytics />
</div>
);
Expand Down
34 changes: 25 additions & 9 deletions src/Components/Bio.jsx
Original file line number Diff line number Diff line change
@@ -1,29 +1,45 @@
import React from "react";
import { motion } from "framer-motion";
import { fadeIn } from "../Variants";

const Bio = () => {
return (
<div className="flex justify-around md:my-32 ">
<div className="flex justify-around md:my-32 my-16 ">
<div>
<h2 className="text-3xl md:text-4xl mb-8 font-bold text-center">Bio</h2>
<div className="flex flex-col items-center justify-center text-xl md:text-2xl px-5 md:max-w-4xl gap-5 ">
<p>
<div className="flex flex-col items-center justify-center text-xl md:text-2xl px-5 md:max-w-4xl gap-8 ">
<motion.p
variants={fadeIn("right", 0.2)}
initial="hidden"
whileInView={"show"}
viewport={{ once: true, amount: 0.7 }}
>
I am a 20-year-old from Kolkata, India currently pursuing a B.Tech
in Computer Science and Engineering(2023-27).
</p>
<p>
</motion.p>
<motion.p
variants={fadeIn("right", 0.4)}
initial="hidden"
whileInView={"show"}
viewport={{ once: true, amount: 0.7 }}
>
Other than that, I am also a dedicated freelance front-end web
developer with experience in creating high-quality websites. Skilled
in React.js and firebase, I aim to leverage my expertise to build
innovative digital solutions. Passionate about crafting userfriendly
interfaces and embracing cutting-edge technologies for efficient
development.
</p>
<p>
</motion.p>
<motion.p
variants={fadeIn("right", 0.6)}
initial="hidden"
whileInView={"show"}
viewport={{ once: true, amount: 0.7 }}
>
I actively participate in online hackathons and coding competitions,
if you want to add me in your team then reach out to me on LinkedIn
.If you have any other questions, feel free to ask in the contact
page or directly DM me on any of my social media accounts.
</p>
</motion.p>
</div>
</div>
</div>
Expand Down
106 changes: 106 additions & 0 deletions src/Components/ContactUs.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
import React from "react";
import { motion } from "framer-motion";
import { useState } from "react";
import { fadeIn } from "../Variants";

function ContactUs() {
const [selectedOption, setSelectedOption] = useState(null);
const [formData, setFormData] = useState({
name: "",
email: "",
option: "",
budget: "",
message: "",
});

const handleOptionClick = (option, field) => {
setFormData({
...formData,
[field]: option,
});
setSelectedOption(option);
};

const handleChange = (e) => {
setFormData({
...formData,
[e.target.name]: e.target.value,
});
};

const handleSubmit = (e) => {
e.preventDefault();
const { name, option, budget, message } = formData;

const subject = `Hello there, I am ${name}`;
const body = `${message}`;
const mailtoLink = `mailto:[email protected]?subject=${encodeURIComponent(
subject
)}&body=${encodeURIComponent(body)}&[email protected]`;

window.location.href = mailtoLink;
};

return (
<motion.div>
<div className="md:my-20 my-16">
<motion.form
variants={fadeIn("down", 0.3)}
initial="hidden"
whileInView={"show"}
viewport={{ once: true, amount: 0.7 }}
className="max-w-md md:max-w-xl mx-auto p-5 rounded-3xl border-2 border-gray-500 text-white"
onSubmit={handleSubmit}
>
<div className="mb-5 md:mb-10">
<label className="block mb-2 text-lg">Your name </label>
<input
type="text"
name="name"
value={formData.name}
onChange={handleChange}
className="w-full py-2 px-4 bg-transparent border-b "
placeholder="Enter your name"
required
/>
</div>
<div className="mb-5 md:mb-10">
<label className="block mb-2 text-lg">Your email </label>
<input
type="email"
name="email"
value={formData.email}
onChange={handleChange}
className="w-full py-2 px-4 border-b bg-transparent "
placeholder="Enter your email"
required
/>
</div>

<div className="mb-5 md:mb-10">
<label htmlFor="message" className="block mb-2 text-lg">
Your message:
</label>
<textarea
id="message"
name="message"
value={formData.brief}
onChange={handleChange}
className="w-full py-2 px-4 min-h-20 bg-transparent border rounded-b-lg border-t-0 "
placeholder="write your messaage..."
></textarea>
</div>

<button
type="submit"
className="w-full py-2 px-4 bg-transparent rounded-md hover:bg-cyan-600"
>
<span className="text-xl font-bold">Submit</span>
</button>
</motion.form>
</div>
</motion.div>
);
}

export default ContactUs;
37 changes: 31 additions & 6 deletions src/Components/First.jsx
Original file line number Diff line number Diff line change
@@ -1,21 +1,46 @@
import React from "react";
import { motion } from "framer-motion";
import ayush215mb from "../assets/Images/Ayush215mb.jpg";
import { fadeIn } from "../Variants";
const First = () => {
return (
<div className=" mx-10 mb-10 ">
<div className=" mx-10 mb-16 ">
<div className="items-center md:flex-row-reverse flex-col justify-center py-7 flex gap-10 lg:justify-around ">
<img
<motion.img
variants={fadeIn("up", 1.0)}
initial="hidden"
whileInView={"show"}
viewport={{ once: true, amount: 0.7 }}
src={ayush215mb}
className="lg:max-w-md rounded-3xl sm:max-w-sm max-w-xs "
alt="logo"
/>
<div className="flex flex-col gap-5">
<h1 className="md:text-7xl text-2xl text-center md:text-start">
<motion.h1
variants={fadeIn("down", 1.0)}
initial="hidden"
whileInView={"show"}
viewport={{ once: true, amount: 0.7 }}
className="md:text-7xl text-2xl text-center md:text-start"
>
AYUSH YADAV
</h1>
<p className="md:text-3xl text-xl">Hello there! 🤙</p>
<motion.p className="md:text-2xl text-lg md:max-w-xl">
</motion.h1>
<motion.p
variants={fadeIn("down", 1.0)}
initial="hidden"
whileInView={"show"}
viewport={{ once: true, amount: 0.7 }}
className="md:text-3xl text-xl"
>
Hello there! 🤙
</motion.p>
<motion.p
variants={fadeIn("down", 1.0)}
initial="hidden"
whileInView={"show"}
viewport={{ once: true, amount: 0.7 }}
className="md:text-2xl text-lg md:max-w-xl"
>
I am a passionate Web Developer with a knack of creating beautiful
and functional websites.
<br /> I like transforming ideas into enaging and user-friendly web
Expand Down
71 changes: 71 additions & 0 deletions src/Components/Footer.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
import { motion } from "framer-motion";
import { fadeIn } from "../Variants";
const Footer = () => {
return (
<div className="flex my-10 md:mx-40 items-center justify-center ">
<div className="flex items-center justify-around gap-7">
<a href="https://www.linkedin.com/in/ayush215mb/" target="_blank">
<motion.img
variants={fadeIn("up", 0.2)}
initial="hidden"
whileInView={"show"}
viewport={{ once: true, amount: 0.7 }}
src="https://cdn2.iconfinder.com/data/icons/social-media-2285/512/1_Linkedin_unofficial_colored_svg-512.png"
alt="Linkedin_logo"
className="max-w-12"
/>
</a>
<a
href="https://www.instagram.com/ayush215mb?igsh=MWk4OGRtMW11Mzl0aA=="
target="_blank"
>
<motion.img
variants={fadeIn("up", 0.3)}
initial="hidden"
whileInView={"show"}
viewport={{ once: true, amount: 0.7 }}
src=" https://cdn2.iconfinder.com/data/icons/social-media-2285/512/1_Instagram_colored_svg_1-512.png"
alt="Insta_logo"
className="max-w-12"
/>
</a>
<a href="https://github.com/Ayush215mb" target="_blank">
<motion.img
variants={fadeIn("up", 0.4)}
initial="hidden"
whileInView={"show"}
viewport={{ once: true, amount: 0.7 }}
src=" https://cdn1.iconfinder.com/data/icons/logotypes/32/github-256.png"
alt="Github_logo"
className="max-w-12 bg-slate-200"
/>
</a>

<a href="mailto: [email protected]" target="_blank">
<motion.img
variants={fadeIn("up", 0.5)}
initial="hidden"
whileInView={"show"}
viewport={{ once: true, amount: 0.7 }}
src="https://cdn1.iconfinder.com/data/icons/google-s-logo/150/Google_Icons-02-512.png"
alt="gmail_logo"
className="max-w-12 "
/>
</a>
<a href="https://discord.com/users/903294131768545291" target="_blank">
<motion.img
variants={fadeIn("up", 0.6)}
initial="hidden"
whileInView={"show"}
viewport={{ once: true, amount: 0.7 }}
src=" https://cdn0.iconfinder.com/data/icons/free-social-media-set/24/discord-64.png"
alt="discord_logo"
className="max-w-12 "
/>
</a>
</div>
</div>
);
};

export default Footer;
Loading

0 comments on commit f2ce48b

Please sign in to comment.