+
+ +
diff --git a/pease-portfolio/package-lock.json b/pease-portfolio/package-lock.json index f755904..d670761 100644 --- a/pease-portfolio/package-lock.json +++ b/pease-portfolio/package-lock.json @@ -16,7 +16,8 @@ "moment": "^2.30.1", "next": "14.1.0", "react": "^18", - "react-dom": "^18" + "react-dom": "^18", + "react-youtube": "^10.1.0" }, "devDependencies": { "autoprefixer": "^10.0.1", @@ -2619,8 +2620,7 @@ "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==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { "version": "3.3.2", @@ -3708,6 +3708,11 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, + "node_modules/load-script": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", + "integrity": "sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==" + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -4502,6 +4507,22 @@ "react-dom": ">=16.6.0" } }, + "node_modules/react-youtube": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/react-youtube/-/react-youtube-10.1.0.tgz", + "integrity": "sha512-ZfGtcVpk0SSZtWCSTYOQKhfx5/1cfyEW1JN/mugGNfAxT3rmVJeMbGpA9+e78yG21ls5nc/5uZJETE3cm3knBg==", + "dependencies": { + "fast-deep-equal": "3.1.3", + "prop-types": "15.8.1", + "youtube-player": "5.5.2" + }, + "engines": { + "node": ">= 14.x" + }, + "peerDependencies": { + "react": ">=0.14.1" + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -4821,6 +4842,11 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/sister": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sister/-/sister-3.0.2.tgz", + "integrity": "sha512-p19rtTs+NksBRKW9qn0UhZ8/TUI9BPw9lmtHny+Y3TinWlOa9jWh9xB0AtPSdmOy49NJJJSSe0Ey4C7h0TrcYA==" + }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -5643,6 +5669,29 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/youtube-player": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/youtube-player/-/youtube-player-5.5.2.tgz", + "integrity": "sha512-ZGtsemSpXnDky2AUYWgxjaopgB+shFHgXVpiJFeNB5nWEugpW1KWYDaHKuLqh2b67r24GtP6HoSW5swvf0fFIQ==", + "dependencies": { + "debug": "^2.6.6", + "load-script": "^1.0.0", + "sister": "^3.0.0" + } + }, + "node_modules/youtube-player/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/youtube-player/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } } diff --git a/pease-portfolio/package.json b/pease-portfolio/package.json index 7e33a71..bd865c9 100644 --- a/pease-portfolio/package.json +++ b/pease-portfolio/package.json @@ -17,7 +17,8 @@ "moment": "^2.30.1", "next": "14.1.0", "react": "^18", - "react-dom": "^18" + "react-dom": "^18", + "react-youtube": "^10.1.0" }, "homepage": "https://nicholaspease.com", "devDependencies": { diff --git a/pease-portfolio/public/project_files/aa/files/aa_flow.png b/pease-portfolio/public/project_files/aa/files/aa_flow.png new file mode 100644 index 0000000..8fbd4df Binary files /dev/null and b/pease-portfolio/public/project_files/aa/files/aa_flow.png differ diff --git a/pease-portfolio/public/project_files/aa/files/aa_manual.pdf b/pease-portfolio/public/project_files/aa/files/aa_manual.pdf new file mode 100644 index 0000000..41b1793 Binary files /dev/null and b/pease-portfolio/public/project_files/aa/files/aa_manual.pdf differ diff --git a/pease-portfolio/public/project_files/aa/files/comp-2.pdf b/pease-portfolio/public/project_files/aa/files/comp-2.pdf new file mode 100644 index 0000000..761b81a Binary files /dev/null and b/pease-portfolio/public/project_files/aa/files/comp-2.pdf differ diff --git a/pease-portfolio/public/project_files/aa/files/kelley-presentation.pdf b/pease-portfolio/public/project_files/aa/files/kelley-presentation.pdf new file mode 100644 index 0000000..f461c94 Binary files /dev/null and b/pease-portfolio/public/project_files/aa/files/kelley-presentation.pdf differ diff --git a/pease-portfolio/public/project_files/aa/files/science-fair-slides.pdf b/pease-portfolio/public/project_files/aa/files/science-fair-slides.pdf new file mode 100644 index 0000000..5560b31 Binary files /dev/null and b/pease-portfolio/public/project_files/aa/files/science-fair-slides.pdf differ diff --git a/pease-portfolio/public/project_files/aa/files/senior-project-slides.pdf b/pease-portfolio/public/project_files/aa/files/senior-project-slides.pdf new file mode 100644 index 0000000..280813b Binary files /dev/null and b/pease-portfolio/public/project_files/aa/files/senior-project-slides.pdf differ diff --git a/pease-portfolio/src/app/projects/custom/aa1/page.js b/pease-portfolio/src/app/projects/custom/aa1/page.js index 8cfb402..932164f 100644 --- a/pease-portfolio/src/app/projects/custom/aa1/page.js +++ b/pease-portfolio/src/app/projects/custom/aa1/page.js @@ -6,6 +6,54 @@ import { useState } from "react" import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos'; import ArrowBackIosIcon from '@mui/icons-material/ArrowBackIos'; import { grey } from '@mui/material/colors' +import YouTube from 'react-youtube'; + +import { FileList } from "@/components/filelist" + +var fileList = [ + { + "name": "Aviation Assistant V1 - Kelley Presentation", + "type": "PDF", + "filename": "kelley-presentation.pdf", + "filetype": "PDF", + "path": "/project_files/aa/files" + }, + { + "name": "Aviation Assistant V1 - Science Fair Presentation", + "type": "PDF", + "filename": "science-fair-slides.pdf", + "filetype": "PDF", + "path": "/project_files/aa/files" + }, + { + "name": "Aviation Assistant V1 - Senior Project Slides", + "type": "PDF", + "filename": "senior-project-slides.pdf", + "filetype": "PDF", + "path": "/project_files/aa/files" + }, + { + "name": "Maine State Science Fair - Computer Science Category Poster", + "type": "PDF", + "filename": "comp-2.pdf", + "filetype": "PDF", + "path": "/project_files/aa/files" + }, + { + "name": "Aviation Assistant V1 - Technical Manual (Work in Progress)", + "type": "PDF", + "filename": "aa_manual.pdf", + "filetype": "PDF", + "path": "/project_files/aa/files" + }, + { + "name": "Aviation Assistant V1 - Software Flow Diagram", + "type": "PNG", + "filename": "aa_flow.png", + "filetype": "PNG", + "path": "/project_files/aa/files" + } +] function ImageCarousel() { const [loaded, setLoaded] = useState(false) @@ -60,18 +108,6 @@ function ImageCarousel() { This is a front view of the device showcasing the touch screen and the antenna. -
-
-
@@ -101,8 +137,8 @@ function ImageCarousel() {
+
+
-
+
+