diff --git a/src/Utils/ScrollUtils/ScrollUtils.jsx b/src/Utils/ScrollUtils/ScrollUtils.jsx
index 8c953e6..b07b725 100644
--- a/src/Utils/ScrollUtils/ScrollUtils.jsx
+++ b/src/Utils/ScrollUtils/ScrollUtils.jsx
@@ -6,7 +6,7 @@ export const scrollToSection = (sectionId) => {
if (section) {
window.scrollTo({
top: section.offsetTop - 100,
- behavior: "smooth",
+ behavior: "smooth",
});
} else {
console.error(`Element with ID "${sectionId}" not found.`);
diff --git a/src/assets/ProjectsList/ProjectsList.jsx b/src/assets/ProjectsList/ProjectsList.jsx
index 864c969..de6fe14 100644
--- a/src/assets/ProjectsList/ProjectsList.jsx
+++ b/src/assets/ProjectsList/ProjectsList.jsx
@@ -1,24 +1,29 @@
import image1 from "../images/notAvailable.jpeg";
let ProjectsList = [
{
- name: "Project Name",
+ id:1,
+ name: "Project 1 Name",
image: image1,
technology: "ReactJs",
+ description:"Aliqua nostrud non aute irure velit incididunt. Eu eiusmod ea officia incididunt proident aute eiusmod excepteur in cillum sunt elit do culpa. Ad esse deserunt anim reprehenderit ullamco fugiat aliqua proident elit esse. Fugiat quis laboris deserunt cillum. Elit ullamco voluptate irure minim.",
live_link: "http://reactjs.com",
github_link:"https://github.com/devalentineomonya"
},
{
- name: "Project Name",
+ id:2,
+ name: "Project 2 Name",
image: image1,
technology: "ReactJs",
- link: "http://reactjs.com",
+ description:"Aliqua nostrud non aute irure velit incididunt. Eu eiusmod ea officia incididunt proident aute eiusmod excepteur in cillum sunt elit do culpa. Ad esse deserunt anim reprehenderit ullamco fugiat aliqua proident elit esse. Fugiat quis laboris deserunt cillum. Elit ullamco voluptate irure minim.",
+ live_link: "http://reactjs.com",
github_link:"https://github.com/devalentineomonya"
},
- {
- name: "Project Name",
+ { id:3,
+ name: "Project 3 Name",
image: image1,
technology: "ReactJs",
- link: "http://reactjs.com",
+ description:"Aliqua nostrud non aute irure velit incididunt. Eu eiusmod ea officia incididunt proident aute eiusmod excepteur in cillum sunt elit do culpa. Ad esse deserunt anim reprehenderit ullamco fugiat aliqua proident elit esse. Fugiat quis laboris deserunt cillum. Elit ullamco voluptate irure minim.",
+ live_link: "http://reactjs.com",
github_link:"https://github.com/devalentineomonya",
},
diff --git a/src/components/ProjectCard/ProjectCard.jsx b/src/components/ProjectCard/ProjectCard.jsx
index 093185c..f5c2850 100644
--- a/src/components/ProjectCard/ProjectCard.jsx
+++ b/src/components/ProjectCard/ProjectCard.jsx
@@ -1,11 +1,18 @@
import React from "react";
import "./projectcard.css";
-const ProjectCard = ({projectInfo}) => {
+
+const ProjectCard = ({ projectInfo, setTogglePopup,setProjectID }) => {
+ function openPopup(e) {
+ e.preventDefault();
+ setTogglePopup(true);
+ setProjectID(projectInfo.id)
+ }
+
return (
-
+
@@ -14,7 +21,13 @@ const ProjectCard = ({projectInfo}) => {
diff --git a/src/components/ProjectPopup/ProjectPopup.jsx b/src/components/ProjectPopup/ProjectPopup.jsx
new file mode 100644
index 0000000..4ecd30d
--- /dev/null
+++ b/src/components/ProjectPopup/ProjectPopup.jsx
@@ -0,0 +1,46 @@
+import React from "react";
+import "./projectpopup.css";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import { faPlus } from "@fortawesome/free-solid-svg-icons";
+import image1 from "../../assets/images/slider1.jpg";
+import ProjectsList from "../../assets/ProjectsList/ProjectsList";
+
+const ProjectPopup = ({ togglePopup, setTogglePopup, projectID }) => {
+ let project = null; // Initialize project as null
+
+ // Check if projectID is set before finding the project
+ if (projectID) {
+ project = ProjectsList.find((p) => p.id === projectID);
+ }
+
+ return (
+
+ );
+};
+
+export default ProjectPopup;
diff --git a/src/components/ProjectPopup/projectpopup.css b/src/components/ProjectPopup/projectpopup.css
new file mode 100644
index 0000000..55c4ead
--- /dev/null
+++ b/src/components/ProjectPopup/projectpopup.css
@@ -0,0 +1,135 @@
+.popup-overlay {
+ position: fixed;
+ height: 100vh;
+ width: 100%;
+ top: 0;
+ left: 0;
+ background-color: rgba(0, 0, 0, 0.4);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ z-index: 1300;
+ scale: 0;
+ transition: all 0.3s ease-in-out;
+}
+
+.popup-overlay.open {
+ scale: 1;
+}
+
+.popup-content {
+ display: flex;
+ background-color: #fff;
+ height: 80%;
+ width: 80%;
+ border-radius: 10px;
+ position: relative;
+ overflow: hidden;
+
+}
+
+.close-button {
+ position: absolute;
+ right: 10px;
+ top: 5px;
+ height: 40px;
+ width: 40px;
+ cursor: pointer;
+ background-color: rgba(0, 0, 0, 0.3);
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #fff;
+ font-size: 20px;
+ transform: rotate(45deg);
+ z-index: 1300;
+}
+
+.popup-grid {
+ display: grid;
+ grid-template-columns: 1.1fr 0.9fr;
+ column-gap: 20px;
+ padding: 5px;
+}
+
+.popup-left-section {
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ position: relative;
+ border-radius: 10px;
+}
+
+.popup-left-section img {
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+
+}
+
+.popup-right-section {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+ position: relative;
+}
+.popup-text h1{
+ font-size: 30px;
+ font-family: "Dosis";
+ margin-bottom: 10px;
+ cursor: pointer;
+ transition: all 0.3s ease-in-out;
+}
+.popup-text h1:hover{
+ color: var(--color-primary);
+
+}
+
+.popup-text p {
+ font-size: 14px;
+ letter-spacing: 3px;
+ line-height: 2rem;
+
+}
+
+.popup-buttons {
+ position: absolute;
+ bottom: 0;
+ display: flex;
+ width: 100%;
+ padding: 0 20px;
+ padding-bottom: 20px;
+ justify-content: space-between;
+
+}
+
+.popup-buttons a {
+
+ font-size: 20px;
+}
+
+@media screen and (max-width:1200px) {
+
+ .popup-grid {
+ display: flex;
+ flex-direction: column;
+ }
+
+ .popup-left-section {
+ flex: 1;
+ margin-top: 50px;
+ }
+
+ .popup-right-section {
+ flex: 1;
+ }
+
+ .popup-content {
+
+ height: 70%;
+ }
+
+}
\ No newline at end of file
diff --git a/src/components/Projects/Projects.jsx b/src/components/Projects/Projects.jsx
index 08aa0d2..940188c 100644
--- a/src/components/Projects/Projects.jsx
+++ b/src/components/Projects/Projects.jsx
@@ -3,13 +3,13 @@ import ProjectCard from "../ProjectCard/ProjectCard";
import ProjectsList from "../../assets/ProjectsList/ProjectsList";
import "./projects.css";
import HeadLine from "../HeadLine/HeadLine";
-const Projects = () => {
+const Projects = ({setTogglePopup, setProjectID}) => {
return (
{ProjectsList.map((project, i) => (
-
+
))}
diff --git a/src/components/SocialLinks/socialinks.css b/src/components/SocialLinks/socialinks.css
index 35a0b1b..a564edc 100644
--- a/src/components/SocialLinks/socialinks.css
+++ b/src/components/SocialLinks/socialinks.css
@@ -3,7 +3,7 @@
bottom: 50%;
left: 2%;
transform: translate(-50%, 50%);
- z-index: 1500;
+ z-index: 1100;
transition: 0.3s ease-in-out;
}
diff --git a/src/components/TechStacks/TechStacks.jsx b/src/components/TechStacks/TechStacks.jsx
index 607a5ac..5862a20 100644
--- a/src/components/TechStacks/TechStacks.jsx
+++ b/src/components/TechStacks/TechStacks.jsx
@@ -8,7 +8,7 @@ const TechStacks = () => {
const { servicesList } = useContext(ServicesContext);
return (
-
+
{servicesList.map((service, i) => (
diff --git a/src/pages/Home.jsx b/src/pages/Home.jsx
index 45a6607..0e1293e 100644
--- a/src/pages/Home.jsx
+++ b/src/pages/Home.jsx
@@ -12,10 +12,13 @@ import LatestProjects from "../components/LatestProjects/LatestProjects";
import Contact from "../components/Contact/Contact";
import Projects from "../components/Projects/Projects";
import { scrollToSection } from "../Utils/ScrollUtils/ScrollUtils";
-import React, { useEffect } from "react";
+import React, { useEffect, useState } from "react";
+import ProjectPopup from "../components/ProjectPopup/ProjectPopup";
const Home = ({ activeTab, setActiveTab }) => {
const hash = window.location.hash.substr(1);
+ const[togglePopup, setTogglePopup] = useState(false);
+ const [projectID, setProjectID] = useState(null);
useEffect(() => {
scrollToSection(hash);
setActiveTab(hash);
@@ -38,7 +41,7 @@ const Home = ({ activeTab, setActiveTab }) => {
-
+
@@ -46,6 +49,7 @@ const Home = ({ activeTab, setActiveTab }) => {
+
>
);
};