import { signupStepsStore, StepIds } from 'store/signupSteps';
import { signupScroll } from 'utils/helpers';

type SignupScrollProps = {
  id: StepIds;
};
export const useSignupScroll = ({ id }: SignupScrollProps) => {
  const store = signupStepsStore;

  const onComplete = () => {
    if (!store.currentStepId) return;
    store.markStepComplete(id);
    const nextId = store.nextStepId;
    if (nextId) {
      store.setCurrentStep(nextId);
      signupScroll(`#${nextId}`);
    }
  };

  const removeCompleted = (id: string) => {
    store.markStepIncomplete(id);
  };

  return {
    onComplete,
    removeCompleted,
    isLastStep: store.isLastStep,
    findNextStep: store.findNextIncompleteStepIndex(),
  };
};
