type Listener = () => void;

const listeners = new Set<Listener>();

/** Notify lists (dashboard / tâches) that a visit was saved. */
export function emitVisitSaved(): void {
  listeners.forEach((fn) => {
    try {
      fn();
    } catch {
      // ignore
    }
  });
}

export function onVisitSaved(listener: Listener): () => void {
  listeners.add(listener);
  return () => {
    listeners.delete(listener);
  };
}
