"use client";

import { useEffect, useRef } from "react";

import { useUserLocation } from "@/lib/location-context";

export function LocationPageActivator({
  locationId,
  displayName,
}: {
  locationId: number;
  displayName?: string;
}) {
  const { locations, selectLocation } = useUserLocation();
  const selectLocationRef = useRef(selectLocation);

  useEffect(() => {
    selectLocationRef.current = selectLocation;
  }, [selectLocation]);

  useEffect(() => {
    if (!locations.some((location) => location.id === locationId)) {
      return;
    }

    selectLocationRef.current(locationId, displayName);
  }, [displayName, locationId, locations]);

  return null;
}
