diff --git a/.github/workflows/nextjs.yml b/.github/workflows/nextjs.yml new file mode 100644 index 0000000..ed74736 --- /dev/null +++ b/.github/workflows/nextjs.yml @@ -0,0 +1,93 @@ +# Sample workflow for building and deploying a Next.js site to GitHub Pages +# +# To get started with Next.js see: https://nextjs.org/docs/getting-started +# +name: Deploy Next.js site to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ["main"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Build job + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Detect package manager + id: detect-package-manager + run: | + if [ -f "${{ github.workspace }}/yarn.lock" ]; then + echo "manager=yarn" >> $GITHUB_OUTPUT + echo "command=install" >> $GITHUB_OUTPUT + echo "runner=yarn" >> $GITHUB_OUTPUT + exit 0 + elif [ -f "${{ github.workspace }}/package.json" ]; then + echo "manager=npm" >> $GITHUB_OUTPUT + echo "command=ci" >> $GITHUB_OUTPUT + echo "runner=npx --no-install" >> $GITHUB_OUTPUT + exit 0 + else + echo "Unable to determine package manager" + exit 1 + fi + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: "20" + cache: ${{ steps.detect-package-manager.outputs.manager }} + - name: Setup Pages + uses: actions/configure-pages@v5 + with: + # Automatically inject basePath in your Next.js configuration file and disable + # server side image optimization (https://nextjs.org/docs/api-reference/next/image#unoptimized). + # + # You may remove this line if you want to manage the configuration yourself. + static_site_generator: next + - name: Restore cache + uses: actions/cache@v4 + with: + path: | + .next/cache + # Generate a new cache whenever packages or source files change. + key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }} + # If source files changed but packages didn't, rebuild from a prior cache. + restore-keys: | + ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}- + - name: Install dependencies + run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }} + - name: Build with Next.js + run: ${{ steps.detect-package-manager.outputs.runner }} next build + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./out + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/website/.gitignore b/.gitignore similarity index 100% rename from website/.gitignore rename to .gitignore diff --git a/README.md b/README.md index d3dc51f..e215bc4 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,36 @@ -# website -New website using Next.JS +This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +# or +bun dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. diff --git a/website/app/components/AboutUs.tsx b/app/components/AboutUs.tsx similarity index 95% rename from website/app/components/AboutUs.tsx rename to app/components/AboutUs.tsx index d9eb34e..0b19ea3 100644 --- a/website/app/components/AboutUs.tsx +++ b/app/components/AboutUs.tsx @@ -1,14 +1,13 @@ import Image from 'next/image'; import hardware from '../../public/images/aboutusimg.jpeg' -import ContactUs from './ContactUs'; export default function AboutUs() { return ( -
At Paragon Autonomous, we empower communities with cutting-edge drone technology designed to detect and suppress wildfires before they escalate. Our mission is to aid first responders by protecting lives, homes, and wildlife.
@@ -29,7 +28,7 @@ export default function AboutUs() { />We are expanding partnerships with fire departments, environmental agencies, and emergency teams to scale autonomous wildfire prevention. With continued innovation, we aim to make AI-driven fire detection and suppression the industry standard, protecting more communities and ecosystems.
diff --git a/app/components/ContactUs.tsx b/app/components/ContactUs.tsx new file mode 100644 index 0000000..146b27c --- /dev/null +++ b/app/components/ContactUs.tsx @@ -0,0 +1,126 @@ +'use client'; +import { useState, useEffect, ChangeEvent, FormEvent } from 'react'; +// import emailjs from 'emailjs-com'; + +type FormData = { + name: string; + email: string; + message: string; + category: string; +}; + +type ContactUsProps = { + onClose: () => void; + widthClass?: string; +}; + +export default function ContactUs({ onClose, widthClass = 'max-w-2xl' }: ContactUsProps) { + const [formData, setFormData] = useStateWe are expanding partnerships with fire departments, environmental agencies, and emergency teams to scale autonomous wildfire prevention. With continued innovation, we aim to make AI-driven fire detection and suppression the industry standard, protecting more communities and ecosystems
We Collaborate with fire safety leaders, AI developers, and research institutions to advance wildfire detection technology and optimize fire suppression methods
"Drone have given us an aerial perspective we never had before- allowing for early detection and smarter resource allocation." - Wildfire Conservation Specialist, Arizona
+"Drone have given us an aerial perspective we never had before- allowing for early detection and smarter resource allocation." - Wildfire Conservation Specialist, Arizona
Partner with us button
); diff --git a/website/app/components/Products.tsx b/app/components/Products.tsx similarity index 80% rename from website/app/components/Products.tsx rename to app/components/Products.tsx index 9a028ca..ffbef69 100644 --- a/website/app/components/Products.tsx +++ b/app/components/Products.tsx @@ -1,10 +1,14 @@ import GlobalButton from "./GlobalButton"; +// import scouterimg from '../../public/images/scouter.png' +// import payloadimg from '../../public/images/payload.png' +import Image from 'next/image'; export default function Products() { return ( -Scouter Pro is an AI-powered aerial surveillance drone designed for early wildfire detection and real-time risk assessment. Equipped with thermal imaging, environmental sensors, and high-definition optical cameras, it continuously scans large areas for signs of fire before they spread. The drone operates autonomously, communicating through Paragon’s mesh network to relay critical fire data to the nearest Payload Drone and emergency responders.
@@ -13,7 +17,8 @@ export default function Products() {Payload Pro is an advanced fire suppression drone capable of carrying and deploying up to 15 lbs of fire retardant with GPS-guided precision. Designed to work alongside Scouter Pro, it responds to fire alerts by autonomously flying to the fire’s location and delivering targeted suppression, preventing small fires from becoming uncontrollable disasters.
diff --git a/website/app/components/Wildfireinfo.tsx b/app/components/Wildfireinfo.tsx similarity index 100% rename from website/app/components/Wildfireinfo.tsx rename to app/components/Wildfireinfo.tsx diff --git a/website/app/favicon.ico b/app/favicon.ico similarity index 100% rename from website/app/favicon.ico rename to app/favicon.ico diff --git a/website/app/globals.css b/app/globals.css similarity index 100% rename from website/app/globals.css rename to app/globals.css diff --git a/website/app/layout.tsx b/app/layout.tsx similarity index 100% rename from website/app/layout.tsx rename to app/layout.tsx diff --git a/website/app/page.tsx b/app/page.tsx similarity index 94% rename from website/app/page.tsx rename to app/page.tsx index 03d42e8..b6e24ca 100644 --- a/website/app/page.tsx +++ b/app/page.tsx @@ -6,7 +6,7 @@ import Footer from "./components/Footer"; import Partnerships from "./components/Partnerships"; import Products from "./components/Products"; import EndPage from "./components/EndPage"; -import FlightPath from "./components/FlightPath"; +// import FlightPath from "./components/FlightPath"; export default function Home() { return ( diff --git a/website/eslint.config.mjs b/eslint.config.mjs similarity index 100% rename from website/eslint.config.mjs rename to eslint.config.mjs diff --git a/website/next.config.ts b/next.config.ts similarity index 100% rename from website/next.config.ts rename to next.config.ts diff --git a/website/package-lock.json b/package-lock.json similarity index 100% rename from website/package-lock.json rename to package-lock.json diff --git a/website/package.json b/package.json similarity index 95% rename from website/package.json rename to package.json index 9c878ca..5e5c23b 100644 --- a/website/package.json +++ b/package.json @@ -6,6 +6,7 @@ "dev": "next dev --turbopack", "build": "next build", "start": "next start", + "deploy": "npm run build", "lint": "next lint" }, "dependencies": { diff --git a/website/postcss.config.mjs b/postcss.config.mjs similarity index 100% rename from website/postcss.config.mjs rename to postcss.config.mjs diff --git a/website/public/file.svg b/public/file.svg similarity index 100% rename from website/public/file.svg rename to public/file.svg diff --git a/website/public/globe.svg b/public/globe.svg similarity index 100% rename from website/public/globe.svg rename to public/globe.svg diff --git a/website/public/images/aboutusimg.jpeg b/public/images/aboutusimg.jpeg similarity index 100% rename from website/public/images/aboutusimg.jpeg rename to public/images/aboutusimg.jpeg diff --git a/website/public/images/firefighterimg.png b/public/images/firefighterimg.png similarity index 100% rename from website/public/images/firefighterimg.png rename to public/images/firefighterimg.png diff --git a/website/public/images/footerflag.png b/public/images/footerflag.png similarity index 100% rename from website/public/images/footerflag.png rename to public/images/footerflag.png diff --git a/website/public/img/front-image.jpeg b/public/images/front-image.jpeg similarity index 100% rename from website/public/img/front-image.jpeg rename to public/images/front-image.jpeg diff --git a/website/public/img/front-page-fire.png b/public/images/front-page-fire.png similarity index 100% rename from website/public/img/front-page-fire.png rename to public/images/front-page-fire.png diff --git a/public/images/payload.png b/public/images/payload.png new file mode 100644 index 0000000..3545e14 Binary files /dev/null and b/public/images/payload.png differ diff --git a/public/images/scouter.png b/public/images/scouter.png new file mode 100644 index 0000000..510673e Binary files /dev/null and b/public/images/scouter.png differ diff --git a/website/public/images/wavedown.svg b/public/images/wavedown.svg similarity index 100% rename from website/public/images/wavedown.svg rename to public/images/wavedown.svg diff --git a/website/public/images/waveup.svg b/public/images/waveup.svg similarity index 100% rename from website/public/images/waveup.svg rename to public/images/waveup.svg diff --git a/website/public/next.svg b/public/next.svg similarity index 100% rename from website/public/next.svg rename to public/next.svg diff --git a/website/public/vercel.svg b/public/vercel.svg similarity index 100% rename from website/public/vercel.svg rename to public/vercel.svg diff --git a/website/public/window.svg b/public/window.svg similarity index 100% rename from website/public/window.svg rename to public/window.svg diff --git a/website/tailwind.config.ts b/tailwind.config.ts similarity index 100% rename from website/tailwind.config.ts rename to tailwind.config.ts diff --git a/website/tsconfig.json b/tsconfig.json similarity index 100% rename from website/tsconfig.json rename to tsconfig.json diff --git a/website/README.md b/website/README.md deleted file mode 100644 index e215bc4..0000000 --- a/website/README.md +++ /dev/null @@ -1,36 +0,0 @@ -This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). - -## Getting Started - -First, run the development server: - -```bash -npm run dev -# or -yarn dev -# or -pnpm dev -# or -bun dev -``` - -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. - -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. - -This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. - -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. - -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. diff --git a/website/app/components/ContactUs.tsx b/website/app/components/ContactUs.tsx deleted file mode 100644 index 9dfce49..0000000 --- a/website/app/components/ContactUs.tsx +++ /dev/null @@ -1,91 +0,0 @@ -'use client'; - -import { useState, ChangeEvent, FormEvent } from 'react'; -import emailjs from 'emailjs-com'; - -type FormData = { - email: string; - message: string; - category: string; -}; - -export default function ContactUs() { - const [formData, setFormData] = useState