From 13b408287f2e1838ee02f58f2591e87b493e58d0 Mon Sep 17 00:00:00 2001 From: Noah Spannbauer Date: Tue, 28 May 2024 20:45:10 -0500 Subject: [PATCH] adding pilots page and drawer component --- app/package.json | 5 ++ app/public/noahspan-logo.png | Bin 0 -> 22165 bytes app/src/components/pilots/Pilots.tsx | 46 +++++++++- app/src/components/siteNav/SiteNav.tsx | 14 ++- app/src/index.css | 9 ++ app/src/main.tsx | 1 + package-lock.json | 113 ++++++++++++++++++++++++- package.json | 3 - 8 files changed, 180 insertions(+), 11 deletions(-) create mode 100644 app/public/noahspan-logo.png diff --git a/app/package.json b/app/package.json index b9062cf..63f1662 100644 --- a/app/package.json +++ b/app/package.json @@ -11,7 +11,12 @@ }, "dependencies": { "@azure/msal-react": "^2.0.15", + "@fortawesome/fontawesome-svg-core": "^6.5.2", + "@fortawesome/free-regular-svg-icons": "^6.5.2", + "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@fortawesome/react-fontawesome": "^0.2.2", "@nextui-org/react": "^2.3.6", + "@noahspan/noahspan-components": "^0.2.0", "axios": "^1.7.2", "framer-motion": "^11.1.7", "react": "^18.2.0", diff --git a/app/public/noahspan-logo.png b/app/public/noahspan-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c4cce0cf0dd0fe5e6747d0c8daaf61e06311dc14 GIT binary patch literal 22165 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 JP3#(R>ffeIOH=>= literal 0 HcmV?d00001 diff --git a/app/src/components/pilots/Pilots.tsx b/app/src/components/pilots/Pilots.tsx index 8bd5df7..41ab60a 100644 --- a/app/src/components/pilots/Pilots.tsx +++ b/app/src/components/pilots/Pilots.tsx @@ -1,12 +1,52 @@ +import { useState } from 'react'; import SiteNav from '../siteNav/SiteNav'; import PilotForm from '../pilotForm/PilotForm'; +import { Button } from '@nextui-org/react'; +import { Drawer } from '@noahspan/noahspan-components'; +import { faPlus } from '@fortawesome/free-solid-svg-icons'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; const Pilots: React.FC = () => { + const [isDrawerOpen, setIsDrawerOpen] = useState(false); + const onOpenCloseDrawer = () => { + setIsDrawerOpen(!isDrawerOpen); + }; + return ( -
+
-
- +
+

Pilots

+ + +
+ +
+
+ +
+
+ } + > + +
); diff --git a/app/src/components/siteNav/SiteNav.tsx b/app/src/components/siteNav/SiteNav.tsx index 22cb5ee..57f54d0 100644 --- a/app/src/components/siteNav/SiteNav.tsx +++ b/app/src/components/siteNav/SiteNav.tsx @@ -10,6 +10,7 @@ import { import { Link as ReactRouterLink } from 'react-router-dom'; import { useIsAuthenticated, useMsal } from '@azure/msal-react'; import { useAppContext } from '../../hooks/appContext/UseAppContext'; +import { Logo, Plane } from '@noahspan/noahspan-components'; const SiteNav: React.FC = () => { const isAuthenticated = useIsAuthenticated(); @@ -22,8 +23,17 @@ const SiteNav: React.FC = () => { console.log(accounts); return ( - - Site Logo Goes Here + + + + + {appContext.state.featureFlags.find( diff --git a/app/src/index.css b/app/src/index.css index b5c61c9..0f4754e 100644 --- a/app/src/index.css +++ b/app/src/index.css @@ -1,3 +1,12 @@ @tailwind base; @tailwind components; @tailwind utilities; + +@layer base { + h1 { + @apply text-2xl font-bold leading-7 text-gray-900; + } + h2 { + @apply text-2xl font-bold leading-7 text-gray-900; + } +} diff --git a/app/src/main.tsx b/app/src/main.tsx index 26d4d2f..f0abece 100644 --- a/app/src/main.tsx +++ b/app/src/main.tsx @@ -7,6 +7,7 @@ import App from './App.tsx'; import { BrowserRouter } from 'react-router-dom'; import AppContextProvider from './context/appContext/AppContextProvider.tsx'; import './index.css'; +import '@noahspan/noahspan-components/noahspan-components.css'; const configuration: Configuration = { auth: { diff --git a/package-lock.json b/package-lock.json index 32ccef8..6dd803a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,9 +12,6 @@ "app", "tests" ], - "dependencies": { - "@azure/app-configuration": "^1.6.0" - }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^7.2.0", "@typescript-eslint/parser": "^7.2.0", @@ -66,7 +63,12 @@ "version": "0.1.0", "dependencies": { "@azure/msal-react": "^2.0.15", + "@fortawesome/fontawesome-svg-core": "^6.5.2", + "@fortawesome/free-regular-svg-icons": "^6.5.2", + "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@fortawesome/react-fontawesome": "^0.2.2", "@nextui-org/react": "^2.3.6", + "@noahspan/noahspan-components": "^0.2.0", "axios": "^1.7.2", "framer-motion": "^11.1.7", "react": "^18.2.0", @@ -2070,6 +2072,75 @@ "tslib": "^2.4.0" } }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz", + "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==", + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.2.tgz", + "integrity": "sha512-5CdaCBGl8Rh9ohNdxeeTMxIj8oc3KNBgIeLMvJosBMdslK/UnEB8rzyDRrbKdL1kDweqBPo4GT9wvnakHWucZw==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.5.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-brands-svg-icons": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.5.2.tgz", + "integrity": "sha512-zi5FNYdmKLnEc0jc0uuHH17kz/hfYTg4Uei0wMGzcoCL/4d3WM3u1VMc0iGGa31HuhV5i7ZK8ZlTCQrHqRHSGQ==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.5.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-regular-svg-icons": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.5.2.tgz", + "integrity": "sha512-iabw/f5f8Uy2nTRtJ13XZTS1O5+t+anvlamJ3zJGLEVE2pKsAWhPv2lq01uQlfgCX7VaveT3EVs515cCN9jRbw==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.5.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.2.tgz", + "integrity": "sha512-QWFZYXFE7O1Gr1dTIp+D6UcFUF0qElOnZptpi7PBUMylJh+vFmIedVe1Ir6RM1t2tEQLLSV1k7bR4o92M+uqlw==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.5.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/react-fontawesome": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.2.tgz", + "integrity": "sha512-EnkrprPNqI6SXJl//m29hpaNzOp1bruISWaOiRtkMi/xSvHJlzc2j2JAYS7egxt/EbjSNV/k6Xy0AQI6vB2+1g==", + "dependencies": { + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "~1 || ~6", + "react": ">=16.3" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", @@ -4402,6 +4473,27 @@ "resolved": "app", "link": true }, + "node_modules/@noahspan/noahspan-components": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@noahspan/noahspan-components/-/noahspan-components-0.2.0.tgz", + "integrity": "sha512-uRmR5RnXNgjAnPpmLEx81XG6xVvU4jndbXcgQgaGqpGO+9hx5YRcrKL0KP0bTFVzSafK7CTR7+1ag9fNHwBzJg==", + "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.5.2", + "@fortawesome/free-brands-svg-icons": "^6.5.2", + "@fortawesome/free-regular-svg-icons": "^6.5.2", + "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@fortawesome/react-fontawesome": "^0.2.0", + "@nextui-org/react": "^2.3.6", + "framer-motion": "^11.1.9" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" + } + }, "node_modules/@noahspan/noahspan-modules": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/@noahspan/noahspan-modules/-/noahspan-modules-0.1.2.tgz", @@ -12328,6 +12420,21 @@ "node": ">= 6" } }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, "node_modules/property-expr": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.6.tgz", diff --git a/package.json b/package.json index a5e3470..7476a9f 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,5 @@ }, "lint-staged": { "**/*": "prettier --write \"**/src/**/*.ts\" \"**/test/**/*.ts\" --ignore-unknown" - }, - "dependencies": { - "@azure/app-configuration": "^1.6.0" } }