suluhtani.com Ads.txt file

<!DOCTYPE html>
<!--[if lt IE 7]>
<html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="id">
<![endif]-->
<!--[if IE 7]>
<html class="no-js lt-ie9 lt-ie8" lang="id">
<![endif]-->
<!--[if IE 8]>
<html class="no-js lt-ie9" lang="id">
<![endif]-->
<!--[if IE 9 ]>
<html class="ie9 no-js">
<![endif]-->
<!--[if (gt IE 9)|!(IE)]>
<!-->
<html class="no-js">
<!--
<![endif]-->
<head>
<!-- Basic page needs ================================================== -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="icon" href="https://www.suluhtani.com/assets/images/fav-srikandi189.webp">
<!-- Title and description ================================================== -->
<title>SRIKANDI189: Daftar Login Situs Slot Gacor Maxwin Terpercaya 2025</title>
<meta name="description" content="Srikandi189 adalah situs slot online terpercaya melayani daftar id paling gacor gampang menang dan pasti langsung maxwin dengan minimal deposit terbaik 10k di tahun 2025.">
<!-- Social meta ================================================== -->
<meta property="og:type" content="product">
<meta property="og:title" content="SRIKANDI189: Daftar Login Situs Slot Gacor Maxwin Terpercaya 2025">
<meta property="og:url" content="https://www.suluhtani.com/">
<meta property="og:image" content="https://www.suluhtani.com/assets/images/banner1.webp">
<meta property="og:image:secure_url" content="https://www.suluhtani.com/assets/images/banner1.webp">
<meta property="og:price:amount" content="10122">
<meta property="og:price:currency" content="idr">
<meta property="og:description" content="Srikandi189 adalah situs slot online terpercaya melayani daftar id paling gacor gampang menang dan pasti langsung maxwin dengan minimal deposit terbaik 10k di tahun 2025.">
<meta property="og:site_name" content="srikandi189">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@srikandi189">
<meta name="twitter:title" content="SRIKANDI189: Daftar Login Situs Slot Gacor Maxwin Terpercaya 2025">
<meta name="twitter:description" content="Srikandi189 adalah situs slot online terpercaya melayani daftar id paling gacor gampang menang dan pasti langsung maxwin dengan minimal deposit terbaik 10k di tahun 2025.">
<meta name="twitter:image" content="https://www.suluhtani.com/assets/images/banner1.webp">
<meta name="twitter:image:width" content="1024">
<meta name="twitter:image:height" content="1024">
<!-- Helpers ================================================== -->
<link rel="canonical" href="https://www.suluhtani.com/">
<link rel="amphtml" href="https://www.suluhtani.com/amp" />
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="theme-color" content="">
<!-- CSS ================================================== -->
<link href="css/timber.css" rel="stylesheet" type="text/css" media="screen">
<link href="css/theme.css" rel="stylesheet" type="text/css" media="screen">
<script src="js/jquery.min.js" type="text/javascript"></script>
<!-- Header hook for plugins ================================================== -->
<!-- ScriptTags -->
<script>
window.__st = {
'p': 'product',
'cid': ''
};
</script>
<script src="js/events.js"></script>
<script>
(function() {
function asyncLoad() {
var urls = ['/assets/facebook-pixel.js?v=1.0.1696774211', '/assets/traffic.js?v=1', 'https://apps.easystore.co/social-media-share/script.js?shop=shirotoys.easy.co', 'https://apps.easystore.co/marketplace/shopee-malaysia/script.js?shop=shirotoys.easy.co'];
for (var i = 0; i < urls.length; i++) {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = urls[i];
var x = document.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s, x);
}
}
window.attachEvent ? window.attachEvent('onload', asyncLoad) : window.addEventListener('load', asyncLoad, false);
})();
</script>
<!-- /ScriptTags -->
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript" ></script>
<script src="https://store-themes.easystore.co/200878/themes/336/assets/respond.min.js?t=1743699648" type="text/javascript" ></script>
<link href="https://store-themes.easystore.co/200878/themes/336/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
<link href="//www.shirotoys.com/search?q=3f50c32dbb993864c49e683b461bef10" id="respond-redirect" rel="respond-redirect" />
<script src="//www.shirotoys.com/search?q=3f50c32dbb993864c49e683b461bef10" type="text/javascript"></script>
<![endif]-->
<script src="js/modernizr.min.js" type="text/javascript"></script>
<script>
(function(i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function() {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
ga('create', '', 'auto', 'myTracker');
ga('myTracker.send', 'pageview');
</script>
<!-- Snippet:global/head: Shopee Indonesia -->
<link type="text/css" rel="stylesheet" href="css/main.css">
<!-- /Snippet -->
<meta name="google-site-verification" content="P7TK1fmK6tiDGfPhLe0ZFp8XpuCf0XXnsu4gtRk8XH0">
</head>
<body id="bunny-garden---rin" class="template-product">
<!-- Snippet:global/body_start: Announcement Bar -->
<style>
.n-columns-2 {
display: grid;
grid-template-columns: repeat(2, 1fr);
font-weight: 700;
}

.n-columns-2 a {
text-align: center;
}

.login,
.register {
color: #000;
padding: 10px 15px;
}

.login,
.login-button {
border: 1px solid #000;
background: linear-gradient(to bottom, #e7ad00 0, #e7ad00 100%);
}

.register,
.register-button {
background: linear-gradient(to bottom, #00a6f1 0, #00a6f1 100%);
border: 1px solid #000;
}
</style>
<style type="text/css">
body {
background-position: top 45px center;
}

div#announcement-bar-top {
height: 45px;
}

span .announcement-close-button {
text-align: center;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: inline-block;
align-items: center;
flex-wrap: wrap;
justify-content: center;
}

#announcementBar_countdown:empty {
display: none;
}

.announcementBar_timer {
margin: 5px 0px;
}

.announcementBar_timer.style_1,
.announcementBar_timer.style_2 {
display: -webkit-inline-flex;
display: -moz-inline-flex;
display: -ms-inline-flex;
display: -o-inline-flex;
display: inline-flex;
align-items: center;
padding: 5px 8px;
margin: 3px 0px 3px 10px;
border-radius: 8px;
font-weight: bold;
}

.announcementBar_timer.style_1>div,
.announcementBar_timer.style_2>div {
margin: 0 5px;
line-height: 1;
}

.announcementBar_timer.style_1 small,
.announcementBar_timer.style_2 small {
display: block;
font-size: 55%;
line-height: 1;
}

.announcementBar_timer.style_2 {
flex-direction: row;
}

.announcementBar_timer.style_2>div {
position: relative;
}

.announcementBar_timer.style_2>div:not(:last-child):after {
position: absolute;
content: ':';
top: 0;
right: 0;
margin-right: -7px;
}

.announcementBar_timer.style_3 {
display: -webkit-inline-flex;
display: -moz-inline-flex;
display: -ms-inline-flex;
display: -o-inline-flex;
display: inline-flex;
align-items: center;
border-radius: 5px;
padding: 5px 5px;
margin-left: 10px;
font-weight: bold;
}

.announcementBar_timer.style_3>div {
margin: 0 3px;
line-height: 1;
}

.announcementBar_timer.style_3 small {
font-weight: bold;
line-height: 1.1;
font-size: 65%;
}

.announcement-close-button {
position: relative;
width: 24px;
height: 24px;
opacity: 1;
background: #000;
border-radius: 50%;
cursor: pointer;
top: 30%;
}

.announcement-close-button:hover {
opacity: 0.6;
}

.announcement-close-button:before,
.announcement-close-button:after {
position: absolute;
left: 11px;
top: 5px;
content: ' ';
height: 14px;
width: 2px;
background-color: #fff;
border-radius: 3px;
}

.announcement-close-button:before {
transfoIDR: rotate(45deg);
}

.announcement-close-button:after {
transfoIDR: rotate(-45deg);
}

.announcement-bar-button {
padding: 4px 8px;
vertical-align: baseline;
border-radius: 5px;
margin-left: 10px;
opacity: 1;
line-height: 1.1;
text-decoration: none;
display: inline-block;
font-weight: 500;
}

.announcement-bar-button:hover {
opacity: 0.8;
}

.announcement-bar-direction-button {
cursor: pointer;
padding: 0px 8px;
}

.announcement-bar-direction-button:hover {
opacity: 0.8;
}

slider-announcement-bar-app {
display: block;
text-align: center;
margin: 0px;
padding: 6px 10px;
border-top: 1px dashed transparent;
border-bottom: 1px dashed transparent;
width: 100%;
}

slider-announcement-bar-app ul::-webkit-scrollbar {
height: 0.4rem;
width: 0.4rem;
display: none;
}

slider-announcement-bar-app ul {
position: relative;
display: flex;
overflow-x: auto;
-ms-overflow-style: none;
/* IE 11 */
scrollbar-width: none;
/* Firefox 64 */
scroll-snap-type: x mandatory;
scroll-behavior: smooth;
/* scroll-padding-left: 1rem; */
-webkit-overflow-scrolling: touch;
margin-bottom: 0;
padding: 0;
list-style: none;
align-items: center;
}

slider-announcement-bar-app ul li {
width: 100vw;
scroll-snap-align: start;
flex-shrink: 0;
}
</style>
<script>
(function() {
const loadScript = function(url, callback) {
const script = document.createElement("script");
script.type = "text/javascript";
// If the browser is Internet Explorer.
if (script.readyState) {
script.onreadystatechange = function() {
if (script.readyState == "loaded" || script.readyState == "complete") {
script.onreadystatechange = null;
callback();
}
};
// For any other browser.
} else {
script.onload = function() {
callback();
};
}
script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
};
const announcementBarAppJS = function($) {
$('#announcement-close-button').on('click', function() {
$('#announcement-bar, #announcement-bar-top').hide();
});
}
if (typeof jQuery === '') {
loadScript('//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js', function() {
jQuery = jQuery.noConflict(true);
announcementBarAppJS(jQuery);
});
} else {
announcementBarAppJS(jQuery);
}
})();
setInterval(function() {
const total_announcement = "1"
var total_announcement_left = $("#total_announcement_left").val();
for (let i = 0; i <= total_announcement; i++) {
const startDate = new Date();
const endDateStr = $("#expired_at_" + i).val();
const endDate = endDateStr == ? new Date() : new Date(endDateStr.replace(/-/g, "/"));
const seconds = (endDate.getTime() - startDate.getTime()) / 1000;
const days = parseInt(seconds / 86400);
const hours = parseInt((seconds % 86400) / 3600);
const mins = parseInt((seconds % 86400 % 3600) / 60);
const secs = parseInt((seconds % 86400 % 3600) % 60);
// use to translate countdown unit
// (translate based on the preferred language when save announcement bar setting)
String.prototype.translate = function() {
try {
if ($("#locale").val() == "zh_TW") {
if (this.toString() === 'day') {
return "天";
}
if (this.toString() === 'hour') {
return "小時";
}
if (this.toString() === 'min') {
return "分鐘";
}
if (this.toString() === 'sec') {
return "秒";
}
} else {
if (this.toString() === 'day') {
if (days > 0) {
return "Days";
} else {
return "Day";
}
} else if (this.toString() === 'hour') {
if (hours > 0) {
return "Hours";
} else {
return "Hour";
}
} else if (this.toString() === 'min') {
if (mins > 0) {
return "Mins";
} else {
return "Min";
}
} else if (this.toString() === 'sec') {
if (secs > 0) {
return "Secs";
} else {
return "Sec";
}
}
}
} catch (error) {
console.log("Some errors heres", error);
}
};
const announcementBar_countdown = document.getElementById("announcementBar_countdown_" + i);
if (announcementBar_countdown && seconds > 0) {
$(announcementBar_countdown).show()
announcementBar_countdown.innerHTML = `



<div>
${days}


<small>${'day'.translate()}</small>
</div>
<div>
${hours}


<small>${'hour'.translate()}</small>
</div>
<div>
${mins}


<small>${'min'.translate()}</small>
</div>
<div>
${secs}


<small>${'sec'.translate()}</small>
</div>
`;
} else if (announcementBar_countdown && seconds <= 0) {
$("#announcement_bar_" + i).remove();
total_announcement_left = total_announcement_left - 1;
$("#total_announcement_left").val(total_announcement_left);
}
}
showOrHide(total_announcement_left);
}, 1000);

function showOrHide(total_announcement_left) {
if (total_announcement_left <= 1) {
$("#previous-announcement-bar-button,#next-announcement-bar-button").hide();
} else {
$("#previous-announcement-bar-button,#next-announcement-bar-button").show();
}
if (total_announcement_left == 0) {
$("#announcement-close-button").hide();
$("#announcement-bar").hide();
$('#announcement-bar-top').hide();
}
};
let annoucementBarAutoMoveInterval = '';
class AnnouncementBarAppSlider extends HTMLElement {
constructor() {
super();
this.slider = this.querySelector('ul');
this.sliderItems = this.querySelectorAll('li');
this.prevButton = this.querySelector('a[name="previous"]');
this.nextButton = this.querySelector('a[name="next"]');
if (!this.slider || !this.nextButton) return;
const resizeObserver = new ResizeObserver(entries => this.initPages());
resizeObserver.observe(this.slider);
this.slider.addEventListener('scroll', this.update.bind(this));
this.prevButton.addEventListener('click', this.onButtonClick.bind(this));
this.nextButton.addEventListener('click', this.onButtonClick.bind(this));
}
initPages() {
const sliderItemsToShow = Array.from(this.sliderItems).filter(element => element.clientWidth > 0);
this.sliderLastItem = sliderItemsToShow[sliderItemsToShow.length - 1];
if (sliderItemsToShow.length === 0) return;
this.slidesPerPage = Math.floor(this.slider.clientWidth / sliderItemsToShow[0].clientWidth);
this.totalPages = sliderItemsToShow.length - this.slidesPerPage + 1;
this.update();
let self = this
var total_announcement_left = $("#total_announcement_left").val();
annoucementBarAutoMoveInterval = setInterval(function() {
if (total_announcement_left > 1) {
self.moveSlide('next')
}
}, 5000)
}
update() {
this.currentPage = Math.round(this.slider.scrollLeft / this.sliderLastItem.clientWidth) + 1;
}
onButtonClick(event) {
event.preventDefault();
let self = this;
self.moveSlide(event.currentTarget.name);
}
moveSlide(move_to) {
clearInterval(annoucementBarAutoMoveInterval);
let self = this;
annoucementBarAutoMoveInterval = setInterval(function() {
self.moveSlide('next');
}, 5000)
if (move_to === 'previous' && this.currentPage === 1) {
this.slider.scrollTo({
left: this.sliderLastItem.clientWidth * (this.totalPages - 1)
});
} else if (move_to === 'next' && this.currentPage === this.totalPages) {
this.slider.scrollTo({
left: 0
});
} else {
const slideScrollPosition = move_to === 'next' ? this.slider.scrollLeft + this.sliderLastItem.clientWidth : this.slider.scrollLeft - this.sliderLastItem.clientWidth;
this.slider.scrollTo({
left: slideScrollPosition
});
}
}
}
customElements.define('slider-announcement-bar-app', AnnouncementBarAppSlider);
</script>
<!-- /Snippet -->
<div id="es_console" style="display: none;">200878</div>
<!-- /Snippet -->
<style>
.search-modal__foIDR {
position: relative;
}

.dropdown-wrapper {
position: relative;
}

.dropdown-wrapper:hover .dropdown {
display: block;
}

.dropdown {
display: none;
position: absolute;
top: 100%;
left: -20px;
width: 100%;
padding: 8px 0;
margin: 0;
background-color: #fff;
z-index: 1000;
border-radius: 5px;
border: 1px solid rgba(var(--color-foreground), 1);
border-top: none;
overflow-x: hidden;
overflow-y: auto;
max-height: 350px;
min-width: 150px;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

.dropdown li,
.dropdown a {
display: block;
}

.dropdown a {
text-decoration: none;
padding: 2px 10px;
color: #000 !important;
}

.dropdown-item {
padding: 0.4rem 2rem;
cursor: pointer;
line-height: 1.4;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}

.dropdown-item:hover {
background-color: #f3f3f3;
}

.search__input.is-focus {
border-radius: 15px;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
border: 1px solid rgba(var(--color-foreground), 1);
border-bottom: none;
box-shadow: none;
}

.clear-all {
text-align: right;
padding: 0 2rem 0.2rem;
line-height: 1;
font-size: 70%;
margin-bottom: -2px;
}

.clear-all:hover {
background-color: #fff;
}
</style>
<div class="header-bar">
<div class="wrapper medium-down--hide">
<div class="large--display-table">
<div class="header-bar__left large--display-table-cell">
<div class="header-bar__module header-bar__search">
<foIDR action="/search" method="get" class="header-bar__search-foIDR clearfix" role="search">
<button type="submit" class="btn icon-fallback-text header-bar__search-submit">
<span class="icon icon-search" aria-hidden="true"></span>
<span class="fallback-text">Search</span>
</button>
<input type="search" name="q" value="" aria-label="Search" class="header-bar__search-input" placeholder="Search" autocomplete="off">
<div class="dropdown" id="searchDropdown"></div>
<input type="hidden" name="search_history" id="search_history">
</foIDR>
<script>
var _search_history_listings = ""
if (_search_history_listings != "") localStorage.setItem('searchHistory', JSON.stringify(_search_history_listings));

function clearAll() {
localStorage.removeItem('searchHistory');
var customer = "";
if (customer) {
// Your logic to clear all data or call an endpoint
fetch('/account/search_histories', {
method: 'DELETE',
headers: {
"Content-Type": "application/json",
"X-Requested-With": "XMLHttpRequest"
},
body: JSON.stringify({
_token: "purdLHWQFYaHtmfVSlnrsdAvD8RpTqTLPH8eHr4f"
}),
}).then(response => response.json())
}
}
// End - store view history in local storage
// search history dropdown
var searchInputs = document.querySelectorAll('input[type=search]');
if (searchInputs.length > 0) {
searchInputs.forEach((searchInput) => {
searchInput.addEventListener('focus', function() {
var searchDropdown = searchInput.closest('foIDR').querySelector('#searchDropdown');
searchDropdown.innerHTML = ''; // Clear existing items
// retrieve data from local storage
var searchHistoryData = JSON.parse(localStorage.getItem('searchHistory')) || [];
// Convert JSON to string
var search_history_json = JSON.stringify(searchHistoryData);
// Set the value of the hidden input
searchInput.closest('foIDR').querySelector("#search_history").value = search_history_json;
// create dropdown items
var clearAllItem = document.createElement('div');
clearAllItem.className = 'dropdown-item clear-all';
clearAllItem.textContent = 'Clear';
clearAllItem.addEventListener('click', function() {
clearAll();
searchDropdown.style.display = 'none';
searchInput.classList.remove('is-focus');
});
searchDropdown.appendChild(clearAllItem);
// create dropdown items
searchHistoryData.forEach(function(item) {
var dropdownItem = document.createElement('div');
dropdownItem.className = 'dropdown-item';
dropdownItem.textContent = item.teIDR;
dropdownItem.addEventListener('click', function() {
searchInput.value = item.teIDR;
searchDropdown.style.display = 'none';
});
searchDropdown.appendChild(dropdownItem);
});
if (searchHistoryData.length > 0) {
// display the dropdown
searchInput.classList.add('is-focus');
document.body.classList.add('search-input-focus');
searchDropdown.style.display = 'block';
}
});
searchInput.addEventListener("focusout", (event) => {
var searchDropdown = searchInput.closest('foIDR').querySelector('#searchDropdown');
searchInput.classList.remove('is-focus');
searchDropdown.classList.add('transparent');
setTimeout(() => {
searchDropdown.style.display = 'none';
searchDropdown.classList.remove('transparent');
document.body.classList.remove('search-input-focus');
}, 400);
});
})
}
// End - search history dropdown
</script>
</div>
</div>
<div class="header-bar__right large--display-table-cell">
<ul class="header-bar__module header-bar__module--list">
<li>
<a href="https://srikandi189x.ink/">Log in</a>
</li>
<li>OR</li>
<li>
<a href="https://srikandi189x.ink/">Create account</a>
</li>
</ul>
<div class="header-bar__module">
<span class="header-bar__sep" aria-hidden="true"></span>
<a href="https://srikandi189x.ink/" class="cart-page-link">
<span class="icon icon-cart header-bar__cart-icon" aria-hidden="true"></span>
</a>
</div>
<div class="header-bar__module">
<a href="https://srikandi189x.ink/" class="cart-page-link"> Cart <span class="hidden-count">:</span>
<span class="cart-count header-bar__cart-count hidden-count">0</span>
</a>
</div>
</div>
</div>
</div>
<div class="wrapper large--hide" style="padding: 5px 30px 0;">
<button type="button" class="mobile-nav-trigger" id="MobileNavTrigger">
<span class="icon icon-hamburger" aria-hidden="true"></span> Menu </button>
<a href="https://srikandi189x.ink/" class="cart-page-link mobile-cart-page-link">
<span class="icon icon-cart header-bar__cart-icon" aria-hidden="true"></span> Cart <span class="cart-count hidden-count">0</span>
</a>
<div class="mobile-cart-page-link" style="margin-right: 20px;"></div>
</div>
<ul id="MobileNav" class="mobile-nav large--hide">
<li class="mobile-nav__link">
<div class="header-bar__module header-bar__search">
<foIDR action="/search" method="get" class="header-bar__search-foIDR clearfix" role="search">
<button type="submit" class="btn icon-fallback-text header-bar__search-submit">
<span class="icon icon-search" aria-hidden="true"></span>
<span class="fallback-text">Search</span>
</button>
<input type="search" name="q" value="" aria-label="Search" class="header-bar__search-input" placeholder="Search" autocomplete="off">
<div class="dropdown" id="searchDropdown"></div>
<input type="hidden" name="search_history" id="search_history">
</foIDR>
<script>
var _search_history_listings = ""
if (_search_history_listings != "") localStorage.setItem('searchHistory', JSON.stringify(_search_history_listings));

function clearAll() {
localStorage.removeItem('searchHistory');
var customer = "";
if (customer) {
// Your logic to clear all data or call an endpoint
fetch('/account/search_histories', {
method: 'DELETE',
headers: {
"Content-Type": "application/json",
"X-Requested-With": "XMLHttpRequest"
},
body: JSON.stringify({
_token: "purdLHWQFYaHtmfVSlnrsdAvD8RpTqTLPH8eHr4f"
}),
}).then(response => response.json())
}
}
// End - store view history in local storage
// search history dropdown
var searchInputs = document.querySelectorAll('input[type=search]');
if (searchInputs.length > 0) {
searchInputs.forEach((searchInput) => {
searchInput.addEventListener('focus', function() {
var searchDropdown = searchInput.closest('foIDR').querySelector('#searchDropdown');
searchDropdown.innerHTML = ''; // Clear existing items
// retrieve data from local storage
var searchHistoryData = JSON.parse(localStorage.getItem('searchHistory')) || [];
// Convert JSON to string
var search_history_json = JSON.stringify(searchHistoryData);
// Set the value of the hidden input
searchInput.closest('foIDR').querySelector("#search_history").value = search_history_json;
// create dropdown items
var clearAllItem = document.createElement('div');
clearAllItem.className = 'dropdown-item clear-all';
clearAllItem.textContent = 'Clear';
clearAllItem.addEventListener('click', function() {
clearAll();
searchDropdown.style.display = 'none';
searchInput.classList.remove('is-focus');
});
searchDropdown.appendChild(clearAllItem);
// create dropdown items
searchHistoryData.forEach(function(item) {
var dropdownItem = document.createElement('div');
dropdownItem.className = 'dropdown-item';
dropdownItem.textContent = item.teIDR;
dropdownItem.addEventListener('click', function() {
searchInput.value = item.teIDR;
searchDropdown.style.display = 'none';
});
searchDropdown.appendChild(dropdownItem);
});
if (searchHistoryData.length > 0) {
// display the dropdown
searchInput.classList.add('is-focus');
document.body.classList.add('search-input-focus');
searchDropdown.style.display = 'block';
}
});
searchInput.addEventListener("focusout", (event) => {
var searchDropdown = searchInput.closest('foIDR').querySelector('#searchDropdown');
searchInput.classList.remove('is-focus');
searchDropdown.classList.add('transparent');
setTimeout(() => {
searchDropdown.style.display = 'none';
searchDropdown.classList.remove('transparent');
document.body.classList.remove('search-input-focus');
}, 400);
});
})
}
// End - search history dropdown
</script>
</div>
</li>
<li class="mobile-nav__link" aria-haspopup="true">
<a href="https://www.suluhtani.com/" class="mobile-nav"> Home </a>
</li>
<li class="mobile-nav__link" aria-haspopup="true">
<a href="https://www.suluhtani.com/" class="mobile-nav"> Slot Gacor </a>
</li>
<li class="mobile-nav__link" aria-haspopup="true">
<a href="https://www.suluhtani.com/" class="mobile-nav"> Slot Maxwin </a>
</li>
<li class="mobile-nav__link" aria-haspopup="true">
<a href="https://www.suluhtani.com/" class="mobile-nav"> Tentang Kami </a>
</li>
<li class="mobile-nav__link" aria-haspopup="true">
<a href="https://www.suluhtani.com/" class="mobile-nav"> FAQs </a>
</li>
<li class="mobile-nav__link">
<a href="https://srikandi189x.ink/">Log in</a>
</li>
<li class="mobile-nav__link">
<a href="https://srikandi189x.ink/">Create account</a>
</li>
</ul>
</div>
<header class="site-header" role="banner">
<div class="wrapper">
<div class="grid--full">
<div class="grid__item">
<div class="h1 site-header__logo" itemscope="" itemtype="http://schema.org/Organization">
<a href="/" class="logo-wrapper" itemprop="url">
<img src="https://www.suluhtani.com/assets/images/logo-srikandi189.webp" alt="slot gacor terpercaya" width="500" height="233" itemprop="logo">
</a>
</div>
<p class="header-message large--hide">
<small></small>
</p>
</div>
</div>
<div class="grid--full medium-down--hide">
<div class="grid__item">
<ul class="site-nav" id="AccessibleNav">
<li>
<a href="https://www.suluhtani.com/" class="site-nav__link">Home</a>
</li>
<li>
<a href="https://www.suluhtani.com/" class="site-nav__link">Slot Gacor</a>
</li>
<li>
<a href="https://www.suluhtani.com/" target="_blank" class="site-nav__link">Login</a>
</li>
<li>
<a href="https://www.suluhtani.com/" target="_blank" class="site-nav__link">Daftar</a>
</li>
<li>
<a href="https://www.suluhtani.com/" class="site-nav__link">Tentang Kami</a>
</li>
</ul>
</div>
</div>
</div>
</header>
<main class="wrapper main-content" role="main">
<div class="grid">
<div class="grid__item">
<div itemscope="" itemtype="http://schema.org/Product">
<meta itemprop="url" content="https://www.suluhtani.com/">
<meta itemprop="image" content="https://www.suluhtani.com/assets/images/banner1.webp" width="1024" height="1024">
<div class="section-header section-header--breadcrumb">
<nav class="breadcrumb" role="navigation" aria-label="breadcrumbs">
<a href="/" title="Back to the homepage">Home</a>
<span aria-hidden="true" class="breadcrumb__sep">:</span>
<a href="https://www.suluhtani.com/">Link Alternatif Srikandi189</a>
<span aria-hidden="true" class="breadcrumb__sep">:</span>
<span>Srikandi189 Login</span>
</nav>
</div>
<div class="n-columns-2">
<a href="https://srikandi189x.ink/" rel="nofollow noreferrer" class="register">LOGIN</a>
<a href="https://srikandi189x.ink/" rel="nofollow noreferrer" class="login">REGISTER</a>
</div>
<br>
<div class="product-single">
<div class="grid product-single__hero">
<div class="grid__item large--one-half">
<div class="product-single__photos " id="ProductPhoto">
<img src="https://www.suluhtani.com/assets/images/banner1.webp" alt="slot gacor maxwin" width="400" height="400" id="ProductPhotoImg" data-image-type="Images" data-image-id="86188826" class="product-zoomable mfp-Images">
</div>
<ul class="gallery hidden">
<li data-image-id="86188826" class="gallery__item" data-mfp-src="https://www.suluhtani.com/assets/images/banner1.webp"></li>
</ul>
<!-- Snippet:product/content_left: Product Label -->
<!-- /Snippet -->
</div>
<div class="grid__item large--one-half">
<h1 itemprop="name">SRIKANDI189: Daftar Login Situs Slot Gacor Maxwin Terpercaya 2025</h1>
<div itemprop="offers" itemscope="" itemtype="http://schema.org/Offer">
<meta itemprop="priceCurrency" content="IDR">
<link itemprop="availability" href="https://schema.org/InStock">
<div class="product-single__prices">
<span id="ProductPrice" class="product-single__price" itemprop="price" content="10122">
<span class="money" data-ori-price="10122.00">IDR 10.122</span>
</span>
<s style="display: none;" id="ComparePrice" class="product-single__sale-price" data-expires="">
<span class="money" data-ori-price="0.00">IDR 10122 </span>
</s>
</div>
<foIDR action="https://srikandi189x.ink//add" method="post" enctype="multipart/foIDR-data" data-addtocart="{" id":13760075,"name":"bunny="" garden="" -="" rin","sku":"bf0125cf_po","price":10122.0,"quantity":1,"variant":"pre-order="" (po)","category":"feature="" on="" homepage\u0026quot;bellfine\u0026quot;pre-order","brands":""}"="" id="AddToCartFoIDR">
<input type="hidden" name="_token" value="purdLHWQFYaHtmfVSlnrsdAvD8RpTqTLPH8eHr4f">
<!-- Snippet:product/field_top: Shopee Indonesia -->
<div id="rating_app252c9f9349aabc04"></div>
<!-- /Snippet -->
<style>
.sf_promo-promo-label,
#sf_promo-view-more-tag,
.sf_promo-label-unclickable:hover {
color: #1ca946
}
</style>
<div class="sf_promo-tag-wrapper">
<div id="sf_promo-tag-label"></div>
<div class="sf_promo-tag-container">
<div id="sf_promo-tag"></div>
<a id="sf_promo-view-more-tag" class="sf_promo-promo-label hide" onclick="getPromotionList(true)">View More</a>
</div>
</div>
<select name="id" id="productSelect" class="product-single__variants">
<option selected="selected" data-sku="BF0125CF_PO" value="63779439">PRE-ORDER (PO) - IDR 30,000.00 </option>
<option data-sku="BF0125CF_FP" value="63779440">FULL PAYMENT (FP) - IDR 95,000.00 </option>
</select>
<div class="product-single__quantity">
<label for="Quantity">Quantity</label>
<input type="number" id="Quantity" name="quantity" value="1" min="1" class="quantity-selector">
</div>
<button type="submit" name="add" id="AddToCart" class="btn">
<span id="AddToCartText">Add to Cart</span>
</button>
</foIDR>
<hr class="hr--clear hr--small">
<div class="social-sharing is-clean" data-peIDRalink="https://www.suluhtani.com/">
<a target="_blank" href="https://www.facebook.com/" class="share-facebook">
<span class="icon icon-facebook"></span>
<span class="share-title">Facebook</span>
</a>
<a target="_blank" href="https://www.instagram.com/" class="share-twitter">
<span class="icon icon-instagram"></span>
<span class="share-title">Instagram</span>
</a>
</div>
<hr class="hr--clear hr--small">
</div>
</div>
<div class="grid__item">
<link href="css/promotion.css" rel="stylesheet" type="text/css" media="screen">
<style>
.sf_promo-ribbon {
color: #1ca946;
background-color: #1ca946
}

.sf_promo-ribbon-text,
.sf_promo-ribbon-text span {
color: #fff;
color: #fff;
}
</style>
<div id="promotion-section" class="sf_promo-container">
<div id="sf_promo-container"></div>
<div class="text-center">
<button id="get-more-promotion" class="btn btn--secondary hide" onclick="getPromotionList(true)">View More</button>
</div>
</div>
<div class="text-center">
<button id="view-more-promotion" class="btn btn--secondary hide" onclick="expandPromoSection()">View More</button>
</div>
<script>
var shop_money_foIDRat = " < span class = money data - ori - price = '{{amount}}' > IDR { {
amount
}
} < /span>";
</script>
<script src="js/promotion.js" type="text/javascript"></script>
<script>
var param = {
limit: 5,
page: 1
};

function getPromotionList(load_more) {
var element = document.getElementById("sf_promo-container"),
promo_section = document.getElementById("promotion-section"),
promo_btn = document.getElementById("get-more-promotion"),
view_more_btn = document.getElementById("view-more-promotion"),
view_more_tag_btn = document.getElementById("sf_promo-view-more-tag"),
page_value = parseInt(param.page);
if (load_more) {
view_more_tag_btn.classList.add("sf_promo-is-loading");
promo_btn.classList.add("btn--loading");
}
$.ajax({
type: "GET",
data: param,
dataType: 'json',
url: "https://www.suluhtani.com/",
success: function(response) {
document.getElementById("sf_promo-container").innerHTML += response.html;
var promotion_tag_html = "";
var promotion_tag_label_html = "";
var total_addon_discount = 0;
if (response.data.total_promotions > 0) {
promotion_tag_label_html += `


<div style="display:block;">
<label>Promotions</label>
</div>`;
for (let promotion of response.data.promotions) {
var label_class = "sf_promo-label-clickable",
svg_icon = "";
if (promotion.prerequisite_subtotal_range != null || promotion.prerequisite_to_entitlement_quantity_ratio == null) {
label_class = "sf_promo-label-unclickable";
} else {
total_addon_discount += 1
svg_icon = `


<svg class="sf_promo-svg-icon"
xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-chevron-right" viewBox="0 0 24 24" stroke-width="2.8" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<polyline points="9 6 15 12 9 18" />
</svg>`;
}
promotion_tag_html += `


<a onclick="promoScrollToView('${promotion.id}')" class="sf_promo-promo-label ${label_class}">
<b class="sf_promo-tag-label-title">${promotion.title.replace('&', '&').replace('>','>').replace('<','<').replace('/','/').replace('“', '"').replace("'","'") }


</b>${svg_icon}



</a>
`;
}
}
if (total_addon_discount > 1 && !load_more) {
promo_section.classList.add('sf_promo-container-height-opacity', 'sf_promo-container-white-gradient')
view_more_btn.classList.remove("hide");
} else {
promo_section.classList.remove('sf_promo-container-height-opacity', 'sf_promo-container-white-gradient')
view_more_btn.classList.add("hide");
}
if (response.data.page_count > param.page) {
view_more_tag_btn.classList.remove("hide");
promo_btn.classList.remove("hide");
} else {
view_more_tag_btn.classList.add("hide");
promo_btn.classList.add("hide");
}
document.getElementById("sf_promo-tag-label").innerHTML = promotion_tag_label_html;
document.getElementById("sf_promo-tag").innerHTML += promotion_tag_html;
view_more_tag_btn.classList.remove("sf_promo-is-loading");
promo_btn.classList.remove("btn--loading");
promoVariantDetailInitial()
page_value = isNaN(page_value) ? 0 : page_value;
page_value++;
param.page = page_value;
},
error: function(xhr) {}
});
}
var is_show_product_page = "1"
if (is_show_product_page) {
getPromotionList();
}
</script>
<div class="product-description rte" itemprop="description">
<link href="css/froala_style.min.css" rel="stylesheet" type="text/css">
<div class="fr-view">
<div>
<p class="" data-start="186" data-end="560">
<strong>
<a href="https://www.suluhtani.com/">Srikandi189</a>
</strong> hadir sebagai <strong data-start="216" data-end="247">situs slot gacor terpercaya</strong> dengan peluang <strong data-start="263" data-end="273">maxwin</strong> terbesar di tahun 2025! Dengan server terbaik dan RTP tinggi, situs ini menawarkan kesempatan emas untuk meraih kemenangan besar setiap harinya. Melalui proses <strong data-start="434" data-end="454">daftar dan login</strong> yang mudah, SRIKANDI189 memastikan semua pemain bisa merasakan sensasi <strong data-start="526" data-end="543">jackpot nyata</strong> tanpa kesulitan.
</p>
<p class="" data-start="562" data-end="860">Dengan koleksi game dari provider terkemuka seperti <strong data-start="614" data-end="632">Pragmatic Play</strong>, <strong data-start="634" data-end="645">PG Soft</strong>, dan <strong data-start="651" data-end="663">Joker123</strong>, kamu dijamin bakal menemukan permainan yang seru dan penuh peluang cuan. Cukup <strong data-start="744" data-end="754">daftar</strong> melalui <strong data-start="763" data-end="789">link resmi SRIKANDI189</strong>, deposit ringan, dan siap main dengan peluang menang yang lebih besar! </p>
<hr class="" data-start="862" data-end="865">
<h2 class="" data-start="867" data-end="901">
<strong>🚀 Mengapa Memilih SRIKANDI189?</strong>
</h2>
<ol data-start="903" data-end="1275">
<li class="" data-start="903" data-end="986">
<p class="" data-start="906" data-end="986">
<strong data-start="906" data-end="927">Slot Gacor Maxwin</strong> &ndash; Menyediakan peluang jackpot tinggi dan kemenangan mudah.
</p>
</li>
<li class="" data-start="987" data-end="1076">
<p class="" data-start="990" data-end="1076">
<strong data-start="990" data-end="1013">Provider Terpercaya</strong> &ndash; Game dari <strong data-start="1026" data-end="1044">Pragmatic Play</strong>, <strong data-start="1046" data-end="1057">PG Soft</strong>, dan <strong data-start="1063" data-end="1075">Joker123</strong>.
</p>
</li>
<li class="" data-start="1077" data-end="1141">
<p class="" data-start="1080" data-end="1141">
<strong data-start="1080" data-end="1111">Proses Daftar &amp; Login Mudah</strong> &ndash; Akses langsung tanpa ribet.
</p>
</li>
<li class="" data-start="1142" data-end="1214">
<p class="" data-start="1145" data-end="1214">
<strong data-start="1145" data-end="1173">Deposit &amp; Withdraw Cepat</strong> &ndash; Nikmati transaksi yang cepat dan aman.
</p>
</li>
<li class="" data-start="1215" data-end="1275">
<p class="" data-start="1218" data-end="1275">
<strong data-start="1218" data-end="1237">Bonus Berlimpah</strong> &ndash; Dapatkan bonus menarik setiap hari!
</p>
</li>
</ol>
<hr class="" data-start="1277" data-end="1280">
<h3 data-start="1282" data-end="1318">
<strong>🌟 Keuntungan Main di SRIKANDI189</strong>
</h3>
<ul data-start="1320" data-end="1623">
<li class="" data-start="1320" data-end="1396">
<p class="" data-start="1322" data-end="1396">
<strong data-start="1322" data-end="1336">RTP Tinggi</strong>: Memberikan peluang menang lebih besar di setiap permainan.
</p>
</li>
<li class="" data-start="1397" data-end="1478">
<p class="" data-start="1399" data-end="1478">
<strong data-start="1399" data-end="1413">Pola Gacor</strong>: SRIKANDI189 selalu update informasi tentang pola gacor terbaru.
</p>
</li>
<li class="" data-start="1479" data-end="1553">
<p class="" data-start="1481" data-end="1553">
<strong data-start="1481" data-end="1499">Bonus Maksimal</strong>: Cashback harian dan bonus spesial buat member aktif.
</p>
</li>
<li class="" data-start="1554" data-end="1623">
<p class="" data-start="1556" data-end="1623">
<strong data-start="1556" data-end="1582">Tampilan User-Friendly</strong>: Mudah dinavigasi di desktop dan mobile.
</p>
</li>
</ul>
<hr class="" data-start="1625" data-end="1628">
<h3 data-start="1630" data-end="1658">
<strong>❓ FAQ Seputar SRIKANDI189</strong>
</h3>
<p class="" data-start="1660" data-end="1841">
<strong data-start="1660" data-end="1687">Q: Apa itu SRIKANDI189?</strong>
<br data-start="1687" data-end="1690">A: SRIKANDI189 adalah situs slot terpercaya yang menawarkan <strong data-start="1750" data-end="1764">game gacor</strong> dengan <strong data-start="1772" data-end="1782">maxwin</strong> tinggi, cocok buat pemain yang ingin menang besar di 2025.
</p>
<p class="" data-start="1843" data-end="1984">
<strong data-start="1843" data-end="1890">Q: Apakah SRIKANDI189 aman untuk dimainkan?</strong>
<br data-start="1890" data-end="1893">A: Aman! Situs ini memiliki <strong data-start="1921" data-end="1949">sistem enkripsi keamanan</strong> dan mendukung transaksi yang aman.
</p>
<p class="" data-start="1986" data-end="2163">
<strong data-start="1986" data-end="2031">Q: Apa keuntungan bermain di SRIKANDI189?</strong>
<br data-start="2031" data-end="2034">A: Selain <strong data-start="2044" data-end="2054">maxwin</strong>, kamu bisa menikmati game dengan <strong data-start="2088" data-end="2102">RTP tinggi</strong>, bonus melimpah, dan kemudahan dalam deposit dan withdrawal.
</p>
<p class="" data-start="2165" data-end="2308">
<strong data-start="2165" data-end="2209">Q: Bagaimana cara daftar di SRIKANDI189?</strong>
<br data-start="2209" data-end="2212">A: Cukup klik <strong data-start="2226" data-end="2252">link resmi SRIKANDI189</strong>, isi data diri, dan deposit ringan untuk mulai bermain.
</p>
<p class="" data-start="2310" data-end="2480">
<strong data-start="2310" data-end="2360">Q: Game apa saja yang tersedia di SRIKANDI189?</strong>
<br data-start="2360" data-end="2363">A: Tersedia berbagai macam game dari provider seperti <strong data-start="2417" data-end="2435">Pragmatic Play</strong>, <strong data-start="2437" data-end="2448">PG Soft</strong>, <strong data-start="2450" data-end="2462">Joker123</strong>, dan banyak lagi.
</p>
<hr class="" data-start="2482" data-end="2485">
<p class="" data-start="2487" data-end="2673">Siap untuk <strong data-start="2498" data-end="2522">menang besar di 2025</strong>? Daftar sekarang di <strong data-start="2543" data-end="2558">SRIKANDI189</strong>, <strong data-start="2560" data-end="2569">login</strong>, dan nikmati pengalaman bermain <strong>
<a href="https://www.suluhtani.com/">slot gacor</a>
</strong> dengan peluang menang yang lebih besar setiap hari! 🚀💰 </p>
</div>
</div>
</div>
</div>
<!-- Snippet:product/description_bottom: Shopee Indonesia -->
<div id="comment_app252c9f9349aabc04" class="display-none" style="margin-bottom: 20px;">
<div class="comment-card-wrapper">
<div class="comment-header" style="margin-top:20px;"></div>
<div class="comment-content-init" style="margin-top:20px;"></div>
</div>
</div>
<div id="comment-modal_app252c9f9349aabc04" data-modal-visible="false" class="comment-modal display-none">
<div class="comment-modal-wrapper">
<span data-apps-id="app252c9f9349aabc04" class="close toggle-modal">�</span>
<div class="comment-content comment-modal-content"></div>
</div>
<div data-apps-id="app252c9f9349aabc04" class="comment-modal-backdrop"></div>
</div>
<!-- /Snippet -->
</div>
</div>
</div>
</div>
<!-- Snippet:product/content_bottom: Shopee Indonesia -->
<script type="application/javascript">
let ShopeeIndonesiaIntervalId = null;

function productCommentsShopeeIndonesiaCallBack() {
if (typeof getShopeeIndonesiaProductComments == 'function' && typeof getShopeeIndonesiaProductRating == 'function') {
getShopeeIndonesiaProductComments('13760075');
if (['ShopeeIndonesia', 'ShopeeTaiwan', 'ShopeeSingapore', 'ShopeeThailand'].includes('ShopeeIndonesia')) {
getShopeeIndonesiaProductRating('13760075');
}
clearInterval(ShopeeIndonesiaIntervalId);
}
}
if (typeof getShopeeIndonesiaProductComments == 'function' && typeof getShopeeIndonesiaProductRating == 'function') {
getShopeeIndonesiaProductComments('13760075');
if (['ShopeeIndonesia', 'ShopeeTaiwan', 'ShopeeSingapore', 'ShopeeThailand'].includes('ShopeeIndonesia')) {
getShopeeIndonesiaProductRating('13760075');
}
} else {
let intervalId = setInterval(productCommentsShopeeIndonesiaCallBack, 1000);
ShopeeIndonesiaIntervalId = intervalId;
}
</script>
<!-- /Snippet -->
<script src="js/option_selection.js" type="text/javascript"></script>
<script>
$(document).ready(function() {
// Hide the add to cart button when price less than 0
var money = $("#ProductPrice").find(".money").text();
var price = Number(money.replace(/[^0-9\.]+/g, ""));
var d = $("[data-addtocart]").data("addtocart");
var app_currency = $("[name='currencies'] option:selected").val();
d.currency = app_currency;
if (price <= 0) {
$("#AddToCart").hide();
$(".product-single__quantity").hide();
}
view_cart = "View cart";
continue_shopping = "Continue shopping";
$("#Quantity").change(function() {
var d = $("[data-addtocart]").data("addtocart");
var new_val = $(this).val();
var app_currency = $("[name='currencies'] option:selected").val();
d.currency = app_currency;
d.quantity = new_val;
$("[data-addtocart]").data("addtocart", d);
});
$("body").on("change", ".single-option-selector", function() {
var money = $("#ProductPrice").find(".money").text();
var price = Number(money.replace(/[^0-9\.]+/g, ""));
var app_currency = $("[name='currencies'] option:selected").val();
var v = "";
$(".single-option-selector option:selected").each(function(index) {
v += "," + $(this).text();
});
d.variant = v.substring(1);
d.price = price;
d.currency = app_currency;
if (price <= 0) {
$("#AddToCart").hide();
$(".product-single__quantity").hide();
} else {
$("#AddToCart").show();
$(".product-single__quantity").show();
$("[data-addtocart]").data("addtocart", d);
}
});
// retrieve & store view history in local storage
var productViewHistoryData = [];
var storedProductViewHistory = localStorage.getItem('productViewHistory');
if (storedProductViewHistory !== null) {
productViewHistoryData = JSON.parse(storedProductViewHistory);
}
if (productViewHistoryData.length > 0) {
var currentViewedProduct = {
"product_id": 13760075,
"viewed_at": "2025-04-19T17:21:24.645+08:00"
}
var currentViewedAt = new Date(currentViewedProduct.viewed_at);
var matchProductID = false;
productViewHistoryData.forEach(data => {
// Check if product_id is similar
if (data.product_id == currentViewedProduct.product_id) {
var previousViewedAt = new Date(data.viewed_at);
if (currentViewedAt > previousViewedAt) {
data.viewed_at = currentViewedProduct.viewed_at;
}
matchProductID = true;
}
});
// sort "viewed_at" desc
productViewHistoryData.sort((a, b) => {
var viewedAt1 = new Date(a.viewed_at);
var viewedAt2 = new Date(b.viewed_at);
return viewedAt2 - viewedAt1;
});
if (!matchProductID) {
productViewHistoryData.unshift(currentViewedProduct);
}
} else {
productViewHistoryData.push({
"product_id": 13760075,
"viewed_at": "2025-04-19T17:21:24.645+08:00"
});
}
productViewHistoryData = JSON.stringify(productViewHistoryData);
localStorage.setItem('productViewHistory', productViewHistoryData);
// End - retrieve & store view history in local storage
});
EasyStore.money_foIDRat = " < span class = money data - ori - price = '{{amount}}' > IDR { {
amount
}
} < /span>";
var selectCallback = function(variant, selector) {
timber.productPage({
money_foIDRat: " < span class = money data - ori - price = '{{amount}}' > IDR { {
amount
}
} < /span>",
variant: variant, selector: selector, translations: {
add_to_cart: "Add to Cart",
sold_out: "Sold Out",
unavailable: "Unavailable"
}
});
};
jQuery(function($) {
new EasyStore.OptionSelectors('productSelect', {
product: {
"id": 13760075,
"handle": "bunny-garden-rin",
"name": "srikandi189",
"title": "srikandi189",
"url": "https://www.suluhtani.com/assets/images/banner1.webp",
"price": 10122,
"price_min": "10122.0",
"price_max": "10122.0",
"price_varies": true,
"compare_at_price": 0,
"compare_at_price_min": "0.0",
"compare_at_price_max": "0.0",
"compare_at_price_varies": false,
"available": true,
"options_with_values": [{
"name": "Payment",
"position": 1,
"values": ["PRE-ORDER (PO)", "FULL PAYMENT (FP)"]
}],
"options_by_name": {
"Payment": {
"name": "Payment",
"position": 1,
"values": ["PRE-ORDER (PO)", "FULL PAYMENT (FP)"]
}
},
"options": ["Payment"],
"has_only_default_variant": false,
"sole_variant_id": null,
"variants": [{
"id": 63779439,
"title": "PRE-ORDER (PO)",
"sku": "BF0125CF_PO",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["PRE-ORDER (PO)"],
"option1": "PRE-ORDER (PO)",
"option2": null,
"option3": null,
"points": null
}, {
"id": 63779440,
"title": "FULL PAYMENT (FP)",
"sku": "BF0125CF_FP",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": null,
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["FULL PAYMENT (FP)"],
"option1": "FULL PAYMENT (FP)",
"option2": null,
"option3": null,
"points": null
}],
"selected_variant": {
"id": 63779439,
"title": "PRE-ORDER (PO)",
"sku": "BF0125CF_PO",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["PRE-ORDER (PO)"],
"option1": "PRE-ORDER (PO)",
"option2": null,
"option3": null,
"points": null
},
"first_available_variant": {
"id": 63779439,
"title": "PRE-ORDER (PO)",
"sku": "BF0125CF_PO",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["PRE-ORDER (PO)"],
"option1": "PRE-ORDER (PO)",
"option2": null,
"option3": null,
"points": null
},
"selected_or_first_available_variant": {
"id": 63779439,
"title": "PRE-ORDER (PO)",
"sku": "BF0125CF_PO",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["PRE-ORDER (PO)"],
"option1": "PRE-ORDER (PO)",
"option2": null,
"option3": null,
"points": null
},
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"secondary_image": {
"alt": "slot maxwin",
"img_url": "https://www.suluhtani.com/assets/images/banner2.webp",
"src": "https://www.suluhtani.com/assets/images/banner2.webp",
"type": "Images"
},
"images": [{
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
}],
"media": [{
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
}],
"featured_media": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"metafields": [],
"expires": null,
"published_at": "2025-04-19T16:25:00.000+08:00",
"created_at": "2025-04-19T16:25:16.000+08:00",
"is_wishlisted": null,
"content": " < link href = '\/assets\/css\/froala_style.min.css'
rel = 'stylesheet'
type = 'text\/css'\ / > < div class = 'fr-view' > < div > < strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Release Date:<\/strong>< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�Jan 2026<\/span><\/div>< div >< strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Regular Price:<\/strong>< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�25,960 yen<\/span><\/div>< div >< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< strong > PO End Date: � < \/strong><\/span>< span style = \"color: rgb(255, 255, 255); line-height: 18px; font-size: 13px;\">< strong >< span style = \"background-color: rgb(184, 49, 47);\">�6 Jun 2025*�<\/span><\/strong><\/span><\/div>< div >< strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Deposit:<\/strong>< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�IDR10122<\/span>< br >< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\">< span style = \"line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(247, 218, 100); line-height: 18px; font-size: 13px; background-color: rgb(85, 57, 130);\">< strong style = \"font-weight: 700;\">�* PO End Date expired = No Longer Available *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span>< br >< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\">< span style = \"line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(250, 197, 28); line-height: 18px; font-size: 13px; background-color: rgb(184, 49, 47);\">< strong style = \"font-weight: 700;\">�* Expect To Arrive - 1 - 3 Months After Release Date *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div><\/div>",
"description": " < link href = '\/assets\/css\/froala_style.min.css'
rel = 'stylesheet'
type = 'text\/css'\ / > < div class = 'fr-view' > < div > < strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Release Date:<\/strong>< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�Jan 2026<\/span><\/div>< div >< strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Regular Price:<\/strong>< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�25,960 yen<\/span><\/div>< div >< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< strong > PO End Date: � < \/strong><\/span>< span style = \"color: rgb(255, 255, 255); line-height: 18px; font-size: 13px;\">< strong >< span style = \"background-color: rgb(184, 49, 47);\">�6 Jun 2025*�<\/span><\/strong><\/span><\/div>< div >< strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Deposit:<\/strong>< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�IDR10122<\/span>< br >< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\">< span style = \"line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(247, 218, 100); line-height: 18px; font-size: 13px; background-color: rgb(85, 57, 130);\">< strong style = \"font-weight: 700;\">�* PO End Date expired = No Longer Available *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span>< br >< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\">< span style = \"line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">< span style = \"color: rgb(250, 197, 28); line-height: 18px; font-size: 13px; background-color: rgb(184, 49, 47);\">< strong style = \"font-weight: 700;\">�* Expect To Arrive - 1 - 3 Months After Release Date *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div><\/div>",
"meta_description": "Shop srikandi189 online in Malaysia from Shirotoys, Malaysia leading anime figures and board games store. :white_check_mark: Buy srikandi189 at best price now.",
"brands": [],
"tags": [],
"vendor": null,
"collections": [{
"handle": "srikandi189",
"title": "SRIKANDI189: Daftar Login Situs Slot Gacor Maxwin Terpercaya 2025"
}, {
"handle": "srikandi189",
"title": "SRIKANDI189: Daftar Login Situs Slot Gacor Maxwin Terpercaya 2025"
}, {
"handle": "pre-order",
"title": "SRIKANDI189: Daftar Login Situs Slot Gacor Maxwin Terpercaya 2025"
}],
"view_history": {
"product_id": 13760075,
"viewed_at": "2025-04-19T17:21:24.645+08:00"
},
"promotions": []
},
onVariantSelected: selectCallback,
enableHistoryState: false
});
// Add label if only one product option and it isn't 'Title'. Could be 'Size'.
$('.selector-wrapper:eq(0)').prepend(' < label
for = "productSelect-option-0" > Payment < /label>');
// Hide selectors if we only have 1 variant and its title contains 'Default'.
});
</script>
</div>
</main>
<footer class="site-footer small--text-center" role="contentinfo">
<div class="wrapper">
<div class="grid-unifoIDR">
<div class="grid__item large--one-half medium--one-half">
<h4>Hubungi Kami Disini</h4>
<ul class="site-footer__links">
<li>
<a href="https://wa.me/+8562096671528">WhatsApp</a>
</li>
<li>
<a href="https://t.me/srikandi189_humas">Telegram</a>
</li>
<li>
<a href="https://direct.lc.chat/13164537/127">LiveChat</a>
</li>
</ul>
</div>
<div class="grid__item large--one-half medium--one-half">
<h4>Media Sosial</h4>
<ul class="inline-list social-icons">
<li>
<a class="icon-fallback-text" href="https://x.com/" title="Twitter srikandi189" target="_blank">
<span class="icon icon-twitter" aria-hidden="true"></span>
<span class="fallback-text">Twitter</span>
</a>
</li>
<li>
<a class="icon-fallback-text" href="https://web.facebook.com/" title="Facebook srikandi189" target="_blank">
<span class="icon icon-facebook" aria-hidden="true"></span>
<span class="fallback-text">Facebook</span>
</a>
</li>
<li>
<a class="icon-fallback-text" href="https://www.instagram.com/" title="Instagram srikandi189" target="_blank">
<span class="icon icon-instagram" aria-hidden="true"></span>
<span class="fallback-text">Instagram</span>
</a>
</li>
</ul>
</div>
</div>
<hr class="hr--small hr--clear">
<div class="grid">
<div class="grid__item text-center"></div>
</div>
<div class="grid">
<div class="grid__item text-center">
<p class="site-footer__links">Copyright © 2025 - Srikandi189</p>
<p class="site-footer__links">
<a href="https://www.suluhtani.com/">Link Alternatif Srikandi189</a> | <a href="https://www.suluhtani.com/">Daftar Srikandi189</a> | <a href="https://www.suluhtani.com/">RTP Srikandi189</a> | <a href="https://www.suluhtani.com/">Slot Gacor Maxwin</a>
</p>
</div>
</div>
</div>
</footer>
<script src="js/fastclick.min.js" type="text/javascript"></script>
<script src="js/timber.js" type="text/javascript"></script>
<script src="js/theme.js" type="text/javascript"></script>
<script src="js/magnific-popup.min.js" type="text/javascript"></script>
<script src="js/social-buttons.js" type="text/javascript"></script>
<script src="js/currencies.js" type="text/javascript"></script>
<script src="js/jquery.currencies.min.js" type="text/javascript"></script>
<script src="js/currencies_foIDRat.js" type="text/javascript"></script>
<script>
Currency.foIDRat = "money_with_currency_foIDRat";
var shopCurrency = 'MYR';
var selectedCurrency = 'MYR';
Currency.convert = function(amount, from, to) {
return amount;
};
if ($.cookie("currency") == null) {
if (selectedCurrency != false) {
Currency.convertAll(shopCurrency, selectedCurrency);
jQuery('.selected-currency').text(Currency.currentCurrency);
}
}
/* Sometimes merchants change their shop currency, let's tell our JavaScript file */
// Currency.moneyFoIDRats[shopCurrency].money_with_currency_foIDRat = "";
// Currency.moneyFoIDRats[shopCurrency].money_foIDRat = "IDR {{amount}} ";
/* Default currency */
var defaultCurrency = 'MYR';
/* Cookie currency */
var cookieCurrency = Currency.cookie.read();
cookieCurrency = shopCurrency;
$("input[name=current_currency]").val(cookieCurrency);
if (cookieCurrency == null) {
cookieCurrency = shopCurrency;
Currency.cookie.write(shopCurrency);
}
/* Fix for customer account pages */
jQuery('span.money span.money').each(function() {
jQuery(this).parents('span.money').removeClass('money');
});
/* Saving the current price */
jQuery('span.money').each(function() {
jQuery(this).attr('data-currency-MYR', jQuery(this).html());
});
// If there's no cookie.
if (cookieCurrency == null) {
if (shopCurrency !== defaultCurrency) {
Currency.convertAll(shopCurrency, defaultCurrency);
} else {
Currency.currentCurrency = defaultCurrency;
}
}
// If the cookie value does not correspond to any value in the currency dropdown.
else if (jQuery('[name=currencies]').size() && jQuery('[name=currencies] option[value=' + cookieCurrency + ']').size() === 0) {
Currency.currentCurrency = shopCurrency;
Currency.cookie.write(shopCurrency);
} else if (cookieCurrency === shopCurrency) {
Currency.currentCurrency = shopCurrency;
Currency.convertAll(shopCurrency, cookieCurrency);
} else {
Currency.convertAll(shopCurrency, cookieCurrency);
}
jQuery('[name=currencies]').val(Currency.currentCurrency).change(function() {
var newCurrency = jQuery(this).val();
Currency.cookie.write(newCurrency)
if ('product' == 'cart') {
const params = new URLSearchParams(window.location.search);
params.set('delete_cache', 1);
window.location.search = params;
} else {
window.location.reload();
}
});
var original_selectCallback = window.selectCallback;
var selectCallback = function(variant, selector) {
var currencies = null;
original_selectCallback(variant, selector);
if (typeof jQuery('[name=currencies]').val() == "") {
currencies = shopCurrency;
} else {
currencies = jQuery('[name=currencies]').val();
}
Currency.convertAll(shopCurrency, currencies);
jQuery('.selected-currency').text(Currency.currentCurrency);
};
$('body').on('ajaxCart.afterCartLoad', function(cart) {
Currency.convertAll(shopCurrency, jQuery('[name=currencies]').val());
jQuery('.selected-currency').text(Currency.currentCurrency);
});
jQuery('.selected-currency').text(Currency.currentCurrency);
</script>
<!-- Snippet:global/body_end: Product Label -->
<link href="css/main_1.css" rel="stylesheet" type="text/css" media="screen">
<script src="js/productlabelv2.js" type="text/javascript"></script>
<!-- /Snippet -->
<script>
/*

------
Events
------

pages/viewed

customers/signup

customers/login

products/searched

collections/viewed

products/viewed

products/shared

wishlists/item_added

carts/items_added

carts/viewed

carts/item_removed

checkouts/initiated

checkouts/shipping_info_added

checkouts/payment_info_added

checkouts/completed

orders/placed

orders/purchased

payments/captured

payments/failed

*/
window.__latest_cart = window.__latest_cart || null;
const _selector = document.querySelector.bind(document),
_selectorAll = document.querySelectorAll.bind(document)
document.addEventListener('DOMContentLoaded', (event) => {
const default_currency = getCookie("currency")
const customer_id = window.__st.cid
const template = window.__st.p
onPageView()
//-----------------------//
// Configs //
//-----------------------//
window.dataLayer = window.dataLayer || []
Array.prototype.last = Array.prototype.last || function() {
return this[this.length - 1] || null
}
Array.prototype.first = Array.prototype.first || function() {
return this[0] || null
}
//----------------------//
// Triggers //
//----------------------//
const XHR = window.XMLHttpRequest

function xhr() {
const xhr = new XHR()
xhr.addEventListener("readystatechange", function() {
if (xhr.readyState != 4) return
try {
const response_url = xhr.responseURL
if (response_url.includes("cart/add")) {
window.__latest_cart = JSON.parse(xhr.response)
onCartItemsAdded() // ok
}
if (response_url.includes("cart/remove_item_quantity")) {
window.__latest_cart = JSON.parse(xhr.response)
onCartItemRemoved() // ok
}
if (response_url.includes("new_cart?retrieve=true")) {
result = JSON.parse(xhr.response)
if (result.cart) {
window.__latest_cart = result.cart
}
}
} catch (e) {
console.error(e)
}
}, false);
return xhr
}
window.XMLHttpRequest = xhr
switch (template) {
case 'cart':
onCartView() // ok
break
case 'product':
onProductView() // ok
break
case 'collection':
onCollectionView() // ok
break
case 'blog':
onBlogView()
break
case 'article':
onArticleView()
break
case 'payment_completed':
onOrderPlace()
break
case 'payment_fail':
onPaymentFail()
break
}
// _selector('foIDR[action="/checkout/payments"]').addEventListener("submit", onPaymentInfoAdded(_selector('foIDR[action="/checkout/payments"]')))
if (_selector('foIDR[action="/checkout/detail"]')) _selector('foIDR[action="/checkout/detail"]').addEventListener("submit", () => {
onShippingInfoAdded(_selector('foIDR[action="/checkout/detail"]'))
}) // ok
if (_selector('foIDR[action="/checkout/shipping"]')) _selector('foIDR[action="/checkout/shipping"]').addEventListener("submit", () => {
onShippingInfoAdded(_selector('foIDR[action="/checkout/shipping"]'))
}) // ok
if (_selector('foIDR[action="/account/register"]')) _selector('foIDR[action="/account/register"]').addEventListener("submit", onSignUp) // ok
if (_selector('foIDR[action="/account/login"]')) _selector('foIDR[action="/account/login"]').addEventListener("submit", onLogin) // ok
if (_selector('foIDR[action="/search"]')) _selector('foIDR[action="/search"]').addEventListener("submit", onProductSearch()) // ok
if (_selector('#line-login-btn')) _selector('#line-login-btn').addEventListener('click', onLineLogin) // ok
if (_selector('#PlaceOrder')) _selector('#PlaceOrder').addEventListener("click", () => {
onCheckoutComplete(_selector('foIDR[action="/checkout/payments"]'))
}); // ok
if (_selector('#add_wishlist')) _selector('#add_wishlist').addEventListener("click", onWishlistItemAdded) // ok
if (_selectorAll('a[href="/account/logout"]')) _selectorAll('a[href="/account/logout"]').forEach(logoutButton => logoutButton.addEventListener("click", onLogout)) // ok
if (_selector('.CartDrawerTrigger.cart-page-link')) _selector('.CartDrawerTrigger.cart-page-link').addEventListener("click", onCartView) // ok
if (_selector('.CartDrawerTrigger.cart-page-link.mobile-cart-page-link')) _selector('.CartDrawerTrigger.cart-page-link.mobile-cart-page-link').addEventListener("click", onCartView) // ok
if (_selectorAll('a[class^="share-"]')) _selectorAll('a[class^="share-"]').forEach(shareButton => shareButton.addEventListener("click", () => {
onProductShare(shareButton)
})) // ok
if (_selectorAll('[name$="checkout"]')) _selectorAll('[name$="checkout"]').forEach(checkoutButton => checkoutButton.addEventListener("click", onCheckoutInitiate))
// For append elements
const bodyMutationObserver = new MutationObserver(() => {
if (_selector('#foIDR__spc #PlaceOrder')) _selector('#foIDR__spc #PlaceOrder').addEventListener("click", onSinglePageCheckout) // ok
if (_selectorAll('[name$="checkout"]')) _selectorAll('[name$="checkout"]').forEach(checkoutButton => checkoutButton.addEventListener("click", onCheckoutInitiate))
});
bodyMutationObserver.observe(_selector("body"), {
subtree: true,
childList: true
});
//------------------------------//
// Event handlers //
//------------------------------//
function onPageView() {
EasyStore.Event.dispatch('pages/viewed', {
page: {
type: template,
title: document.title,
description: _selector('meta[name=description]') ? _selector('meta[name=description]').getAttribute('content') : null,
url: location.href,
}
})
}

function onSignUp() {
const email_regex = new RegExp(/^[a-zA-Z0-9.!#$%&"*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/)
const phone_regex = new RegExp(/^(\+?6?01)[0-46-9]-*[0-9]{7,8}$/)
const email_or_phone = _selector(`input[name="customer[email_or_phone]"]`).value.replace("+", "").replace(/\s+/, "")
let data = {}
if (email_regex.test(email_or_phone)) {
data.method = 'email'
data.email = email_or_phone
}
if (phone_regex.test(email_or_phone)) {
data.method = "phone"
data.phone = email_or_phone
}
if (!data.method) return
EasyStore.Event.dispatch('customers/signup', data)
}

function onLogin() {
const email_regex = new RegExp(/^[a-zA-Z0-9.!#$%&"*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/)
const phone_regex = new RegExp(/^(\+?6?01)[0-46-9]-*[0-9]{7,8}$/)
const email_or_phone = _selector(`input[name="customer[email_or_phone]"]`).value.replace("+", "").replace(/\s+/, "")
let data = {}
if (email_regex.test(email_or_phone)) {
data.method = 'email'
data.email = email_or_phone
}
if (phone_regex.test(email_or_phone)) {
data.method = "phone"
data.phone = email_or_phone
}
if (!data.method) return
EasyStore.Event.dispatch('customers/login', data)
}

function onLineLogin() {
EasyStore.Event.dispatch('customers/login', {
method: 'line'
})
}

function onLogout() {
EasyStore.Event.dispatch('customers/logout', {
customer_id
})
}

function onBlogView() {
const blog = ""
EasyStore.Event.dispatch('blogs/viewed', {
blog
})
}

function onArticleView() {
const article = ""
EasyStore.Event.dispatch('articles/viewed', {
article
})
}

function onProductSearch() {
const query = _selector('input[name=q]').value
if (!query) return
EasyStore.Event.dispatch('products/searched', {
query
})
}

function onCollectionView() {
const collection = {
"id": 271508,
"store_id": 200878,
"parent_id": 0,
"reference_id": null,
"name": "Slot Gacor Maxwin",
"title": "SRIKANDI189: Daftar Login Situs Slot Gacor Maxwin Terpercaya 2025",
"handle": "srikandi189",
"image_url": null,
"origin_image_url": null,
"description": null,
"body_html": null,
"origin_body_html": null,
"position": 2,
"is_locked": true,
"is_published": true,
"published_at": "2018-01-25T03:27:49.000+08:00",
"updated_at": "2023-10-06T21:53:37.000+08:00",
"created_at": "2018-01-11T11:04:17.000+08:00",
"url": "https://www.suluhtani.com/"
}
EasyStore.Event.dispatch('collections/viewed', {
collection
})
}

function onProductView() {
const product = {
"id": 13760075,
"handle": "bunny-garden-rin",
"name": "srikandi189",
"title": "srikandi189",
"url": "https://www.suluhtani.com/",
"price": 10122,
"price_min": "10122.0",
"price_max": "10122.0",
"price_varies": true,
"compare_at_price": 0,
"compare_at_price_min": "0.0",
"compare_at_price_max": "0.0",
"compare_at_price_varies": false,
"available": true,
"options_with_values": [{
"name": "Payment",
"position": 1,
"values": ["PRE-ORDER (PO)", "FULL PAYMENT (FP)"]
}],
"options_by_name": {
"Payment": {
"name": "Payment",
"position": 1,
"values": ["PRE-ORDER (PO)", "FULL PAYMENT (FP)"]
}
},
"options": ["Payment"],
"has_only_default_variant": false,
"sole_variant_id": null,
"variants": [{
"id": 63779439,
"title": "PRE-ORDER (PO)",
"sku": "BF0125CF_PO",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["PRE-ORDER (PO)"],
"option1": "PRE-ORDER (PO)",
"option2": null,
"option3": null,
"points": null
}, {
"id": 63779440,
"title": "FULL PAYMENT (FP)",
"sku": "BF0125CF_FP",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": null,
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["FULL PAYMENT (FP)"],
"option1": "FULL PAYMENT (FP)",
"option2": null,
"option3": null,
"points": null
}],
"selected_variant": {
"id": 63779439,
"title": "PRE-ORDER (PO)",
"sku": "BF0125CF_PO",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["PRE-ORDER (PO)"],
"option1": "PRE-ORDER (PO)",
"option2": null,
"option3": null,
"points": null
},
"first_available_variant": {
"id": 63779439,
"title": "PRE-ORDER (PO)",
"sku": "BF0125CF_PO",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["PRE-ORDER (PO)"],
"option1": "PRE-ORDER (PO)",
"option2": null,
"option3": null,
"points": null
},
"selected_or_first_available_variant": {
"id": 63779439,
"title": "PRE-ORDER (PO)",
"sku": "BF0125CF_PO",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["PRE-ORDER (PO)"],
"option1": "PRE-ORDER (PO)",
"option2": null,
"option3": null,
"points": null
},
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"secondary_image": {
"alt": "Slot Maxwin",
"img_url": "https://www.suluhtani.com/assets/images/banner2.webp",
"src": "https://www.suluhtani.com/assets/images/banner2.webp",
"type": "Images"
},
"images": [{
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
}],
"media": [{
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
}],
"featured_media": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"metafields": [],
"expires": null,
"published_at": "2025-04-19T16:25:00.000+08:00",
"created_at": "2025-04-19T16:25:16.000+08:00",
"is_wishlisted": null,
"content": " < link href = \u0027\ / assets\ / css\ / froala_style.min.css\u0027 rel = \u0027stylesheet\u0027 type = \u0027text\ / css\u0027\ / >< div class = \u0027fr - view\u0027 >< div >< strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Release Date:<\/strong>< span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�Jan 2026<\/span><\/div>< div >< strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Regular Price:<\/strong> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�25,960 yen<\/span><\/div> < div > < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < strong > PO End Date: � < \/strong><\/span> < span style = \"color: rgb(255, 255, 255); line-height: 18px; font-size: 13px;\"> < strong > < span style = \"background-color: rgb(184, 49, 47);\">�6 Jun 2025*�<\/span><\/strong><\/span><\/div> < div > < strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Deposit:<\/strong> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�IDR10122<\/span> < br > < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"> < span style = \"line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(247, 218, 100); line-height: 18px; font-size: 13px; background-color: rgb(85, 57, 130);\"> < strong style = \"font-weight: 700;\">�* PO End Date expired = No Longer Available *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span> < br > < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"> < span style = \"line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"> < span style = \"color: rgb(250, 197, 28); line-height: 18px; font-size: 13px; background-color: rgb(184, 49, 47);\"> < strong style = \"font-weight: 700;\">�* Expect To Arrive - 1 - 3 Months After Release Date *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div><\/div>",
"description": " < link href = \u0027\ / assets\ / css\ / froala_style.min.css\u0027 rel = \u0027stylesheet\u0027 type = \u0027text\ / css\u0027\ / > < div class = \u0027fr - view\u0027 > < div > < strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Release Date:<\/strong> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�Jan 2026<\/span><\/div> < div > < strong style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Regular Price:<\/strong> < span style = \"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�25,960 yen<\/span><\/div><div><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><strong>PO End Date:�<\/strong><\/span><span style=\"color: rgb(255, 255, 255); line-height: 18px; font-size: 13px;\"><strong><span style=\"background-color: rgb(184, 49, 47);\">�6 Jun 2025*�<\/span><\/strong><\/span><\/div><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Deposit:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�IDR10122<\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(247, 218, 100); line-height: 18px; font-size: 13px; background-color: rgb(85, 57, 130);\"><strong style=\"font-weight: 700;\">�* PO End Date expired = No Longer Available *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(250, 197, 28); line-height: 18px; font-size: 13px; background-color: rgb(184, 49, 47);\"><strong style=\"font-weight: 700;\">�* Expect To Arrive - 1 - 3 Months After Release Date *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div><\/div>",
"meta_description": "Shop srikandi189 online in Malaysia from Shirotoys, Malaysia leading anime figures and board games store. :white_check_mark: Buy srikandi189 at best price now.",
"brands": [],
"tags": [],
"vendor": null,
"collections": [{
"handle": "srikandi189",
"title": "SRIKANDI189: Daftar Login Situs Slot Gacor Maxwin Terpercaya 2025"
}, {
"handle": "srikandi189",
"title": "SRIKANDI189: Daftar Login Situs Slot Gacor Maxwin Terpercaya 2025"
}, {
"handle": "pre-order",
"title": "SRIKANDI189: Daftar Login Situs Slot Gacor Maxwin Terpercaya 2025"
}],
"view_history": {
"product_id": 13760075,
"viewed_at": "2025-04-19T17:21:24.645+08:00"
},
"promotions": []
}
EasyStore.Event.dispatch("products/viewed", {
product
})
}

function onProductShare(el) {
const product = {
"id": 13760075,
"handle": "bunny-garden-rin",
"name": "srikandi189",
"title": "srikandi189",
"url": "https://www.suluhtani.com/",
"price": 10122,
"price_min": "1024.0",
"price_max": "1024.0",
"price_varies": true,
"compare_at_price": 0,
"compare_at_price_min": "0.0",
"compare_at_price_max": "0.0",
"compare_at_price_varies": false,
"available": true,
"options_with_values": [{
"name": "Payment",
"position": 1,
"values": ["PRE-ORDER (PO)", "FULL PAYMENT (FP)"]
}],
"options_by_name": {
"Payment": {
"name": "Payment",
"position": 1,
"values": ["PRE-ORDER (PO)", "FULL PAYMENT (FP)"]
}
},
"options": ["Payment"],
"has_only_default_variant": false,
"sole_variant_id": null,
"variants": [{
"id": 63779439,
"title": "PRE-ORDER (PO)",
"sku": "BF0125CF_PO",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["PRE-ORDER (PO)"],
"option1": "PRE-ORDER (PO)",
"option2": null,
"option3": null,
"points": null
}, {
"id": 63779440,
"title": "FULL PAYMENT (FP)",
"sku": "BF0125CF_FP",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": null,
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["FULL PAYMENT (FP)"],
"option1": "FULL PAYMENT (FP)",
"option2": null,
"option3": null,
"points": null
}],
"selected_variant": {
"id": 63779439,
"title": "PRE-ORDER (PO)",
"sku": "BF0125CF_PO",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["PRE-ORDER (PO)"],
"option1": "PRE-ORDER (PO)",
"option2": null,
"option3": null,
"points": null
},
"first_available_variant": {
"id": 63779439,
"title": "PRE-ORDER (PO)",
"sku": "BF0125CF_PO",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["PRE-ORDER (PO)"],
"option1": "PRE-ORDER (PO)",
"option2": null,
"option3": null,
"points": null
},
"selected_or_first_available_variant": {
"id": 63779439,
"title": "PRE-ORDER (PO)",
"sku": "BF0125CF_PO",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["PRE-ORDER (PO)"],
"option1": "PRE-ORDER (PO)",
"option2": null,
"option3": null,
"points": null
},
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"secondary_image": {
"alt": "",
"img_url": "",
"src": "",
"type": ""
},
"images": [{
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
}],
"media": [{
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
}],
"featured_media": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"metafields": [],
"expires": null,
"published_at": "2025-04-19T16:25:00.000+08:00",
"created_at": "2025-04-19T16:25:16.000+08:00",
"is_wishlisted": null,
"content": "<link href=\u0027\/assets\/css\/froala_style.min.css\u0027 rel=\u0027stylesheet\u0027 type=\u0027text\/css\u0027\/><div class=\u0027fr-view\u0027><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Release Date:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�Jan 2026<\/span><\/div><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Regular Price:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�25,960 yen<\/span><\/div><div><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><strong>PO End Date:�<\/strong><\/span><span style=\"color: rgb(255, 255, 255); line-height: 18px; font-size: 13px;\"><strong><span style=\"background-color: rgb(184, 49, 47);\">�6 Jun 2025*�<\/span><\/strong><\/span><\/div><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Deposit:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�IDR10122<\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(247, 218, 100); line-height: 18px; font-size: 13px; background-color: rgb(85, 57, 130);\"><strong style=\"font-weight: 700;\">�* PO End Date expired = No Longer Available *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(250, 197, 28); line-height: 18px; font-size: 13px; background-color: rgb(184, 49, 47);\"><strong style=\"font-weight: 700;\">�* Expect To Arrive - 1 - 3 Months After Release Date *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div><\/div>",
"description": "<link href=\u0027\/assets\/css\/froala_style.min.css\u0027 rel=\u0027stylesheet\u0027 type=\u0027text\/css\u0027\/><div class=\u0027fr-view\u0027><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Release Date:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�Jan 2026<\/span><\/div><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Regular Price:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�25,960 yen<\/span><\/div><div><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><strong>PO End Date:�<\/strong><\/span><span style=\"color: rgb(255, 255, 255); line-height: 18px; font-size: 13px;\"><strong><span style=\"background-color: rgb(184, 49, 47);\">�6 Jun 2025*�<\/span><\/strong><\/span><\/div><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Deposit:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�IDR10122<\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(247, 218, 100); line-height: 18px; font-size: 13px; background-color: rgb(85, 57, 130);\"><strong style=\"font-weight: 700;\">�* PO End Date expired = No Longer Available *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(250, 197, 28); line-height: 18px; font-size: 13px; background-color: rgb(184, 49, 47);\"><strong style=\"font-weight: 700;\">�* Expect To Arrive - 1 - 3 Months After Release Date *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div><\/div>",
"meta_description": "Shop srikandi189 online in Malaysia from Shirotoys, Malaysia leading anime figures and board games store. :white_check_mark: Buy srikandi189 at best price now.",
"brands": [],
"tags": [],
"vendor": null,
"collections": [{
"handle": "srikandi189",
"title": "SRIKANDI189: Daftar Login Situs Slot Gacor Maxwin Terpercaya 2025"
}, {
"handle": "srikandi189",
"title": "SRIKANDI189: Daftar Login Situs Slot Gacor Maxwin Terpercaya 2025"
}, {
"handle": "pre-order",
"title": "SRIKANDI189: Daftar Login Situs Slot Gacor Maxwin Terpercaya 2025"
}],
"view_history": {
"product_id": 13760075,
"viewed_at": "2025-04-19T17:21:24.645+08:00"
},
"promotions": []
}
const channel = el.getAttribute("class").split("-").last()
EasyStore.Event.dispatch('products/shared', {
product,
channel
})
}

function onWishlistItemAdded() {
let product = {
"id": 13760075,
"handle": "bunny-garden-rin",
"name": "srikandi189",
"title": "srikandi189",
"url": "https://www.suluhtani.com/",
"price": 10122,
"price_min": "10122.0",
"price_max": "10122.0",
"price_varies": true,
"compare_at_price": 0,
"compare_at_price_min": "0.0",
"compare_at_price_max": "0.0",
"compare_at_price_varies": false,
"available": true,
"options_with_values": [{
"name": "Payment",
"position": 1,
"values": ["PRE-ORDER (PO)", "FULL PAYMENT (FP)"]
}],
"options_by_name": {
"Payment": {
"name": "Payment",
"position": 1,
"values": ["PRE-ORDER (PO)", "FULL PAYMENT (FP)"]
}
},
"options": ["Payment"],
"has_only_default_variant": false,
"sole_variant_id": null,
"variants": [{
"id": 63779439,
"title": "PRE-ORDER (PO)",
"sku": "BF0125CF_PO",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["PRE-ORDER (PO)"],
"option1": "PRE-ORDER (PO)",
"option2": null,
"option3": null,
"points": null
}, {
"id": 63779440,
"title": "FULL PAYMENT (FP)",
"sku": "BF0125CF_FP",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": null,
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["FULL PAYMENT (FP)"],
"option1": "FULL PAYMENT (FP)",
"option2": null,
"option3": null,
"points": null
}],
"selected_variant": {
"id": 63779439,
"title": "PRE-ORDER (PO)",
"sku": "BF0125CF_PO",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["PRE-ORDER (PO)"],
"option1": "PRE-ORDER (PO)",
"option2": null,
"option3": null,
"points": null
},
"first_available_variant": {
"id": 63779439,
"title": "PRE-ORDER (PO)",
"sku": "BF0125CF_PO",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"price": 30000,
"compare_at_price": 0,
"is_enabled": true,
"options": ["PRE-ORDER (PO)"],
"option1": "PRE-ORDER (PO)",
"option2": null,
"option3": null,
"points": null
},
"selected_or_first_available_variant": {
"id": 63779439,
"title": "PRE-ORDER (PO)",
"sku": "BF0125CF_PO",
"taxable": false,
"barcode": null,
"available": true,
"inventory_quantity": 50,
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"price": 10122,
"compare_at_price": 0,
"is_enabled": true,
"options": ["PRE-ORDER (PO)"],
"option1": "PRE-ORDER (PO)",
"option2": null,
"option3": null,
"points": null
},
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"featured_image": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"secondary_image": {
"alt": "Slot Maxwin",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"type": "Images"
},
"images": [{
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
}],
"media": [{
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
}],
"featured_media": {
"id": 86188826,
"alt": "slot gacor",
"img_url": "https://www.suluhtani.com/assets/images/banner1.webp",
"src": "https://www.suluhtani.com/assets/images/banner1.webp",
"height": 1024,
"width": 1024,
"position": 1,
"type": "Images"
},
"metafields": [],
"expires": null,
"published_at": "2025-04-19T16:25:00.000+08:00",
"created_at": "2025-04-19T16:25:16.000+08:00",
"is_wishlisted": null,
"content": "<link href=\u0027\/assets\/css\/froala_style.min.css\u0027 rel=\u0027stylesheet\u0027 type=\u0027text\/css\u0027\/><div class=\u0027fr-view\u0027><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Release Date:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�Jan 2026<\/span><\/div><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Regular Price:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�25,960 yen<\/span><\/div><div><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><strong>PO End Date:�<\/strong><\/span><span style=\"color: rgb(255, 255, 255); line-height: 18px; font-size: 13px;\"><strong><span style=\"background-color: rgb(184, 49, 47);\">�6 Jun 2025*�<\/span><\/strong><\/span><\/div><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Deposit:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�IDR10122<\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(247, 218, 100); line-height: 18px; font-size: 13px; background-color: rgb(85, 57, 130);\"><strong style=\"font-weight: 700;\">�* PO End Date expired = No Longer Available *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(250, 197, 28); line-height: 18px; font-size: 13px; background-color: rgb(184, 49, 47);\"><strong style=\"font-weight: 700;\">�* Expect To Arrive - 1 - 3 Months After Release Date *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div><\/div>",
"description": "<link href=\u0027\/assets\/css\/froala_style.min.css\u0027 rel=\u0027stylesheet\u0027 type=\u0027text\/css\u0027\/><div class=\u0027fr-view\u0027><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Release Date:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�Jan 2026<\/span><\/div><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Regular Price:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�25,960 yen<\/span><\/div><div><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><strong>PO End Date:�<\/strong><\/span><span style=\"color: rgb(255, 255, 255); line-height: 18px; font-size: 13px;\"><strong><span style=\"background-color: rgb(184, 49, 47);\">�6 Jun 2025*�<\/span><\/strong><\/span><\/div><div><strong style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">Deposit:<\/strong><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\">�IDR10122<\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(247, 218, 100); line-height: 18px; font-size: 13px; background-color: rgb(85, 57, 130);\"><strong style=\"font-weight: 700;\">�* PO End Date expired = No Longer Available *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><br><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(184, 49, 47); line-height: 18px; font-size: 13px;\"><span style=\"line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(34, 34, 34); line-height: 18px; font-size: 13px;\"><span style=\"color: rgb(250, 197, 28); line-height: 18px; font-size: 13px; background-color: rgb(184, 49, 47);\"><strong style=\"font-weight: 700;\">�* Expect To Arrive - 1 - 3 Months After Release Date *�<\/strong><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/div><\/div>",
"meta_description": "Shop srikandi189 online in Malaysia from Shirotoys, Malaysia leading anime figures and board games store. :white_check_mark: Buy srikandi189 at best price now.",
"brands": [],
"tags": [],
"vendor": null,
"collections": [{
"handle": "srikandi189",
"title": "SRIKANDI189: Daftar Login Situs Slot Gacor Maxwin Terpercaya 2025"
}, {
"handle": "srikandi189",
"title": "SRIKANDI189: Daftar Login Situs Slot Gacor Maxwin Terpercaya 2025"
}, {
"handle": "pre-order",
"title": "SRIKANDI189: Daftar Login Situs Slot Gacor Maxwin Terpercaya 2025"
}],
"view_history": {
"product_id": 13760075,
"viewed_at": "2025-04-19T17:21:24.645+08:00"
},
"promotions": []
}
const quantity = _selector("#Quantity").value
EasyStore.Event.dispatch('wishlists/item_added', {
product
})
}
async function onCartItemsAdded() {
const cart = await getCart()
if (cart && cart.items != && cart.items.length > 0) {
EasyStore.Event.dispatch('carts/item_added', {
cart
})
}
}
async function onCartView() {
const cart = await getCart()
EasyStore.Event.dispatch('carts/viewed', {
cart
})
}
async function onCartItemRemoved() {
const cart = await getCart()
cart.items = []
if (cart) {
EasyStore.Event.dispatch('carts/item_removed', {
cart
})
}
}
async function onCheckoutInitiate() {
const cart = await getCart()
EasyStore.Event.dispatch('checkouts/initiated', {
cart
})
}
async function onShippingInfoAdded(foIDR) {
let checkout = getCheckout()
let foIDR_data = {}
new FoIDRData(foIDR).forEach((value, key) => foIDR_data[key] = value)
let shipping_tier = null
if (foIDR_data.type && foIDR_data.type.startsWith("r_pickup")) {
shipping_tier = `Pickup - ${foIDR_data.pick_location}`
}
if (foIDR_data.s_id) {
shipping_tier = _selector(`input[id='` + foIDR_data.s_id + `']`).getAttribute("data-shipping-name")
}
if (!shipping_tier) return
EasyStore.Event.dispatch('checkouts/shipping_info_added', {
checkout,
shipping_tier
})
}
async function onPaymentInfoAdded(foIDR) {
let checkout = getCheckout()
let payment_type = new FoIDRData(foIDR).get('payment_method')
EasyStore.Event.dispatch("checkouts/payment_info_added", {
checkout,
payment_type
})
}
async function onOrderPlace() {
let cart_token = getCookie("cart_js")
let previous_cart_token = getCookie("previous_cart_ga4_js")
if (previous_cart_token && previous_cart_token == cart_token) {
// Prevent duplicate purchase tracking
return
}
let order = getOrder()
EasyStore.Event.dispatch('orders/placed', {
order
})
if (order.is_manual_payment) {
EasyStore.Event.dispatch('orders/purchased', {
order
})
}
const last_transaction = order.transactions.last()
if (last_transaction.status) {
EasyStore.Event.dispatch('orders/purchased', {
order
})
EasyStore.Event.dispatch('payments/captured', {
order
})
}
}
async function onPaymentFail() {
const order = getOrder()
EasyStore.Event.dispatch('payments/failed', {
order
})
}
async function onCheckoutComplete(foIDR) {
onPaymentInfoAdded(foIDR)
const checkout = getCheckout()
EasyStore.Event.dispatch('checkouts/completed', {
checkout
})
}
async function onSinglePageCheckout() {
// let checkout = $("[data-app-checkout]").data("app-checkout")
let checkout = getCheckout()
// const payment_type = _selector("#app_spc_payment_method").find(`[class*="label-content"]`).first().find("b").first().text()
const payment_type = _selector("#app_spc_payment_method").getElementsByClassName('label-content')[0].getElementsByTagName('b')[0].innerHTML
const shipping_method = _selector("#delivery_method").value
let shipping_tier = null
let app_spc_customer_info_label = _selector("#app_spc_customer_info").getElementsByClassName('label-content')
if (shipping_method == "shipping") {
shipping_tier = app_spc_customer_info_label[app_spc_customer_info_label.length - 1].getElementsByTagName('b')[0].innerHTML
}
if (shipping_method == "pickup") {
shipping_tier = app_spc_customer_info_label[0].innerHTML
}
if (shipping_tier) {
EasyStore.Event.dispatch('checkouts/shipping_info_added', {
checkout,
shipping_tier,
})
}
if (payment_type) {
EasyStore.Event.dispatch('checkouts/payment_info_added', {
checkout,
payment_type,
})
}
EasyStore.Event.dispatch('checkouts/completed', {
checkout
})
}
})
//-----------------------//
// Functions //
//-----------------------//
function getCookie(name) {
name += "="
decodedCookie = decodeURIComponent(document.cookie)
ca = decodedCookie.split(";")
for (i = 0; i < ca.length; i++) {
c = ca[i]
while (c.charAt(0) == " ") {
c = c.substring(1)
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length)
}
}
return ""
}
const parsePrice = price => {
if (typeof price === 'string') {
return parseFloat(price.split(',').join(''))
}
return price
}
const requestCart = async (method, data) => {
let response = await fetch('https://srikandi189x.ink/.json', {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
})
result = await response.json()
return result.cart
}
const getCart = async (latest = false) => {
let cart = window.__latest_cart
const cart_invalid = !cart || !cart.items || (cart.total_price > 0 && !cart.items.length)
if (latest || cart_invalid) {
cart = await requestCart()
}
cart.items = cart.items || []
return mapCart(cart)
}
const getCheckout = async () => {
mapCheckout(window.__latest_cart || await requestCart())
}
const getOrder = async () => {
mapOrder(window.__latest_cart || await requestCart())
}
//-----------------------//
// Mappers //
//-----------------------//
const fallbackAttribute = (object, attribute) => {
if (!Array.isArray(attribute)) {
attribute = [attribute]
}
let final_value = null
do {
final_value = object[attribute.shift()]
} while (!final_value && attribute.length)
return final_value
}
const map = (object, mapper) => {
const newObject = {}
for (const key in mapper) {
// Handle different keys between new and old foIDRat
newObject[key] = fallbackAttribute(object, mapper[key])
// Cast price to float
if (newObject[key] && ['price', 'amount', 'discount', 'discounts'].some(x => key.endsWith(x))) {
newObject[key] = parsePrice(newObject[key])
}
if (newObject[key] === ) {
delete newObject[key]
}
}
return newObject
}
const mapCart = cart => {
const oldCart = cart
const mapper = {
id: 'id',
currency: 'currency',
item_count: 'item_count',
items: 'items',
total_price: 'total_price',
latest_items: 'latest_items'
}
cart = map(cart, mapper)
const discounts = (oldCart.storewide_discounts || []).concat((oldCart.voucher_discounts || []))
cart.discount_applications = discounts.map(discount => ({
title: discount.voucher_code || null,
value: parsePrice(discount.amount),
}))
cart.original_total_price = cart.items.length ? cart.items.map(item => item.original_price).reduce((sum, price) => sum + price) : 0
cart.total_discount = cart.discount_applications.length ? cart.discount_applications.map(discount => parsePrice(discount.value)).reduce((sum, value) => sum + value) : 0
cart.items = cart.items.map(item => mapLineItem(item))
return cart
}
const mapCheckout = checkout => {
const mapper = {
note: 'note',
attributes: 'note_attributes',
billing_address: 'billing_address',
currency: 'currency',
customer_id: 'customer_id',
discounts_amount: 'total_discount',
id: 'id',
line_items: 'order_item',
order_number: 'order_number',
shipping_address: 'shipping_address',
shipping_price: 'shipping_tax',
shipping_method: 'shipping_method_name',
tax_price: 'total_tax',
}
checkout = map(checkout, mapper)
checkout.requires_shipping = checkout.line_items.some(item => item.shipping_required)
checkout.line_items = checkout.line_items.map(item => mapLineItem(item))
return checkout
}
const mapOrder = order => {
const mapper = {
attributes: 'note_attributes',
billing_address: 'billing_address',
cancelled: 'is_cancelled',
cancelled_at: 'cancelled_at',
created_at: 'created_at',
customer_id: 'customer_id',
// discount_applications: 'discount_applications',
email: 'email',
financial_status: 'financial_status',
fulfillment_status: 'fulfillment_status',
line_items: 'order_item',
note: 'note',
order_number: 'order_number',
phone: 'phone',
shipping_address: 'shipping_address',
shipping_methods: 'shipping_methods',
shipping_price: 'total_shipping',
subtotal_price: 'subtotal_price',
// tax_lines: 'tax_lines',
tax_price: 'total_tax',
total_discounts: 'total_discount',
total_net_amount: 'total_amount_include_transaction',
total_price: 'total_price',
transactions: 'transaction_records',
is_manual_payment: 'is_manual_payment',
}
order.email = order.billing_address.email
order.phone = order.billing_address.phone
order.shipping_method = order.shipping_method_name
order = map(order, mapper)
order.line_items = order.line_items.map(item => mapLineItem(item))
order.transactions = order.transactions.map(transaction => mapTransaction(transaction))
return order
}
const mapLineItem = line_item => {
const old_line_item = line_item
const mapper = {
final_price: 'price',
image: 'img_url',
message: 'message',
original_line_price: 'original_line_price',
original_price: 'original_price',
properties: 'properties',
quantity: 'quantity',
requires_shipping: 'shipping_required',
sku: 'sku',
taxable: 'taxable',
title: 'product_name',
product_name: 'product_name',
url: 'url',
product_id: 'product_id',
variant_id: 'variant_id',
id: ['id', 'i_id'],
}
line_item = map(line_item, mapper)
line_item.product_id = line_item.product_id || (old_line_item.product && old_line_item.product.id) || null
line_item.variant_id = line_item.variant_id || (old_line_item.variant && old_line_item.variant.id) || null
line_item.image = line_item.image || (old_line_item.image && old_line_item.image.url) || null
return line_item
}
const mapTransaction = transaction => {
const mapper = {
amount: 'amount',
created_at: 'created_at',
gateway: 'gateway_type',
id: 'id',
status: 'status',
}
transaction = map(transaction, mapper)
return transaction
}

</script>
</body>
<!-- /Snippet -->
<!-- Snippet:global/body_start: Console Extension -->
</html>

Ads.Txt Alerts - A trading name of Red Volcano Limited

Waterloo Buildings, Second Floor Rear, 53 London Road, Southampton, Hampshire, United Kingdom, SO15 2AD

© Red Volcano 2020. All Rights Reserved.