Free shipping worldwide over $50
Document
LIMITED TIME OFFER
MIN
00
00
00

Baseball Cap

buy now

Foldable Ear
Warmers

Perfect Outdoor
Companion!

This hat is suitable for wearing in various weather conditions,
keeping your head warm without feeling stuffy.

  • Side decorative
    buckle
  • Sturdy wide
    brim
  • Fleece-lined
    for warmth

Stay Stylish,
Stay Protected

A hat with two wearing styles, featuring built-in ear protection.
When it's cold, you can flip it down to say goodbye to the chill!

  • Daily Winter Warmth
    Wearing Tips
  • Ear Protection for
    Windy, Snowy Days
BUY NOW

High-quality PU
Leather

Made of high-quality PU leather, it is durable,
easy to clean, and ensures long-lasting freshness.

  • Windproof
  • Soft
  • Warm

Style Meets Comfort

Neat stitching ensures durability, and quality
construction enhances the hat's shape, adding a touch
of style and refinement to any outfit.

All about the details

  • 1 High-quality craftsmanship with
    adjustable sides for easy fitting
  • 2 Accented with a metal buckle,
    adding a touch of style to the
    entire hat.

Breathable Comfort

This hat is suitable for wearing in various weather conditions,
keeping your head warm without feeling stuffy.

Best Gift For Festival

16,800+ 5-star reviews
from users worldwide

Jamie P

The leather is very good and
soft, the size is adjustable,
and it has a fleece lining,
making it very warm.

Binary B.

The color is beautiful, the
texture is great, just what I
wanted!

R. C.

The hat is of great quality,
adjustable in size, very
comfortable to wear, and I
really like it.

Derek s.

The hat looks great, is warm
enough, and has excellent
quality with fine
craftsmanship!

% OFF
BUY MOR SAVE MORE

BUY 2,CET FREE SHIPPING

98%  of our Customers  BUY 2 OR MORE

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.