Skip to content

App Behavior & Event Logic

User Stories

  • As a user, I want to search for a campus by name, service, day, or time so I can quickly find relevant locations.
  • As a user, I want to click a campus on the map or navigation list and see detailed info about it (services, times, address, phone).
  • As a user, I want the map to pan and zoom to the selected location automatically for easy orientation.
  • As a user on mobile, I want the layout to adapt so navigation and map are usable on small screens.
  • As a user, I want to reset the map view and clear filters easily using a dedicated "Center Map" button.
  • As a user, I want to close the info window and clear active states without refreshing the page.
  • As a user, I want clicking outside any marker (on map background) to reset the map and clear selections.

Map Initialization:

  • Map centered at { lat: 30.25, lng: -95.60 } (desktop) or { lat: 30.26, lng: -95.565 } (mobile).
  • Custom marker icons per location.

Core Functions:

  • createInfoWindowContent(location) : Renders HTML string for info window.
  • handleLocationClick() : Pans map, opens info window, highlights nav button.
  • filterAndRenderList() : Filters locations via search and redraws buttons/markers.
  • fullReset() : Clears search, shows all markers, resets map view.
  • renderNavButtons() : Creates nav button elements for each location.

Map Event Listeners:

  • Clicking map background: resets view.
  • Marker click: opens corresponding info window.
  • Info window close: clears active state.
  • Center Map button: triggers fullReset()

Explore and learn. Released under the MIT License.