import { Address } from '@/recruits/openapi/person-registry';

type AddressDate = Pick<Address, 'regDateStart' | 'regDateEnd'>;

export interface AddressType {
  label: string;
  isShow: boolean;
  dates: AddressDate;
}

interface AddressTypes {
  unknown: AddressType;
  [key: string]: AddressType;
}

const DEFAULT_ADDRESS_DATE_VALUE: AddressDate = {
  regDateStart: 'Дата начала регистрации',
  regDateEnd: 'Дата окончания регистрации',
};

export const ADDRESS_TYPES: AddressTypes = {
  residentialAddress: {
    label: 'Адрес проживания',
    isShow: true,
    dates: {
      regDateStart: 'Дата установления актуального адреса проживания',
    },
  },
  residenceAddress: {
    label: 'Адрес регистрации по месту пребывания',
    isShow: true,
    dates: DEFAULT_ADDRESS_DATE_VALUE,
  },
  actualAddress: {
    label: 'Адрес регистрации по месту жительства',
    isShow: true,
    dates: DEFAULT_ADDRESS_DATE_VALUE,
  },
  criminalAddress: {
    label: 'Адрес места отбывания наказания',
    isShow: false,
    dates: DEFAULT_ADDRESS_DATE_VALUE,
  },
  workAddress: {
    label: 'Адрес места работы',
    dates: DEFAULT_ADDRESS_DATE_VALUE,
    isShow: false,
  },
  universityAddress: {
    label: 'Адрес учебного заведения',
    dates: DEFAULT_ADDRESS_DATE_VALUE,
    isShow: false,
  },
  unknown: {
    label: '',
    isShow: true,
    dates: DEFAULT_ADDRESS_DATE_VALUE,
  },
};
