404
404

404 Page Not Found

Oops! The page you're looking for is on vacation. It seems we couldn't find what you were searching for.

Go To Home
// Global comparison handler function addToCompare(productId, btn) { let $btn = $(btn); let icon = $btn.find('i'); let isCustomer = ''; if (isCustomer) { axios.post('https://dollar-king.net/api/compare-items', { 'product_id': productId }, { headers: { 'X-CSRF-TOKEN': 'QnUT2UMhUV9yiyq81p1E3jRJrkbCR1PMyuUrktqd' } }) .then(response => { let message = response.data.message || (response.data.data && response.data.data.message) || response.data.data; if (typeof message === 'object') message = message.message || JSON.stringify(message); window.Bagisto.EventEmitter.emit('add-flash', { type: 'success', message: message }); // Toggle color logic $btn.toggleClass('active blue-color'); if ($btn.hasClass('active')) { $btn.css('background', '#007bff').css('color', '#fff'); } else { $btn.css('background', '').css('color', ''); } }) .catch(error => { if (error.response && [400, 422].includes(error.response.status)) { let message = error.response.data.message || (error.response.data.data && error.response.data.data.message) || error.response.data.data; if (typeof message === 'object') message = message.message || JSON.stringify(message); window.Bagisto.EventEmitter.emit('add-flash', { type: 'warning', message: message }); // If already added, maybe highlight it? $btn.addClass('active blue-color').css('background', '#007bff').css('color', '#fff'); return; } console.error('Compare Error:', error); }); } else { // Guest Logic using localStorage let items = JSON.parse(localStorage.getItem('compare_items') || '[]'); if (items.includes(productId)) { // Remove if already exists (toggle off) items = items.filter(id => id !== productId); localStorage.setItem('compare_items', JSON.stringify(items)); // Sync with session axios.post('https://dollar-king.net/api/compare-items', { '_method': 'DELETE', 'product_id': productId }); window.Bagisto.EventEmitter.emit('add-flash', { type: 'info', message: "shop::app.components.products.card.remove-success" }); $btn.removeClass('active blue-color').css('background', '').css('color', ''); } else { // Add (toggle on) items.push(productId); localStorage.setItem('compare_items', JSON.stringify(items)); // Sync with session axios.post('https://dollar-king.net/api/compare-items', { 'product_id': productId }); window.Bagisto.EventEmitter.emit('add-flash', { type: 'success', message: "Item added successfully to compare list." }); $btn.addClass('active blue-color').css('background', '#007bff').css('color', '#fff'); } } } // Global wishlist handler function addToWishlist(productId, btn) { let $btn = $(btn); let isCustomer = ''; if (!isCustomer) { window.location.href = "https://dollar-king.net/customer/login"; return; } axios.post(`https://dollar-king.net/api/customer/wishlist`, { product_id: productId }, { headers: { 'X-CSRF-TOKEN': 'QnUT2UMhUV9yiyq81p1E3jRJrkbCR1PMyuUrktqd' } }) .then(response => { let message = response.data.message || (response.data.data && response.data.data.message) || response.data.data; if (typeof message === 'object') message = message.message || JSON.stringify(message); window.Bagisto.EventEmitter.emit('add-flash', { type: 'success', message: message }); $btn.toggleClass('wishlist-active active'); if ($btn.hasClass('active')) { $btn.css('background', '#e74c3c').css('color', '#fff'); } else { $btn.css('background', '').css('color', ''); } }) .catch(error => { console.error('Wishlist Error:', error); }); } // Global Toast/Flash Message Listener window.Bagisto.EventEmitter.on('add-flash', function(flash) { if (typeof showToast === 'function') { showToast(flash.message, flash.type || 'success'); } }); function showToast(message, type) { var $container = $('#toast-container'); var bg = type === 'success' ? '#6fb31a' : '#f43a37'; var icon = type === 'success' ? 'ri-checkbox-circle-line' : 'ri-error-warning-line'; var toastId = 'toast-' + Date.now(); var toastHtml = `
${message}
`; $container.append(toastHtml); setTimeout(function() { $('#' + toastId).css('transform', 'translateX(0)'); }, 10); setTimeout(function() { var $toast = $('#' + toastId); $toast.css('transform', 'translateX(120%)'); setTimeout(function() { $toast.remove(); }, 300); }, 5000); } // Trigger toasts from session flashes and validation errors $(document).ready(function() { }); var cartApiUrl = "https://dollar-king.net/api/checkout/cart"; var cartUpdateUrl = "https://dollar-king.net/api/checkout/cart"; var cartDestroyUrl = "https://dollar-king.net/api/checkout/cart"; var csrfToken = 'QnUT2UMhUV9yiyq81p1E3jRJrkbCR1PMyuUrktqd'; var placeholderImg = "https://dollar-king.net/themes/shop/dollar-king/build/images/placeholder.png"; function syncCartCount(count) { count = count || 0; $('.cart-count').text(count); $('.cart-fab-count').text(count); $('#cart-drawer-count').text(count); } function openCartDrawer() { $('#cart-drawer, #cart-drawer-overlay').addClass('open'); $('body').addClass('cart-drawer-opened').css('overflow', 'hidden'); $('#cart-fab, .cart-fab').hide(); fetchCartDrawer(); } function closeCartDrawer() { $('#cart-drawer, #cart-drawer-overlay').removeClass('open'); $('body').removeClass('cart-drawer-opened').css('overflow', ''); $('#cart-fab, .cart-fab').show(); } // Close on Escape key $(document).on('keydown', function(e) { if (e.key === 'Escape') closeCartDrawer(); }); function fetchCartDrawer() { var $body = $('#cart-drawer-body'); var $footer = $('#cart-drawer-footer'); $body.html('
'); $footer.hide(); $.ajax({ url: cartApiUrl, type: 'GET', success: function(response) { renderCartItems(response.data); }, error: function() { $body.html('

Unable to load cart.

'); } }); } function renderCartItems(cart) { var $body = $('#cart-drawer-body'); var $footer = $('#cart-drawer-footer'); if (!cart || !cart.items || cart.items.length === 0) { $body.html( '
' + '' + '

Your cart is empty.

' + 'Shop Now' + '
' ); syncCartCount(0); $footer.hide(); return; } var count = cart.items_count || cart.items.length; syncCartCount(count); var html = ''; $.each(cart.items, function(i, item) { var imgSrc = (item.base_image && item.base_image.small_image_url) ? item.base_image.small_image_url : placeholderImg; html += `
${item.name}
${item.formatted_total}
${item.quantity}
`; }); $body.html(html); var subtotal = cart.formatted_sub_total || cart.formatted_grand_total || ''; $('#cart-drawer-subtotal').text(subtotal); $footer.show(); } function updateCartItem(itemId, newQty) { if (newQty < 1) { removeCartItem(itemId); return; } var data = { qty: {} }; data.qty[itemId] = newQty; axios.put(cartUpdateUrl, data) .then(function(response) { renderCartItems(response.data.data); }) .catch(function(error) { console.error('Failed to update cart:', error); fetchCartDrawer(); }); } function removeCartItem(itemId) { axios.delete(cartDestroyUrl, { data: { cart_item_id: itemId } }) .then(function(response) { renderCartItems(response.data.data); }); } function escapeHtml(text) { if (!text) return ''; return $('
').text(text).html(); } // Listen for add-to-cart events to refresh drawer count window.Bagisto.EventEmitter.on('update-mini-cart', function(cart) { if (cart) { syncCartCount(cart.items_count || 0); } });