import { Customer } from ".";

export type MatchProfile = {
  id: number;
  relationshipType: string[];
  gender: string[];
  ageRange: string[];
  heightRange: string[];
  weightRange: string[];
  maritalStatus: string[];
  ethnicity: string[];
  genotype: string[];
  state: string[];
  religion: string[];
  languages: string[];
};

export interface AppState {
  isJoining: boolean;
  isMobileScreen: boolean;
  login: boolean;
  filterValues: FilterValues;
  search: string;
  sidebarOpen: boolean;
  openActionMenuId: number | null;
  viewCustomer: {
    isOpen: boolean;
    customerData: Customer | null;
  };
  profileSetup: {
    personalInfo: {
      mobileNumber: number;
      fullName: string;
      dob: string;
      gender: string;
    };
    bioDataInfo: {
      maritalStatus: string;
      heightRange: string;
      weightRange: string;
      ageRange: string;
      ethnicity: string;
      genotype: string;
      occupation: string;
      religion: {
        value: string;
        subValue: string;
      };
    };
    contactInfo: {
      physicalAddress: string;
      streetName: string;
      lga: string;
      landmark: string;
      postalCode: string;
      state: string;
      country: string;
    };
    "hobbies&interests": {
      hobbies: string[];
      interests: string[];
      languages: string[];
    };
  };
  matchProfiles: MatchProfile[];
  adminSettings: {
    relationship: {
      name: string;
      types: string[];
    };
    stats: {
      total_sales: number;
      total_users_count: number;
      new_users_count: number;
      verified_users_count: number;
      deleted_accounts_count: number;
    };
  };
}

export interface FilterValues {
  relationship_type: string;
  age_range: string;
  state: string;
  height_range: string;
  weight_range: string;
  religion: string;
  nationality: string;
  ethnicity: string;
}
