Funkplinko Literary Large Capacity Cotton Linen Women's Bag New Fashion Work Commuting Underarm Bag Shoulder Bag Casual Handbag

Sold 143 only 999999999 item(s) left
$19.55
Color:  Chrysanthemum
Quantity
Share the love
Free shipping on orders over $34, shipping worldwide
Free returns
Sustainably made
Secure payments
Description
Place Of Origin : China (mainland)
Gender : WOMEN
Model Number : straw bag
Style : Bohemian
Closure Type : No Zipper
Pattern Type : Solid
Main Material : CANVAS
Item Type : shopping bags



Packing List: 1pcs Cotton Linen Bag


MATERIAL: This shoulder tote bag is made of cotton and linen, combining the softness and comfort of cotton with the durability and eco-friendly properties of linen. Cotton and linen fabric is breathable and suitable for use in a variety of climatic conditions, as well as having some waterproof performance.

LARGE CAPACITY DESIGN: The design of the bag focuses on practicality, providing enough space to store a variety of items needed on a daily basis, such as cell phones, wallets, cosmetics, books, water bottles, etc., which is ideal for use at work, school, or on daily trips.

SHOULDER AND HANDHELD DUAL USE: The bag is designed for both shoulder and handheld use, equipped with two carry handles for quick access and carrying.

Fashion minimalist style: cotton bag has a fashionable simple and generous design style, this design is classic and versatile, suitable for people of different ages and different clothing styles.

Combination of environmental protection and fashion: with the enhancement of environmental awareness, more and more consumers tend to choose reusable and sustainable material products. Cotton and linen shoulder handbags are in line with this trend, it is both practical and has a certain sense of fashion, to meet the modern consumers in their daily lives for the dual needs of fashion and environmental protection.



Specification

Item Name: Large Capacity Cotton Linen Bag

Material: Cotton Linen

Color: as shown

Size: Width 34cm, height 28cm, thickness 16cm,shoulder Strap 40cm


Warm Tips

1.We provide you with the best product and service. s If you have any problem, please let us know, and we will solve the problem ASAP.  Thank you so much.

2.Due to the light and screen difference, the item's color may be slightly different from the pictures.

3.Please allow slight dimension difference due to different manual measurement.

4.1cm=0.39 inch.






WHAT ABOUT REFUND?

 

🔥Fast refund,100% Money Back Guarantee.

If your product is defective or doesn't work properly, let us know and we'll send you a replacement one.

We believe in our products so much that we offer a 30-day No-Hassle refund policy. If you're unhappy about your purchase, send us the product back and we'll refund your money immediately.

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.