<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Janji Sejati Digital Wedding Invitation</title>
	<atom:link href="https://janjisejati.id/feed/" rel="self" type="application/rss+xml" />
	<link>https://janjisejati.id/</link>
	<description>Janji sejati untuk sehidup semati</description>
	<lastBuildDate>Mon, 13 Apr 2026 07:13:43 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://janjisejati.id/janjisejati/storage/2024/08/cropped-5-removebg-preview-e1724920232679-32x32.png</url>
	<title>Janji Sejati Digital Wedding Invitation</title>
	<link>https://janjisejati.id/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Invitation Ariel &#038; Silvi</title>
		<link>https://janjisejati.id/invitation-ariel-silvi/</link>
					<comments>https://janjisejati.id/invitation-ariel-silvi/#comments</comments>
		
		<dc:creator><![CDATA[janjisejati]]></dc:creator>
		<pubDate>Mon, 13 Apr 2026 07:12:39 +0000</pubDate>
				<category><![CDATA[Tak Berkategori]]></category>
		<guid isPermaLink="false">https://janjisejati.id/?p=14960</guid>

					<description><![CDATA[<p>Kirim Undangan Untuk Para Tamu Kirim Undangan Untuk Para Tamu Spesial. Cara Membuat Nama Tamu di Website Masukkan nama tamu undangan kamu pada kolom nama tamu. Pisahkan dengan baris baru (enter) untuk memisahkan nama yang akan di undang. Masukkan nama tamu, nama tamu support simbol (&#38;) koma(,) titik(.) contohnya : Andy &#38; Zhea Merubah Kata [&#8230;]</p>
<p>The post <a href="https://janjisejati.id/invitation-ariel-silvi/">Invitation Ariel &#038; Silvi</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="14960" class="elementor elementor-14960" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-2a4b483e e-flex e-con-boxed e-con e-parent" data-id="2a4b483e" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-16427535 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="16427535" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<style>/*! elementor - v3.21.0 - 31-03-2024 */
.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}</style><h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-ec1fff8 wdp-sticky-section-no elementor-widget elementor-widget-image" data-id="ec1fff8" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
			<style>/*! elementor - v3.21.0 - 31-03-2024 */
.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=".svg"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}</style>											<a href="https://websiteundangan.com/" target="_blank">
							<img fetchpriority="high" decoding="async" width="501" height="121" src="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png" class="attachment-full size-full wp-image-414" alt="" srcset="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png 501w, https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1-300x72.png 300w" sizes="(max-width: 501px) 100vw, 501px" />								</a>
													</div>
				</div>
				<div class="elementor-element elementor-element-530ff6ca elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="530ff6ca" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
			<style>/*! elementor - v3.21.0 - 31-03-2024 */
.elementor-widget-divider{--divider-border-style:none;--divider-border-width:1px;--divider-color:#0c0d0e;--divider-icon-size:20px;--divider-element-spacing:10px;--divider-pattern-height:24px;--divider-pattern-size:20px;--divider-pattern-url:none;--divider-pattern-repeat:repeat-x}.elementor-widget-divider .elementor-divider{display:flex}.elementor-widget-divider .elementor-divider__text{font-size:15px;line-height:1;max-width:95%}.elementor-widget-divider .elementor-divider__element{margin:0 var(--divider-element-spacing);flex-shrink:0}.elementor-widget-divider .elementor-icon{font-size:var(--divider-icon-size)}.elementor-widget-divider .elementor-divider-separator{display:flex;margin:0;direction:ltr}.elementor-widget-divider--view-line_icon .elementor-divider-separator,.elementor-widget-divider--view-line_text .elementor-divider-separator{align-items:center}.elementor-widget-divider--view-line_icon .elementor-divider-separator:after,.elementor-widget-divider--view-line_icon .elementor-divider-separator:before,.elementor-widget-divider--view-line_text .elementor-divider-separator:after,.elementor-widget-divider--view-line_text .elementor-divider-separator:before{display:block;content:"";border-block-end:0;flex-grow:1;border-block-start:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--element-align-left .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type{flex-grow:0;flex-shrink:100}.elementor-widget-divider--element-align-left .elementor-divider-separator:before{content:none}.elementor-widget-divider--element-align-left .elementor-divider__element{margin-left:0}.elementor-widget-divider--element-align-right .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type{flex-grow:0;flex-shrink:100}.elementor-widget-divider--element-align-right .elementor-divider-separator:after{content:none}.elementor-widget-divider--element-align-right .elementor-divider__element{margin-right:0}.elementor-widget-divider--element-align-start .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type{flex-grow:0;flex-shrink:100}.elementor-widget-divider--element-align-start .elementor-divider-separator:before{content:none}.elementor-widget-divider--element-align-start .elementor-divider__element{margin-inline-start:0}.elementor-widget-divider--element-align-end .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type{flex-grow:0;flex-shrink:100}.elementor-widget-divider--element-align-end .elementor-divider-separator:after{content:none}.elementor-widget-divider--element-align-end .elementor-divider__element{margin-inline-end:0}.elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator{border-block-start:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--separator-type-pattern{--divider-border-style:none}.elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before,.elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator{width:100%;min-height:var(--divider-pattern-height);-webkit-mask-size:var(--divider-pattern-size) 100%;mask-size:var(--divider-pattern-size) 100%;-webkit-mask-repeat:var(--divider-pattern-repeat);mask-repeat:var(--divider-pattern-repeat);background-color:var(--divider-color);-webkit-mask-image:var(--divider-pattern-url);mask-image:var(--divider-pattern-url)}.elementor-widget-divider--no-spacing{--divider-pattern-size:auto}.elementor-widget-divider--bg-round{--divider-pattern-repeat:round}.rtl .elementor-widget-divider .elementor-divider__text{direction:rtl}.e-con-inner>.elementor-widget-divider,.e-con>.elementor-widget-divider{width:var(--container-widget-width,100%);--flex-grow:var(--container-widget-flex-grow)}</style>		<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-13313510 e-con-full e-flex e-con e-child" data-id="13313510" data-element_type="container">
		<div class="elementor-element elementor-element-7ccc6bfc e-con-full e-flex e-con e-child" data-id="7ccc6bfc" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;,&quot;sticky&quot;:&quot;top&quot;,&quot;sticky_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;],&quot;sticky_offset&quot;:10,&quot;sticky_parent&quot;:&quot;yes&quot;,&quot;sticky_effects_offset&quot;:0}">
				<div class="elementor-element elementor-element-585b0bfa wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="585b0bfa" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu Spesial.</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-1ba2893 wdp-sticky-section-no elementor-widget elementor-widget-toggle" data-id="1ba2893" data-element_type="widget" data-widget_type="toggle.default">
				<div class="elementor-widget-container">
			<style>/*! elementor - v3.21.0 - 31-03-2024 */
.elementor-toggle{text-align:start}.elementor-toggle .elementor-tab-title{font-weight:700;line-height:1;margin:0;padding:15px;border-bottom:1px solid #d5d8dc;cursor:pointer;outline:none}.elementor-toggle .elementor-tab-title .elementor-toggle-icon{display:inline-block;width:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon svg{margin-inline-start:-5px;width:1em;height:1em}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-right{float:right;text-align:right}.elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-left{float:left;text-align:left}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-closed{display:block}.elementor-toggle .elementor-tab-title .elementor-toggle-icon .elementor-toggle-icon-opened{display:none}.elementor-toggle .elementor-tab-title.elementor-active{border-bottom:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-closed{display:none}.elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon-opened{display:block}.elementor-toggle .elementor-tab-content{padding:15px;border-bottom:1px solid #d5d8dc;display:none}@media (max-width:767px){.elementor-toggle .elementor-tab-title{padding:12px}.elementor-toggle .elementor-tab-content{padding:12px 10px}}.e-con-inner>.elementor-widget-toggle,.e-con>.elementor-widget-toggle{width:var(--container-widget-width);--flex-grow:var(--container-widget-flex-grow)}</style>		<div class="elementor-toggle">
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2891" class="elementor-tab-title" data-tab="1" role="button" aria-controls="elementor-tab-content-2891" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Membuat Nama Tamu di Website</a>
					</div>

					<div id="elementor-tab-content-2891" class="elementor-tab-content elementor-clearfix" data-tab="1" role="region" aria-labelledby="elementor-tab-title-2891"><ul><li>Masukkan nama tamu undangan kamu pada kolom nama tamu.</li><li>Pisahkan dengan <strong>baris baru (enter)</strong> untuk memisahkan nama yang akan di undang.</li><li>Masukkan nama tamu, nama tamu support simbol (&amp;) koma(,) titik(.) contohnya : Andy &amp; Zhea</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2892" class="elementor-tab-title" data-tab="2" role="button" aria-controls="elementor-tab-content-2892" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Merubah Kata Pengantar</a>
					</div>

					<div id="elementor-tab-content-2892" class="elementor-tab-content elementor-clearfix" data-tab="2" role="region" aria-labelledby="elementor-tab-title-2892"><ul><li>Masukkan teks pengantar sesuai dengan kebutuhan, anda pun bisa menyisipkan link undangan dan custom nama tamu pada bagian teks pengantar yang akan dikirimkan.</li><li>Pada saat pengiriman  ada tambahan shortcode <strong>[link-undangan]</strong> untuk menyisipkan link undangan kedalam teks pengantar.</li><li>Saat pengiriman dengan teks pengantar, tambahan shortcode <strong>[nama]</strong> untuk menyisipkan nama tamu yang akan di undang kedalam teks pengantar.</li><li>Klik <strong>Buat Daftar Nama Tamu</strong> jika sudah melakukan pengisian untuk mendapatkan link undangan yang akan dikirimkan.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2893" class="elementor-tab-title" data-tab="3" role="button" aria-controls="elementor-tab-content-2893" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Sebar Link Ke Tamu Undangan</a>
					</div>

					<div id="elementor-tab-content-2893" class="elementor-tab-content elementor-clearfix" data-tab="3" role="region" aria-labelledby="elementor-tab-title-2893"><ul><li>Klik tombol <strong>Share to Whatsapp</strong> untuk mengirimkan undangan ke kontak whatsapp tamu yang akan diundang.</li><li>Klik tombol <strong>Copy Link</strong>, dan paste-kan di WA / Socmed ketika kamu ingin menyebarkan undangannya</li><li>Klik tombol <strong>Copy Kata Pengantar</strong> untuk menyimpan hasil generate undangan.</li><li>Anda bisa menghapus kolom yang di generate dengan menekan tombol hapus.</li><li>Sebaiknya<strong> test dulu kirim ke pasangan</strong> jika baru pertama kali menggunakan fitur ini.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2894" class="elementor-tab-title" data-tab="4" role="button" aria-controls="elementor-tab-content-2894" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">CATATAN PENTING!</a>
					</div>

					<div id="elementor-tab-content-2894" class="elementor-tab-content elementor-clearfix" data-tab="4" role="region" aria-labelledby="elementor-tab-title-2894"><ul><li>Disarankan menggunakan smartphone/ HP dan pakai BROWSER CHROME untuk menggunakan generator tamu undangan ini.</li><li>Penggunaan generator melalui PC/ Laptop terkadang tidak bisa menampilkan gambar saat sebar undangan.</li><li>Anda bisa menampilkan gambar (thumbnail) saat sebar undangan dengan cara setelah klik tautan kirim whatsapp, tunggu beberapa detik supaya WA load gambarnya. JADI TIDAK LANGSUNG DIKIRIM sebelum gambar muncul.</li><li>Tidak direkomendasikan berbagi link melalui DM Instagram, karena IG bukanlah tempat berbagi link. Silahkan bagikan undangan anda secara personal melalui pesan di No. Whatsapp para tamu undangan anda.</li></ul></div>
				</div>
								</div>
				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-215a3644 e-con-full e-flex e-con e-child" data-id="215a3644" data-element_type="container">
				<div class="elementor-element elementor-element-fe0edc6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="fe0edc6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Buat undangan jadi lebih ekslusif dan personal di setiap undangan yang akan dikirimkan.<br>Silahkan Generate Link nya di bawah ini:</p>		</div>
				</div>
				<div class="elementor-element elementor-element-10b28bb0 elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="10b28bb0" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-4f2586f6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="4f2586f6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Terima kasih telah memilih produk kami.<br><br>Semoga pernikahan anda berkah dan menjadi<br>keluarga yang Sakinah, Mawaddah, Warahmah. Aamiin</p>		</div>
				</div>
				<div class="elementor-element elementor-element-507e0d2 wdp-sticky-section-no elementor-widget elementor-widget-shortcode" data-id="507e0d2" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode">    <style>
        .simple-guest-list-container {
            max-width: 800px;
            margin: 0 auto;
            font-family: Arial, sans-serif;
        }
        .simple-guest-list-section {
            background-color: #f5f5f5;
            padding: 20px;
            border-radius: 5px;
            margin-bottom: 30px;
        }
        .simple-guest-list-section h2 {
            margin-top: 0;
            margin-bottom: 20px;
        }
        .simple-guest-list-form input,
        .simple-guest-list-form textarea,
        .message-template-form textarea,
        .simple-guest-list-search input {
            width: 100%;
            padding: 10px;
            margin-bottom: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
        }
        .simple-guest-list-form textarea {
            height: 100px;
        }
        .message-template-form textarea {
            height: 200px;
            font-family: monospace;
            font-size: 14px;
        }
        .simple-guest-list-form button,
        .message-template-form button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 10px 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-item {
            border: 1px solid #ddd;
            padding: 15px;
            margin-bottom: 10px;
            border-radius: 4px;
            background-color: #fff;
        }
        .simple-guest-list-actions {
            margin-top: 10px;
            display: flex;
            gap: 5px;
        }
        .simple-guest-list-actions button {
            border: none;
            width: 40px;
            height: 40px;
            border-radius: 4px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .simple-guest-list-actions .wa-btn {
            background-color: #25D366;
            color: white;
        }
        .simple-guest-list-actions .fb-btn {
            background-color: #4267B2;
            color: white;
        }
        .simple-guest-list-actions .link-btn {
            background-color: #6c757d;
            color: white;
        }
        .simple-guest-list-actions .text-btn {
            background-color: #17a2b8;
            color: white;
        }
        .simple-guest-list-actions .delete-btn {
            background-color: #dc3545;
            color: white;
        }
        .simple-guest-list-notification {
            position: fixed;
            bottom: 20px;
            right: 20px;
            background-color: #4CAF50;
            color: white;
            padding: 10px 20px;
            border-radius: 4px;
            display: none;
            z-index: 1000;
        }
        .message-help {
            background-color: #f8f9fa;
            padding: 10px;
            border-left: 3px solid #17a2b8;
            margin-bottom: 15px;
        }
        .message-help code {
            background-color: #e9ecef;
            padding: 2px 4px;
            border-radius: 3px;
        }
        .tabs {
            display: flex;
            margin-bottom: 20px;
            border-bottom: 1px solid #ddd;
        }
        .tab {
            padding: 10px 15px;
            cursor: pointer;
            background-color: #f5f5f5;
            margin-right: 5px;
            border-radius: 5px 5px 0 0;
            border: 1px solid #ddd;
            border-bottom: none;
        }
        .tab.active {
            background-color: #fff;
            font-weight: bold;
        }
        .tab-content {
            display: none;
        }
        .tab-content.active {
            display: block;
        }
        .message-preview {
            background-color: #f8f9fa;
            padding: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
            white-space: pre-line;
            margin-top: 10px;
            margin-bottom: 15px;
        }
        /* Search and Pagination Styles */
        .simple-guest-list-search {
            display: flex;
            margin-bottom: 15px;
        }
        .simple-guest-list-search input {
            flex: 1;
            margin-bottom: 0;
            margin-right: 10px;
        }
        .simple-guest-list-search button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 0 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-search button.reset {
            background-color: #6c757d;
            margin-left: 5px;
        }
        .simple-guest-list-pagination {
            display: flex;
            justify-content: center;
            margin-top: 20px;
            flex-wrap: wrap;
            gap: 5px;
        }
        .pagination-btn {
            padding: 8px 12px;
            background-color: #f8f9fa;
            border: 1px solid #ddd;
            border-radius: 4px;
            cursor: pointer;
        }
        .pagination-btn:hover {
            background-color: #e9ecef;
        }
        .pagination-btn.active {
            background-color: #4CAF50;
            color: white;
            border-color: #4CAF50;
        }
        .pagination-btn.disabled {
            color: #6c757d;
            cursor: not-allowed;
        }
        .pagination-ellipsis {
            padding: 8px 12px;
        }
        .simple-guest-list-summary {
            text-align: center;
            color: #6c757d;
            margin-bottom: 10px;
            font-size: 14px;
        }
        .no-guests {
            text-align: center;
            padding: 20px;
            background-color: #f5f5f5;
            border-radius: 4px;
            color: #6c757d;
        }
        .loading-spinner {
            text-align: center;
            padding: 20px;
        }
        .loading-spinner::after {
            content: "";
            display: inline-block;
            width: 30px;
            height: 30px;
            border: 3px solid rgba(0, 0, 0, 0.1);
            border-radius: 50%;
            border-top-color: #4CAF50;
            animation: spin 1s ease-in-out infinite;
        }
        @keyframes spin {
            to { transform: rotate(360deg); }
        }
        @media (max-width: 768px) {
            .simple-guest-list-actions {
                flex-wrap: wrap;
            }
            .simple-guest-list-search {
                flex-direction: column;
            }
            .simple-guest-list-search input {
                margin-right: 0;
                margin-bottom: 10px;
            }
            .simple-guest-list-search button.reset {
                margin-left: 0;
                margin-top: 5px;
            }
        }
    </style>
    
    <div class="simple-guest-list-container">
        <div class="tabs">
            <div class="tab active" data-tab="guest-list">Daftar Tamu</div>
            <div class="tab" data-tab="message-template">Template Pesan</div>
        </div>
        
        <div class="tab-content active" id="guest-list-tab">
            <div class="simple-guest-list-section">
                <h2>Tambah Tamu</h2>
                <form id="simple-guest-form" class="simple-guest-list-form">
                    <input type="hidden" id="simple-guest-owner" value="ariel-silvi">
                    <input type="hidden" id="simple-guest-nonce" value="6cea97c579">
                    <input type="hidden" id="simple-guest-url" value="https://janjisejati.id/ariel-silvi/ariel-silvi">
                    <input type="hidden" id="simple-guest-items-per-page" value="10">
                    
                    <label for="simple-guest-name">Nama</label>
                    <input type="text" id="simple-guest-name" placeholder="Nama tamu" required>
                    
                    <label for="simple-guest-address">Alamat</label>
                    <textarea id="simple-guest-address" placeholder="Alamat tamu" required></textarea>
                    
                    <button type="submit">Tambah Tamu</button>
                </form>
            </div>
            
            <div class="simple-guest-list-items-container">
                <h2>Daftar Tamu Anda</h2>
                
                <div class="simple-guest-list-search">
                    <input type="text" id="guest-search-input" placeholder="Cari nama atau alamat...">
                    <button id="guest-search-button">Cari</button>
                    <button id="guest-search-reset" class="reset">Reset</button>
                </div>
                
                <div id="guest-list-summary" class="simple-guest-list-summary"></div>
                
                <div id="guest-list-content" class="simple-guest-list-items">
                    <div class="loading-spinner"></div>
                </div>
                
                <div id="guest-list-pagination" class="simple-guest-list-pagination"></div>
            </div>
        </div>
        
        <div class="tab-content" id="message-template-tab">
            <div class="simple-guest-list-section">
                <h2>Kustomisasi Template Pesan</h2>
                
                <div class="message-help">
                    <p>Gunakan parameter berikut dalam template pesan:</p>
                    <ul>
                        <li><code>[name]</code> - Nama tamu</li>
                        <li><code>[url]</code> - Link undangan (dengan parameter ?to=nama-tamu otomatis)</li>
                    </ul>
                    <p>Gunakan bintang (*) untuk membuat teks tebal di WhatsApp, contoh: *teks tebal*</p>
                    <p>Link undangan akan otomatis ditambahkan parameter <code>?to=nama-tamu</code> untuk personalisasi.</p>
                </div>
                
                <form id="message-template-form" class="message-template-form">
                    <textarea id="message-template">*Assalamualaikum Warahmatullahi Wabarakatuh*

Tanpa mengurangi rasa hormat, perkenankan kami mengundang Bapak/Ibu/Saudara/i:
*[name]* 
untuk menghadiri acara kami.
*Berikut link undangan kami*, untuk info lengkap dari acara bisa kunjungi :
[url]

Merupakan suatu kebahagiaan bagi kami apabila Bapak/Ibu/Saudara/i berkenan untuk hadir dan memberikan doa restu.
*Mohon maaf perihal undangan hanya di bagikan melalui pesan ini.*
Dan agar selalu menjaga kesehatan bersama serta datang pada waktu yang telah ditentukan.*

Terima kasih banyak atas perhatiannya.

*Wassalamualaikum Warahmatullahi Wabarakatuh*</textarea>
                    
                    <h3>Preview Pesan</h3>
                    <div class="message-preview" id="message-preview"></div>
                    
                    <button type="submit">Simpan Template</button>
                </form>
            </div>
        </div>
        
        <div class="simple-guest-list-notification" id="simple-guest-notification"></div>
    </div>
    
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        // Variables
        var ownerId = document.getElementById('simple-guest-owner').value;
        var nonce = document.getElementById('simple-guest-nonce').value;
        var invitationUrl = document.getElementById('simple-guest-url').value;
        var itemsPerPage = parseInt(document.getElementById('simple-guest-items-per-page').value);
        var messageTemplate = document.getElementById('message-template').value;
        var currentPage = 1;
        var currentSearch = '';
        
        // Log the base URL for debugging
        console.log("Base Invitation URL: " + invitationUrl);
        
        // Initial guest list load
        loadGuests(1, '');
        
        // Tabs functionality
        var tabs = document.querySelectorAll('.tab');
        tabs.forEach(function(tab) {
            tab.addEventListener('click', function() {
                // Remove active class from all tabs
                tabs.forEach(function(t) {
                    t.classList.remove('active');
                });
                
                // Add active class to clicked tab
                this.classList.add('active');
                
                // Hide all tab contents
                document.querySelectorAll('.tab-content').forEach(function(content) {
                    content.classList.remove('active');
                });
                
                // Show the selected tab content
                document.getElementById(this.getAttribute('data-tab') + '-tab').classList.add('active');
            });
        });
        
        // Search functionality
        document.getElementById('guest-search-button').addEventListener('click', function() {
            var searchValue = document.getElementById('guest-search-input').value.trim();
            currentSearch = searchValue;
            loadGuests(1, searchValue);
        });
        
        // Press Enter in search input
        document.getElementById('guest-search-input').addEventListener('keypress', function(e) {
            if (e.key === 'Enter') {
                e.preventDefault();
                var searchValue = this.value.trim();
                currentSearch = searchValue;
                loadGuests(1, searchValue);
            }
        });
        
        // Reset search
        document.getElementById('guest-search-reset').addEventListener('click', function() {
            document.getElementById('guest-search-input').value = '';
            currentSearch = '';
            loadGuests(1, '');
        });
        
        // Load guests with pagination and search
        function loadGuests(page, search) {
            // Show loading spinner
            document.getElementById('guest-list-content').innerHTML = '<div class="loading-spinner"></div>';
            document.getElementById('guest-list-pagination').innerHTML = '';
            document.getElementById('guest-list-summary').innerHTML = '';
            
            currentPage = page;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Update guest list
                        document.getElementById('guest-list-content').innerHTML = response.data.guests_html;
                        document.getElementById('guest-list-pagination').innerHTML = response.data.pagination_html;
                        document.getElementById('guest-list-summary').innerHTML = response.data.summary_html;
                        
                        // Update message template if provided
                        if (response.data.message_template) {
                            messageTemplate = response.data.message_template;
                            document.getElementById('message-template').value = messageTemplate;
                            updateMessagePreview();
                        }
                        
                        // Attach event listeners to new elements
                        attachGuestEventListeners();
                        attachPaginationEventListeners();
                    } else {
                        document.getElementById('guest-list-content').innerHTML = '<div class="no-guests">Error: ' + response.data + '</div>';
                    }
                }
            };
            xhr.send('action=simple_guest_list_search' + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&search=' + encodeURIComponent(search) + 
                '&page=' + encodeURIComponent(page) + 
                '&items_per_page=' + encodeURIComponent(itemsPerPage) + 
                '&invitation_url=' + encodeURIComponent('https://janjisejati.id/ariel-silvi') + 
                '&nonce=' + encodeURIComponent(nonce));
        }
        
        // Attach pagination event listeners
        function attachPaginationEventListeners() {
            var paginationButtons = document.querySelectorAll('.pagination-btn:not(.disabled)');
            paginationButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var page = parseInt(this.getAttribute('data-page'));
                    loadGuests(page, currentSearch);
                    
                    // Scroll to top of guest list
                    document.querySelector('.simple-guest-list-items-container').scrollIntoView({
                        behavior: 'smooth'
                    });
                });
            });
        }
        
        // Attach guest action event listeners
        function attachGuestEventListeners() {
            // Delete guest
            var deleteButtons = document.querySelectorAll('.delete-btn');
            deleteButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    if (!confirm('Anda yakin ingin menghapus tamu ini?')) {
                        return;
                    }
                    
                    var item = this.closest('.simple-guest-list-item');
                    var id = item.getAttribute('data-id');
                    
                    var xhr = new XMLHttpRequest();
                    xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
                    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                    xhr.onload = function() {
                        if (xhr.status === 200) {
                            var response = JSON.parse(xhr.responseText);
                            if (response.success) {
                                // Reload current page
                                loadGuests(currentPage, currentSearch);
                            } else {
                                alert('Error: ' + response.data);
                            }
                        }
                    };
                    xhr.send('action=simple_guest_list_delete' + 
                        '&id=' + encodeURIComponent(id) + 
                        '&owner_id=' + encodeURIComponent(ownerId) + 
                        '&nonce=' + encodeURIComponent(nonce));
                });
            });
            
            // Share to WhatsApp
            var waButtons = document.querySelectorAll('.wa-btn');
            waButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    var text = getMessageText(name, personalizedUrl);
                    window.open('https://wa.me/?text=' + encodeURIComponent(text), '_blank');
                });
            });
            
            // Share to Facebook
            var fbButtons = document.querySelectorAll('.fb-btn');
            fbButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(personalizedUrl), '_blank');
                });
            });
            
            // Copy link
            var linkButtons = document.querySelectorAll('.link-btn');
            linkButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    copyToClipboard(personalizedUrl);
                    showNotification('Link berhasil disalin!');
                });
            });
            
            // Copy text
            var textButtons = document.querySelectorAll('.text-btn');
            textButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    var text = getMessageText(name, invitationUrl);
                    copyToClipboard(text);
                    showNotification('Kata pengantar berhasil disalin!');
                });
            });
        }
        
        // Form submission for adding guests
        document.getElementById('simple-guest-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var name = document.getElementById('simple-guest-name').value;
            var address = document.getElementById('simple-guest-address').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Clear form
                        document.getElementById('simple-guest-name').value = '';
                        document.getElementById('simple-guest-address').value = '';
                        
                        // Reload first page without search
                        document.getElementById('guest-search-input').value = '';
                        currentSearch = '';
                        loadGuests(1, '');
                        
                        // Show success notification
                        showNotification('Tamu berhasil ditambahkan!');
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_add' + 
                '&name=' + encodeURIComponent(name) + 
                '&address=' + encodeURIComponent(address) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Form submission for saving message template
        document.getElementById('message-template-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var message = document.getElementById('message-template').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        showNotification('Template pesan berhasil disimpan!');
                        messageTemplate = message;
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_save_message' + 
                '&message=' + encodeURIComponent(message) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Message template live preview
        var messageTemplateField = document.getElementById('message-template');
        var messagePreview = document.getElementById('message-preview');
        
        // Initial preview
        updateMessagePreview();
        
        // Update preview on input
        messageTemplateField.addEventListener('input', updateMessagePreview);
        
        function updateMessagePreview() {
            var sampleName = 'Nama Tamu';
            var previewUrl = invitationUrl + '?to=' + encodeURIComponent(sampleName);
            
            // Check if invitationUrl contains duplicate paths and fix it
            if (previewUrl.indexOf('/' + ownerId + '/' + ownerId) !== -1) {
                console.log('Fixing duplicate path in URL preview');
                previewUrl = previewUrl.replace('/' + ownerId + '/' + ownerId, '/' + ownerId);
            }
            
            var previewText = messageTemplateField.value
                .replace(/\[name\]/g, sampleName)
                .replace(/\[url\]/g, previewUrl);
            
            messagePreview.textContent = previewText;
        }
        
        // Helper function to get message text
        function getMessageText(name, baseUrl) {
            // Ensure we're using the proper base URL (without duplicated paths)
            var url = baseUrl;
            
            // Add the to parameter
            if (url.indexOf('?to=') === -1) {
                url = url + '?to=' + encodeURIComponent(name);
            }
            
            // When replacing URL, make sure the full URL is visible
            var text = messageTemplate
                .replace(/\[name\]/g, name)
                .replace(/\[url\]/g, url);
            
            return text;
        }
        
        // Helper function to copy to clipboard
        function copyToClipboard(text) {
            var textarea = document.createElement('textarea');
            textarea.value = text;
            document.body.appendChild(textarea);
            textarea.select();
            document.execCommand('copy');
            document.body.removeChild(textarea);
        }
        
        // Helper function to show notification
        function showNotification(message) {
            var notification = document.getElementById('simple-guest-notification');
            notification.textContent = message;
            notification.style.display = 'block';
            
            setTimeout(function() {
                notification.style.display = 'none';
            }, 2000);
        }
    });
    </script>
    </div>
				</div>
				</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-447340bb e-flex e-con-boxed e-con e-parent" data-id="447340bb" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-1a74a9ba wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="1a74a9ba" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Copyright JanjiSejati - All Rights Reserved</p>		</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://janjisejati.id/invitation-ariel-silvi/">Invitation Ariel &#038; Silvi</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://janjisejati.id/invitation-ariel-silvi/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Invitation Shinta &#038; Iwan (unduh mantu)</title>
		<link>https://janjisejati.id/invitation-shinta-iwan-unduh-mantu/</link>
					<comments>https://janjisejati.id/invitation-shinta-iwan-unduh-mantu/#respond</comments>
		
		<dc:creator><![CDATA[janjisejati]]></dc:creator>
		<pubDate>Wed, 08 Apr 2026 10:55:30 +0000</pubDate>
				<category><![CDATA[Tak Berkategori]]></category>
		<guid isPermaLink="false">https://janjisejati.id/?p=14862</guid>

					<description><![CDATA[<p>Kirim Undangan Untuk Para Tamu Kirim Undangan Untuk Para Tamu Spesial. Cara Membuat Nama Tamu di Website Masukkan nama tamu undangan kamu pada kolom nama tamu. Pisahkan dengan baris baru (enter) untuk memisahkan nama yang akan di undang. Masukkan nama tamu, nama tamu support simbol (&#38;) koma(,) titik(.) contohnya : Andy &#38; Zhea Merubah Kata [&#8230;]</p>
<p>The post <a href="https://janjisejati.id/invitation-shinta-iwan-unduh-mantu/">Invitation Shinta &#038; Iwan (unduh mantu)</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="14862" class="elementor elementor-14862" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-2a4b483e e-flex e-con-boxed e-con e-parent" data-id="2a4b483e" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-16427535 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="16427535" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-ec1fff8 wdp-sticky-section-no elementor-widget elementor-widget-image" data-id="ec1fff8" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
														<a href="https://websiteundangan.com/" target="_blank">
							<img fetchpriority="high" decoding="async" width="501" height="121" src="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png" class="attachment-full size-full wp-image-414" alt="" srcset="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png 501w, https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1-300x72.png 300w" sizes="(max-width: 501px) 100vw, 501px" />								</a>
													</div>
				</div>
				<div class="elementor-element elementor-element-530ff6ca elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="530ff6ca" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-13313510 e-con-full e-flex e-con e-child" data-id="13313510" data-element_type="container">
		<div class="elementor-element elementor-element-7ccc6bfc e-con-full e-flex e-con e-child" data-id="7ccc6bfc" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;,&quot;sticky&quot;:&quot;top&quot;,&quot;sticky_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;],&quot;sticky_offset&quot;:10,&quot;sticky_parent&quot;:&quot;yes&quot;,&quot;sticky_effects_offset&quot;:0}">
				<div class="elementor-element elementor-element-585b0bfa wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="585b0bfa" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu Spesial.</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-1ba2893 wdp-sticky-section-no elementor-widget elementor-widget-toggle" data-id="1ba2893" data-element_type="widget" data-widget_type="toggle.default">
				<div class="elementor-widget-container">
					<div class="elementor-toggle">
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2891" class="elementor-tab-title" data-tab="1" role="button" aria-controls="elementor-tab-content-2891" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Membuat Nama Tamu di Website</a>
					</div>

					<div id="elementor-tab-content-2891" class="elementor-tab-content elementor-clearfix" data-tab="1" role="region" aria-labelledby="elementor-tab-title-2891"><ul><li>Masukkan nama tamu undangan kamu pada kolom nama tamu.</li><li>Pisahkan dengan <strong>baris baru (enter)</strong> untuk memisahkan nama yang akan di undang.</li><li>Masukkan nama tamu, nama tamu support simbol (&amp;) koma(,) titik(.) contohnya : Andy &amp; Zhea</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2892" class="elementor-tab-title" data-tab="2" role="button" aria-controls="elementor-tab-content-2892" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Merubah Kata Pengantar</a>
					</div>

					<div id="elementor-tab-content-2892" class="elementor-tab-content elementor-clearfix" data-tab="2" role="region" aria-labelledby="elementor-tab-title-2892"><ul><li>Masukkan teks pengantar sesuai dengan kebutuhan, anda pun bisa menyisipkan link undangan dan custom nama tamu pada bagian teks pengantar yang akan dikirimkan.</li><li>Pada saat pengiriman  ada tambahan shortcode <strong>[link-undangan]</strong> untuk menyisipkan link undangan kedalam teks pengantar.</li><li>Saat pengiriman dengan teks pengantar, tambahan shortcode <strong>[nama]</strong> untuk menyisipkan nama tamu yang akan di undang kedalam teks pengantar.</li><li>Klik <strong>Buat Daftar Nama Tamu</strong> jika sudah melakukan pengisian untuk mendapatkan link undangan yang akan dikirimkan.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2893" class="elementor-tab-title" data-tab="3" role="button" aria-controls="elementor-tab-content-2893" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Sebar Link Ke Tamu Undangan</a>
					</div>

					<div id="elementor-tab-content-2893" class="elementor-tab-content elementor-clearfix" data-tab="3" role="region" aria-labelledby="elementor-tab-title-2893"><ul><li>Klik tombol <strong>Share to Whatsapp</strong> untuk mengirimkan undangan ke kontak whatsapp tamu yang akan diundang.</li><li>Klik tombol <strong>Copy Link</strong>, dan paste-kan di WA / Socmed ketika kamu ingin menyebarkan undangannya</li><li>Klik tombol <strong>Copy Kata Pengantar</strong> untuk menyimpan hasil generate undangan.</li><li>Anda bisa menghapus kolom yang di generate dengan menekan tombol hapus.</li><li>Sebaiknya<strong> test dulu kirim ke pasangan</strong> jika baru pertama kali menggunakan fitur ini.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2894" class="elementor-tab-title" data-tab="4" role="button" aria-controls="elementor-tab-content-2894" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">CATATAN PENTING!</a>
					</div>

					<div id="elementor-tab-content-2894" class="elementor-tab-content elementor-clearfix" data-tab="4" role="region" aria-labelledby="elementor-tab-title-2894"><ul><li>Disarankan menggunakan smartphone/ HP dan pakai BROWSER CHROME untuk menggunakan generator tamu undangan ini.</li><li>Penggunaan generator melalui PC/ Laptop terkadang tidak bisa menampilkan gambar saat sebar undangan.</li><li>Anda bisa menampilkan gambar (thumbnail) saat sebar undangan dengan cara setelah klik tautan kirim whatsapp, tunggu beberapa detik supaya WA load gambarnya. JADI TIDAK LANGSUNG DIKIRIM sebelum gambar muncul.</li><li>Tidak direkomendasikan berbagi link melalui DM Instagram, karena IG bukanlah tempat berbagi link. Silahkan bagikan undangan anda secara personal melalui pesan di No. Whatsapp para tamu undangan anda.</li></ul></div>
				</div>
								</div>
				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-215a3644 e-con-full e-flex e-con e-child" data-id="215a3644" data-element_type="container">
				<div class="elementor-element elementor-element-fe0edc6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="fe0edc6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Buat undangan jadi lebih ekslusif dan personal di setiap undangan yang akan dikirimkan.<br>Silahkan Generate Link nya di bawah ini:</p>		</div>
				</div>
				<div class="elementor-element elementor-element-10b28bb0 elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="10b28bb0" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-4f2586f6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="4f2586f6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Terima kasih telah memilih produk kami.<br><br>Semoga pernikahan anda berkah dan menjadi<br>keluarga yang Sakinah, Mawaddah, Warahmah. Aamiin</p>		</div>
				</div>
				<div class="elementor-element elementor-element-507e0d2 wdp-sticky-section-no elementor-widget elementor-widget-shortcode" data-id="507e0d2" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode">    <style>
        .simple-guest-list-container {
            max-width: 800px;
            margin: 0 auto;
            font-family: Arial, sans-serif;
        }
        .simple-guest-list-section {
            background-color: #f5f5f5;
            padding: 20px;
            border-radius: 5px;
            margin-bottom: 30px;
        }
        .simple-guest-list-section h2 {
            margin-top: 0;
            margin-bottom: 20px;
        }
        .simple-guest-list-form input,
        .simple-guest-list-form textarea,
        .message-template-form textarea,
        .simple-guest-list-search input {
            width: 100%;
            padding: 10px;
            margin-bottom: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
        }
        .simple-guest-list-form textarea {
            height: 100px;
        }
        .message-template-form textarea {
            height: 200px;
            font-family: monospace;
            font-size: 14px;
        }
        .simple-guest-list-form button,
        .message-template-form button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 10px 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-item {
            border: 1px solid #ddd;
            padding: 15px;
            margin-bottom: 10px;
            border-radius: 4px;
            background-color: #fff;
        }
        .simple-guest-list-actions {
            margin-top: 10px;
            display: flex;
            gap: 5px;
        }
        .simple-guest-list-actions button {
            border: none;
            width: 40px;
            height: 40px;
            border-radius: 4px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .simple-guest-list-actions .wa-btn {
            background-color: #25D366;
            color: white;
        }
        .simple-guest-list-actions .fb-btn {
            background-color: #4267B2;
            color: white;
        }
        .simple-guest-list-actions .link-btn {
            background-color: #6c757d;
            color: white;
        }
        .simple-guest-list-actions .text-btn {
            background-color: #17a2b8;
            color: white;
        }
        .simple-guest-list-actions .delete-btn {
            background-color: #dc3545;
            color: white;
        }
        .simple-guest-list-notification {
            position: fixed;
            bottom: 20px;
            right: 20px;
            background-color: #4CAF50;
            color: white;
            padding: 10px 20px;
            border-radius: 4px;
            display: none;
            z-index: 1000;
        }
        .message-help {
            background-color: #f8f9fa;
            padding: 10px;
            border-left: 3px solid #17a2b8;
            margin-bottom: 15px;
        }
        .message-help code {
            background-color: #e9ecef;
            padding: 2px 4px;
            border-radius: 3px;
        }
        .tabs {
            display: flex;
            margin-bottom: 20px;
            border-bottom: 1px solid #ddd;
        }
        .tab {
            padding: 10px 15px;
            cursor: pointer;
            background-color: #f5f5f5;
            margin-right: 5px;
            border-radius: 5px 5px 0 0;
            border: 1px solid #ddd;
            border-bottom: none;
        }
        .tab.active {
            background-color: #fff;
            font-weight: bold;
        }
        .tab-content {
            display: none;
        }
        .tab-content.active {
            display: block;
        }
        .message-preview {
            background-color: #f8f9fa;
            padding: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
            white-space: pre-line;
            margin-top: 10px;
            margin-bottom: 15px;
        }
        /* Search and Pagination Styles */
        .simple-guest-list-search {
            display: flex;
            margin-bottom: 15px;
        }
        .simple-guest-list-search input {
            flex: 1;
            margin-bottom: 0;
            margin-right: 10px;
        }
        .simple-guest-list-search button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 0 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-search button.reset {
            background-color: #6c757d;
            margin-left: 5px;
        }
        .simple-guest-list-pagination {
            display: flex;
            justify-content: center;
            margin-top: 20px;
            flex-wrap: wrap;
            gap: 5px;
        }
        .pagination-btn {
            padding: 8px 12px;
            background-color: #f8f9fa;
            border: 1px solid #ddd;
            border-radius: 4px;
            cursor: pointer;
        }
        .pagination-btn:hover {
            background-color: #e9ecef;
        }
        .pagination-btn.active {
            background-color: #4CAF50;
            color: white;
            border-color: #4CAF50;
        }
        .pagination-btn.disabled {
            color: #6c757d;
            cursor: not-allowed;
        }
        .pagination-ellipsis {
            padding: 8px 12px;
        }
        .simple-guest-list-summary {
            text-align: center;
            color: #6c757d;
            margin-bottom: 10px;
            font-size: 14px;
        }
        .no-guests {
            text-align: center;
            padding: 20px;
            background-color: #f5f5f5;
            border-radius: 4px;
            color: #6c757d;
        }
        .loading-spinner {
            text-align: center;
            padding: 20px;
        }
        .loading-spinner::after {
            content: "";
            display: inline-block;
            width: 30px;
            height: 30px;
            border: 3px solid rgba(0, 0, 0, 0.1);
            border-radius: 50%;
            border-top-color: #4CAF50;
            animation: spin 1s ease-in-out infinite;
        }
        @keyframes spin {
            to { transform: rotate(360deg); }
        }
        @media (max-width: 768px) {
            .simple-guest-list-actions {
                flex-wrap: wrap;
            }
            .simple-guest-list-search {
                flex-direction: column;
            }
            .simple-guest-list-search input {
                margin-right: 0;
                margin-bottom: 10px;
            }
            .simple-guest-list-search button.reset {
                margin-left: 0;
                margin-top: 5px;
            }
        }
    </style>
    
    <div class="simple-guest-list-container">
        <div class="tabs">
            <div class="tab active" data-tab="guest-list">Daftar Tamu</div>
            <div class="tab" data-tab="message-template">Template Pesan</div>
        </div>
        
        <div class="tab-content active" id="guest-list-tab">
            <div class="simple-guest-list-section">
                <h2>Tambah Tamu</h2>
                <form id="simple-guest-form" class="simple-guest-list-form">
                    <input type="hidden" id="simple-guest-owner" value="shinta-iwan-unduh-mantu">
                    <input type="hidden" id="simple-guest-nonce" value="6cea97c579">
                    <input type="hidden" id="simple-guest-url" value="https://janjisejati.id/shinta-iwan-unduh-mantu/shinta-iwan-unduh-mantu">
                    <input type="hidden" id="simple-guest-items-per-page" value="10">
                    
                    <label for="simple-guest-name">Nama</label>
                    <input type="text" id="simple-guest-name" placeholder="Nama tamu" required>
                    
                    <label for="simple-guest-address">Alamat</label>
                    <textarea id="simple-guest-address" placeholder="Alamat tamu" required></textarea>
                    
                    <button type="submit">Tambah Tamu</button>
                </form>
            </div>
            
            <div class="simple-guest-list-items-container">
                <h2>Daftar Tamu Anda</h2>
                
                <div class="simple-guest-list-search">
                    <input type="text" id="guest-search-input" placeholder="Cari nama atau alamat...">
                    <button id="guest-search-button">Cari</button>
                    <button id="guest-search-reset" class="reset">Reset</button>
                </div>
                
                <div id="guest-list-summary" class="simple-guest-list-summary"></div>
                
                <div id="guest-list-content" class="simple-guest-list-items">
                    <div class="loading-spinner"></div>
                </div>
                
                <div id="guest-list-pagination" class="simple-guest-list-pagination"></div>
            </div>
        </div>
        
        <div class="tab-content" id="message-template-tab">
            <div class="simple-guest-list-section">
                <h2>Kustomisasi Template Pesan</h2>
                
                <div class="message-help">
                    <p>Gunakan parameter berikut dalam template pesan:</p>
                    <ul>
                        <li><code>[name]</code> - Nama tamu</li>
                        <li><code>[url]</code> - Link undangan (dengan parameter ?to=nama-tamu otomatis)</li>
                    </ul>
                    <p>Gunakan bintang (*) untuk membuat teks tebal di WhatsApp, contoh: *teks tebal*</p>
                    <p>Link undangan akan otomatis ditambahkan parameter <code>?to=nama-tamu</code> untuk personalisasi.</p>
                </div>
                
                <form id="message-template-form" class="message-template-form">
                    <textarea id="message-template">*Assalamualaikum Warahmatullahi Wabarakatuh*
Tanpa mengurangi rasa hormat, perkenankan kami mengundang Bapak/Ibu/Saudara/i *[name]* untuk menghadiri acara kami.
*Berikut link undangan kami*, untuk info lengkap dari acara bisa kunjungi :
[url]
Merupakan suatu kebahagiaan bagi kami apabila Bapak/Ibu/Saudara/i berkenan untuk hadir dan memberikan doa restu.
*Mohon maaf perihal undangan hanya di bagikan melalui pesan ini.*
Dan agar selalu menjaga kesehatan bersama serta datang pada waktu yang telah ditentukan.*
Terima kasih banyak atas perhatiannya.
*Wassalamualaikum Warahmatullahi Wabarakatuh*</textarea>
                    
                    <h3>Preview Pesan</h3>
                    <div class="message-preview" id="message-preview"></div>
                    
                    <button type="submit">Simpan Template</button>
                </form>
            </div>
        </div>
        
        <div class="simple-guest-list-notification" id="simple-guest-notification"></div>
    </div>
    
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        // Variables
        var ownerId = document.getElementById('simple-guest-owner').value;
        var nonce = document.getElementById('simple-guest-nonce').value;
        var invitationUrl = document.getElementById('simple-guest-url').value;
        var itemsPerPage = parseInt(document.getElementById('simple-guest-items-per-page').value);
        var messageTemplate = document.getElementById('message-template').value;
        var currentPage = 1;
        var currentSearch = '';
        
        // Log the base URL for debugging
        console.log("Base Invitation URL: " + invitationUrl);
        
        // Initial guest list load
        loadGuests(1, '');
        
        // Tabs functionality
        var tabs = document.querySelectorAll('.tab');
        tabs.forEach(function(tab) {
            tab.addEventListener('click', function() {
                // Remove active class from all tabs
                tabs.forEach(function(t) {
                    t.classList.remove('active');
                });
                
                // Add active class to clicked tab
                this.classList.add('active');
                
                // Hide all tab contents
                document.querySelectorAll('.tab-content').forEach(function(content) {
                    content.classList.remove('active');
                });
                
                // Show the selected tab content
                document.getElementById(this.getAttribute('data-tab') + '-tab').classList.add('active');
            });
        });
        
        // Search functionality
        document.getElementById('guest-search-button').addEventListener('click', function() {
            var searchValue = document.getElementById('guest-search-input').value.trim();
            currentSearch = searchValue;
            loadGuests(1, searchValue);
        });
        
        // Press Enter in search input
        document.getElementById('guest-search-input').addEventListener('keypress', function(e) {
            if (e.key === 'Enter') {
                e.preventDefault();
                var searchValue = this.value.trim();
                currentSearch = searchValue;
                loadGuests(1, searchValue);
            }
        });
        
        // Reset search
        document.getElementById('guest-search-reset').addEventListener('click', function() {
            document.getElementById('guest-search-input').value = '';
            currentSearch = '';
            loadGuests(1, '');
        });
        
        // Load guests with pagination and search
        function loadGuests(page, search) {
            // Show loading spinner
            document.getElementById('guest-list-content').innerHTML = '<div class="loading-spinner"></div>';
            document.getElementById('guest-list-pagination').innerHTML = '';
            document.getElementById('guest-list-summary').innerHTML = '';
            
            currentPage = page;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Update guest list
                        document.getElementById('guest-list-content').innerHTML = response.data.guests_html;
                        document.getElementById('guest-list-pagination').innerHTML = response.data.pagination_html;
                        document.getElementById('guest-list-summary').innerHTML = response.data.summary_html;
                        
                        // Update message template if provided
                        if (response.data.message_template) {
                            messageTemplate = response.data.message_template;
                            document.getElementById('message-template').value = messageTemplate;
                            updateMessagePreview();
                        }
                        
                        // Attach event listeners to new elements
                        attachGuestEventListeners();
                        attachPaginationEventListeners();
                    } else {
                        document.getElementById('guest-list-content').innerHTML = '<div class="no-guests">Error: ' + response.data + '</div>';
                    }
                }
            };
            xhr.send('action=simple_guest_list_search' + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&search=' + encodeURIComponent(search) + 
                '&page=' + encodeURIComponent(page) + 
                '&items_per_page=' + encodeURIComponent(itemsPerPage) + 
                '&invitation_url=' + encodeURIComponent('https://janjisejati.id/shinta-iwan-unduh-mantu') + 
                '&nonce=' + encodeURIComponent(nonce));
        }
        
        // Attach pagination event listeners
        function attachPaginationEventListeners() {
            var paginationButtons = document.querySelectorAll('.pagination-btn:not(.disabled)');
            paginationButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var page = parseInt(this.getAttribute('data-page'));
                    loadGuests(page, currentSearch);
                    
                    // Scroll to top of guest list
                    document.querySelector('.simple-guest-list-items-container').scrollIntoView({
                        behavior: 'smooth'
                    });
                });
            });
        }
        
        // Attach guest action event listeners
        function attachGuestEventListeners() {
            // Delete guest
            var deleteButtons = document.querySelectorAll('.delete-btn');
            deleteButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    if (!confirm('Anda yakin ingin menghapus tamu ini?')) {
                        return;
                    }
                    
                    var item = this.closest('.simple-guest-list-item');
                    var id = item.getAttribute('data-id');
                    
                    var xhr = new XMLHttpRequest();
                    xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
                    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                    xhr.onload = function() {
                        if (xhr.status === 200) {
                            var response = JSON.parse(xhr.responseText);
                            if (response.success) {
                                // Reload current page
                                loadGuests(currentPage, currentSearch);
                            } else {
                                alert('Error: ' + response.data);
                            }
                        }
                    };
                    xhr.send('action=simple_guest_list_delete' + 
                        '&id=' + encodeURIComponent(id) + 
                        '&owner_id=' + encodeURIComponent(ownerId) + 
                        '&nonce=' + encodeURIComponent(nonce));
                });
            });
            
            // Share to WhatsApp
            var waButtons = document.querySelectorAll('.wa-btn');
            waButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    var text = getMessageText(name, personalizedUrl);
                    window.open('https://wa.me/?text=' + encodeURIComponent(text), '_blank');
                });
            });
            
            // Share to Facebook
            var fbButtons = document.querySelectorAll('.fb-btn');
            fbButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(personalizedUrl), '_blank');
                });
            });
            
            // Copy link
            var linkButtons = document.querySelectorAll('.link-btn');
            linkButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    copyToClipboard(personalizedUrl);
                    showNotification('Link berhasil disalin!');
                });
            });
            
            // Copy text
            var textButtons = document.querySelectorAll('.text-btn');
            textButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    var text = getMessageText(name, invitationUrl);
                    copyToClipboard(text);
                    showNotification('Kata pengantar berhasil disalin!');
                });
            });
        }
        
        // Form submission for adding guests
        document.getElementById('simple-guest-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var name = document.getElementById('simple-guest-name').value;
            var address = document.getElementById('simple-guest-address').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Clear form
                        document.getElementById('simple-guest-name').value = '';
                        document.getElementById('simple-guest-address').value = '';
                        
                        // Reload first page without search
                        document.getElementById('guest-search-input').value = '';
                        currentSearch = '';
                        loadGuests(1, '');
                        
                        // Show success notification
                        showNotification('Tamu berhasil ditambahkan!');
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_add' + 
                '&name=' + encodeURIComponent(name) + 
                '&address=' + encodeURIComponent(address) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Form submission for saving message template
        document.getElementById('message-template-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var message = document.getElementById('message-template').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        showNotification('Template pesan berhasil disimpan!');
                        messageTemplate = message;
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_save_message' + 
                '&message=' + encodeURIComponent(message) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Message template live preview
        var messageTemplateField = document.getElementById('message-template');
        var messagePreview = document.getElementById('message-preview');
        
        // Initial preview
        updateMessagePreview();
        
        // Update preview on input
        messageTemplateField.addEventListener('input', updateMessagePreview);
        
        function updateMessagePreview() {
            var sampleName = 'Nama Tamu';
            var previewUrl = invitationUrl + '?to=' + encodeURIComponent(sampleName);
            
            // Check if invitationUrl contains duplicate paths and fix it
            if (previewUrl.indexOf('/' + ownerId + '/' + ownerId) !== -1) {
                console.log('Fixing duplicate path in URL preview');
                previewUrl = previewUrl.replace('/' + ownerId + '/' + ownerId, '/' + ownerId);
            }
            
            var previewText = messageTemplateField.value
                .replace(/\[name\]/g, sampleName)
                .replace(/\[url\]/g, previewUrl);
            
            messagePreview.textContent = previewText;
        }
        
        // Helper function to get message text
        function getMessageText(name, baseUrl) {
            // Ensure we're using the proper base URL (without duplicated paths)
            var url = baseUrl;
            
            // Add the to parameter
            if (url.indexOf('?to=') === -1) {
                url = url + '?to=' + encodeURIComponent(name);
            }
            
            // When replacing URL, make sure the full URL is visible
            var text = messageTemplate
                .replace(/\[name\]/g, name)
                .replace(/\[url\]/g, url);
            
            return text;
        }
        
        // Helper function to copy to clipboard
        function copyToClipboard(text) {
            var textarea = document.createElement('textarea');
            textarea.value = text;
            document.body.appendChild(textarea);
            textarea.select();
            document.execCommand('copy');
            document.body.removeChild(textarea);
        }
        
        // Helper function to show notification
        function showNotification(message) {
            var notification = document.getElementById('simple-guest-notification');
            notification.textContent = message;
            notification.style.display = 'block';
            
            setTimeout(function() {
                notification.style.display = 'none';
            }, 2000);
        }
    });
    </script>
    </div>
				</div>
				</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-447340bb e-flex e-con-boxed e-con e-parent" data-id="447340bb" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-1a74a9ba wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="1a74a9ba" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Copyright JanjiSejati - All Rights Reserved</p>		</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://janjisejati.id/invitation-shinta-iwan-unduh-mantu/">Invitation Shinta &#038; Iwan (unduh mantu)</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://janjisejati.id/invitation-shinta-iwan-unduh-mantu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Invitation Desela &#038; Wima</title>
		<link>https://janjisejati.id/invitation-desela-wima/</link>
					<comments>https://janjisejati.id/invitation-desela-wima/#respond</comments>
		
		<dc:creator><![CDATA[janjisejati]]></dc:creator>
		<pubDate>Wed, 08 Apr 2026 01:02:51 +0000</pubDate>
				<category><![CDATA[Tak Berkategori]]></category>
		<guid isPermaLink="false">https://janjisejati.id/?p=14787</guid>

					<description><![CDATA[<p>Kirim Undangan Untuk Para Tamu Kirim Undangan Untuk Para Tamu Spesial. Cara Membuat Nama Tamu di Website Masukkan nama tamu undangan kamu pada kolom nama tamu. Pisahkan dengan baris baru (enter) untuk memisahkan nama yang akan di undang. Masukkan nama tamu, nama tamu support simbol (&#38;) koma(,) titik(.) contohnya : Andy &#38; Zhea Merubah Kata [&#8230;]</p>
<p>The post <a href="https://janjisejati.id/invitation-desela-wima/">Invitation Desela &#038; Wima</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="14787" class="elementor elementor-14787" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-2a4b483e e-flex e-con-boxed e-con e-parent" data-id="2a4b483e" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-16427535 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="16427535" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-ec1fff8 wdp-sticky-section-no elementor-widget elementor-widget-image" data-id="ec1fff8" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
														<a href="https://websiteundangan.com/" target="_blank">
							<img fetchpriority="high" decoding="async" width="501" height="121" src="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png" class="attachment-full size-full wp-image-414" alt="" srcset="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png 501w, https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1-300x72.png 300w" sizes="(max-width: 501px) 100vw, 501px" />								</a>
													</div>
				</div>
				<div class="elementor-element elementor-element-530ff6ca elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="530ff6ca" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-13313510 e-con-full e-flex e-con e-child" data-id="13313510" data-element_type="container">
		<div class="elementor-element elementor-element-7ccc6bfc e-con-full e-flex e-con e-child" data-id="7ccc6bfc" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;,&quot;sticky&quot;:&quot;top&quot;,&quot;sticky_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;],&quot;sticky_offset&quot;:10,&quot;sticky_parent&quot;:&quot;yes&quot;,&quot;sticky_effects_offset&quot;:0}">
				<div class="elementor-element elementor-element-585b0bfa wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="585b0bfa" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu Spesial.</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-1ba2893 wdp-sticky-section-no elementor-widget elementor-widget-toggle" data-id="1ba2893" data-element_type="widget" data-widget_type="toggle.default">
				<div class="elementor-widget-container">
					<div class="elementor-toggle">
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2891" class="elementor-tab-title" data-tab="1" role="button" aria-controls="elementor-tab-content-2891" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Membuat Nama Tamu di Website</a>
					</div>

					<div id="elementor-tab-content-2891" class="elementor-tab-content elementor-clearfix" data-tab="1" role="region" aria-labelledby="elementor-tab-title-2891"><ul><li>Masukkan nama tamu undangan kamu pada kolom nama tamu.</li><li>Pisahkan dengan <strong>baris baru (enter)</strong> untuk memisahkan nama yang akan di undang.</li><li>Masukkan nama tamu, nama tamu support simbol (&amp;) koma(,) titik(.) contohnya : Andy &amp; Zhea</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2892" class="elementor-tab-title" data-tab="2" role="button" aria-controls="elementor-tab-content-2892" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Merubah Kata Pengantar</a>
					</div>

					<div id="elementor-tab-content-2892" class="elementor-tab-content elementor-clearfix" data-tab="2" role="region" aria-labelledby="elementor-tab-title-2892"><ul><li>Masukkan teks pengantar sesuai dengan kebutuhan, anda pun bisa menyisipkan link undangan dan custom nama tamu pada bagian teks pengantar yang akan dikirimkan.</li><li>Pada saat pengiriman  ada tambahan shortcode <strong>[link-undangan]</strong> untuk menyisipkan link undangan kedalam teks pengantar.</li><li>Saat pengiriman dengan teks pengantar, tambahan shortcode <strong>[nama]</strong> untuk menyisipkan nama tamu yang akan di undang kedalam teks pengantar.</li><li>Klik <strong>Buat Daftar Nama Tamu</strong> jika sudah melakukan pengisian untuk mendapatkan link undangan yang akan dikirimkan.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2893" class="elementor-tab-title" data-tab="3" role="button" aria-controls="elementor-tab-content-2893" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Sebar Link Ke Tamu Undangan</a>
					</div>

					<div id="elementor-tab-content-2893" class="elementor-tab-content elementor-clearfix" data-tab="3" role="region" aria-labelledby="elementor-tab-title-2893"><ul><li>Klik tombol <strong>Share to Whatsapp</strong> untuk mengirimkan undangan ke kontak whatsapp tamu yang akan diundang.</li><li>Klik tombol <strong>Copy Link</strong>, dan paste-kan di WA / Socmed ketika kamu ingin menyebarkan undangannya</li><li>Klik tombol <strong>Copy Kata Pengantar</strong> untuk menyimpan hasil generate undangan.</li><li>Anda bisa menghapus kolom yang di generate dengan menekan tombol hapus.</li><li>Sebaiknya<strong> test dulu kirim ke pasangan</strong> jika baru pertama kali menggunakan fitur ini.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2894" class="elementor-tab-title" data-tab="4" role="button" aria-controls="elementor-tab-content-2894" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">CATATAN PENTING!</a>
					</div>

					<div id="elementor-tab-content-2894" class="elementor-tab-content elementor-clearfix" data-tab="4" role="region" aria-labelledby="elementor-tab-title-2894"><ul><li>Disarankan menggunakan smartphone/ HP dan pakai BROWSER CHROME untuk menggunakan generator tamu undangan ini.</li><li>Penggunaan generator melalui PC/ Laptop terkadang tidak bisa menampilkan gambar saat sebar undangan.</li><li>Anda bisa menampilkan gambar (thumbnail) saat sebar undangan dengan cara setelah klik tautan kirim whatsapp, tunggu beberapa detik supaya WA load gambarnya. JADI TIDAK LANGSUNG DIKIRIM sebelum gambar muncul.</li><li>Tidak direkomendasikan berbagi link melalui DM Instagram, karena IG bukanlah tempat berbagi link. Silahkan bagikan undangan anda secara personal melalui pesan di No. Whatsapp para tamu undangan anda.</li></ul></div>
				</div>
								</div>
				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-215a3644 e-con-full e-flex e-con e-child" data-id="215a3644" data-element_type="container">
				<div class="elementor-element elementor-element-fe0edc6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="fe0edc6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Buat undangan jadi lebih ekslusif dan personal di setiap undangan yang akan dikirimkan.<br>Silahkan Generate Link nya di bawah ini:</p>		</div>
				</div>
				<div class="elementor-element elementor-element-10b28bb0 elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="10b28bb0" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-4f2586f6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="4f2586f6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Terima kasih telah memilih produk kami.<br><br>Semoga pernikahan anda berkah dan menjadi<br>keluarga yang Sakinah, Mawaddah, Warahmah. Aamiin</p>		</div>
				</div>
				<div class="elementor-element elementor-element-507e0d2 wdp-sticky-section-no elementor-widget elementor-widget-shortcode" data-id="507e0d2" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode">    <style>
        .simple-guest-list-container {
            max-width: 800px;
            margin: 0 auto;
            font-family: Arial, sans-serif;
        }
        .simple-guest-list-section {
            background-color: #f5f5f5;
            padding: 20px;
            border-radius: 5px;
            margin-bottom: 30px;
        }
        .simple-guest-list-section h2 {
            margin-top: 0;
            margin-bottom: 20px;
        }
        .simple-guest-list-form input,
        .simple-guest-list-form textarea,
        .message-template-form textarea,
        .simple-guest-list-search input {
            width: 100%;
            padding: 10px;
            margin-bottom: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
        }
        .simple-guest-list-form textarea {
            height: 100px;
        }
        .message-template-form textarea {
            height: 200px;
            font-family: monospace;
            font-size: 14px;
        }
        .simple-guest-list-form button,
        .message-template-form button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 10px 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-item {
            border: 1px solid #ddd;
            padding: 15px;
            margin-bottom: 10px;
            border-radius: 4px;
            background-color: #fff;
        }
        .simple-guest-list-actions {
            margin-top: 10px;
            display: flex;
            gap: 5px;
        }
        .simple-guest-list-actions button {
            border: none;
            width: 40px;
            height: 40px;
            border-radius: 4px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .simple-guest-list-actions .wa-btn {
            background-color: #25D366;
            color: white;
        }
        .simple-guest-list-actions .fb-btn {
            background-color: #4267B2;
            color: white;
        }
        .simple-guest-list-actions .link-btn {
            background-color: #6c757d;
            color: white;
        }
        .simple-guest-list-actions .text-btn {
            background-color: #17a2b8;
            color: white;
        }
        .simple-guest-list-actions .delete-btn {
            background-color: #dc3545;
            color: white;
        }
        .simple-guest-list-notification {
            position: fixed;
            bottom: 20px;
            right: 20px;
            background-color: #4CAF50;
            color: white;
            padding: 10px 20px;
            border-radius: 4px;
            display: none;
            z-index: 1000;
        }
        .message-help {
            background-color: #f8f9fa;
            padding: 10px;
            border-left: 3px solid #17a2b8;
            margin-bottom: 15px;
        }
        .message-help code {
            background-color: #e9ecef;
            padding: 2px 4px;
            border-radius: 3px;
        }
        .tabs {
            display: flex;
            margin-bottom: 20px;
            border-bottom: 1px solid #ddd;
        }
        .tab {
            padding: 10px 15px;
            cursor: pointer;
            background-color: #f5f5f5;
            margin-right: 5px;
            border-radius: 5px 5px 0 0;
            border: 1px solid #ddd;
            border-bottom: none;
        }
        .tab.active {
            background-color: #fff;
            font-weight: bold;
        }
        .tab-content {
            display: none;
        }
        .tab-content.active {
            display: block;
        }
        .message-preview {
            background-color: #f8f9fa;
            padding: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
            white-space: pre-line;
            margin-top: 10px;
            margin-bottom: 15px;
        }
        /* Search and Pagination Styles */
        .simple-guest-list-search {
            display: flex;
            margin-bottom: 15px;
        }
        .simple-guest-list-search input {
            flex: 1;
            margin-bottom: 0;
            margin-right: 10px;
        }
        .simple-guest-list-search button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 0 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-search button.reset {
            background-color: #6c757d;
            margin-left: 5px;
        }
        .simple-guest-list-pagination {
            display: flex;
            justify-content: center;
            margin-top: 20px;
            flex-wrap: wrap;
            gap: 5px;
        }
        .pagination-btn {
            padding: 8px 12px;
            background-color: #f8f9fa;
            border: 1px solid #ddd;
            border-radius: 4px;
            cursor: pointer;
        }
        .pagination-btn:hover {
            background-color: #e9ecef;
        }
        .pagination-btn.active {
            background-color: #4CAF50;
            color: white;
            border-color: #4CAF50;
        }
        .pagination-btn.disabled {
            color: #6c757d;
            cursor: not-allowed;
        }
        .pagination-ellipsis {
            padding: 8px 12px;
        }
        .simple-guest-list-summary {
            text-align: center;
            color: #6c757d;
            margin-bottom: 10px;
            font-size: 14px;
        }
        .no-guests {
            text-align: center;
            padding: 20px;
            background-color: #f5f5f5;
            border-radius: 4px;
            color: #6c757d;
        }
        .loading-spinner {
            text-align: center;
            padding: 20px;
        }
        .loading-spinner::after {
            content: "";
            display: inline-block;
            width: 30px;
            height: 30px;
            border: 3px solid rgba(0, 0, 0, 0.1);
            border-radius: 50%;
            border-top-color: #4CAF50;
            animation: spin 1s ease-in-out infinite;
        }
        @keyframes spin {
            to { transform: rotate(360deg); }
        }
        @media (max-width: 768px) {
            .simple-guest-list-actions {
                flex-wrap: wrap;
            }
            .simple-guest-list-search {
                flex-direction: column;
            }
            .simple-guest-list-search input {
                margin-right: 0;
                margin-bottom: 10px;
            }
            .simple-guest-list-search button.reset {
                margin-left: 0;
                margin-top: 5px;
            }
        }
    </style>
    
    <div class="simple-guest-list-container">
        <div class="tabs">
            <div class="tab active" data-tab="guest-list">Daftar Tamu</div>
            <div class="tab" data-tab="message-template">Template Pesan</div>
        </div>
        
        <div class="tab-content active" id="guest-list-tab">
            <div class="simple-guest-list-section">
                <h2>Tambah Tamu</h2>
                <form id="simple-guest-form" class="simple-guest-list-form">
                    <input type="hidden" id="simple-guest-owner" value="desela-wima">
                    <input type="hidden" id="simple-guest-nonce" value="6cea97c579">
                    <input type="hidden" id="simple-guest-url" value="https://janjisejati.id/desela-wima/desela-wima">
                    <input type="hidden" id="simple-guest-items-per-page" value="10">
                    
                    <label for="simple-guest-name">Nama</label>
                    <input type="text" id="simple-guest-name" placeholder="Nama tamu" required>
                    
                    <label for="simple-guest-address">Alamat</label>
                    <textarea id="simple-guest-address" placeholder="Alamat tamu" required></textarea>
                    
                    <button type="submit">Tambah Tamu</button>
                </form>
            </div>
            
            <div class="simple-guest-list-items-container">
                <h2>Daftar Tamu Anda</h2>
                
                <div class="simple-guest-list-search">
                    <input type="text" id="guest-search-input" placeholder="Cari nama atau alamat...">
                    <button id="guest-search-button">Cari</button>
                    <button id="guest-search-reset" class="reset">Reset</button>
                </div>
                
                <div id="guest-list-summary" class="simple-guest-list-summary"></div>
                
                <div id="guest-list-content" class="simple-guest-list-items">
                    <div class="loading-spinner"></div>
                </div>
                
                <div id="guest-list-pagination" class="simple-guest-list-pagination"></div>
            </div>
        </div>
        
        <div class="tab-content" id="message-template-tab">
            <div class="simple-guest-list-section">
                <h2>Kustomisasi Template Pesan</h2>
                
                <div class="message-help">
                    <p>Gunakan parameter berikut dalam template pesan:</p>
                    <ul>
                        <li><code>[name]</code> - Nama tamu</li>
                        <li><code>[url]</code> - Link undangan (dengan parameter ?to=nama-tamu otomatis)</li>
                    </ul>
                    <p>Gunakan bintang (*) untuk membuat teks tebal di WhatsApp, contoh: *teks tebal*</p>
                    <p>Link undangan akan otomatis ditambahkan parameter <code>?to=nama-tamu</code> untuk personalisasi.</p>
                </div>
                
                <form id="message-template-form" class="message-template-form">
                    <textarea id="message-template">Assalamualaikum Warahmatullahi Wabarakatuh

Tanpa mengurangi rasa hormat, perkenankan kami mengundang Bapak/Ibu/Saudara/i *[name]* untuk menghadiri acara kami.

*Berikut link undangan kami*, untuk info lengkap dari acara bisa kunjungi :
[url]

Merupakan suatu kebahagiaan bagi kami apabila Bapak/Ibu/Saudara/i berkenan untuk hadir dan memberikan doa restu.

*Mohon maaf perihal undangan hanya di bagikan melalui pesan ini.*

Terima kasih banyak atas perhatiannya.
Wassalamualaikum Warahmatullahi Wabarakatuh 

*Desela &amp; Wima*</textarea>
                    
                    <h3>Preview Pesan</h3>
                    <div class="message-preview" id="message-preview"></div>
                    
                    <button type="submit">Simpan Template</button>
                </form>
            </div>
        </div>
        
        <div class="simple-guest-list-notification" id="simple-guest-notification"></div>
    </div>
    
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        // Variables
        var ownerId = document.getElementById('simple-guest-owner').value;
        var nonce = document.getElementById('simple-guest-nonce').value;
        var invitationUrl = document.getElementById('simple-guest-url').value;
        var itemsPerPage = parseInt(document.getElementById('simple-guest-items-per-page').value);
        var messageTemplate = document.getElementById('message-template').value;
        var currentPage = 1;
        var currentSearch = '';
        
        // Log the base URL for debugging
        console.log("Base Invitation URL: " + invitationUrl);
        
        // Initial guest list load
        loadGuests(1, '');
        
        // Tabs functionality
        var tabs = document.querySelectorAll('.tab');
        tabs.forEach(function(tab) {
            tab.addEventListener('click', function() {
                // Remove active class from all tabs
                tabs.forEach(function(t) {
                    t.classList.remove('active');
                });
                
                // Add active class to clicked tab
                this.classList.add('active');
                
                // Hide all tab contents
                document.querySelectorAll('.tab-content').forEach(function(content) {
                    content.classList.remove('active');
                });
                
                // Show the selected tab content
                document.getElementById(this.getAttribute('data-tab') + '-tab').classList.add('active');
            });
        });
        
        // Search functionality
        document.getElementById('guest-search-button').addEventListener('click', function() {
            var searchValue = document.getElementById('guest-search-input').value.trim();
            currentSearch = searchValue;
            loadGuests(1, searchValue);
        });
        
        // Press Enter in search input
        document.getElementById('guest-search-input').addEventListener('keypress', function(e) {
            if (e.key === 'Enter') {
                e.preventDefault();
                var searchValue = this.value.trim();
                currentSearch = searchValue;
                loadGuests(1, searchValue);
            }
        });
        
        // Reset search
        document.getElementById('guest-search-reset').addEventListener('click', function() {
            document.getElementById('guest-search-input').value = '';
            currentSearch = '';
            loadGuests(1, '');
        });
        
        // Load guests with pagination and search
        function loadGuests(page, search) {
            // Show loading spinner
            document.getElementById('guest-list-content').innerHTML = '<div class="loading-spinner"></div>';
            document.getElementById('guest-list-pagination').innerHTML = '';
            document.getElementById('guest-list-summary').innerHTML = '';
            
            currentPage = page;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Update guest list
                        document.getElementById('guest-list-content').innerHTML = response.data.guests_html;
                        document.getElementById('guest-list-pagination').innerHTML = response.data.pagination_html;
                        document.getElementById('guest-list-summary').innerHTML = response.data.summary_html;
                        
                        // Update message template if provided
                        if (response.data.message_template) {
                            messageTemplate = response.data.message_template;
                            document.getElementById('message-template').value = messageTemplate;
                            updateMessagePreview();
                        }
                        
                        // Attach event listeners to new elements
                        attachGuestEventListeners();
                        attachPaginationEventListeners();
                    } else {
                        document.getElementById('guest-list-content').innerHTML = '<div class="no-guests">Error: ' + response.data + '</div>';
                    }
                }
            };
            xhr.send('action=simple_guest_list_search' + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&search=' + encodeURIComponent(search) + 
                '&page=' + encodeURIComponent(page) + 
                '&items_per_page=' + encodeURIComponent(itemsPerPage) + 
                '&invitation_url=' + encodeURIComponent('https://janjisejati.id/desela-wima') + 
                '&nonce=' + encodeURIComponent(nonce));
        }
        
        // Attach pagination event listeners
        function attachPaginationEventListeners() {
            var paginationButtons = document.querySelectorAll('.pagination-btn:not(.disabled)');
            paginationButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var page = parseInt(this.getAttribute('data-page'));
                    loadGuests(page, currentSearch);
                    
                    // Scroll to top of guest list
                    document.querySelector('.simple-guest-list-items-container').scrollIntoView({
                        behavior: 'smooth'
                    });
                });
            });
        }
        
        // Attach guest action event listeners
        function attachGuestEventListeners() {
            // Delete guest
            var deleteButtons = document.querySelectorAll('.delete-btn');
            deleteButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    if (!confirm('Anda yakin ingin menghapus tamu ini?')) {
                        return;
                    }
                    
                    var item = this.closest('.simple-guest-list-item');
                    var id = item.getAttribute('data-id');
                    
                    var xhr = new XMLHttpRequest();
                    xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
                    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                    xhr.onload = function() {
                        if (xhr.status === 200) {
                            var response = JSON.parse(xhr.responseText);
                            if (response.success) {
                                // Reload current page
                                loadGuests(currentPage, currentSearch);
                            } else {
                                alert('Error: ' + response.data);
                            }
                        }
                    };
                    xhr.send('action=simple_guest_list_delete' + 
                        '&id=' + encodeURIComponent(id) + 
                        '&owner_id=' + encodeURIComponent(ownerId) + 
                        '&nonce=' + encodeURIComponent(nonce));
                });
            });
            
            // Share to WhatsApp
            var waButtons = document.querySelectorAll('.wa-btn');
            waButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    var text = getMessageText(name, personalizedUrl);
                    window.open('https://wa.me/?text=' + encodeURIComponent(text), '_blank');
                });
            });
            
            // Share to Facebook
            var fbButtons = document.querySelectorAll('.fb-btn');
            fbButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(personalizedUrl), '_blank');
                });
            });
            
            // Copy link
            var linkButtons = document.querySelectorAll('.link-btn');
            linkButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    copyToClipboard(personalizedUrl);
                    showNotification('Link berhasil disalin!');
                });
            });
            
            // Copy text
            var textButtons = document.querySelectorAll('.text-btn');
            textButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    var text = getMessageText(name, invitationUrl);
                    copyToClipboard(text);
                    showNotification('Kata pengantar berhasil disalin!');
                });
            });
        }
        
        // Form submission for adding guests
        document.getElementById('simple-guest-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var name = document.getElementById('simple-guest-name').value;
            var address = document.getElementById('simple-guest-address').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Clear form
                        document.getElementById('simple-guest-name').value = '';
                        document.getElementById('simple-guest-address').value = '';
                        
                        // Reload first page without search
                        document.getElementById('guest-search-input').value = '';
                        currentSearch = '';
                        loadGuests(1, '');
                        
                        // Show success notification
                        showNotification('Tamu berhasil ditambahkan!');
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_add' + 
                '&name=' + encodeURIComponent(name) + 
                '&address=' + encodeURIComponent(address) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Form submission for saving message template
        document.getElementById('message-template-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var message = document.getElementById('message-template').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        showNotification('Template pesan berhasil disimpan!');
                        messageTemplate = message;
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_save_message' + 
                '&message=' + encodeURIComponent(message) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Message template live preview
        var messageTemplateField = document.getElementById('message-template');
        var messagePreview = document.getElementById('message-preview');
        
        // Initial preview
        updateMessagePreview();
        
        // Update preview on input
        messageTemplateField.addEventListener('input', updateMessagePreview);
        
        function updateMessagePreview() {
            var sampleName = 'Nama Tamu';
            var previewUrl = invitationUrl + '?to=' + encodeURIComponent(sampleName);
            
            // Check if invitationUrl contains duplicate paths and fix it
            if (previewUrl.indexOf('/' + ownerId + '/' + ownerId) !== -1) {
                console.log('Fixing duplicate path in URL preview');
                previewUrl = previewUrl.replace('/' + ownerId + '/' + ownerId, '/' + ownerId);
            }
            
            var previewText = messageTemplateField.value
                .replace(/\[name\]/g, sampleName)
                .replace(/\[url\]/g, previewUrl);
            
            messagePreview.textContent = previewText;
        }
        
        // Helper function to get message text
        function getMessageText(name, baseUrl) {
            // Ensure we're using the proper base URL (without duplicated paths)
            var url = baseUrl;
            
            // Add the to parameter
            if (url.indexOf('?to=') === -1) {
                url = url + '?to=' + encodeURIComponent(name);
            }
            
            // When replacing URL, make sure the full URL is visible
            var text = messageTemplate
                .replace(/\[name\]/g, name)
                .replace(/\[url\]/g, url);
            
            return text;
        }
        
        // Helper function to copy to clipboard
        function copyToClipboard(text) {
            var textarea = document.createElement('textarea');
            textarea.value = text;
            document.body.appendChild(textarea);
            textarea.select();
            document.execCommand('copy');
            document.body.removeChild(textarea);
        }
        
        // Helper function to show notification
        function showNotification(message) {
            var notification = document.getElementById('simple-guest-notification');
            notification.textContent = message;
            notification.style.display = 'block';
            
            setTimeout(function() {
                notification.style.display = 'none';
            }, 2000);
        }
    });
    </script>
    </div>
				</div>
				</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-447340bb e-flex e-con-boxed e-con e-parent" data-id="447340bb" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-1a74a9ba wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="1a74a9ba" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Copyright JanjiSejati - All Rights Reserved</p>		</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://janjisejati.id/invitation-desela-wima/">Invitation Desela &#038; Wima</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://janjisejati.id/invitation-desela-wima/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Invitation Shinta &#038; Iwan</title>
		<link>https://janjisejati.id/invitation-shinta-iwan/</link>
					<comments>https://janjisejati.id/invitation-shinta-iwan/#comments</comments>
		
		<dc:creator><![CDATA[janjisejati]]></dc:creator>
		<pubDate>Mon, 06 Apr 2026 08:01:29 +0000</pubDate>
				<category><![CDATA[Tak Berkategori]]></category>
		<guid isPermaLink="false">https://janjisejati.id/?p=14762</guid>

					<description><![CDATA[<p>Kirim Undangan Untuk Para Tamu Kirim Undangan Untuk Para Tamu Spesial. Cara Membuat Nama Tamu di Website Masukkan nama tamu undangan kamu pada kolom nama tamu. Pisahkan dengan baris baru (enter) untuk memisahkan nama yang akan di undang. Masukkan nama tamu, nama tamu support simbol (&#38;) koma(,) titik(.) contohnya : Andy &#38; Zhea Merubah Kata [&#8230;]</p>
<p>The post <a href="https://janjisejati.id/invitation-shinta-iwan/">Invitation Shinta &#038; Iwan</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="14762" class="elementor elementor-14762" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-2a4b483e e-flex e-con-boxed e-con e-parent" data-id="2a4b483e" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-16427535 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="16427535" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-ec1fff8 wdp-sticky-section-no elementor-widget elementor-widget-image" data-id="ec1fff8" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
														<a href="https://websiteundangan.com/" target="_blank">
							<img fetchpriority="high" decoding="async" width="501" height="121" src="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png" class="attachment-full size-full wp-image-414" alt="" srcset="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png 501w, https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1-300x72.png 300w" sizes="(max-width: 501px) 100vw, 501px" />								</a>
													</div>
				</div>
				<div class="elementor-element elementor-element-530ff6ca elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="530ff6ca" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-13313510 e-con-full e-flex e-con e-child" data-id="13313510" data-element_type="container">
		<div class="elementor-element elementor-element-7ccc6bfc e-con-full e-flex e-con e-child" data-id="7ccc6bfc" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;,&quot;sticky&quot;:&quot;top&quot;,&quot;sticky_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;],&quot;sticky_offset&quot;:10,&quot;sticky_parent&quot;:&quot;yes&quot;,&quot;sticky_effects_offset&quot;:0}">
				<div class="elementor-element elementor-element-585b0bfa wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="585b0bfa" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu Spesial.</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-1ba2893 wdp-sticky-section-no elementor-widget elementor-widget-toggle" data-id="1ba2893" data-element_type="widget" data-widget_type="toggle.default">
				<div class="elementor-widget-container">
					<div class="elementor-toggle">
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2891" class="elementor-tab-title" data-tab="1" role="button" aria-controls="elementor-tab-content-2891" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Membuat Nama Tamu di Website</a>
					</div>

					<div id="elementor-tab-content-2891" class="elementor-tab-content elementor-clearfix" data-tab="1" role="region" aria-labelledby="elementor-tab-title-2891"><ul><li>Masukkan nama tamu undangan kamu pada kolom nama tamu.</li><li>Pisahkan dengan <strong>baris baru (enter)</strong> untuk memisahkan nama yang akan di undang.</li><li>Masukkan nama tamu, nama tamu support simbol (&amp;) koma(,) titik(.) contohnya : Andy &amp; Zhea</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2892" class="elementor-tab-title" data-tab="2" role="button" aria-controls="elementor-tab-content-2892" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Merubah Kata Pengantar</a>
					</div>

					<div id="elementor-tab-content-2892" class="elementor-tab-content elementor-clearfix" data-tab="2" role="region" aria-labelledby="elementor-tab-title-2892"><ul><li>Masukkan teks pengantar sesuai dengan kebutuhan, anda pun bisa menyisipkan link undangan dan custom nama tamu pada bagian teks pengantar yang akan dikirimkan.</li><li>Pada saat pengiriman  ada tambahan shortcode <strong>[link-undangan]</strong> untuk menyisipkan link undangan kedalam teks pengantar.</li><li>Saat pengiriman dengan teks pengantar, tambahan shortcode <strong>[nama]</strong> untuk menyisipkan nama tamu yang akan di undang kedalam teks pengantar.</li><li>Klik <strong>Buat Daftar Nama Tamu</strong> jika sudah melakukan pengisian untuk mendapatkan link undangan yang akan dikirimkan.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2893" class="elementor-tab-title" data-tab="3" role="button" aria-controls="elementor-tab-content-2893" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Sebar Link Ke Tamu Undangan</a>
					</div>

					<div id="elementor-tab-content-2893" class="elementor-tab-content elementor-clearfix" data-tab="3" role="region" aria-labelledby="elementor-tab-title-2893"><ul><li>Klik tombol <strong>Share to Whatsapp</strong> untuk mengirimkan undangan ke kontak whatsapp tamu yang akan diundang.</li><li>Klik tombol <strong>Copy Link</strong>, dan paste-kan di WA / Socmed ketika kamu ingin menyebarkan undangannya</li><li>Klik tombol <strong>Copy Kata Pengantar</strong> untuk menyimpan hasil generate undangan.</li><li>Anda bisa menghapus kolom yang di generate dengan menekan tombol hapus.</li><li>Sebaiknya<strong> test dulu kirim ke pasangan</strong> jika baru pertama kali menggunakan fitur ini.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2894" class="elementor-tab-title" data-tab="4" role="button" aria-controls="elementor-tab-content-2894" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">CATATAN PENTING!</a>
					</div>

					<div id="elementor-tab-content-2894" class="elementor-tab-content elementor-clearfix" data-tab="4" role="region" aria-labelledby="elementor-tab-title-2894"><ul><li>Disarankan menggunakan smartphone/ HP dan pakai BROWSER CHROME untuk menggunakan generator tamu undangan ini.</li><li>Penggunaan generator melalui PC/ Laptop terkadang tidak bisa menampilkan gambar saat sebar undangan.</li><li>Anda bisa menampilkan gambar (thumbnail) saat sebar undangan dengan cara setelah klik tautan kirim whatsapp, tunggu beberapa detik supaya WA load gambarnya. JADI TIDAK LANGSUNG DIKIRIM sebelum gambar muncul.</li><li>Tidak direkomendasikan berbagi link melalui DM Instagram, karena IG bukanlah tempat berbagi link. Silahkan bagikan undangan anda secara personal melalui pesan di No. Whatsapp para tamu undangan anda.</li></ul></div>
				</div>
								</div>
				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-215a3644 e-con-full e-flex e-con e-child" data-id="215a3644" data-element_type="container">
				<div class="elementor-element elementor-element-fe0edc6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="fe0edc6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Buat undangan jadi lebih ekslusif dan personal di setiap undangan yang akan dikirimkan.<br>Silahkan Generate Link nya di bawah ini:</p>		</div>
				</div>
				<div class="elementor-element elementor-element-10b28bb0 elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="10b28bb0" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-4f2586f6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="4f2586f6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Terima kasih telah memilih produk kami.<br><br>Semoga pernikahan anda berkah dan menjadi<br>keluarga yang Sakinah, Mawaddah, Warahmah. Aamiin</p>		</div>
				</div>
				<div class="elementor-element elementor-element-507e0d2 wdp-sticky-section-no elementor-widget elementor-widget-shortcode" data-id="507e0d2" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode">    <style>
        .simple-guest-list-container {
            max-width: 800px;
            margin: 0 auto;
            font-family: Arial, sans-serif;
        }
        .simple-guest-list-section {
            background-color: #f5f5f5;
            padding: 20px;
            border-radius: 5px;
            margin-bottom: 30px;
        }
        .simple-guest-list-section h2 {
            margin-top: 0;
            margin-bottom: 20px;
        }
        .simple-guest-list-form input,
        .simple-guest-list-form textarea,
        .message-template-form textarea,
        .simple-guest-list-search input {
            width: 100%;
            padding: 10px;
            margin-bottom: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
        }
        .simple-guest-list-form textarea {
            height: 100px;
        }
        .message-template-form textarea {
            height: 200px;
            font-family: monospace;
            font-size: 14px;
        }
        .simple-guest-list-form button,
        .message-template-form button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 10px 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-item {
            border: 1px solid #ddd;
            padding: 15px;
            margin-bottom: 10px;
            border-radius: 4px;
            background-color: #fff;
        }
        .simple-guest-list-actions {
            margin-top: 10px;
            display: flex;
            gap: 5px;
        }
        .simple-guest-list-actions button {
            border: none;
            width: 40px;
            height: 40px;
            border-radius: 4px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .simple-guest-list-actions .wa-btn {
            background-color: #25D366;
            color: white;
        }
        .simple-guest-list-actions .fb-btn {
            background-color: #4267B2;
            color: white;
        }
        .simple-guest-list-actions .link-btn {
            background-color: #6c757d;
            color: white;
        }
        .simple-guest-list-actions .text-btn {
            background-color: #17a2b8;
            color: white;
        }
        .simple-guest-list-actions .delete-btn {
            background-color: #dc3545;
            color: white;
        }
        .simple-guest-list-notification {
            position: fixed;
            bottom: 20px;
            right: 20px;
            background-color: #4CAF50;
            color: white;
            padding: 10px 20px;
            border-radius: 4px;
            display: none;
            z-index: 1000;
        }
        .message-help {
            background-color: #f8f9fa;
            padding: 10px;
            border-left: 3px solid #17a2b8;
            margin-bottom: 15px;
        }
        .message-help code {
            background-color: #e9ecef;
            padding: 2px 4px;
            border-radius: 3px;
        }
        .tabs {
            display: flex;
            margin-bottom: 20px;
            border-bottom: 1px solid #ddd;
        }
        .tab {
            padding: 10px 15px;
            cursor: pointer;
            background-color: #f5f5f5;
            margin-right: 5px;
            border-radius: 5px 5px 0 0;
            border: 1px solid #ddd;
            border-bottom: none;
        }
        .tab.active {
            background-color: #fff;
            font-weight: bold;
        }
        .tab-content {
            display: none;
        }
        .tab-content.active {
            display: block;
        }
        .message-preview {
            background-color: #f8f9fa;
            padding: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
            white-space: pre-line;
            margin-top: 10px;
            margin-bottom: 15px;
        }
        /* Search and Pagination Styles */
        .simple-guest-list-search {
            display: flex;
            margin-bottom: 15px;
        }
        .simple-guest-list-search input {
            flex: 1;
            margin-bottom: 0;
            margin-right: 10px;
        }
        .simple-guest-list-search button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 0 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-search button.reset {
            background-color: #6c757d;
            margin-left: 5px;
        }
        .simple-guest-list-pagination {
            display: flex;
            justify-content: center;
            margin-top: 20px;
            flex-wrap: wrap;
            gap: 5px;
        }
        .pagination-btn {
            padding: 8px 12px;
            background-color: #f8f9fa;
            border: 1px solid #ddd;
            border-radius: 4px;
            cursor: pointer;
        }
        .pagination-btn:hover {
            background-color: #e9ecef;
        }
        .pagination-btn.active {
            background-color: #4CAF50;
            color: white;
            border-color: #4CAF50;
        }
        .pagination-btn.disabled {
            color: #6c757d;
            cursor: not-allowed;
        }
        .pagination-ellipsis {
            padding: 8px 12px;
        }
        .simple-guest-list-summary {
            text-align: center;
            color: #6c757d;
            margin-bottom: 10px;
            font-size: 14px;
        }
        .no-guests {
            text-align: center;
            padding: 20px;
            background-color: #f5f5f5;
            border-radius: 4px;
            color: #6c757d;
        }
        .loading-spinner {
            text-align: center;
            padding: 20px;
        }
        .loading-spinner::after {
            content: "";
            display: inline-block;
            width: 30px;
            height: 30px;
            border: 3px solid rgba(0, 0, 0, 0.1);
            border-radius: 50%;
            border-top-color: #4CAF50;
            animation: spin 1s ease-in-out infinite;
        }
        @keyframes spin {
            to { transform: rotate(360deg); }
        }
        @media (max-width: 768px) {
            .simple-guest-list-actions {
                flex-wrap: wrap;
            }
            .simple-guest-list-search {
                flex-direction: column;
            }
            .simple-guest-list-search input {
                margin-right: 0;
                margin-bottom: 10px;
            }
            .simple-guest-list-search button.reset {
                margin-left: 0;
                margin-top: 5px;
            }
        }
    </style>
    
    <div class="simple-guest-list-container">
        <div class="tabs">
            <div class="tab active" data-tab="guest-list">Daftar Tamu</div>
            <div class="tab" data-tab="message-template">Template Pesan</div>
        </div>
        
        <div class="tab-content active" id="guest-list-tab">
            <div class="simple-guest-list-section">
                <h2>Tambah Tamu</h2>
                <form id="simple-guest-form" class="simple-guest-list-form">
                    <input type="hidden" id="simple-guest-owner" value="shinta-iwan">
                    <input type="hidden" id="simple-guest-nonce" value="6cea97c579">
                    <input type="hidden" id="simple-guest-url" value="https://janjisejati.id/shinta-iwan/shinta-iwan">
                    <input type="hidden" id="simple-guest-items-per-page" value="10">
                    
                    <label for="simple-guest-name">Nama</label>
                    <input type="text" id="simple-guest-name" placeholder="Nama tamu" required>
                    
                    <label for="simple-guest-address">Alamat</label>
                    <textarea id="simple-guest-address" placeholder="Alamat tamu" required></textarea>
                    
                    <button type="submit">Tambah Tamu</button>
                </form>
            </div>
            
            <div class="simple-guest-list-items-container">
                <h2>Daftar Tamu Anda</h2>
                
                <div class="simple-guest-list-search">
                    <input type="text" id="guest-search-input" placeholder="Cari nama atau alamat...">
                    <button id="guest-search-button">Cari</button>
                    <button id="guest-search-reset" class="reset">Reset</button>
                </div>
                
                <div id="guest-list-summary" class="simple-guest-list-summary"></div>
                
                <div id="guest-list-content" class="simple-guest-list-items">
                    <div class="loading-spinner"></div>
                </div>
                
                <div id="guest-list-pagination" class="simple-guest-list-pagination"></div>
            </div>
        </div>
        
        <div class="tab-content" id="message-template-tab">
            <div class="simple-guest-list-section">
                <h2>Kustomisasi Template Pesan</h2>
                
                <div class="message-help">
                    <p>Gunakan parameter berikut dalam template pesan:</p>
                    <ul>
                        <li><code>[name]</code> - Nama tamu</li>
                        <li><code>[url]</code> - Link undangan (dengan parameter ?to=nama-tamu otomatis)</li>
                    </ul>
                    <p>Gunakan bintang (*) untuk membuat teks tebal di WhatsApp, contoh: *teks tebal*</p>
                    <p>Link undangan akan otomatis ditambahkan parameter <code>?to=nama-tamu</code> untuk personalisasi.</p>
                </div>
                
                <form id="message-template-form" class="message-template-form">
                    <textarea id="message-template">*Assalamualaikum Warahmatullahi Wabarakatuh*
Tanpa mengurangi rasa hormat, perkenankan kami mengundang Bapak/Ibu/Saudara/i *[name]* untuk menghadiri acara kami.
*Berikut link undangan kami*, untuk info lengkap dari acara bisa kunjungi :
[url]
Merupakan suatu kebahagiaan bagi kami apabila Bapak/Ibu/Saudara/i berkenan untuk hadir dan memberikan doa restu.
*Mohon maaf perihal undangan hanya di bagikan melalui pesan ini.*
Dan agar selalu menjaga kesehatan bersama serta datang pada waktu yang telah ditentukan.*
Terima kasih banyak atas perhatiannya.
*Wassalamualaikum Warahmatullahi Wabarakatuh*</textarea>
                    
                    <h3>Preview Pesan</h3>
                    <div class="message-preview" id="message-preview"></div>
                    
                    <button type="submit">Simpan Template</button>
                </form>
            </div>
        </div>
        
        <div class="simple-guest-list-notification" id="simple-guest-notification"></div>
    </div>
    
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        // Variables
        var ownerId = document.getElementById('simple-guest-owner').value;
        var nonce = document.getElementById('simple-guest-nonce').value;
        var invitationUrl = document.getElementById('simple-guest-url').value;
        var itemsPerPage = parseInt(document.getElementById('simple-guest-items-per-page').value);
        var messageTemplate = document.getElementById('message-template').value;
        var currentPage = 1;
        var currentSearch = '';
        
        // Log the base URL for debugging
        console.log("Base Invitation URL: " + invitationUrl);
        
        // Initial guest list load
        loadGuests(1, '');
        
        // Tabs functionality
        var tabs = document.querySelectorAll('.tab');
        tabs.forEach(function(tab) {
            tab.addEventListener('click', function() {
                // Remove active class from all tabs
                tabs.forEach(function(t) {
                    t.classList.remove('active');
                });
                
                // Add active class to clicked tab
                this.classList.add('active');
                
                // Hide all tab contents
                document.querySelectorAll('.tab-content').forEach(function(content) {
                    content.classList.remove('active');
                });
                
                // Show the selected tab content
                document.getElementById(this.getAttribute('data-tab') + '-tab').classList.add('active');
            });
        });
        
        // Search functionality
        document.getElementById('guest-search-button').addEventListener('click', function() {
            var searchValue = document.getElementById('guest-search-input').value.trim();
            currentSearch = searchValue;
            loadGuests(1, searchValue);
        });
        
        // Press Enter in search input
        document.getElementById('guest-search-input').addEventListener('keypress', function(e) {
            if (e.key === 'Enter') {
                e.preventDefault();
                var searchValue = this.value.trim();
                currentSearch = searchValue;
                loadGuests(1, searchValue);
            }
        });
        
        // Reset search
        document.getElementById('guest-search-reset').addEventListener('click', function() {
            document.getElementById('guest-search-input').value = '';
            currentSearch = '';
            loadGuests(1, '');
        });
        
        // Load guests with pagination and search
        function loadGuests(page, search) {
            // Show loading spinner
            document.getElementById('guest-list-content').innerHTML = '<div class="loading-spinner"></div>';
            document.getElementById('guest-list-pagination').innerHTML = '';
            document.getElementById('guest-list-summary').innerHTML = '';
            
            currentPage = page;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Update guest list
                        document.getElementById('guest-list-content').innerHTML = response.data.guests_html;
                        document.getElementById('guest-list-pagination').innerHTML = response.data.pagination_html;
                        document.getElementById('guest-list-summary').innerHTML = response.data.summary_html;
                        
                        // Update message template if provided
                        if (response.data.message_template) {
                            messageTemplate = response.data.message_template;
                            document.getElementById('message-template').value = messageTemplate;
                            updateMessagePreview();
                        }
                        
                        // Attach event listeners to new elements
                        attachGuestEventListeners();
                        attachPaginationEventListeners();
                    } else {
                        document.getElementById('guest-list-content').innerHTML = '<div class="no-guests">Error: ' + response.data + '</div>';
                    }
                }
            };
            xhr.send('action=simple_guest_list_search' + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&search=' + encodeURIComponent(search) + 
                '&page=' + encodeURIComponent(page) + 
                '&items_per_page=' + encodeURIComponent(itemsPerPage) + 
                '&invitation_url=' + encodeURIComponent('https://janjisejati.id/shinta-iwan') + 
                '&nonce=' + encodeURIComponent(nonce));
        }
        
        // Attach pagination event listeners
        function attachPaginationEventListeners() {
            var paginationButtons = document.querySelectorAll('.pagination-btn:not(.disabled)');
            paginationButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var page = parseInt(this.getAttribute('data-page'));
                    loadGuests(page, currentSearch);
                    
                    // Scroll to top of guest list
                    document.querySelector('.simple-guest-list-items-container').scrollIntoView({
                        behavior: 'smooth'
                    });
                });
            });
        }
        
        // Attach guest action event listeners
        function attachGuestEventListeners() {
            // Delete guest
            var deleteButtons = document.querySelectorAll('.delete-btn');
            deleteButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    if (!confirm('Anda yakin ingin menghapus tamu ini?')) {
                        return;
                    }
                    
                    var item = this.closest('.simple-guest-list-item');
                    var id = item.getAttribute('data-id');
                    
                    var xhr = new XMLHttpRequest();
                    xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
                    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                    xhr.onload = function() {
                        if (xhr.status === 200) {
                            var response = JSON.parse(xhr.responseText);
                            if (response.success) {
                                // Reload current page
                                loadGuests(currentPage, currentSearch);
                            } else {
                                alert('Error: ' + response.data);
                            }
                        }
                    };
                    xhr.send('action=simple_guest_list_delete' + 
                        '&id=' + encodeURIComponent(id) + 
                        '&owner_id=' + encodeURIComponent(ownerId) + 
                        '&nonce=' + encodeURIComponent(nonce));
                });
            });
            
            // Share to WhatsApp
            var waButtons = document.querySelectorAll('.wa-btn');
            waButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    var text = getMessageText(name, personalizedUrl);
                    window.open('https://wa.me/?text=' + encodeURIComponent(text), '_blank');
                });
            });
            
            // Share to Facebook
            var fbButtons = document.querySelectorAll('.fb-btn');
            fbButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(personalizedUrl), '_blank');
                });
            });
            
            // Copy link
            var linkButtons = document.querySelectorAll('.link-btn');
            linkButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    copyToClipboard(personalizedUrl);
                    showNotification('Link berhasil disalin!');
                });
            });
            
            // Copy text
            var textButtons = document.querySelectorAll('.text-btn');
            textButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    var text = getMessageText(name, invitationUrl);
                    copyToClipboard(text);
                    showNotification('Kata pengantar berhasil disalin!');
                });
            });
        }
        
        // Form submission for adding guests
        document.getElementById('simple-guest-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var name = document.getElementById('simple-guest-name').value;
            var address = document.getElementById('simple-guest-address').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Clear form
                        document.getElementById('simple-guest-name').value = '';
                        document.getElementById('simple-guest-address').value = '';
                        
                        // Reload first page without search
                        document.getElementById('guest-search-input').value = '';
                        currentSearch = '';
                        loadGuests(1, '');
                        
                        // Show success notification
                        showNotification('Tamu berhasil ditambahkan!');
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_add' + 
                '&name=' + encodeURIComponent(name) + 
                '&address=' + encodeURIComponent(address) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Form submission for saving message template
        document.getElementById('message-template-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var message = document.getElementById('message-template').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        showNotification('Template pesan berhasil disimpan!');
                        messageTemplate = message;
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_save_message' + 
                '&message=' + encodeURIComponent(message) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Message template live preview
        var messageTemplateField = document.getElementById('message-template');
        var messagePreview = document.getElementById('message-preview');
        
        // Initial preview
        updateMessagePreview();
        
        // Update preview on input
        messageTemplateField.addEventListener('input', updateMessagePreview);
        
        function updateMessagePreview() {
            var sampleName = 'Nama Tamu';
            var previewUrl = invitationUrl + '?to=' + encodeURIComponent(sampleName);
            
            // Check if invitationUrl contains duplicate paths and fix it
            if (previewUrl.indexOf('/' + ownerId + '/' + ownerId) !== -1) {
                console.log('Fixing duplicate path in URL preview');
                previewUrl = previewUrl.replace('/' + ownerId + '/' + ownerId, '/' + ownerId);
            }
            
            var previewText = messageTemplateField.value
                .replace(/\[name\]/g, sampleName)
                .replace(/\[url\]/g, previewUrl);
            
            messagePreview.textContent = previewText;
        }
        
        // Helper function to get message text
        function getMessageText(name, baseUrl) {
            // Ensure we're using the proper base URL (without duplicated paths)
            var url = baseUrl;
            
            // Add the to parameter
            if (url.indexOf('?to=') === -1) {
                url = url + '?to=' + encodeURIComponent(name);
            }
            
            // When replacing URL, make sure the full URL is visible
            var text = messageTemplate
                .replace(/\[name\]/g, name)
                .replace(/\[url\]/g, url);
            
            return text;
        }
        
        // Helper function to copy to clipboard
        function copyToClipboard(text) {
            var textarea = document.createElement('textarea');
            textarea.value = text;
            document.body.appendChild(textarea);
            textarea.select();
            document.execCommand('copy');
            document.body.removeChild(textarea);
        }
        
        // Helper function to show notification
        function showNotification(message) {
            var notification = document.getElementById('simple-guest-notification');
            notification.textContent = message;
            notification.style.display = 'block';
            
            setTimeout(function() {
                notification.style.display = 'none';
            }, 2000);
        }
    });
    </script>
    </div>
				</div>
				</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-447340bb e-flex e-con-boxed e-con e-parent" data-id="447340bb" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-1a74a9ba wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="1a74a9ba" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Copyright JanjiSejati - All Rights Reserved</p>		</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://janjisejati.id/invitation-shinta-iwan/">Invitation Shinta &#038; Iwan</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://janjisejati.id/invitation-shinta-iwan/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Invitation Ananda &#038; Indah</title>
		<link>https://janjisejati.id/invitation-ananda-indah/</link>
					<comments>https://janjisejati.id/invitation-ananda-indah/#comments</comments>
		
		<dc:creator><![CDATA[janjisejati]]></dc:creator>
		<pubDate>Thu, 05 Mar 2026 20:09:00 +0000</pubDate>
				<category><![CDATA[Tak Berkategori]]></category>
		<guid isPermaLink="false">https://janjisejati.id/?p=14536</guid>

					<description><![CDATA[<p>Kirim Undangan Untuk Para Tamu Kirim Undangan Untuk Para Tamu Spesial. Cara Membuat Nama Tamu di Website Masukkan nama tamu undangan kamu pada kolom nama tamu. Pisahkan dengan baris baru (enter) untuk memisahkan nama yang akan di undang. Masukkan nama tamu, nama tamu support simbol (&#38;) koma(,) titik(.) contohnya : Andy &#38; Zhea Merubah Kata [&#8230;]</p>
<p>The post <a href="https://janjisejati.id/invitation-ananda-indah/">Invitation Ananda &#038; Indah</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="14536" class="elementor elementor-14536" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-2a4b483e e-flex e-con-boxed e-con e-parent" data-id="2a4b483e" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-16427535 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="16427535" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-ec1fff8 wdp-sticky-section-no elementor-widget elementor-widget-image" data-id="ec1fff8" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
														<a href="https://websiteundangan.com/" target="_blank">
							<img fetchpriority="high" decoding="async" width="501" height="121" src="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png" class="attachment-full size-full wp-image-414" alt="" srcset="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png 501w, https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1-300x72.png 300w" sizes="(max-width: 501px) 100vw, 501px" />								</a>
													</div>
				</div>
				<div class="elementor-element elementor-element-530ff6ca elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="530ff6ca" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-13313510 e-con-full e-flex e-con e-child" data-id="13313510" data-element_type="container">
		<div class="elementor-element elementor-element-7ccc6bfc e-con-full e-flex e-con e-child" data-id="7ccc6bfc" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;,&quot;sticky&quot;:&quot;top&quot;,&quot;sticky_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;],&quot;sticky_offset&quot;:10,&quot;sticky_parent&quot;:&quot;yes&quot;,&quot;sticky_effects_offset&quot;:0}">
				<div class="elementor-element elementor-element-585b0bfa wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="585b0bfa" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu Spesial.</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-1ba2893 wdp-sticky-section-no elementor-widget elementor-widget-toggle" data-id="1ba2893" data-element_type="widget" data-widget_type="toggle.default">
				<div class="elementor-widget-container">
					<div class="elementor-toggle">
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2891" class="elementor-tab-title" data-tab="1" role="button" aria-controls="elementor-tab-content-2891" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Membuat Nama Tamu di Website</a>
					</div>

					<div id="elementor-tab-content-2891" class="elementor-tab-content elementor-clearfix" data-tab="1" role="region" aria-labelledby="elementor-tab-title-2891"><ul><li>Masukkan nama tamu undangan kamu pada kolom nama tamu.</li><li>Pisahkan dengan <strong>baris baru (enter)</strong> untuk memisahkan nama yang akan di undang.</li><li>Masukkan nama tamu, nama tamu support simbol (&amp;) koma(,) titik(.) contohnya : Andy &amp; Zhea</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2892" class="elementor-tab-title" data-tab="2" role="button" aria-controls="elementor-tab-content-2892" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Merubah Kata Pengantar</a>
					</div>

					<div id="elementor-tab-content-2892" class="elementor-tab-content elementor-clearfix" data-tab="2" role="region" aria-labelledby="elementor-tab-title-2892"><ul><li>Masukkan teks pengantar sesuai dengan kebutuhan, anda pun bisa menyisipkan link undangan dan custom nama tamu pada bagian teks pengantar yang akan dikirimkan.</li><li>Pada saat pengiriman  ada tambahan shortcode <strong>[link-undangan]</strong> untuk menyisipkan link undangan kedalam teks pengantar.</li><li>Saat pengiriman dengan teks pengantar, tambahan shortcode <strong>[nama]</strong> untuk menyisipkan nama tamu yang akan di undang kedalam teks pengantar.</li><li>Klik <strong>Buat Daftar Nama Tamu</strong> jika sudah melakukan pengisian untuk mendapatkan link undangan yang akan dikirimkan.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2893" class="elementor-tab-title" data-tab="3" role="button" aria-controls="elementor-tab-content-2893" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Sebar Link Ke Tamu Undangan</a>
					</div>

					<div id="elementor-tab-content-2893" class="elementor-tab-content elementor-clearfix" data-tab="3" role="region" aria-labelledby="elementor-tab-title-2893"><ul><li>Klik tombol <strong>Share to Whatsapp</strong> untuk mengirimkan undangan ke kontak whatsapp tamu yang akan diundang.</li><li>Klik tombol <strong>Copy Link</strong>, dan paste-kan di WA / Socmed ketika kamu ingin menyebarkan undangannya</li><li>Klik tombol <strong>Copy Kata Pengantar</strong> untuk menyimpan hasil generate undangan.</li><li>Anda bisa menghapus kolom yang di generate dengan menekan tombol hapus.</li><li>Sebaiknya<strong> test dulu kirim ke pasangan</strong> jika baru pertama kali menggunakan fitur ini.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2894" class="elementor-tab-title" data-tab="4" role="button" aria-controls="elementor-tab-content-2894" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">CATATAN PENTING!</a>
					</div>

					<div id="elementor-tab-content-2894" class="elementor-tab-content elementor-clearfix" data-tab="4" role="region" aria-labelledby="elementor-tab-title-2894"><ul><li>Disarankan menggunakan smartphone/ HP dan pakai BROWSER CHROME untuk menggunakan generator tamu undangan ini.</li><li>Penggunaan generator melalui PC/ Laptop terkadang tidak bisa menampilkan gambar saat sebar undangan.</li><li>Anda bisa menampilkan gambar (thumbnail) saat sebar undangan dengan cara setelah klik tautan kirim whatsapp, tunggu beberapa detik supaya WA load gambarnya. JADI TIDAK LANGSUNG DIKIRIM sebelum gambar muncul.</li><li>Tidak direkomendasikan berbagi link melalui DM Instagram, karena IG bukanlah tempat berbagi link. Silahkan bagikan undangan anda secara personal melalui pesan di No. Whatsapp para tamu undangan anda.</li></ul></div>
				</div>
								</div>
				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-215a3644 e-con-full e-flex e-con e-child" data-id="215a3644" data-element_type="container">
				<div class="elementor-element elementor-element-fe0edc6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="fe0edc6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Buat undangan jadi lebih ekslusif dan personal di setiap undangan yang akan dikirimkan.<br>Silahkan Generate Link nya di bawah ini:</p>		</div>
				</div>
				<div class="elementor-element elementor-element-10b28bb0 elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="10b28bb0" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-4f2586f6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="4f2586f6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Terima kasih telah memilih produk kami.<br><br>Semoga pernikahan anda berkah dan menjadi<br>keluarga yang Sakinah, Mawaddah, Warahmah. Aamiin</p>		</div>
				</div>
				<div class="elementor-element elementor-element-507e0d2 wdp-sticky-section-no elementor-widget elementor-widget-shortcode" data-id="507e0d2" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode">    <style>
        .simple-guest-list-container {
            max-width: 800px;
            margin: 0 auto;
            font-family: Arial, sans-serif;
        }
        .simple-guest-list-section {
            background-color: #f5f5f5;
            padding: 20px;
            border-radius: 5px;
            margin-bottom: 30px;
        }
        .simple-guest-list-section h2 {
            margin-top: 0;
            margin-bottom: 20px;
        }
        .simple-guest-list-form input,
        .simple-guest-list-form textarea,
        .message-template-form textarea,
        .simple-guest-list-search input {
            width: 100%;
            padding: 10px;
            margin-bottom: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
        }
        .simple-guest-list-form textarea {
            height: 100px;
        }
        .message-template-form textarea {
            height: 200px;
            font-family: monospace;
            font-size: 14px;
        }
        .simple-guest-list-form button,
        .message-template-form button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 10px 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-item {
            border: 1px solid #ddd;
            padding: 15px;
            margin-bottom: 10px;
            border-radius: 4px;
            background-color: #fff;
        }
        .simple-guest-list-actions {
            margin-top: 10px;
            display: flex;
            gap: 5px;
        }
        .simple-guest-list-actions button {
            border: none;
            width: 40px;
            height: 40px;
            border-radius: 4px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .simple-guest-list-actions .wa-btn {
            background-color: #25D366;
            color: white;
        }
        .simple-guest-list-actions .fb-btn {
            background-color: #4267B2;
            color: white;
        }
        .simple-guest-list-actions .link-btn {
            background-color: #6c757d;
            color: white;
        }
        .simple-guest-list-actions .text-btn {
            background-color: #17a2b8;
            color: white;
        }
        .simple-guest-list-actions .delete-btn {
            background-color: #dc3545;
            color: white;
        }
        .simple-guest-list-notification {
            position: fixed;
            bottom: 20px;
            right: 20px;
            background-color: #4CAF50;
            color: white;
            padding: 10px 20px;
            border-radius: 4px;
            display: none;
            z-index: 1000;
        }
        .message-help {
            background-color: #f8f9fa;
            padding: 10px;
            border-left: 3px solid #17a2b8;
            margin-bottom: 15px;
        }
        .message-help code {
            background-color: #e9ecef;
            padding: 2px 4px;
            border-radius: 3px;
        }
        .tabs {
            display: flex;
            margin-bottom: 20px;
            border-bottom: 1px solid #ddd;
        }
        .tab {
            padding: 10px 15px;
            cursor: pointer;
            background-color: #f5f5f5;
            margin-right: 5px;
            border-radius: 5px 5px 0 0;
            border: 1px solid #ddd;
            border-bottom: none;
        }
        .tab.active {
            background-color: #fff;
            font-weight: bold;
        }
        .tab-content {
            display: none;
        }
        .tab-content.active {
            display: block;
        }
        .message-preview {
            background-color: #f8f9fa;
            padding: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
            white-space: pre-line;
            margin-top: 10px;
            margin-bottom: 15px;
        }
        /* Search and Pagination Styles */
        .simple-guest-list-search {
            display: flex;
            margin-bottom: 15px;
        }
        .simple-guest-list-search input {
            flex: 1;
            margin-bottom: 0;
            margin-right: 10px;
        }
        .simple-guest-list-search button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 0 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-search button.reset {
            background-color: #6c757d;
            margin-left: 5px;
        }
        .simple-guest-list-pagination {
            display: flex;
            justify-content: center;
            margin-top: 20px;
            flex-wrap: wrap;
            gap: 5px;
        }
        .pagination-btn {
            padding: 8px 12px;
            background-color: #f8f9fa;
            border: 1px solid #ddd;
            border-radius: 4px;
            cursor: pointer;
        }
        .pagination-btn:hover {
            background-color: #e9ecef;
        }
        .pagination-btn.active {
            background-color: #4CAF50;
            color: white;
            border-color: #4CAF50;
        }
        .pagination-btn.disabled {
            color: #6c757d;
            cursor: not-allowed;
        }
        .pagination-ellipsis {
            padding: 8px 12px;
        }
        .simple-guest-list-summary {
            text-align: center;
            color: #6c757d;
            margin-bottom: 10px;
            font-size: 14px;
        }
        .no-guests {
            text-align: center;
            padding: 20px;
            background-color: #f5f5f5;
            border-radius: 4px;
            color: #6c757d;
        }
        .loading-spinner {
            text-align: center;
            padding: 20px;
        }
        .loading-spinner::after {
            content: "";
            display: inline-block;
            width: 30px;
            height: 30px;
            border: 3px solid rgba(0, 0, 0, 0.1);
            border-radius: 50%;
            border-top-color: #4CAF50;
            animation: spin 1s ease-in-out infinite;
        }
        @keyframes spin {
            to { transform: rotate(360deg); }
        }
        @media (max-width: 768px) {
            .simple-guest-list-actions {
                flex-wrap: wrap;
            }
            .simple-guest-list-search {
                flex-direction: column;
            }
            .simple-guest-list-search input {
                margin-right: 0;
                margin-bottom: 10px;
            }
            .simple-guest-list-search button.reset {
                margin-left: 0;
                margin-top: 5px;
            }
        }
    </style>
    
    <div class="simple-guest-list-container">
        <div class="tabs">
            <div class="tab active" data-tab="guest-list">Daftar Tamu</div>
            <div class="tab" data-tab="message-template">Template Pesan</div>
        </div>
        
        <div class="tab-content active" id="guest-list-tab">
            <div class="simple-guest-list-section">
                <h2>Tambah Tamu</h2>
                <form id="simple-guest-form" class="simple-guest-list-form">
                    <input type="hidden" id="simple-guest-owner" value="ananda-indah">
                    <input type="hidden" id="simple-guest-nonce" value="6cea97c579">
                    <input type="hidden" id="simple-guest-url" value="https://janjisejati.id/ananda-indah/ananda-indah">
                    <input type="hidden" id="simple-guest-items-per-page" value="10">
                    
                    <label for="simple-guest-name">Nama</label>
                    <input type="text" id="simple-guest-name" placeholder="Nama tamu" required>
                    
                    <label for="simple-guest-address">Alamat</label>
                    <textarea id="simple-guest-address" placeholder="Alamat tamu" required></textarea>
                    
                    <button type="submit">Tambah Tamu</button>
                </form>
            </div>
            
            <div class="simple-guest-list-items-container">
                <h2>Daftar Tamu Anda</h2>
                
                <div class="simple-guest-list-search">
                    <input type="text" id="guest-search-input" placeholder="Cari nama atau alamat...">
                    <button id="guest-search-button">Cari</button>
                    <button id="guest-search-reset" class="reset">Reset</button>
                </div>
                
                <div id="guest-list-summary" class="simple-guest-list-summary"></div>
                
                <div id="guest-list-content" class="simple-guest-list-items">
                    <div class="loading-spinner"></div>
                </div>
                
                <div id="guest-list-pagination" class="simple-guest-list-pagination"></div>
            </div>
        </div>
        
        <div class="tab-content" id="message-template-tab">
            <div class="simple-guest-list-section">
                <h2>Kustomisasi Template Pesan</h2>
                
                <div class="message-help">
                    <p>Gunakan parameter berikut dalam template pesan:</p>
                    <ul>
                        <li><code>[name]</code> - Nama tamu</li>
                        <li><code>[url]</code> - Link undangan (dengan parameter ?to=nama-tamu otomatis)</li>
                    </ul>
                    <p>Gunakan bintang (*) untuk membuat teks tebal di WhatsApp, contoh: *teks tebal*</p>
                    <p>Link undangan akan otomatis ditambahkan parameter <code>?to=nama-tamu</code> untuk personalisasi.</p>
                </div>
                
                <form id="message-template-form" class="message-template-form">
                    <textarea id="message-template">*Assalamualaikum Warahmatullahi Wabarakatuh*

Tanpa mengurangi rasa hormat, perkenankan kami mengundang Bapak/Ibu/Saudara/i *[name]* untuk menghadiri acara kami.

*Berikut link undangan kami*, untuk info lengkap dari acara bisa kunjungi :
[url]
Merupakan suatu kebahagiaan bagi kami apabila Bapak/Ibu/Saudara/i berkenan untuk hadir dan memberikan doa restu.

*Mohon maaf perihal undangan hanya di bagikan melalui pesan ini.*
Dan agar selalu menjaga kesehatan bersama serta datang pada waktu yang telah ditentukan.*

Terima kasih banyak atas perhatiannya.
*Wassalamualaikum Warahmatullahi Wabarakatuh*</textarea>
                    
                    <h3>Preview Pesan</h3>
                    <div class="message-preview" id="message-preview"></div>
                    
                    <button type="submit">Simpan Template</button>
                </form>
            </div>
        </div>
        
        <div class="simple-guest-list-notification" id="simple-guest-notification"></div>
    </div>
    
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        // Variables
        var ownerId = document.getElementById('simple-guest-owner').value;
        var nonce = document.getElementById('simple-guest-nonce').value;
        var invitationUrl = document.getElementById('simple-guest-url').value;
        var itemsPerPage = parseInt(document.getElementById('simple-guest-items-per-page').value);
        var messageTemplate = document.getElementById('message-template').value;
        var currentPage = 1;
        var currentSearch = '';
        
        // Log the base URL for debugging
        console.log("Base Invitation URL: " + invitationUrl);
        
        // Initial guest list load
        loadGuests(1, '');
        
        // Tabs functionality
        var tabs = document.querySelectorAll('.tab');
        tabs.forEach(function(tab) {
            tab.addEventListener('click', function() {
                // Remove active class from all tabs
                tabs.forEach(function(t) {
                    t.classList.remove('active');
                });
                
                // Add active class to clicked tab
                this.classList.add('active');
                
                // Hide all tab contents
                document.querySelectorAll('.tab-content').forEach(function(content) {
                    content.classList.remove('active');
                });
                
                // Show the selected tab content
                document.getElementById(this.getAttribute('data-tab') + '-tab').classList.add('active');
            });
        });
        
        // Search functionality
        document.getElementById('guest-search-button').addEventListener('click', function() {
            var searchValue = document.getElementById('guest-search-input').value.trim();
            currentSearch = searchValue;
            loadGuests(1, searchValue);
        });
        
        // Press Enter in search input
        document.getElementById('guest-search-input').addEventListener('keypress', function(e) {
            if (e.key === 'Enter') {
                e.preventDefault();
                var searchValue = this.value.trim();
                currentSearch = searchValue;
                loadGuests(1, searchValue);
            }
        });
        
        // Reset search
        document.getElementById('guest-search-reset').addEventListener('click', function() {
            document.getElementById('guest-search-input').value = '';
            currentSearch = '';
            loadGuests(1, '');
        });
        
        // Load guests with pagination and search
        function loadGuests(page, search) {
            // Show loading spinner
            document.getElementById('guest-list-content').innerHTML = '<div class="loading-spinner"></div>';
            document.getElementById('guest-list-pagination').innerHTML = '';
            document.getElementById('guest-list-summary').innerHTML = '';
            
            currentPage = page;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Update guest list
                        document.getElementById('guest-list-content').innerHTML = response.data.guests_html;
                        document.getElementById('guest-list-pagination').innerHTML = response.data.pagination_html;
                        document.getElementById('guest-list-summary').innerHTML = response.data.summary_html;
                        
                        // Update message template if provided
                        if (response.data.message_template) {
                            messageTemplate = response.data.message_template;
                            document.getElementById('message-template').value = messageTemplate;
                            updateMessagePreview();
                        }
                        
                        // Attach event listeners to new elements
                        attachGuestEventListeners();
                        attachPaginationEventListeners();
                    } else {
                        document.getElementById('guest-list-content').innerHTML = '<div class="no-guests">Error: ' + response.data + '</div>';
                    }
                }
            };
            xhr.send('action=simple_guest_list_search' + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&search=' + encodeURIComponent(search) + 
                '&page=' + encodeURIComponent(page) + 
                '&items_per_page=' + encodeURIComponent(itemsPerPage) + 
                '&invitation_url=' + encodeURIComponent('https://janjisejati.id/ananda-indah') + 
                '&nonce=' + encodeURIComponent(nonce));
        }
        
        // Attach pagination event listeners
        function attachPaginationEventListeners() {
            var paginationButtons = document.querySelectorAll('.pagination-btn:not(.disabled)');
            paginationButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var page = parseInt(this.getAttribute('data-page'));
                    loadGuests(page, currentSearch);
                    
                    // Scroll to top of guest list
                    document.querySelector('.simple-guest-list-items-container').scrollIntoView({
                        behavior: 'smooth'
                    });
                });
            });
        }
        
        // Attach guest action event listeners
        function attachGuestEventListeners() {
            // Delete guest
            var deleteButtons = document.querySelectorAll('.delete-btn');
            deleteButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    if (!confirm('Anda yakin ingin menghapus tamu ini?')) {
                        return;
                    }
                    
                    var item = this.closest('.simple-guest-list-item');
                    var id = item.getAttribute('data-id');
                    
                    var xhr = new XMLHttpRequest();
                    xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
                    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                    xhr.onload = function() {
                        if (xhr.status === 200) {
                            var response = JSON.parse(xhr.responseText);
                            if (response.success) {
                                // Reload current page
                                loadGuests(currentPage, currentSearch);
                            } else {
                                alert('Error: ' + response.data);
                            }
                        }
                    };
                    xhr.send('action=simple_guest_list_delete' + 
                        '&id=' + encodeURIComponent(id) + 
                        '&owner_id=' + encodeURIComponent(ownerId) + 
                        '&nonce=' + encodeURIComponent(nonce));
                });
            });
            
            // Share to WhatsApp
            var waButtons = document.querySelectorAll('.wa-btn');
            waButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    var text = getMessageText(name, personalizedUrl);
                    window.open('https://wa.me/?text=' + encodeURIComponent(text), '_blank');
                });
            });
            
            // Share to Facebook
            var fbButtons = document.querySelectorAll('.fb-btn');
            fbButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(personalizedUrl), '_blank');
                });
            });
            
            // Copy link
            var linkButtons = document.querySelectorAll('.link-btn');
            linkButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    copyToClipboard(personalizedUrl);
                    showNotification('Link berhasil disalin!');
                });
            });
            
            // Copy text
            var textButtons = document.querySelectorAll('.text-btn');
            textButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    var text = getMessageText(name, invitationUrl);
                    copyToClipboard(text);
                    showNotification('Kata pengantar berhasil disalin!');
                });
            });
        }
        
        // Form submission for adding guests
        document.getElementById('simple-guest-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var name = document.getElementById('simple-guest-name').value;
            var address = document.getElementById('simple-guest-address').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Clear form
                        document.getElementById('simple-guest-name').value = '';
                        document.getElementById('simple-guest-address').value = '';
                        
                        // Reload first page without search
                        document.getElementById('guest-search-input').value = '';
                        currentSearch = '';
                        loadGuests(1, '');
                        
                        // Show success notification
                        showNotification('Tamu berhasil ditambahkan!');
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_add' + 
                '&name=' + encodeURIComponent(name) + 
                '&address=' + encodeURIComponent(address) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Form submission for saving message template
        document.getElementById('message-template-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var message = document.getElementById('message-template').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        showNotification('Template pesan berhasil disimpan!');
                        messageTemplate = message;
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_save_message' + 
                '&message=' + encodeURIComponent(message) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Message template live preview
        var messageTemplateField = document.getElementById('message-template');
        var messagePreview = document.getElementById('message-preview');
        
        // Initial preview
        updateMessagePreview();
        
        // Update preview on input
        messageTemplateField.addEventListener('input', updateMessagePreview);
        
        function updateMessagePreview() {
            var sampleName = 'Nama Tamu';
            var previewUrl = invitationUrl + '?to=' + encodeURIComponent(sampleName);
            
            // Check if invitationUrl contains duplicate paths and fix it
            if (previewUrl.indexOf('/' + ownerId + '/' + ownerId) !== -1) {
                console.log('Fixing duplicate path in URL preview');
                previewUrl = previewUrl.replace('/' + ownerId + '/' + ownerId, '/' + ownerId);
            }
            
            var previewText = messageTemplateField.value
                .replace(/\[name\]/g, sampleName)
                .replace(/\[url\]/g, previewUrl);
            
            messagePreview.textContent = previewText;
        }
        
        // Helper function to get message text
        function getMessageText(name, baseUrl) {
            // Ensure we're using the proper base URL (without duplicated paths)
            var url = baseUrl;
            
            // Add the to parameter
            if (url.indexOf('?to=') === -1) {
                url = url + '?to=' + encodeURIComponent(name);
            }
            
            // When replacing URL, make sure the full URL is visible
            var text = messageTemplate
                .replace(/\[name\]/g, name)
                .replace(/\[url\]/g, url);
            
            return text;
        }
        
        // Helper function to copy to clipboard
        function copyToClipboard(text) {
            var textarea = document.createElement('textarea');
            textarea.value = text;
            document.body.appendChild(textarea);
            textarea.select();
            document.execCommand('copy');
            document.body.removeChild(textarea);
        }
        
        // Helper function to show notification
        function showNotification(message) {
            var notification = document.getElementById('simple-guest-notification');
            notification.textContent = message;
            notification.style.display = 'block';
            
            setTimeout(function() {
                notification.style.display = 'none';
            }, 2000);
        }
    });
    </script>
    </div>
				</div>
				</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-447340bb e-flex e-con-boxed e-con e-parent" data-id="447340bb" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-1a74a9ba wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="1a74a9ba" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Copyright JanjiSejati - All Rights Reserved</p>		</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://janjisejati.id/invitation-ananda-indah/">Invitation Ananda &#038; Indah</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://janjisejati.id/invitation-ananda-indah/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Invitation Nafa &#038; Didin</title>
		<link>https://janjisejati.id/invitation-nafa-didin/</link>
					<comments>https://janjisejati.id/invitation-nafa-didin/#comments</comments>
		
		<dc:creator><![CDATA[janjisejati]]></dc:creator>
		<pubDate>Fri, 06 Feb 2026 09:23:15 +0000</pubDate>
				<category><![CDATA[Tak Berkategori]]></category>
		<guid isPermaLink="false">https://janjisejati.id/?p=14455</guid>

					<description><![CDATA[<p>Kirim Undangan Untuk Para Tamu Kirim Undangan Untuk Para Tamu Spesial. Cara Membuat Nama Tamu di Website Masukkan nama tamu undangan kamu pada kolom nama tamu. Pisahkan dengan baris baru (enter) untuk memisahkan nama yang akan di undang. Masukkan nama tamu, nama tamu support simbol (&#38;) koma(,) titik(.) contohnya : Andy &#38; Zhea Merubah Kata [&#8230;]</p>
<p>The post <a href="https://janjisejati.id/invitation-nafa-didin/">Invitation Nafa &#038; Didin</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="14455" class="elementor elementor-14455" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-2a4b483e e-flex e-con-boxed e-con e-parent" data-id="2a4b483e" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-16427535 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="16427535" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-ec1fff8 wdp-sticky-section-no elementor-widget elementor-widget-image" data-id="ec1fff8" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
														<a href="https://websiteundangan.com/" target="_blank">
							<img fetchpriority="high" decoding="async" width="501" height="121" src="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png" class="attachment-full size-full wp-image-414" alt="" srcset="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png 501w, https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1-300x72.png 300w" sizes="(max-width: 501px) 100vw, 501px" />								</a>
													</div>
				</div>
				<div class="elementor-element elementor-element-530ff6ca elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="530ff6ca" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-13313510 e-con-full e-flex e-con e-child" data-id="13313510" data-element_type="container">
		<div class="elementor-element elementor-element-7ccc6bfc e-con-full e-flex e-con e-child" data-id="7ccc6bfc" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;,&quot;sticky&quot;:&quot;top&quot;,&quot;sticky_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;],&quot;sticky_offset&quot;:10,&quot;sticky_parent&quot;:&quot;yes&quot;,&quot;sticky_effects_offset&quot;:0}">
				<div class="elementor-element elementor-element-585b0bfa wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="585b0bfa" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu Spesial.</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-1ba2893 wdp-sticky-section-no elementor-widget elementor-widget-toggle" data-id="1ba2893" data-element_type="widget" data-widget_type="toggle.default">
				<div class="elementor-widget-container">
					<div class="elementor-toggle">
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2891" class="elementor-tab-title" data-tab="1" role="button" aria-controls="elementor-tab-content-2891" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Membuat Nama Tamu di Website</a>
					</div>

					<div id="elementor-tab-content-2891" class="elementor-tab-content elementor-clearfix" data-tab="1" role="region" aria-labelledby="elementor-tab-title-2891"><ul><li>Masukkan nama tamu undangan kamu pada kolom nama tamu.</li><li>Pisahkan dengan <strong>baris baru (enter)</strong> untuk memisahkan nama yang akan di undang.</li><li>Masukkan nama tamu, nama tamu support simbol (&amp;) koma(,) titik(.) contohnya : Andy &amp; Zhea</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2892" class="elementor-tab-title" data-tab="2" role="button" aria-controls="elementor-tab-content-2892" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Merubah Kata Pengantar</a>
					</div>

					<div id="elementor-tab-content-2892" class="elementor-tab-content elementor-clearfix" data-tab="2" role="region" aria-labelledby="elementor-tab-title-2892"><ul><li>Masukkan teks pengantar sesuai dengan kebutuhan, anda pun bisa menyisipkan link undangan dan custom nama tamu pada bagian teks pengantar yang akan dikirimkan.</li><li>Pada saat pengiriman  ada tambahan shortcode <strong>[link-undangan]</strong> untuk menyisipkan link undangan kedalam teks pengantar.</li><li>Saat pengiriman dengan teks pengantar, tambahan shortcode <strong>[nama]</strong> untuk menyisipkan nama tamu yang akan di undang kedalam teks pengantar.</li><li>Klik <strong>Buat Daftar Nama Tamu</strong> jika sudah melakukan pengisian untuk mendapatkan link undangan yang akan dikirimkan.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2893" class="elementor-tab-title" data-tab="3" role="button" aria-controls="elementor-tab-content-2893" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Sebar Link Ke Tamu Undangan</a>
					</div>

					<div id="elementor-tab-content-2893" class="elementor-tab-content elementor-clearfix" data-tab="3" role="region" aria-labelledby="elementor-tab-title-2893"><ul><li>Klik tombol <strong>Share to Whatsapp</strong> untuk mengirimkan undangan ke kontak whatsapp tamu yang akan diundang.</li><li>Klik tombol <strong>Copy Link</strong>, dan paste-kan di WA / Socmed ketika kamu ingin menyebarkan undangannya</li><li>Klik tombol <strong>Copy Kata Pengantar</strong> untuk menyimpan hasil generate undangan.</li><li>Anda bisa menghapus kolom yang di generate dengan menekan tombol hapus.</li><li>Sebaiknya<strong> test dulu kirim ke pasangan</strong> jika baru pertama kali menggunakan fitur ini.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2894" class="elementor-tab-title" data-tab="4" role="button" aria-controls="elementor-tab-content-2894" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">CATATAN PENTING!</a>
					</div>

					<div id="elementor-tab-content-2894" class="elementor-tab-content elementor-clearfix" data-tab="4" role="region" aria-labelledby="elementor-tab-title-2894"><ul><li>Disarankan menggunakan smartphone/ HP dan pakai BROWSER CHROME untuk menggunakan generator tamu undangan ini.</li><li>Penggunaan generator melalui PC/ Laptop terkadang tidak bisa menampilkan gambar saat sebar undangan.</li><li>Anda bisa menampilkan gambar (thumbnail) saat sebar undangan dengan cara setelah klik tautan kirim whatsapp, tunggu beberapa detik supaya WA load gambarnya. JADI TIDAK LANGSUNG DIKIRIM sebelum gambar muncul.</li><li>Tidak direkomendasikan berbagi link melalui DM Instagram, karena IG bukanlah tempat berbagi link. Silahkan bagikan undangan anda secara personal melalui pesan di No. Whatsapp para tamu undangan anda.</li></ul></div>
				</div>
								</div>
				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-215a3644 e-con-full e-flex e-con e-child" data-id="215a3644" data-element_type="container">
				<div class="elementor-element elementor-element-fe0edc6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="fe0edc6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Buat undangan jadi lebih ekslusif dan personal di setiap undangan yang akan dikirimkan.<br>Silahkan Generate Link nya di bawah ini:</p>		</div>
				</div>
				<div class="elementor-element elementor-element-10b28bb0 elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="10b28bb0" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-4f2586f6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="4f2586f6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Terima kasih telah memilih produk kami.<br><br>Semoga pernikahan anda berkah dan menjadi<br>keluarga yang Sakinah, Mawaddah, Warahmah. Aamiin</p>		</div>
				</div>
				<div class="elementor-element elementor-element-507e0d2 wdp-sticky-section-no elementor-widget elementor-widget-shortcode" data-id="507e0d2" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode">    <style>
        .simple-guest-list-container {
            max-width: 800px;
            margin: 0 auto;
            font-family: Arial, sans-serif;
        }
        .simple-guest-list-section {
            background-color: #f5f5f5;
            padding: 20px;
            border-radius: 5px;
            margin-bottom: 30px;
        }
        .simple-guest-list-section h2 {
            margin-top: 0;
            margin-bottom: 20px;
        }
        .simple-guest-list-form input,
        .simple-guest-list-form textarea,
        .message-template-form textarea,
        .simple-guest-list-search input {
            width: 100%;
            padding: 10px;
            margin-bottom: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
        }
        .simple-guest-list-form textarea {
            height: 100px;
        }
        .message-template-form textarea {
            height: 200px;
            font-family: monospace;
            font-size: 14px;
        }
        .simple-guest-list-form button,
        .message-template-form button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 10px 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-item {
            border: 1px solid #ddd;
            padding: 15px;
            margin-bottom: 10px;
            border-radius: 4px;
            background-color: #fff;
        }
        .simple-guest-list-actions {
            margin-top: 10px;
            display: flex;
            gap: 5px;
        }
        .simple-guest-list-actions button {
            border: none;
            width: 40px;
            height: 40px;
            border-radius: 4px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .simple-guest-list-actions .wa-btn {
            background-color: #25D366;
            color: white;
        }
        .simple-guest-list-actions .fb-btn {
            background-color: #4267B2;
            color: white;
        }
        .simple-guest-list-actions .link-btn {
            background-color: #6c757d;
            color: white;
        }
        .simple-guest-list-actions .text-btn {
            background-color: #17a2b8;
            color: white;
        }
        .simple-guest-list-actions .delete-btn {
            background-color: #dc3545;
            color: white;
        }
        .simple-guest-list-notification {
            position: fixed;
            bottom: 20px;
            right: 20px;
            background-color: #4CAF50;
            color: white;
            padding: 10px 20px;
            border-radius: 4px;
            display: none;
            z-index: 1000;
        }
        .message-help {
            background-color: #f8f9fa;
            padding: 10px;
            border-left: 3px solid #17a2b8;
            margin-bottom: 15px;
        }
        .message-help code {
            background-color: #e9ecef;
            padding: 2px 4px;
            border-radius: 3px;
        }
        .tabs {
            display: flex;
            margin-bottom: 20px;
            border-bottom: 1px solid #ddd;
        }
        .tab {
            padding: 10px 15px;
            cursor: pointer;
            background-color: #f5f5f5;
            margin-right: 5px;
            border-radius: 5px 5px 0 0;
            border: 1px solid #ddd;
            border-bottom: none;
        }
        .tab.active {
            background-color: #fff;
            font-weight: bold;
        }
        .tab-content {
            display: none;
        }
        .tab-content.active {
            display: block;
        }
        .message-preview {
            background-color: #f8f9fa;
            padding: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
            white-space: pre-line;
            margin-top: 10px;
            margin-bottom: 15px;
        }
        /* Search and Pagination Styles */
        .simple-guest-list-search {
            display: flex;
            margin-bottom: 15px;
        }
        .simple-guest-list-search input {
            flex: 1;
            margin-bottom: 0;
            margin-right: 10px;
        }
        .simple-guest-list-search button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 0 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-search button.reset {
            background-color: #6c757d;
            margin-left: 5px;
        }
        .simple-guest-list-pagination {
            display: flex;
            justify-content: center;
            margin-top: 20px;
            flex-wrap: wrap;
            gap: 5px;
        }
        .pagination-btn {
            padding: 8px 12px;
            background-color: #f8f9fa;
            border: 1px solid #ddd;
            border-radius: 4px;
            cursor: pointer;
        }
        .pagination-btn:hover {
            background-color: #e9ecef;
        }
        .pagination-btn.active {
            background-color: #4CAF50;
            color: white;
            border-color: #4CAF50;
        }
        .pagination-btn.disabled {
            color: #6c757d;
            cursor: not-allowed;
        }
        .pagination-ellipsis {
            padding: 8px 12px;
        }
        .simple-guest-list-summary {
            text-align: center;
            color: #6c757d;
            margin-bottom: 10px;
            font-size: 14px;
        }
        .no-guests {
            text-align: center;
            padding: 20px;
            background-color: #f5f5f5;
            border-radius: 4px;
            color: #6c757d;
        }
        .loading-spinner {
            text-align: center;
            padding: 20px;
        }
        .loading-spinner::after {
            content: "";
            display: inline-block;
            width: 30px;
            height: 30px;
            border: 3px solid rgba(0, 0, 0, 0.1);
            border-radius: 50%;
            border-top-color: #4CAF50;
            animation: spin 1s ease-in-out infinite;
        }
        @keyframes spin {
            to { transform: rotate(360deg); }
        }
        @media (max-width: 768px) {
            .simple-guest-list-actions {
                flex-wrap: wrap;
            }
            .simple-guest-list-search {
                flex-direction: column;
            }
            .simple-guest-list-search input {
                margin-right: 0;
                margin-bottom: 10px;
            }
            .simple-guest-list-search button.reset {
                margin-left: 0;
                margin-top: 5px;
            }
        }
    </style>
    
    <div class="simple-guest-list-container">
        <div class="tabs">
            <div class="tab active" data-tab="guest-list">Daftar Tamu</div>
            <div class="tab" data-tab="message-template">Template Pesan</div>
        </div>
        
        <div class="tab-content active" id="guest-list-tab">
            <div class="simple-guest-list-section">
                <h2>Tambah Tamu</h2>
                <form id="simple-guest-form" class="simple-guest-list-form">
                    <input type="hidden" id="simple-guest-owner" value="nafa-didin">
                    <input type="hidden" id="simple-guest-nonce" value="6cea97c579">
                    <input type="hidden" id="simple-guest-url" value="https://janjisejati.id/nafa-didin/nafa-didin">
                    <input type="hidden" id="simple-guest-items-per-page" value="10">
                    
                    <label for="simple-guest-name">Nama</label>
                    <input type="text" id="simple-guest-name" placeholder="Nama tamu" required>
                    
                    <label for="simple-guest-address">Alamat</label>
                    <textarea id="simple-guest-address" placeholder="Alamat tamu" required></textarea>
                    
                    <button type="submit">Tambah Tamu</button>
                </form>
            </div>
            
            <div class="simple-guest-list-items-container">
                <h2>Daftar Tamu Anda</h2>
                
                <div class="simple-guest-list-search">
                    <input type="text" id="guest-search-input" placeholder="Cari nama atau alamat...">
                    <button id="guest-search-button">Cari</button>
                    <button id="guest-search-reset" class="reset">Reset</button>
                </div>
                
                <div id="guest-list-summary" class="simple-guest-list-summary"></div>
                
                <div id="guest-list-content" class="simple-guest-list-items">
                    <div class="loading-spinner"></div>
                </div>
                
                <div id="guest-list-pagination" class="simple-guest-list-pagination"></div>
            </div>
        </div>
        
        <div class="tab-content" id="message-template-tab">
            <div class="simple-guest-list-section">
                <h2>Kustomisasi Template Pesan</h2>
                
                <div class="message-help">
                    <p>Gunakan parameter berikut dalam template pesan:</p>
                    <ul>
                        <li><code>[name]</code> - Nama tamu</li>
                        <li><code>[url]</code> - Link undangan (dengan parameter ?to=nama-tamu otomatis)</li>
                    </ul>
                    <p>Gunakan bintang (*) untuk membuat teks tebal di WhatsApp, contoh: *teks tebal*</p>
                    <p>Link undangan akan otomatis ditambahkan parameter <code>?to=nama-tamu</code> untuk personalisasi.</p>
                </div>
                
                <form id="message-template-form" class="message-template-form">
                    <textarea id="message-template">*Assalamualaikum Warahmatullahi Wabarakatuh*
Tanpa mengurangi rasa hormat, perkenankan kami mengundang Bapak/Ibu/Saudara/i *[name]* untuk menghadiri acara kami.
*Berikut link undangan kami*, untuk info lengkap dari acara bisa kunjungi :
[url]
Merupakan suatu kebahagiaan bagi kami apabila Bapak/Ibu/Saudara/i berkenan untuk hadir dan memberikan doa restu.
*Mohon maaf perihal undangan hanya di bagikan melalui pesan ini.*
Dan agar selalu menjaga kesehatan bersama serta datang pada waktu yang telah ditentukan.*
Terima kasih banyak atas perhatiannya.
*Wassalamualaikum Warahmatullahi Wabarakatuh*</textarea>
                    
                    <h3>Preview Pesan</h3>
                    <div class="message-preview" id="message-preview"></div>
                    
                    <button type="submit">Simpan Template</button>
                </form>
            </div>
        </div>
        
        <div class="simple-guest-list-notification" id="simple-guest-notification"></div>
    </div>
    
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        // Variables
        var ownerId = document.getElementById('simple-guest-owner').value;
        var nonce = document.getElementById('simple-guest-nonce').value;
        var invitationUrl = document.getElementById('simple-guest-url').value;
        var itemsPerPage = parseInt(document.getElementById('simple-guest-items-per-page').value);
        var messageTemplate = document.getElementById('message-template').value;
        var currentPage = 1;
        var currentSearch = '';
        
        // Log the base URL for debugging
        console.log("Base Invitation URL: " + invitationUrl);
        
        // Initial guest list load
        loadGuests(1, '');
        
        // Tabs functionality
        var tabs = document.querySelectorAll('.tab');
        tabs.forEach(function(tab) {
            tab.addEventListener('click', function() {
                // Remove active class from all tabs
                tabs.forEach(function(t) {
                    t.classList.remove('active');
                });
                
                // Add active class to clicked tab
                this.classList.add('active');
                
                // Hide all tab contents
                document.querySelectorAll('.tab-content').forEach(function(content) {
                    content.classList.remove('active');
                });
                
                // Show the selected tab content
                document.getElementById(this.getAttribute('data-tab') + '-tab').classList.add('active');
            });
        });
        
        // Search functionality
        document.getElementById('guest-search-button').addEventListener('click', function() {
            var searchValue = document.getElementById('guest-search-input').value.trim();
            currentSearch = searchValue;
            loadGuests(1, searchValue);
        });
        
        // Press Enter in search input
        document.getElementById('guest-search-input').addEventListener('keypress', function(e) {
            if (e.key === 'Enter') {
                e.preventDefault();
                var searchValue = this.value.trim();
                currentSearch = searchValue;
                loadGuests(1, searchValue);
            }
        });
        
        // Reset search
        document.getElementById('guest-search-reset').addEventListener('click', function() {
            document.getElementById('guest-search-input').value = '';
            currentSearch = '';
            loadGuests(1, '');
        });
        
        // Load guests with pagination and search
        function loadGuests(page, search) {
            // Show loading spinner
            document.getElementById('guest-list-content').innerHTML = '<div class="loading-spinner"></div>';
            document.getElementById('guest-list-pagination').innerHTML = '';
            document.getElementById('guest-list-summary').innerHTML = '';
            
            currentPage = page;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Update guest list
                        document.getElementById('guest-list-content').innerHTML = response.data.guests_html;
                        document.getElementById('guest-list-pagination').innerHTML = response.data.pagination_html;
                        document.getElementById('guest-list-summary').innerHTML = response.data.summary_html;
                        
                        // Update message template if provided
                        if (response.data.message_template) {
                            messageTemplate = response.data.message_template;
                            document.getElementById('message-template').value = messageTemplate;
                            updateMessagePreview();
                        }
                        
                        // Attach event listeners to new elements
                        attachGuestEventListeners();
                        attachPaginationEventListeners();
                    } else {
                        document.getElementById('guest-list-content').innerHTML = '<div class="no-guests">Error: ' + response.data + '</div>';
                    }
                }
            };
            xhr.send('action=simple_guest_list_search' + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&search=' + encodeURIComponent(search) + 
                '&page=' + encodeURIComponent(page) + 
                '&items_per_page=' + encodeURIComponent(itemsPerPage) + 
                '&invitation_url=' + encodeURIComponent('https://janjisejati.id/nafa-didin') + 
                '&nonce=' + encodeURIComponent(nonce));
        }
        
        // Attach pagination event listeners
        function attachPaginationEventListeners() {
            var paginationButtons = document.querySelectorAll('.pagination-btn:not(.disabled)');
            paginationButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var page = parseInt(this.getAttribute('data-page'));
                    loadGuests(page, currentSearch);
                    
                    // Scroll to top of guest list
                    document.querySelector('.simple-guest-list-items-container').scrollIntoView({
                        behavior: 'smooth'
                    });
                });
            });
        }
        
        // Attach guest action event listeners
        function attachGuestEventListeners() {
            // Delete guest
            var deleteButtons = document.querySelectorAll('.delete-btn');
            deleteButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    if (!confirm('Anda yakin ingin menghapus tamu ini?')) {
                        return;
                    }
                    
                    var item = this.closest('.simple-guest-list-item');
                    var id = item.getAttribute('data-id');
                    
                    var xhr = new XMLHttpRequest();
                    xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
                    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                    xhr.onload = function() {
                        if (xhr.status === 200) {
                            var response = JSON.parse(xhr.responseText);
                            if (response.success) {
                                // Reload current page
                                loadGuests(currentPage, currentSearch);
                            } else {
                                alert('Error: ' + response.data);
                            }
                        }
                    };
                    xhr.send('action=simple_guest_list_delete' + 
                        '&id=' + encodeURIComponent(id) + 
                        '&owner_id=' + encodeURIComponent(ownerId) + 
                        '&nonce=' + encodeURIComponent(nonce));
                });
            });
            
            // Share to WhatsApp
            var waButtons = document.querySelectorAll('.wa-btn');
            waButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    var text = getMessageText(name, personalizedUrl);
                    window.open('https://wa.me/?text=' + encodeURIComponent(text), '_blank');
                });
            });
            
            // Share to Facebook
            var fbButtons = document.querySelectorAll('.fb-btn');
            fbButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(personalizedUrl), '_blank');
                });
            });
            
            // Copy link
            var linkButtons = document.querySelectorAll('.link-btn');
            linkButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    copyToClipboard(personalizedUrl);
                    showNotification('Link berhasil disalin!');
                });
            });
            
            // Copy text
            var textButtons = document.querySelectorAll('.text-btn');
            textButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    var text = getMessageText(name, invitationUrl);
                    copyToClipboard(text);
                    showNotification('Kata pengantar berhasil disalin!');
                });
            });
        }
        
        // Form submission for adding guests
        document.getElementById('simple-guest-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var name = document.getElementById('simple-guest-name').value;
            var address = document.getElementById('simple-guest-address').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Clear form
                        document.getElementById('simple-guest-name').value = '';
                        document.getElementById('simple-guest-address').value = '';
                        
                        // Reload first page without search
                        document.getElementById('guest-search-input').value = '';
                        currentSearch = '';
                        loadGuests(1, '');
                        
                        // Show success notification
                        showNotification('Tamu berhasil ditambahkan!');
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_add' + 
                '&name=' + encodeURIComponent(name) + 
                '&address=' + encodeURIComponent(address) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Form submission for saving message template
        document.getElementById('message-template-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var message = document.getElementById('message-template').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        showNotification('Template pesan berhasil disimpan!');
                        messageTemplate = message;
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_save_message' + 
                '&message=' + encodeURIComponent(message) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Message template live preview
        var messageTemplateField = document.getElementById('message-template');
        var messagePreview = document.getElementById('message-preview');
        
        // Initial preview
        updateMessagePreview();
        
        // Update preview on input
        messageTemplateField.addEventListener('input', updateMessagePreview);
        
        function updateMessagePreview() {
            var sampleName = 'Nama Tamu';
            var previewUrl = invitationUrl + '?to=' + encodeURIComponent(sampleName);
            
            // Check if invitationUrl contains duplicate paths and fix it
            if (previewUrl.indexOf('/' + ownerId + '/' + ownerId) !== -1) {
                console.log('Fixing duplicate path in URL preview');
                previewUrl = previewUrl.replace('/' + ownerId + '/' + ownerId, '/' + ownerId);
            }
            
            var previewText = messageTemplateField.value
                .replace(/\[name\]/g, sampleName)
                .replace(/\[url\]/g, previewUrl);
            
            messagePreview.textContent = previewText;
        }
        
        // Helper function to get message text
        function getMessageText(name, baseUrl) {
            // Ensure we're using the proper base URL (without duplicated paths)
            var url = baseUrl;
            
            // Add the to parameter
            if (url.indexOf('?to=') === -1) {
                url = url + '?to=' + encodeURIComponent(name);
            }
            
            // When replacing URL, make sure the full URL is visible
            var text = messageTemplate
                .replace(/\[name\]/g, name)
                .replace(/\[url\]/g, url);
            
            return text;
        }
        
        // Helper function to copy to clipboard
        function copyToClipboard(text) {
            var textarea = document.createElement('textarea');
            textarea.value = text;
            document.body.appendChild(textarea);
            textarea.select();
            document.execCommand('copy');
            document.body.removeChild(textarea);
        }
        
        // Helper function to show notification
        function showNotification(message) {
            var notification = document.getElementById('simple-guest-notification');
            notification.textContent = message;
            notification.style.display = 'block';
            
            setTimeout(function() {
                notification.style.display = 'none';
            }, 2000);
        }
    });
    </script>
    </div>
				</div>
				</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-447340bb e-flex e-con-boxed e-con e-parent" data-id="447340bb" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-1a74a9ba wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="1a74a9ba" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Copyright JanjiSejati - All Rights Reserved</p>		</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://janjisejati.id/invitation-nafa-didin/">Invitation Nafa &#038; Didin</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://janjisejati.id/invitation-nafa-didin/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Invitation Nurul &#038; Reza</title>
		<link>https://janjisejati.id/invitation-nurul-reza/</link>
					<comments>https://janjisejati.id/invitation-nurul-reza/#comments</comments>
		
		<dc:creator><![CDATA[janjisejati]]></dc:creator>
		<pubDate>Wed, 21 Jan 2026 08:40:56 +0000</pubDate>
				<category><![CDATA[Tak Berkategori]]></category>
		<guid isPermaLink="false">https://janjisejati.id/?p=14334</guid>

					<description><![CDATA[<p>Kirim Undangan Untuk Para Tamu Kirim Undangan Untuk Para Tamu Spesial. Cara Membuat Nama Tamu di Website Masukkan nama tamu undangan kamu pada kolom nama tamu. Pisahkan dengan baris baru (enter) untuk memisahkan nama yang akan di undang. Masukkan nama tamu, nama tamu support simbol (&#38;) koma(,) titik(.) contohnya : Andy &#38; Zhea Merubah Kata [&#8230;]</p>
<p>The post <a href="https://janjisejati.id/invitation-nurul-reza/">Invitation Nurul &#038; Reza</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="14334" class="elementor elementor-14334" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-2a4b483e e-flex e-con-boxed e-con e-parent" data-id="2a4b483e" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-16427535 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="16427535" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-ec1fff8 wdp-sticky-section-no elementor-widget elementor-widget-image" data-id="ec1fff8" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
														<a href="https://websiteundangan.com/" target="_blank">
							<img fetchpriority="high" decoding="async" width="501" height="121" src="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png" class="attachment-full size-full wp-image-414" alt="" srcset="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png 501w, https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1-300x72.png 300w" sizes="(max-width: 501px) 100vw, 501px" />								</a>
													</div>
				</div>
				<div class="elementor-element elementor-element-530ff6ca elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="530ff6ca" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-13313510 e-con-full e-flex e-con e-child" data-id="13313510" data-element_type="container">
		<div class="elementor-element elementor-element-7ccc6bfc e-con-full e-flex e-con e-child" data-id="7ccc6bfc" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;,&quot;sticky&quot;:&quot;top&quot;,&quot;sticky_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;],&quot;sticky_offset&quot;:10,&quot;sticky_parent&quot;:&quot;yes&quot;,&quot;sticky_effects_offset&quot;:0}">
				<div class="elementor-element elementor-element-585b0bfa wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="585b0bfa" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu Spesial.</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-1ba2893 wdp-sticky-section-no elementor-widget elementor-widget-toggle" data-id="1ba2893" data-element_type="widget" data-widget_type="toggle.default">
				<div class="elementor-widget-container">
					<div class="elementor-toggle">
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2891" class="elementor-tab-title" data-tab="1" role="button" aria-controls="elementor-tab-content-2891" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Membuat Nama Tamu di Website</a>
					</div>

					<div id="elementor-tab-content-2891" class="elementor-tab-content elementor-clearfix" data-tab="1" role="region" aria-labelledby="elementor-tab-title-2891"><ul><li>Masukkan nama tamu undangan kamu pada kolom nama tamu.</li><li>Pisahkan dengan <strong>baris baru (enter)</strong> untuk memisahkan nama yang akan di undang.</li><li>Masukkan nama tamu, nama tamu support simbol (&amp;) koma(,) titik(.) contohnya : Andy &amp; Zhea</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2892" class="elementor-tab-title" data-tab="2" role="button" aria-controls="elementor-tab-content-2892" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Merubah Kata Pengantar</a>
					</div>

					<div id="elementor-tab-content-2892" class="elementor-tab-content elementor-clearfix" data-tab="2" role="region" aria-labelledby="elementor-tab-title-2892"><ul><li>Masukkan teks pengantar sesuai dengan kebutuhan, anda pun bisa menyisipkan link undangan dan custom nama tamu pada bagian teks pengantar yang akan dikirimkan.</li><li>Pada saat pengiriman  ada tambahan shortcode <strong>[link-undangan]</strong> untuk menyisipkan link undangan kedalam teks pengantar.</li><li>Saat pengiriman dengan teks pengantar, tambahan shortcode <strong>[nama]</strong> untuk menyisipkan nama tamu yang akan di undang kedalam teks pengantar.</li><li>Klik <strong>Buat Daftar Nama Tamu</strong> jika sudah melakukan pengisian untuk mendapatkan link undangan yang akan dikirimkan.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2893" class="elementor-tab-title" data-tab="3" role="button" aria-controls="elementor-tab-content-2893" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Sebar Link Ke Tamu Undangan</a>
					</div>

					<div id="elementor-tab-content-2893" class="elementor-tab-content elementor-clearfix" data-tab="3" role="region" aria-labelledby="elementor-tab-title-2893"><ul><li>Klik tombol <strong>Share to Whatsapp</strong> untuk mengirimkan undangan ke kontak whatsapp tamu yang akan diundang.</li><li>Klik tombol <strong>Copy Link</strong>, dan paste-kan di WA / Socmed ketika kamu ingin menyebarkan undangannya</li><li>Klik tombol <strong>Copy Kata Pengantar</strong> untuk menyimpan hasil generate undangan.</li><li>Anda bisa menghapus kolom yang di generate dengan menekan tombol hapus.</li><li>Sebaiknya<strong> test dulu kirim ke pasangan</strong> jika baru pertama kali menggunakan fitur ini.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2894" class="elementor-tab-title" data-tab="4" role="button" aria-controls="elementor-tab-content-2894" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">CATATAN PENTING!</a>
					</div>

					<div id="elementor-tab-content-2894" class="elementor-tab-content elementor-clearfix" data-tab="4" role="region" aria-labelledby="elementor-tab-title-2894"><ul><li>Disarankan menggunakan smartphone/ HP dan pakai BROWSER CHROME untuk menggunakan generator tamu undangan ini.</li><li>Penggunaan generator melalui PC/ Laptop terkadang tidak bisa menampilkan gambar saat sebar undangan.</li><li>Anda bisa menampilkan gambar (thumbnail) saat sebar undangan dengan cara setelah klik tautan kirim whatsapp, tunggu beberapa detik supaya WA load gambarnya. JADI TIDAK LANGSUNG DIKIRIM sebelum gambar muncul.</li><li>Tidak direkomendasikan berbagi link melalui DM Instagram, karena IG bukanlah tempat berbagi link. Silahkan bagikan undangan anda secara personal melalui pesan di No. Whatsapp para tamu undangan anda.</li></ul></div>
				</div>
								</div>
				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-215a3644 e-con-full e-flex e-con e-child" data-id="215a3644" data-element_type="container">
				<div class="elementor-element elementor-element-fe0edc6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="fe0edc6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Buat undangan jadi lebih ekslusif dan personal di setiap undangan yang akan dikirimkan.<br>Silahkan Generate Link nya di bawah ini:</p>		</div>
				</div>
				<div class="elementor-element elementor-element-10b28bb0 elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="10b28bb0" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-4f2586f6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="4f2586f6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Terima kasih telah memilih produk kami.<br><br>Semoga pernikahan anda berkah dan menjadi<br>keluarga yang Sakinah, Mawaddah, Warahmah. Aamiin</p>		</div>
				</div>
				<div class="elementor-element elementor-element-507e0d2 wdp-sticky-section-no elementor-widget elementor-widget-shortcode" data-id="507e0d2" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode">    <style>
        .simple-guest-list-container {
            max-width: 800px;
            margin: 0 auto;
            font-family: Arial, sans-serif;
        }
        .simple-guest-list-section {
            background-color: #f5f5f5;
            padding: 20px;
            border-radius: 5px;
            margin-bottom: 30px;
        }
        .simple-guest-list-section h2 {
            margin-top: 0;
            margin-bottom: 20px;
        }
        .simple-guest-list-form input,
        .simple-guest-list-form textarea,
        .message-template-form textarea,
        .simple-guest-list-search input {
            width: 100%;
            padding: 10px;
            margin-bottom: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
        }
        .simple-guest-list-form textarea {
            height: 100px;
        }
        .message-template-form textarea {
            height: 200px;
            font-family: monospace;
            font-size: 14px;
        }
        .simple-guest-list-form button,
        .message-template-form button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 10px 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-item {
            border: 1px solid #ddd;
            padding: 15px;
            margin-bottom: 10px;
            border-radius: 4px;
            background-color: #fff;
        }
        .simple-guest-list-actions {
            margin-top: 10px;
            display: flex;
            gap: 5px;
        }
        .simple-guest-list-actions button {
            border: none;
            width: 40px;
            height: 40px;
            border-radius: 4px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .simple-guest-list-actions .wa-btn {
            background-color: #25D366;
            color: white;
        }
        .simple-guest-list-actions .fb-btn {
            background-color: #4267B2;
            color: white;
        }
        .simple-guest-list-actions .link-btn {
            background-color: #6c757d;
            color: white;
        }
        .simple-guest-list-actions .text-btn {
            background-color: #17a2b8;
            color: white;
        }
        .simple-guest-list-actions .delete-btn {
            background-color: #dc3545;
            color: white;
        }
        .simple-guest-list-notification {
            position: fixed;
            bottom: 20px;
            right: 20px;
            background-color: #4CAF50;
            color: white;
            padding: 10px 20px;
            border-radius: 4px;
            display: none;
            z-index: 1000;
        }
        .message-help {
            background-color: #f8f9fa;
            padding: 10px;
            border-left: 3px solid #17a2b8;
            margin-bottom: 15px;
        }
        .message-help code {
            background-color: #e9ecef;
            padding: 2px 4px;
            border-radius: 3px;
        }
        .tabs {
            display: flex;
            margin-bottom: 20px;
            border-bottom: 1px solid #ddd;
        }
        .tab {
            padding: 10px 15px;
            cursor: pointer;
            background-color: #f5f5f5;
            margin-right: 5px;
            border-radius: 5px 5px 0 0;
            border: 1px solid #ddd;
            border-bottom: none;
        }
        .tab.active {
            background-color: #fff;
            font-weight: bold;
        }
        .tab-content {
            display: none;
        }
        .tab-content.active {
            display: block;
        }
        .message-preview {
            background-color: #f8f9fa;
            padding: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
            white-space: pre-line;
            margin-top: 10px;
            margin-bottom: 15px;
        }
        /* Search and Pagination Styles */
        .simple-guest-list-search {
            display: flex;
            margin-bottom: 15px;
        }
        .simple-guest-list-search input {
            flex: 1;
            margin-bottom: 0;
            margin-right: 10px;
        }
        .simple-guest-list-search button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 0 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-search button.reset {
            background-color: #6c757d;
            margin-left: 5px;
        }
        .simple-guest-list-pagination {
            display: flex;
            justify-content: center;
            margin-top: 20px;
            flex-wrap: wrap;
            gap: 5px;
        }
        .pagination-btn {
            padding: 8px 12px;
            background-color: #f8f9fa;
            border: 1px solid #ddd;
            border-radius: 4px;
            cursor: pointer;
        }
        .pagination-btn:hover {
            background-color: #e9ecef;
        }
        .pagination-btn.active {
            background-color: #4CAF50;
            color: white;
            border-color: #4CAF50;
        }
        .pagination-btn.disabled {
            color: #6c757d;
            cursor: not-allowed;
        }
        .pagination-ellipsis {
            padding: 8px 12px;
        }
        .simple-guest-list-summary {
            text-align: center;
            color: #6c757d;
            margin-bottom: 10px;
            font-size: 14px;
        }
        .no-guests {
            text-align: center;
            padding: 20px;
            background-color: #f5f5f5;
            border-radius: 4px;
            color: #6c757d;
        }
        .loading-spinner {
            text-align: center;
            padding: 20px;
        }
        .loading-spinner::after {
            content: "";
            display: inline-block;
            width: 30px;
            height: 30px;
            border: 3px solid rgba(0, 0, 0, 0.1);
            border-radius: 50%;
            border-top-color: #4CAF50;
            animation: spin 1s ease-in-out infinite;
        }
        @keyframes spin {
            to { transform: rotate(360deg); }
        }
        @media (max-width: 768px) {
            .simple-guest-list-actions {
                flex-wrap: wrap;
            }
            .simple-guest-list-search {
                flex-direction: column;
            }
            .simple-guest-list-search input {
                margin-right: 0;
                margin-bottom: 10px;
            }
            .simple-guest-list-search button.reset {
                margin-left: 0;
                margin-top: 5px;
            }
        }
    </style>
    
    <div class="simple-guest-list-container">
        <div class="tabs">
            <div class="tab active" data-tab="guest-list">Daftar Tamu</div>
            <div class="tab" data-tab="message-template">Template Pesan</div>
        </div>
        
        <div class="tab-content active" id="guest-list-tab">
            <div class="simple-guest-list-section">
                <h2>Tambah Tamu</h2>
                <form id="simple-guest-form" class="simple-guest-list-form">
                    <input type="hidden" id="simple-guest-owner" value="nurul-reza">
                    <input type="hidden" id="simple-guest-nonce" value="6cea97c579">
                    <input type="hidden" id="simple-guest-url" value="https://janjisejati.id/nurul-reza/nurul-reza">
                    <input type="hidden" id="simple-guest-items-per-page" value="10">
                    
                    <label for="simple-guest-name">Nama</label>
                    <input type="text" id="simple-guest-name" placeholder="Nama tamu" required>
                    
                    <label for="simple-guest-address">Alamat</label>
                    <textarea id="simple-guest-address" placeholder="Alamat tamu" required></textarea>
                    
                    <button type="submit">Tambah Tamu</button>
                </form>
            </div>
            
            <div class="simple-guest-list-items-container">
                <h2>Daftar Tamu Anda</h2>
                
                <div class="simple-guest-list-search">
                    <input type="text" id="guest-search-input" placeholder="Cari nama atau alamat...">
                    <button id="guest-search-button">Cari</button>
                    <button id="guest-search-reset" class="reset">Reset</button>
                </div>
                
                <div id="guest-list-summary" class="simple-guest-list-summary"></div>
                
                <div id="guest-list-content" class="simple-guest-list-items">
                    <div class="loading-spinner"></div>
                </div>
                
                <div id="guest-list-pagination" class="simple-guest-list-pagination"></div>
            </div>
        </div>
        
        <div class="tab-content" id="message-template-tab">
            <div class="simple-guest-list-section">
                <h2>Kustomisasi Template Pesan</h2>
                
                <div class="message-help">
                    <p>Gunakan parameter berikut dalam template pesan:</p>
                    <ul>
                        <li><code>[name]</code> - Nama tamu</li>
                        <li><code>[url]</code> - Link undangan (dengan parameter ?to=nama-tamu otomatis)</li>
                    </ul>
                    <p>Gunakan bintang (*) untuk membuat teks tebal di WhatsApp, contoh: *teks tebal*</p>
                    <p>Link undangan akan otomatis ditambahkan parameter <code>?to=nama-tamu</code> untuk personalisasi.</p>
                </div>
                
                <form id="message-template-form" class="message-template-form">
                    <textarea id="message-template">*Assalamualaikum Warahmatullahi Wabarakatuh*
Tanpa mengurangi rasa hormat, perkenankan kami mengundang Bapak/Ibu/Saudara/i *[name]* untuk menghadiri acara kami.
*Berikut link undangan kami*, untuk info lengkap dari acara bisa kunjungi :
[url]
Merupakan suatu kebahagiaan bagi kami apabila Bapak/Ibu/Saudara/i berkenan untuk hadir dan memberikan doa restu.
*Mohon maaf perihal undangan hanya di bagikan melalui pesan ini.*
Dan agar selalu menjaga kesehatan bersama serta datang pada waktu yang telah ditentukan.*
Terima kasih banyak atas perhatiannya.
*Wassalamualaikum Warahmatullahi Wabarakatuh*</textarea>
                    
                    <h3>Preview Pesan</h3>
                    <div class="message-preview" id="message-preview"></div>
                    
                    <button type="submit">Simpan Template</button>
                </form>
            </div>
        </div>
        
        <div class="simple-guest-list-notification" id="simple-guest-notification"></div>
    </div>
    
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        // Variables
        var ownerId = document.getElementById('simple-guest-owner').value;
        var nonce = document.getElementById('simple-guest-nonce').value;
        var invitationUrl = document.getElementById('simple-guest-url').value;
        var itemsPerPage = parseInt(document.getElementById('simple-guest-items-per-page').value);
        var messageTemplate = document.getElementById('message-template').value;
        var currentPage = 1;
        var currentSearch = '';
        
        // Log the base URL for debugging
        console.log("Base Invitation URL: " + invitationUrl);
        
        // Initial guest list load
        loadGuests(1, '');
        
        // Tabs functionality
        var tabs = document.querySelectorAll('.tab');
        tabs.forEach(function(tab) {
            tab.addEventListener('click', function() {
                // Remove active class from all tabs
                tabs.forEach(function(t) {
                    t.classList.remove('active');
                });
                
                // Add active class to clicked tab
                this.classList.add('active');
                
                // Hide all tab contents
                document.querySelectorAll('.tab-content').forEach(function(content) {
                    content.classList.remove('active');
                });
                
                // Show the selected tab content
                document.getElementById(this.getAttribute('data-tab') + '-tab').classList.add('active');
            });
        });
        
        // Search functionality
        document.getElementById('guest-search-button').addEventListener('click', function() {
            var searchValue = document.getElementById('guest-search-input').value.trim();
            currentSearch = searchValue;
            loadGuests(1, searchValue);
        });
        
        // Press Enter in search input
        document.getElementById('guest-search-input').addEventListener('keypress', function(e) {
            if (e.key === 'Enter') {
                e.preventDefault();
                var searchValue = this.value.trim();
                currentSearch = searchValue;
                loadGuests(1, searchValue);
            }
        });
        
        // Reset search
        document.getElementById('guest-search-reset').addEventListener('click', function() {
            document.getElementById('guest-search-input').value = '';
            currentSearch = '';
            loadGuests(1, '');
        });
        
        // Load guests with pagination and search
        function loadGuests(page, search) {
            // Show loading spinner
            document.getElementById('guest-list-content').innerHTML = '<div class="loading-spinner"></div>';
            document.getElementById('guest-list-pagination').innerHTML = '';
            document.getElementById('guest-list-summary').innerHTML = '';
            
            currentPage = page;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Update guest list
                        document.getElementById('guest-list-content').innerHTML = response.data.guests_html;
                        document.getElementById('guest-list-pagination').innerHTML = response.data.pagination_html;
                        document.getElementById('guest-list-summary').innerHTML = response.data.summary_html;
                        
                        // Update message template if provided
                        if (response.data.message_template) {
                            messageTemplate = response.data.message_template;
                            document.getElementById('message-template').value = messageTemplate;
                            updateMessagePreview();
                        }
                        
                        // Attach event listeners to new elements
                        attachGuestEventListeners();
                        attachPaginationEventListeners();
                    } else {
                        document.getElementById('guest-list-content').innerHTML = '<div class="no-guests">Error: ' + response.data + '</div>';
                    }
                }
            };
            xhr.send('action=simple_guest_list_search' + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&search=' + encodeURIComponent(search) + 
                '&page=' + encodeURIComponent(page) + 
                '&items_per_page=' + encodeURIComponent(itemsPerPage) + 
                '&invitation_url=' + encodeURIComponent('https://janjisejati.id/nurul-reza') + 
                '&nonce=' + encodeURIComponent(nonce));
        }
        
        // Attach pagination event listeners
        function attachPaginationEventListeners() {
            var paginationButtons = document.querySelectorAll('.pagination-btn:not(.disabled)');
            paginationButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var page = parseInt(this.getAttribute('data-page'));
                    loadGuests(page, currentSearch);
                    
                    // Scroll to top of guest list
                    document.querySelector('.simple-guest-list-items-container').scrollIntoView({
                        behavior: 'smooth'
                    });
                });
            });
        }
        
        // Attach guest action event listeners
        function attachGuestEventListeners() {
            // Delete guest
            var deleteButtons = document.querySelectorAll('.delete-btn');
            deleteButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    if (!confirm('Anda yakin ingin menghapus tamu ini?')) {
                        return;
                    }
                    
                    var item = this.closest('.simple-guest-list-item');
                    var id = item.getAttribute('data-id');
                    
                    var xhr = new XMLHttpRequest();
                    xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
                    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                    xhr.onload = function() {
                        if (xhr.status === 200) {
                            var response = JSON.parse(xhr.responseText);
                            if (response.success) {
                                // Reload current page
                                loadGuests(currentPage, currentSearch);
                            } else {
                                alert('Error: ' + response.data);
                            }
                        }
                    };
                    xhr.send('action=simple_guest_list_delete' + 
                        '&id=' + encodeURIComponent(id) + 
                        '&owner_id=' + encodeURIComponent(ownerId) + 
                        '&nonce=' + encodeURIComponent(nonce));
                });
            });
            
            // Share to WhatsApp
            var waButtons = document.querySelectorAll('.wa-btn');
            waButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    var text = getMessageText(name, personalizedUrl);
                    window.open('https://wa.me/?text=' + encodeURIComponent(text), '_blank');
                });
            });
            
            // Share to Facebook
            var fbButtons = document.querySelectorAll('.fb-btn');
            fbButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(personalizedUrl), '_blank');
                });
            });
            
            // Copy link
            var linkButtons = document.querySelectorAll('.link-btn');
            linkButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    copyToClipboard(personalizedUrl);
                    showNotification('Link berhasil disalin!');
                });
            });
            
            // Copy text
            var textButtons = document.querySelectorAll('.text-btn');
            textButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    var text = getMessageText(name, invitationUrl);
                    copyToClipboard(text);
                    showNotification('Kata pengantar berhasil disalin!');
                });
            });
        }
        
        // Form submission for adding guests
        document.getElementById('simple-guest-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var name = document.getElementById('simple-guest-name').value;
            var address = document.getElementById('simple-guest-address').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Clear form
                        document.getElementById('simple-guest-name').value = '';
                        document.getElementById('simple-guest-address').value = '';
                        
                        // Reload first page without search
                        document.getElementById('guest-search-input').value = '';
                        currentSearch = '';
                        loadGuests(1, '');
                        
                        // Show success notification
                        showNotification('Tamu berhasil ditambahkan!');
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_add' + 
                '&name=' + encodeURIComponent(name) + 
                '&address=' + encodeURIComponent(address) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Form submission for saving message template
        document.getElementById('message-template-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var message = document.getElementById('message-template').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        showNotification('Template pesan berhasil disimpan!');
                        messageTemplate = message;
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_save_message' + 
                '&message=' + encodeURIComponent(message) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Message template live preview
        var messageTemplateField = document.getElementById('message-template');
        var messagePreview = document.getElementById('message-preview');
        
        // Initial preview
        updateMessagePreview();
        
        // Update preview on input
        messageTemplateField.addEventListener('input', updateMessagePreview);
        
        function updateMessagePreview() {
            var sampleName = 'Nama Tamu';
            var previewUrl = invitationUrl + '?to=' + encodeURIComponent(sampleName);
            
            // Check if invitationUrl contains duplicate paths and fix it
            if (previewUrl.indexOf('/' + ownerId + '/' + ownerId) !== -1) {
                console.log('Fixing duplicate path in URL preview');
                previewUrl = previewUrl.replace('/' + ownerId + '/' + ownerId, '/' + ownerId);
            }
            
            var previewText = messageTemplateField.value
                .replace(/\[name\]/g, sampleName)
                .replace(/\[url\]/g, previewUrl);
            
            messagePreview.textContent = previewText;
        }
        
        // Helper function to get message text
        function getMessageText(name, baseUrl) {
            // Ensure we're using the proper base URL (without duplicated paths)
            var url = baseUrl;
            
            // Add the to parameter
            if (url.indexOf('?to=') === -1) {
                url = url + '?to=' + encodeURIComponent(name);
            }
            
            // When replacing URL, make sure the full URL is visible
            var text = messageTemplate
                .replace(/\[name\]/g, name)
                .replace(/\[url\]/g, url);
            
            return text;
        }
        
        // Helper function to copy to clipboard
        function copyToClipboard(text) {
            var textarea = document.createElement('textarea');
            textarea.value = text;
            document.body.appendChild(textarea);
            textarea.select();
            document.execCommand('copy');
            document.body.removeChild(textarea);
        }
        
        // Helper function to show notification
        function showNotification(message) {
            var notification = document.getElementById('simple-guest-notification');
            notification.textContent = message;
            notification.style.display = 'block';
            
            setTimeout(function() {
                notification.style.display = 'none';
            }, 2000);
        }
    });
    </script>
    </div>
				</div>
				</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-447340bb e-flex e-con-boxed e-con e-parent" data-id="447340bb" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-1a74a9ba wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="1a74a9ba" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Copyright JanjiSejati - All Rights Reserved</p>		</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://janjisejati.id/invitation-nurul-reza/">Invitation Nurul &#038; Reza</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://janjisejati.id/invitation-nurul-reza/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Invitation Desvira &#038; Gugun</title>
		<link>https://janjisejati.id/invitation-desvira-gugun/</link>
					<comments>https://janjisejati.id/invitation-desvira-gugun/#comments</comments>
		
		<dc:creator><![CDATA[janjisejati]]></dc:creator>
		<pubDate>Thu, 18 Dec 2025 05:12:43 +0000</pubDate>
				<category><![CDATA[Tak Berkategori]]></category>
		<guid isPermaLink="false">https://janjisejati.id/?p=14093</guid>

					<description><![CDATA[<p>Kirim Undangan Untuk Para Tamu Kirim Undangan Untuk Para Tamu Spesial. Cara Membuat Nama Tamu di Website Masukkan nama tamu undangan kamu pada kolom nama tamu. Pisahkan dengan baris baru (enter) untuk memisahkan nama yang akan di undang. Masukkan nama tamu, nama tamu support simbol (&#38;) koma(,) titik(.) contohnya : Andy &#38; Zhea Merubah Kata [&#8230;]</p>
<p>The post <a href="https://janjisejati.id/invitation-desvira-gugun/">Invitation Desvira &#038; Gugun</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="14093" class="elementor elementor-14093" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-2a4b483e e-flex e-con-boxed e-con e-parent" data-id="2a4b483e" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-16427535 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="16427535" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-ec1fff8 wdp-sticky-section-no elementor-widget elementor-widget-image" data-id="ec1fff8" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
														<a href="https://websiteundangan.com/" target="_blank">
							<img fetchpriority="high" decoding="async" width="501" height="121" src="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png" class="attachment-full size-full wp-image-414" alt="" srcset="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png 501w, https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1-300x72.png 300w" sizes="(max-width: 501px) 100vw, 501px" />								</a>
													</div>
				</div>
				<div class="elementor-element elementor-element-530ff6ca elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="530ff6ca" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-13313510 e-con-full e-flex e-con e-child" data-id="13313510" data-element_type="container">
		<div class="elementor-element elementor-element-7ccc6bfc e-con-full e-flex e-con e-child" data-id="7ccc6bfc" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;,&quot;sticky&quot;:&quot;top&quot;,&quot;sticky_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;],&quot;sticky_offset&quot;:10,&quot;sticky_parent&quot;:&quot;yes&quot;,&quot;sticky_effects_offset&quot;:0}">
				<div class="elementor-element elementor-element-585b0bfa wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="585b0bfa" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu Spesial.</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-1ba2893 wdp-sticky-section-no elementor-widget elementor-widget-toggle" data-id="1ba2893" data-element_type="widget" data-widget_type="toggle.default">
				<div class="elementor-widget-container">
					<div class="elementor-toggle">
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2891" class="elementor-tab-title" data-tab="1" role="button" aria-controls="elementor-tab-content-2891" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Membuat Nama Tamu di Website</a>
					</div>

					<div id="elementor-tab-content-2891" class="elementor-tab-content elementor-clearfix" data-tab="1" role="region" aria-labelledby="elementor-tab-title-2891"><ul><li>Masukkan nama tamu undangan kamu pada kolom nama tamu.</li><li>Pisahkan dengan <strong>baris baru (enter)</strong> untuk memisahkan nama yang akan di undang.</li><li>Masukkan nama tamu, nama tamu support simbol (&amp;) koma(,) titik(.) contohnya : Andy &amp; Zhea</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2892" class="elementor-tab-title" data-tab="2" role="button" aria-controls="elementor-tab-content-2892" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Merubah Kata Pengantar</a>
					</div>

					<div id="elementor-tab-content-2892" class="elementor-tab-content elementor-clearfix" data-tab="2" role="region" aria-labelledby="elementor-tab-title-2892"><ul><li>Masukkan teks pengantar sesuai dengan kebutuhan, anda pun bisa menyisipkan link undangan dan custom nama tamu pada bagian teks pengantar yang akan dikirimkan.</li><li>Pada saat pengiriman  ada tambahan shortcode <strong>[link-undangan]</strong> untuk menyisipkan link undangan kedalam teks pengantar.</li><li>Saat pengiriman dengan teks pengantar, tambahan shortcode <strong>[nama]</strong> untuk menyisipkan nama tamu yang akan di undang kedalam teks pengantar.</li><li>Klik <strong>Buat Daftar Nama Tamu</strong> jika sudah melakukan pengisian untuk mendapatkan link undangan yang akan dikirimkan.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2893" class="elementor-tab-title" data-tab="3" role="button" aria-controls="elementor-tab-content-2893" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Sebar Link Ke Tamu Undangan</a>
					</div>

					<div id="elementor-tab-content-2893" class="elementor-tab-content elementor-clearfix" data-tab="3" role="region" aria-labelledby="elementor-tab-title-2893"><ul><li>Klik tombol <strong>Share to Whatsapp</strong> untuk mengirimkan undangan ke kontak whatsapp tamu yang akan diundang.</li><li>Klik tombol <strong>Copy Link</strong>, dan paste-kan di WA / Socmed ketika kamu ingin menyebarkan undangannya</li><li>Klik tombol <strong>Copy Kata Pengantar</strong> untuk menyimpan hasil generate undangan.</li><li>Anda bisa menghapus kolom yang di generate dengan menekan tombol hapus.</li><li>Sebaiknya<strong> test dulu kirim ke pasangan</strong> jika baru pertama kali menggunakan fitur ini.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2894" class="elementor-tab-title" data-tab="4" role="button" aria-controls="elementor-tab-content-2894" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">CATATAN PENTING!</a>
					</div>

					<div id="elementor-tab-content-2894" class="elementor-tab-content elementor-clearfix" data-tab="4" role="region" aria-labelledby="elementor-tab-title-2894"><ul><li>Disarankan menggunakan smartphone/ HP dan pakai BROWSER CHROME untuk menggunakan generator tamu undangan ini.</li><li>Penggunaan generator melalui PC/ Laptop terkadang tidak bisa menampilkan gambar saat sebar undangan.</li><li>Anda bisa menampilkan gambar (thumbnail) saat sebar undangan dengan cara setelah klik tautan kirim whatsapp, tunggu beberapa detik supaya WA load gambarnya. JADI TIDAK LANGSUNG DIKIRIM sebelum gambar muncul.</li><li>Tidak direkomendasikan berbagi link melalui DM Instagram, karena IG bukanlah tempat berbagi link. Silahkan bagikan undangan anda secara personal melalui pesan di No. Whatsapp para tamu undangan anda.</li></ul></div>
				</div>
								</div>
				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-215a3644 e-con-full e-flex e-con e-child" data-id="215a3644" data-element_type="container">
				<div class="elementor-element elementor-element-fe0edc6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="fe0edc6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Buat undangan jadi lebih ekslusif dan personal di setiap undangan yang akan dikirimkan.<br>Silahkan Generate Link nya di bawah ini:</p>		</div>
				</div>
				<div class="elementor-element elementor-element-10b28bb0 elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="10b28bb0" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-4f2586f6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="4f2586f6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Terima kasih telah memilih produk kami.<br><br>Semoga pernikahan anda berkah dan menjadi<br>keluarga yang Sakinah, Mawaddah, Warahmah. Aamiin</p>		</div>
				</div>
				<div class="elementor-element elementor-element-507e0d2 wdp-sticky-section-no elementor-widget elementor-widget-shortcode" data-id="507e0d2" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode">    <style>
        .simple-guest-list-container {
            max-width: 800px;
            margin: 0 auto;
            font-family: Arial, sans-serif;
        }
        .simple-guest-list-section {
            background-color: #f5f5f5;
            padding: 20px;
            border-radius: 5px;
            margin-bottom: 30px;
        }
        .simple-guest-list-section h2 {
            margin-top: 0;
            margin-bottom: 20px;
        }
        .simple-guest-list-form input,
        .simple-guest-list-form textarea,
        .message-template-form textarea,
        .simple-guest-list-search input {
            width: 100%;
            padding: 10px;
            margin-bottom: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
        }
        .simple-guest-list-form textarea {
            height: 100px;
        }
        .message-template-form textarea {
            height: 200px;
            font-family: monospace;
            font-size: 14px;
        }
        .simple-guest-list-form button,
        .message-template-form button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 10px 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-item {
            border: 1px solid #ddd;
            padding: 15px;
            margin-bottom: 10px;
            border-radius: 4px;
            background-color: #fff;
        }
        .simple-guest-list-actions {
            margin-top: 10px;
            display: flex;
            gap: 5px;
        }
        .simple-guest-list-actions button {
            border: none;
            width: 40px;
            height: 40px;
            border-radius: 4px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .simple-guest-list-actions .wa-btn {
            background-color: #25D366;
            color: white;
        }
        .simple-guest-list-actions .fb-btn {
            background-color: #4267B2;
            color: white;
        }
        .simple-guest-list-actions .link-btn {
            background-color: #6c757d;
            color: white;
        }
        .simple-guest-list-actions .text-btn {
            background-color: #17a2b8;
            color: white;
        }
        .simple-guest-list-actions .delete-btn {
            background-color: #dc3545;
            color: white;
        }
        .simple-guest-list-notification {
            position: fixed;
            bottom: 20px;
            right: 20px;
            background-color: #4CAF50;
            color: white;
            padding: 10px 20px;
            border-radius: 4px;
            display: none;
            z-index: 1000;
        }
        .message-help {
            background-color: #f8f9fa;
            padding: 10px;
            border-left: 3px solid #17a2b8;
            margin-bottom: 15px;
        }
        .message-help code {
            background-color: #e9ecef;
            padding: 2px 4px;
            border-radius: 3px;
        }
        .tabs {
            display: flex;
            margin-bottom: 20px;
            border-bottom: 1px solid #ddd;
        }
        .tab {
            padding: 10px 15px;
            cursor: pointer;
            background-color: #f5f5f5;
            margin-right: 5px;
            border-radius: 5px 5px 0 0;
            border: 1px solid #ddd;
            border-bottom: none;
        }
        .tab.active {
            background-color: #fff;
            font-weight: bold;
        }
        .tab-content {
            display: none;
        }
        .tab-content.active {
            display: block;
        }
        .message-preview {
            background-color: #f8f9fa;
            padding: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
            white-space: pre-line;
            margin-top: 10px;
            margin-bottom: 15px;
        }
        /* Search and Pagination Styles */
        .simple-guest-list-search {
            display: flex;
            margin-bottom: 15px;
        }
        .simple-guest-list-search input {
            flex: 1;
            margin-bottom: 0;
            margin-right: 10px;
        }
        .simple-guest-list-search button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 0 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-search button.reset {
            background-color: #6c757d;
            margin-left: 5px;
        }
        .simple-guest-list-pagination {
            display: flex;
            justify-content: center;
            margin-top: 20px;
            flex-wrap: wrap;
            gap: 5px;
        }
        .pagination-btn {
            padding: 8px 12px;
            background-color: #f8f9fa;
            border: 1px solid #ddd;
            border-radius: 4px;
            cursor: pointer;
        }
        .pagination-btn:hover {
            background-color: #e9ecef;
        }
        .pagination-btn.active {
            background-color: #4CAF50;
            color: white;
            border-color: #4CAF50;
        }
        .pagination-btn.disabled {
            color: #6c757d;
            cursor: not-allowed;
        }
        .pagination-ellipsis {
            padding: 8px 12px;
        }
        .simple-guest-list-summary {
            text-align: center;
            color: #6c757d;
            margin-bottom: 10px;
            font-size: 14px;
        }
        .no-guests {
            text-align: center;
            padding: 20px;
            background-color: #f5f5f5;
            border-radius: 4px;
            color: #6c757d;
        }
        .loading-spinner {
            text-align: center;
            padding: 20px;
        }
        .loading-spinner::after {
            content: "";
            display: inline-block;
            width: 30px;
            height: 30px;
            border: 3px solid rgba(0, 0, 0, 0.1);
            border-radius: 50%;
            border-top-color: #4CAF50;
            animation: spin 1s ease-in-out infinite;
        }
        @keyframes spin {
            to { transform: rotate(360deg); }
        }
        @media (max-width: 768px) {
            .simple-guest-list-actions {
                flex-wrap: wrap;
            }
            .simple-guest-list-search {
                flex-direction: column;
            }
            .simple-guest-list-search input {
                margin-right: 0;
                margin-bottom: 10px;
            }
            .simple-guest-list-search button.reset {
                margin-left: 0;
                margin-top: 5px;
            }
        }
    </style>
    
    <div class="simple-guest-list-container">
        <div class="tabs">
            <div class="tab active" data-tab="guest-list">Daftar Tamu</div>
            <div class="tab" data-tab="message-template">Template Pesan</div>
        </div>
        
        <div class="tab-content active" id="guest-list-tab">
            <div class="simple-guest-list-section">
                <h2>Tambah Tamu</h2>
                <form id="simple-guest-form" class="simple-guest-list-form">
                    <input type="hidden" id="simple-guest-owner" value="desvira-gugun">
                    <input type="hidden" id="simple-guest-nonce" value="6cea97c579">
                    <input type="hidden" id="simple-guest-url" value="https://janjisejati.id/desvira-gugun/desvira-gugun">
                    <input type="hidden" id="simple-guest-items-per-page" value="10">
                    
                    <label for="simple-guest-name">Nama</label>
                    <input type="text" id="simple-guest-name" placeholder="Nama tamu" required>
                    
                    <label for="simple-guest-address">Alamat</label>
                    <textarea id="simple-guest-address" placeholder="Alamat tamu" required></textarea>
                    
                    <button type="submit">Tambah Tamu</button>
                </form>
            </div>
            
            <div class="simple-guest-list-items-container">
                <h2>Daftar Tamu Anda</h2>
                
                <div class="simple-guest-list-search">
                    <input type="text" id="guest-search-input" placeholder="Cari nama atau alamat...">
                    <button id="guest-search-button">Cari</button>
                    <button id="guest-search-reset" class="reset">Reset</button>
                </div>
                
                <div id="guest-list-summary" class="simple-guest-list-summary"></div>
                
                <div id="guest-list-content" class="simple-guest-list-items">
                    <div class="loading-spinner"></div>
                </div>
                
                <div id="guest-list-pagination" class="simple-guest-list-pagination"></div>
            </div>
        </div>
        
        <div class="tab-content" id="message-template-tab">
            <div class="simple-guest-list-section">
                <h2>Kustomisasi Template Pesan</h2>
                
                <div class="message-help">
                    <p>Gunakan parameter berikut dalam template pesan:</p>
                    <ul>
                        <li><code>[name]</code> - Nama tamu</li>
                        <li><code>[url]</code> - Link undangan (dengan parameter ?to=nama-tamu otomatis)</li>
                    </ul>
                    <p>Gunakan bintang (*) untuk membuat teks tebal di WhatsApp, contoh: *teks tebal*</p>
                    <p>Link undangan akan otomatis ditambahkan parameter <code>?to=nama-tamu</code> untuk personalisasi.</p>
                </div>
                
                <form id="message-template-form" class="message-template-form">
                    <textarea id="message-template">*Assalamualaikum Warahmatullahi Wabarakatuh*
Tanpa mengurangi rasa hormat, perkenankan kami mengundang Bapak/Ibu/Saudara/i *[name]* untuk menghadiri acara kami.
*Berikut link undangan kami*, untuk info lengkap dari acara bisa kunjungi :
[url]
Merupakan suatu kebahagiaan bagi kami apabila Bapak/Ibu/Saudara/i berkenan untuk hadir dan memberikan doa restu.
*Mohon maaf perihal undangan hanya di bagikan melalui pesan ini.*
Dan agar selalu menjaga kesehatan bersama serta datang pada waktu yang telah ditentukan.*
Terima kasih banyak atas perhatiannya.
*Wassalamualaikum Warahmatullahi Wabarakatuh*</textarea>
                    
                    <h3>Preview Pesan</h3>
                    <div class="message-preview" id="message-preview"></div>
                    
                    <button type="submit">Simpan Template</button>
                </form>
            </div>
        </div>
        
        <div class="simple-guest-list-notification" id="simple-guest-notification"></div>
    </div>
    
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        // Variables
        var ownerId = document.getElementById('simple-guest-owner').value;
        var nonce = document.getElementById('simple-guest-nonce').value;
        var invitationUrl = document.getElementById('simple-guest-url').value;
        var itemsPerPage = parseInt(document.getElementById('simple-guest-items-per-page').value);
        var messageTemplate = document.getElementById('message-template').value;
        var currentPage = 1;
        var currentSearch = '';
        
        // Log the base URL for debugging
        console.log("Base Invitation URL: " + invitationUrl);
        
        // Initial guest list load
        loadGuests(1, '');
        
        // Tabs functionality
        var tabs = document.querySelectorAll('.tab');
        tabs.forEach(function(tab) {
            tab.addEventListener('click', function() {
                // Remove active class from all tabs
                tabs.forEach(function(t) {
                    t.classList.remove('active');
                });
                
                // Add active class to clicked tab
                this.classList.add('active');
                
                // Hide all tab contents
                document.querySelectorAll('.tab-content').forEach(function(content) {
                    content.classList.remove('active');
                });
                
                // Show the selected tab content
                document.getElementById(this.getAttribute('data-tab') + '-tab').classList.add('active');
            });
        });
        
        // Search functionality
        document.getElementById('guest-search-button').addEventListener('click', function() {
            var searchValue = document.getElementById('guest-search-input').value.trim();
            currentSearch = searchValue;
            loadGuests(1, searchValue);
        });
        
        // Press Enter in search input
        document.getElementById('guest-search-input').addEventListener('keypress', function(e) {
            if (e.key === 'Enter') {
                e.preventDefault();
                var searchValue = this.value.trim();
                currentSearch = searchValue;
                loadGuests(1, searchValue);
            }
        });
        
        // Reset search
        document.getElementById('guest-search-reset').addEventListener('click', function() {
            document.getElementById('guest-search-input').value = '';
            currentSearch = '';
            loadGuests(1, '');
        });
        
        // Load guests with pagination and search
        function loadGuests(page, search) {
            // Show loading spinner
            document.getElementById('guest-list-content').innerHTML = '<div class="loading-spinner"></div>';
            document.getElementById('guest-list-pagination').innerHTML = '';
            document.getElementById('guest-list-summary').innerHTML = '';
            
            currentPage = page;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Update guest list
                        document.getElementById('guest-list-content').innerHTML = response.data.guests_html;
                        document.getElementById('guest-list-pagination').innerHTML = response.data.pagination_html;
                        document.getElementById('guest-list-summary').innerHTML = response.data.summary_html;
                        
                        // Update message template if provided
                        if (response.data.message_template) {
                            messageTemplate = response.data.message_template;
                            document.getElementById('message-template').value = messageTemplate;
                            updateMessagePreview();
                        }
                        
                        // Attach event listeners to new elements
                        attachGuestEventListeners();
                        attachPaginationEventListeners();
                    } else {
                        document.getElementById('guest-list-content').innerHTML = '<div class="no-guests">Error: ' + response.data + '</div>';
                    }
                }
            };
            xhr.send('action=simple_guest_list_search' + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&search=' + encodeURIComponent(search) + 
                '&page=' + encodeURIComponent(page) + 
                '&items_per_page=' + encodeURIComponent(itemsPerPage) + 
                '&invitation_url=' + encodeURIComponent('https://janjisejati.id/desvira-gugun') + 
                '&nonce=' + encodeURIComponent(nonce));
        }
        
        // Attach pagination event listeners
        function attachPaginationEventListeners() {
            var paginationButtons = document.querySelectorAll('.pagination-btn:not(.disabled)');
            paginationButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var page = parseInt(this.getAttribute('data-page'));
                    loadGuests(page, currentSearch);
                    
                    // Scroll to top of guest list
                    document.querySelector('.simple-guest-list-items-container').scrollIntoView({
                        behavior: 'smooth'
                    });
                });
            });
        }
        
        // Attach guest action event listeners
        function attachGuestEventListeners() {
            // Delete guest
            var deleteButtons = document.querySelectorAll('.delete-btn');
            deleteButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    if (!confirm('Anda yakin ingin menghapus tamu ini?')) {
                        return;
                    }
                    
                    var item = this.closest('.simple-guest-list-item');
                    var id = item.getAttribute('data-id');
                    
                    var xhr = new XMLHttpRequest();
                    xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
                    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                    xhr.onload = function() {
                        if (xhr.status === 200) {
                            var response = JSON.parse(xhr.responseText);
                            if (response.success) {
                                // Reload current page
                                loadGuests(currentPage, currentSearch);
                            } else {
                                alert('Error: ' + response.data);
                            }
                        }
                    };
                    xhr.send('action=simple_guest_list_delete' + 
                        '&id=' + encodeURIComponent(id) + 
                        '&owner_id=' + encodeURIComponent(ownerId) + 
                        '&nonce=' + encodeURIComponent(nonce));
                });
            });
            
            // Share to WhatsApp
            var waButtons = document.querySelectorAll('.wa-btn');
            waButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    var text = getMessageText(name, personalizedUrl);
                    window.open('https://wa.me/?text=' + encodeURIComponent(text), '_blank');
                });
            });
            
            // Share to Facebook
            var fbButtons = document.querySelectorAll('.fb-btn');
            fbButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(personalizedUrl), '_blank');
                });
            });
            
            // Copy link
            var linkButtons = document.querySelectorAll('.link-btn');
            linkButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    copyToClipboard(personalizedUrl);
                    showNotification('Link berhasil disalin!');
                });
            });
            
            // Copy text
            var textButtons = document.querySelectorAll('.text-btn');
            textButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    var text = getMessageText(name, invitationUrl);
                    copyToClipboard(text);
                    showNotification('Kata pengantar berhasil disalin!');
                });
            });
        }
        
        // Form submission for adding guests
        document.getElementById('simple-guest-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var name = document.getElementById('simple-guest-name').value;
            var address = document.getElementById('simple-guest-address').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Clear form
                        document.getElementById('simple-guest-name').value = '';
                        document.getElementById('simple-guest-address').value = '';
                        
                        // Reload first page without search
                        document.getElementById('guest-search-input').value = '';
                        currentSearch = '';
                        loadGuests(1, '');
                        
                        // Show success notification
                        showNotification('Tamu berhasil ditambahkan!');
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_add' + 
                '&name=' + encodeURIComponent(name) + 
                '&address=' + encodeURIComponent(address) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Form submission for saving message template
        document.getElementById('message-template-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var message = document.getElementById('message-template').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        showNotification('Template pesan berhasil disimpan!');
                        messageTemplate = message;
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_save_message' + 
                '&message=' + encodeURIComponent(message) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Message template live preview
        var messageTemplateField = document.getElementById('message-template');
        var messagePreview = document.getElementById('message-preview');
        
        // Initial preview
        updateMessagePreview();
        
        // Update preview on input
        messageTemplateField.addEventListener('input', updateMessagePreview);
        
        function updateMessagePreview() {
            var sampleName = 'Nama Tamu';
            var previewUrl = invitationUrl + '?to=' + encodeURIComponent(sampleName);
            
            // Check if invitationUrl contains duplicate paths and fix it
            if (previewUrl.indexOf('/' + ownerId + '/' + ownerId) !== -1) {
                console.log('Fixing duplicate path in URL preview');
                previewUrl = previewUrl.replace('/' + ownerId + '/' + ownerId, '/' + ownerId);
            }
            
            var previewText = messageTemplateField.value
                .replace(/\[name\]/g, sampleName)
                .replace(/\[url\]/g, previewUrl);
            
            messagePreview.textContent = previewText;
        }
        
        // Helper function to get message text
        function getMessageText(name, baseUrl) {
            // Ensure we're using the proper base URL (without duplicated paths)
            var url = baseUrl;
            
            // Add the to parameter
            if (url.indexOf('?to=') === -1) {
                url = url + '?to=' + encodeURIComponent(name);
            }
            
            // When replacing URL, make sure the full URL is visible
            var text = messageTemplate
                .replace(/\[name\]/g, name)
                .replace(/\[url\]/g, url);
            
            return text;
        }
        
        // Helper function to copy to clipboard
        function copyToClipboard(text) {
            var textarea = document.createElement('textarea');
            textarea.value = text;
            document.body.appendChild(textarea);
            textarea.select();
            document.execCommand('copy');
            document.body.removeChild(textarea);
        }
        
        // Helper function to show notification
        function showNotification(message) {
            var notification = document.getElementById('simple-guest-notification');
            notification.textContent = message;
            notification.style.display = 'block';
            
            setTimeout(function() {
                notification.style.display = 'none';
            }, 2000);
        }
    });
    </script>
    </div>
				</div>
				</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-447340bb e-flex e-con-boxed e-con e-parent" data-id="447340bb" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-1a74a9ba wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="1a74a9ba" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Copyright JanjiSejati - All Rights Reserved</p>		</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://janjisejati.id/invitation-desvira-gugun/">Invitation Desvira &#038; Gugun</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://janjisejati.id/invitation-desvira-gugun/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>Invitation Christina &#038; Antoni</title>
		<link>https://janjisejati.id/invitation-christina-antoni/</link>
					<comments>https://janjisejati.id/invitation-christina-antoni/#comments</comments>
		
		<dc:creator><![CDATA[janjisejati]]></dc:creator>
		<pubDate>Wed, 17 Dec 2025 01:56:32 +0000</pubDate>
				<category><![CDATA[Tak Berkategori]]></category>
		<guid isPermaLink="false">https://janjisejati.id/?p=13930</guid>

					<description><![CDATA[<p>Kirim Undangan Untuk Para Tamu Kirim Undangan Untuk Para Tamu Spesial. Cara Membuat Nama Tamu di Website Masukkan nama tamu undangan kamu pada kolom nama tamu. Pisahkan dengan baris baru (enter) untuk memisahkan nama yang akan di undang. Masukkan nama tamu, nama tamu support simbol (&#38;) koma(,) titik(.) contohnya : Andy &#38; Zhea Merubah Kata [&#8230;]</p>
<p>The post <a href="https://janjisejati.id/invitation-christina-antoni/">Invitation Christina &#038; Antoni</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="13930" class="elementor elementor-13930" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-2a4b483e e-flex e-con-boxed e-con e-parent" data-id="2a4b483e" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-16427535 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="16427535" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-ec1fff8 wdp-sticky-section-no elementor-widget elementor-widget-image" data-id="ec1fff8" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
														<a href="https://websiteundangan.com/" target="_blank">
							<img fetchpriority="high" decoding="async" width="501" height="121" src="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png" class="attachment-full size-full wp-image-414" alt="" srcset="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png 501w, https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1-300x72.png 300w" sizes="(max-width: 501px) 100vw, 501px" />								</a>
													</div>
				</div>
				<div class="elementor-element elementor-element-530ff6ca elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="530ff6ca" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-13313510 e-con-full e-flex e-con e-child" data-id="13313510" data-element_type="container">
		<div class="elementor-element elementor-element-7ccc6bfc e-con-full e-flex e-con e-child" data-id="7ccc6bfc" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;,&quot;sticky&quot;:&quot;top&quot;,&quot;sticky_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;],&quot;sticky_offset&quot;:10,&quot;sticky_parent&quot;:&quot;yes&quot;,&quot;sticky_effects_offset&quot;:0}">
				<div class="elementor-element elementor-element-585b0bfa wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="585b0bfa" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu Spesial.</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-1ba2893 wdp-sticky-section-no elementor-widget elementor-widget-toggle" data-id="1ba2893" data-element_type="widget" data-widget_type="toggle.default">
				<div class="elementor-widget-container">
					<div class="elementor-toggle">
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2891" class="elementor-tab-title" data-tab="1" role="button" aria-controls="elementor-tab-content-2891" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Membuat Nama Tamu di Website</a>
					</div>

					<div id="elementor-tab-content-2891" class="elementor-tab-content elementor-clearfix" data-tab="1" role="region" aria-labelledby="elementor-tab-title-2891"><ul><li>Masukkan nama tamu undangan kamu pada kolom nama tamu.</li><li>Pisahkan dengan <strong>baris baru (enter)</strong> untuk memisahkan nama yang akan di undang.</li><li>Masukkan nama tamu, nama tamu support simbol (&amp;) koma(,) titik(.) contohnya : Andy &amp; Zhea</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2892" class="elementor-tab-title" data-tab="2" role="button" aria-controls="elementor-tab-content-2892" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Merubah Kata Pengantar</a>
					</div>

					<div id="elementor-tab-content-2892" class="elementor-tab-content elementor-clearfix" data-tab="2" role="region" aria-labelledby="elementor-tab-title-2892"><ul><li>Masukkan teks pengantar sesuai dengan kebutuhan, anda pun bisa menyisipkan link undangan dan custom nama tamu pada bagian teks pengantar yang akan dikirimkan.</li><li>Pada saat pengiriman  ada tambahan shortcode <strong>[link-undangan]</strong> untuk menyisipkan link undangan kedalam teks pengantar.</li><li>Saat pengiriman dengan teks pengantar, tambahan shortcode <strong>[nama]</strong> untuk menyisipkan nama tamu yang akan di undang kedalam teks pengantar.</li><li>Klik <strong>Buat Daftar Nama Tamu</strong> jika sudah melakukan pengisian untuk mendapatkan link undangan yang akan dikirimkan.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2893" class="elementor-tab-title" data-tab="3" role="button" aria-controls="elementor-tab-content-2893" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Sebar Link Ke Tamu Undangan</a>
					</div>

					<div id="elementor-tab-content-2893" class="elementor-tab-content elementor-clearfix" data-tab="3" role="region" aria-labelledby="elementor-tab-title-2893"><ul><li>Klik tombol <strong>Share to Whatsapp</strong> untuk mengirimkan undangan ke kontak whatsapp tamu yang akan diundang.</li><li>Klik tombol <strong>Copy Link</strong>, dan paste-kan di WA / Socmed ketika kamu ingin menyebarkan undangannya</li><li>Klik tombol <strong>Copy Kata Pengantar</strong> untuk menyimpan hasil generate undangan.</li><li>Anda bisa menghapus kolom yang di generate dengan menekan tombol hapus.</li><li>Sebaiknya<strong> test dulu kirim ke pasangan</strong> jika baru pertama kali menggunakan fitur ini.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2894" class="elementor-tab-title" data-tab="4" role="button" aria-controls="elementor-tab-content-2894" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">CATATAN PENTING!</a>
					</div>

					<div id="elementor-tab-content-2894" class="elementor-tab-content elementor-clearfix" data-tab="4" role="region" aria-labelledby="elementor-tab-title-2894"><ul><li>Disarankan menggunakan smartphone/ HP dan pakai BROWSER CHROME untuk menggunakan generator tamu undangan ini.</li><li>Penggunaan generator melalui PC/ Laptop terkadang tidak bisa menampilkan gambar saat sebar undangan.</li><li>Anda bisa menampilkan gambar (thumbnail) saat sebar undangan dengan cara setelah klik tautan kirim whatsapp, tunggu beberapa detik supaya WA load gambarnya. JADI TIDAK LANGSUNG DIKIRIM sebelum gambar muncul.</li><li>Tidak direkomendasikan berbagi link melalui DM Instagram, karena IG bukanlah tempat berbagi link. Silahkan bagikan undangan anda secara personal melalui pesan di No. Whatsapp para tamu undangan anda.</li></ul></div>
				</div>
								</div>
				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-215a3644 e-con-full e-flex e-con e-child" data-id="215a3644" data-element_type="container">
				<div class="elementor-element elementor-element-fe0edc6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="fe0edc6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Buat undangan jadi lebih ekslusif dan personal di setiap undangan yang akan dikirimkan.<br>Silahkan Generate Link nya di bawah ini:</p>		</div>
				</div>
				<div class="elementor-element elementor-element-10b28bb0 elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="10b28bb0" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-4f2586f6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="4f2586f6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Terima kasih telah memilih produk kami.<br><br>Semoga pernikahan anda berkah dan menjadi<br>keluarga yang Sakinah, Mawaddah, Warahmah. Aamiin</p>		</div>
				</div>
				<div class="elementor-element elementor-element-507e0d2 wdp-sticky-section-no elementor-widget elementor-widget-shortcode" data-id="507e0d2" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode">    <style>
        .simple-guest-list-container {
            max-width: 800px;
            margin: 0 auto;
            font-family: Arial, sans-serif;
        }
        .simple-guest-list-section {
            background-color: #f5f5f5;
            padding: 20px;
            border-radius: 5px;
            margin-bottom: 30px;
        }
        .simple-guest-list-section h2 {
            margin-top: 0;
            margin-bottom: 20px;
        }
        .simple-guest-list-form input,
        .simple-guest-list-form textarea,
        .message-template-form textarea,
        .simple-guest-list-search input {
            width: 100%;
            padding: 10px;
            margin-bottom: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
        }
        .simple-guest-list-form textarea {
            height: 100px;
        }
        .message-template-form textarea {
            height: 200px;
            font-family: monospace;
            font-size: 14px;
        }
        .simple-guest-list-form button,
        .message-template-form button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 10px 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-item {
            border: 1px solid #ddd;
            padding: 15px;
            margin-bottom: 10px;
            border-radius: 4px;
            background-color: #fff;
        }
        .simple-guest-list-actions {
            margin-top: 10px;
            display: flex;
            gap: 5px;
        }
        .simple-guest-list-actions button {
            border: none;
            width: 40px;
            height: 40px;
            border-radius: 4px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .simple-guest-list-actions .wa-btn {
            background-color: #25D366;
            color: white;
        }
        .simple-guest-list-actions .fb-btn {
            background-color: #4267B2;
            color: white;
        }
        .simple-guest-list-actions .link-btn {
            background-color: #6c757d;
            color: white;
        }
        .simple-guest-list-actions .text-btn {
            background-color: #17a2b8;
            color: white;
        }
        .simple-guest-list-actions .delete-btn {
            background-color: #dc3545;
            color: white;
        }
        .simple-guest-list-notification {
            position: fixed;
            bottom: 20px;
            right: 20px;
            background-color: #4CAF50;
            color: white;
            padding: 10px 20px;
            border-radius: 4px;
            display: none;
            z-index: 1000;
        }
        .message-help {
            background-color: #f8f9fa;
            padding: 10px;
            border-left: 3px solid #17a2b8;
            margin-bottom: 15px;
        }
        .message-help code {
            background-color: #e9ecef;
            padding: 2px 4px;
            border-radius: 3px;
        }
        .tabs {
            display: flex;
            margin-bottom: 20px;
            border-bottom: 1px solid #ddd;
        }
        .tab {
            padding: 10px 15px;
            cursor: pointer;
            background-color: #f5f5f5;
            margin-right: 5px;
            border-radius: 5px 5px 0 0;
            border: 1px solid #ddd;
            border-bottom: none;
        }
        .tab.active {
            background-color: #fff;
            font-weight: bold;
        }
        .tab-content {
            display: none;
        }
        .tab-content.active {
            display: block;
        }
        .message-preview {
            background-color: #f8f9fa;
            padding: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
            white-space: pre-line;
            margin-top: 10px;
            margin-bottom: 15px;
        }
        /* Search and Pagination Styles */
        .simple-guest-list-search {
            display: flex;
            margin-bottom: 15px;
        }
        .simple-guest-list-search input {
            flex: 1;
            margin-bottom: 0;
            margin-right: 10px;
        }
        .simple-guest-list-search button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 0 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-search button.reset {
            background-color: #6c757d;
            margin-left: 5px;
        }
        .simple-guest-list-pagination {
            display: flex;
            justify-content: center;
            margin-top: 20px;
            flex-wrap: wrap;
            gap: 5px;
        }
        .pagination-btn {
            padding: 8px 12px;
            background-color: #f8f9fa;
            border: 1px solid #ddd;
            border-radius: 4px;
            cursor: pointer;
        }
        .pagination-btn:hover {
            background-color: #e9ecef;
        }
        .pagination-btn.active {
            background-color: #4CAF50;
            color: white;
            border-color: #4CAF50;
        }
        .pagination-btn.disabled {
            color: #6c757d;
            cursor: not-allowed;
        }
        .pagination-ellipsis {
            padding: 8px 12px;
        }
        .simple-guest-list-summary {
            text-align: center;
            color: #6c757d;
            margin-bottom: 10px;
            font-size: 14px;
        }
        .no-guests {
            text-align: center;
            padding: 20px;
            background-color: #f5f5f5;
            border-radius: 4px;
            color: #6c757d;
        }
        .loading-spinner {
            text-align: center;
            padding: 20px;
        }
        .loading-spinner::after {
            content: "";
            display: inline-block;
            width: 30px;
            height: 30px;
            border: 3px solid rgba(0, 0, 0, 0.1);
            border-radius: 50%;
            border-top-color: #4CAF50;
            animation: spin 1s ease-in-out infinite;
        }
        @keyframes spin {
            to { transform: rotate(360deg); }
        }
        @media (max-width: 768px) {
            .simple-guest-list-actions {
                flex-wrap: wrap;
            }
            .simple-guest-list-search {
                flex-direction: column;
            }
            .simple-guest-list-search input {
                margin-right: 0;
                margin-bottom: 10px;
            }
            .simple-guest-list-search button.reset {
                margin-left: 0;
                margin-top: 5px;
            }
        }
    </style>
    
    <div class="simple-guest-list-container">
        <div class="tabs">
            <div class="tab active" data-tab="guest-list">Daftar Tamu</div>
            <div class="tab" data-tab="message-template">Template Pesan</div>
        </div>
        
        <div class="tab-content active" id="guest-list-tab">
            <div class="simple-guest-list-section">
                <h2>Tambah Tamu</h2>
                <form id="simple-guest-form" class="simple-guest-list-form">
                    <input type="hidden" id="simple-guest-owner" value="christina-antoni">
                    <input type="hidden" id="simple-guest-nonce" value="6cea97c579">
                    <input type="hidden" id="simple-guest-url" value="https://janjisejati.id/christina-antoni/christina-antoni">
                    <input type="hidden" id="simple-guest-items-per-page" value="10">
                    
                    <label for="simple-guest-name">Nama</label>
                    <input type="text" id="simple-guest-name" placeholder="Nama tamu" required>
                    
                    <label for="simple-guest-address">Alamat</label>
                    <textarea id="simple-guest-address" placeholder="Alamat tamu" required></textarea>
                    
                    <button type="submit">Tambah Tamu</button>
                </form>
            </div>
            
            <div class="simple-guest-list-items-container">
                <h2>Daftar Tamu Anda</h2>
                
                <div class="simple-guest-list-search">
                    <input type="text" id="guest-search-input" placeholder="Cari nama atau alamat...">
                    <button id="guest-search-button">Cari</button>
                    <button id="guest-search-reset" class="reset">Reset</button>
                </div>
                
                <div id="guest-list-summary" class="simple-guest-list-summary"></div>
                
                <div id="guest-list-content" class="simple-guest-list-items">
                    <div class="loading-spinner"></div>
                </div>
                
                <div id="guest-list-pagination" class="simple-guest-list-pagination"></div>
            </div>
        </div>
        
        <div class="tab-content" id="message-template-tab">
            <div class="simple-guest-list-section">
                <h2>Kustomisasi Template Pesan</h2>
                
                <div class="message-help">
                    <p>Gunakan parameter berikut dalam template pesan:</p>
                    <ul>
                        <li><code>[name]</code> - Nama tamu</li>
                        <li><code>[url]</code> - Link undangan (dengan parameter ?to=nama-tamu otomatis)</li>
                    </ul>
                    <p>Gunakan bintang (*) untuk membuat teks tebal di WhatsApp, contoh: *teks tebal*</p>
                    <p>Link undangan akan otomatis ditambahkan parameter <code>?to=nama-tamu</code> untuk personalisasi.</p>
                </div>
                
                <form id="message-template-form" class="message-template-form">
                    <textarea id="message-template">*Assalamualaikum Warahmatullahi Wabarakatuh*
Tanpa mengurangi rasa hormat, perkenankan kami mengundang Bapak/Ibu/Saudara/i *[name]* untuk menghadiri acara kami.
*Berikut link undangan kami*, untuk info lengkap dari acara bisa kunjungi :
[url]
Merupakan suatu kebahagiaan bagi kami apabila Bapak/Ibu/Saudara/i berkenan untuk hadir dan memberikan doa restu.
*Mohon maaf perihal undangan hanya di bagikan melalui pesan ini.*
Dan agar selalu menjaga kesehatan bersama serta datang pada waktu yang telah ditentukan.*
Terima kasih banyak atas perhatiannya.
*Wassalamualaikum Warahmatullahi Wabarakatuh*</textarea>
                    
                    <h3>Preview Pesan</h3>
                    <div class="message-preview" id="message-preview"></div>
                    
                    <button type="submit">Simpan Template</button>
                </form>
            </div>
        </div>
        
        <div class="simple-guest-list-notification" id="simple-guest-notification"></div>
    </div>
    
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        // Variables
        var ownerId = document.getElementById('simple-guest-owner').value;
        var nonce = document.getElementById('simple-guest-nonce').value;
        var invitationUrl = document.getElementById('simple-guest-url').value;
        var itemsPerPage = parseInt(document.getElementById('simple-guest-items-per-page').value);
        var messageTemplate = document.getElementById('message-template').value;
        var currentPage = 1;
        var currentSearch = '';
        
        // Log the base URL for debugging
        console.log("Base Invitation URL: " + invitationUrl);
        
        // Initial guest list load
        loadGuests(1, '');
        
        // Tabs functionality
        var tabs = document.querySelectorAll('.tab');
        tabs.forEach(function(tab) {
            tab.addEventListener('click', function() {
                // Remove active class from all tabs
                tabs.forEach(function(t) {
                    t.classList.remove('active');
                });
                
                // Add active class to clicked tab
                this.classList.add('active');
                
                // Hide all tab contents
                document.querySelectorAll('.tab-content').forEach(function(content) {
                    content.classList.remove('active');
                });
                
                // Show the selected tab content
                document.getElementById(this.getAttribute('data-tab') + '-tab').classList.add('active');
            });
        });
        
        // Search functionality
        document.getElementById('guest-search-button').addEventListener('click', function() {
            var searchValue = document.getElementById('guest-search-input').value.trim();
            currentSearch = searchValue;
            loadGuests(1, searchValue);
        });
        
        // Press Enter in search input
        document.getElementById('guest-search-input').addEventListener('keypress', function(e) {
            if (e.key === 'Enter') {
                e.preventDefault();
                var searchValue = this.value.trim();
                currentSearch = searchValue;
                loadGuests(1, searchValue);
            }
        });
        
        // Reset search
        document.getElementById('guest-search-reset').addEventListener('click', function() {
            document.getElementById('guest-search-input').value = '';
            currentSearch = '';
            loadGuests(1, '');
        });
        
        // Load guests with pagination and search
        function loadGuests(page, search) {
            // Show loading spinner
            document.getElementById('guest-list-content').innerHTML = '<div class="loading-spinner"></div>';
            document.getElementById('guest-list-pagination').innerHTML = '';
            document.getElementById('guest-list-summary').innerHTML = '';
            
            currentPage = page;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Update guest list
                        document.getElementById('guest-list-content').innerHTML = response.data.guests_html;
                        document.getElementById('guest-list-pagination').innerHTML = response.data.pagination_html;
                        document.getElementById('guest-list-summary').innerHTML = response.data.summary_html;
                        
                        // Update message template if provided
                        if (response.data.message_template) {
                            messageTemplate = response.data.message_template;
                            document.getElementById('message-template').value = messageTemplate;
                            updateMessagePreview();
                        }
                        
                        // Attach event listeners to new elements
                        attachGuestEventListeners();
                        attachPaginationEventListeners();
                    } else {
                        document.getElementById('guest-list-content').innerHTML = '<div class="no-guests">Error: ' + response.data + '</div>';
                    }
                }
            };
            xhr.send('action=simple_guest_list_search' + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&search=' + encodeURIComponent(search) + 
                '&page=' + encodeURIComponent(page) + 
                '&items_per_page=' + encodeURIComponent(itemsPerPage) + 
                '&invitation_url=' + encodeURIComponent('https://janjisejati.id/christina-antoni') + 
                '&nonce=' + encodeURIComponent(nonce));
        }
        
        // Attach pagination event listeners
        function attachPaginationEventListeners() {
            var paginationButtons = document.querySelectorAll('.pagination-btn:not(.disabled)');
            paginationButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var page = parseInt(this.getAttribute('data-page'));
                    loadGuests(page, currentSearch);
                    
                    // Scroll to top of guest list
                    document.querySelector('.simple-guest-list-items-container').scrollIntoView({
                        behavior: 'smooth'
                    });
                });
            });
        }
        
        // Attach guest action event listeners
        function attachGuestEventListeners() {
            // Delete guest
            var deleteButtons = document.querySelectorAll('.delete-btn');
            deleteButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    if (!confirm('Anda yakin ingin menghapus tamu ini?')) {
                        return;
                    }
                    
                    var item = this.closest('.simple-guest-list-item');
                    var id = item.getAttribute('data-id');
                    
                    var xhr = new XMLHttpRequest();
                    xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
                    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                    xhr.onload = function() {
                        if (xhr.status === 200) {
                            var response = JSON.parse(xhr.responseText);
                            if (response.success) {
                                // Reload current page
                                loadGuests(currentPage, currentSearch);
                            } else {
                                alert('Error: ' + response.data);
                            }
                        }
                    };
                    xhr.send('action=simple_guest_list_delete' + 
                        '&id=' + encodeURIComponent(id) + 
                        '&owner_id=' + encodeURIComponent(ownerId) + 
                        '&nonce=' + encodeURIComponent(nonce));
                });
            });
            
            // Share to WhatsApp
            var waButtons = document.querySelectorAll('.wa-btn');
            waButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    var text = getMessageText(name, personalizedUrl);
                    window.open('https://wa.me/?text=' + encodeURIComponent(text), '_blank');
                });
            });
            
            // Share to Facebook
            var fbButtons = document.querySelectorAll('.fb-btn');
            fbButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(personalizedUrl), '_blank');
                });
            });
            
            // Copy link
            var linkButtons = document.querySelectorAll('.link-btn');
            linkButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    copyToClipboard(personalizedUrl);
                    showNotification('Link berhasil disalin!');
                });
            });
            
            // Copy text
            var textButtons = document.querySelectorAll('.text-btn');
            textButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    var text = getMessageText(name, invitationUrl);
                    copyToClipboard(text);
                    showNotification('Kata pengantar berhasil disalin!');
                });
            });
        }
        
        // Form submission for adding guests
        document.getElementById('simple-guest-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var name = document.getElementById('simple-guest-name').value;
            var address = document.getElementById('simple-guest-address').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Clear form
                        document.getElementById('simple-guest-name').value = '';
                        document.getElementById('simple-guest-address').value = '';
                        
                        // Reload first page without search
                        document.getElementById('guest-search-input').value = '';
                        currentSearch = '';
                        loadGuests(1, '');
                        
                        // Show success notification
                        showNotification('Tamu berhasil ditambahkan!');
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_add' + 
                '&name=' + encodeURIComponent(name) + 
                '&address=' + encodeURIComponent(address) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Form submission for saving message template
        document.getElementById('message-template-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var message = document.getElementById('message-template').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        showNotification('Template pesan berhasil disimpan!');
                        messageTemplate = message;
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_save_message' + 
                '&message=' + encodeURIComponent(message) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Message template live preview
        var messageTemplateField = document.getElementById('message-template');
        var messagePreview = document.getElementById('message-preview');
        
        // Initial preview
        updateMessagePreview();
        
        // Update preview on input
        messageTemplateField.addEventListener('input', updateMessagePreview);
        
        function updateMessagePreview() {
            var sampleName = 'Nama Tamu';
            var previewUrl = invitationUrl + '?to=' + encodeURIComponent(sampleName);
            
            // Check if invitationUrl contains duplicate paths and fix it
            if (previewUrl.indexOf('/' + ownerId + '/' + ownerId) !== -1) {
                console.log('Fixing duplicate path in URL preview');
                previewUrl = previewUrl.replace('/' + ownerId + '/' + ownerId, '/' + ownerId);
            }
            
            var previewText = messageTemplateField.value
                .replace(/\[name\]/g, sampleName)
                .replace(/\[url\]/g, previewUrl);
            
            messagePreview.textContent = previewText;
        }
        
        // Helper function to get message text
        function getMessageText(name, baseUrl) {
            // Ensure we're using the proper base URL (without duplicated paths)
            var url = baseUrl;
            
            // Add the to parameter
            if (url.indexOf('?to=') === -1) {
                url = url + '?to=' + encodeURIComponent(name);
            }
            
            // When replacing URL, make sure the full URL is visible
            var text = messageTemplate
                .replace(/\[name\]/g, name)
                .replace(/\[url\]/g, url);
            
            return text;
        }
        
        // Helper function to copy to clipboard
        function copyToClipboard(text) {
            var textarea = document.createElement('textarea');
            textarea.value = text;
            document.body.appendChild(textarea);
            textarea.select();
            document.execCommand('copy');
            document.body.removeChild(textarea);
        }
        
        // Helper function to show notification
        function showNotification(message) {
            var notification = document.getElementById('simple-guest-notification');
            notification.textContent = message;
            notification.style.display = 'block';
            
            setTimeout(function() {
                notification.style.display = 'none';
            }, 2000);
        }
    });
    </script>
    </div>
				</div>
				</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-447340bb e-flex e-con-boxed e-con e-parent" data-id="447340bb" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-1a74a9ba wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="1a74a9ba" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Copyright JanjiSejati - All Rights Reserved</p>		</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://janjisejati.id/invitation-christina-antoni/">Invitation Christina &#038; Antoni</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://janjisejati.id/invitation-christina-antoni/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Invitation Grace &#038; Gerry</title>
		<link>https://janjisejati.id/invitation-grace-gerry/</link>
					<comments>https://janjisejati.id/invitation-grace-gerry/#comments</comments>
		
		<dc:creator><![CDATA[janjisejati]]></dc:creator>
		<pubDate>Mon, 15 Dec 2025 17:01:59 +0000</pubDate>
				<category><![CDATA[Tak Berkategori]]></category>
		<guid isPermaLink="false">https://janjisejati.id/?p=13805</guid>

					<description><![CDATA[<p>Kirim Undangan Untuk Para Tamu Kirim Undangan Untuk Para Tamu Spesial. Cara Membuat Nama Tamu di Website Masukkan nama tamu undangan kamu pada kolom nama tamu. Pisahkan dengan baris baru (enter) untuk memisahkan nama yang akan di undang. Masukkan nama tamu, nama tamu support simbol (&#38;) koma(,) titik(.) contohnya : Andy &#38; Zhea Merubah Kata [&#8230;]</p>
<p>The post <a href="https://janjisejati.id/invitation-grace-gerry/">Invitation Grace &#038; Gerry</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="13805" class="elementor elementor-13805" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-2a4b483e e-flex e-con-boxed e-con e-parent" data-id="2a4b483e" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-16427535 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="16427535" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-ec1fff8 wdp-sticky-section-no elementor-widget elementor-widget-image" data-id="ec1fff8" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
														<a href="https://websiteundangan.com/" target="_blank">
							<img fetchpriority="high" decoding="async" width="501" height="121" src="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png" class="attachment-full size-full wp-image-414" alt="" srcset="https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1.png 501w, https://janjisejati.id/janjisejati/storage/2024/08/Logo-WebUndgn2-1-1-300x72.png 300w" sizes="(max-width: 501px) 100vw, 501px" />								</a>
													</div>
				</div>
				<div class="elementor-element elementor-element-530ff6ca elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="530ff6ca" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-13313510 e-con-full e-flex e-con e-child" data-id="13313510" data-element_type="container">
		<div class="elementor-element elementor-element-7ccc6bfc e-con-full e-flex e-con e-child" data-id="7ccc6bfc" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;,&quot;sticky&quot;:&quot;top&quot;,&quot;sticky_on&quot;:[&quot;desktop&quot;,&quot;tablet&quot;],&quot;sticky_offset&quot;:10,&quot;sticky_parent&quot;:&quot;yes&quot;,&quot;sticky_effects_offset&quot;:0}">
				<div class="elementor-element elementor-element-585b0bfa wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="585b0bfa" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h1 class="elementor-heading-title elementor-size-default">Kirim Undangan Untuk Para Tamu Spesial.</h1>		</div>
				</div>
				<div class="elementor-element elementor-element-1ba2893 wdp-sticky-section-no elementor-widget elementor-widget-toggle" data-id="1ba2893" data-element_type="widget" data-widget_type="toggle.default">
				<div class="elementor-widget-container">
					<div class="elementor-toggle">
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2891" class="elementor-tab-title" data-tab="1" role="button" aria-controls="elementor-tab-content-2891" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Membuat Nama Tamu di Website</a>
					</div>

					<div id="elementor-tab-content-2891" class="elementor-tab-content elementor-clearfix" data-tab="1" role="region" aria-labelledby="elementor-tab-title-2891"><ul><li>Masukkan nama tamu undangan kamu pada kolom nama tamu.</li><li>Pisahkan dengan <strong>baris baru (enter)</strong> untuk memisahkan nama yang akan di undang.</li><li>Masukkan nama tamu, nama tamu support simbol (&amp;) koma(,) titik(.) contohnya : Andy &amp; Zhea</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2892" class="elementor-tab-title" data-tab="2" role="button" aria-controls="elementor-tab-content-2892" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Merubah Kata Pengantar</a>
					</div>

					<div id="elementor-tab-content-2892" class="elementor-tab-content elementor-clearfix" data-tab="2" role="region" aria-labelledby="elementor-tab-title-2892"><ul><li>Masukkan teks pengantar sesuai dengan kebutuhan, anda pun bisa menyisipkan link undangan dan custom nama tamu pada bagian teks pengantar yang akan dikirimkan.</li><li>Pada saat pengiriman  ada tambahan shortcode <strong>[link-undangan]</strong> untuk menyisipkan link undangan kedalam teks pengantar.</li><li>Saat pengiriman dengan teks pengantar, tambahan shortcode <strong>[nama]</strong> untuk menyisipkan nama tamu yang akan di undang kedalam teks pengantar.</li><li>Klik <strong>Buat Daftar Nama Tamu</strong> jika sudah melakukan pengisian untuk mendapatkan link undangan yang akan dikirimkan.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2893" class="elementor-tab-title" data-tab="3" role="button" aria-controls="elementor-tab-content-2893" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">Cara Sebar Link Ke Tamu Undangan</a>
					</div>

					<div id="elementor-tab-content-2893" class="elementor-tab-content elementor-clearfix" data-tab="3" role="region" aria-labelledby="elementor-tab-title-2893"><ul><li>Klik tombol <strong>Share to Whatsapp</strong> untuk mengirimkan undangan ke kontak whatsapp tamu yang akan diundang.</li><li>Klik tombol <strong>Copy Link</strong>, dan paste-kan di WA / Socmed ketika kamu ingin menyebarkan undangannya</li><li>Klik tombol <strong>Copy Kata Pengantar</strong> untuk menyimpan hasil generate undangan.</li><li>Anda bisa menghapus kolom yang di generate dengan menekan tombol hapus.</li><li>Sebaiknya<strong> test dulu kirim ke pasangan</strong> jika baru pertama kali menggunakan fitur ini.</li></ul></div>
				</div>
							<div class="elementor-toggle-item">
					<div id="elementor-tab-title-2894" class="elementor-tab-title" data-tab="4" role="button" aria-controls="elementor-tab-content-2894" aria-expanded="false">
												<span class="elementor-toggle-icon elementor-toggle-icon-right" aria-hidden="true">
															<span class="elementor-toggle-icon-closed"><svg class="e-font-icon-svg e-fas-caret-right" viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"></path></svg></span>
								<span class="elementor-toggle-icon-opened"><svg class="elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up" viewBox="0 0 320 512" xmlns="http://www.w3.org/2000/svg"><path d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span>
													</span>
												<a class="elementor-toggle-title" tabindex="0">CATATAN PENTING!</a>
					</div>

					<div id="elementor-tab-content-2894" class="elementor-tab-content elementor-clearfix" data-tab="4" role="region" aria-labelledby="elementor-tab-title-2894"><ul><li>Disarankan menggunakan smartphone/ HP dan pakai BROWSER CHROME untuk menggunakan generator tamu undangan ini.</li><li>Penggunaan generator melalui PC/ Laptop terkadang tidak bisa menampilkan gambar saat sebar undangan.</li><li>Anda bisa menampilkan gambar (thumbnail) saat sebar undangan dengan cara setelah klik tautan kirim whatsapp, tunggu beberapa detik supaya WA load gambarnya. JADI TIDAK LANGSUNG DIKIRIM sebelum gambar muncul.</li><li>Tidak direkomendasikan berbagi link melalui DM Instagram, karena IG bukanlah tempat berbagi link. Silahkan bagikan undangan anda secara personal melalui pesan di No. Whatsapp para tamu undangan anda.</li></ul></div>
				</div>
								</div>
				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-215a3644 e-con-full e-flex e-con e-child" data-id="215a3644" data-element_type="container">
				<div class="elementor-element elementor-element-fe0edc6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="fe0edc6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Buat undangan jadi lebih ekslusif dan personal di setiap undangan yang akan dikirimkan.<br>Silahkan Generate Link nya di bawah ini:</p>		</div>
				</div>
				<div class="elementor-element elementor-element-10b28bb0 elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line wdp-sticky-section-no elementor-widget elementor-widget-divider" data-id="10b28bb0" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
					<div class="elementor-divider" style="--divider-pattern-url: url(&quot;data:image/svg+xml,%3Csvg xmlns=&#039;http://www.w3.org/2000/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 24 24&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;3&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cpolyline points=&#039;0,6 6,6 6,18 18,18 18,6 24,6 	&#039;/%3E%3C/svg%3E&quot;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-4f2586f6 wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="4f2586f6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Terima kasih telah memilih produk kami.<br><br>Semoga pernikahan anda berkah dan menjadi<br>keluarga yang Sakinah, Mawaddah, Warahmah. Aamiin</p>		</div>
				</div>
				<div class="elementor-element elementor-element-507e0d2 wdp-sticky-section-no elementor-widget elementor-widget-shortcode" data-id="507e0d2" data-element_type="widget" data-widget_type="shortcode.default">
				<div class="elementor-widget-container">
					<div class="elementor-shortcode">    <style>
        .simple-guest-list-container {
            max-width: 800px;
            margin: 0 auto;
            font-family: Arial, sans-serif;
        }
        .simple-guest-list-section {
            background-color: #f5f5f5;
            padding: 20px;
            border-radius: 5px;
            margin-bottom: 30px;
        }
        .simple-guest-list-section h2 {
            margin-top: 0;
            margin-bottom: 20px;
        }
        .simple-guest-list-form input,
        .simple-guest-list-form textarea,
        .message-template-form textarea,
        .simple-guest-list-search input {
            width: 100%;
            padding: 10px;
            margin-bottom: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
        }
        .simple-guest-list-form textarea {
            height: 100px;
        }
        .message-template-form textarea {
            height: 200px;
            font-family: monospace;
            font-size: 14px;
        }
        .simple-guest-list-form button,
        .message-template-form button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 10px 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-item {
            border: 1px solid #ddd;
            padding: 15px;
            margin-bottom: 10px;
            border-radius: 4px;
            background-color: #fff;
        }
        .simple-guest-list-actions {
            margin-top: 10px;
            display: flex;
            gap: 5px;
        }
        .simple-guest-list-actions button {
            border: none;
            width: 40px;
            height: 40px;
            border-radius: 4px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .simple-guest-list-actions .wa-btn {
            background-color: #25D366;
            color: white;
        }
        .simple-guest-list-actions .fb-btn {
            background-color: #4267B2;
            color: white;
        }
        .simple-guest-list-actions .link-btn {
            background-color: #6c757d;
            color: white;
        }
        .simple-guest-list-actions .text-btn {
            background-color: #17a2b8;
            color: white;
        }
        .simple-guest-list-actions .delete-btn {
            background-color: #dc3545;
            color: white;
        }
        .simple-guest-list-notification {
            position: fixed;
            bottom: 20px;
            right: 20px;
            background-color: #4CAF50;
            color: white;
            padding: 10px 20px;
            border-radius: 4px;
            display: none;
            z-index: 1000;
        }
        .message-help {
            background-color: #f8f9fa;
            padding: 10px;
            border-left: 3px solid #17a2b8;
            margin-bottom: 15px;
        }
        .message-help code {
            background-color: #e9ecef;
            padding: 2px 4px;
            border-radius: 3px;
        }
        .tabs {
            display: flex;
            margin-bottom: 20px;
            border-bottom: 1px solid #ddd;
        }
        .tab {
            padding: 10px 15px;
            cursor: pointer;
            background-color: #f5f5f5;
            margin-right: 5px;
            border-radius: 5px 5px 0 0;
            border: 1px solid #ddd;
            border-bottom: none;
        }
        .tab.active {
            background-color: #fff;
            font-weight: bold;
        }
        .tab-content {
            display: none;
        }
        .tab-content.active {
            display: block;
        }
        .message-preview {
            background-color: #f8f9fa;
            padding: 15px;
            border: 1px solid #ddd;
            border-radius: 4px;
            white-space: pre-line;
            margin-top: 10px;
            margin-bottom: 15px;
        }
        /* Search and Pagination Styles */
        .simple-guest-list-search {
            display: flex;
            margin-bottom: 15px;
        }
        .simple-guest-list-search input {
            flex: 1;
            margin-bottom: 0;
            margin-right: 10px;
        }
        .simple-guest-list-search button {
            background-color: #4CAF50;
            color: white;
            border: none;
            padding: 0 15px;
            border-radius: 4px;
            cursor: pointer;
        }
        .simple-guest-list-search button.reset {
            background-color: #6c757d;
            margin-left: 5px;
        }
        .simple-guest-list-pagination {
            display: flex;
            justify-content: center;
            margin-top: 20px;
            flex-wrap: wrap;
            gap: 5px;
        }
        .pagination-btn {
            padding: 8px 12px;
            background-color: #f8f9fa;
            border: 1px solid #ddd;
            border-radius: 4px;
            cursor: pointer;
        }
        .pagination-btn:hover {
            background-color: #e9ecef;
        }
        .pagination-btn.active {
            background-color: #4CAF50;
            color: white;
            border-color: #4CAF50;
        }
        .pagination-btn.disabled {
            color: #6c757d;
            cursor: not-allowed;
        }
        .pagination-ellipsis {
            padding: 8px 12px;
        }
        .simple-guest-list-summary {
            text-align: center;
            color: #6c757d;
            margin-bottom: 10px;
            font-size: 14px;
        }
        .no-guests {
            text-align: center;
            padding: 20px;
            background-color: #f5f5f5;
            border-radius: 4px;
            color: #6c757d;
        }
        .loading-spinner {
            text-align: center;
            padding: 20px;
        }
        .loading-spinner::after {
            content: "";
            display: inline-block;
            width: 30px;
            height: 30px;
            border: 3px solid rgba(0, 0, 0, 0.1);
            border-radius: 50%;
            border-top-color: #4CAF50;
            animation: spin 1s ease-in-out infinite;
        }
        @keyframes spin {
            to { transform: rotate(360deg); }
        }
        @media (max-width: 768px) {
            .simple-guest-list-actions {
                flex-wrap: wrap;
            }
            .simple-guest-list-search {
                flex-direction: column;
            }
            .simple-guest-list-search input {
                margin-right: 0;
                margin-bottom: 10px;
            }
            .simple-guest-list-search button.reset {
                margin-left: 0;
                margin-top: 5px;
            }
        }
    </style>
    
    <div class="simple-guest-list-container">
        <div class="tabs">
            <div class="tab active" data-tab="guest-list">Daftar Tamu</div>
            <div class="tab" data-tab="message-template">Template Pesan</div>
        </div>
        
        <div class="tab-content active" id="guest-list-tab">
            <div class="simple-guest-list-section">
                <h2>Tambah Tamu</h2>
                <form id="simple-guest-form" class="simple-guest-list-form">
                    <input type="hidden" id="simple-guest-owner" value="grace-gerry">
                    <input type="hidden" id="simple-guest-nonce" value="6cea97c579">
                    <input type="hidden" id="simple-guest-url" value="https://janjisejati.id/grace-gerry/grace-gerry">
                    <input type="hidden" id="simple-guest-items-per-page" value="10">
                    
                    <label for="simple-guest-name">Nama</label>
                    <input type="text" id="simple-guest-name" placeholder="Nama tamu" required>
                    
                    <label for="simple-guest-address">Alamat</label>
                    <textarea id="simple-guest-address" placeholder="Alamat tamu" required></textarea>
                    
                    <button type="submit">Tambah Tamu</button>
                </form>
            </div>
            
            <div class="simple-guest-list-items-container">
                <h2>Daftar Tamu Anda</h2>
                
                <div class="simple-guest-list-search">
                    <input type="text" id="guest-search-input" placeholder="Cari nama atau alamat...">
                    <button id="guest-search-button">Cari</button>
                    <button id="guest-search-reset" class="reset">Reset</button>
                </div>
                
                <div id="guest-list-summary" class="simple-guest-list-summary"></div>
                
                <div id="guest-list-content" class="simple-guest-list-items">
                    <div class="loading-spinner"></div>
                </div>
                
                <div id="guest-list-pagination" class="simple-guest-list-pagination"></div>
            </div>
        </div>
        
        <div class="tab-content" id="message-template-tab">
            <div class="simple-guest-list-section">
                <h2>Kustomisasi Template Pesan</h2>
                
                <div class="message-help">
                    <p>Gunakan parameter berikut dalam template pesan:</p>
                    <ul>
                        <li><code>[name]</code> - Nama tamu</li>
                        <li><code>[url]</code> - Link undangan (dengan parameter ?to=nama-tamu otomatis)</li>
                    </ul>
                    <p>Gunakan bintang (*) untuk membuat teks tebal di WhatsApp, contoh: *teks tebal*</p>
                    <p>Link undangan akan otomatis ditambahkan parameter <code>?to=nama-tamu</code> untuk personalisasi.</p>
                </div>
                
                <form id="message-template-form" class="message-template-form">
                    <textarea id="message-template">Kepada Yth.
Bapak/Ibu/Saudara/i
[name]
___
Tanpa mengurangi rasa hormat, perkenankan kami mengundang Bapak/Ibu/Saudara/i, teman sekaligus sahabat, untuk menghadiri acara pernikahan kami:
 
GERRY ELSHAN RONI
&amp;
GRACE ANGEL LALENOH

Berikut link undangan kami untuk info lengkap dari acara bisa kunjungi :

[url]

Merupakan suatu kebahagiaan bagi kami apabila Bapak/Ibu/Saudara/i berkenan untuk hadir dan memberikan doa restu kepada kami. Terima Kasih

With Love, Gerry &amp; Grace
___
Simpan nomor jika link tidak dapat disentuh atau salin link ke browser untuk membuka undangan</textarea>
                    
                    <h3>Preview Pesan</h3>
                    <div class="message-preview" id="message-preview"></div>
                    
                    <button type="submit">Simpan Template</button>
                </form>
            </div>
        </div>
        
        <div class="simple-guest-list-notification" id="simple-guest-notification"></div>
    </div>
    
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        // Variables
        var ownerId = document.getElementById('simple-guest-owner').value;
        var nonce = document.getElementById('simple-guest-nonce').value;
        var invitationUrl = document.getElementById('simple-guest-url').value;
        var itemsPerPage = parseInt(document.getElementById('simple-guest-items-per-page').value);
        var messageTemplate = document.getElementById('message-template').value;
        var currentPage = 1;
        var currentSearch = '';
        
        // Log the base URL for debugging
        console.log("Base Invitation URL: " + invitationUrl);
        
        // Initial guest list load
        loadGuests(1, '');
        
        // Tabs functionality
        var tabs = document.querySelectorAll('.tab');
        tabs.forEach(function(tab) {
            tab.addEventListener('click', function() {
                // Remove active class from all tabs
                tabs.forEach(function(t) {
                    t.classList.remove('active');
                });
                
                // Add active class to clicked tab
                this.classList.add('active');
                
                // Hide all tab contents
                document.querySelectorAll('.tab-content').forEach(function(content) {
                    content.classList.remove('active');
                });
                
                // Show the selected tab content
                document.getElementById(this.getAttribute('data-tab') + '-tab').classList.add('active');
            });
        });
        
        // Search functionality
        document.getElementById('guest-search-button').addEventListener('click', function() {
            var searchValue = document.getElementById('guest-search-input').value.trim();
            currentSearch = searchValue;
            loadGuests(1, searchValue);
        });
        
        // Press Enter in search input
        document.getElementById('guest-search-input').addEventListener('keypress', function(e) {
            if (e.key === 'Enter') {
                e.preventDefault();
                var searchValue = this.value.trim();
                currentSearch = searchValue;
                loadGuests(1, searchValue);
            }
        });
        
        // Reset search
        document.getElementById('guest-search-reset').addEventListener('click', function() {
            document.getElementById('guest-search-input').value = '';
            currentSearch = '';
            loadGuests(1, '');
        });
        
        // Load guests with pagination and search
        function loadGuests(page, search) {
            // Show loading spinner
            document.getElementById('guest-list-content').innerHTML = '<div class="loading-spinner"></div>';
            document.getElementById('guest-list-pagination').innerHTML = '';
            document.getElementById('guest-list-summary').innerHTML = '';
            
            currentPage = page;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Update guest list
                        document.getElementById('guest-list-content').innerHTML = response.data.guests_html;
                        document.getElementById('guest-list-pagination').innerHTML = response.data.pagination_html;
                        document.getElementById('guest-list-summary').innerHTML = response.data.summary_html;
                        
                        // Update message template if provided
                        if (response.data.message_template) {
                            messageTemplate = response.data.message_template;
                            document.getElementById('message-template').value = messageTemplate;
                            updateMessagePreview();
                        }
                        
                        // Attach event listeners to new elements
                        attachGuestEventListeners();
                        attachPaginationEventListeners();
                    } else {
                        document.getElementById('guest-list-content').innerHTML = '<div class="no-guests">Error: ' + response.data + '</div>';
                    }
                }
            };
            xhr.send('action=simple_guest_list_search' + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&search=' + encodeURIComponent(search) + 
                '&page=' + encodeURIComponent(page) + 
                '&items_per_page=' + encodeURIComponent(itemsPerPage) + 
                '&invitation_url=' + encodeURIComponent('https://janjisejati.id/grace-gerry') + 
                '&nonce=' + encodeURIComponent(nonce));
        }
        
        // Attach pagination event listeners
        function attachPaginationEventListeners() {
            var paginationButtons = document.querySelectorAll('.pagination-btn:not(.disabled)');
            paginationButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var page = parseInt(this.getAttribute('data-page'));
                    loadGuests(page, currentSearch);
                    
                    // Scroll to top of guest list
                    document.querySelector('.simple-guest-list-items-container').scrollIntoView({
                        behavior: 'smooth'
                    });
                });
            });
        }
        
        // Attach guest action event listeners
        function attachGuestEventListeners() {
            // Delete guest
            var deleteButtons = document.querySelectorAll('.delete-btn');
            deleteButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    if (!confirm('Anda yakin ingin menghapus tamu ini?')) {
                        return;
                    }
                    
                    var item = this.closest('.simple-guest-list-item');
                    var id = item.getAttribute('data-id');
                    
                    var xhr = new XMLHttpRequest();
                    xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
                    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                    xhr.onload = function() {
                        if (xhr.status === 200) {
                            var response = JSON.parse(xhr.responseText);
                            if (response.success) {
                                // Reload current page
                                loadGuests(currentPage, currentSearch);
                            } else {
                                alert('Error: ' + response.data);
                            }
                        }
                    };
                    xhr.send('action=simple_guest_list_delete' + 
                        '&id=' + encodeURIComponent(id) + 
                        '&owner_id=' + encodeURIComponent(ownerId) + 
                        '&nonce=' + encodeURIComponent(nonce));
                });
            });
            
            // Share to WhatsApp
            var waButtons = document.querySelectorAll('.wa-btn');
            waButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    var text = getMessageText(name, personalizedUrl);
                    window.open('https://wa.me/?text=' + encodeURIComponent(text), '_blank');
                });
            });
            
            // Share to Facebook
            var fbButtons = document.querySelectorAll('.fb-btn');
            fbButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(personalizedUrl), '_blank');
                });
            });
            
            // Copy link
            var linkButtons = document.querySelectorAll('.link-btn');
            linkButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    
                    // Create personalized URL without duplication
                    var baseUrlParts = invitationUrl.split('/');
                    var lastPart = baseUrlParts[baseUrlParts.length - 1];
                    var personalizedUrl;
                    
                    // Check if the last part of the URL is the owner_id duplicated
                    if (lastPart === ownerId && baseUrlParts[baseUrlParts.length - 2] === ownerId) {
                        // Fix the duplication
                        baseUrlParts.pop();
                        personalizedUrl = baseUrlParts.join('/') + '?to=' + encodeURIComponent(name);
                    } else {
                        personalizedUrl = invitationUrl + '?to=' + encodeURIComponent(name);
                    }
                    
                    copyToClipboard(personalizedUrl);
                    showNotification('Link berhasil disalin!');
                });
            });
            
            // Copy text
            var textButtons = document.querySelectorAll('.text-btn');
            textButtons.forEach(function(button) {
                button.addEventListener('click', function() {
                    var name = this.getAttribute('data-name');
                    var text = getMessageText(name, invitationUrl);
                    copyToClipboard(text);
                    showNotification('Kata pengantar berhasil disalin!');
                });
            });
        }
        
        // Form submission for adding guests
        document.getElementById('simple-guest-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var name = document.getElementById('simple-guest-name').value;
            var address = document.getElementById('simple-guest-address').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        // Clear form
                        document.getElementById('simple-guest-name').value = '';
                        document.getElementById('simple-guest-address').value = '';
                        
                        // Reload first page without search
                        document.getElementById('guest-search-input').value = '';
                        currentSearch = '';
                        loadGuests(1, '');
                        
                        // Show success notification
                        showNotification('Tamu berhasil ditambahkan!');
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_add' + 
                '&name=' + encodeURIComponent(name) + 
                '&address=' + encodeURIComponent(address) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Form submission for saving message template
        document.getElementById('message-template-form').addEventListener('submit', function(e) {
            e.preventDefault();
            
            var message = document.getElementById('message-template').value;
            
            var xhr = new XMLHttpRequest();
            xhr.open('POST', 'https://janjisejati.id/wp-admin/admin-ajax.php', true);
            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            xhr.onload = function() {
                if (xhr.status === 200) {
                    var response = JSON.parse(xhr.responseText);
                    if (response.success) {
                        showNotification('Template pesan berhasil disimpan!');
                        messageTemplate = message;
                    } else {
                        alert('Error: ' + response.data);
                    }
                }
            };
            xhr.send('action=simple_guest_list_save_message' + 
                '&message=' + encodeURIComponent(message) + 
                '&owner_id=' + encodeURIComponent(ownerId) + 
                '&nonce=' + encodeURIComponent(nonce));
        });
        
        // Message template live preview
        var messageTemplateField = document.getElementById('message-template');
        var messagePreview = document.getElementById('message-preview');
        
        // Initial preview
        updateMessagePreview();
        
        // Update preview on input
        messageTemplateField.addEventListener('input', updateMessagePreview);
        
        function updateMessagePreview() {
            var sampleName = 'Nama Tamu';
            var previewUrl = invitationUrl + '?to=' + encodeURIComponent(sampleName);
            
            // Check if invitationUrl contains duplicate paths and fix it
            if (previewUrl.indexOf('/' + ownerId + '/' + ownerId) !== -1) {
                console.log('Fixing duplicate path in URL preview');
                previewUrl = previewUrl.replace('/' + ownerId + '/' + ownerId, '/' + ownerId);
            }
            
            var previewText = messageTemplateField.value
                .replace(/\[name\]/g, sampleName)
                .replace(/\[url\]/g, previewUrl);
            
            messagePreview.textContent = previewText;
        }
        
        // Helper function to get message text
        function getMessageText(name, baseUrl) {
            // Ensure we're using the proper base URL (without duplicated paths)
            var url = baseUrl;
            
            // Add the to parameter
            if (url.indexOf('?to=') === -1) {
                url = url + '?to=' + encodeURIComponent(name);
            }
            
            // When replacing URL, make sure the full URL is visible
            var text = messageTemplate
                .replace(/\[name\]/g, name)
                .replace(/\[url\]/g, url);
            
            return text;
        }
        
        // Helper function to copy to clipboard
        function copyToClipboard(text) {
            var textarea = document.createElement('textarea');
            textarea.value = text;
            document.body.appendChild(textarea);
            textarea.select();
            document.execCommand('copy');
            document.body.removeChild(textarea);
        }
        
        // Helper function to show notification
        function showNotification(message) {
            var notification = document.getElementById('simple-guest-notification');
            notification.textContent = message;
            notification.style.display = 'block';
            
            setTimeout(function() {
                notification.style.display = 'none';
            }, 2000);
        }
    });
    </script>
    </div>
				</div>
				</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-447340bb e-flex e-con-boxed e-con e-parent" data-id="447340bb" data-element_type="container" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-1a74a9ba wdp-sticky-section-no elementor-widget elementor-widget-heading" data-id="1a74a9ba" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<p class="elementor-heading-title elementor-size-default">Copyright JanjiSejati - All Rights Reserved</p>		</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://janjisejati.id/invitation-grace-gerry/">Invitation Grace &#038; Gerry</a> appeared first on <a href="https://janjisejati.id">Janji Sejati Digital Wedding Invitation</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://janjisejati.id/invitation-grace-gerry/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
	</channel>
</rss>
