Build a checkout extension which references 2 targets:
purchase.checkout.shipping-option-list.render-after
and
purchase.checkout.pickup-location-list.render-after
When selecting a shipping method it shows a corresponding calender.
When selecting pickup, it shows a different calendar.
This all works great on my development store.
On the live store however, the shipping calendars work, but when choosing pickup it shows my pickup location, but it does not show the calendar beloging to the pickup.
It sounds like the issue is likely due to the timing or event binding on the live store. On your dev store, everything loads in the same order, but on the live store, the pickup calendar script might be running before the pickup options are fully rendered, so it doesn’t attach correctly.
A simple way to fix it is to make sure your pickup calendar script listens for the pickup selection event dynamically instead of just running once on page load. Using a mutation observer or an event listener on the shipping/pickup container usually solves this — it ensures the correct calendar shows whenever the pickup option is selected, even if the elements load later.