تشک خنک کننده حیوان خانگی

9000 IQD

Qty:

جزئیات

❄️خنک و راحت: لایه داخلی این تشک خنک‌کننده حیوانات خانگی از ژل پلیمری ۱۰۰٪ غیرسمی ساخته شده است که امکان استفاده بدون آب، برق یا یخچال را فراهم می‌کند. این تشک به طور موثر گرما را از حیوان خانگی شما جذب و به سرعت دفع می‌کند و پس از استفاده، خنک‌کنندگی فوری را فراهم می‌کند. این تشک در روزهای گرم تابستان، خنک‌کنندگی فوری و مداوم را برای دوستان پشمالوی شما فراهم می‌کند و آنها را خنک و راحت نگه می‌دارد.



❄️ایمن و غیرسمی: لایه داخلی این تشک خنک‌کننده سگ از ژل پلیمری غیرسمی ساخته شده است که برای حیوانات خانگی، کودکان و بزرگسالان بی‌ضرر و بی‌خطر است و آنها را برای مدت طولانی خنک نگه می‌دارد. تشک خنک‌کننده سگ نرم و راحت است و پرکننده ژل پلیمری مقاوم در برابر فشار و ضد نشت است و دوام بالایی دارد. لطفاً توجه داشته باشید که ژل خنک‌کننده حیوانات خانگی نباید بلعیده شود. ❄️ بادوام و تمیز کردن آسان: لایه بیرونی این تشک خنک‌کننده سگ از پارچه کامپوزیت پلی‌استر و تافته ضخیم ساخته شده است که نرمی خود را حفظ کرده و به طور موثر از خراشیدن توسط حیوانات خانگی جلوگیری می‌کند. سطح این تشک خنک‌کننده حیوانات خانگی با یک لایه ضد آب و ضد خش پوشانده شده است که مراقبت از آن را آسان می‌کند. کافیست آن را با یک پارچه یا برس نرم تمیز کنید، سپس با آب بشویید. پس از خشک شدن، لطفاً آن را به جای خشکی منتقل کنید.



❄️چند منظوره و قابل حمل: این تشک خود خنک‌کننده برای حیوانات خانگی یا استفاده انسان مناسب است. می‌توانید آن را در تخت یا قفس سگ خود قرار دهید. همچنین می‌توان از آن روی زمین، مبل یا سایر مبلمان استفاده کرد. علاوه بر این، تشک خود خنک‌کننده به عنوان یک کوسن صندلی در صندلی عقب ماشین یا جاهای دیگر مناسب است. تشک خود خنک‌کننده تاشو و حمل آن آسان است. برای استفاده در داخل و خارج از منزل، در سایه یا هنگام سفر بسیار مناسب است. ❄️اندازه‌های مختلف موجود: برای تناسب با نژادهای مختلف سگ و مناسبت‌ها، این تشک ژلی خودخنک‌کننده در چهار اندازه عرضه می‌شود: خیلی بزرگ: ۵۰*۹۰ سانتی‌متر / ۲۰*۳۵ اینچ، بزرگ: ۵۰*۶۵ سانتی‌متر / ۲۰*۲۵ اینچ، متوسط: ۴۰*۵۰ سانتی‌متر / ۱۵*۱۹ اینچ، کوچک: ۳۰*۴۰ سانتی‌متر / ۱۲-۱۵ اینچ. مناسب برای گربه‌ها و سگ‌های کوچک، متوسط ​​و بزرگ، این محصول یک هدیه تابستانی عالی برای حیوانات خانگی است. { Alpine.data("productDetails", () => ({ productId: '13454', error: false, auth: false, isLoading: false, quantity: 0, cartId: null, isInCart: false, showSizeTooltip: false, tooltipX: 0, tooltipY: 0, init() { if (this.auth) { this.fetchCart(); } // Listen for cart updates from other components this.$watch('quantity', (value) => { this.isInCart = value > 0; }); }, async addToCart() { // Check if user is authenticated if (!'') { window.dispatchEvent(new CustomEvent('open-auth-modal')); return; } await this.createOrUpdateCart(1); }, async increaseQuantity() { const newQuantity = this.quantity + 1; await this.updateQuantity(this.productId, newQuantity); }, async decreaseQuantity() { const newQuantity = this.quantity - 1; await this.updateQuantity(this.productId, newQuantity); }, // Creates cart for the first time or updates existing cart async createOrUpdateCart(initialQuantity = 1) { this.isLoading = true; try { const response = await fetch('/carts/store', { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', 'X-Requested-With': 'XMLHttpRequest', 'X-CSRF-TOKEN': document.querySelector( 'meta[name="csrf-token"]').getAttribute( 'content') }, body: JSON.stringify({ product_id: this.productId, quantity: initialQuantity }) }); const data = await response.json(); if (response.ok) { this.quantity = initialQuantity; this.showNotification(data.message || `${this.productName} added to cart!`, 'success'); } else { this.showNotification(data.message || 'Failed to add to cart!', 'error'); throw new Error('Failed to add to cart.'); } } catch (error) { console.error('Error creating/updating cart:', error); this.showNotification('Failed to add to cart. Please try again.', 'error'); } finally { this.isLoading = false; } }, // Updates the quantity of an item async updateQuantity(itemId, quantity) { // Basic validation if (quantity < 1) { // If user enters 0 or less, treat it as a remove action await this.removeItem(itemId); return; } this.isLoading = true; try { const response = await fetch(`/carts/product/${itemId}`, { method: 'PATCH', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', 'X-Requested-With': 'XMLHttpRequest', 'X-CSRF-TOKEN': document.querySelector( 'meta[name="csrf-token"]').getAttribute( 'content') }, body: JSON.stringify({ quantity: quantity }) }); const data = await response.json(); console.log(data); if (response.ok) { // Update local state // window.cartManager.setQuantity(itemId, quantity); this.quantity = quantity; if (quantity === 0) { this.showNotification(data.message || 'Item removed from cart!', 'info'); } else { this.showNotification(data.message || 'Quantity updated!', 'success'); } } else { this.showNotification(data.message || 'Failed to update quantity!', 'error'); // throw new Error('Failed to update quantity.'); } } catch (error) { console.error('Error updating quantity:', error); this.showNotification('Failed to update quantity. Please try again.', 'error'); // Refresh local state from server if needed await this.fetchCart(); } finally { this.isLoading = false; } }, // Remove item from cart async removeItem(itemId) { this.isLoading = true; try { const response = await fetch(`/carts/product/${itemId}`, { method: 'DELETE', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', 'X-Requested-With': 'XMLHttpRequest', 'X-CSRF-TOKEN': document.querySelector( 'meta[name="csrf-token"]').getAttribute( 'content') } }); const data = await response.json(); if (response.ok) { // Update local state // window.cartManager.setQuantity(itemId, 0); this.quantity = 0; this.showNotification(data.message || 'Item removed from cart!', 'success'); } else { this.showNotification(data.message || 'Failed to remove item!', 'error'); throw new Error('Failed to remove item.'); } } catch (error) { console.error('Error removing item:', error); this.showNotification('Failed to remove item. Please try again.', 'error'); } finally { this.isLoading = false; } }, // Fetch current cart state from server (for consistency) async fetchCart() { try { const response = await fetch('/carts/index', { method: 'GET', headers: { 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest', } }); const data = await response.json(); if (response.ok && data.data.cart) { // Update local cart state const newCart = {}; data.data.cart.forEach(item => { newCart[item.product_id] = item.quantity; }); // Update this component's quantity this.quantity = newCart[this.productId] || 0; if (this.quantity > 0) { this.isInCart = true; } this.cartId = data.data.cart.id; } } catch (error) { console.error('Error fetching cart:', error); } }, updateTooltipPosition(event) { this.tooltipX = event.pageX + 14; this.tooltipY = event.pageY + 14; }, showNotification(message, type = 'info') { setTimeout(() => { setTimeout(() => { if (typeof notify !== 'undefined') { notify(message, type); } else { console.log(`${type.toUpperCase()}: ${message}`); } }, 300); }); }, })) })

دوباره خوش آمدید ایجاد حساب کاربری

با شماره تلفن خود وارد شوید ثبت‌نام خود را تکمیل کنید

شماره تلفن معتبر
شماره تلفن نامعتبر

کد تایید ارسال شده به

این شماره تلفن برای حساب کاربری شما استفاده خواهد شد

من موافقم که پت‌لند آنلاین ممکن است بیکن‌های تحلیلی وب را در خبرنامه وارد کند و بر اساس رفتار خرید و استفاده من، یک پروفایل کاربری شخصی‌سازی شده ایجاد کند، که شامل ارسال اعلان در زمانی که کالایی را در سبد خرید قرار داده‌ام نیز می‌شود. جزئیات بیشتر را می‌توان در سیاست حفظ حریم خصوصی ما، بند ۵، یافت. می‌دانم که می‌توانم رضایت خود را در هر زمان با ارسال ایمیل به [email protected] لغو کنم.