دکمه سفارشی

اگر می‌خواهید یک دکمه عضویت/لغو عضویت سفارشی با طراحی خودتان ادغام کنید، می‌توانید این کار را انجام دهید.

اینها ویژگی‌های پیکسل در معرض هستند که می‌توانید در کد JS خود برای انجام یکپارچگی سفارشی استفاده کنید:

await cheraghestan.get_subscription_status();
await cheraghestan.subscribe();
await cheraghestan.unsubscribe();

در اینجا یک نمونه کد یکپارچگی که از این توابع JS سفارشی استفاده می‌کند آورده شده است:

<span id="pusher_loading">Loading status...</span>
<a href="#" id="pusher_subscribe" style="display: none;">Subscribe ✅</a>
<a href="#" id="pusher_unsubscribe" style="display: none;">Unsubscribe ❌</a>

<script defer>
    let initiate_pusher_script = async () => {
        if(typeof pusher !== 'undefined') {
            clearInterval(pusher_is_loaded_interval);

            /* Get status of subscription */
            let status = await cheraghestan.get_subscription_status();

            /* Remove loading message */
            document.querySelector('#pusher_loading').style.display = 'none';

            /* Display subscribe or unsubscribe button based on the current subscription status */
            if(status) {
                document.querySelector('#pusher_unsubscribe').style.display = 'block';
                document.querySelector('#pusher_subscribe').style.display = 'none';
            } else {
                document.querySelector('#pusher_unsubscribe').style.display = 'none';
                document.querySelector('#pusher_subscribe').style.display = 'block';
            }
        }
    }

    let pusher_is_loaded_interval = setInterval(initiate_pusher_script, 100);

    /* Attach simple subscribe event */
    document.querySelector(`#pusher_subscribe`) && document.querySelector(`#pusher_subscribe`).addEventListener('click', async event => {
        event.preventDefault();
        await cheraghestan.subscribe(event);
        initiate_pusher_script();
    });

    /* Attach simple unsubscribe event */
    document.querySelector(`#pusher_unsubscribe`) && document.querySelector(`#pusher_unsubscribe`).addEventListener('click', async event => {
        event.preventDefault();
        await cheraghestan.unsubscribe(event);
        initiate_pusher_script();
    });
</script>