Skip to content

Repository files navigation

Welcome to the home of ScanAir!

Marketing landing page for scanair.ca. A business soon-to-be located in Guelph, Ontario.

Instructions to setup & run the ScanAir Homepage

Development

npm install
npm run dev

Build

npm run build

The site is a Vite build served by a Cloudflare Worker so /api/contact can send contact form messages securely.

Contact Form Email

The contact form posts to /api/contact. The Worker sends the message through Brevo's transactional email API and sets replyTo to the website visitor, so replies from the ScanAir inbox go back to the person who submitted the form.

Before deploying, create a Brevo API key and add it as a Cloudflare secret:

npx wrangler secret put BREVO_API_KEY

CONTACT_TO_EMAIL, CONTACT_FROM_EMAIL, and CONTACT_FROM_NAME are configured in wrangler.jsonc. The CONTACT_FROM_EMAIL address must be a verified Brevo sender or a sender on a verified Brevo domain.

For local Worker testing, create .dev.vars:

BREVO_API_KEY=your-brevo-api-key

Docker

docker build -t scanair-website .
docker run --rm -p 8080:80 scanair-website

Then open http://localhost:8080.

Instructions for maintainers

Samples

The homepage Samples section is ready for SuperSplat embeds. Add a shared SuperSplat viewer URL to a sample card's data-supersplat-src value in index.html; the page lazy-loads the iframe when the section nears the viewport.

Listings

The real estate listing pages are driven by src/data/listings.ts.

To add or update a listing:

  1. Add a listing object with a unique slug.
  2. Set splatSrc to the SuperSplat iframe URL, such as https://superspl.at/s?id=....
  3. Add a matching fallback screenshot in public/assets/samples/ and set fallbackSrc.

The category page lives at /listings, and each listing is generated at /listings/<slug> from the shared listing.html template. Vite creates the pretty URL folders during npm run build, so future listing pages should not need copied HTML.

Palette

  • Oxblood red: #5B0F14
  • Graphite charcoal: #1F2328
  • Warm concrete: #B7B4AD
  • Scan blue: #2C6A8F
  • Cloud white: #F3F2EF
  • Natural cedar: #A98263

About

Official website for ScanAir Drone Services

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages