Refactor the Passport Application flow by separating each step into its own component up to step 3, and complete the UI for step 7

This commit is contained in:
Mochammad Adhi Buchori
2025-04-24 17:07:15 +07:00
parent 388a400b32
commit 2c0ea70fb3
34 changed files with 1504 additions and 856 deletions

View File

@ -0,0 +1,9 @@
const destinationCountryOptions = [
{
label: 'Saya belum memiliki negara tujuan',
description: 'null',
value: 'destination_country_not_set',
},
];
export default destinationCountryOptions;

View File

@ -0,0 +1,9 @@
const destinationFamilyContactOptions = [
{
label: 'Saya tidak memiliki keluarga/kerabat di negara tujuan',
description: 'null',
value: 'no_family_in_destination_country',
},
];
export default destinationFamilyContactOptions;

View File

@ -0,0 +1,29 @@
const durationAbroadOptions = [
{
label: '< 1 Bulan',
description: 'null',
value: 'less_than_1_month',
},
{
label: '< 6 Bulan',
description: 'null',
value: 'less_than_6_months',
},
{
label: '< 1 Tahun',
description: 'null',
value: 'less_than_1_year',
},
{
label: '< 5 Tahun',
description: 'null',
value: 'less_than_5_years',
},
{
label: '> 5 Tahun',
description: 'null',
value: 'more_than_5_years',
},
];
export default durationAbroadOptions;

View File

@ -0,0 +1,15 @@
const hasHadPassportBeforeOptions = [
{
label: 'Belum',
description:
'Belum pernah memiliki paspor atau belum pernah mengajukan permohonan paspor',
value: 'not_yet',
},
{
label: 'Sudah',
description: '',
value: 'already',
},
];
export default hasHadPassportBeforeOptions;

View File

@ -0,0 +1,39 @@
const passportApplicationPurposeOptions = [
{
label: 'Wisata',
description: 'null',
value: 'tourism',
},
{
label: 'Umroh',
description: 'null',
value: 'umrah',
},
{
label: 'Haji',
description: 'null',
value: 'hajj',
},
{
label: 'Bekerja Formal',
description: 'null',
value: 'formal_work',
},
{
label: 'Pekerja Imigran Indonesia (PMI)',
description: 'null',
value: 'indonesian_migrant_worker',
},
{
label: 'Belajar',
description: 'null',
value: 'study',
},
{
label: 'Berobat',
description: 'null',
value: 'medical',
},
];
export default passportApplicationPurposeOptions;

View File

@ -0,0 +1,14 @@
const passportForOptions = [
{
label: 'Dewasa',
description: 'WNI berusia di atas 17 tahun atau sudah menikah',
value: 'adult',
},
{
label: 'Anak',
description: 'WNI berusia di bawah 17 tahun dan belum menikah',
value: 'child',
},
];
export default passportForOptions;

View File

@ -0,0 +1,34 @@
const previousPassportConditionOptions = [
{
label: 'Habis masa berlaku',
description: 'null',
value: 'expired',
},
{
label: 'Penuh/Halaman Penuh',
description: 'null',
value: 'full_pages',
},
{
label: 'Hilang',
description: 'null',
value: 'lost',
},
{
label: 'Rusak',
description: 'null',
value: 'damaged',
},
{
label: 'Hilang karena keadaan kahar',
description: 'null',
value: 'lost_due_to_force_majeure',
},
{
label: 'Rusak karena keadaan kahar',
description: 'null',
value: 'damaged_due_to_force_majeure',
},
];
export default previousPassportConditionOptions;

View File

@ -0,0 +1,7 @@
const arrivalDateGuidelinesData = [
'Pastikan kehadiran Anda pada tanggal yang dipilih',
'Anda dapat melakukan ubah jadwal sebanyak 1 kali paling lambat 1 hari sebelum tanggal kedatangan',
'Apabila Anda tidak hadir pada tanggal kedatangan dan tidak melakukan ubah jadwal, permohonan Anda dinyatakan batal dan pembayaran tidak dapat dikembalikan',
];
export default arrivalDateGuidelinesData;

View File

@ -0,0 +1,38 @@
const termsAndConditionsData = [
{
id: 1,
text: 'Pemohon wajib hadir 15 menit sebelum jam kedatangan dimulai;',
},
{
id: 2,
text: 'Membawa dokumen persyaratan permohonan paspor asli sesuai tujuan permohonan paspor;',
},
{
id: 3,
text: 'Permohonan penggantian paspor wajib membawa paspor lama;',
},
{
id: 4,
text: 'Apabila anda tidak hadir sesuai jadwal kedatangan dan tidak melakukan ubah jadwal, maka permohonan paspor anda dibatalkan dan harus melakukan pendaftaran ulang',
},
{
id: 5,
text: 'Permohonan paspor dapat ditolak dalam hal:',
subItems: [
'Termasuk dalam daftar pencegahan dan penangkalan;',
'Terindikasi Pekerja Migran Indonesia (PMI) Non Prosedural;',
'Memberikan data tidak sah dan/atau keterangan tidak benar;',
'Hal lain yang dianggap oleh petugas akan dipergunakan untuk tujuan melawan hukum;',
],
},
{
id: 6,
text: 'Apabila terdapat kesalahan dari pihak pemohon paspor sebagaimana ketentuan di atas, pembayaran yang telah disetorkan pada Kas Negara tidak dapat dikembalikan;',
},
{
id: 7,
text: 'Dengan membaca dan menyetujui persyaratan dan ketentuan ini, pemohon telah siap dan mematuhi segala konsekuensi yang berakibat secara hukum.',
},
];
export default termsAndConditionsData;