Subscription
${function(){
let list = data.subscribe_plans;
const line_items = data.line_items;
const marketActivities = data.market_activities;
if(marketActivities && marketActivities.length > 0){
const set = new Set();
marketActivities.forEach(item=> set.add(item.entitled_product_ids?.[0]));
list = list.filter(item=>!set.has(item.id));
}
list.forEach(ele=>{
ele.describe = ele.describe.replace('<p>','').replace('</p>','');
const item = line_items.find(a=>a.product_id == ele.id);
ele.discount_percent = (((+ele.price - +item?.final_line_price) / +ele.price)*100).toFixed(0);
ele.is_discount = ele.price !== item?.final_line_price;
let days = 0;
let market_text = '';
const hasFirstSubscribeInterval = ele.first_subscribe_interval_type && ele.first_subscribe_interval_count;
const interval_type = hasFirstSubscribeInterval ? ele.first_subscribe_interval_type : ele.interval_type;
const interval_count = Number(hasFirstSubscribeInterval ? ele.first_subscribe_interval_count : ele.interval_count);
const interval_config = {
day: { days: 1, label: 'Day' },
week: { days: 7, label: 'Week' },
month: { days: 30, label: 'Month' },
year: { days: 365, label: 'Year' },
};
const interval_info = interval_config[interval_type];
if (interval_info) {
days = interval_count * interval_info.days;
market_text = interval_count > 1
? `${ele.discount_percent}% off First ${interval_count} ${interval_info.label}`
: `${ele.discount_percent}% off First ${interval_info.label}`;
}
ele.market_text = market_text;
ele.first_cycle_days = (interval_config[ele.first_subscribe_interval_type]?.days || 0) * (ele.first_subscribe_interval_count || 0);
ele.cycle_days = (interval_config[ele.interval_type]?.days || 0) * (ele.interval_count || 0);
ele.discountRatio = Number(item?.discount_percent) > 0 ? "-" + item?.discount_percent + "%" : '';
ele.final_price = item?.final_line_price;
ele.perday = (Math.floor(ele.final_price *100 / days ) / 100).toFixed(2);
});
list = list.filter(item=> !!item.final_price);
const maxCount = Number("4") || 4;
list = list.slice(0,maxCount);
let defaultItemIndex = 0;
const defaultPosition = Number("2") || 2;
if(defaultPosition > 0 && list.length >= defaultPosition){
defaultItemIndex = defaultPosition - 1;
}
return `
${ele.is_discount ? `
`;
}()}
$${ele.final_price}
$${ele.perday}/day
${ele.title}
${ele.brief}
${ele.describe}
${ele.market_text}
`: ''}
${function(){
const config = data.config;
const priceTextColor = config?.price_text_color || '';
const normalTextColor = config?.normal_text_color || '';
return `
`
}()}
${config?.pop_up_title || ''}
$
${data.final_line_price === undefined ? data.price : data.final_line_price}
${config?.promotional_prompt || ''}
${data?.brief}
-
Card Payment
-
Flash sale price!
Min
Sec
Ms
Payment Methods
Sign in
Dear friend, you're not signed in. This poses a real risk to your assets. Secure them by signing in right away.
Don't have an account?
Create one
Benefits Utilization
Enjoy this drama by using one of your benefits.
You still have 3 benefits remaining, and you have used 0/3 times.
Cancel
Confirm