27000 IQD

Qty:

جزئیات





immiq is an easy way to ensure the safety of your dog, pedestrians and cyclists.

Why an illuminated leash?

Over the past few years, safety and visibility have become very important to people when enjoying the outdoors. This has led to increased demand for products that promote these things. Now you rarely see runners without reflective clothing or cyclists without lights and helmets.

At late evenings or at night, especially in rainy weather, a dog leash is almost impossible to see, even if the dogs and their owners are equipped with flashing lights. Because a retractable leash gives a dog the freedom to move around, it can be dangerous when runners and cyclists attempt to pass.

Benefits

Specifications

How to use

Qimmiq is as easy to use as any other retractable leash

Now your dog can safely enjoy the outdoors!

Qimmiq allows dogs to enjoy their freedom regardless of the weather or visibility conditions.

The Story Behind Qimmiq

When walking with my dog, I was constantly dodging and making way for cyclists, and my friends did the same. Then one rainy autumn evening, we had a close call. While we were out, two cyclists approached us very quickly in both directions, but none of us could see each other until it was almost too late. Fortunately no one was hurt, but it left a lasting impression on my mind.

A few months later, while thinking about the incident, inspiration struck me. An illuminated dog leash! “Eureka!” I shouted. My dog looked at me like I had gone crazy. I told a colleague about it the next day and he loved the idea. We immediately started to plan the project. With that, our company was born, taking the retractable leash to the next level.

Wishing you safe and pleasant outdoor activities with your loved ones,

Hanna


Made in Finland


https://qimmiq.fi/

    { Alpine.data("productDetails", () => ({ productId: '5187', 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] لغو کنم.