// app/syarat-dan-ketentuan.tsx import { View, Text, ScrollView, TouchableOpacity, StyleSheet, } from "react-native"; import { useState, useRef } from "react"; import { router, useLocalSearchParams, useRouter } from "expo-router"; import { SafeAreaView } from "react-native-safe-area-context"; import { AccentColor, MainColor } from "@/constants/color-palet"; import { useAuth } from "@/hooks/use-auth"; import Toast from "react-native-toast-message"; export default function EULASection({ nomor, onSetModalVisible, setLoadingTerm, }: { nomor: string; onSetModalVisible: (visible: boolean) => void; setLoadingTerm: (loading: boolean) => void; }) { const { acceptedTerms } = useAuth(); const [isLoading, setIsLoading] = useState(false); const [isAtBottom, setIsAtBottom] = useState(false); const scrollViewRef = useRef(null); const handleScroll = (event: any) => { const { layoutMeasurement, contentOffset, contentSize } = event.nativeEvent; const paddingToBottom = 20; const isCloseToBottom = layoutMeasurement.height + contentOffset.y >= contentSize.height - paddingToBottom; setIsAtBottom(isCloseToBottom); }; const handleAccept = async () => { // console.log("Accept terms", nomor); // onSetModalVisible(false); try { if (!isAtBottom) return; setIsLoading(true); const responseAccept = await acceptedTerms( nomor as string, onSetModalVisible, ); console.log("Accept terms", responseAccept); setLoadingTerm(true); setTimeout(() => { router.replace(responseAccept); }, 500); } catch (error) { console.log("Error accept terms", error); Toast.show({ type: "error", text1: "Error", text2: "Terjadi kesalahan saat menerima syarat dan ketentuan", }); } finally { setIsLoading(false); } }; return ( Syarat & Ketentuan Penggunaan HIPMI Badung Connect Dengan menggunakan aplikasi{" "} HIPMI Badung Connect (“Aplikasi”), Anda setuju untuk mematuhi dan terikat oleh syarat dan ketentuan berikut. Jika Anda tidak setuju dengan ketentuan ini, harap jangan gunakan Aplikasi. 1. Definisi HIPMI Badung Connect adalah platform digital resmi untuk anggota Himpunan Pengusaha Muda Indonesia (HIPMI) Kabupaten Badung, yang bertujuan memfasilitasi jaringan, kolaborasi, dan pertumbuhan bisnis para pengusaha muda. 2. Larangan Konten Tidak Pantas Anda dilarang keras memposting, mengirim, membagikan, atau mengunggah konten apa pun yang mengandung: • Ujaran kebencian, diskriminasi, atau konten SARA (Suku, Agama, Ras, Antar-golongan) • Pornografi, konten seksual eksplisit, atau gambar tidak senonoh • Ancaman, pelecehan, bullying, atau perilaku melecehkan • Informasi palsu, hoaks, spam, atau konten menyesatkan • Konten ilegal, melanggar hukum, atau melanggar hak kekayaan intelektual pihak lain • Promosi narkoba, perjudian, atau aktivitas ilegal lainnya 3. Tanggung Jawab Pengguna Anda bertanggung jawab penuh atas setiap konten yang Anda unggah atau bagikan melalui fitur-fitur berikut: • Profil (bio, foto, portofolio) • Forum diskusi • Chat pribadi atau grup • Lowongan kerja, investasi, dan donasi Konten yang melanggar ketentuan ini dapat dihapus kapan saja tanpa pemberitahuan. 4. Tindakan terhadap Pelanggaran Jika kami menerima laporan atau menemukan konten yang melanggar ketentuan ini, kami akan: • Segera menghapus konten tersebut • Memberikan peringatan atau memblokir akun pengguna • Dalam kasus berat, melaporkan ke pihak berwajib sesuai hukum yang berlaku Tim kami berkomitmen untuk menanggapi laporan konten tidak pantas{" "} dalam waktu 24 jam. 5. Mekanisme Pelaporan Anda dapat melaporkan konten atau pengguna yang mencurigakan melalui: • Tombol “Laporkan” di setiap posting forum atau pesan chat • Tombol “Blokir Pengguna” di profil pengguna Setiap laporan akan ditangani secara rahasia dan segera. 6. Perubahan Ketentuan Kami berhak memperbarui Syarat & Ketentuan ini sewaktu-waktu. Versi terbaru akan dipublikasikan di halaman ini dengan tanggal revisi yang diperbarui. 7. Kontak Jika Anda memiliki pertanyaan tentang ketentuan ini, silakan hubungi kami di:{"\n"} bip.baliinteraktifperkasa@gmail.com © 2026 Bali Interaktif Perkasa. All rights reserved. {isLoading ? "Menyimpan..." : "Saya Setuju"} ); } const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: MainColor.darkblue, padding: 16, }, title: { fontSize: 20, fontWeight: "bold", textAlign: "center", marginBottom: 16, color: MainColor.white, }, scrollView: { flex: 1, marginBottom: 20, }, scrollContent: { paddingBottom: 30, }, heading: { fontSize: 16, fontWeight: "600", marginTop: 16, marginBottom: 8, color: MainColor.white, }, paragraph: { fontSize: 14, lineHeight: 22, color: MainColor.white, marginBottom: 12, }, bold: { fontWeight: "600", }, list: { marginLeft: 8, marginBottom: 12, }, listItem: { fontSize: 14, lineHeight: 22, color: MainColor.white, marginBottom: 6, }, footer: { fontSize: 12, color: MainColor.white, textAlign: "center", marginTop: 20, paddingTop: 10, borderTopWidth: 2, borderTopColor: AccentColor.blue, }, button: { backgroundColor: MainColor.yellow, paddingVertical: 14, borderRadius: 8, alignItems: "center", width: 200, alignSelf: "center", }, buttonText: { color: "#fff", fontSize: 16, fontWeight: "600", }, });