26 | {/* Display the section heading for "About me." */}
27 | About me
28 |
29 | {/* Display a paragraph with information about the user's background and interests. */}
30 |
31 | After passing out my High School, I
32 | decided to pursue my passion for programming. I enrolled in a coding
33 | bootcamp and learned{" "}
34 | full-stack web development.{" "}
35 | My favorite part of programming is the
36 | problem-solving aspect. I love the feeling
37 | of finally figuring out a solution to a problem. My core stack is{" "}
38 | React, Next.js, Node.js, and MySQL. I am
39 | also familiar with TypeScript and Prisma. I am always looking to learn
40 | new technologies. I am currently looking for a{" "}
41 | full-time position as a software
42 | developer.
43 |
44 |
45 | {/* Display another paragraph about the user's interests and hobbies. */}
46 |
47 | When I'm not coding, I enjoy playing video
48 | games, watching movies, and reading novels. I also enjoy{" "}
49 | learning new things. I am currently
50 | learning about astronomy and psychology.
51 | I'm also learning how to build and program robots.
52 |
53 |
54 | );
55 | };
56 |
57 | // Export the About component.
58 | export default About;
59 |
--------------------------------------------------------------------------------
/components/contact.tsx:
--------------------------------------------------------------------------------
1 | // Import necessary dependencies and components.
2 | "use client"; // This comment indicates that this code should run on the client side in Next.js.
3 |
4 | import emailjs, { type EmailJSResponseStatus } from "@emailjs/browser";
5 | import { motion } from "framer-motion";
6 | import Link from "next/link";
7 | import { createRef, FormEvent, useRef, useState } from "react";
8 | import ReCAPTCHA from "react-google-recaptcha";
9 | import toast from "react-hot-toast";
10 | import { FaPaperPlane } from "react-icons/fa";
11 |
12 | import { EXTRA_LINKS } from "@/constants";
13 | import { useSectionInView } from "@/lib/hooks";
14 |
15 | import SectionHeading from "./section-heading";
16 |
17 | // Define the Contact component.
18 | const Contact = () => {
19 | // Use the useSectionInView custom hook to track when the "Contact" section is in view.
20 | const { ref } = useSectionInView("Contact");
21 | const [loading, setLoading] = useState(false);
22 | const formRef = useRef