- Add scroll.js: data-scroll-to attribute drives smooth scrollIntoView; scroll-margin-top at md+ accounts for fixed header offset - Wire Services, FAQ, Book An Appointment, View Our Services nav/hero links to on-page anchors; don't close hamburger on scroll-link clicks - Refactor booking calendar: own the fetch (useEffect + dateRange state) instead of handing URL to FullCalendar; removes fetchedRef complexity; noSlotsInMonth derived cleanly from fetchLoading + fetchedEvents - Success state shows appointment summary (name, service, date/time); hides calendar/form on success; no "book another" button Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
13 lines
488 B
JavaScript
13 lines
488 B
JavaScript
// Add data-scroll-to="#target-id" to any link to smooth-scroll instead of navigate.
|
|
(function () {
|
|
document.addEventListener('DOMContentLoaded', function () {
|
|
document.addEventListener('click', function (e) {
|
|
var link = e.target.closest('[data-scroll-to]');
|
|
if (!link) return;
|
|
var target = document.querySelector(link.dataset.scrollTo);
|
|
if (!target) return;
|
|
e.preventDefault();
|
|
target.scrollIntoView({ behavior: 'smooth' });
|
|
});
|
|
});
|
|
})();
|