Merge branch 'dev' into feat/encounter-status-107
This commit is contained in:
No files matched your search
+103
-5
@@ -95,6 +95,7 @@ export const religionCodes: Record<string, string> = {
|
||||
hindu: 'Hindu',
|
||||
buda: 'Buda',
|
||||
konghucu: 'Konghucu',
|
||||
other: 'Kepercayaan Lain',
|
||||
}
|
||||
|
||||
export const educationCodes: Record<string, string> = {
|
||||
@@ -112,13 +113,91 @@ export const educationCodes: Record<string, string> = {
|
||||
}
|
||||
|
||||
export const occupationCodes: Record<string, string> = {
|
||||
'tidak-bekerja': 'Tidak Bekerja',
|
||||
unknown: 'Tidak diketahui',
|
||||
tidak_bekerja: 'Belum/Tidak Bekerja',
|
||||
mengurus_rumah_tangga: 'Mengurus Rumah Tangga',
|
||||
pelajar: 'Pelajar/Mahasiswa',
|
||||
pensiunan: 'Pensiunan',
|
||||
pns: 'Pegawai Negeri Sipil',
|
||||
polisi: 'Polisi',
|
||||
tni: 'TNI',
|
||||
tni: 'Tentara Nasional Indonesia',
|
||||
polri: 'Kepolisian RI',
|
||||
perdagangan: 'Perdagangan',
|
||||
petani: 'Petani/Pekebun',
|
||||
peternak: 'Peternak',
|
||||
nelayan: 'Nelayan/Perikanan',
|
||||
industri: 'Industri',
|
||||
konstruksi: 'Konstruksi',
|
||||
transportasi: 'Transportasi',
|
||||
karyawan_swasta: 'Karyawan Swasta',
|
||||
karyawan_bumn: 'Karyawan BUMN',
|
||||
karyawan_bumd: 'Karyawan BUMD',
|
||||
karyawan_honorer: 'Karyawan Honorer',
|
||||
buruh_harian: 'Buruh Harian Lepas',
|
||||
buruh_tani: 'Buruh Tani/Perkebunan',
|
||||
buruh_nelayan: 'Buruh Nelayan/Perikanan',
|
||||
buruh_peternakan: 'Buruh Peternakan',
|
||||
pembantu_rumah_tangga: 'Pembantu Rumah Tangga',
|
||||
tukang_cukur: 'Tukang Cukur',
|
||||
tukang_listrik: 'Tukang Listrik',
|
||||
tukang_batu: 'Tukang Batu',
|
||||
tukang_kayu: 'Tukang Kayu',
|
||||
tukang_sol_sepatu: 'Tukang Sol Sepatu',
|
||||
tukang_jahit: 'Tukang Jahit',
|
||||
tukang_gigi: 'Tukang Gigi',
|
||||
penata_rias: 'Penata Rias',
|
||||
penata_busana: 'Penata Busana',
|
||||
penata_rambut: 'Penata Rambut',
|
||||
mekanik: 'Mekanik',
|
||||
seniman: 'Seniman',
|
||||
tabib: 'Tabib',
|
||||
paraji: 'Paraji',
|
||||
perancang_busana: 'Perancang Busana',
|
||||
penterjemah: 'Penterjemah',
|
||||
imam_mesjid: 'Imam Mesjid',
|
||||
pendeta: 'Pendeta',
|
||||
pastor: 'Pastor',
|
||||
wartawan: 'Wartawan',
|
||||
ustadz: 'Ustadz/Mubaligh',
|
||||
juru_masak: 'Juru Masak',
|
||||
promotor: 'Promotor Acara',
|
||||
dpr_ri: 'Anggota DPR-RI',
|
||||
dpd: 'Anggota DPD',
|
||||
bpk: 'Anggota BPK',
|
||||
presiden: 'Presiden',
|
||||
wakil_presiden: 'Wakil Presiden',
|
||||
mk: 'Anggota Mahkamah Konstitusi',
|
||||
kabinet: 'Anggota Kabinet/Kementrian',
|
||||
dubes: 'Duta Besar',
|
||||
gubernur: 'Gubernur',
|
||||
wakil_gubernur: 'Wakil Gubernur',
|
||||
bupati: 'Bupati',
|
||||
wakil_bupati: 'Wakil Bupati',
|
||||
walikota: 'Walikota',
|
||||
wakil_walikota: 'Wakil Walikota',
|
||||
dprd_provinsi: 'Anggota DPRD Provinsi',
|
||||
dprd_kabkota: 'Anggota DPRD Kabupaten/Kota',
|
||||
dosen: 'Dosen',
|
||||
guru: 'Guru',
|
||||
pilot: 'Pilot',
|
||||
pengacara: 'Pengacara',
|
||||
arsitek: 'Arsitek',
|
||||
akuntan: 'Akuntan',
|
||||
konsultan: 'Konsultan',
|
||||
dokter: 'Dokter',
|
||||
bidan: 'Bidan',
|
||||
apoteker: 'Apoteker',
|
||||
psikolog: 'Psikiater/Psikolog',
|
||||
penyiar_tv: 'Penyiar Televisi',
|
||||
penyiar_radio: 'Penyiar Radio',
|
||||
pelaut: 'Pelaut',
|
||||
sopir: 'Sopir',
|
||||
pialang: 'Pialang',
|
||||
paranormal: 'Paranormal',
|
||||
pedagang: 'Pedagang',
|
||||
perangkat_desa: 'Perangkat Desa',
|
||||
kepala_desa: 'Kepala Desa',
|
||||
biarawati: 'Biarawati',
|
||||
wiraswasta: 'Wiraswasta',
|
||||
'kary-swasta': 'Karyawan Swasta',
|
||||
lainnya: 'Lainnya',
|
||||
}
|
||||
|
||||
@@ -258,7 +337,10 @@ export const uploadCode: Record<string, string> = {
|
||||
kk: 'person-family-card',
|
||||
paspor: 'person-passport',
|
||||
'mcu-report': 'mcu-item-result',
|
||||
}
|
||||
} as const
|
||||
|
||||
export type UploadCodeKey = keyof typeof uploadCode
|
||||
export type UploadCodeValue = (typeof uploadCode)[UploadCodeKey]
|
||||
|
||||
export const infraGroupCodes: Record<string, string> = {
|
||||
building: 'Bangunan',
|
||||
@@ -278,3 +360,19 @@ export const infraGroupCodesKeys: Record<string, string> = Object.keys(infraGrou
|
||||
},
|
||||
{} as Record<string, string>,
|
||||
)
|
||||
|
||||
export const addressLocationTypeCode: Record<string, string> = {
|
||||
identity: 'Alamat KTP',
|
||||
domicile: 'Alamat Domisili',
|
||||
}
|
||||
|
||||
export type AddressLocationTypeCode = keyof typeof addressLocationTypeCode
|
||||
export const medicalActionTypeCode: Record<string, string> = {
|
||||
chemo: 'Chemo',
|
||||
hemo: 'Hemo',
|
||||
thalasemia: 'Thalasemia',
|
||||
echocardio: 'Echocardiography',
|
||||
spirometry: 'Spirometry',
|
||||
} as const
|
||||
|
||||
export type medicalActionTypeCodeKey = keyof typeof medicalActionTypeCode
|
||||
@@ -0,0 +1,44 @@
|
||||
export function getAge(dateString: string, comparedDate?: string): { idFormat: string; extFormat: string } {
|
||||
const birthDate = new Date(dateString);
|
||||
const today = new Date();
|
||||
|
||||
if (comparedDate) {
|
||||
const comparedDateObj = new Date(comparedDate);
|
||||
today.setFullYear(comparedDateObj.getFullYear());
|
||||
today.setMonth(comparedDateObj.getMonth());
|
||||
today.setDate(comparedDateObj.getDate());
|
||||
}
|
||||
|
||||
// Format the date part
|
||||
const options: Intl.DateTimeFormatOptions = { day: 'numeric', month: 'long', year: 'numeric' };
|
||||
const idFormat = birthDate.toLocaleDateString('id-ID', options);
|
||||
|
||||
// Calculate age
|
||||
let years = today.getFullYear() - birthDate.getFullYear();
|
||||
let months = today.getMonth() - birthDate.getMonth();
|
||||
let days = today.getDate() - birthDate.getDate();
|
||||
|
||||
if (months < 0 || (months === 0 && days < 0)) {
|
||||
years--;
|
||||
months += 12;
|
||||
}
|
||||
|
||||
if (days < 0) {
|
||||
const prevMonth = new Date(today.getFullYear(), today.getMonth() - 1, 0);
|
||||
days += prevMonth.getDate();
|
||||
months--;
|
||||
}
|
||||
|
||||
// Format the age part
|
||||
let extFormat = '';
|
||||
if ([years, months, days].filter(Boolean).join(' ')) {
|
||||
extFormat = `${years} Tahun ${months} Bulan ${days} Hari`;
|
||||
} else {
|
||||
extFormat = '0';
|
||||
}
|
||||
|
||||
return {
|
||||
idFormat,
|
||||
extFormat
|
||||
};
|
||||
}
|
||||
@@ -27,6 +27,16 @@ export function mapToComboboxOptList(items: Record<string, string>): SelectOptio
|
||||
return result
|
||||
}
|
||||
|
||||
/**
|
||||
* Mengkonversi string menjadi title case (huruf pertama setiap kata kapital)
|
||||
* @param str - String yang akan dikonversi
|
||||
* @returns String dalam format title case
|
||||
*/
|
||||
export function toTitleCase(str: string): string {
|
||||
return str.toLowerCase().replace(/\b\w/g, (char) => char.toUpperCase())
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Menghitung umur berdasarkan tanggal lahir
|
||||
* @param birthDate - Tanggal lahir dalam format Date atau string
|
||||
|
||||
Reference in New Issue
Block a user