faithcatholic / masstimes_widget
A custom Drupal module embedding a full-screen interactive map and sidebar list of Catholic parishes, powered by the MassTimes Trust database & API.
Installs: 28
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Language:CSS
Type:drupal-module
pkg:composer/faithcatholic/masstimes_widget
README
A custom Drupal module embedding a full-screen interactive map and sidebar list of Catholic parishes, powered by the MassTimes Trust database & API.
🚀 Features
- Auto-detect your current location via browser geolocation
- Fallback to configurable default latitude/longitude if geolocation is unavailable or denied
- Search by ZIP code or City, State (US-only autocomplete via Nominatim)
- Interactive map (Leaflet) with parish markers & popups
- Scrollable sidebar of parish details, synchronized with map clicks
- Mobile-friendly responsive layout
⚙️ Configuration
-
In the Block layout screen, place the MassTimes Map Fullscreen Block.
-
Under Default latitude and Default longitude, enter your preferred fallback coordinates.
If the user declines geolocation or no URL query parameters are present, the map will center on these values. -
When viewing the page, the map will render full-width with the sidebar alongside:
🔧 Installation
- Clone or download into
web/modules/custom/mass_times_widget. - Ensure dependencies in
mass_times_widget.info.ymlare met (e.g.leafletmodule). - Run
drush en mass_times_widget -y(or enable via the UI). - Clear caches:
drush cr.
🧩 How It Works
- Block plugin (
MassTimesMapBlock) fetches user coordinates from URL (?lat=…&long=…) or falls back to the values configured on the block. - It calls the MassTimes API (
https://apiv4.updateparishdata.org/Churchs/) to retrieve nearby churches, sorts them by distance, and builds a GeoJSON feature collection. - The Twig template (
masstimes-map.html.twig) renders the map container and sidebar. - The accompanying JS behavior initializes the Leaflet map, adds parish markers, and ties marker clicks to opening the corresponding
<details>in the sidebar. - The module ships with CSS to ensure a full-width layout, responsive sidebar, and styled parish cards.
🙏 Credits
This module leverages:
- Peter Wagner & the MassTimes Trust (masstimes.org) for their comprehensive global database of Catholic parishes and worship times.
- Leaflet for interactive maps.
- Nominatim (OpenStreetMap) for address/ZIP autocomplete.
📝 License
Licensed under GPL-2.0-or-later. All church data © Mass Times Trust; used with permission.

