├── .gitignore
├── README.md
├── package.json
├── public
├── index.html
└── robots.txt
├── src
├── App.css
├── App.js
├── Context.js
├── components
│ ├── Card
│ │ ├── Card.css
│ │ └── Card.jsx
│ ├── Contact
│ │ ├── Contact.css
│ │ └── Contact.jsx
│ ├── Experience
│ │ ├── Experience.css
│ │ └── Experience.jsx
│ ├── FloatingDiv
│ │ ├── FloatingDiv.css
│ │ └── FloatingDiv.jsx
│ ├── Footer
│ │ ├── Footer.css
│ │ └── Footer.jsx
│ ├── Intro
│ │ ├── Intro.css
│ │ └── Intro.jsx
│ ├── Navbar
│ │ ├── Navbar.css
│ │ └── Navbar.jsx
│ ├── Portfolio
│ │ ├── Portfolio.css
│ │ └── Portfolio.jsx
│ ├── Services
│ │ ├── Services.css
│ │ ├── Services.jsx
│ │ └── resume.pdf
│ ├── Testimonials
│ │ ├── Testimonial.css
│ │ └── Testimonial.jsx
│ ├── Toggle
│ │ ├── Toggle.css
│ │ └── Toggle.jsx
│ └── Works
│ │ ├── Works.css
│ │ └── Works.jsx
├── fonts
│ └── Gumela Regular.otf
├── img
│ ├── Facebook.png
│ ├── Shopify.png
│ ├── Upwork.png
│ ├── Vector1.png
│ ├── Vector2.png
│ ├── amazon.png
│ ├── boy.png
│ ├── crown.png
│ ├── ecommerce.png
│ ├── fiverr.png
│ ├── github.png
│ ├── glasses.png
│ ├── glassesimoji.png
│ ├── heartemoji.png
│ ├── hoc.png
│ ├── humble.png
│ ├── instagram.png
│ ├── linkedin.png
│ ├── musicapp.png
│ ├── profile1.jpg
│ ├── profile2.jpg
│ ├── profile3.jpg
│ ├── profile4.jpg
│ ├── profile5.jpg
│ ├── profile6.jpg
│ ├── purpleblur.png
│ ├── sidebar.png
│ ├── thumbup.png
│ └── wave.png
└── index.js
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Getting Started with Create React App
2 |
3 | This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
4 |
5 | ## Available Scripts
6 |
7 | In the project directory, you can run:
8 |
9 | ### `yarn start`
10 |
11 | Runs the app in the development mode.\
12 | Open [http://localhost:3000](http://localhost:3000) to view it in your browser.
13 |
14 | The page will reload when you make changes.\
15 | You may also see any lint errors in the console.
16 |
17 | ### `yarn test`
18 |
19 | Launches the test runner in the interactive watch mode.\
20 | See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
21 |
22 | ### `yarn build`
23 |
24 | Builds the app for production to the `build` folder.\
25 | It correctly bundles React in production mode and optimizes the build for the best performance.
26 |
27 | The build is minified and the filenames include the hashes.\
28 | Your app is ready to be deployed!
29 |
30 | See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
31 |
32 | ### `yarn eject`
33 |
34 | **Note: this is a one-way operation. Once you `eject`, you can't go back!**
35 |
36 | If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
37 |
38 | Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.
39 |
40 | You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.
41 |
42 | ## Learn More
43 |
44 | You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
45 |
46 | To learn React, check out the [React documentation](https://reactjs.org/).
47 |
48 | ### Code Splitting
49 |
50 | This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting)
51 |
52 | ### Analyzing the Bundle Size
53 |
54 | This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size)
55 |
56 | ### Making a Progressive Web App
57 |
58 | This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app)
59 |
60 | ### Advanced Configuration
61 |
62 | This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration)
63 |
64 | ### Deployment
65 |
66 | This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment)
67 |
68 | ### `yarn build` fails to minify
69 |
70 | This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify)
71 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "portofolio",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "@emailjs/browser": "^3.4.0",
7 | "@iconscout/react-unicons": "^1.1.6",
8 | "@testing-library/jest-dom": "^5.14.1",
9 | "@testing-library/react": "^12.0.0",
10 | "@testing-library/user-event": "^13.2.1",
11 | "framer-motion": "^6.2.8",
12 | "react": "^17.0.2",
13 | "react-dom": "^17.0.2",
14 | "react-scripts": "5.0.0",
15 | "react-scroll": "^1.8.6",
16 | "swiper": "^8.0.7",
17 | "web-vitals": "^2.1.0"
18 | },
19 | "scripts": {
20 | "start": "react-scripts start",
21 | "build": "react-scripts build",
22 | "test": "react-scripts test",
23 | "eject": "react-scripts eject"
24 | },
25 | "eslintConfig": {
26 | "extends": [
27 | "react-app",
28 | "react-app/jest"
29 | ]
30 | },
31 | "browserslist": {
32 | "production": [
33 | ">0.2%",
34 | "not dead",
35 | "not op_mini all"
36 | ],
37 | "development": [
38 | "last 1 chrome version",
39 | "last 1 firefox version",
40 | "last 1 safari version"
41 | ]
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
11 |
25 |
29 |
38 | React App
39 |
40 |
41 | You need to enable JavaScript to run this app.
42 |
43 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/App.css:
--------------------------------------------------------------------------------
1 | :root
2 | {
3 | --yellow: #F5C32C;
4 | --orange : #FCA61F;
5 | --black : #242D49;
6 | --gray : #788097;
7 | --blueCard : #DDF8FE;
8 | --purple: rgb(238 210 255);
9 | --boxShadow : 0px 19px 60px rgb(0 0 0 / 8%);
10 | --orangeCard: rgba(252, 166, 31, 0.45);
11 | --smboxShadow: -79px 51px 60px rgba(0, 0, 0, 0.08);
12 | }
13 |
14 | .App{
15 | padding: 0.5rem 3.5rem;
16 | overflow: hidden;
17 | color: var(--black);
18 | }
19 |
20 | .button {
21 | background: linear-gradient(180deg, #fdc50f 26.71%, #fb982f 99.36%);
22 | box-shadow: 0px 20px 24px 3px rgba(251, 161, 40, 0.42);
23 | border-radius: 34px;
24 | border: none;
25 | color: white;
26 | font-size: 16px;
27 | padding: 11px 26px 11px 26px;
28 | }
29 |
30 | .button:hover {
31 | background: white;
32 | cursor: pointer;
33 | border: 1px solid var(--orange);
34 | color: var(--orange);
35 | }
36 | @media screen and (max-width: 480px) {
37 | .App {
38 | padding: 0.5rem 1rem;
39 |
40 | }
41 | }
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/src/App.js:
--------------------------------------------------------------------------------
1 | import Navbar from "./components/Navbar/Navbar";
2 | import Intro from "./components/Intro/Intro";
3 | import Services from "./components/Services/Services";
4 | import "./App.css";
5 | import Experience from "./components/Experience/Experience";
6 | import Works from "./components/Works/Works";
7 | import Portfolio from "./components/Portfolio/Portfolio";
8 | import Testimonial from "./components/Testimonials/Testimonial";
9 | import Contact from "./components/Contact/Contact";
10 | import Footer from "./components/Footer/Footer";
11 | import { useContext } from "react";
12 | import { themeContext } from "./Context";
13 | function App() {
14 | const theme = useContext(themeContext);
15 | const darkMode = theme.state.darkMode;
16 | return (
17 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 | );
35 | }
36 |
37 | export default App;
38 |
--------------------------------------------------------------------------------
/src/Context.js:
--------------------------------------------------------------------------------
1 | import { createContext, useReducer } from "react";
2 |
3 | export const themeContext = createContext();
4 |
5 | const initialState = { darkMode: false };
6 |
7 | const themeReducer = (state, action) => {
8 | switch (action.type) {
9 | case "toggle":
10 | return { darkMode: !state.darkMode };
11 | default:
12 | return state;
13 | }
14 | };
15 |
16 | export const ThemeProvider = (props) => {
17 | const [state, dispatch] = useReducer(themeReducer, initialState);
18 | return (
19 | {props.children}
20 | );
21 | };
22 |
--------------------------------------------------------------------------------
/src/components/Card/Card.css:
--------------------------------------------------------------------------------
1 | .card {
2 | width: 10rem;
3 | height: 13rem;
4 | position: absolute;
5 | display: flex;
6 | flex-direction: column;
7 | gap: 1rem;
8 | align-items: center;
9 | width: 10rem;
10 | text-align: center;
11 | background: rgba(255, 255, 255, 0.26);
12 | border: 7px solid var(--orangeCard);
13 | box-shadow: var(--boxShadow);
14 | border-radius: 20px;
15 | padding: 0px 26px 2rem 26px;
16 | }
17 | .card span:nth-of-type(2) {
18 | color: var(--gray);
19 | font-size: 16px;
20 | }
21 | .card > img {
22 | transform: scale(0.6);
23 | margin-bottom: -2rem;
24 | }
25 | .c-button {
26 | background: #FFFFFF;
27 | box-shadow: 0px 19px 60px rgba(0, 0, 0, 0.08);
28 | border-radius: 7px;
29 | border: none;
30 | padding: 10px;
31 | font-size: 16px;
32 | color: #5290FD;
33 | }
34 |
35 | .c-button:hover{
36 | transform: scale(1.1);
37 | cursor: pointer;
38 | }
39 | /* cards */
40 |
41 |
42 |
43 |
44 | @media screen and (max-width: 480px){
45 | .card{
46 | width: auto;
47 | }
48 | }
--------------------------------------------------------------------------------
/src/components/Card/Card.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import "./Card.css";
3 |
4 | const Card = ({emoji, heading, detail, color}) => {
5 | return (
6 |
7 |
8 |
{heading}
9 |
{detail}
10 |
LEARN MORE
11 |
12 | );
13 | };
14 |
15 | export default Card;
16 |
--------------------------------------------------------------------------------
/src/components/Contact/Contact.css:
--------------------------------------------------------------------------------
1 | .contact-form{
2 | padding: 0 3rem 0 3rem;
3 | display: flex;
4 | height: 80vh;
5 | margin-top: 4rem;
6 | /* scroll */
7 | padding-top: 3rem;
8 | }
9 |
10 | .c-right{
11 | display: flex;
12 | justify-content: center;
13 | position: relative;
14 | flex: 1;
15 | }
16 |
17 | .c-right>form
18 | {
19 | display: flex;
20 | flex-direction: column;
21 | gap: 2rem;
22 | align-items: center;
23 |
24 | }
25 |
26 | .c-right .user{
27 | width: 20rem;
28 | height: 2rem;
29 | padding: 0.3em;
30 | outline: none;
31 | border: 2px solid var(--orange);
32 | border-radius: 8px;
33 | font-size: 16px;
34 | }
35 |
36 | textarea{
37 | height: 4rem!important;
38 | }
39 |
40 | .c-blur1{
41 | top: 1rem;
42 | left: 8rem;
43 | }
44 |
45 | @media screen and (max-width: 480px) {
46 | .contact-form{
47 | padding: 0;
48 | flex-direction: column;
49 | gap: 5rem;
50 | height: 40rem;
51 | }
52 | .c-right .user{
53 | width: 16rem;
54 | }
55 |
56 | }
--------------------------------------------------------------------------------
/src/components/Contact/Contact.jsx:
--------------------------------------------------------------------------------
1 | import React, { useContext, useRef, useState } from "react";
2 | import "./Contact.css";
3 | import emailjs from "@emailjs/browser";
4 | import { themeContext } from "../../Context";
5 | const Contact = () => {
6 | const theme = useContext(themeContext);
7 | const darkMode = theme.state.darkMode;
8 | const form = useRef();
9 | const [done, setDone] = useState(false)
10 | const sendEmail = (e) => {
11 | e.preventDefault();
12 |
13 | emailjs
14 | .sendForm(
15 | "service_2mu5xtl",
16 | "template_m5udu2c",
17 | form.current,
18 | "VLwg1ltOWvnCYAiK_"
19 | )
20 | .then(
21 | (result) => {
22 | console.log(result.text);
23 | setDone(true);
24 | form.reset();
25 | },
26 | (error) => {
27 | console.log(error.text);
28 | }
29 | );
30 | };
31 |
32 | return (
33 |
61 | );
62 | };
63 |
64 | export default Contact;
65 |
--------------------------------------------------------------------------------
/src/components/Experience/Experience.css:
--------------------------------------------------------------------------------
1 | .experience {
2 | display: flex;
3 | align-items: center;
4 | justify-content: center;
5 | gap: 5rem;
6 | height: 30vh;
7 | margin-bottom: 8rem;
8 | /* darkmode */
9 | color: var(--black);
10 | }
11 | .achievement{
12 | display: flex;
13 | flex-direction: column;
14 | align-items: center;
15 | }
16 | .circle {
17 | width: 4rem;
18 | height: 4rem;
19 | background: white;
20 | border-radius: 100%;
21 | position: relative;
22 | display: flex;
23 | align-items: center;
24 | justify-content: center;
25 | font-size: 1.5rem;
26 | font-weight: bold;
27 | margin-bottom: 2rem;
28 | }
29 | .circle::before {
30 | border-radius: 100%;
31 | content: '';
32 | background-image: linear-gradient(to bottom, #87e6fb 0%, #ffc05c 100%);
33 | top: -8px;
34 | left: -8px;
35 | bottom: -8px;
36 | right: -8px;
37 | position: absolute;
38 | z-index:-1;
39 | box-shadow: var(--boxShadow);
40 | }
41 |
42 | .achievement span:nth-of-type(2){
43 | color: var(--orange);
44 | }
45 |
46 |
47 | @media screen and (max-width: 480px) {
48 | .experience{
49 | transform: scale(0.7);
50 | }
51 | }
--------------------------------------------------------------------------------
/src/components/Experience/Experience.jsx:
--------------------------------------------------------------------------------
1 | import React, { useContext } from "react";
2 | import { themeContext } from "../../Context";
3 | import "./Experience.css";
4 | const Experience = () => {
5 | const theme = useContext(themeContext);
6 | const darkMode = theme.state.darkMode;
7 |
8 | return (
9 |
10 |
11 | {/* darkMode */}
12 |
8+
13 |
years
14 |
Experience
15 |
16 |
17 |
20+
18 |
completed
19 |
Projects
20 |
21 |
22 |
5+
23 |
companies
24 |
Work
25 |
26 |
27 | );
28 | };
29 |
30 | export default Experience;
31 |
--------------------------------------------------------------------------------
/src/components/FloatingDiv/FloatingDiv.css:
--------------------------------------------------------------------------------
1 | .floatingDiv {
2 | justify-content: space-around;
3 | background: white;
4 | box-shadow: var(--boxShadow);
5 | border-radius: 17px;
6 | display: flex;
7 | align-items: center;
8 | padding: 0px 28px 0px 0px;
9 | height: 4.5rem;
10 | }
11 | .floatingDiv > img {
12 | transform: scale(0.4);
13 | }
14 | .floatingDiv > span {
15 | font-family: sans-serif;
16 | font-size: 16px;
17 | /* yahan ye color add kia hy bad mein dark mode k waqt */
18 | color: black;
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/src/components/FloatingDiv/FloatingDiv.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | import './FloatingDiv.css'
4 |
5 |
6 | const FloatinDiv = ({img, text1, text2}) => {
7 | return (
8 | // darkMode
9 |
10 |
11 |
12 | {text1}
13 |
14 | {text2}
15 |
16 |
17 | );
18 | };
19 |
20 | export default FloatinDiv;
21 |
--------------------------------------------------------------------------------
/src/components/Footer/Footer.css:
--------------------------------------------------------------------------------
1 | .footer {
2 | display: flex;
3 | align-items: center;
4 | margin: -0.5rem -3.5rem;
5 | position: relative;
6 | margin-top: -7rem;
7 | }
8 | .f-content {
9 | position: absolute;
10 | display: flex;
11 | align-items: center;
12 | justify-content: center;
13 | flex-direction: column;
14 | width: 100%;
15 | margin-top: 4rem;
16 | gap: 4rem;
17 | color: white;
18 | }
19 | .f-icons {
20 | display: flex;
21 | gap: 2rem;
22 | }
23 |
24 | @media screen and (max-width: 480px){
25 | .f-content{
26 | transform: scale(.5);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/components/Footer/Footer.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import "./Footer.css";
3 | import Wave from "../../img/wave.png";
4 | import Insta from "@iconscout/react-unicons/icons/uil-instagram";
5 | import Facebook from "@iconscout/react-unicons/icons/uil-facebook";
6 | import Gitub from "@iconscout/react-unicons/icons/uil-github";
7 |
8 | const Footer = () => {
9 | return (
10 |
11 |
12 |
13 |
Zainkeepscode@gmail.com
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | );
22 | };
23 |
24 | export default Footer;
25 |
--------------------------------------------------------------------------------
/src/components/Intro/Intro.css:
--------------------------------------------------------------------------------
1 | .Intro {
2 | display: flex;
3 | height: 77vh;
4 | margin-top: 6rem;
5 | }
6 |
7 | /* left side styling */
8 | .i-left {
9 | display: flex;
10 | position: relative;
11 | flex: 1;
12 | flex-direction: column;
13 | gap: 2rem;
14 | }
15 | .i-name {
16 | display: flex;
17 | flex-direction: column;
18 | gap: 0.25rem;
19 | }
20 | .i-name > :nth-child(1) {
21 | color: var(--black);
22 | font-weight: bold;
23 | font-size: 3rem;
24 | }
25 | .i-name > :nth-child(2) {
26 | color: var(--orange);
27 | font-weight: bold;
28 | font-size: 3rem;
29 | }
30 | .i-name > :nth-child(3) {
31 | font-weight: 100;
32 | font-size: 14px;
33 | color: var(--gray);
34 | margin-top: 10px;
35 | }
36 | .i-button {
37 | width: 6rem;
38 | height: 2rem;
39 | }
40 | .i-icons {
41 | margin-top: 3rem;
42 | display: flex;
43 | gap: 0rem;
44 | }
45 | .i-icons > * {
46 | transform: scale(0.5);
47 | }
48 | .i-icons > *:hover {
49 | cursor: pointer;
50 | }
51 | /* right side styling */
52 | .i-right {
53 | flex: 1;
54 | position: relative;
55 | }
56 | .i-right > * {
57 | position: absolute;
58 | z-index: 1;
59 | }
60 | .i-right > :nth-child(1) {
61 | transform: scale(0.69);
62 | left: -15%;
63 | top: -9%;
64 | }
65 | .i-right > :nth-child(2) {
66 | top: -4.6rem;
67 | transform: scale(0.67);
68 | left: -3rem;
69 | }
70 | .i-right > :nth-child(3) {
71 | transform: scale(1.4);
72 | left: 28%;
73 | }
74 | .i-right > :nth-child(4) {
75 | transform: scale(0.62);
76 | top: -19%;
77 | left: -24%;
78 | border-radius: 50%;
79 | padding: 0;
80 | }
81 |
82 | /* blur */
83 | .blur {
84 | position: absolute;
85 | width: 22rem;
86 | height: 14rem;
87 | border-radius: 50%;
88 | background: #edd0ff;
89 | filter: blur(212px);
90 | z-index: -9;
91 | top: -18%;
92 | left: 56%;
93 | filter: blur(72px);
94 | }
95 |
96 | @media screen and (max-width: 480px) {
97 | .Intro {
98 | flex-direction: column;
99 | gap: 7rem;
100 | height: 64rem;
101 | }
102 |
103 | .i-right {
104 | transform: scale(0.8);
105 | left: -3rem;
106 | }
107 | .i-right .blur {
108 | display: none;
109 | }
110 | .floating-div:nth-of-type(1){
111 | /* display: none; */
112 | top: -7rem !important;;
113 | }
114 | }
115 |
--------------------------------------------------------------------------------
/src/components/Intro/Intro.jsx:
--------------------------------------------------------------------------------
1 | import React, { useContext } from "react";
2 | import "./Intro.css";
3 | import Vector1 from "../../img/Vector1.png";
4 | import Vector2 from "../../img/Vector2.png";
5 | import boy from "../../img/boy.png";
6 | import glassesimoji from "../../img/glassesimoji.png";
7 | import thumbup from "../../img/thumbup.png";
8 | import crown from "../../img/crown.png";
9 | import FloatinDiv from "../FloatingDiv/FloatingDiv";
10 | import Github from "../../img/github.png";
11 | import LinkedIn from "../../img/linkedin.png";
12 | import Instagram from "../../img/instagram.png";
13 | import { themeContext } from "../../Context";
14 | import { motion } from "framer-motion";
15 | import { Link } from "react-scroll";
16 | const Intro = () => {
17 | // Transition
18 | const transition = { duration: 2, type: "spring" };
19 |
20 | // context
21 | const theme = useContext(themeContext);
22 | const darkMode = theme.state.darkMode;
23 |
24 | return (
25 |
26 | {/* left name side */}
27 |
28 |
29 | {/* yahan change hy darkmode ka */}
30 | Hy! I Am
31 | Andrew Thomas
32 |
33 | Frontend Developer with high level of experience in web designing
34 | and development, producting the Quality work
35 |
36 |
37 |
38 |
Hire me
39 |
40 | {/* social icons */}
41 |
46 |
47 | {/* right image side */}
48 |
49 |
50 |
51 |
52 | {/* animation */}
53 |
60 |
61 |
67 |
68 |
69 |
70 | {/* animation */}
71 |
77 | {/* floatinDiv mein change hy dark mode ka */}
78 |
79 |
80 |
81 |
82 |
92 |
93 |
94 | );
95 | };
96 |
97 | export default Intro;
98 |
--------------------------------------------------------------------------------
/src/components/Navbar/Navbar.css:
--------------------------------------------------------------------------------
1 | .n-wrapper {
2 | height: 10vh;
3 | display: flex;
4 | justify-content: space-between;
5 | margin-bottom: 2rem;
6 | top: 0;
7 | }
8 | .n-left {
9 | flex: 1;
10 | align-items: center;
11 | justify-content: left;
12 | display: flex;
13 | gap: 2rem;
14 | }
15 |
16 | .n-name {
17 | font-size: 1.3rem;
18 | font-weight: bold;
19 | }
20 | .n-right {
21 | flex: 1;
22 | display: flex;
23 | align-items: center;
24 | justify-content: flex-end;
25 | font-weight: 400;
26 | }
27 |
28 | .n-list {
29 | flex: 10;
30 | }
31 | .n-list > ul {
32 | display: flex;
33 | gap: 2rem;
34 | margin-right: 4rem;
35 | }
36 |
37 | .n-list > ul :hover {
38 | color: var(--orange);
39 | cursor: pointer;
40 | }
41 |
42 | .n-button {
43 | flex: 2;
44 | }
45 |
46 | @media screen and (max-width: 480px) {
47 | .n-list {
48 | display: none;
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/src/components/Navbar/Navbar.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import Toggle from "../Toggle/Toggle";
3 | import "./Navbar.css";
4 | import { Link } from "react-scroll";
5 | const navbar = () => {
6 | return (
7 |
8 | {/* left */}
9 |
13 | {/* right */}
14 |
15 |
16 |
17 |
18 |
19 | Home
20 |
21 |
22 |
23 |
24 | Serivces
25 |
26 |
27 |
28 |
29 | Experience
30 |
31 |
32 |
33 |
34 | Protfolio
35 |
36 |
37 |
38 |
39 | Testimonial
40 |
41 |
42 |
43 |
44 |
45 |
Contact
46 |
47 |
48 |
49 | );
50 | };
51 |
52 | export default navbar;
53 |
--------------------------------------------------------------------------------
/src/components/Portfolio/Portfolio.css:
--------------------------------------------------------------------------------
1 | .portfolio {
2 | display: flex;
3 | align-items: center;
4 | justify-content: center;
5 | flex-direction: column;
6 | height: 70vh;
7 |
8 | }
9 | /* heading */
10 | .portfolio span:nth-of-type(1) {
11 | color: var(--black);
12 | font-size: 2rem;
13 | font-weight: bold;
14 | }
15 |
16 | .portfolio span:nth-of-type(2) {
17 | color: var(--orange);
18 | font-size: 2.5rem;
19 | font-weight: bold;
20 | }
21 |
22 | /* slider */
23 | .portfolio .swiper{
24 | overflow: visible!important;
25 | }
26 |
27 | .portfolio-slider {
28 | margin-top: 3rem;
29 | width: 100%;
30 | }
31 |
32 | .portfolio-slider .swiper-slide {
33 | width: 20rem;
34 | }
35 | .portfolio img {
36 | width: 19rem;
37 | filter: drop-shadow(-12px 15px 13px rgba(0, 0, 0, 0.25));
38 | border-radius: 19px;
39 | }
40 |
41 |
--------------------------------------------------------------------------------
/src/components/Portfolio/Portfolio.jsx:
--------------------------------------------------------------------------------
1 | import React, { useContext } from "react";
2 | import "./Portfolio.css";
3 | import { Swiper, SwiperSlide } from "swiper/react"
4 | import "swiper/css";
5 | import Sidebar from "../../img/sidebar.png";
6 | import Ecommerce from "../../img/ecommerce.png";
7 | import HOC from "../../img/hoc.png";
8 | import MusicApp from "../../img/musicapp.png";
9 | import { themeContext } from "../../Context";
10 | const Portfolio = () => {
11 | const theme = useContext(themeContext);
12 | const darkMode = theme.state.darkMode;
13 | return (
14 |
15 | {/* heading */}
16 |
Recent Projects
17 |
Portfolio
18 |
19 | {/* slider */}
20 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 | );
41 | };
42 |
43 | export default Portfolio;
44 |
--------------------------------------------------------------------------------
/src/components/Services/Services.css:
--------------------------------------------------------------------------------
1 | .services {
2 | padding: 0 3rem 0 3rem;
3 | display: flex;
4 | height: 30rem;
5 | margin-bottom: 8rem;
6 | margin-top: 9rem;
7 | margin-bottom: 13rem;
8 | /* scroll view */
9 | padding-top: 3rem;
10 | }
11 | /* left side */
12 | .awesome {
13 | display: flex;
14 | flex-direction: column;
15 | position: relative;
16 | /* gap: 20px; */
17 | }
18 |
19 | .awesome > :nth-child(1) {
20 | color: var(--black);
21 | font-size: 2.5rem;
22 | font-weight: bold;
23 | }
24 | .awesome > :nth-child(2) {
25 | color: var(--orange);
26 | font-size: 2.5rem;
27 | font-weight: bold;
28 | }
29 | .awesome > :nth-child(3) {
30 | color: var(--gray);
31 | font-size: 14px;
32 | margin-top: 1rem;
33 | }
34 | .s-button {
35 | width: 8rem;
36 | height: 2rem;
37 | margin-top: 1rem;
38 | }
39 | /* right sided */
40 | .cards {
41 | position: relative;
42 | }
43 | .cards > * {
44 | position: absolute;
45 | }
46 |
47 | /* blur */
48 | .s-blur2 {
49 | left: 14rem;
50 | top: 8rem;
51 | }
52 |
53 | .s-blur1 {
54 | top: 13rem;
55 | left: -18rem;
56 | }
57 |
58 | @media screen and (max-width: 480px) {
59 | .services {
60 | margin-top: 0;
61 | flex-direction: column;
62 | gap: 5rem;
63 | height: 66rem;
64 | padding: 0;
65 | }
66 |
67 | .cards {
68 | display: flex;
69 | flex-direction: column;
70 | gap: 17rem;
71 | }
72 | .cards > * {
73 | position: static;
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/src/components/Services/Services.jsx:
--------------------------------------------------------------------------------
1 | import React, { useContext } from "react";
2 | import "./Services.css";
3 | import Card from "../Card/Card";
4 | import HeartEmoji from "../../img/heartemoji.png";
5 | import Glasses from "../../img/glasses.png";
6 | import Humble from "../../img/humble.png";
7 | import { themeContext } from "../../Context";
8 | import { motion } from "framer-motion";
9 | import Resume from './resume.pdf';
10 |
11 | const Services = () => {
12 | // context
13 | const theme = useContext(themeContext);
14 | const darkMode = theme.state.darkMode;
15 |
16 | // transition
17 | const transition = {
18 | duration: 1,
19 | type: "spring",
20 | };
21 |
22 | return (
23 |
24 | {/* left side */}
25 |
26 | {/* dark mode */}
27 |
My Awesome
28 |
services
29 |
30 | Lorem ispum is simpley dummy text of printing of printing Lorem
31 |
32 | ispum is simpley dummy text of printing
33 |
34 |
35 | Download CV
36 |
37 |
38 |
39 | {/* right */}
40 |
41 | {/* first card */}
42 |
47 |
52 |
53 | {/* second card */}
54 |
59 |
64 |
65 | {/* 3rd */}
66 |
71 |
79 |
80 |
84 |
85 |
86 | );
87 | };
88 |
89 | export default Services;
90 |
--------------------------------------------------------------------------------
/src/components/Services/resume.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/components/Services/resume.pdf
--------------------------------------------------------------------------------
/src/components/Testimonials/Testimonial.css:
--------------------------------------------------------------------------------
1 | .t-wrapper{
2 | padding: 0 3rem 0 3rem;;
3 | height: 100vh;
4 | display: flex;
5 | align-items: center;
6 | justify-content: center;
7 | margin-top: 7rem;
8 | flex-direction: column;
9 | gap: 2rem;
10 | position: relative;
11 | }
12 | .t-heading{
13 | align-self: start;
14 | }
15 | .t-heading>*{
16 | font-size: 2rem;
17 | font-weight: bold;
18 | }
19 | .t-heading span:nth-of-type(2){
20 | color: var(--orange);
21 | }
22 |
23 | .t-blur1{
24 | left: 38rem;
25 | top: 16rem;
26 | }
27 | .t-blur2{
28 | top: 9rem;
29 | left: 0;
30 | }
31 | .testimonial{
32 | display: flex;
33 | flex-direction: column;
34 | align-items: center;
35 | justify-content: space-evenly;
36 | padding: 2rem;
37 | width: 30rem;
38 | height: 12rem;
39 | /* styles same as work.css */
40 | background: rgba(255, 255, 255, 0.26);
41 | border: 7px solid var(--blueCard);
42 | box-shadow: var(--boxShadow);
43 | border-radius: 20px;
44 | }
45 | .testimonial>img{
46 | width: 6rem;
47 | height: 6rem;
48 | border-radius: 100%;
49 | }
50 | .testimonial>span{
51 | color: var(--gray);
52 | }
53 |
54 |
55 | /* slider */
56 | .t-wrapper .swiper {
57 | width: 100%;
58 | height: 70%;
59 | }
60 |
61 | .t-wrapper .swiper-slide{
62 | display: flex;
63 | align-items: center;
64 | justify-content: center;
65 | }
66 |
67 | .t-wrapper .swiper-pagination-bullet-active{
68 | background: var(--orange);
69 | }
70 |
71 | @media screen and (max-width: 480px){
72 | .t-wrapper{
73 | padding: 0;
74 | }
75 | .testimonial>img{
76 | width: 70px;
77 | height: 70px;
78 | }
79 | }
--------------------------------------------------------------------------------
/src/components/Testimonials/Testimonial.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import "./Testimonial.css";
3 | import { Swiper, SwiperSlide } from "swiper/react";
4 | import "swiper/css";
5 |
6 | import { Pagination } from "swiper";
7 | import "swiper/css/pagination";
8 | import profilePic1 from "../../img/profile1.jpg";
9 | import profilePic2 from "../../img/profile2.jpg";
10 | import profilePic3 from "../../img/profile3.jpg";
11 | import profilePic4 from "../../img/profile4.jpg";
12 |
13 | const Testimonial = () => {
14 | const clients = [
15 | {
16 | img: profilePic1,
17 | review:
18 | "Lorem ipsum dolor, sit amet consectetur adipisicing elit. Ex officiis molestiae quod tempora laudantium, cumque error a nisi placeat quae exercitationem, maiores reiciendis! Eaque dicta minima, iure maiores dolorum sed.",
19 | },
20 | {
21 | img: profilePic2,
22 | review:
23 | "Lorem ipsum dolor, sit amet consectetur adipisicing elit. Ex officiis molestiae quod tempora laudantium, cumque error a nisi placeat quae exercitationem, maiores reiciendis! Eaque dicta minima, iure maiores dolorum sed.",
24 | },
25 | {
26 | img: profilePic3,
27 | review:
28 | "Lorem ipsum dolor, sit amet consectetur adipisicing elit. Ex officiis molestiae quod tempora laudantium, cumque error a nisi placeat quae exercitationem, maiores reiciendis! Eaque dicta minima, iure maiores dolorum sed.",
29 | },
30 | {
31 | img: profilePic4,
32 | review:
33 | "Lorem ipsum dolor, sit amet consectetur adipisicing elit. Ex officiis molestiae quod tempora laudantium, cumque error a nisi placeat quae exercitationem, maiores reiciendis! Eaque dicta minima, iure maiores dolorum sed.",
34 | },
35 | ];
36 |
37 | return (
38 |
39 |
40 |
Clients always get
41 |
Exceptional Work
42 |
from me...
43 |
44 |
45 |
46 |
47 |
53 | {clients.map((client, index) => {
54 | return (
55 |
56 |
57 |
58 |
{client.review}
59 |
60 |
61 | );
62 | })}
63 |
64 |
65 | );
66 | };
67 |
68 | export default Testimonial;
69 |
--------------------------------------------------------------------------------
/src/components/Toggle/Toggle.css:
--------------------------------------------------------------------------------
1 | .toggle{
2 | display: flex;
3 | justify-content:space-between;
4 | border: 3px solid var(--orange);
5 | border-radius: 1rem;
6 | position: relative;
7 | padding: 2px;
8 | cursor: pointer;
9 |
10 | }
11 | .toggle>*{
12 | width: 1rem;
13 | height: 1rem;
14 | color: var(--orange);
15 | }
16 | .t-button{
17 | border-radius: 100%;
18 | background: var(--orange);
19 | position: absolute;
20 | }
21 |
--------------------------------------------------------------------------------
/src/components/Toggle/Toggle.jsx:
--------------------------------------------------------------------------------
1 | import React, { useContext } from "react";
2 | import "./Toggle.css";
3 | import Moon from "@iconscout/react-unicons/icons/uil-moon";
4 | import Sun from "@iconscout/react-unicons/icons/uil-sun";
5 | import { themeContext } from "../../Context";
6 |
7 | const Toggle = () => {
8 | const theme = useContext(themeContext);
9 | const darkMode = theme.state.darkMode;
10 | const handleClick = () => {
11 | // debugger
12 | theme.dispatch({ type: "toggle" });
13 | };
14 | return (
15 |
16 |
17 |
18 | {/* toggle.css mein left ki property aik assign hy ussy delete
19 | krna hy pehly */}
20 |
24 |
25 | );
26 | };
27 |
28 | export default Toggle;
29 |
--------------------------------------------------------------------------------
/src/components/Works/Works.css:
--------------------------------------------------------------------------------
1 | .works {
2 | padding: 0 3rem 0 3rem;
3 | display: flex;
4 | height: 90vh;
5 | margin-top: 4rem;
6 |
7 | /* scroll */
8 | align-items: center;
9 | }
10 | /* left side */
11 | .awesome {
12 | display: flex;
13 | flex-direction: column;
14 | position: relative;
15 | }
16 |
17 | .awesome > :nth-child(1) {
18 | color: var(--black);
19 | font-size: 2.5rem;
20 | font-weight: bold;
21 | }
22 | .awesome > :nth-child(2) {
23 | color: var(--orange);
24 | font-size: 2.5rem;
25 | font-weight: bold;
26 | }
27 | .awesome > :nth-child(3) {
28 | color: var(--gray);
29 | font-size: 14px;
30 | margin-top: 1rem;
31 | }
32 | .s-button {
33 | width: 8rem;
34 | height: 2rem;
35 | margin-top: 4rem;
36 | }
37 |
38 | /* right side */
39 | .w-right {
40 | position: relative;
41 | }
42 |
43 | .w-mainCircle {
44 | left: 9rem;
45 | position: relative;
46 | width: 18rem;
47 | height: 18rem;
48 | border-radius: 100%;
49 | box-shadow: var(--smboxShadow);
50 | top: 2rem;
51 | background: white;
52 | /* darkMode */
53 | z-index: 2;
54 | }
55 | .w-mainCircle > * {
56 | position: absolute;
57 | }
58 | .w-mainCircle > :nth-child(1) {
59 | top: -3rem;
60 | left: 6rem;
61 | }
62 | .w-mainCircle > :nth-child(2) {
63 | left: -3rem;
64 | top: 5rem;
65 | }
66 | .w-mainCircle > :nth-child(3) {
67 | left: 6rem;
68 | top: 5rem;
69 | }
70 | .w-mainCircle > :nth-child(4) {
71 | left: 15rem;
72 | top: 5rem;
73 | }
74 | .w-mainCircle > :nth-child(5) {
75 | left: 6rem;
76 | top: 13rem;
77 | }
78 | .w-secCircle {
79 | width: 6rem;
80 | height: 6rem;
81 | position: absolute;
82 | border-radius: 100%;
83 | border: 5px solid #ebebeb;
84 | display: flex;
85 | align-items: center;
86 | justify-content: center;
87 | background: "none";
88 | box-shadow: var(--smboxShadow);
89 | background: white;
90 | }
91 |
92 | .w-secCircle > img {
93 | transform: scale(0.6);
94 | }
95 |
96 | .w-backCircle {
97 | position: absolute;
98 | height: 13rem;
99 | width: 13rem;
100 | border-radius: 100%;
101 | /* darkMode */
102 | z-index: 1;
103 | }
104 | .blueCircle {
105 | background: #1949b8;
106 | left: 18rem;
107 | top: 0rem;
108 | }
109 | .yellowCircle {
110 | background: #f5c32c;
111 | left: 18rem;
112 | top: 8rem;
113 | }
114 |
115 | @media screen and (max-width: 480px) {
116 | .works {
117 | flex-direction: column;
118 | height: 55rem;
119 | padding: 0;
120 | gap: 5rem;
121 | }
122 |
123 | .w-right {
124 | display: flex;
125 | align-items: flex-start;
126 | justify-content:start;
127 | transform: scale(0.7);
128 | }
129 | .w-mainCircle{
130 | position: static;
131 | }
132 | .w-backCircle{
133 | left: 8rem!important;
134 | }
135 |
136 | }
137 |
--------------------------------------------------------------------------------
/src/components/Works/Works.jsx:
--------------------------------------------------------------------------------
1 | import React, { useContext } from "react";
2 | import "./Works.css";
3 | import Upwork from "../../img/Upwork.png";
4 | import Fiverr from "../../img/fiverr.png";
5 | import Amazon from "../../img/amazon.png";
6 | import Shopify from "../../img/Shopify.png";
7 | import Facebook from "../../img/Facebook.png";
8 | import { themeContext } from "../../Context";
9 | import { motion } from "framer-motion";
10 | import {Link} from 'react-scroll'
11 | const Works = () => {
12 | // context
13 | const theme = useContext(themeContext);
14 | const darkMode = theme.state.darkMode;
15 |
16 | // transition
17 | return (
18 |
19 | {/* left side */}
20 |
21 |
22 | {/* dark Mode */}
23 |
24 | Works for All these
25 |
26 |
Brands & Clients
27 |
28 | Lorem ispum is simpley dummy text of printing of printing Lorem
29 |
30 | ispum is simpley dummy text of printingLorem ispum is simpley dummy
31 | text
32 |
33 | y dummy text of printingLorem
34 |
35 | ispum is simpley dummy text of printing
36 |
37 |
38 |
Hire Me
39 |
40 |
44 |
45 |
46 | {/* right side */}
47 |
48 |
49 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
{" "}
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 | {/* background Circles */}
73 |
74 |
75 |
76 |
77 | );
78 | };
79 |
80 | export default Works;
81 |
--------------------------------------------------------------------------------
/src/fonts/Gumela Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/fonts/Gumela Regular.otf
--------------------------------------------------------------------------------
/src/img/Facebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/Facebook.png
--------------------------------------------------------------------------------
/src/img/Shopify.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/Shopify.png
--------------------------------------------------------------------------------
/src/img/Upwork.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/Upwork.png
--------------------------------------------------------------------------------
/src/img/Vector1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/Vector1.png
--------------------------------------------------------------------------------
/src/img/Vector2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/Vector2.png
--------------------------------------------------------------------------------
/src/img/amazon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/amazon.png
--------------------------------------------------------------------------------
/src/img/boy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/boy.png
--------------------------------------------------------------------------------
/src/img/crown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/crown.png
--------------------------------------------------------------------------------
/src/img/ecommerce.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/ecommerce.png
--------------------------------------------------------------------------------
/src/img/fiverr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/fiverr.png
--------------------------------------------------------------------------------
/src/img/github.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/github.png
--------------------------------------------------------------------------------
/src/img/glasses.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/glasses.png
--------------------------------------------------------------------------------
/src/img/glassesimoji.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/glassesimoji.png
--------------------------------------------------------------------------------
/src/img/heartemoji.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/heartemoji.png
--------------------------------------------------------------------------------
/src/img/hoc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/hoc.png
--------------------------------------------------------------------------------
/src/img/humble.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/humble.png
--------------------------------------------------------------------------------
/src/img/instagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/instagram.png
--------------------------------------------------------------------------------
/src/img/linkedin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/linkedin.png
--------------------------------------------------------------------------------
/src/img/musicapp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/musicapp.png
--------------------------------------------------------------------------------
/src/img/profile1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/profile1.jpg
--------------------------------------------------------------------------------
/src/img/profile2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/profile2.jpg
--------------------------------------------------------------------------------
/src/img/profile3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/profile3.jpg
--------------------------------------------------------------------------------
/src/img/profile4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/profile4.jpg
--------------------------------------------------------------------------------
/src/img/profile5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/profile5.jpg
--------------------------------------------------------------------------------
/src/img/profile6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/profile6.jpg
--------------------------------------------------------------------------------
/src/img/purpleblur.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/purpleblur.png
--------------------------------------------------------------------------------
/src/img/sidebar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/sidebar.png
--------------------------------------------------------------------------------
/src/img/thumbup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/thumbup.png
--------------------------------------------------------------------------------
/src/img/wave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZainRk/Personal-Portfolio-React/4017fd2a5dce43b3a2f5c759f5949cb7a0a78716/src/img/wave.png
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import App from './App';
4 | import { ThemeProvider } from './Context';
5 |
6 | ReactDOM.render(
7 |
8 |
9 | ,
10 | document.getElementById('root')
11 | );
12 |
13 | // If you want to start measuring performance in your app, pass a function
14 | // to log results (for example: reportWebVitals(console.log))
15 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
16 |
--------------------------------------------------------------------------------