Evo Dual Crossbody Bag

$90.00
Premium Quality Material: Our bag is crafted with a high-quality, waterproof, and scratch-resistant woven fabric and ultra-fine microfiber material. This ensures that the bag is not only durable but also practical for everyday use.
Lightweight and Portable: We understand the importance of convenience, which is why our bag is designed to be lightweight, making it effortless to carry wherever you go.
Versatile Design: With our bag, you get the best of both worlds. It features a clever storage device on the back that allows you to effortlessly switch between a stylish crossbody bag and a convenient chest bag.
Spacious and Organized: Say goodbye to clutter! Our bag boasts two zipper pockets, two slip pockets, and two large compartments, providing ample space for all your essentials while keeping them neatly organized.
Waterproof Oxford Cloth11.2x7x2 inch / 28.5x18x5.2cm
0.87 lbs / 0.394 kg
Color:  blue
Quantity
Free shipping
AlI US & CA & AU orders
48 Hours dispatch
Order on weekdays
Secure payment
Paypal , Credit Card and so on

Evo Dual Bag

Introducing the Evo Dual Bag, crafted from waterproof and scratch-resistant woven fabric and ultra-fiber material, ensuring lightweight durability. This versatile bag transforms effortlessly from a crossbody to a chest bag with its convenient storage device on the back. With adjustable shoulder straps made from flexible and comfortable material, it's perfect for all your travels. Featuring two zippered compartments, including a hidden front pocket, and spacious interior with two large compartments for organized storage of various items. Experience the perfect blend of style, functionality, and comfort with the Evo Dual Bag.

Versatile Design

This versatile bag features two distinct compartments, each equipped with durable triple-sided zippers for effortless access. The first compartment is a thick zipper pocket, providing ample space for larger items such as your phone or wallet. The second compartment is a thinner zipper pocket, offering additional storage for smaller essentials. Both compartments are designed to maximize accessibility, allowing you to easily retrieve your belongings without any hassle.

Spacious and Organized Interior

Boasting two large compartments, the Evo Dual Bag offers ample storage space for all your belongings. Additionally, it includes two zippered pockets – one hidden on the front and another on the back – providing convenient access to smaller items such as keys, cards, or your phone. With its thoughtfully designed interior, this bag allows you to keep your essentials organized and easily accessible at all times.

Premium Materials

The Evo Dual Bag is crafted from a blend of waterproof and scratch-resistant woven fabric and ultra-fiber material, ensuring durability without adding unnecessary weight. This combination of materials guarantees that your belongings remain protected from the elements while keeping the bag lightweight and comfortable to carry.

Adjustable and Comfortable Shoulder Straps

The bag features adjustable shoulder straps made from flexible and soft material, providing a comfortable fit for all-day wear. Whether you're commuting to work, running errands, or exploring the city, the Evo Dual Bag ensures that you can carry your essentials with ease and comfort.

Elevate your daily adventures with the Evo Dual Bag – where durability meets versatility for the modern explorer!

UNFOLD YOUR STYLISH

UNFOLD YOUR STYLISH

Customer Reviews

Here are what our customers say.

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.