(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!
(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!

(๐Ÿ’ƒHot Sale ๐Ÿ”ฅ) Floral print v-neck dress - Buy two and get free shipping!

Price

$0.00 $35.49
Save $-35.49
Free shipping on orders over $69.99!

color

Please select a color

size

Please select a size

Quantity

Free shipping worldwide for orders over 69.99
Free returns
Sustainably made
Secure payments
It will sell out fast, Enjoy a discount now!!โšก

Please make sure to buy enough quantity before weย increase the price!!!๐Ÿ”ฅ

  • ๐ŸชPalPay certified merchants in good standing.
  • ๐Ÿ‘Facebook officially recommends high-quality merchants
  • โœ…Support PalPay and global credit card payment.
  • ๐Ÿ”’ SSL security certificate guarantees your privacy.
  • ๐Ÿ›ซGlobal super fast air transportation.
  • ๐Ÿ‘after-sales guarantee.

๐Ÿ’›๐Ÿ’šThis week's special event:ย Randomly selectedย 20 lucky customersย to get double the order product every day. We will send you an email, please remember to check, thanks for your support๐Ÿ’œ๐Ÿงก

๐Ÿ”ฅThe dress season has begun, shine this summer๐Ÿ”ฅ

SIZE TABLE

SPECIFICATIONS

  • Style: Casual
  • Material: Cotton Blends
  • Dress Type: A-Line
  • Dress Length: Maxi
  • Neckline: V neck_V
  • Pattern Type: Floral, Print
  • Sleeve Type: Regular sleeve
  • Sleeve Length: Short Sleeve
  • Details: Slit
  • Fit Type: Regular
  • Season: Spring, Summer, Fall
  • Occasion: Daily
  • Package Includes: 1 x Dress

NOTE

  • Please follow the size chart strictly to select the size. Do not choose directly according to your habits.
  • The size can have 1-3 cm differences due to manual measurement. Note when you measure.
  • Due to different display and light effects, the actual color of the item may differ slightly from the color shown in the pictures.

class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('appzebu smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }, true); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);