Finalized Terms And Conditions screen

This commit is contained in:
Mochammad Adhi Buchori
2025-04-19 16:35:47 +07:00
parent 608e03558d
commit 7828df1a01
2 changed files with 330 additions and 108 deletions

View File

@ -6,6 +6,7 @@ import {RootStackParamList} from '../../navigation/type';
import {NativeStackNavigationProp} from '@react-navigation/native-stack'; import {NativeStackNavigationProp} from '@react-navigation/native-stack';
import {useNavigation} from '@react-navigation/native'; import {useNavigation} from '@react-navigation/native';
import Colors from '../../../assets/styles/Colors'; import Colors from '../../../assets/styles/Colors';
import FontFamily from '../../../assets/styles/FontFamily';
type TermsAndConditionsScreenNavigationProp = NativeStackNavigationProp< type TermsAndConditionsScreenNavigationProp = NativeStackNavigationProp<
RootStackParamList, RootStackParamList,
@ -35,90 +36,255 @@ function TermsAndConnditionsScreen() {
Panduan pendaftaran dan informasi untuk mengajukan permohonan paspor Panduan pendaftaran dan informasi untuk mengajukan permohonan paspor
</Text> </Text>
</View> </View>
<View style={styles.termsAndConditionsDetailWrapper}> <View style={styles.termsAndConditionsDetailInfoContainer}>
<Text style={styles.heading}> <View>
1. Mohon persiapkan terlebih dahulu persyaratan permohonan paspor <View style={styles.titleListContainer}>
berikut: <Text style={styles.titleListNumber}>1.</Text>
</Text> <Text style={styles.titleListDesc}>
Mohon persiapkan terlebih dahulu persyaratan permohonan paspor,
<Text style={styles.subheading}>a. Permohonan paspor baru:</Text> yaitu:
<Text style={styles.bullet}> KTP</Text> </Text>
<Text style={styles.bullet}> Kartu keluarga</Text> </View>
<Text style={styles.bullet}> <View style={styles.AlphabetListWrapper}>
Akta kelahiran/ijazah/buku nikah/akte perkawinan/surat baptis <View>
</Text> <View style={styles.AlphabetListContainer}>
<Text style={styles.bullet}> <Text style={styles.AlphabetList}>a.</Text>
Jika tidak ada, surat keterangan dari instansi <Text style={styles.AlphabetListDesc}>
</Text> Permohonan paspor baru:
</Text>
<Text style={styles.subheading}> </View>
b. Permohonan penggantian paspor: <View style={styles.bulletListWrapper}>
</Text> <View style={styles.firstBulletListContainer}>
<Text style={styles.bullet}> KTP</Text> <Text style={styles.bulletList}></Text>
<Text style={styles.bullet}> Paspor lama</Text> <Text style={styles.bulletListDesc}>KTP</Text>
</View>
<Text style={styles.subheading}> <View style={styles.firstBulletListContainer}>
c. Dokumen tambahan untuk paspor sesuai tujuan: <Text style={styles.bulletList}></Text>
</Text> <Text style={styles.bulletListDesc}>Kartu Keluarga</Text>
<Text style={styles.bullet}> </View>
1. Haji/Umrah: Surat rekomendasi Kemenag <View style={styles.firstBulletListContainer}>
</Text> <Text style={styles.bulletList}></Text>
<Text style={styles.bullet}> <Text style={styles.bulletListDesc}>
2. Belajar di luar negeri: Surat dari lembaga pendidikan Akta kelahiran/ijazah/buku nikah/akta perkawinan/surat
</Text> baptis yang memuat data nama, tempat dan tanggal lahir,
<Text style={styles.bullet}> dan nama orang tua
3. Magang/kerja: Surat rekomendasi Kemnaker </Text>
</Text> </View>
</View>
<Text style={styles.heading}>2. Pernyataan kesesuaian data</Text> </View>
<Text style={styles.paragraph}> <View>
Data yang ada pada seluruh dokumen harus sesuai dan dapat <View style={styles.AlphabetListContainer}>
dipertanggungjawabkan kebenarannya. <Text style={styles.AlphabetList}>b.</Text>
</Text> <Text style={styles.AlphabetListDesc}>
Permohonan penggantian paspor:
<Text style={styles.heading}> </Text>
3. Aplikasi ini hanya dapat melayani permohonan paspor baru dan </View>
penggantian <View style={styles.bulletListWrapper}>
</Text> <View style={styles.firstBulletListContainer}>
<Text style={styles.paragraph}> <Text style={styles.bulletList}></Text>
Untuk penggantian karena rusak atau hilang, langsung datang ke <Text style={styles.bulletListDesc}>KTP</Text>
Kantor Imigrasi. </View>
</Text> <View style={styles.firstBulletListContainer}>
<Text style={styles.bulletList}></Text>
<Text style={styles.heading}>4. Ketentuan pembayaran</Text> <Text style={styles.bulletListDesc}>Paspor Lama</Text>
<Text style={styles.paragraph}> </View>
Pembayaran dilakukan terlebih dahulu sesuai pilihan jadwal dan </View>
kantor. </View>
</Text> <View>
<View style={styles.AlphabetListContainer}>
<Text style={styles.heading}>5. Perubahan jadwal</Text> <Text style={styles.AlphabetList}>c.</Text>
<Text style={styles.paragraph}> <Text style={styles.AlphabetListDesc}>
Jadwal bisa diubah sebelum kedatangan, tapi tidak bisa dipastikan Dokumen tambahan persyaratan permohonan paspor sesuai tujuan
slot tersedia kembali. permohonan paspor, yaitu:
</Text> </Text>
</View>
<Text style={styles.heading}> <View style={styles.numberListWrapper}>
6. Kehadiran dan pembatalan otomatis <View>
</Text> <View style={styles.numberListContainer}>
<Text style={styles.paragraph}> <Text style={styles.numberList}>1.</Text>
Tidak hadir tanpa konfirmasi akan dibatalkan otomatis dan tidak <Text style={styles.numberListDesc}>Haji/Umrah</Text>
dapat digunakan kembali. </View>
</Text> <View style={styles.bulletListWrapper}>
<View style={styles.secondBulletListContainer}>
<Text style={styles.heading}> <Text style={styles.bulletList}></Text>
7. Permohonan paspor dapat ditolak dalam hal: <Text style={styles.bulletListDesc}>
</Text> Surat Rekomendasi dari Kementerian Agama
<Text style={styles.bullet}> Termasuk dalam daftar pencekalan</Text> </Text>
<Text style={styles.bullet}> Tersangkut kasus pidana</Text> </View>
<Text style={styles.bullet}> <View style={styles.secondBulletListContainer}>
Hal-hal lain yang dianggap oleh petugas <Text style={styles.bulletList}></Text>
</Text> <Text style={styles.bulletListDesc}>
Surat Rekomendasi dari Penyelenggara Ibadah Haji dan
<Text style={styles.heading}>8. Tanggung jawab pemohon</Text> Umrah
<Text style={styles.paragraph}> </Text>
Kesalahan data menjadi tanggung jawab pemohon. Biaya yang telah </View>
dibayarkan tidak dapat dikembalikan. </View>
</Text> </View>
<View>
<View style={styles.numberListContainer}>
<Text style={styles.numberList}>2.</Text>
<Text style={styles.numberListDesc}>
Bekerja di luar negeri
</Text>
</View>
<View style={styles.bulletListWrapper}>
<View style={styles.secondBulletListContainer}>
<Text style={styles.bulletList}></Text>
<Text style={styles.bulletListDesc}>
Surat Rekomendasi dari Dinas Tenaga Kerja
</Text>
</View>
</View>
</View>
<View>
<View style={styles.numberListContainer}>
<Text style={styles.numberList}>3.</Text>
<Text style={styles.numberListDesc}>
Magang dan Program Bursa Kerja Khusus
</Text>
</View>
<View style={styles.bulletListWrapper}>
<View style={styles.secondBulletListContainer}>
<Text style={styles.bulletList}></Text>
<Text style={styles.bulletListDesc}>
Surat Rekomendasi dari Direktur Jenderal Pembinaan dan
Pelatihan Produktivitas Kementerian Ketenagakerjaan
</Text>
</View>
</View>
</View>
</View>
</View>
</View>
</View>
<View>
<View style={styles.titleListContainer}>
<Text style={styles.titleListNumber}>2.</Text>
<Text style={styles.titleListDesc}>Pernyataan keaslian data</Text>
</View>
<View style={styles.bodyTextContainer}>
<Text style={styles.bodyText}>
Data yang ada pada seluruh dokumen{' '}
<Text style={{...FontFamily.notoSansBold}}>
persyaratan paspor sebagaimana dimaksud angka 1 harus sesuai
dan dapat dipertanggungjawabkan kebenarannya.
</Text>
</Text>
</View>
</View>
<View>
<View style={styles.titleListContainer}>
<Text style={styles.titleListNumber}>3.</Text>
<Text style={styles.titleListDesc}>
Aplikasi ini hanya dapat melayani permohonan paspor baru dan
penggantian
</Text>
</View>
<View style={styles.bodyTextContainer}>
<Text style={styles.bodyText}>
Untuk pelayanan penggantian paspor rusak atau hilang, silakan
langsung datang ke Kantor Imigrasi terdekat. {'\n\n'}Untuk
penggantian paspor hilang dilengkapi dengan Surat Kehilangan
dari Kepolisian, dan untuk penggantian paspor rusak dilengkapi
dengan paspor lama yang mengalami kerusakan (asli dan fotokopi
dalam kertas A4).
</Text>
</View>
</View>
<View>
<View style={styles.titleListContainer}>
<Text style={styles.titleListNumber}>4.</Text>
<Text style={styles.titleListDesc}>Ketentuan pembayaran</Text>
</View>
<View style={styles.bodyTextContainer}>
<Text style={styles.bodyText}>
Pembayaran biaya PNBP permohonan paspor dilakukan terlebih
dahulu sebelum Anda datang ke Kantor Imigrasi sesuai pilihan dan
jadwal kedatangan.
</Text>
</View>
</View>
<View>
<View style={styles.titleListContainer}>
<Text style={styles.titleListNumber}>5.</Text>
<Text style={styles.titleListDesc}>Perubahan jadwal</Text>
</View>
<View style={styles.bodyTextContainer}>
<Text style={styles.bodyText}>
Anda dapat melakukan ubah jadwal kedatangan sebanyak{' '}
<Text style={{...FontFamily.notoSansBold}}>satu kali</Text>{' '}
sesuai dengan kuota tersedia, namun tidak dapat mengubah Kantor
Imigrasi yang sudah anda pilih.
</Text>
</View>
</View>
<View>
<View style={styles.titleListContainer}>
<Text style={styles.titleListNumber}>6.</Text>
<Text style={styles.titleListDesc}>
Kehadiran dan pembatalan otomatis
</Text>
</View>
<View style={styles.bodyTextContainer}>
<Text style={styles.bodyText}>
Apabila Anda tidak hadir sesuai jadwal kedatangan dan tidak
melakukan ubah jadwal, maka permohonan paspor Anda dibatalkan
dan pembayaran tidak dapat dibatalkan serta Anda harus melakukan
pendaftaran ulang.
</Text>
</View>
</View>
<View>
<View style={styles.titleListContainer}>
<Text style={styles.titleListNumber}>7.</Text>
<Text style={styles.titleListDesc}>
Permohonan paspor dapat ditolak dalam hal:
</Text>
</View>
<View style={styles.AlphabetListWrapper}>
<View style={styles.AlphabetListContainer}>
<Text style={styles.AlphabetList}>a.</Text>
<Text style={styles.AlphabetListDesc}>
Termasuk dalam daftar pencegahan dan penangkalan;
</Text>
</View>
<View style={styles.AlphabetListContainer}>
<Text style={styles.AlphabetList}>b.</Text>
<Text style={styles.AlphabetListDesc}>
Terindikasi Pekerja Migran Indonesia (PMI) Non Prosedural;
</Text>
</View>
<View style={styles.AlphabetListContainer}>
<Text style={styles.AlphabetList}>c.</Text>
<Text style={styles.AlphabetListDesc}>
Memberikan data tidak sah dan/atau keterangan tidak benar;
</Text>
</View>
<View style={styles.AlphabetListContainer}>
<Text style={styles.AlphabetList}>d.</Text>
<Text style={styles.AlphabetListDesc}>
Hal lain yang dianggap oleh petugas akan dipergunakan untuk
tujuan melawan hukum.
</Text>
</View>
</View>
</View>
<View>
<View style={styles.titleListContainer}>
<Text style={styles.titleListNumber}>8.</Text>
<Text style={styles.titleListDesc}>Tanggung jawab pemohon</Text>
</View>
<View style={styles.bodyTextContainer}>
<Text style={styles.bodyText}>
Apabila terdapat kesalahan dari pihak pemohon paspor sebagaimana
tersebut pada ketentuan di atas,{' '}
<Text style={{...FontFamily.notoSansBold}}>
PEMBAYARAN YANG TELAH DISETORKAN PADA KAS NEGARA TIDAK DAPAT
DIKEMBALIKAN.
</Text>
</Text>
</View>
</View>
</View> </View>
</ScrollView> </ScrollView>
</View> </View>

View File

@ -28,36 +28,92 @@ const styles = StyleSheet.create({
fontSize: 12, fontSize: 12,
textAlign: 'justify', textAlign: 'justify',
}, },
termsAndConditionsDetailWrapper: { termsAndConditionsDetailInfoContainer: {
marginTop: 24,
marginBottom: 32,
marginHorizontal: 16, marginHorizontal: 16,
marginVertical: 32, gap: 24,
}, },
content: { titleListContainer: {
padding: 16, flexDirection: 'row',
paddingBottom: 32, gap: 8,
marginBottom: 16,
}, },
heading: { titleListNumber: {
fontSize: 16, color: Colors.secondary30.color,
fontWeight: 'bold', ...FontFamily.notoSansSemiBold,
marginBottom: 6, fontSize: 12,
color: '#222',
}, },
subheading: { titleListDesc: {
fontSize: 15, color: Colors.secondary30.color,
fontWeight: '600', ...FontFamily.notoSansSemiBold,
marginTop: 10, flex: 1,
color: '#444', fontSize: 12,
}, },
bullet: { AlphabetListWrapper: {
fontSize: 14, gap: 8,
marginLeft: 12,
marginBottom: 4,
color: '#333',
}, },
paragraph: { AlphabetListContainer: {
fontSize: 14, flexDirection: 'row',
marginBottom: 8, gap: 8,
color: '#333', marginStart: 18,
},
AlphabetList: {
...FontFamily.notoSansRegular,
fontSize: 12,
},
AlphabetListDesc: {
flex: 1,
...FontFamily.notoSansRegular,
fontSize: 12,
},
bodyTextContainer: {
marginStart: 18,
},
bodyText: {
fontSize: 12,
...FontFamily.notoSansRegular,
},
bulletListWrapper: {
marginTop: 8,
gap: 8,
},
firstBulletListContainer: {
flexDirection: 'row',
gap: 8,
marginStart: 36,
},
bulletList: {
...FontFamily.notoSansRegular,
fontSize: 12,
},
bulletListDesc: {
...FontFamily.notoSansRegular,
fontSize: 12,
flex: 1,
},
numberListWrapper: {
marginTop: 8,
gap: 8,
},
numberListContainer: {
flexDirection: 'row',
gap: 8,
marginStart: 32,
},
numberList: {
fontSize: 12,
...FontFamily.notoSansRegular,
},
numberListDesc: {
fontSize: 12,
...FontFamily.notoSansRegular,
flex: 1,
},
secondBulletListContainer: {
flexDirection: 'row',
gap: 8,
marginStart: 48,
}, },
}); });