• Åbent køb i 30 dage
  • Sikker levering til enhver postagent
  • Kun 59kr i fragt

Solhat med bred skygge

170,99 DKK

Solhatt med brett, vågigt brätte i ljusbeige och svart band. Klassisk sommarstil för semester och lediga dagar.
Læs mere

B740

  • Åbent køb i 30 dage
  • Sikker levering til enhver postagent
  • Kun 59kr i fragt

Solhat med bred skygge.

En rigtig elegant haft med ekstra brett brætte rundtom en rund krona. Hatten er som hentet fra 1900-talets begyndelse og dess elegante opklædda damer.

En rigtig stilsættere som samtidig hjælper dig med at holde solens stråler fra dit ansigt og dine øjne.

  •      100% højkvalitativ papirstrå
  •      En størrelse
  •      Svettbånd i 100% polyester


istener("DOMContentLoaded", function () { // === LANGUAGE-BASED PLACEHOLDER === const LOCALE = window.config.locale; const inputField = document.querySelector(".center input"); const SV_placeholders = [ "Sök efter herrkläder...", "Sök efter damkläder...", "Sök efter barnkläder...", "Sök efter coola t-shirts...", "Sök efter roliga tryck...", ]; const EN_placeholders = [ "Search for men's clothing...", "Search for women's clothing...", "Search for children's clothing...", "Search for cool t-shirts...", "Search for fun prints...", ]; const DA_placeholders = [ "Søg efter herretøj...", "Søg efter dametøj...", "Søg efter børnetøj...", "Søg efter fede t-shirts...", "Kig efter sjove prints...", ]; let textIndex = 0; let charIndex = 0; let isDeleting = false; const typingSpeed = 100; const deletingSpeed = 50; const pauseTime = 2000; function typePlaceholder() { const placeholders = LOCALE === 'sv' ? SV_placeholders : LOCALE === 'da' ? DA_placeholders : EN_placeholders; const currentText = placeholders[textIndex]; const words = currentText.split(" "); const staticPart = words.slice(0, -1).join(" "); const changingWord = words[words.length - 1]; if (isDeleting) { charIndex--; } else { charIndex++; } const animatedWord = changingWord.substring(0, charIndex); const newPlaceholder = (staticPart + " " + animatedWord).trim(); if (inputField) inputField.setAttribute("placeholder", newPlaceholder); if (!isDeleting && charIndex === changingWord.length) { isDeleting = true; setTimeout(typePlaceholder, pauseTime); } else if (isDeleting && charIndex === 0) { isDeleting = false; textIndex = (textIndex + 1) % placeholders.length; setTimeout(typePlaceholder, 500); } else { setTimeout(typePlaceholder, isDeleting ? deletingSpeed : typingSpeed); } } if (document.getElementById('search-container')) { // typePlaceholder(); } // === COUNTDOWN TO SHIPMENT === if (document.querySelector('header .container .right')) { const rightEl = document.querySelector('header .container .right'); const actionsEl = document.querySelector('header .container .right .actions'); const countDown = document.createElement('div'); countDown.className = 'countdown__wrap'; rightEl.insertBefore(countDown, actionsEl); const mainEl = document.querySelector('.countdown__wrap'); const countDownEl = document.createElement('p'); countDownEl.id = "count-down"; mainEl.appendChild(countDownEl); function startCountdown(targetHour = 14, targetMinute = 0, targetSecond = 0) { if (window.innerWidth < 1023) return; function updateCountdown() { const now = new Date(); let targetTime = new Date(); targetTime.setHours(targetHour, targetMinute, targetSecond, 0); if (targetTime <= now) { targetTime.setDate(targetTime.getDate() + 1); } const diff = targetTime - now; const hours = String(Math.floor(diff / (1000 * 60 * 60))); const minutes = String(Math.floor((diff / (1000 * 60)) % 60)); const seconds = String(Math.floor((diff / 1000) % 60)).padStart(2, '0'); const deliveryTexts = { sv: (h, m, s) => `Nästa leverans ${h}h, ${m} min, ${s} sek`, en: (h, m, s) => `Next delivery in ${h}h, ${m} min, ${s} sec`, da: (h, m, s) => `Næste levering ${h}t, ${m} min, ${s} sek` }; countDownEl.textContent = deliveryTexts[LOCALE]?.(hours, minutes, seconds) || ''; } updateCountdown(); setInterval(updateCountdown, 1000); } startCountdown(); } // === CHANGE LOGO IF LOCALE IS en/da === if ((LOCALE === 'en' || LOCALE === 'da') && document.querySelector('.brand')) { const logo = document.querySelector('.brand img'); const footerLogo = document.getElementById('footerLogo'); const logoSrc = 'https://nyehandel-storage.s3.eu-north-1.amazonaws.com/store_0d9fe3ba-c480-4768-b5de-e08db37dbbe2/files/media/odd-sailor.png'; if (logo) logo.src = logoSrc; if (footerLogo) footerLogo.src = logoSrc; } // === PRODUCT GRID SWITCHING === if (document.querySelector('.category-sort')) { const productGrid = document.getElementById('category-products'); const storedGrid = localStorage.getItem('productGrid'); if (!storedGrid) { localStorage.setItem('productGrid', 'col-m'); productGrid.dataset.grid = 'col-m'; } else { productGrid.dataset.grid = storedGrid; } const mainEl = document.querySelector('.category-sort'); const buttonsEl = [ { icon: ``, dataSet: 'col-s' }, { icon: ``, dataSet: 'col-m' }, { icon: ``, dataSet: 'col-l' } ]; const buttonsWrapper = document.createElement('div'); buttonsWrapper.classList.add('layout-buttons__wrap'); buttonsEl.forEach(({ icon, dataSet }) => { const btn = document.createElement('button'); btn.className = 'layout-button'; btn.innerHTML = icon; btn.addEventListener('click', () => { localStorage.setItem('productGrid', dataSet); productGrid.dataset.grid = dataSet; }); buttonsWrapper.appendChild(btn); }); if (mainEl && mainEl.children.length >= 2) { mainEl.insertBefore(buttonsWrapper, mainEl.children[1]); } else { mainEl.appendChild(buttonsWrapper); } } // === TOPBAR USP SWIPING === setTimeout(() => { const topbarUSP = document.querySelector('.topbar-usp ul'); if (!topbarUSP) return; const len = topbarUSP.children.length; topbarUSP.querySelectorAll("li").forEach(li => { li.classList.add(`swipe--${len}`); }); }, 200); setTimeout(() => { if(document.querySelector('.collection-carousel')) { function addDiscountLabels() { // Find all product cards with price information const priceElements = document.querySelectorAll('.collection-carousel-cell .price'); priceElements.forEach(priceElement => { console.log('foreach'); // Check if this price element has both comparison price and discounted price const comparisonSpan = priceElement.querySelector('.comparison'); if(comparisonSpan) { // Extract original price from comparison span const originalPriceText = comparisonSpan.textContent.trim(); const originalPrice = parseFloat(originalPriceText.replace(' kr', '').replace(',', '.')); // Extract discounted price from the text content const fullPriceText = priceElement.textContent; const discountedPriceText = fullPriceText.split('\n')[1]?.trim(); const discountedPrice = parseFloat(discountedPriceText.replace(' kr', '').replace(',', '.')); if(originalPrice && discountedPrice && originalPrice > discountedPrice) { // Calculate discount percentage (no decimals) const discountPercentage = Math.round(((originalPrice - discountedPrice) / originalPrice) * 100); // Check if discount label already exists if(!priceElement.querySelector('.discount-label')) { // Create discount label const discountLabel = document.createElement('span'); discountLabel.className = 'discount-label'; discountLabel.textContent = `-${discountPercentage}%`; // Add some basic styling discountLabel.style.cssText = ` background-color: #e74c3c; color: white; padding: 2px 6px; border-radius: 3px; font-size: 12px; font-weight: bold; display: inline-block; position: absolute; top: 0; left: 0; `; // Add the label to the price element priceElement.appendChild(discountLabel); } } } }); } addDiscountLabels() } }, 1000) });