From 37cfab705b270d9f9d2701597a8574b96fec12cf Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Thu, 2 Jan 2025 14:09:20 -0700 Subject: [PATCH] started contact page, added resume page and pdf rendering, and default state for the skill cards on mobile. --- README.md | 2 +- package-lock.json | 638 ++++++++++++++++++++++++++++ package.json | 2 + public/resume.pdf | Bin 0 -> 71310 bytes src/About.jsx | 5 - src/App.jsx | 2 + src/Contact.jsx | 62 ++- src/Primary.jsx | 18 +- src/Resume.jsx | 10 + src/Skills.jsx | 8 - src/components/AccordionContext.jsx | 19 - src/components/Footer.jsx | 0 src/components/PdfViewer.jsx | 22 + src/components/SkillCard.jsx | 17 +- src/main.css | 57 ++- src/main.jsx | 16 +- 16 files changed, 822 insertions(+), 56 deletions(-) create mode 100644 public/resume.pdf delete mode 100644 src/About.jsx create mode 100644 src/Resume.jsx delete mode 100644 src/Skills.jsx delete mode 100644 src/components/AccordionContext.jsx delete mode 100644 src/components/Footer.jsx create mode 100644 src/components/PdfViewer.jsx diff --git a/README.md b/README.md index 015f4bc4..dba4e79d 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Week 1: 17/12/24 - 23/12/24 (Planning for the future) - [x] Template HTML blocks for repeated components. - [ ] Document classes, ID's, and other attributes. - [ ] Script to easily add new projects (components). -- [ ] Embeddable PDFs (research phase). +- [x] Embeddable PDFs (research phase). Bug Fixes: diff --git a/package-lock.json b/package-lock.json index fc65bccc..1c310433 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,8 @@ "@fortawesome/react-fontawesome": "^0.2.2", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-pdf": "^9.2.1", + "react-router": "^7.1.1", "serve": "^14.2.4", "swiper": "^10.0.0" }, @@ -514,6 +516,12 @@ } } }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", @@ -662,6 +670,39 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "license": "MIT" }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "optional": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, "node_modules/boxen": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", @@ -694,6 +735,31 @@ "concat-map": "0.0.1" } }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -715,6 +781,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/canvas": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/canvas/-/canvas-3.0.1.tgz", + "integrity": "sha512-PcpVF4f8RubAeN/jCQQ/UymDKzOiLmRPph8fOTzDnlsUihkO/AUlxuhaa7wGRc3vMcCbV1fzuvyu5cWZlIcn1w==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-addon-api": "^7.0.0", + "prebuild-install": "^7.1.1", + "simple-get": "^3.0.3" + }, + "engines": { + "node": "^18.12.0 || >= 20.9.0" + } + }, "node_modules/chalk": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", @@ -773,6 +855,13 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC", + "optional": true + }, "node_modules/cli-boxes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", @@ -802,6 +891,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -865,6 +963,15 @@ "node": ">= 0.6" } }, + "node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -888,6 +995,19 @@ "ms": "2.0.0" } }, + "node_modules/decompress-response": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", + "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "license": "MIT", + "optional": true, + "dependencies": { + "mimic-response": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -897,6 +1017,25 @@ "node": ">=4.0.0" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -909,6 +1048,16 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "license": "MIT" }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "license": "MIT", + "optional": true, + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/esbuild": { "version": "0.18.20", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", @@ -977,12 +1126,29 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "license": "(MIT OR WTFPL)", + "optional": true, + "engines": { + "node": ">=6" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "license": "MIT" }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT", + "optional": true + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -1010,6 +1176,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "license": "MIT", + "optional": true + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -1028,6 +1201,34 @@ "node": ">=10.17.0" } }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause", + "optional": true + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC", + "optional": true + }, "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", @@ -1141,6 +1342,41 @@ "@jridgewell/sourcemap-codec": "^1.5.0" } }, + "node_modules/make-cancellable-promise": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/make-cancellable-promise/-/make-cancellable-promise-1.3.2.tgz", + "integrity": "sha512-GCXh3bq/WuMbS+Ky4JBPW1hYTOU+znU+Q5m9Pu+pI8EoUqIHk9+tviOKC6/qhHh8C4/As3tzJ69IF32kdz85ww==", + "license": "MIT", + "funding": { + "url": "https://github.com/wojtekmaj/make-cancellable-promise?sponsor=1" + } + }, + "node_modules/make-event-props": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/make-event-props/-/make-event-props-1.6.2.tgz", + "integrity": "sha512-iDwf7mA03WPiR8QxvcVHmVWEPfMY1RZXerDVNCRYW7dUr2ppH3J58Rwb39/WG39yTZdRSxr3x+2v22tvI0VEvA==", + "license": "MIT", + "funding": { + "url": "https://github.com/wojtekmaj/make-event-props?sponsor=1" + } + }, + "node_modules/merge-refs": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge-refs/-/merge-refs-1.3.0.tgz", + "integrity": "sha512-nqXPXbso+1dcKDpPCXvwZyJILz+vSLqGGOnDrYHQYE+B8n9JTCekVLC65AfCpR4ggVyA/45Y0iR9LDyS2iI+zA==", + "license": "MIT", + "funding": { + "url": "https://github.com/wojtekmaj/merge-refs?sponsor=1" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -1186,6 +1422,19 @@ "node": ">=6" } }, + "node_modules/mimic-response": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -1207,6 +1456,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "license": "MIT", + "optional": true + }, "node_modules/mrmime": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", @@ -1242,6 +1498,13 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "license": "MIT", + "optional": true + }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -1251,6 +1514,26 @@ "node": ">= 0.6" } }, + "node_modules/node-abi": { + "version": "3.71.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz", + "integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==", + "license": "MIT", + "optional": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT", + "optional": true + }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -1281,6 +1564,16 @@ "node": ">= 0.8" } }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "optional": true, + "dependencies": { + "wrappy": "1" + } + }, "node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", @@ -1317,6 +1610,29 @@ "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", "license": "MIT" }, + "node_modules/path2d": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/path2d/-/path2d-0.2.2.tgz", + "integrity": "sha512-+vnG6S4dYcYxZd+CZxzXCNKdELYZSKfohrk98yajCo1PtRoDgCTrrwOvK1GT0UoAdVszagDVllQc0U1vaX4NUQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pdfjs-dist": { + "version": "4.8.69", + "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-4.8.69.tgz", + "integrity": "sha512-IHZsA4T7YElCKNNXtiLgqScw4zPd3pG9do8UrznC757gMd7UPeHSL2qwNNMJo4r79fl8oj1Xx+1nh2YkzdMpLQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "canvas": "^3.0.0-rc2", + "path2d": "^0.2.1" + } + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -1366,6 +1682,88 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/prebuild-install": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prebuild-install/node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/prebuild-install/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/prebuild-install/node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true, + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -1377,6 +1775,17 @@ "react-is": "^16.13.1" } }, + "node_modules/pump": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "license": "MIT", + "optional": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -1441,6 +1850,74 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "license": "MIT" }, + "node_modules/react-pdf": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/react-pdf/-/react-pdf-9.2.1.tgz", + "integrity": "sha512-AJt0lAIkItWEZRA5d/mO+Om4nPCuTiQ0saA+qItO967DTjmGjnhmF+Bi2tL286mOTfBlF5CyLzJ35KTMaDoH+A==", + "license": "MIT", + "dependencies": { + "clsx": "^2.0.0", + "dequal": "^2.0.3", + "make-cancellable-promise": "^1.3.1", + "make-event-props": "^1.6.0", + "merge-refs": "^1.3.0", + "pdfjs-dist": "4.8.69", + "tiny-invariant": "^1.0.0", + "warning": "^4.0.0" + }, + "funding": { + "url": "https://github.com/wojtekmaj/react-pdf?sponsor=1" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-router": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.1.1.tgz", + "integrity": "sha512-39sXJkftkKWRZ2oJtHhCxmoCrBCULr/HAH4IT5DHlgu/Q0FCPV0S4Lx+abjDTx/74xoZzNYDYbOZWlJjruyuDQ==", + "license": "MIT", + "dependencies": { + "@types/cookie": "^0.6.0", + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0", + "turbo-stream": "2.4.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "optional": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/registry-auth-token": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", @@ -1504,6 +1981,19 @@ "loose-envify": "^1.1.0" } }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/serve": { "version": "14.2.4", "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.4.tgz", @@ -1565,6 +2055,12 @@ "node": ">= 0.6" } }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", + "license": "MIT" + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -1592,6 +2088,39 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "license": "ISC" }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true + }, + "node_modules/simple-get": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", + "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", + "license": "MIT", + "optional": true, + "dependencies": { + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, "node_modules/sirv": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", @@ -1617,6 +2146,37 @@ "node": ">=0.10.0" } }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "optional": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true + }, "node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", @@ -1698,6 +2258,42 @@ "node": ">= 4.7.0" } }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "license": "MIT", + "optional": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "license": "MIT" + }, "node_modules/totalist": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", @@ -1708,6 +2304,25 @@ "node": ">=6" } }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/turbo-stream": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", + "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==", + "license": "ISC" + }, "node_modules/type-fest": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", @@ -1746,6 +2361,13 @@ "punycode": "^2.1.0" } }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT", + "optional": true + }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -1859,6 +2481,15 @@ "dev": true, "license": "MIT" }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -1905,6 +2536,13 @@ "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC", + "optional": true } } } diff --git a/package.json b/package.json index 2946d30f..7940feca 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,8 @@ "@fortawesome/react-fontawesome": "^0.2.2", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-pdf": "^9.2.1", + "react-router": "^7.1.1", "serve": "^14.2.4", "swiper": "^10.0.0" }, diff --git a/public/resume.pdf b/public/resume.pdf new file mode 100644 index 0000000000000000000000000000000000000000..aeebb4e6f61f9d1eb9f85c367c862dd1260863bf GIT binary patch literal 71310 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 I$ce)KKYX6n&j0`b literal 0 HcmV?d00001 diff --git a/src/About.jsx b/src/About.jsx deleted file mode 100644 index 93943e52..00000000 --- a/src/About.jsx +++ /dev/null @@ -1,5 +0,0 @@ -import React from "react"; - -export default function About() { - return

TODO: About()

; -} diff --git a/src/App.jsx b/src/App.jsx index c405b45c..4ef802af 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -2,6 +2,7 @@ import React, { useState, useEffect } from "react"; import VerticalSlider from "./components/VerticalSlider"; import Primary from "./Primary"; import Projects from "./Projects"; +import Contact from "./Contact"; import "./main.css"; import { terminal } from "virtual:terminal"; @@ -81,6 +82,7 @@ export default function App() { skills={skillsData} />, , + , ]; return ; diff --git a/src/Contact.jsx b/src/Contact.jsx index e8cca20b..b9f54825 100644 --- a/src/Contact.jsx +++ b/src/Contact.jsx @@ -1,5 +1,63 @@ -import React from "react"; +import React, { useState } from "react"; +/** + * TODO: Add email validation function. + */ export default function Contact() { - return

TODO: Contact()

; + const [formData, setFormData] = useState({ + name: "", + email: "", + message: "", + }); + + const handleChange = (event) => { + setFormData({ + ...formData, + [event.target.name]: event.target.value, + }); + }; + + const handleSubmit = (event) => { + event.preventDefault(); + // Handle form submission here, e.g., send data to server + console.log(formData); + }; + + return ( +
+

Contact Me

+
+
+ + +
+
+