Confidence, humor, and zero apologies.
Bold graphic tee designed to highlight your physique.
Soft, stretchy fabric with a flattering fitted cut.
Perfect for nights out, pride events, or anytime you want to stand out.
${
(function(){
const popupList = originData.popupList;
return popupList?.length && popupList.map(item => {
if(item.placement_template === "PT_POPUP_BUY_X_GET_Y"){
const parseConfig = item.parseConfig;
const shopUrl = `https://${parseConfig.button.url}`;
let modalSize = '';
if(+parseConfig.width.value <= 600){
modalSize = 'small';
} else if(+parseConfig.width.value > 600 && +parseConfig.width.value <= 800){
modalSize = 'middle';
} else {
modalSize = 'large';
}
const imagePosition = parseConfig.image.position;
const wrapHeightMap = {
small: 'min-height:360px;',
middle: 'min-height:480px;',
large: 'min-height:600px;'
};
const image_size_top_map = {
small: 'height:208px;',
middle: 'height:295px;',
large: 'height:346px;'
};
const content_size_right_map = {
small: 'padding-top: 68px;',
middle: 'padding-top: 72px;',
large: 'padding-top: 76px;'
};
const content_size_top_map = {
small: 'padding: 20px 16px;',
middle: 'padding: 40px 16px;',
large: 'padding: 40px 16px;'
};
positionMap = {
top: {
imageStyle:`width:100%;${image_size_top_map[modalSize]}`,
contentStyle:`margin-top:0;padding: 16px;${content_size_top_map[modalSize]}`,
wrapStyle: 'flex-direction:column;',
},
left: {
imageStyle:'width:50%;height:100%;',
contentStyle:`width:50%;padding:16px;${content_size_right_map[modalSize]}`,
wrapStyle: 'flex-direction:row;',
},
right: {
imageStyle:'width:50%;height:100%;',
contentStyle:'width:50%;padding:16px;margin-top:0;',
wrapStyle: 'flex-direction:row-reverse;'
},
none: {
imageStyle:'display: none',
contentStyle:'width:100%;',
wrapStyle: 'width:100%;'
}
}
const keys = ['text_title','text_content','button'];
let sortKeys = [];
parseConfig.section.forEach(item => {
if(keys.includes(item)){
sortKeys.push(item)
}
})
const maskPercent = item.parseConfig.mask.value/100;
const backgroundImgStyle = (parseConfig.background.url && parseConfig.background.upload) ? `background-image:url(//img.staticdj.com/${parseConfig.background.url});background-size: cover;background-repeat: no-repeat;background-position: center;` : '';
const backgroundColorStyle = `background-color:${parseConfig.background.color || '#ffffff'}`;
return `
`
}else{
return ''
}
}).join('');
})()
}
${sortKeys.map(key => {
if(key == 'text_title'){
return `
${parseConfig.text_title.value}
`
}else if(key == 'text_content'){
return `
${parseConfig.text_content.value}
`
}else if(key == 'button'){
return `
`
}
}).join('')}
${(function() {
const productsInfo = data.products || data.product;
const product_display = originData?.product_display;
const show_atc = product_display ? !!product_display?.show_add_to_cart : true;
const show_discount_label = !!product_display?.show_discount_label;
const show_sales_progress = !!product_display?.sales_progress?.enabled;
const sales_progress_format = product_display?.sales_progress?.format || '';
const limit_purchase = originData.limit_purchase;
const productConfig = product_display ? JSON.parse(product_display?.config).color : '';
const sale_progress_bg = productConfig?.sale_bar_background_color || '#F2F2F2';
const sale_progress_bg_start = productConfig?.progress_sale_bar_background_color_start || '#FF9C57';
const sale_progress_bg_end = productConfig?.progress_sale_bar_background_color_end || '#FF4559';
const sale_count_text = productConfig?.sale_bar_atc_color || '#FC5161';
const discount_label_start = productConfig?.discount_sign_background_color_start || '#FF9C57';
const discount_label_end = productConfig?.discount_sign_background_color_end || '#FF4559';
const discount_label_text = productConfig?.discount_sign_color || '#FFFFFF';
//限时促销首页卡片尺寸
const discount_image_size = data.discount_image_size || '100%';
//点击加购按钮需要的参数
let discount_id = data.discount_id;
let apply_scenario = data.apply_scenario;
if(!productsInfo.length) return '';
return productsInfo.map(product => {
let price = product.price || 0;
let priceMin = product.price_min || 0;
let priceMax = product.price_max || 0;
let compareAtPriceMax = product.compare_at_price_max || 0;
let compareAtPrice = product.compare_at_price || 0;
let title = product.title || '';
let id = product.id || '';
let url = product.url || '';
let type = product.type || '';
let is_sold_out = false;
if (product.available == false && product.inventory_policy != 'continue') {
is_sold_out = true;
}
const soldOutLang1 = "Sold out";
const soldOutLang2 = "Sold out";
const discountType = product.discount_type;
const noNeedBtn = discountType !== "DT_MIX_MATCH_BUNDLE" && discountType !== "DT_CLASSIC_BUNDLE";
const defaultVariantTitle = product.variants[0]?.title.replace('-', '/');
const flash_sale_info = product?.flash_sale_info;
const is_flashsale_sold_out = flash_sale_info?.discount_sales_rate == "100";
const show_product_sold_progress = flash_sale_info?.discount_sales_rate > 0;
const off_ratio = flash_sale_info?.off_ratio;
price = flash_sale_info?.discount_price || price;
discount_id = discount_id || product.discount_id;
apply_scenario = apply_scenario || product.apply_scenario;
let imageWidth;
if (product.image.width) {
imageWidth = product.image.width;
} else {
imageWidth = 300;
}
let imageHeight;
if (product.image.height) {
imageHeight= product.image.height;
} else {
imageHeight = 300;
}
if (discount_image_size !== 'natural') {
imageHeight = (imageWidth * parseFloat(discount_image_size)) / 100;
}
if (product.published) {
return `
`
} else {
return ``;
}
}).join('');
})()}
${function(){
let hour = data.d * 24 + data.h;
if(hour < 10){
hour = '0' + hour;
}
return `
-${off_ratio}%
${function(){
if (soldOutLang1){
return `
${soldOutLang1}
`
}else{
return `
${soldOutLang2}
`
}
}()}
${product.title}
Almost sold out
${flash_sale_info?.discount_sales}
${flash_sale_info?.discount_sales_rate}%
sold
${defaultVariantTitle}
End in
${data.dd}D
${data.hh}:
${hour}:
${data.mm}:
${data.ss}
.
${data.SSS}
Promo products limited to ${limit_user_product_discount} item per person
${function() {
const currentProduct = data.product;
return (currentProduct.options || []).map((option, index) => {
const optionName = option.name || '';
const optionId = option.id || '';
const position = `option${index + 1}`;
return `
`;
}).join('')
}()}
${function() {
const value = (data.originData && data.originData.value) || data.value;
const isHasValue = value ? true : false;
return `
${value}
`
}()}
The activity inventory has been sold out, flash sale discount will not be applied
FLASH SALE
View More

