Add interactive Halloween candy distribution map #1

Merged
Copilot merged 3 commits from copilot/add-halloween-candy-map into main 2025-10-26 13:43:45 -05:00
Copilot commented 2025-10-26 13:21:23 -05:00 (Migrated from github.com)

Implements a public-facing web app for residents to mark houses participating in Halloween candy distribution.

Implementation

  • Self-contained SPA: Pure HTML/CSS/JS with zero dependencies, ~11KB total
  • Interactive grid map: CSS-based neighborhood visualization with street lines
  • Marker system: Click-to-place 🎃 icons with removal on click
  • Client-side persistence: localStorage for marker state across sessions
  • Zoom/pan controls: Transform-based navigation

Usage

// Marker placement
map.addEventListener('click', (e) => {
  const marker = { x: xPercent, y: yPercent };
  markers.push(marker);
  localStorage.setItem('trickortreatMarkers', JSON.stringify(markers));
});

UI

Initial state:
Map

Multiple markers with persistence:
Markers

Deployment

Static files ready for GitHub Pages, Netlify, or any CDN. No build step required.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • unpkg.com
    • Triggering command: curl -sL REDACTED -o leaflet.css (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

I need to build a public facing, interactive map for people to put a checkmark over their house if they will be handing out candy on halloween


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Implements a public-facing web app for residents to mark houses participating in Halloween candy distribution. ## Implementation - **Self-contained SPA**: Pure HTML/CSS/JS with zero dependencies, ~11KB total - **Interactive grid map**: CSS-based neighborhood visualization with street lines - **Marker system**: Click-to-place 🎃 icons with removal on click - **Client-side persistence**: localStorage for marker state across sessions - **Zoom/pan controls**: Transform-based navigation ## Usage ```javascript // Marker placement map.addEventListener('click', (e) => { const marker = { x: xPercent, y: yPercent }; markers.push(marker); localStorage.setItem('trickortreatMarkers', JSON.stringify(markers)); }); ``` ## UI **Initial state:** ![Map](https://github.com/user-attachments/assets/432853e4-7b60-4962-b055-c208e7962fd2) **Multiple markers with persistence:** ![Markers](https://github.com/user-attachments/assets/da85c52a-4088-4d69-a944-952448a59f21) ## Deployment Static files ready for GitHub Pages, Netlify, or any CDN. No build step required. > [!WARNING] > > <details> > <summary>Firewall rules blocked me from connecting to one or more addresses (expand for details)</summary> > > #### I tried to connect to the following addresses, but was blocked by firewall rules: > > - `unpkg.com` > - Triggering command: `curl -sL REDACTED -o leaflet.css` (dns block) > > If you need me to access, download, or install something from one of these locations, you can either: > > - Configure [Actions setup steps](https://gh.io/copilot/actions-setup-steps) to set up my environment, which run before the firewall is enabled > - Add the appropriate URLs or hosts to the custom allowlist in this repository's [Copilot coding agent settings](https://github.com/SluberskiHomeLab/trickortreatmap/settings/copilot/coding_agent) (admins only) > > </details> <!-- START COPILOT CODING AGENT SUFFIX --> <details> <summary>Original prompt</summary> > I need to build a public facing, interactive map for people to put a checkmark over their house if they will be handing out candy on halloween > </details> <!-- START COPILOT CODING AGENT TIPS --> --- 💬 We'd love your input! Share your thoughts on Copilot coding agent in our [2 minute survey](https://gh.io/copilot-coding-agent-survey).
SluberskiHomeLab (Migrated from github.com) approved these changes 2025-10-26 13:43:36 -05:00
Sign in to join this conversation.
No description provided.