Dadan & Sani

Kami akan menikah,
dan kami ingin Anda menjadi bagian dari hari istimewa kami!

  • 00Hari
  • 00Jam
  • 00Menit
  • 00Detik

Selasa,03 Febuari 2026

WDP58-01-2.png.webp
The Wedding Of
Dadan & Sani
Selasa,03 Febuari 2026
Kpd Bpk/Ibu/Saudara/i
Tamu Undangan
Mohon maaf apabila ada kesalahan penulisan nama/gelar

Assalamualaikum Wr. Wb.

Untuk mengikuti Sunnah Rasul-Mu dalam rangka membentuk keluarga yang sakinah, mawaddah, warahmah.

Maka ijinkanlah kami menikahkannya. Ya Allah perkenankan kami merangkaikan kasih sayang yang kau ciptakan diantara putra-putri kami.

Dadan Rukmana

Putra Bapak Ujang Aripin & Ibu Icah Pitriah ⁠

Sani Nuraini

Putri Bapak Soni Sopiyan & Ibu Siti Mulyani

Dengan memohon rahmat dan ridho Allah Subhanahu Wa Ta'ala, Kami mengundang Bapak/Ibu/Saudara/i, untuk menghadiri Resepsi Pernikahan kami. yang Insya Allah akan dilaksanakan pada :

Akad Nikah
Acara Resepsi

Gallery

"Dan di antara ayat-ayat-Nya ialah Dia menciptakan untukmu istri-istri dari jenismu sendiri, supaya kamu merasa nyaman kepadanya, dan dijadikan-Nya di antaramu mawadah dan rahmah. Sesungguhnya pada yang demikian itu benar-benar terdapat tanda-tanda bagi kaum yang berpikir"
- AR-RUM 21 -

Wishes

Berikan ucapan terbaik
untuk kedua mempelai

Kirim Hadiah

Doa Restu Anda merupakan karunia yang sangat berarti bagi kami. Namun jika memberi adalah ungkapan tanda kasih Anda, Anda dapat memberi kado secara cashless.

Atas kehadiran dan Doa Restunya kami ucapkan terimakasih.

Kirim Kado: Sani Nuraini

bank-bri-1200px-logo
002501130134501 a.n Afni Sani Nuraini
002501130134501
Salin Rekening

Wassalamualaikum Wr. Wb.

Kami Yang Berbahagia,
Keluarga Besar Kedua Mempelai

Dadan & Sani

085641402877

window.onbeforeunload = function() { window.scrollTo(0, 0); }; var isSectionLocked = true; // Menyimpan status kunci tampilan section // Mengunci tampilan section pertama saat halaman dimuat window.addEventListener('DOMContentLoaded', function() { lockSection(); }); // Fungsi untuk mengunci tampilan section function lockSection() { if (isSectionLocked) { disableScrolling(); document.body.style.position = "fixed"; document.body.style.overflowY = "scroll"; document.body.style.height = "100vh"; document.getElementById("section-cover").style.width = "100vw"; // Menambahkan gaya untuk membuat cover full width } } // Fungsi untuk membuka tampilan section function unlockSection() { enableScrolling(); document.body.style.position = ""; document.body.style.overflowY = ""; document.getElementById("section-cover").style.width = ""; // Menghapus gaya untuk mengembalikan lebar cover ke nilai aslinya document.getElementById("tombol-buka").style.display = "none"; // Menyembunyikan tombol "tombol-buka" } document.getElementById("tombol-buka").onclick = function() { unlockSection(); playAudio(); }; function disableScrolling() { var x = window.scrollX; var y = window.scrollY; window.onscroll = function() { window.scrollTo(x, y); }; } function enableScrolling() { window.onscroll = null; } function playAudio(){ var isYT = false; if(document.body.contains(document.getElementById("song"))) { document.getElementById("song").play(); isYT = false; } else { isYT = true; player.playVideo(); } }
/*! WeddingPress Custom Nama Tamu (WDPCNT) ============================================ Description: WeddingPress Custom Nama Tamu (WDPCNT) adalah script JavaScript yang digunakan untuk mengganti teks "Tamu Undangan" pada elemen dengan class `namatamu` berdasarkan parameter yang ada di URL. Script ini mendukung beberapa parameter seperti `to`, `dear`, dan `kepada` untuk menyesuaikan nama penerima undangan. Author: Andy dari WeddingPress Website: https://weddingpress.net Version: 1.1 (2025/03/01) License: Anda diizinkan menggunakan script ini pada website Anda dan proyek klien. Tidak diperbolehkan menjual, membagikan, menempatkan codenya ditemplate yang dijual atau mendistribusikan ulang tanpa izin. Copyright: © 2025 WeddingPress. All rights reserved. Note: Pastikan untuk teks 'Tamu Undangan' css classesnya sudah terisi: 'namatamu' */ (function () { 'use strict'; // ================================================================= // KONFIGURASI ⚙️ // ================================================================= const config = { selector: '.namatamu', urlParams: ['to', 'dear', 'kepada'], defaultText: 'Tamu Undangan' }; // ================================================================= /** * Mengambil nama tamu dari URL. * Dibuat tetap simpel untuk keamanan & keandalan, karena URLSearchParams * sudah menangani semua decoding (+, %20, dll) sesuai standar. */ function getRecipientName(params, keys) { for (const key of keys) { const value = params.get(key); if (value && value.trim()) { return value.trim(); } } return ''; } /** * "Membersihkan" string agar aman digunakan di dalam Regular Expression. * Mencegah error jika placeholder berisi karakter spesial Regex. */ function escapeRegExp(string) { return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string } /** * Fungsi rekursif untuk mencari dan mengganti konten teks * tanpa merusak elemen HTML di sekitarnya. */ function replaceTextInNode(node, searchValue, replaceValue) { if (node.nodeType === 1 || node.nodeType === 11) { // Element or Document Fragment node.childNodes.forEach(child => { if (child.nodeType === 3) { // Text node // Gunakan escapeRegExp untuk memastikan searchValue aman. const safeSearchValue = escapeRegExp(searchValue); const regex = new RegExp(safeSearchValue, 'gi'); child.textContent = child.textContent.replace(regex, replaceValue); } else { replaceTextInNode(child, searchValue, replaceValue); } }); } } window.addEventListener('DOMContentLoaded', () => { const params = new URLSearchParams(window.location.search); const recipient = getRecipientName(params, config.urlParams); const targets = document.querySelectorAll(config.selector); if (targets.length === 0) { console.warn(`WDPCNT: Tidak ditemukan elemen dengan selector '${config.selector}'.`); return; } targets.forEach(element => { if (recipient) { replaceTextInNode(element, config.defaultText, recipient); } else { if (!element.textContent.trim()) { element.textContent = config.defaultText; } } }); }); })();
function revealElements(selector) { var elements = document.querySelectorAll(selector); var windowHeight = window.innerHeight; var elementVisible = 150; elements.forEach(function(element) { var elementTop = element.getBoundingClientRect().top; if (elementTop < windowHeight - elementVisible) { element.classList.add("active"); } else { element.classList.remove("active"); } }); } window.addEventListener("scroll", function() { revealElements(".wdpal-fade-in, .wdpal-muncul-atas, .wdpal-muncul-bawah, .wdpal-muncul-kiri, .wdpal-muncul-kanan, .wdpal-rotate-in, .wdpal-flip-x, .wdpal-flip-y, .wdpal-zoom-in, .wdpal-zoom-out"); }); /* Fade In */ .wdpal-fade-in { opacity: 0; transition: opacity 1s ease-in-out; } .wdpal-fade-in.active { opacity: 1; } /* Muncul Atas */ .wdpal-muncul-atas { transform: translateY(100%); opacity: 0; transition: transform 1s ease, opacity 1s ease; } .wdpal-muncul-atas.active { transform: translateY(0); opacity: 1; } /* Muncul Bawah */ .wdpal-muncul-bawah { transform: translateY(-100%); opacity: 0; transition: transform 1s ease, opacity 1s ease; } .wdpal-muncul-bawah.active { transform: translateY(0); opacity: 1; } /* Muncul Kiri */ .wdpal-muncul-kiri { position: relative; transform: translateX(-100%) scale(0.93); opacity: 0; transition: opacity 0.5s ease, transform 1s ease; } .wdpal-muncul-kiri.active { transform: translateX(0); opacity: 1; } /* Muncul Kanan */ .wdpal-muncul-kanan { position: relative; transform: translateX(100%) scale(0.93); opacity: 0; transition: opacity 0.5s ease, transform 1s ease; } .wdpal-muncul-kanan.active { transform: translateX(0); opacity: 1; } /* Rotate In */ .wdpal-rotate-in { transform: rotate(-180deg); opacity: 0; transition: transform 1s ease-out, opacity 1s ease-out; } .wdpal-rotate-in.active { transform: rotate(0deg); opacity: 1; } /* Flip X */ .wdpal-flip-x { transform: rotateX(90deg); opacity: 0; transition: transform 1s ease, opacity 1s ease; } .wdpal-flip-x.active { transform: rotateX(0deg); opacity: 1; } /* Flip Y */ .wdpal-flip-y { transform: rotateY(90deg); opacity: 0; transition: transform 1s ease, opacity 1s ease; } .wdpal-flip-y.active { transform: rotateY(0deg); opacity: 1; } /* Zoom In */ .wdpal-zoom-in { transform: scale(0.5); opacity: 0; transition: transform 1s ease, opacity 1s ease; } .wdpal-zoom-in.active { transform: scale(1); opacity: 1; } /* Zoom Out */ .wdpal-zoom-out { transform: scale(1.5); opacity: 0; transition: transform 1s ease, opacity 1s ease; } .wdpal-zoom-out.active { transform: scale(1); opacity: 1; }
//* script show-hide by andy dari weddingpress *// document.addEventListener("DOMContentLoaded", function () { var btnAmplop = document.getElementById("btnAmplop"); var btnHide = document.getElementById("btn-hide"); var amplop = document.getElementById("amplop"); // Sembunyikan btn-hide dan amplop saat halaman dimuat btnHide.style.display = "none"; amplop.style.display = "none"; // Fungsi untuk menampilkan btn-hide dan amplop saat btnAmplop diklik btnAmplop.onclick = function () { // Menampilkan btn-hide sebagai flex btnHide.style.display = "flex"; // Menyembunyikan btnAmplop btnAmplop.style.display = "none"; // Menampilkan section amplop sebagai flex amplop.style.display = "flex"; }; // Fungsi untuk menampilkan btnAmplop kembali dan menyembunyikan btn-hide saat btn-hide diklik btnHide.onclick = function () { // Menyembunyikan btn-hide btnHide.style.display = "none"; // Menampilkan btnAmplop kembali sebagai block (atau flex) btnAmplop.style.display = "block"; // atau flex, tergantung tata letak yang diinginkan // Menyembunyikan section amplop amplop.style.display = "none"; }; });
Post Views: 2,576