09-Jun-2026 — self-host Font Awesome and improve venue map editing #188
build 676 — commit 8a770e4
Why
The Font Awesome Kit JS snippet was loaded on every page across all group
sites, counting toward the free plan's 10,000 monthly pageview limit. With
10+ deployed sites this was about to be exceeded. The Kit was only needed for
the Leaflet venue map markers - every other icon already used the bundled
<fa-icon> SVG component, which never touched the Kit.
What changed
Self-host Font Awesome (removes the Kit dependency)
- Removed the
kit.fontawesome.com<script>fromindex.html. - Added
@fortawesome/fontawesome-freeCSS (already a dependency) to the Angularstylesbuild, so the webfont is served from our own origin with no pageview counting and no external fetch.
Unify the map pin icons with the venue-type source
- The map's
venue-map-selectornow derives each pin's icon from the venue type's ownIconDefinition(${prefix} fa-${iconName}), the same source the Type dropdown uses, instead of a separate hardcoded list that only covered a subset of types and fell back to a?. - Updated two FA6-renamed icons (
fa-beer->fa-beer-mug-empty,fa-coffee->fa-mug-saucer) and removed dead unicode-mapping code.
Live-preview the edited venue's pin from the Type dropdown
- The marker for the venue being edited now reflects the selected type and updates immediately when the dropdown changes, in both the admin venue editor and the walk venue editor.
Reposition venues by dragging the map pin
- The edited venue's pin is now draggable. Dropping it looks up the postcode for the new point and feeds the new lat/lon/postcode back to the form.
- Clicking the map no longer starts a separate new venue while an existing venue is loaded - that flow was unrelated to the venue being edited and was confusing. Click-to-create still works when starting fresh with no venue loaded. The map's helper text now reflects the current mode.
Follow-up (manual)
- The Font Awesome Kit account can be closed once this is deployed to all environments; nothing in the code references it anymore.