Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c772aa2d83 | |||
| 3310c152c3 | |||
| 429d6aa4d0 | |||
| 3516c5a3de | |||
| 7df1862dcc | |||
| b0b2c4fda3 | |||
| ad6f7a13c6 |
@@ -570,77 +570,147 @@ const translations = {
|
||||
kontrib_guideline_4: "Hindari plagiarisme. Karya harus orisinal.",
|
||||
kontrib_guideline_5: "Tim redaksi berhak menyunting konten untuk keperluan editorial.",
|
||||
|
||||
grp_limaem_hero_badge: "KOMUNITAS & KEPEMIMPINAN",
|
||||
grp_limaem_hero_title: "Kehidupan Mahasiswa & <span style=\"color:#f5c82f;\">Himpunan (HMIF)</span>",
|
||||
grp_limaem_hero_desc: "Membangun ekosistem kolaboratif di mana teknologi bertemu dengan kreativitas, membentuk calon pemimpin industri masa depan.",
|
||||
grp_limaem_hero_btn: "Lihat Struktur Kepengurusan",
|
||||
|
||||
grp_limaem_about_title: "Ruang Tumbuh Bagi Mahasiswa Informatika",
|
||||
grp_limaem_about_p1: "Himpunan Mahasiswa Informatika (HMIF) Universitas Tanjungpura bukan sekadar organisasi, melainkan rumah bagi para pemimpin teknologi. Kami percaya bahwa pendidikan formal adalah fondasi, namun komunitas adalah akselerator.",
|
||||
grp_limaem_about_p2: "Melalui berbagai inisiatif, kami menjembatani kesenjangan antara kurikulum akademik dan kebutuhan industri, sambil tetap menjaga semangat kekeluargaan dan integritas ilmiah.",
|
||||
grp_limaem_about_stat_students: "Mahasiswa Aktif",
|
||||
grp_limaem_about_stat_partners: "MITRA",
|
||||
grp_limaem_about_badge: "Inklusivitas & Kolaborasi",
|
||||
|
||||
grp_limaem_partners_title: "Partner dan Kolaborator",
|
||||
|
||||
grp_limaem_divisi_title: "Divisi Kepengurusan HMIF",
|
||||
grp_limaem_divisi_desc: "Struktur organisasi yang dirancang untuk efisiensi dan pengembangan kapasitas anggota di berbagai bidang strategis.",
|
||||
grp_limaem_divisi_b1_label: "Bidang 1",
|
||||
grp_limaem_divisi_b1_title: "Pengembangan Sumber Daya Mahasiswa dan Kaderisasi",
|
||||
grp_limaem_divisi_b1_desc: "Divisi ini menyelenggarakan kaderisasi terstruktur, mentoring berkala, dan pelatihan kepemimpinan serta soft-skill. Program kerja mencakup onboarding anggota baru, workshop kepemimpinan, proyek kolaboratif, dan kegiatan pengabdian yang melatih tanggung jawab sosial. Fokusnya adalah menyiapkan kader yang kompeten dan menjaga regenerasi organisasi.",
|
||||
grp_limaem_divisi_b2_label: "Bidang 2",
|
||||
grp_limaem_divisi_b2_title: "Media Komunikasi dan Konten Digital",
|
||||
grp_limaem_divisi_b2_desc: "Divisi ini mengelola strategi komunikasi dan produksi konten HMIF, termasuk perencanaan editorial, manajemen media sosial, serta dokumentasi acara. Program kerjanya meliputi pembuatan materi promosi, publikasi kegiatan, dan penguatan identitas digital agar informasi organisasi tersampaikan konsisten dan menarik.",
|
||||
grp_limaem_divisi_b3_label: "Bidang 3",
|
||||
grp_limaem_divisi_b3_title: "Inovasi dan Kompetisi Teknologi",
|
||||
grp_limaem_divisi_b3_desc: "Divisi ini memfasilitasi persiapan lomba dan pengembangan proyek teknis melalui coaching clinic, bootcamp berbasis proyek, serta study club untuk Competitive Programming, Software Development, dan Data/ML. Kegiatan termasuk seleksi internal, bimbingan kompetitif, dan inisiatif digitalisasi seperti pengembangan website dan dashboard untuk mendukung ekosistem inovasi HMIF.",
|
||||
grp_limaem_divisi_b4_label: "Bidang 4",
|
||||
grp_limaem_divisi_b4_title: "Pengembangan Organisasi",
|
||||
grp_limaem_divisi_b4_desc: "Divisi ini memperkuat tata kelola dan kapabilitas internal melalui pelatihan pengurus, penyusunan SOP sederhana, dan evaluasi proses kerja. Program kerjanya mencakup pengembangan budaya organisasi, peningkatan efektivitas koordinasi, dan kegiatan peningkatan profesionalisme sehingga operasi HMIF menjadi lebih terstruktur dan efisien.",
|
||||
grp_limaem_divisi_b5_label: "Bidang 5",
|
||||
grp_limaem_divisi_b5_title: "Sosial Masyarakat",
|
||||
grp_limaem_divisi_b5_desc: "Divisi ini merancang dan melaksanakan program pengabdian serta aksi sosial yang berdampak, termasuk pendampingan komunitas dan bantuan kemanusiaan. Kegiatan meliputi identifikasi kebutuhan lapangan, pelaksanaan terstruktur, dan evaluasi dampak untuk memastikan keberlanjutan dan manfaat nyata bagi masyarakat.",
|
||||
grp_limaem_divisi_b6_label: "Bidang 6",
|
||||
grp_limaem_divisi_b6_title: "Kewirausahaan dan Kemitraan",
|
||||
grp_limaem_divisi_b6_desc: "Divisi ini mengembangkan unit usaha organisasi, merancang skema pendanaan kreatif, dan menjalin kemitraan strategis untuk mendukung keberlanjutan program HMIF. Unit kerjanya meliputi riset peluang usaha, penyusunan proposal kemitraan, dan pengelolaan sponsor untuk meningkatkan kemandirian finansial dan akses jaringan profesional.",
|
||||
|
||||
grp_limaem_kegiatan_title: "Kegiatan Unggulan",
|
||||
grp_limaem_kegiatan_subtitle: "Kegiatan tahunan yang menjadi ikon Informatika UNTAN.",
|
||||
grp_limaem_kegiatan_c1_title: "Silaturahmi Keluarga Besar Informatika",
|
||||
grp_limaem_kegiatan_c1_desc: "Kegiatan buka bersama seluruh keluarga Informatika Untan yang selalu diadakan setiap tahunnya.",
|
||||
grp_limaem_kegiatan_c2_title: "GEMASTIK",
|
||||
grp_limaem_kegiatan_c2_desc: "Ajang kompetisi IT bergengsi tingkat nasional tahunan dari kementerian. Wadah bagi mahasiswa Informatika UNTAN untuk unjuk gigi di bidang programming, cyber security, data mining, hingga UI/UX.",
|
||||
grp_limaem_kegiatan_c3_title: "Perayaan 17 Agustus",
|
||||
grp_limaem_kegiatan_c3_desc: "Momen perayaan Hari Kemerdekaan Indonesia yang diisi dengan berbagai perlombaan menarik. Ajang seru-seruan bersama untuk mempererat rasa nasionalisme dan kekeluargaan mahasiswa Informatika.",
|
||||
grp_limaem_kegiatan_c4_title: "Bootcamp HMIF",
|
||||
grp_limaem_kegiatan_c4_desc: "Program intensif pengembangan skill teknis mahasiswa Informatika bersama mentor profesional dari industri.",
|
||||
grp_limaem_kegiatan_c5_title: "UPC",
|
||||
grp_limaem_kegiatan_c5_desc: "Kompetisi Pemograman untuk mengasah skill coding mahasiswa Informatika.",
|
||||
grp_limaem_kegiatan_c6_title: "Study Excursion",
|
||||
grp_limaem_kegiatan_c6_desc: "Study Excursion menjadi salah satu agenda pembelajaran luar kampus bagi mahasiswa semester 5 yang memberikan pengalaman baru, memperluas wawasan, serta mengenalkan suasana dan budaya yang berbeda. Kegiatan ini juga menjadi momen berharga untuk belajar secara langsung, membangun kebersamaan, dan menciptakan kenangan yang berkesan selama perjalanan akademik.",
|
||||
grp_limaem_kegiatan_c7_title: "INFORMERS",
|
||||
grp_limaem_kegiatan_c7_desc: "Perayaan ulang tahun Informatika UNTAN, momen kebersamaan dan kebanggaan seluruh keluarga besar Informatika.",
|
||||
|
||||
grp_limaem_sc_title: "STUDY CLUB",
|
||||
grp_limaem_sc_arise_title: "ARISE",
|
||||
grp_limaem_sc_arise_desc: "Belajar logika dan algoritma bersama, di mana kalian bisa berkembang dan membuka peluang mengikuti kompetisi pemrograman di berbagai level.",
|
||||
grp_limaem_sc_minerva_title: "MINERVA",
|
||||
grp_limaem_sc_minerva_desc: "Gali potensi tersembunyi dari tumpukan data! Di sini kita akan bereksplorasi dengan algoritma Machine Learning, membedah teknik klasifikasi, hingga melatih model prediktif untuk menghasilkan insight yang bermakna.",
|
||||
grp_limaem_sc_sd_title: "Software Development (Segera Hadir)",
|
||||
grp_limaem_sc_sd_desc: "Wujudkan idemu jadi produk digital yang nyata! Kita akan ngoding bareng dari merancang frontend yang interaktif, membangun backend yang tangguh, serta mengintegrasikan berbagai API untuk menciptakan aplikasi web masa kini.",
|
||||
|
||||
grp_limaem_galeri_title: "Galeri Keseruan",
|
||||
|
||||
grp_limaem_cta_title: "Ada yang Ingin Ditanyakan Seputar HMIF?",
|
||||
grp_limaem_cta_desc: "Bergabunglah dengan HMIF untuk memperluas jaringan, mengasah skill, dan menciptakan dampak nyata.",
|
||||
grp_limaem_cta_btn: "Hubungi Kami",
|
||||
grp_limaem_cta_info1_label: "Sekretariat",
|
||||
grp_limaem_cta_info1_val: "Gedung Fakultas Teknik Lt. 2, Jl. Prof. Dr. H. Hadari Nawawi",
|
||||
grp_limaem_cta_info2_label: "Jam Operasional",
|
||||
grp_limaem_cta_info2_val: "Senin - Jumat, 08:00 - 17:00 WIB",
|
||||
grp_limaem_cta_info3_label: "Media Sosial",
|
||||
grp_limaem_cta_info3_val: "@hmif.untan, YouTube: HMIF UNTAN TV",
|
||||
// grp_m4n1fest_hero_label: "PROGRAM STUDI INFORMATIKA · UNTAN PONTIANAK",
|
||||
grp_m4n1fest_hero_title_1: "Alumni",
|
||||
grp_m4n1fest_hero_title_2: "Informatika",
|
||||
grp_m4n1fest_hero_subtitle: "UNTAN Pontianak",
|
||||
grp_m4n1fest_hero_desc: "Ribuan lulusan Informatika UNTAN kini berkarya di berbagai penjuru Indonesia dan dunia. Temukan jejak mereka, inspirasi dari perjalanan mereka, dan jadilah bagian dari jaringan ini.",
|
||||
grp_m4n1fest_hero_btn_stats: "Lihat Statistik Alumni",
|
||||
grp_m4n1fest_hero_btn_join: "Gabung Grup IKA",
|
||||
grp_m4n1fest_hero_stat_alumni: "TOTAL ALUMNI",
|
||||
grp_m4n1fest_hero_stat_batch: "ANGKATAN",
|
||||
grp_m4n1fest_hero_stat_company: "PERUSAHAAN",
|
||||
grp_m4n1fest_eyebrow_achievers: "High Achievers",
|
||||
grp_m4n1fest_title_achievers: "Alumni <em>Informatika</em>",
|
||||
grp_m4n1fest_sub_achievers: "Mereka membuktikan bahwa lulusan Informatika UNTAN mampu bersaing dan berkarya di level tertinggi.",
|
||||
grp_m4n1fest_ach1_batch: "Angkatan 2005",
|
||||
grp_m4n1fest_ach1_pos: "Dosen Tetap, Univ Muhammadiyah Pontianak & Peneliti, Universidad de Granada",
|
||||
grp_m4n1fest_ach1_ach1: "M.Sc. Computer Engineering, Marmara University",
|
||||
grp_m4n1fest_ach1_ach2: "Ph.D. in Info & Comm Tech, Universidad de Granada",
|
||||
grp_m4n1fest_ach1_ach3: "Berpengalaman dalam penelitian AI lintas negara",
|
||||
grp_m4n1fest_ach2_batch: "Informatika UNTAN",
|
||||
grp_m4n1fest_ach2_pos: "Software Developer, Traxpay GmbH, Jerman",
|
||||
grp_m4n1fest_ach2_ach1: "M.Sc. Computer Science, Saarland University",
|
||||
grp_m4n1fest_ach2_ach2: "Berkarir di industri FinTech Eropa",
|
||||
grp_m4n1fest_ach2_ach3: "Pakar sistem pembayaran digital & integrasi ERP",
|
||||
grp_m4n1fest_ach3_batch: "Angkatan 2009",
|
||||
grp_m4n1fest_ach3_pos: "Product Manager, CX-Oriented Tech, Ai Tech",
|
||||
grp_m4n1fest_ach3_ach1: "AI Practitioner berfokus pada Voice AI",
|
||||
grp_m4n1fest_ach3_ach2: "Merancang produk teknologi berbasis Customer Experience",
|
||||
grp_m4n1fest_ach3_ach3: "Inovator solusi AI di berbagai platform",
|
||||
grp_m4n1fest_eyebrow_career: "Career Path",
|
||||
grp_m4n1fest_title_career: "Alumni Bekerja di <em>Mana?</em>",
|
||||
grp_m4n1fest_sub_career: "Sebaran industri tempat alumni berkarir.",
|
||||
grp_m4n1fest_career_gov: "Instansi pemerintah",
|
||||
grp_m4n1fest_career_private: "Perusahaan swasta",
|
||||
grp_m4n1fest_career_entrepreneur: "Wiraswasta/perusahaan sendiri",
|
||||
grp_m4n1fest_career_soes: "BUMN/BUMD",
|
||||
grp_m4n1fest_career_ngo: "Organisasi non-profit/LSM",
|
||||
grp_m4n1fest_career_note: "* Data diperoleh dari data Tracer Study Untan. Diperbarui terakhir Mei 2026.",
|
||||
grp_m4n1fest_career_logo_title: "Perusahaan Tempat Alumni Berkarir",
|
||||
grp_m4n1fest_logo_bca: "BCA",
|
||||
grp_m4n1fest_logo_bri: "BRI",
|
||||
grp_m4n1fest_logo_telkom: "Telkom Indonesia",
|
||||
grp_m4n1fest_logo_pln: "PLN",
|
||||
grp_m4n1fest_logo_indofood: "Indofood Fortuna",
|
||||
grp_m4n1fest_logo_astra: "Astra Daihatsu",
|
||||
grp_m4n1fest_logo_unilever: "Unilever",
|
||||
grp_m4n1fest_logo_grab: "Grab",
|
||||
grp_m4n1fest_logo_telkomsel: "Telkomsel",
|
||||
grp_m4n1fest_logo_garuda: "Garuda Indonesia",
|
||||
grp_m4n1fest_logo_bulog: "Perum BULOG",
|
||||
grp_m4n1fest_logo_others: "Lainnya",
|
||||
grp_m4n1fest_eyebrow_skill: "Skill Distribution",
|
||||
grp_m4n1fest_title_skill: "Skill yang <em>Dikuasai Alumni</em>",
|
||||
grp_m4n1fest_sub_skill: "Distribusi skill berdasarkan data form kontribusi alumni — gambaran kompetensi nyata lulusan Informatika UNTAN.",
|
||||
grp_m4n1fest_skill_not_listed: "Belum Terdata di Sini?",
|
||||
grp_m4n1fest_skill_not_listed_desc: "Bantu kami melengkapi database skill alumni Informatika UNTAN. Kontribusikan data keahlian Anda untuk memetakan potensi nyata dari lulusan di berbagai sektor industri.",
|
||||
grp_m4n1fest_skill_btn_contrib: "Isi Form Kontribusi",
|
||||
grp_m4n1fest_eyebrow_stats: "Statistik Alumni",
|
||||
grp_m4n1fest_title_stats: "Jumlah Alumni <em>berdasarkan Tahun Kelulusan</em>",
|
||||
grp_m4n1fest_sub_stats: "Data wisudawan dan lulusan berdasarkan periode semester dan tahun kelulusan.",
|
||||
grp_m4n1fest_table_head_period: "Periode",
|
||||
grp_m4n1fest_table_head_amount: "Jumlah",
|
||||
grp_m4n1fest_table_source: "Sumber : BAK UNTAN",
|
||||
grp_m4n1fest_chart_title: "Grafik Jumlah Lulusan",
|
||||
grp_m4n1fest_eyebrow_testi: "Testimoni Alumni",
|
||||
grp_m4n1fest_title_testi: "Kata Mereka tentang <em>Informatika UNTAN</em>",
|
||||
grp_m4n1fest_testi1_text: "\"Bagi calon mahasiswa Informatika Untan, saya berpesan untuk terus mengembangkan diri dan tidak cepat merasa puas. Perkuliahan adalah titik awal untuk membuka berbagai peluang yang lebih luas. Fokuslah pada bidang yang diminati, tingkatkan keahlian spesifik, perluas jejaring, serta kuasai bahasa asing sebagai nilai tambah. Dengan komitmen dan kemauan yang kuat, peluang untuk berkarir maupun melanjutkan studi di tingkat global akan semakin terbuka.\"",
|
||||
grp_m4n1fest_testi1_role: "Product Manager, Ai Practitioner · Angkatan 2009",
|
||||
grp_m4n1fest_testi2_text: "\"Fondasi yang kalian bangun di Informatika Untan itu sangat berharga. Kemampuan berpikir algoritmik dan memecahkan masalah yang diasah selama kuliah adalah bekal yang akan terus relevan di mana pun kalian berkarier. Jangan takut bermimpi besar. Jika saya — yang memulai dari Pontianak — bisa sampai di Frankfurt dan berkontribusi di industri FinTech Eropa, kalian pun bisa. Yang penting adalah terus belajar, berani mengambil kesempatan, dan jangan pernah meremehkan kualitas pendidikan yang kalian terima di Untan.\"",
|
||||
grp_m4n1fest_testi2_role: "Software Developer, Traxpay GmbH",
|
||||
grp_m4n1fest_testi3_text: "\"Fondasi yang kita peroleh dari kampus dan Himpunan merupakan wadah terbaik untuk belajar ketangguhan. Jadikanlah pengalaman tersebut sebagai sarana untuk terus terbuka terhadap perubahan. Jika kita mampu beradaptasi dengan baik, batas kemampuan kita tidak lagi ditentukan oleh geografi, melainkan seberapa jauh kita berani melangkah.\"",
|
||||
grp_m4n1fest_testi3_role: "Dosen Tetap, UMP & Peneliti, Universidad de Granada",
|
||||
grp_m4n1fest_eyebrow_events: "Kegiatan Tahunan",
|
||||
grp_m4n1fest_title_events: "Temui Kami di <em>Setiap Tahun</em>",
|
||||
grp_m4n1fest_sub_events: "HMIF Informatika UNTAN menyelenggarakan dua kegiatan tahunan besar yang selalu mengundang dan mempertemukan para alumni.",
|
||||
grp_m4n1fest_event1_title: "SKBI Ramadhan",
|
||||
grp_m4n1fest_event1_meta: "Silaturahmi Keluarga Besar Informatika",
|
||||
grp_m4n1fest_event1_desc: "SKBI Ramadhan adalah acara silaturahmi yang mempertemukan seluruh keluarga besar Informatika UNTAN — mahasiswa aktif, dosen, dan alumni dari berbagai angkatan. Kegiatan ini menjadi momen silaturahmi yang hangat di bulan Ramadhan, mempererat tali persaudaraan alumni dengan civitas akademika melalui kegiatan sosial, buka bersama, dan networking.",
|
||||
grp_m4n1fest_event1_note: "Info lengkap di Instagram HMIF",
|
||||
grp_m4n1fest_event2_title: "INFORMERS",
|
||||
grp_m4n1fest_event2_meta: "Informatic Anniversary",
|
||||
grp_m4n1fest_event2_desc: "INFORMERS adalah perayaan Hari Ulang Tahun Program Studi Informatika UNTAN. Acara besar ini mewadahi berbagai kegiatan kompetisi akademik maupun non-akademik tingkat mahasiswa, pameran inovasi IT, hiburan musik, hingga malam puncak yang mengumpulkan seluruh civitas akademika dan alumni dalam semangat dedikasi dan kebersamaan.",
|
||||
grp_m4n1fest_event2_note: "Pantau IG untuk jadwal & cara daftar",
|
||||
grp_m4n1fest_eyebrow_join: "Gabung IKA",
|
||||
grp_m4n1fest_title_join: "Bergabung dengan <em>Grup Alumni</em>",
|
||||
grp_m4n1fest_sub_join: "Daftarkan dirimu untuk bergabung ke grup WhatsApp Ikatan Keluarga Alumni (IKA) Informatika UNTAN. Terhubung dengan ratusan alumni dan dapatkan info lowongan, kegiatan, dan kolaborasi.",
|
||||
grp_m4n1fest_step1_head: "Isi Form Pendaftaran",
|
||||
grp_m4n1fest_step1_desc: "Masukkan nama, NIM, nomor HP, email, status pekerjaan, dan 3 skill utamamu.",
|
||||
grp_m4n1fest_step2_head: "Verifikasi Admin IKA",
|
||||
grp_m4n1fest_step2_desc: "Admin IKA akan memverifikasi bahwa kamu adalah alumni Informatika UNTAN dalam 1–2 hari kerja.",
|
||||
grp_m4n1fest_step3_head: "Masuk Grup WhatsApp IKA",
|
||||
grp_m4n1fest_step3_desc: "Setelah terverifikasi, kamu akan diundang ke grup WhatsApp IKA dan langsung terhubung dengan ratusan alumni!",
|
||||
grp_m4n1fest_wa_badge: "Grup IKA Informatika UNTAN",
|
||||
grp_m4n1fest_wa_title: "IKA Informatika UNTAN",
|
||||
grp_m4n1fest_wa_sub: "500+ anggota aktif",
|
||||
grp_m4n1fest_form_title: "Form Pendaftaran IKA",
|
||||
grp_m4n1fest_form_sub: "Isi data di bawah untuk bergabung ke grup WhatsApp alumni.",
|
||||
grp_m4n1fest_form_nama: "Nama Lengkap *",
|
||||
grp_m4n1fest_form_nim: "NIM",
|
||||
grp_m4n1fest_form_angkatan: "Angkatan *",
|
||||
grp_m4n1fest_form_hp: "No. HP / WhatsApp *",
|
||||
grp_m4n1fest_form_email: "Email Aktif *",
|
||||
grp_m4n1fest_form_status: "Status Saat Ini *",
|
||||
grp_m4n1fest_form_status_opt1: "— Pilih Status —",
|
||||
grp_m4n1fest_form_status_opt2: "Bekerja",
|
||||
grp_m4n1fest_form_status_opt3: "Wirausaha / Freelance",
|
||||
grp_m4n1fest_form_status_opt4: "Melanjutkan Studi",
|
||||
grp_m4n1fest_form_status_opt5: "Mencari Kerja",
|
||||
grp_m4n1fest_form_instansi: "Tempat Bekerja / Instansi <span class=\"text-xs text-slate-400 font-normal\">(opsional)</span>",
|
||||
grp_m4n1fest_form_skill_title: "3 Skill Utama yang Dikuasai *",
|
||||
grp_m4n1fest_form_skill_sub: "Pilih 3 skill yang paling kamu kuasai.",
|
||||
grp_m4n1fest_form_skill_opt1: "— Pilih —",
|
||||
grp_m4n1fest_form_persetujuan: "Persetujuan *",
|
||||
grp_m4n1fest_form_persetujuan_txt: "Saya menyetujui bahwa data yang saya masukkan adalah benar and bersedia diverifikasi oleh admin IKA Informatika UNTAN.",
|
||||
grp_m4n1fest_form_btn: "Daftar Sekarang",
|
||||
grp_m4n1fest_form_msg: "Data langsung tersimpan · Proses 1–2 hari kerja",
|
||||
grp_m4n1fest_eyebrow_faq: "FAQ",
|
||||
grp_m4n1fest_title_faq: "Pertanyaan Seputar <em>Alumni</em>",
|
||||
grp_m4n1fest_faq_q1: "Bagaimana cara bergabung dengan grup alumni IKA?",
|
||||
grp_m4n1fest_faq_a1: "Isi form pendaftaran di section \"Gabung IKA\" di atas dengan nama lengkap, angkatan, nomor WhatsApp, dan email aktifmu. Setelah diverifikasi admin dalam 1–2 hari kerja, kamu akan diundang ke grup WhatsApp IKA Informatika UNTAN.",
|
||||
grp_m4n1fest_faq_q2: "Berapa lama proses verifikasi pendaftaran IKA?",
|
||||
grp_m4n1fest_faq_a2: "Proses verifikasi biasanya memakan waktu 1–2 hari kerja. Admin IKA akan mengecek bahwa kamu adalah alumni Informatika UNTAN berdasarkan nama dan angkatan yang diisi.",
|
||||
grp_m4n1fest_faq_q3: "Apa manfaat bergabung ke grup alumni IKA?",
|
||||
grp_m4n1fest_faq_a3: "Di grup IKA kamu dapat mengakses info lowongan kerja dari sesama alumni, info kegiatan tahunan seperti SKBI Ramadhan dan INFORMERS, kolaborasi proyek, berbagi pengalaman karir, serta membangun koneksi profesional dengan ratusan alumni dari berbagai angkatan dan industri.",
|
||||
grp_m4n1fest_faq_q4: "Apakah ada info lowongan kerja atau magang di IKA?",
|
||||
grp_m4n1fest_faq_a4: "Ya! Salah satu manfaat utama grup IKA adalah alumni yang sudah bekerja sering berbagi info lowongan dari perusahaan mereka. Banyak anggota IKA yang mendapat pekerjaan pertama atau berpindah karir melalui referral dari sesama alumni di grup ini.",
|
||||
grp_m4n1fest_faq_q5: "Apakah ada program kerja sama industri dari Prodi Informatika?",
|
||||
grp_m4n1fest_faq_a5: "Prodi Informatika UNTAN memiliki program Kerja Praktik (KP) wajib yang menghubungkan mahasiswa dengan industri. Info terkini tentang kerja sama industri bisa diikuti melalui Instagram @informatika.untan.",
|
||||
grp_m4n1fest_faq_q6: "Bagaimana cara mengikuti kegiatan SKBI Ramadhan atau INFORMERS?",
|
||||
grp_m4n1fest_faq_a6: "Info pendaftaran dan kegiatan SKBI Ramadhan dapat ditemukan di Instagram @hmif_ftuntan. Untuk INFORMERS, pantau Instagram @informershmif. Sebagai anggota grup IKA, kamu juga akan mendapatkan notifikasi langsung setiap kali ada kegiatan yang melibatkan alumni.",
|
||||
grp_m4n1fest_faq_q7: "Siapa saja yang bisa mendaftar ke IKA?",
|
||||
grp_m4n1fest_faq_a7: "Seluruh alumni Program Studi Informatika Universitas Tanjungpura dari semua angkatan dapat mendaftar ke IKA. Tidak ada batasan angkatan, status pekerjaan, atau domisili. Selama kamu adalah lulusan Informatika UNTAN, kamu berhak bergabung!",
|
||||
grp_m4n1fest_eyebrow_contact: "Kontak & Sosial Media",
|
||||
grp_m4n1fest_title_contact: "Temui Kami di <em>Instagram</em>",
|
||||
grp_m4n1fest_sub_contact: "Ikuti akun Instagram resmi kami untuk informasi terbaru seputar kegiatan alumni, info lowongan, dan update Prodi Informatika UNTAN.",
|
||||
grp_m4n1fest_ig_main_label: "Instagram Resmi Prodi",
|
||||
grp_m4n1fest_ig_main_desc: "Update akademik, kegiatan, dan info alumni",
|
||||
grp_m4n1fest_ig_hmif_desc: "HMIF & SKBI Ramadhan",
|
||||
grp_m4n1fest_ig_informers_desc: "INFORMERS",
|
||||
grp_m4n1fest_cta_box_title: "Siap bergabung?",
|
||||
grp_m4n1fest_cta_box_desc: "Scroll ke atas dan isi form pendaftaran IKA sekarang. Gratis, cepat, dan langsung terhubung dengan ratusan alumni!",
|
||||
grp_m4n1fest_cta_box_btn: "Daftar IKA Sekarang",
|
||||
},
|
||||
|
||||
en: {
|
||||
@@ -1206,80 +1276,149 @@ const translations = {
|
||||
kontrib_guideline_2: "Minimum article length is 500 words.",
|
||||
kontrib_guideline_3: "Include accurate and verifiable facts and data.",
|
||||
kontrib_guideline_4: "Avoid plagiarism. Work must be original.",
|
||||
kontrib_guideline_5: "The editorial team reserves the right to edit content for editorial purposes.",
|
||||
|
||||
grp_limaem_hero_badge: "COMMUNITY & LEADERSHIP",
|
||||
grp_limaem_hero_title: "Student Life & <span style=\"color:#f5c82f;\">Student Association (HMIF)</span>",
|
||||
grp_limaem_hero_desc: "Building a collaborative ecosystem where technology meets creativity, shaping the industry leaders of tomorrow.",
|
||||
grp_limaem_hero_btn: "View Organizational Structure",
|
||||
|
||||
grp_limaem_about_title: "A Space to Grow for Informatics Students",
|
||||
grp_limaem_about_p1: "The Informatics Student Association (HMIF) of Tanjungpura University is more than just an organization — it is a home for technology leaders. We believe that formal education is the foundation, but community is the accelerator.",
|
||||
grp_limaem_about_p2: "Through various initiatives, we bridge the gap between academic curriculum and industry needs, while maintaining the spirit of kinship and academic integrity.",
|
||||
grp_limaem_about_stat_students: "Active Students",
|
||||
grp_limaem_about_stat_partners: "PARTNERS",
|
||||
grp_limaem_about_badge: "Inclusivity & Collaboration",
|
||||
|
||||
grp_limaem_partners_title: "Partners and Collaborators",
|
||||
|
||||
grp_limaem_divisi_title: "HMIF Organizational Divisions",
|
||||
grp_limaem_divisi_desc: "An organizational structure designed for efficiency and capacity building across various strategic fields.",
|
||||
grp_limaem_divisi_b1_label: "Division 1",
|
||||
grp_limaem_divisi_b1_title: "Student Development and Cadre Regeneration",
|
||||
grp_limaem_divisi_b1_desc: "This division organizes structured cadre programs, regular mentoring, and leadership and soft-skill training. Its activities include new member onboarding, leadership workshops, collaborative projects, and community service that fosters social responsibility. The focus is on preparing competent cadres and sustaining organizational regeneration.",
|
||||
grp_limaem_divisi_b2_label: "Division 2",
|
||||
grp_limaem_divisi_b2_title: "Communication Media and Digital Content",
|
||||
grp_limaem_divisi_b2_desc: "This division manages HMIF's communication strategy and content production, including editorial planning, social media management, and event documentation. Its work programs include creating promotional materials, publishing activities, and strengthening digital identity to deliver consistent and engaging organizational information.",
|
||||
grp_limaem_divisi_b3_label: "Division 3",
|
||||
grp_limaem_divisi_b3_title: "Innovation and Technology Competition",
|
||||
grp_limaem_divisi_b3_desc: "This division facilitates competition preparation and technical project development through coaching clinics, project-based bootcamps, and study clubs for Competitive Programming, Software Development, and Data/ML. Activities include internal selection, competitive coaching, and digitalization initiatives such as website and dashboard development to support HMIF's innovation ecosystem.",
|
||||
grp_limaem_divisi_b4_label: "Division 4",
|
||||
grp_limaem_divisi_b4_title: "Organizational Development",
|
||||
grp_limaem_divisi_b4_desc: "This division strengthens internal governance and capabilities through board training, simple SOP drafting, and work process evaluation. Its programs include organizational culture development, improved coordination effectiveness, and professionalism initiatives, making HMIF operations more structured and efficient.",
|
||||
grp_limaem_divisi_b5_label: "Division 5",
|
||||
grp_limaem_divisi_b5_title: "Community Engagement",
|
||||
grp_limaem_divisi_b5_desc: "This division designs and implements impactful community service programs and social actions, including community assistance and humanitarian aid. Activities cover field needs assessment, structured implementation, and impact evaluation to ensure sustainability and tangible benefits for the community.",
|
||||
grp_limaem_divisi_b6_label: "Division 6",
|
||||
grp_limaem_divisi_b6_title: "Entrepreneurship and Partnerships",
|
||||
grp_limaem_divisi_b6_desc: "This division develops organizational business units, designs creative funding schemes, and establishes strategic partnerships to support the sustainability of HMIF programs. Its work units include business opportunity research, partnership proposal development, and sponsorship management to enhance financial independence and professional networking access.",
|
||||
|
||||
grp_limaem_kegiatan_title: "Flagship Events",
|
||||
grp_limaem_kegiatan_subtitle: "Annual events that have become icons of Informatics UNTAN.",
|
||||
grp_limaem_kegiatan_c1_title: "Informatics Family Gathering",
|
||||
grp_limaem_kegiatan_c1_desc: "An annual iftar gathering held with the entire Informatics UNTAN family, a tradition maintained every year.",
|
||||
grp_limaem_kegiatan_c2_title: "GEMASTIK",
|
||||
grp_limaem_kegiatan_c2_desc: "A prestigious national-level IT competition held annually by the Ministry. A platform for Informatics UNTAN students to showcase their skills in programming, cyber security, data mining, and UI/UX.",
|
||||
grp_limaem_kegiatan_c3_title: "Independence Day Celebration",
|
||||
grp_limaem_kegiatan_c3_desc: "A celebration of Indonesian Independence Day filled with exciting competitions. A fun event to strengthen nationalism and the sense of kinship among Informatics students.",
|
||||
grp_limaem_kegiatan_c4_title: "HMIF Bootcamp",
|
||||
grp_limaem_kegiatan_c4_desc: "An intensive technical skill development program for Informatics students, guided by professional mentors from the industry.",
|
||||
grp_limaem_kegiatan_c5_title: "UPC",
|
||||
grp_limaem_kegiatan_c5_desc: "A Programming Competition to sharpen the coding skills of Informatics students.",
|
||||
grp_limaem_kegiatan_c6_title: "Study Excursion",
|
||||
grp_limaem_kegiatan_c6_desc: "Study Excursion is one of the off-campus learning agendas for 5th semester students, providing new experiences, broadening horizons, and introducing different atmospheres and cultures. This activity is also a precious moment for hands-on learning, building camaraderie, and creating lasting memories during the academic journey.",
|
||||
grp_limaem_kegiatan_c7_title: "INFORMERS",
|
||||
grp_limaem_kegiatan_c7_desc: "The anniversary celebration of Informatics UNTAN, a moment of togetherness and pride for the entire Informatics family.",
|
||||
|
||||
grp_limaem_sc_title: "STUDY CLUBS",
|
||||
grp_limaem_sc_arise_title: "ARISE",
|
||||
grp_limaem_sc_arise_desc: "Learn logic and algorithms together, where you can grow and open opportunities to participate in programming competitions at various levels.",
|
||||
grp_limaem_sc_minerva_title: "MINERVA",
|
||||
grp_limaem_sc_minerva_desc: "Uncover hidden potential from mountains of data! Here we explore Machine Learning algorithms, dissect classification techniques, and train predictive models to generate meaningful insights.",
|
||||
grp_limaem_sc_sd_title: "Software Development (Coming Soon)",
|
||||
grp_limaem_sc_sd_desc: "Turn your ideas into real digital products! We will code together — from designing interactive frontends and building robust backends, to integrating various APIs to create modern web applications.",
|
||||
|
||||
grp_limaem_galeri_title: "Fun Gallery",
|
||||
|
||||
grp_limaem_cta_title: "Have Questions About HMIF?",
|
||||
grp_limaem_cta_desc: "Join HMIF to expand your network, sharpen your skills, and create real impact.",
|
||||
grp_limaem_cta_btn: "Contact Us",
|
||||
grp_limaem_cta_info1_label: "Secretariat",
|
||||
grp_limaem_cta_info1_val: "Engineering Faculty Building, 2nd Floor, Jl. Prof. Dr. H. Hadari Nawawi",
|
||||
grp_limaem_cta_info2_label: "Office Hours",
|
||||
grp_limaem_cta_info2_val: "Monday - Friday, 08:00 - 17:00 WIB",
|
||||
grp_limaem_cta_info3_label: "Social Media",
|
||||
grp_limaem_cta_info3_val: "@hmif.untan, YouTube: HMIF UNTAN TV",
|
||||
}
|
||||
kontrib_guideline_5: "The editorial team reserves the right",
|
||||
grp_m4n1fest_hero_label: "INFORMATICS STUDY PROGRAM · UNTAN PONTIANAK",
|
||||
grp_m4n1fest_hero_title_1: "Informatics",
|
||||
grp_m4n1fest_hero_title_2: "Alumni",
|
||||
grp_m4n1fest_hero_subtitle: "UNTAN Pontianak",
|
||||
grp_m4n1fest_hero_desc: "Thousands of Informatics UNTAN graduates are now working across Indonesia and the world. Discover their footprints, find inspiration from their journeys, and be part of this network.",
|
||||
grp_m4n1fest_hero_btn_stats: "View Alumni Statistics",
|
||||
grp_m4n1fest_hero_btn_join: "Join Alumni Group",
|
||||
grp_m4n1fest_hero_stat_alumni: "TOTAL ALUMNI",
|
||||
grp_m4n1fest_hero_stat_batch: "CLASSES",
|
||||
grp_m4n1fest_hero_stat_company: "COMPANIES",
|
||||
grp_m4n1fest_eyebrow_achievers: "High Achievers",
|
||||
grp_m4n1fest_title_achievers: "Informatics <em>Alumni</em>",
|
||||
grp_m4n1fest_sub_achievers: "They prove that Informatics UNTAN graduates are capable of competing and working at the highest level.",
|
||||
grp_m4n1fest_ach1_batch: "Class of 2005",
|
||||
grp_m4n1fest_ach1_pos: "Full-time Lecturer, Univ Muhammadiyah Pontianak & Researcher, Universidad de Granada",
|
||||
grp_m4n1fest_ach1_ach1: "M.Sc. Computer Engineering, Marmara University",
|
||||
grp_m4n1fest_ach1_ach2: "Ph.D. in Info & Comm Tech, Universidad de Granada",
|
||||
grp_m4n1fest_ach1_ach3: "Experienced in cross-country AI research",
|
||||
grp_m4n1fest_ach2_batch: "Informatics UNTAN",
|
||||
grp_m4n1fest_ach2_pos: "Software Developer, Traxpay GmbH, Germany",
|
||||
grp_m4n1fest_ach2_ach1: "M.Sc. Computer Science, Saarland University",
|
||||
grp_m4n1fest_ach2_ach2: "Working in the European FinTech industry",
|
||||
grp_m4n1fest_ach2_ach3: "Expert in digital payment systems & ERP integration",
|
||||
grp_m4n1fest_ach3_batch: "Class of 2009",
|
||||
grp_m4n1fest_ach3_pos: "Product Manager, CX-Oriented Tech, Ai Tech",
|
||||
grp_m4n1fest_ach3_ach1: "AI Practitioner focusing on Voice AI",
|
||||
grp_m4n1fest_ach3_ach2: "Designing technology products based on Customer Experience",
|
||||
grp_m4n1fest_ach3_ach3: "AI solutions innovator across various platforms",
|
||||
grp_m4n1fest_eyebrow_career: "Career Path",
|
||||
grp_m4n1fest_title_career: "Where Do Alumni <em>Work?</em>",
|
||||
grp_m4n1fest_sub_career: "Distribution of industries where alumni pursue their careers.",
|
||||
grp_m4n1fest_career_gov: "Government agencies",
|
||||
grp_m4n1fest_career_private: "Private companies",
|
||||
grp_m4n1fest_career_entrepreneur: "Entrepreneurs/own companies",
|
||||
grp_m4n1fest_career_soes: "State-Owned Enterprises (BUMN/BUMD)",
|
||||
grp_m4n1fest_career_ngo: "Non-profit organizations/NGOs",
|
||||
grp_m4n1fest_career_note: "* Data obtained from Untan Tracer Study. Last updated May 2026.",
|
||||
grp_m4n1fest_career_logo_title: "Companies Where Alumni Pursue Careers",
|
||||
grp_m4n1fest_logo_bca: "BCA",
|
||||
grp_m4n1fest_logo_bri: "BRI",
|
||||
grp_m4n1fest_logo_telkom: "Telkom Indonesia",
|
||||
grp_m4n1fest_logo_pln: "PLN",
|
||||
grp_m4n1fest_logo_indofood: "Indofood Fortuna",
|
||||
grp_m4n1fest_logo_astra: "Astra Daihatsu",
|
||||
grp_m4n1fest_logo_unilever: "Unilever",
|
||||
grp_m4n1fest_logo_grab: "Grab",
|
||||
grp_m4n1fest_logo_telkomsel: "Telkomsel",
|
||||
grp_m4n1fest_logo_garuda: "Garuda Indonesia",
|
||||
grp_m4n1fest_logo_bulog: "Perum BULOG",
|
||||
grp_m4n1fest_logo_others: "Others",
|
||||
grp_m4n1fest_eyebrow_skill: "Skill Distribution",
|
||||
grp_m4n1fest_title_skill: "Skills <em>Mastered by Alumni</em>",
|
||||
grp_m4n1fest_sub_skill: "Skill distribution based on alumni contribution form data — a clear picture of real competencies of Informatics UNTAN graduates.",
|
||||
grp_m4n1fest_skill_not_listed: "Not Listed Here Yet?",
|
||||
grp_m4n1fest_skill_not_listed_desc: "Help us complete the skill database of Informatics UNTAN alumni. Contribute your expertise data to map the true potential of graduates across various industrial sectors.",
|
||||
grp_m4n1fest_skill_btn_contrib: "Fill Out Contribution Form",
|
||||
grp_m4n1fest_eyebrow_stats: "Alumni Statistics",
|
||||
grp_m4n1fest_title_stats: "Number of Alumni <em>by Graduation Year</em>",
|
||||
grp_m4n1fest_sub_stats: "Data on graduates by semester period and graduation year.",
|
||||
grp_m4n1fest_table_head_period: "Period",
|
||||
grp_m4n1fest_table_head_amount: "Amount",
|
||||
grp_m4n1fest_table_source: "Source: BAK UNTAN",
|
||||
grp_m4n1fest_chart_title: "Graduation Chart",
|
||||
grp_m4n1fest_eyebrow_testi: "Alumni Testimonials",
|
||||
grp_m4n1fest_title_testi: "What They Say About <em>Informatics UNTAN</em>",
|
||||
grp_m4n1fest_testi1_text: "\"For prospective Informatics Untan students, my advice is to keep developing yourself and not be easily satisfied. College is the starting point to open up wider opportunities. Focus on your areas of interest, improve specific skills, expand your network, and master foreign languages as an added value. With commitment and strong will, opportunities for career or further study at the global level will be wide open.\"",
|
||||
grp_m4n1fest_testi1_role: "Product Manager, Ai Practitioner · Class of 2009",
|
||||
grp_m4n1fest_testi2_text: "\"The foundation you build at Informatics Untan is very valuable. The ability to think algorithmically and solve problems sharpened during college is a provision that will continue to be relevant wherever you pursue a career. Don't be afraid to dream big. If I — who started in Pontianak — could reach Frankfurt and contribute to the European FinTech industry, you can too. The important thing is to keep learning, dare to take opportunities, and never underestimate the quality of education you receive at Untan.\"",
|
||||
grp_m4n1fest_testi2_role: "Software Developer, Traxpay GmbH",
|
||||
grp_m4n1fest_testi3_text: "\"The foundation we obtain from the campus and Student Association is the best place to learn resilience. Make that experience a means to stay open to changes. If we are able to adapt well, our limits are no longer determined by geography, but how far we dare to step.\"",
|
||||
grp_m4n1fest_testi3_role: "Full-time Lecturer, UMP & Researcher, Universidad de Granada",
|
||||
grp_m4n1fest_eyebrow_events: "Annual Events",
|
||||
grp_m4n1fest_title_events: "Meet Us <em>Every Year</em>",
|
||||
grp_m4n1fest_sub_events: "HMIF Informatics UNTAN organizes two major annual events that always invite and gather alumni.",
|
||||
grp_m4n1fest_event1_title: "SKBI Ramadhan",
|
||||
grp_m4n1fest_event1_meta: "Informatics Family Gathering",
|
||||
grp_m4n1fest_event1_desc: "SKBI Ramadhan is a gathering event that brings together the entire big family of Informatics UNTAN — active students, lecturers, and alumni from various batches. This activity serves as a warm gathering moment in the month of Ramadhan, strengthening the bonds of alumni with the academic community through social activities, breaking fast together, and networking.",
|
||||
grp_m4n1fest_event1_note: "Full info on HMIF Instagram",
|
||||
grp_m4n1fest_event2_title: "INFORMERS",
|
||||
grp_m4n1fest_event2_meta: "Informatics Anniversary",
|
||||
grp_m4n1fest_event2_desc: "INFORMERS is the celebration of the Anniversary of the Informatics Study Program at UNTAN. This big event hosts various student-level academic and non-academic competition activities, IT innovation exhibitions, music entertainment, to a peak night that gathers all academics and alumni in the spirit of dedication and togetherness.",
|
||||
grp_m4n1fest_event2_note: "Monitor IG for schedule & registration",
|
||||
grp_m4n1fest_eyebrow_join: "Join IKA",
|
||||
grp_m4n1fest_title_join: "Join the <em>Alumni Group</em>",
|
||||
grp_m4n1fest_sub_join: "Register yourself to join the WhatsApp group of the Informatics UNTAN Alumni Association (IKA). Connect with hundreds of alumni and get job vacancy updates, activities, and collaboration opportunities.",
|
||||
grp_m4n1fest_step1_head: "Fill Out Registration Form",
|
||||
grp_m4n1fest_step1_desc: "Enter your name, student ID (NIM), phone number, email, work status, and 3 primary skills.",
|
||||
grp_m4n1fest_step2_head: "IKA Admin Verification",
|
||||
grp_m4n1fest_step2_desc: "IKA Admin will verify that you are an alumnus of Informatics UNTAN within 1–2 business days.",
|
||||
grp_m4n1fest_step3_head: "Enter IKA WhatsApp Group",
|
||||
grp_m4n1fest_step3_desc: "Once verified, you will be invited to the IKA WhatsApp group and instantly connect with hundreds of alumni!",
|
||||
grp_m4n1fest_wa_badge: "Informatics UNTAN IKA Group",
|
||||
grp_m4n1fest_wa_title: "Informatics UNTAN IKA",
|
||||
grp_m4n1fest_wa_sub: "500+ active members",
|
||||
grp_m4n1fest_form_title: "IKA Registration Form",
|
||||
grp_m4n1fest_form_sub: "Fill out the data below to join the alumni WhatsApp group.",
|
||||
grp_m4n1fest_form_nama: "Full Name *",
|
||||
grp_m4n1fest_form_nim: "Student ID (NIM)",
|
||||
grp_m4n1fest_form_angkatan: "Class of *",
|
||||
grp_m4n1fest_form_hp: "Phone / WhatsApp No. *",
|
||||
grp_m4n1fest_form_email: "Active Email *",
|
||||
grp_m4n1fest_form_status: "Current Status *",
|
||||
grp_m4n1fest_form_status_opt1: "— Select Status —",
|
||||
grp_m4n1fest_form_status_opt2: "Working",
|
||||
grp_m4n1fest_form_status_opt3: "Entrepreneur / Freelance",
|
||||
grp_m4n1fest_form_status_opt4: "Continuing Studies",
|
||||
grp_m4n1fest_form_status_opt5: "Looking for a Job",
|
||||
grp_m4n1fest_form_instansi: "Workplace / Institution <span class=\"text-xs text-slate-400 font-normal\">(optional)</span>",
|
||||
grp_m4n1fest_form_skill_title: "3 Primary Skills Mastered *",
|
||||
grp_m4n1fest_form_skill_sub: "Select 3 skills you are most proficient in.",
|
||||
grp_m4n1fest_form_skill_opt1: "— Select —",
|
||||
grp_m4n1fest_form_persetujuan: "Consent *",
|
||||
grp_m4n1fest_form_persetujuan_txt: "I agree that the data I entered is true and willing to be verified by the Informatics UNTAN IKA admin.",
|
||||
grp_m4n1fest_form_btn: "Register Now",
|
||||
grp_m4n1fest_form_msg: "Data saved instantly · Processing 1-2 business days",
|
||||
grp_m4n1fest_eyebrow_faq: "FAQ",
|
||||
grp_m4n1fest_title_faq: "Questions About <em>Alumni</em>",
|
||||
grp_m4n1fest_faq_q1: "How do I join the IKA alumni group?",
|
||||
grp_m4n1fest_faq_a1: "Fill out the registration form in the \"Join IKA\" section above with your full name, class year, WhatsApp number, and active email. Once verified by the admin within 1-2 business days, you will be invited to the Informatics UNTAN IKA WhatsApp group.",
|
||||
grp_m4n1fest_faq_q2: "How long is the IKA registration verification process?",
|
||||
grp_m4n1fest_faq_a2: "The verification process usually takes 1-2 business days. The IKA admin will verify that you are indeed an alumnus of Informatics UNTAN based on the name and class year filled out.",
|
||||
grp_m4n1fest_faq_q3: "What are the benefits of joining the IKA alumni group?",
|
||||
grp_m4n1fest_faq_a3: "In the IKA group, you can access job vacancy updates from fellow alumni, info on annual activities like SKBI Ramadhan and INFORMERS, project collaborations, sharing career experiences, and building professional connections with hundreds of alumni from various classes and industries.",
|
||||
grp_m4n1fest_faq_q4: "Are there job vacancy or internship updates in IKA?",
|
||||
grp_m4n1fest_faq_a4: "Yes! One of the main benefits of the IKA group is that alumni who are already working often share vacancy updates from their companies. Many IKA members get their first jobs or change careers through referrals from fellow alumni in this group.",
|
||||
grp_m4n1fest_faq_q5: "Is there an industry collaboration program from the Informatics Program?",
|
||||
grp_m4n1fest_faq_a5: "The Informatics UNTAN Study Program has a mandatory Internship (KP) program that connects students with the industry. Latest info on industry collaborations can be followed through Instagram @informatika.untan.",
|
||||
grp_m4n1fest_faq_q6: "How do I participate in SKBI Ramadhan or INFORMERS activities?",
|
||||
grp_m4n1fest_faq_a6: "Registration and event info for SKBI Ramadhan can be found on Instagram @hmif_ftuntan. For INFORMERS, monitor Instagram @informershmif. As an IKA group member, you will also receive direct notifications whenever there are activities involving alumni.",
|
||||
grp_m4n1fest_faq_q7: "Who can register for IKA?",
|
||||
grp_m4n1fest_faq_a7: "All alumni of the Informatics Study Program of Universitas Tanjungpura from all classes can register for IKA. There are no restrictions on class year, employment status, or domicile. As long as you are an Informatics UNTAN graduate, you are eligible to join!",
|
||||
grp_m4n1fest_eyebrow_contact: "Contact & Social Media",
|
||||
grp_m4n1fest_title_contact: "Find Us on <em>Instagram</em>",
|
||||
grp_m4n1fest_sub_contact: "Follow our official Instagram accounts for the latest information on alumni activities, job vacancy updates, and Informatics UNTAN Study Program updates.",
|
||||
grp_m4n1fest_ig_main_label: "Prodi Official Instagram",
|
||||
grp_m4n1fest_ig_main_desc: "Academic updates, activities, and alumni info",
|
||||
grp_m4n1fest_ig_hmif_desc: "HMIF & SKBI Ramadhan",
|
||||
grp_m4n1fest_ig_informers_desc: "INFORMERS",
|
||||
grp_m4n1fest_cta_box_title: "Ready to join?",
|
||||
grp_m4n1fest_cta_box_desc: "Scroll up and fill out the IKA registration form now. Free, fast, and instantly connect with hundreds of alumni!",
|
||||
grp_m4n1fest_cta_box_btn: "Register for IKA Now",
|
||||
},
|
||||
};
|
||||
|
||||
// ─── State ────────────────────────────────────────────────────────────────────
|
||||
@@ -1369,9 +1508,15 @@ function updateToggleBtn() {
|
||||
|
||||
// ─── Init ─────────────────────────────────────────────────────────────────────
|
||||
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
function initLocalization() {
|
||||
document.querySelectorAll('.language-toggle-btn').forEach(btn => {
|
||||
btn.addEventListener('click', toggleLanguage);
|
||||
});
|
||||
applyLang();
|
||||
});
|
||||
}
|
||||
|
||||
if (document.readyState === 'loading') {
|
||||
document.addEventListener('DOMContentLoaded', initLocalization);
|
||||
} else {
|
||||
initLocalization();
|
||||
}
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
const fs = require('fs');
|
||||
let c = fs.readFileSync('groups/LimaEm/index.html', 'utf8');
|
||||
|
||||
const oldHeroGrad = '<div class=\"absolute inset-0 bg-gradient-to-r from-hmif-primary via-hmif-primary/80 to-transparent z-0\"></div>';
|
||||
const newHeroGrad = '<div class=\"absolute inset-0 z-0\" style=\"background: linear-gradient(to right, #003150 0%, rgba(0, 49, 80, 0.8) 50%, transparent 100%);\"></div>';
|
||||
c = c.replace(oldHeroGrad, newHeroGrad);
|
||||
|
||||
const oldPhotoStr = \<!-- --- Right: Photo --- -->
|
||||
<div class="order-2 relative mt-8 lg:mt-0 lg:pl-4">
|
||||
|
||||
<!-- Offset shadow block biru tua, posisi % (ikut skala zoom) -->
|
||||
<div class="absolute top-[4%] left-[8%] right-[-4%] bottom-[-4%]
|
||||
bg-hmif-primary rounded-2xl lg:rounded-3xl z-0 shadow-2xl"></div>
|
||||
|
||||
<!-- Frame foto — overflow hidden, foto full width tanpa crop -->
|
||||
<div
|
||||
class="relative rounded-2xl lg:rounded-3xl overflow-hidden shadow-2xl z-10 group cursor-default">
|
||||
<img src="./assets/images/ruang-tumbuh/ruangtumbuh_foto.jpeg"
|
||||
alt="Ruang Tumbuh HMIF Universitas Tanjungpura" class="w-full h-auto block
|
||||
transition-transform duration-700 ease-out group-hover:scale-[1.03]" />
|
||||
<!-- Gradient overlay bawah -->
|
||||
<div class="absolute inset-0
|
||||
bg-gradient-to-t from-hmif-primary/45 via-transparent to-transparent
|
||||
opacity-70 group-hover:opacity-45 transition-opacity duration-500"></div>
|
||||
</div>
|
||||
|
||||
<!-- Badge Inklusivitas & Kolaborasi pojok kiri bawah -->
|
||||
<div class="absolute z-20 bottom-[-3%] left-[0%]
|
||||
bg-hmif-secondary text-hmif-primary
|
||||
rounded-xl px-4 py-3 text-center shadow-2xl
|
||||
border-2 border-white/20" style="min-width: 120px; max-width: 140px;">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2.5"
|
||||
stroke="currentColor" class="w-6 h-6 mx-auto mb-1" aria-hidden="true">
|
||||
<path stroke-linecap="round" stroke-linejoin="round"
|
||||
d="M18 18.72a9.094 9.094 0 0 0 3.741-.479 3 3 0 0 0-4.682-2.72m.94 3.198.001.031c0 .225-.012.447-.037.666A11.944 11.944 0 0 1 12 21c-2.17 0-4.207-.576-5.963-1.584A6.062 6.062 0 0 1 6 18.719m12 0a5.971 5.971 0 0 0-.941-3.197m0 0A5.995 5.995 0 0 0 12 12.75a5.995 5.995 0 0 0-5.058 2.772m0 0a3 3 0 0 0-4.681 2.72 8.986 8.986 0 0 0 3.74.477m.94-3.197a5.971 5.971 0 0 0-.94 3.197m6.22-7.496a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm6-3a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0Zm-12 0a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0Z" />
|
||||
</svg>
|
||||
<p class="text-[11px] lg:text-xs font-bold leading-snug">
|
||||
Inklusivitas &<br>Kolaborasi
|
||||
</p>
|
||||
</div>
|
||||
</div>\;
|
||||
const newPhotoStr = \<!-- --- Right: Photo --- -->
|
||||
<div class="order-2 relative mt-8 lg:mt-0 flex justify-center lg:justify-end">
|
||||
<!-- Offset shadow block biru tua -->
|
||||
<div class="absolute inset-0 bg-hmif-primary translate-x-4 translate-y-4 rounded-2xl lg:rounded-3xl z-0 shadow-2xl" style="background-color: #003150;"></div>
|
||||
|
||||
<!-- Frame foto -->
|
||||
<div class="relative w-full rounded-2xl lg:rounded-3xl overflow-hidden shadow-2xl z-10 group cursor-default bg-gray-200" style="aspect-ratio: 4/5;">
|
||||
<img src="./assets/images/ruang-tumbuh/ruangtumbuh_foto.jpeg"
|
||||
alt="Ruang Tumbuh HMIF Universitas Tanjungpura"
|
||||
class="w-full h-full object-cover transition-transform duration-700 ease-out group-hover:scale-105" />
|
||||
<!-- Gradient overlay bawah -->
|
||||
<div class="absolute inset-0 transition-opacity duration-500 opacity-70 group-hover:opacity-45" style="background: linear-gradient(to top, rgba(0, 49, 80, 0.45), transparent, transparent);"></div>
|
||||
</div>
|
||||
|
||||
<!-- Badge Inklusivitas & Kolaborasi pojok kiri bawah -->
|
||||
<div class="absolute z-20 bottom-0 left-0 -translate-x-2 translate-y-4 lg:-translate-x-6 lg:translate-y-6
|
||||
bg-hmif-secondary text-hmif-primary
|
||||
rounded-xl px-4 py-3 text-center shadow-2xl
|
||||
border-2 border-white/20" style="min-width: 120px; max-width: 140px; background-color: #feb401; color: #003150;">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2.5"
|
||||
stroke="currentColor" class="w-6 h-6 mx-auto mb-1" aria-hidden="true">
|
||||
<path stroke-linecap="round" stroke-linejoin="round"
|
||||
d="M18 18.72a9.094 9.094 0 0 0 3.741-.479 3 3 0 0 0-4.682-2.72m.94 3.198.001.031c0 .225-.012.447-.037.666A11.944 11.944 0 0 1 12 21c-2.17 0-4.207-.576-5.963-1.584A6.062 6.062 0 0 1 6 18.719m12 0a5.971 5.971 0 0 0-.941-3.197m0 0A5.995 5.995 0 0 0 12 12.75a5.995 5.995 0 0 0-5.058 2.772m0 0a3 3 0 0 0-4.681 2.72 8.986 8.986 0 0 0 3.74.477m.94-3.197a5.971 5.971 0 0 0-.94 3.197m6.22-7.496a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm6-3a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0Zm-12 0a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0Z" />
|
||||
</svg>
|
||||
<p class="text-[11px] lg:text-xs font-bold leading-snug">
|
||||
Inklusivitas &<br>Kolaborasi
|
||||
</p>
|
||||
</div>
|
||||
</div>\;
|
||||
c = c.replace(oldPhotoStr, newPhotoStr);
|
||||
fs.writeFileSync('groups/LimaEm/index.html', c);
|
||||
console.log('HTML layout fixed');
|
||||
|
Before Width: | Height: | Size: 934 KiB |
|
Before Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 753 KiB |
|
Before Width: | Height: | Size: 992 KiB |
|
Before Width: | Height: | Size: 669 KiB |
|
Before Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 924 KiB |
|
Before Width: | Height: | Size: 788 KiB |
|
Before Width: | Height: | Size: 1.0 MiB |
|
Before Width: | Height: | Size: 455 KiB |
|
Before Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 889 KiB |
|
Before Width: | Height: | Size: 835 KiB |
|
Before Width: | Height: | Size: 853 KiB |
|
Before Width: | Height: | Size: 122 KiB |
|
Before Width: | Height: | Size: 2.1 MiB |
|
Before Width: | Height: | Size: 1.6 MiB |
|
Before Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 737 KiB |
|
Before Width: | Height: | Size: 490 KiB |
|
Before Width: | Height: | Size: 704 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 70 KiB |
@@ -1,565 +0,0 @@
|
||||
// =============================================================================
|
||||
// main.js — Logika Interaksi Halaman HMIF
|
||||
//
|
||||
// Struktur:
|
||||
// 1. Mobile Menu — Toggle menu navigasi mobile
|
||||
// 2. Language Toggle — Terjemahan halaman ID/EN
|
||||
// 3. Galeri Keseruan — Slider bento grid foto keseruan
|
||||
// 4. Kegiatan Unggulan — Slider kartu kegiatan tahunan
|
||||
// =============================================================================
|
||||
|
||||
|
||||
// =============================================================================
|
||||
// 1. MOBILE MENU
|
||||
// Toggle visibilitas menu navigasi pada tampilan mobile.
|
||||
// =============================================================================
|
||||
|
||||
(function () {
|
||||
var mobileMenuButton = document.getElementById('mobile-menu-button');
|
||||
var mobileMenu = document.getElementById('mobile-menu');
|
||||
|
||||
if (!mobileMenuButton || !mobileMenu) return;
|
||||
|
||||
mobileMenuButton.addEventListener('click', function () {
|
||||
var isHidden = mobileMenu.classList.contains('hidden');
|
||||
mobileMenu.classList.toggle('hidden', !isHidden);
|
||||
mobileMenuButton.setAttribute('aria-expanded', String(isHidden));
|
||||
});
|
||||
})();
|
||||
|
||||
|
||||
// =============================================================================
|
||||
// 2. LANGUAGE TOGGLE
|
||||
// Terjemahan konten halaman antara Bahasa Indonesia dan Bahasa Inggris.
|
||||
// Preferensi bahasa disimpan di localStorage agar persisten antar sesi.
|
||||
// =============================================================================
|
||||
|
||||
(function () {
|
||||
var languageToggles = document.querySelectorAll('[data-language-toggle]');
|
||||
|
||||
if (!languageToggles.length) return;
|
||||
|
||||
var translationMap = {
|
||||
'Kehidupan Mahasiswa & Himpunan (HMIF)': {
|
||||
id: 'Kehidupan Mahasiswa & <span class="text-hmif-secondary" style="color:var(--color-hmif-secondary)">Himpunan (HMIF)</span>',
|
||||
en: 'Student Life & <span class="text-hmif-secondary" style="color:var(--color-hmif-secondary)">Association (HMIF)</span>'
|
||||
},
|
||||
'ABOUT US': { id: 'TENTANG KAMI', en: 'ABOUT US' },
|
||||
'PROGRAMS': { id: 'PROGRAM', en: 'PROGRAMS' },
|
||||
'HUMAN RESOURCES': { id: 'SUMBER DAYA MANUSIA', en: 'HUMAN RESOURCES' },
|
||||
'FACILITIES': { id: 'FASILITAS', en: 'FACILITIES' },
|
||||
'WORKS & EVENTS': { id: 'KARYA & KEGIATAN', en: 'WORKS & EVENTS' },
|
||||
'CONTACT': { id: 'KONTAK', en: 'CONTACT' },
|
||||
'COMMUNITY & LEADERSHIP': { id: 'KOMUNITAS & KEPEMIMPINAN', en: 'COMMUNITY & LEADERSHIP' },
|
||||
'Membangun ekosistem kolaboratif di mana teknologi bertemu dengan kreativitas, membentuk calon pemimpin industri masa depan.': {
|
||||
id: 'Membangun ekosistem kolaboratif di mana teknologi bertemu dengan kreativitas, membentuk calon pemimpin industri masa depan.',
|
||||
en: 'Building a collaborative ecosystem where technology meets creativity, shaping future industry leaders.'
|
||||
},
|
||||
'Lihat Struktur Kepengurusan': { id: 'Lihat Struktur Kepengurusan', en: 'View Organization Structure' },
|
||||
'Ruang Tumbuh Bagi Mahasiswa Informatika': {
|
||||
id: 'Ruang Tumbuh Bagi<br class="hidden sm:block"> Mahasiswa Informatika',
|
||||
en: 'A Growth Space For<br class="hidden sm:block"> Informatics Students'
|
||||
},
|
||||
'Himpunan Mahasiswa Informatika (HMIF) Universitas Tanjungpura bukan sekadar organisasi, melainkan rumah bagi para pemimpin teknologi. Kami percaya bahwa pendidikan formal adalah fondasi, namun komunitas adalah akselerator.': {
|
||||
id: 'Himpunan Mahasiswa Informatika (HMIF) Universitas Tanjungpura bukan sekadar organisasi, melainkan rumah bagi para pemimpin teknologi. Kami percaya bahwa pendidikan formal adalah fondasi, namun komunitas adalah akselerator.',
|
||||
en: 'The Informatics Student Association (HMIF) of Universitas Tanjungpura is more than an organization; it is a home for future technology leaders. We believe formal education is the foundation, while community is the accelerator.'
|
||||
},
|
||||
'Melalui berbagai inisiatif, kami menjembatani kesenjangan antara kurikulum akademik dan kebutuhan industri, sambil tetap menjaga semangat kekeluargaan dan integritas ilmiah.': {
|
||||
id: 'Melalui berbagai inisiatif, kami menjembatani kesenjangan antara kurikulum akademik dan kebutuhan industri, sambil tetap menjaga semangat kekeluargaan dan integritas ilmiah.',
|
||||
en: 'Through various initiatives, we bridge the gap between academic curricula and industry needs while preserving a spirit of kinship and academic integrity.'
|
||||
},
|
||||
'Mahasiswa Aktif': { id: 'Mahasiswa Aktif', en: 'Active Students' },
|
||||
'MITRA': { id: 'MITRA', en: 'PARTNERS' },
|
||||
'Partner Industri': { id: 'Partner Industri', en: 'Industry Partners' },
|
||||
'Inklusivitas & Kolaborasi': { id: 'Inklusivitas &<br>Kolaborasi', en: 'Inclusivity &<br>Collaboration' },
|
||||
'Partner & Kolaborator': { id: 'Partner & Kolaborator', en: 'Partners & Collaborators' },
|
||||
'Partner dan Kolaborator': { id: 'Partner dan Kolaborator', en: 'Partners and Collaborators' },
|
||||
'Divisi Kepengurusan HMIF': { id: 'Divisi Kepengurusan HMIF', en: 'HMIF Management Divisions' },
|
||||
'Struktur organisasi yang dirancang untuk efisiensi dan pengembangan kapasitas anggota di berbagai bidang strategis.': {
|
||||
id: 'Struktur organisasi yang dirancang untuk efisiensi dan pengembangan kapasitas anggota di berbagai bidang strategis.',
|
||||
en: 'An organizational structure designed for efficiency and member capacity development across strategic areas.'
|
||||
},
|
||||
'Bidang 1': { id: 'Bidang 1', en: 'Division 1' },
|
||||
'Bidang 2': { id: 'Bidang 2', en: 'Division 2' },
|
||||
'Bidang 3': { id: 'Bidang 3', en: 'Division 3' },
|
||||
'Bidang 4': { id: 'Bidang 4', en: 'Division 4' },
|
||||
'Bidang 5': { id: 'Bidang 5', en: 'Division 5' },
|
||||
'Bidang 6': { id: 'Bidang 6', en: 'Division 6' },
|
||||
'Pengembangan Sumber Daya Mahasiswa dan Kaderisasi': {
|
||||
id: 'Pengembangan Sumber Daya Mahasiswa dan Kaderisasi',
|
||||
en: 'Student Resource Development and Cadre Formation'
|
||||
},
|
||||
'Divisi ini menyelenggarakan kaderisasi terstruktur, mentoring berkala, dan pelatihan kepemimpinan serta soft-skill. Program kerja mencakup onboarding anggota baru, workshop kepemimpinan, proyek kolaboratif, dan kegiatan pengabdian yang melatih tanggung jawab sosial. Fokusnya adalah menyiapkan kader yang kompeten dan menjaga regenerasi organisasi.': {
|
||||
id: 'Divisi ini menyelenggarakan kaderisasi terstruktur, mentoring berkala, dan pelatihan kepemimpinan serta soft-skill. Program kerja mencakup onboarding anggota baru, workshop kepemimpinan, proyek kolaboratif, dan kegiatan pengabdian yang melatih tanggung jawab sosial. Fokusnya adalah menyiapkan kader yang kompeten dan menjaga regenerasi organisasi.',
|
||||
en: 'This division runs structured cadre development, regular mentoring, and leadership and soft-skill training. Its programs include new member onboarding, leadership workshops, collaborative projects, and community service activities that build social responsibility. The focus is preparing competent members and sustaining organizational regeneration.'
|
||||
},
|
||||
'Mendukung mahasiswa untuk terus berkembang, dengan pembinaan dan kaderisasi yang berkelanjutan.': {
|
||||
id: 'Mendukung mahasiswa untuk terus berkembang, dengan pembinaan dan kaderisasi yang berkelanjutan.',
|
||||
en: 'Supporting students to keep growing through continuous mentoring and cadre development.'
|
||||
},
|
||||
'Pengembangan Organisasi': { id: 'Pengembangan Organisasi', en: 'Organizational Development' },
|
||||
'Divisi ini memperkuat tata kelola dan kapabilitas internal melalui pelatihan pengurus, penyusunan SOP sederhana, dan evaluasi proses kerja. Program kerjanya mencakup pengembangan budaya organisasi, peningkatan efektivitas koordinasi, dan kegiatan peningkatan profesionalisme sehingga operasi HMIF menjadi lebih terstruktur dan efisien.': {
|
||||
id: 'Divisi ini memperkuat tata kelola dan kapabilitas internal melalui pelatihan pengurus, penyusunan SOP sederhana, dan evaluasi proses kerja. Program kerjanya mencakup pengembangan budaya organisasi, peningkatan efektivitas koordinasi, dan kegiatan peningkatan profesionalisme sehingga operasi HMIF menjadi lebih terstruktur dan efisien.',
|
||||
en: 'This division strengthens governance and internal capability through board training, simple SOP development, and workflow evaluation. Its programs include organizational culture development, coordination effectiveness improvement, and professionalism initiatives so HMIF operations become more structured and efficient.'
|
||||
},
|
||||
'Mendukung organisasi agar berjalan lebih rapi, terstruktur, dan semakin berkembang.': {
|
||||
id: 'Mendukung organisasi agar berjalan lebih rapi, terstruktur, dan semakin berkembang.',
|
||||
en: 'Helping the organization run in a more orderly, structured, and progressive way.'
|
||||
},
|
||||
'Media Komunikasi dan Konten Digital': {
|
||||
id: 'Media Komunikasi dan Konten Digital',
|
||||
en: 'Communication Media and Digital Content'
|
||||
},
|
||||
'Divisi ini mengelola strategi komunikasi dan produksi konten HMIF, termasuk perencanaan editorial, manajemen media sosial, serta dokumentasi acara. Program kerjanya meliputi pembuatan materi promosi, publikasi kegiatan, dan penguatan identitas digital agar informasi organisasi tersampaikan konsisten dan menarik.': {
|
||||
id: 'Divisi ini mengelola strategi komunikasi dan produksi konten HMIF, termasuk perencanaan editorial, manajemen media sosial, serta dokumentasi acara. Program kerjanya meliputi pembuatan materi promosi, publikasi kegiatan, dan penguatan identitas digital agar informasi organisasi tersampaikan konsisten dan menarik.',
|
||||
en: 'This division manages HMIF communication strategy and content production, including editorial planning, social media management, and event documentation. Its programs cover promotional materials, activity publications, and digital identity strengthening so organizational information is delivered consistently and attractively.'
|
||||
},
|
||||
'Mengelola media dan komunikasi digital untuk menyampaikan informasi dengan lebih menarik dan mudah diakses.': {
|
||||
id: 'Mengelola media dan komunikasi digital untuk menyampaikan informasi dengan lebih menarik dan mudah diakses.',
|
||||
en: 'Managing digital media and communication to deliver information in a more engaging and accessible way.'
|
||||
},
|
||||
'Sosial Masyarakat': { id: 'Sosial Masyarakat', en: 'Community Service' },
|
||||
'Divisi ini merancang dan melaksanakan program pengabdian serta aksi sosial yang berdampak, termasuk pendampingan komunitas dan bantuan kemanusiaan. Kegiatan meliputi identifikasi kebutuhan lapangan, pelaksanaan terstruktur, dan evaluasi dampak untuk memastikan keberlanjutan dan manfaat nyata bagi masyarakat.': {
|
||||
id: 'Divisi ini merancang dan melaksanakan program pengabdian serta aksi sosial yang berdampak, termasuk pendampingan komunitas dan bantuan kemanusiaan. Kegiatan meliputi identifikasi kebutuhan lapangan, pelaksanaan terstruktur, dan evaluasi dampak untuk memastikan keberlanjutan dan manfaat nyata bagi masyarakat.',
|
||||
en: 'This division designs and carries out impactful community service programs and social actions, including community assistance and humanitarian support. Activities include field needs assessment, structured implementation, and impact evaluation to ensure sustainability and real benefits for the community.'
|
||||
},
|
||||
'Berbagi dan berkontribusi melalui berbagai kegiatan sosial, sekaligus membawa dampak positif bagi masyarakat.': {
|
||||
id: 'Berbagi dan berkontribusi melalui berbagai kegiatan sosial, sekaligus membawa dampak positif bagi masyarakat.',
|
||||
en: 'Sharing and contributing through social activities while bringing positive impact to the community.'
|
||||
},
|
||||
'Inovasi dan Kompetisi Teknologi': {
|
||||
id: 'Inovasi dan Kompetisi Teknologi',
|
||||
en: 'Technology Innovation and Competition'
|
||||
},
|
||||
'Divisi ini memfasilitasi persiapan lomba dan pengembangan proyek teknis melalui coaching clinic, bootcamp berbasis proyek, serta study club untuk Competitive Programming, Software Development, dan Data/ML. Kegiatan termasuk seleksi internal, bimbingan kompetitif, dan inisiatif digitalisasi seperti pengembangan website dan dashboard untuk mendukung ekosistem inovasi HMIF.': {
|
||||
id: 'Divisi ini memfasilitasi persiapan lomba dan pengembangan proyek teknis melalui coaching clinic, bootcamp berbasis proyek, serta study club untuk Competitive Programming, Software Development, dan Data/ML. Kegiatan termasuk seleksi internal, bimbingan kompetitif, dan inisiatif digitalisasi seperti pengembangan website dan dashboard untuk mendukung ekosistem inovasi HMIF.',
|
||||
en: 'This division facilitates competition preparation and technical project development through coaching clinics, project-based bootcamps, and study clubs for Competitive Programming, Software Development, and Data/ML. Activities include internal selection, competitive mentoring, and digitalization initiatives such as website and dashboard development to support HMIF innovation.'
|
||||
},
|
||||
'Mengembangkan inovasi dan skill teknologi, sambil mendorong mahasiswa untuk berani mencoba dan ikut berbagai tantangan.': {
|
||||
id: 'Mengembangkan inovasi dan skill teknologi, sambil mendorong mahasiswa untuk berani mencoba dan ikut berbagai tantangan.',
|
||||
en: 'Developing innovation and technology skills while encouraging students to try new challenges.'
|
||||
},
|
||||
'Kewirausahaan dan Kemitraan': { id: 'Kewirausahaan dan Kemitraan', en: 'Entrepreneurship and Partnership' },
|
||||
'Divisi ini mengembangkan unit usaha organisasi, merancang skema pendanaan kreatif, dan menjalin kemitraan strategis untuk mendukung keberlanjutan program HMIF. Unit kerjanya meliputi riset peluang usaha, penyusunan proposal kemitraan, dan pengelolaan sponsor untuk meningkatkan kemandirian finansial dan akses jaringan profesional.': {
|
||||
id: 'Divisi ini mengembangkan unit usaha organisasi, merancang skema pendanaan kreatif, dan menjalin kemitraan strategis untuk mendukung keberlanjutan program HMIF. Unit kerjanya meliputi riset peluang usaha, penyusunan proposal kemitraan, dan pengelolaan sponsor untuk meningkatkan kemandirian finansial dan akses jaringan profesional.',
|
||||
en: 'This division develops organizational business units, designs creative funding schemes, and builds strategic partnerships to support HMIF program sustainability. Its work includes business opportunity research, partnership proposal development, and sponsor management to improve financial independence and professional network access.'
|
||||
},
|
||||
'Mengembangkan jiwa kewirausahaan, sekaligus membangun kolaborasi dan membuka peluang bersama berbagai mitra.': {
|
||||
id: 'Mengembangkan jiwa kewirausahaan, sekaligus membangun kolaborasi dan membuka peluang bersama berbagai mitra.',
|
||||
en: 'Developing an entrepreneurial mindset while building collaboration and opportunities with partners.'
|
||||
},
|
||||
'Kegiatan Unggulan': { id: 'Kegiatan Unggulan', en: 'Featured Activities' },
|
||||
'Kegiatan tahunan yang menjadi ikon Informatika UNTAN.': {
|
||||
id: 'Kegiatan tahunan yang menjadi ikon Informatika UNTAN.',
|
||||
en: 'Annual activities that have become icons of Informatics UNTAN.'
|
||||
},
|
||||
'Kompetisi Coding untuk mengasah skill coding mahasiswa Informatika.': {
|
||||
id: 'Kompetisi Coding untuk mengasah skill coding mahasiswa Informatika.',
|
||||
en: 'A coding competition to sharpen Informatics students coding skills.'
|
||||
},
|
||||
'Silaturahmi Keluarga Besar Informatika': {
|
||||
id: 'Silaturahmi Keluarga Besar Informatika',
|
||||
en: 'Informatics Family Gathering'
|
||||
},
|
||||
'Feb': { id: 'Feb', en: 'Feb' },
|
||||
'Jul': { id: 'Jul', en: 'Jul' },
|
||||
'Sep': { id: 'Sep', en: 'Sep' },
|
||||
'Kegiatan buka bersama seluruh keluarga Informatika Untan yang selalu diadakan setiap tahunnya.': {
|
||||
id: 'Kegiatan buka bersama seluruh keluarga Informatika Untan yang selalu diadakan setiap tahunnya.',
|
||||
en: 'An annual iftar gathering for the entire Informatics UNTAN family.'
|
||||
},
|
||||
'Program intensif GEMASTIK adalah kompetisi IT tahunan tingkat nasional yang mempertemukan mahasiswa se-Indonesia. Lomba ini fokus pada pemecahan masalah lewat teknologi, dengan cabang yang beragam seperti programming, cyber security, data mining, sampai pengembangan UI/UX.': {
|
||||
id: 'Program intensif GEMASTIK adalah kompetisi IT tahunan tingkat nasional yang mempertemukan mahasiswa se-Indonesia. Lomba ini fokus pada pemecahan masalah lewat teknologi, dengan cabang yang beragam seperti <em>programming</em>, <em>cyber security</em>, <em>data mining</em>, sampai pengembangan UI/UX.',
|
||||
en: 'GEMASTIK is an intensive annual national IT competition that brings together students from across Indonesia. It focuses on solving problems through technology, with categories ranging from <em>programming</em>, <em>cyber security</em>, and <em>data mining</em> to UI/UX development.'
|
||||
},
|
||||
'Okt': { id: 'Okt', en: 'Oct' },
|
||||
'Ultah Informatika': { id: 'Ultah Informatika', en: 'Informatics Anniversary' },
|
||||
'Perayaan ulang tahun Informatika UNTAN, momen kebersamaan dan kebanggaan seluruh keluarga besar Informatika.': {
|
||||
id: 'Perayaan ulang tahun Informatika UNTAN, momen kebersamaan dan kebanggaan seluruh keluarga besar Informatika.',
|
||||
en: 'The Informatics UNTAN anniversary celebration, a moment of togetherness and pride for the whole Informatics family.'
|
||||
},
|
||||
'Agu': { id: 'Agu', en: 'Aug' },
|
||||
'Program intensif pengembangan skill teknis mahasiswa Informatika bersama mentor profesional dari industri.': {
|
||||
id: 'Program intensif pengembangan skill teknis mahasiswa Informatika bersama mentor profesional dari industri.',
|
||||
en: 'An intensive program for developing Informatics students technical skills with professional mentors from industry.'
|
||||
},
|
||||
'STUDY CLUB': { id: 'STUDY CLUB', en: 'STUDY CLUB' },
|
||||
'Belajar logika dan algoritma bersama, di mana kalian bisa berkembang dan membuka peluang mengikuti kompetisi pemrograman di berbagai level.': {
|
||||
id: 'Belajar logika dan algoritma bersama, di mana kalian bisa berkembang dan membuka peluang mengikuti kompetisi pemrograman di berbagai level.',
|
||||
en: 'Learn logic and algorithms together, grow your abilities, and open opportunities to join programming competitions at various levels.'
|
||||
},
|
||||
'Gali potensi tersembunyi dari tumpukan data! Di sini kita akan bereksplorasi dengan algoritma Machine Learning, membedah teknik klasifikasi, hingga melatih model prediktif untuk menghasilkan insight yang bermakna.': {
|
||||
id: 'Gali potensi tersembunyi dari tumpukan data! Di sini kita akan bereksplorasi dengan algoritma <em>Machine Learning</em>, membedah teknik klasifikasi, hingga melatih model prediktif untuk menghasilkan <em>insight</em> yang bermakna.',
|
||||
en: 'Explore hidden potential in piles of data! Here we experiment with <em>Machine Learning</em> algorithms, examine classification techniques, and train predictive models to produce meaningful <em>insights</em>.'
|
||||
},
|
||||
'Wujudkan idemu jadi produk digital yang nyata! Kita akan ngoding bareng dari merancang frontend yang interaktif, membangun backend yang tangguh, serta mengintegrasikan berbagai API untuk menciptakan aplikasi web masa kini.': {
|
||||
id: 'Wujudkan idemu jadi produk digital yang nyata! Kita akan ngoding bareng dari merancang <em>frontend</em> yang interaktif, membangun <em>backend</em> yang tangguh, serta mengintegrasikan berbagai API untuk menciptakan aplikasi web masa kini.',
|
||||
en: 'Turn your ideas into real digital products! We will code together, from designing interactive <em>frontends</em> and building robust <em>backends</em> to integrating APIs for modern web applications.'
|
||||
},
|
||||
'Di sini, kalian bisa belajar membuat website dan aplikasi web, sekaligus mengembangkan ide menjadi sesuatu yang nyata.': {
|
||||
id: 'Di sini, kalian bisa belajar membuat website dan aplikasi web, sekaligus mengembangkan ide menjadi sesuatu yang nyata.',
|
||||
en: 'Here, you can learn to build websites and web applications while turning ideas into something real.'
|
||||
},
|
||||
'Belajar memahami sistem dan cara menjaganya, supaya lebih siap menghadapi berbagai ancaman digital.': {
|
||||
id: 'Belajar memahami sistem dan cara menjaganya, supaya lebih siap menghadapi berbagai ancaman digital.',
|
||||
en: 'Learn to understand systems and how to protect them, so you are better prepared for digital threats.'
|
||||
},
|
||||
'Galeri Keseruan': { id: 'Galeri Keseruan', en: 'Activity Gallery' },
|
||||
'Ada yang Ingin Ditanyakan Seputar HMIF?': {
|
||||
id: 'Ada yang Ingin Ditanyakan Seputar HMIF?',
|
||||
en: 'Have Questions About HMIF?'
|
||||
},
|
||||
'Bergabunglah dengan HMIF untuk memperluas jaringan, mengasah skill, dan menciptakan dampak nyata.': {
|
||||
id: 'Bergabunglah dengan HMIF untuk memperluas jaringan, mengasah skill, dan menciptakan dampak nyata.',
|
||||
en: 'Join HMIF to expand your network, sharpen your skills, and create real impact.'
|
||||
},
|
||||
'Hubungi Kami': { id: 'Hubungi Kami', en: 'Contact Us' },
|
||||
'Sekretariat': { id: 'Sekretariat', en: 'Secretariat' },
|
||||
'Gedung Fakultas Teknik Lt. 2 Jl. Prof. Dr. H. Hadari Nawawi': {
|
||||
id: 'Gedung Fakultas Teknik Lt. 2<br>Jl. Prof. Dr. H. Hadari Nawawi',
|
||||
en: 'Faculty of Engineering Building, 2nd Floor<br>Jl. Prof. Dr. H. Hadari Nawawi'
|
||||
},
|
||||
'Jam Operasional': { id: 'Jam Operasional', en: 'Operating Hours' },
|
||||
'Senin - Jumat 08:00 - 17:00 WIB': {
|
||||
id: 'Senin - Jumat<br>08:00 - 17:00 WIB',
|
||||
en: 'Monday - Friday<br>08:00 - 17:00 WIB'
|
||||
},
|
||||
'Media Sosial': { id: 'Media Sosial', en: 'Social Media' },
|
||||
'Jl. Prof. Dr. H. Hadari Nawawi, Bansir Laut, Kec. Pontianak Tenggara,': {
|
||||
id: 'Jl. Prof. Dr. H. Hadari Nawawi, Bansir Laut, Kec. Pontianak Tenggara,',
|
||||
en: 'Prof. Dr. H. Hadari Nawawi St., Bansir Laut, Southeast Pontianak District,'
|
||||
},
|
||||
'Kota Pontianak, Kalimantan Barat 78124': {
|
||||
id: 'Kota Pontianak, Kalimantan Barat 78124',
|
||||
en: 'Pontianak City, West Kalimantan 78124'
|
||||
},
|
||||
'FOLLOW US': { id: 'IKUTI KAMI', en: 'FOLLOW US' }
|
||||
};
|
||||
|
||||
// Normalisasi whitespace untuk pencocokan teks yang konsisten
|
||||
function normalizeText(value) {
|
||||
return value.replace(/\s+/g, ' ').trim();
|
||||
}
|
||||
|
||||
function stripHtmlTags(value) {
|
||||
var template = document.createElement('template');
|
||||
template.innerHTML = value;
|
||||
return template.content.textContent || '';
|
||||
}
|
||||
|
||||
// Ambil teks murni dari elemen, termasuk teks dalam child nodes
|
||||
function getElementText(element) {
|
||||
function collectText(node) {
|
||||
if (node.nodeType === Node.TEXT_NODE) return node.nodeValue;
|
||||
if (node.nodeName === 'BR') return ' ';
|
||||
return Array.prototype.map.call(node.childNodes, collectText).join('');
|
||||
}
|
||||
return normalizeText(collectText(element));
|
||||
}
|
||||
|
||||
// Buat lookup map dari teks yang sudah dinormalisasi ke key translationMap
|
||||
var translationLookup = Object.keys(translationMap).reduce(function (lookup, key) {
|
||||
lookup[normalizeText(key)] = key;
|
||||
lookup[normalizeText(translationMap[key].id)] = key;
|
||||
lookup[normalizeText(stripHtmlTags(translationMap[key].id))] = key;
|
||||
return lookup;
|
||||
}, {});
|
||||
|
||||
// Tandai semua elemen yang bisa diterjemahkan dengan data attribute
|
||||
function markTranslatableElements() {
|
||||
document.querySelectorAll('a, button, h1, h2, h3, p, span').forEach(function (element) {
|
||||
var key = translationLookup[getElementText(element)];
|
||||
if (key) element.dataset.i18nKey = key;
|
||||
});
|
||||
}
|
||||
|
||||
// Render teks terjemahan — gunakan innerHTML jika ada tag HTML, textContent jika tidak
|
||||
function renderTranslatedText(element, value) {
|
||||
if (value.indexOf('<') !== -1) {
|
||||
element.innerHTML = value;
|
||||
} else {
|
||||
element.textContent = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Update tampilan tombol toggle sesuai bahasa aktif
|
||||
function updateLanguageToggle(language) {
|
||||
languageToggles.forEach(function (toggle) {
|
||||
toggle.innerHTML = language === 'id'
|
||||
? '<span class="text-hmif-secondary">ID</span> | <span>EN</span>'
|
||||
: '<span>ID</span> | <span class="text-hmif-secondary">EN</span>';
|
||||
toggle.setAttribute('aria-pressed', String(language === 'en'));
|
||||
toggle.setAttribute('aria-label', language === 'id'
|
||||
? 'Ganti bahasa ke Inggris'
|
||||
: 'Switch language to Indonesian');
|
||||
});
|
||||
}
|
||||
|
||||
// Terapkan bahasa ke seluruh elemen yang sudah ditandai
|
||||
function applyLanguage(language) {
|
||||
var safeLanguage = language === 'en' ? 'en' : 'id';
|
||||
|
||||
document.documentElement.lang = safeLanguage;
|
||||
document.title = translationMap['Kehidupan Mahasiswa & Himpunan (HMIF)'][safeLanguage];
|
||||
|
||||
document.querySelectorAll('[data-i18n-key]').forEach(function (element) {
|
||||
var key = element.dataset.i18nKey;
|
||||
renderTranslatedText(element, translationMap[key][safeLanguage]);
|
||||
});
|
||||
|
||||
updateLanguageToggle(safeLanguage);
|
||||
|
||||
try {
|
||||
localStorage.setItem('hmif-language', safeLanguage);
|
||||
} catch (error) {
|
||||
// Browser mungkin memblokir localStorage di mode private/incognito.
|
||||
}
|
||||
}
|
||||
|
||||
// Inisialisasi: tandai elemen, muat preferensi bahasa, pasang event listener
|
||||
markTranslatableElements();
|
||||
|
||||
var savedLanguage = 'id';
|
||||
try {
|
||||
savedLanguage = localStorage.getItem('hmif-language') || 'id';
|
||||
} catch (error) {
|
||||
savedLanguage = 'id';
|
||||
}
|
||||
|
||||
applyLanguage(savedLanguage);
|
||||
|
||||
languageToggles.forEach(function (toggle) {
|
||||
toggle.addEventListener('click', function () {
|
||||
applyLanguage(document.documentElement.lang === 'en' ? 'id' : 'en');
|
||||
});
|
||||
});
|
||||
})();
|
||||
|
||||
|
||||
// =============================================================================
|
||||
// 3. GALERI KESERUAN — SLIDER
|
||||
// Slider bento grid foto keseruan dengan auto-slide, navigasi manual,
|
||||
// dot indicator, pause on hover, dan recalculate on resize.
|
||||
// =============================================================================
|
||||
|
||||
(function () {
|
||||
var AUTO_DELAY_MS = 4000; // 4 detik per slide
|
||||
var GAP_PX = 16 * 2; // grid gap-4 = 1rem? but original used gap-4; keep reasonable spacing if needed
|
||||
|
||||
var track = document.getElementById('galeri-track');
|
||||
var viewport = document.getElementById('galeri-viewport');
|
||||
var prevBtn = document.getElementById('galeri-prev');
|
||||
var nextBtn = document.getElementById('galeri-next');
|
||||
var dotsContainer = document.getElementById('galeri-dots');
|
||||
|
||||
if (!track || !viewport || !prevBtn || !nextBtn) return;
|
||||
|
||||
var currentSlide = 0;
|
||||
var autoSlideTimer;
|
||||
var originalHTML = track.innerHTML;
|
||||
|
||||
// collect all anchor elements (images) in the original order
|
||||
var originalAnchors = Array.from((function () {
|
||||
var tmp = document.createElement('div'); tmp.innerHTML = originalHTML; return tmp;
|
||||
})().querySelectorAll('a'));
|
||||
|
||||
// builds slides where each slide contains a single image (for small screens)
|
||||
function buildSingleImageSlides() {
|
||||
var slides = originalAnchors.map(function (a) {
|
||||
// clone anchor and remove mobile-hidden class so it becomes visible in single-image slides
|
||||
try {
|
||||
var clone = a.cloneNode(true);
|
||||
if (clone.classList) clone.classList.remove('hidden');
|
||||
// also remove inline style display:none if present
|
||||
if (clone.style) clone.style.display = '';
|
||||
return '<div class="flex-shrink-0 w-full">' +
|
||||
'<div class="aspect-video w-full overflow-hidden rounded-xl">' +
|
||||
clone.outerHTML +
|
||||
'</div></div>';
|
||||
} catch (e) {
|
||||
return '';
|
||||
}
|
||||
});
|
||||
return slides.join('');
|
||||
}
|
||||
|
||||
function getTotalSlides() {
|
||||
return track.children.length;
|
||||
}
|
||||
|
||||
// render dot buttons dynamically according to total slides
|
||||
function renderDots(n) {
|
||||
if (!dotsContainer) return;
|
||||
dotsContainer.innerHTML = '';
|
||||
for (var i = 0; i < n; i++) {
|
||||
var btn = document.createElement('button');
|
||||
btn.className = 'galeri-dot h-2.5 rounded-full transition-all duration-300 ' + (i === 0 ? 'bg-hmif-primary w-6' : 'bg-gray-200 w-2.5');
|
||||
btn.setAttribute('data-index', String(i));
|
||||
btn.setAttribute('aria-label', 'Slide ' + (i + 1));
|
||||
(function (idx) { btn.addEventListener('click', function () { goToSlide(idx); startAutoSlide(); }); })(i);
|
||||
dotsContainer.appendChild(btn);
|
||||
}
|
||||
}
|
||||
|
||||
function updateDots(activeIndex) {
|
||||
if (!dotsContainer) return;
|
||||
var dots = dotsContainer.querySelectorAll('button');
|
||||
dots.forEach(function (dot, i) {
|
||||
if (i === activeIndex) {
|
||||
dot.classList.remove('bg-gray-200', 'w-2.5');
|
||||
dot.classList.add('bg-hmif-primary', 'w-6');
|
||||
} else {
|
||||
dot.classList.remove('bg-hmif-primary', 'w-6');
|
||||
dot.classList.add('bg-gray-200', 'w-2.5');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function rebuildTrackForViewport() {
|
||||
var isMobile = window.innerWidth < 768; // md breakpoint
|
||||
if (isMobile) {
|
||||
track.innerHTML = buildSingleImageSlides();
|
||||
} else {
|
||||
track.innerHTML = originalHTML;
|
||||
}
|
||||
renderDots(getTotalSlides());
|
||||
}
|
||||
|
||||
// Pindah ke slide dengan index tertentu, loop otomatis di kedua arah
|
||||
function goToSlide(index) {
|
||||
var total = getTotalSlides();
|
||||
if (total === 0) return;
|
||||
currentSlide = ((index % total) + total) % total;
|
||||
track.style.transform = 'translateX(-' + (currentSlide * viewport.offsetWidth) + 'px)';
|
||||
updateDots(currentSlide);
|
||||
}
|
||||
|
||||
// Mulai atau restart timer auto-slide
|
||||
function startAutoSlide() {
|
||||
clearInterval(autoSlideTimer);
|
||||
autoSlideTimer = setInterval(function () { goToSlide(currentSlide + 1); }, AUTO_DELAY_MS);
|
||||
}
|
||||
|
||||
prevBtn.addEventListener('click', function () { goToSlide(currentSlide - 1); startAutoSlide(); });
|
||||
nextBtn.addEventListener('click', function () { goToSlide(currentSlide + 1); startAutoSlide(); });
|
||||
|
||||
// Pause saat kursor di atas galeri
|
||||
viewport.addEventListener('mouseenter', function () { clearInterval(autoSlideTimer); });
|
||||
viewport.addEventListener('mouseleave', startAutoSlide);
|
||||
|
||||
// Recalculate posisi slide saat browser di-resize
|
||||
window.addEventListener('resize', function () { rebuildTrackForViewport(); goToSlide(currentSlide); });
|
||||
|
||||
// initial build
|
||||
rebuildTrackForViewport();
|
||||
goToSlide(0);
|
||||
startAutoSlide();
|
||||
})();
|
||||
|
||||
|
||||
// =============================================================================
|
||||
// 4. KEGIATAN UNGGULAN — SLIDER
|
||||
// Slider kartu kegiatan tahunan yang menampilkan 2 kartu sekaligus pada desktop,
|
||||
// dan 1 kartu pada layar sempit. Logika pergantian disesuaikan agar pergeseran
|
||||
// selalu berpindah tepat satu item, memperhitungkan gap antar-kartu.
|
||||
// =============================================================================
|
||||
|
||||
(function () {
|
||||
var TOTAL_CARDS = 7;
|
||||
var AUTO_DELAY_MS = 2000;
|
||||
var GAP_PX = 32; // gap-8 = 2rem = 32px (tailwind)
|
||||
|
||||
var track = document.getElementById('slider-track');
|
||||
var viewport = document.getElementById('slider-viewport');
|
||||
var prevBtn = document.getElementById('slider-prev');
|
||||
var nextBtn = document.getElementById('slider-next');
|
||||
var dotsContainer = document.getElementById('slider-dots');
|
||||
|
||||
if (!track || !viewport || !prevBtn || !nextBtn) return;
|
||||
|
||||
var current = 0;
|
||||
var autoTimer;
|
||||
|
||||
function getCardsVisible() {
|
||||
return window.innerWidth >= 768 ? 2 : 1; // md breakpoint
|
||||
}
|
||||
|
||||
// lebar kartu yang terlihat (tidak termasuk gap)
|
||||
function getCardWidth() {
|
||||
var visible = getCardsVisible();
|
||||
if (visible === 1) return viewport.offsetWidth;
|
||||
return (viewport.offsetWidth - GAP_PX) / visible;
|
||||
}
|
||||
|
||||
function getMaxIndex() {
|
||||
return Math.max(0, TOTAL_CARDS - getCardsVisible());
|
||||
}
|
||||
|
||||
// Pindah ke posisi slide tertentu; perhitungan berbeda untuk 1 atau 2 kartu
|
||||
function goTo(index) {
|
||||
var maxIndex = getMaxIndex();
|
||||
current = ((index % (maxIndex + 1)) + (maxIndex + 1)) % (maxIndex + 1);
|
||||
|
||||
if (getCardsVisible() === 1) {
|
||||
// langkah pergeseran = viewport width + gap
|
||||
var step = viewport.offsetWidth + GAP_PX;
|
||||
track.style.transform = 'translateX(-' + (current * step) + 'px)';
|
||||
} else {
|
||||
var cardW = getCardWidth();
|
||||
track.style.transform = 'translateX(-' + (current * (cardW + GAP_PX)) + 'px)';
|
||||
}
|
||||
|
||||
updateDots(current);
|
||||
}
|
||||
|
||||
// Render dot indicators dynamically based on total slides
|
||||
function renderSliderDots(n) {
|
||||
if (!dotsContainer) return;
|
||||
dotsContainer.innerHTML = '';
|
||||
for (var i = 0; i < n; i++) {
|
||||
var btn = document.createElement('button');
|
||||
btn.className = 'slider-dot h-2.5 w-2.5 rounded-full transition-all duration-300 bg-gray-200 cursor-pointer';
|
||||
if (i === 0) { btn.classList.remove('w-2.5', 'bg-gray-200'); btn.classList.add('w-6', 'bg-hmif-primary'); }
|
||||
btn.setAttribute('data-index', String(i));
|
||||
btn.setAttribute('aria-label', 'Slide ' + (i + 1));
|
||||
(function (idx) { btn.addEventListener('click', function () { goTo(idx); startAuto(); }); })(i);
|
||||
dotsContainer.appendChild(btn);
|
||||
}
|
||||
}
|
||||
|
||||
function updateDots(activeIndex) {
|
||||
if (!dotsContainer) return;
|
||||
var dots = dotsContainer.querySelectorAll('button');
|
||||
dots.forEach(function (dot, i) {
|
||||
if (i === activeIndex) {
|
||||
dot.classList.remove('bg-gray-200', 'w-2.5');
|
||||
dot.classList.add('bg-hmif-primary', 'w-6');
|
||||
} else {
|
||||
dot.classList.remove('bg-hmif-primary', 'w-6');
|
||||
dot.classList.add('bg-gray-200', 'w-2.5');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Mulai atau restart timer auto-slide
|
||||
function startAuto() {
|
||||
clearInterval(autoTimer);
|
||||
autoTimer = setInterval(function () { goTo(current + 1); }, AUTO_DELAY_MS);
|
||||
}
|
||||
|
||||
prevBtn.addEventListener('click', function () { goTo(current - 1); startAuto(); });
|
||||
nextBtn.addEventListener('click', function () { goTo(current + 1); startAuto(); });
|
||||
|
||||
// initial render of dots according to current viewport
|
||||
renderSliderDots(getMaxIndex() + 1);
|
||||
|
||||
// Pause saat kursor di atas slider
|
||||
viewport.addEventListener('mouseenter', function () { clearInterval(autoTimer); });
|
||||
viewport.addEventListener('mouseleave', startAuto);
|
||||
|
||||
// Recalculate posisi slide and dots saat browser di-resize
|
||||
window.addEventListener('resize', function () { renderSliderDots(getMaxIndex() + 1); goTo(current); });
|
||||
|
||||
goTo(0);
|
||||
startAuto();
|
||||
})();
|
||||
@@ -1,4 +1,4 @@
|
||||
:root {
|
||||
:root {
|
||||
--brand-navy: #003150;
|
||||
--brand-yellow: #feb401;
|
||||
--text-main: #1e293b;
|
||||
@@ -46,25 +46,3 @@ body { font-family: "Roboto", Arial, sans-serif; color: var(--text-main); backgr
|
||||
.footer-logo { height: 28px; width: auto; }
|
||||
.footer-ornament { width: 100%; display: block; opacity: .9; }
|
||||
|
||||
/* ===== Slider Dot Indicators ===== */
|
||||
.slider-dot,
|
||||
.galeri-dot {
|
||||
display: inline-block;
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
min-width: 10px;
|
||||
border-radius: 9999px;
|
||||
background-color: #d1d5db; /* gray-300 fallback */
|
||||
cursor: pointer;
|
||||
border: none;
|
||||
padding: 0;
|
||||
transition: width 0.3s ease, background-color 0.3s ease;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.slider-dot.bg-hmif-primary,
|
||||
.galeri-dot.bg-hmif-primary {
|
||||
background-color: #0b2f4c; /* --color-hmif-primary dari output.css */
|
||||
width: 24px;
|
||||
}
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 103 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 84 KiB |
|
After Width: | Height: | Size: 988 KiB |
|
After Width: | Height: | Size: 680 KiB |
|
After Width: | Height: | Size: 803 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 296 KiB |
@@ -917,6 +917,7 @@
|
||||
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
|
||||