import {createStackNavigator} from '@react-navigation/stack';
import {
  CategorySelectionScreenType,
  MomentCategoryType,
  TaggPopupType,
  UserType,
  VerificationScreenType,
} from '../../types';

export type OnboardingStackParams = {
  WelcomeScreen: undefined;
  Login: undefined;
  PasswordResetRequest: undefined;
  PasswordReset: {
    value: string;
  };
  InvitationCodeVerification: undefined;
  RegistrationOne: undefined;
  RegistrationTwo: {phone: string};
  RegistrationThree: {
    firstName: string;
    lastName: string;
    phone: string;
    email: string;
  };
  Checkpoint: {username: string; userId: string};
  Verification: {id: string; screenType: VerificationScreenType};
  ProfileOnboarding: {username: string; userId: string};
  SocialMedia: {username: string; userId: string};
  CategorySelection: {
    categories: Record<MomentCategoryType, boolean>;
    screenType: CategorySelectionScreenType;
    user: UserType;
  };
  TaggPopup: {
    popupProps: TaggPopupType;
  };
};

export const OnboardingStack = createStackNavigator<OnboardingStackParams>();
