function reminderEmail(that){ var _ep = ep(that, '.popup-container'); var _id=_ep.dataset.id,_email=_ep.querySelector('.input--email').value; var item = __data.content.cmpts.find(function (c) { return c.id == _id; }) ; if(_id&&isEmail(_email)&&item){ var _data = {id:_id, to:_email,title:item.title,link:item.link},timeObj=JSON.parse(item.text); _data.ts=timeObj.startTimestamp/1000.0 - 5*60; if(_data.ts > (Date.now() / 1000.0)){ var _embedLink=checkLink(item.link); if(_embedLink.indexOf('?')>0) _embedLink+='&'; else _embedLink+='?'; _embedLink+='utm_medium=social&utm_source=instabio&utm_campaign='+(item.title||''); _data.embedLink=_embedLink; ibjax('POST','/share/lnk/{0}/itgr/mg/op/em.st/'.Format(__data.bio.id), {data:_data,fn:function (resp) {}}); } _ep.classList.add('popup-reminder-ok'); _ep.innerHTML=``; setLSBlock('visitorHasReminded', item.id); setTimeout(function () { closePopup(); },1500); var _eBlock=document.querySelector('section #'+item.id); if(_eBlock){ _eBlock.querySelector('.embed-event--reminder button').setAttribute('disabled','disabled'); } } } function copyAction(that, action){ action = (action || 'copy').split('/'); var target = ep(that, action[1]); var _value; if(action.length>2){ _value = target.querySelector(action[2]).value||target.querySelector(action[2]).innerText }else{ _value = target.value||target.innerText; } if(action[0]=='copyLink'&&_value.indexOf('http')!=0) _value='https://'+_value; if(navigator.clipboard){ navigator.clipboard.writeText(_value).then(); }else{ var oInput = document.createElement('input'); oInput.value = _value; document.body.appendChild(oInput); oInput.select(); document.execCommand("Copy"); oInput.className = 'oInput'; oInput.parentNode.removeChild(oInput); } target.querySelector('.copy__btn-text').innerHTML = 'Copied!'; setTimeout(function(){ target.querySelector('.copy__btn-text').innerHTML = 'Copy'; },500) } (function () { var accessKeyId = '', secretAccessKey = '', sessionToken = '', objectKey = ''; function getUpToken() { var TK=document.querySelector('meta[property="s:tk"]')?document.querySelector('meta[property="s:tk"]').content+'':''; ibjax('GET', '/app/s3/upt/token/{0}/shr/?tk={1}'.Format(__data.bio.id,TK), { fn: function (resp) { resp = JSON.parse(resp || '{}'); if (resp.code == 0) { accessKeyId = resp.data.credentials.AccessKeyId; secretAccessKey = resp.data.credentials.SecretAccessKey; sessionToken = resp.data.credentials.SessionToken; objectKey = resp.data.key; }Ï€ } }); } var URL = window.URL || window.webkitURL; this.AWSUPFile = function (options) { this.cdnhost = 'https://bio.linkcdn.cc/'; this.config(options); // size = 0, or null, upload without crop this.maxSize=800; this._tk=null; this.inputUpload = options.inputUpload || 'input[name=awsupload]'; this.s3 = null; this.init(); }; AWSUPFile.prototype = { _config:function () { var _this = this; if(!_this._tk){ getUpToken(); _this._tk=true; } if(document.querySelector('#awssdkjs')){ }else{ var fjs=document.getElementsByTagName('script')[0]; var js=document.createElement('script'); js.id='awssdkjs'; js.async=!0; js.src='https://sdk.amazonaws.com/js/aws-sdk-2.684.0.min.js'; fjs.parentNode.insertBefore(js, fjs); } }, init: function () { var _this = this; _this._config(); if (!document.querySelector(_this.inputUpload)) { // var input = document.createElement('input'); input.style.display = 'none'; // input.accept = '*/*'; input.accept = 'image/*,.pdf'; input.type = 'file'; var attr = _this.inputUpload.replace('input[', '').replace(']', '').split('='); input.setAttribute(attr[0], attr[1]); document.body.appendChild(input); } document.querySelector(_this.inputUpload).onchange = function (evt) { var that = evt.target; if (that.files.length == 0) return; var file=that.files[0]; if (!(/image\/\w+/.test(file.type) || /\w+\/pdf/.test(file.type))) { alert("Unsupported format, only support PDF, Image"); return; } if(file.size && file.size > 1024*1024*10){ alert("File size should be less than 10MB"); return; } _this._showLoading(); lsdkjs(window,'AWS').then(function () { _this.uploadSngl(that.files[0]); that.value = ''; }); }; }, config:function(options){ options = options||{}; options.observer = options.observer || { next: function (res) { }, error: function (err) { } }; options.observer.complete = options.complete || options.observer.complete || function (res) { }; this._options = options; this.observer = options.observer; }, trigger: function () { if(this._options.target&&this._options.target.parentNode.querySelectorAll('.file-item').length<6){ document.querySelector(this.inputUpload).click(); } }, uploadSngl: function (file, format) { var _this = this; if (_this.s3 == null) { _this.s3 = new AWS.S3({ apiVersion: '2006-03-01', region: 'us-east-2', useAccelerateEndpoint:true, // enable TransferAcceleration credentials: new AWS.Credentials(accessKeyId, secretAccessKey, sessionToken) }); } format=file.type.indexOf('image')>-1?'image':'pdf'; var params = { Bucket: 'instabio', /* required */ Key: objectKey + '/' + new Date().getTime() + '.' + (file.type).replace(/(image|application)\//, ''), /* required */ Body: file, ContentType: file.type }; _this.s3.putObject(params, function (err, data) { if (err) { // console.log(err, err.stack) // an error occurred } else { if(_this._options.target){ var _upDivP=_this._options.target.parentNode,_fDiv=document.createElement('div'); _fDiv.className='file-item file-item--' + format; _fDiv.dataset.key=params.Key; _fDiv.dataset.size=file.size; _fDiv.dataset.type=format; if(format==='image'){ _fDiv.innerHTML='
{1}
'.Format(clearImage(params.Key),file.name); }else{ _fDiv.innerHTML='
{0}
'.Format(file.name); } _upDivP.appendChild(_fDiv); _upDivP.querySelector('.form-field--loading').remove(); _upDivP.querySelector('.form-field-checkbox-title span').innerHTML='({0}/6)'.Format(_upDivP.querySelectorAll('.file-item').length); } } }); }, _showLoading:function(){ var _this=this; if(_this._options.target){ var _upDivP=_this._options.target.parentNode,_fDiv=document.createElement('div'); _fDiv.className='form-field--loading'; _fDiv.innerHTML=getTmplInnerHtml('#embedLoading'); _upDivP.appendChild(_fDiv); } }, } })(window); (function(d, s) { var PlatformMaps={'7digital':'7digital','8tracks':'8tracks','amazon':'Amazon','amazonmusic':'Amazon Music','anghami':'Anghami','applemusic':'Apple Music', 'audiomack':'Audiomack','awa':'AWA','bandcamp':'Bandcamp','beatport':'Beatport','bleep':'Bleep','boomplay':'Boomplay','boomkat':'Boomkat',bugs:'Bugs!',deezer:'Deezer',emusic:'eMusic',flo:'Flo',gaana:'Gaana', genie:'Genie',googleplay:'Google Play',groove:'Groove Music',hardwax:'Hard Wax',hdtracks:'HDtracks',iheartradio:'iHeartRadio',itunes:'iTunes',jiosaavn:'JioSaavn',joox:'JOOX', junodownload:'Juno Download',kkbox:'KKBOX',linemusic:'Line Music',melon:'Melon',mixcloud:'Mixcloud',mixerbox:'MixerBox',moov:'MOOV',napster:'Napster',pandora:'Pandora',patari:'PATARI', pulselocker:'Pulselocker',qobuz:'Qobuz',simfyafrica:'Simfy Africa',soundcloud:'SoundCloud',spotify:'Spotify',suamusica:'SuaMúsica',tidal:'Tidal',traxsource:'Traxsource',vevo:'Vevo', vibe:'Vibe',wasabeat:'Wasabeat',whatpeopleplay:'Whatpeopleplay',wimp:'Wimp',yandex:'Yandex Music',youseemusik:'youSee MUSIK',youtube:'YouTube',youtubemusic:'YouTube Music',zingmp3:'Zing MP3'}; var APIHOST = (function () { var apiVer='/v/3.5'; var apihost=(document.querySelector('meta[property="api:host"]')?document.querySelector('meta[property="api:host"]').content:'https://api.instabio.cc')+apiVer; return apihost; }()); if(!String.prototype.Format){ String.prototype.Format = function() { var result = this; if (arguments.length > 0) { for (var i = 0; i < arguments.length; i++) { if(arguments[i] == null) arguments[i]=''; var reg = new RegExp("(\\{" + i + "\\})", "g"); result = result.replace(reg, arguments[i]); } } return result; }; } if(!String.prototype.Compile){ String.prototype.Compile = function(obj) { return this.replace(/\{([\w ]+)\}/g, function($1, $2) { return (obj != null ? obj[$2] : void 0) == undefined ? "" : obj[$2]; }); }; } if(!String.prototype.CompileHash){ String.prototype.CompileHash = function(obj) { return this.replace(/#([\w ]+)#/g, function($1, $2) { return (obj != null ? obj[$2] : void 0) == undefined ? "" : obj[$2]; }); }; } var v = function(a, b, t) { t=t||d; t.addEventListener ? t.addEventListener(a, b, !1) : t.attachEvent && t.attachEvent("on" + a, b) }; var eleParents=function(tar, selector) { if (selector && tar && tar.nodeName != 'HTML') { var _sel; if (selector.indexOf('.') != -1) { _sel = selector.split('.'); if ((!_sel[0] || tar.nodeName == _sel[0].toUpperCase()) && tar.classList.contains(_sel[1])) { return tar; } else { return eleParents(tar.parentNode, selector); } } else if (selector.indexOf('#') != -1) { _sel = selector.split('#'); if ((!_sel[0] || tar.nodeName == _sel[0].toUpperCase()) && tar.id == _sel[1]) { return tar; } else { return eleParents(tar.parentNode, selector); } } else { _sel = [selector]; if (tar.nodeName.toUpperCase() == _sel[0].toUpperCase()) { return tar; } else { return eleParents(tar.parentNode, selector); } } } else { return null; } }; function _format_color(color){ if(!isEmpty(color)){ if(typeof color == 'number') color = (color?color:'000000')+''; if(color.startsWith('rgba(')){ var _color_val = color.replace('rgba(', ''); if(_color_val.endsWith(')')) _color_val=_color_val.slice(0,-1); _color_val = _color_val.split(','); if(_color_val.length == 3) return 'rgba({0}, {1}, {2}, 1)'.Format(_color_val[0],_color_val[1],_color_val[2]); if(_color_val.length == 4) return 'rgba({0}, {1}, {2}, {3})'.Format(_color_val[0],_color_val[1],_color_val[2],_color_val[3]); return color; } if(color.startsWith('rgb(')){ _color_val = color.replace('rgb(', ''); if(_color_val.endsWith(')')) _color_val=_color_val.slice(0,-1); _color_val = _color_val.split(','); if(_color_val.length == 3) return 'rgb({0}, {1}, {2})'.Format(_color_val[0],_color_val[1],_color_val[2]); if(_color_val.length == 4) return 'rgba({0}, {1}, {2}, {3})'.Format(_color_val[0],_color_val[1],_color_val[2],_color_val[3]); return color } if(!color.startsWith('#')) return '#'+color; return color } return '' } function handlerFileUpload(evt, fUPDiv){ if(!window.awsup){ window.awsup=new AWSUPFile({target: fUPDiv}); }else{ awsup.config({target: fUPDiv}); } awsup.trigger(); } function handleSubmit(evt) { // subscribe, contact ..., subs email/sms if(evt.target.nodeName=="BUTTON"&&evt.target.parentElement.classList.contains('form-button')){ var pTar=eleParents(evt.target,'.form-cust'),pSubs=eleParents(evt.target,'.bio-subs'); var email='',_email='',_phone=''; if(pTar){ var data=[],error,field,sync=0,fullname=''; Array.from(pTar.querySelectorAll('.error')).forEach(function (ele) { ele.remove(); }); var _makeupFields=function () { Array.from(pTar.querySelectorAll('.form-field')).forEach(function (ele) { var _field=ele.querySelector('.data-field'),val={key:ele.dataset.param,required:parseInt(_field.dataset.required,10)}; switch (val.key) { case 'email': if(!sync) sync=parseInt(_field.dataset.sync,10); email=_field.value; val.value=_field.value; val.title=_field.placeholder; if(!isEmpty(val.value) && !isEmail(val.value)){ error='Please enter a valid email address'; ele.innerHTML+='{0}'.Format(error); }else{ if(isEmpty(_email)) _email=_field.value; } break; case 'input': val.value=_field.value; val.title=_field.placeholder; if(isEmpty(fullname)) fullname=val.value; break; case 'phone': val.value=_field.value; val.title=_field.placeholder; var _li=ele.querySelector('.dial-code-select li.selected'); var _errSpan=d.createElement('span'); _errSpan.className='error iconfont icon-warn'; _errSpan.innerText='Please enter a valid phone number'; // if(!isEmpty(val.value) && !isPhone(val.value)){ if(!isEmpty(val.value)){ try{ let phoneParse=libphonenumber.parsePhoneNumber(_li.dataset.dial+' '+val.value); if(!phoneParse.isValid()){ error='Please enter a valid phone number'; // ele.innerHTML+='{0}'.Format(error); ele.appendChild(_errSpan); } }catch (e){ error='Please enter a valid phone number'; // ele.innerHTML+='{0}'.Format(error); ele.appendChild(_errSpan); } if(isEmpty(_phone)) _phone=_field.value; }else{ if(isEmpty(_phone)) _phone=_field.value; } if(_li){ val.dial=_li.dataset.dial; val.country=_li.dataset.country; val.countryCode=_li.dataset.code; _phone=val.dial+' '+_phone; } break; case 'dropdown': val.value=_field.value; val.title=_field.querySelector('option').innerText; break; case 'text': val.value=_field.value; val.title=_field.placeholder; break; case 'number': val.value=_field.value; val.title=_field.placeholder; break; case 'radio': val.value=_field.querySelector('input:checked')?_field.querySelector('input:checked').value:''; val.title=_field.querySelector('.form-field-radio-title').innerText; break; case 'checkbox': val.title=_field.querySelector('.form-field-checkbox-title').innerText; val.value=(function () { var ret=[]; Array.from(_field.querySelectorAll('input:checked')).forEach(function (e) { ret.push(e.value); }); return ret.join('lf:;'); })(); break; case 'regions': val.value=_field.value; val.title=_field.querySelector('option').innerText; break; case 'date': val.value=_field.value; val.title=_field.placeholder; break; case 'time': val.value=_field.value; val.title=_field.placeholder; break; case 'file': val.title=_field.querySelector('.form-field-checkbox-title').innerHTML.replace(/ \(\d+\/\d+\)<\/span>/,''); val.files=(function () { var ret=[]; Array.from(_field.querySelectorAll('.file-item')).forEach(function (e) { ret.push({type:e.dataset.type,link:e.dataset.key,size:e.dataset.size,title:e.querySelector('.file-item__name').innerText}); }); return ret; })(); break; } var errorSpan=null; if(val.key=='file'){ if(val.required==1&&val.files.length==0){ error = 'This field can not be blank'; errorSpan=d.createElement('span'); errorSpan.className='error iconfont icon-warn'; errorSpan.innerText=error; ele.appendChild(errorSpan); } }else if(val.required==1&&isEmpty(val.value)){ error = 'This field can not be blank'; errorSpan=d.createElement('span'); errorSpan.className='error iconfont icon-warn'; errorSpan.innerText=error; ele.appendChild(errorSpan); } data.push(val); }); if(error) return; var gRecaptcha,_invisible; if(pSubs){ gRecaptcha=pSubs.dataset.subtype; _invisible='.subs'; }else{ gRecaptcha=pTar.querySelector('textarea[name=g-recaptcha-response]').value; _invisible=(pTar.querySelector('.g-recaptcha')||{dataset:{}}).dataset.size; // _invisible=(_invisible&&_invisible=='invisible')?'.invisible':''; } var _submit=function() { // _invisible=(pTar.querySelector('.g-recaptcha')||{dataset:{}}).dataset.size; if(gRecaptcha&&gRecaptcha.indexOf('cmpt-sub-')>=0){ }else{ gRecaptcha=pTar.querySelector('textarea[name=g-recaptcha-response]').value; _invisible=(_invisible&&_invisible=='invisible')?'.invisible':''; } if(_invisible=='.subs'){ let subsHas = JSON.parse(localStorage.getItem('visitorHasSubscribed')||'{}'); if(subsHas){ let _lnkSubs = subsHas[__data.bio.id] || {email:{},phone:{}}; let _emailSubs = _lnkSubs.email||{},_phoneSubs = _lnkSubs.phone||{}; if(_email){ if(_emailSubs[_email.toLowerCase()]){ swal('','This email has already been subscribed. Please use a different one to subscribe again.','error'); return; } }else if(_phone){ if(_phoneSubs[_phone.toLowerCase()]){ swal('','This phone number has already been subscribed. Please use a different one to subscribe again.','error'); return; } } } } pTar.querySelector('.form-submit button').style.display='none'; pTar.querySelector('.form-submit').innerHTML+=getTmplInnerHtml('#embedLoading'); // var _invisible=(pTar.querySelector('.g-recaptcha')||{dataset:{}}).dataset.size; // _invisible=(_invisible&&_invisible=='invisible')?'.invisible':''}; ibjax('POST','/share/link/{linkid}/submit/form{invisible}/'.Compile({linkid:__data.bio.id,invisible: _invisible}), {data:{'fields':JSON.stringify(data),'sync':sync,'fullname':fullname,'email':_email,'g-recaptcha-response':gRecaptcha,'phone':_phone, 'title':pTar.querySelector('.form-title .data-field').innerText}, fn:function (resp) { resp=JSON.parse(resp||'{}'); if(_invisible=='.subs'){ let subsHas = JSON.parse(localStorage.getItem('visitorHasSubscribed')||'{}'); if(subsHas){ let _lnkSubs = subsHas[__data.bio.id] || {email:{},phone:{}}; if(_email){ _lnkSubs.email[_email.toLowerCase()] = {'email': _email.toLowerCase(),'username': fullname,'ts': Date.now()}; }else if(_phone){ _lnkSubs.phone[_phone.toLowerCase()] = {'phone': _phone.toLowerCase(),'username': fullname,'ts': Date.now()}; } subsHas[__data.bio.id] = _lnkSubs; localStorage.setItem('visitorHasSubscribed',JSON.stringify(subsHas)); } } if(resp.code==0){ pTar.querySelector('.form-success').style.display='flex'; pTar.querySelector('.form-title').remove(); pTar.querySelector('.form-fields-group').remove(); pTar.querySelector('.form-fields-actions').remove(); } }}); }; if(!gRecaptcha){ grecaptcha.execute(pTar.querySelector('.g-recaptcha').dataset.opt_widget_id).then(function () { lglrpval(pTar).then(function () { _submit(); }); }).catch(function () { pTar.querySelector('.g-recaptcha').style.opacity=1; }); }else{ _submit(); } } if(pTar.querySelectorAll('.form-field-phone')){// filed phone if(!d.querySelector('#libphonenumber-js')){ var fjs=d.getElementsByTagName(s)[0]; var js=d.createElement(s); js.id='libphonenumber-js'; js.async=!0; // js.src='https://bio.linkcdn.cc/instabio.cc/static/vendor/jedate/jedate.js'; js.src='https://cdn.jsdelivr.net/npm/libphonenumber-js@1.10.50/bundle/libphonenumber-js.min.js'; fjs.parentNode.insertBefore(js, fjs); } lsdkjs(window, 'libphonenumber').then(function () { _makeupFields(); }); }else{ _makeupFields(); } return; } pTar=evt.target.parentElement.parentElement.parentElement; email = pTar.querySelector('input[name=email]').value.trim(); var regEmail = /\w+([\w.-])*@[\w-]+\.\w+[.|\w]*/; if (regEmail.test(email) == false) { swal('','Invalid email address','error'); return false; } var _thanks_html=`
{0}
`; if(pTar.classList.contains('form-subscribe')){ pTar.querySelector('.form-submit button').style.display='none'; pTar.querySelector('.form-submit').innerHTML+=getTmplInnerHtml('#embedLoading'); ibjax('POST','/share/link/{linkid}/submit/subscribe/'.Compile({linkid:__data.bio.id}), {data:['email='+email,'name='+pTar.querySelector('input[name=fullname]').value,'title='+pTar.querySelector('.form-title span').innerHTML], fn:function (resp) { resp=JSON.parse(resp||'{}'); if(resp.code==0){ var _thanks_text=pTar.querySelector('.form-thanks span').innerText; pTar.innerHTML=_thanks_html.Format(_thanks_text); } }}) } if(pTar.classList.contains('form-contact')){ pTar.querySelector('.form-submit button').style.display='none'; pTar.querySelector('.form-submit').innerHTML+=getTmplInnerHtml('#embedLoading'); ibjax('POST','/share/link/{linkid}/submit/contact/'.Compile({linkid:__data.bio.id}), {data:['email='+email,'name='+pTar.querySelector('input[name=fullname]').value, 'message='+pTar.querySelector('textarea[name=message]').value,'title='+pTar.querySelector('.form-title span').innerHTML], fn:function (resp) { resp=JSON.parse(resp||'{}'); // if(resp.code==0) pTar.querySelector('.form-thanks').style.display='block'; if(resp.code==0){ var _thanks_text=pTar.querySelector('.form-thanks span').innerText; pTar.innerHTML=_thanks_html.Format(_thanks_text); } }}) } if(pTar.classList.contains('form-feedback')){ var _services=pTar.querySelector('.form-service .service-options li.selected'); if (!_services){ swal('',decodeURIComponent(pTar.querySelector('.form-service span').dataset.service),'error'); return false; } pTar.querySelector('.form-submit button').style.display='none'; pTar.querySelector('.form-submit').innerHTML+=getTmplInnerHtml('#embedLoading'); ibjax('POST','/share/link/{linkid}/submit/feedback/'.Compile({linkid:__data.bio.id}), {data:['email='+email,'name='+pTar.querySelector('input[name=fullname]').value,'service='+decodeURIComponent(pTar.querySelector('.form-service span').dataset.service), 'phone='+pTar.querySelector('input[name=phone]').value,'message='+pTar.querySelector('textarea[name=message]').value, 'subject='+_services.querySelector('span').innerHTML,'title='+pTar.querySelector('.form-title span').innerHTML], fn:function (resp) { resp=JSON.parse(resp||'{}'); if(resp.code==0){ var _thanks_text=pTar.querySelector('.form-thanks span').innerText; pTar.innerHTML=_thanks_html.Format(_thanks_text); } }}) } if(pTar.classList.contains('form-appl')){ var _services=pTar.querySelector('.form-service .service-options li.selected'); if (!_services){ swal('',decodeURIComponent(pTar.querySelector('.form-service span').dataset.service),'error'); return false; } pTar.querySelector('.form-submit button').style.display='none'; pTar.querySelector('.form-submit').innerHTML+=getTmplInnerHtml('#embedLoading'); ibjax('POST','/share/link/{linkid}/submit/appl/'.Compile({linkid:__data.bio.id}), {data:['email='+email,'name='+pTar.querySelector('input[name=fullname]').value,'service='+decodeURIComponent(pTar.querySelector('.form-service span').dataset.service), 'phone='+pTar.querySelector('input[name=phone]').value,'message='+pTar.querySelector('textarea[name=message]').value, 'subject='+_services.querySelector('span').innerHTML,'title='+pTar.querySelector('.form-title span').innerHTML], fn:function (resp) { resp=JSON.parse(resp||'{}'); if(resp.code==0){ var _thanks_text=pTar.querySelector('.form-thanks span').innerText; pTar.innerHTML=_thanks_html.Format(_thanks_text); } }}) } if(pTar.classList.contains('form-quote')){ var _services=pTar.querySelector('.form-service .service-options li.selected'); if (!_services){ swal('',decodeURIComponent(pTar.querySelector('.form-service span').dataset.service),'error'); return false; } pTar.querySelector('.form-submit button').style.display='none'; pTar.querySelector('.form-submit').innerHTML+=getTmplInnerHtml('#embedLoading'); ibjax('POST','/share/link/{linkid}/submit/quote/'.Compile({linkid:__data.bio.id}), {data:['email='+email,'name='+pTar.querySelector('input[name=fullname]').value,'service='+decodeURIComponent(pTar.querySelector('.form-service span').dataset.service), 'phone='+pTar.querySelector('input[name=phone]').value,'message='+pTar.querySelector('textarea[name=message]').value, 'subject='+_services.querySelector('span').innerHTML,'title='+pTar.querySelector('.form-title span').innerHTML], fn:function (resp) { resp=JSON.parse(resp||'{}'); if(resp.code==0){ var _thanks_text=pTar.querySelector('.form-thanks span').innerText; pTar.innerHTML=_thanks_html.Format(_thanks_text); } }}) } if(pTar.classList.contains('form-appt')){ var _preferredDate=pTar.querySelector('#tmpl-form-date'),_preferredTime=pTar.querySelector('#tmpl-form-time'); if(!(parseInt(_preferredDate.innerHTML)&&parseInt(_preferredDate.innerHTML))){ swal('', 'Please Select Preferred Datetime','error'); return false; } pTar.querySelector('.form-submit button').style.display='none'; pTar.querySelector('.form-submit').innerHTML+=getTmplInnerHtml('#embedLoading'); ibjax('POST','/share/link/{linkid}/submit/appt/'.Compile({linkid:__data.bio.id}), {data:['email='+email,'name='+pTar.querySelector('input[name=fullname]').value, 'phone='+pTar.querySelector('input[name=phone]').value,'message='+pTar.querySelector('textarea[name=message]').value, 'preferred='+_preferredDate.innerHTML+' '+_preferredTime.innerHTML,'title='+pTar.querySelector('.form-title span').innerHTML], fn:function (resp) { resp=JSON.parse(resp||'{}'); if(resp.code==0){ var _thanks_text=pTar.querySelector('.form-thanks span').innerText; pTar.innerHTML=_thanks_html.Format(_thanks_text); } }}) } if(pTar.classList.contains('form-rsvp')){ var _services=pTar.querySelector('.form-option .option-cycle.selected'); if (!_services){ swal('',pTar.querySelector('.form-service span').innerText,'error'); return false; } pTar.querySelector('.form-submit button').style.display='none'; pTar.querySelector('.form-submit').innerHTML+=getTmplInnerHtml('#embedLoading'); ibjax('POST','/share/link/{linkid}/submit/rsvp/'.Compile({linkid:__data.bio.id}), {data:['email='+email,'name='+pTar.querySelector('input[name=fullname]').value,'subject='+_services.innerHTML, 'service='+pTar.querySelector('.form-service span').innerText,'title='+pTar.querySelector('.form-title span').innerHTML], fn:function (resp) { resp=JSON.parse(resp||'{}'); if(resp.code==0){ var _thanks_text=pTar.querySelector('.form-thanks span').innerText; pTar.innerHTML=_thanks_html.Format(_thanks_text); } }}) } } } function handlerBlockSearch(fte){ var _input=eleParents(fte,'.block-search--button').querySelector('input'),_boxP,items=null; if(fte.nodeName=='I'||fte.classList.contains('btn-icons--remove')||_input.value==''){ // _input=eleParents(fte,'.btn-search').querySelector('input'); _input.value=''; _boxP = eleParents(fte, '.block-search').parentElement; if(_boxP.dataset.type==10){ items=_boxP.querySelectorAll('.button-item ') }else if(_boxP.dataset.type==19){ items=_boxP.querySelectorAll('li.item') } (items||[]).forEach(function (ele) { ele.classList.remove('hidden'); }) if(_boxP.querySelector('.no-result')) _boxP.querySelector('.no-result').remove(); return; } var _fbe=eleParents(fte,'svg')||fte; if(_fbe&&_fbe.nodeName.toUpperCase()=='SVG'||_fbe.nodeName.toUpperCase()=='INPUT'){ // _input=eleParents(fte,'.block-search--button').querySelector('input'); var _iVal=(_input.value||'').trim(); if(_iVal.length==0) return; _boxP = eleParents(fte, '.block-search').parentElement; var _noresult=true,_noNode='div',_noEle=null; if(_boxP.dataset.type==10){ items=_boxP.querySelectorAll('.button-item '); }else if(_boxP.dataset.type==19){ items=_boxP.querySelectorAll('li.item'); _noNode='li'; } (items||[]).forEach(function (ele) { let txt = ele.querySelector('.btn-text')||ele.querySelector('.cmpt-graphic--txt'); if(txt) txt = txt.innerText; if((txt||'').toLowerCase().indexOf(_iVal.toLowerCase())!=-1){ ele.classList.remove('hidden'); _noresult=false; }else{ ele.classList.add('hidden'); } }) if(_noresult){ _noEle=d.createElement(_noNode); var _noresultSVG=``; if(_boxP.dataset.type==10){ _noEle.className='button-item no-result'; _noEle.innerHTML='
{0}
No results found
'.Format(_noresultSVG); _boxP.appendChild(_noEle); }else{ _noEle.className='item item-style no-result'; _noEle.innerHTML=`
{0}
No results found
`.Format(_noresultSVG); _boxP.querySelector('ul').appendChild(_noEle); } } return; } } function lglrpjs(e) { return new Promise((function(t) { (function n(){ var r = (e.grecaptcha||{}).execute; "undefined" === typeof r ? e.requestAnimationFrame(n) : (t(e)) }()) })) } function lglrpval(ele) { return new Promise((function(t) { (function n(){ var r = ele.querySelector('[name=g-recaptcha-response]')?ele.querySelector('[name=g-recaptcha-response]').value:''; '' === r ? window.requestAnimationFrame(n) : (t(ele)) }()) })) } function lstripejs(e){ return new Promise((function(t) { (function n(){ var r = e.Stripe; "undefined" === typeof r ? e.requestAnimationFrame(n) : (t(e)) }()) })) } function lpaypaljs(e){ return new Promise((function(t) { (function n(){ var r = e.paypal; "undefined" === typeof r ? e.requestAnimationFrame(n) : (t(e)) }()) })) } function lfbvideo(ele) { return new Promise((function(t) { (function n(){ var r = ele.querySelector('iframe'); !r ? window.requestAnimationFrame(n) : (t(ele)) }()) })) } function endLoaded(loadEle,endfn) { if (loadEle instanceof Node || loadEle instanceof HTMLElement) { loadEle.remove(); }else if(typeof loadEle == 'string'){ if(d.querySelector(loadEle)) d.querySelector(loadEle).remove(); } if(endfn&&typeof endfn == 'function'){ endfn(); } } function onloadCallback(eleId) { var html_element='html_element'; if(eleId) html_element+=eleId; var opt_widget_id = grecaptcha.render(html_element, { 'sitekey' : '6LcifCQfAAAAAAmVOIvuKi4OZxl3EnYlH-4XMT73', 'callback' : onSubmit, }); d.querySelector('#'+html_element).dataset.opt_widget_id=opt_widget_id; } function formUITmpl(_fbe,_fc) { var _cssDom=d.querySelector('#lnk-form-tmpl'),_tmpl=null; if(_fbe.dataset.path){ if(!_cssDom){ _cssDom=d.createElement('link'); _cssDom.id='lnk-form-tmpl'; _cssDom.rel='stylesheet'; _cssDom.type='text/css'; d.head.appendChild(_cssDom); } _cssDom.href='https://bio.linkcdn.cc/instabio.cc/static/tmpl/form/'+_fbe.dataset.path+'.css?t=1641779804599'; }else{ if(_cssDom) _cssDom.remove(); } var _style=d.querySelector('#style-form-tmpl'),_css=''; if(_style) _style.remove(); _style=d.createElement('style'); _style.id='style-form-tmpl'; _style.type='text/css'; d.querySelector('head').appendChild(_style); var __form=JSON.parse(decodeURIComponent(_fbe.dataset.txt||'')||'{}'); if(__form.color) _css+='--form-tmpl-color:'+_format_color(__form.color)+';'; if(__form.radius) _css+='--form-tmpl-radius:calc(var(--form-tmpl-height-default) * '+__form.radius+' / 100);'; if(__form.font) _css+='--form-tmpl-font:"'+__form.font+'";'; _style.innerHTML=getTmplInnerHtml('#form-tmpl-css').Compile({css:_css}); var tmpl=d.querySelector('#tmplHTML').content.querySelector('#form-tmpl-'+_fbe.dataset.st); if(tmpl){ _tmpl=_fc.querySelector('.form-tmpl'); if(_fbe.dataset.kid==(_tmpl ? _tmpl.dataset.kid : '')){ _fc.style.display='block'; _tmpl.classList.remove('animate__fadeOutDown'); _tmpl.classList.add('animate__fadeInUp'); return true; } _fc.innerHTML=getTmplInnerHtml('#form-tmpl-ct'); _tmpl=_fc.querySelector('.form-tmpl'); if(_fbe.dataset.st==7){ var tmplOption=getTmplInnerHtml('#form-tmpl-7-option'); __form.options=''; (__form.services||[]).forEach(function(val,idx){ __form.options+=tmplOption.Compile({text:val,idx:idx}); }); _tmpl.innerHTML+=tmpl.innerHTML.Compile(__form); }else{ if(__form.services&&__form.services.length>0){ __form.lis=''; var tmplOption=getTmplInnerHtml('#form-tmpl-service-option'); (__form.services||[]).forEach(function(val,idx){ __form.lis+=tmplOption.Compile({text:val}); }); __form.serviceEncode=encodeURIComponent(__form.service||''); } _fc.querySelector('.form-tmpl').innerHTML+=tmpl.innerHTML.Compile(__form); } _fc.style.display='block'; if(d.querySelector('.tmpl-bg')) d.querySelector('.tmpl-bg').style.display='block'; if(_fbe.dataset.st==6){ var start={},end={}; if(!d.querySelector('#jedate-js')){ var fjs=d.getElementsByTagName(s)[0]; var _link=d.createElement('link'); _link.rel='stylesheet'; _link.type='text/css'; _link.href='https://bio.linkcdn.cc/instabio.cc/static/vendor/jedate/jedate.css'; fjs.parentNode.insertBefore(_link, fjs); var js=d.createElement(s); js.id='jedate-js'; js.async=!0; js.src='https://bio.linkcdn.cc/instabio.cc/static/vendor/jedate/jedate.js'; fjs.parentNode.insertBefore(js, fjs); } lsdkjs(window, 'jeDate').then(function () { jeDate("#tmpl-form-date",{ isinitVal:false, initDate:[{DD:"0"},true], festival: false, format: 'YYYY-MM-DD', clearfun:function () { var _span = d.querySelector('#tmpl-form-date'); _span.innerHTML=_span.dataset.placeholder; }, }); d.querySelector('#tmpl-form-date').dataset.dateval=jeDate.nowDate(); jeDate("#tmpl-form-time",{ isinitVal:false, festival: false, format: 'hh:mm:ss', clearfun:function () { var _span = d.querySelector('#tmpl-form-time'); _span.innerHTML=_span.dataset.placeholder; }, }); }); } } } function formUICust(_fbe,_fc,eleId) { var _divDetail=d.createElement('div'); _divDetail.className='embed-form-box'; _fc.innerHTML=getTmplInnerHtml('#form-tmpl-ct'); _fc.querySelector('.form-tmpl').classList.add('form-cust'); _fc.querySelector('.form-cust').appendChild(_divDetail); _divDetail.innerHTML=getTmplInnerHtml('#form-detail').Format(location.pathname.substring(1),eleId); var __form=JSON.parse(decodeURIComponent(_fbe.dataset.txt||'')||'{}'); var _config = new FormThemeConfig(__form.themes,'form-tmpl-container'); _config.as_css(); _divDetail.querySelector('.form-title .data-field').innerHTML=__form.title||''; _divDetail.querySelector('.form-button .data-field').innerHTML=__form.submit.btn_text||''; _divDetail.querySelector('.form-thanks span').innerHTML=__form.submit.thanks_text||''; var _fieldsGroup=_divDetail.querySelector('.form-fields-group'); __form.fields.forEach(function (item,idx) { if(['email', 'input', 'phone', 'text', 'regions', 'date', 'time', 'number','file'].includes(item.key)){ _fieldsGroup.innerHTML+=getTmplInnerHtml('#form-field-'+item.key).Compile({idx:idx,title:item.title+(item.required==1?' *':''),required:item.required||0,sync:item.sync||0}) } if(item.key=='dropdown'){ _fieldsGroup.innerHTML+=getTmplInnerHtml('#form-field-'+item.key).Compile({idx:idx,title:item.title+(item.required==1?' *':''),required:item.required||0, options:(function () { var ret='',tmpl=''; (item.services||[]).forEach(function (v,i) { ret+=tmpl.Format(v); }); return ret; })()}) } if(['radio', 'checkbox'].includes(item.key)){ _fieldsGroup.innerHTML+=getTmplInnerHtml('#form-field-'+item.key).Compile({idx:idx,title:item.title+(item.required==1?' *':''),required:item.required||0, options:(function () { var ret='',name=item.key+parseInt((Math.random()*1000000),10),tmpl=getTmplInnerHtml('#form-field-'+item.key+'-option'); (item.services||[]).forEach(function (v,i) { ret+=tmpl.Compile({id:item.key+parseInt((Math.random()*1000000000),10),name:name,option:v}); }); return ret; })()}) } }); _fc.style.display='block'; if(d.querySelector('.tmpl-bg')) d.querySelector('.tmpl-bg').style.display='block'; Array.from(_fc.querySelectorAll('.form-field-phone')).forEach(function (ele,i) { v('click',function (e) { var _select=eleParents(e.target,'.form-field-phone').querySelector('.dial-code-select'); if(_select.style.display=='block'){ _select.style.display='none'; }else{ _select.style.display='block'; } },ele.querySelector('.dial-code')); v('click',function (e) { if(eleParents(e.target, 'ul').querySelector('.selected')) eleParents(e.target, 'ul').querySelector('.selected').classList.remove('selected'); var _li=eleParents(e.target, 'li'); _li.classList.add('selected'); eleParents(e.target,'.form-field-phone').querySelector('.dial-code span').innerText=_li.dataset.dial; eleParents(e.target, '.dial-code-select').style.display='none'; },ele.querySelector('.dial-code-select ul')) }); if(_fc.querySelector('.form-field-date')||_fc.querySelector('.form-field-time')){ if(!d.querySelector('#jedate-js')){ var fjs=d.getElementsByTagName(s)[0]; var _link=d.createElement('link'); _link.rel='stylesheet'; _link.type='text/css'; _link.href='https://bio.linkcdn.cc/instabio.cc/static/vendor/jedate/jedate.css'; fjs.parentNode.insertBefore(_link, fjs); var js=d.createElement(s); js.id='jedate-js'; js.async=!0; js.src='https://bio.linkcdn.cc/instabio.cc/static/vendor/jedate/jedate.js'; fjs.parentNode.insertBefore(js, fjs); } lsdkjs(window, 'jeDate').then(function () { Array.from(_fc.querySelectorAll('.form-field-date')).forEach(function (ele,idx) { jeDate(ele.querySelector('input'),{ isinitVal:false, initDate:[{DD:"0"},true], festival: false, format: 'YYYY-MM-DD', }); ele.dataset.dateval=jeDate.nowDate(); }); Array.from(_fc.querySelectorAll('.form-field-time')).forEach(function (ele,idx) { jeDate(ele.querySelector('input'),{ isinitVal:false, festival: false, format: 'hh:mm:ss', }); }); }); } if(!d.querySelector('#grecaptcha-js')){ var js1=d.createElement(s),fjs=d.getElementsByTagName(s)[0]; js1.id='grecaptcha-js'; js1.async=!0; js1.src='https://www.recaptcha.net/recaptcha/api.js?render=explicit'; fjs.parentNode.insertBefore(js1, fjs); } lglrpjs(window).then(function () { onloadCallback(eleId); }) } window.saveContacts = function (that) { var elementA = document.createElement('a'); elementA.download = location.pathname.substring(1)+".vcf"; // elementA.style.display = 'none'; elementA.targent = "_blank"; var bP=eleParents(that,'.embed-contact'); var txt=JSON.parse(decodeURIComponent(bP.dataset.txt)||'{}'),vCard=`BEGIN:VCARD\nVERSION:3.0`; if(txt.firstName||txt.lastName){ vCard+='\nN:{0}{1};'.Format(txt.lastName?txt.lastName+';':'',txt.firstName); } if(txt.organization) vCard+='\nORG:'+txt.organization; if(txt.position) vCard+='\nTITLE:'+txt.position; if(txt.emailPrimary) vCard+='\nEMAIL;TYPE={0}:{1}'.Format(txt.emailPrimaryType.toLowerCase(),txt.emailPrimary); if(txt.emailSecondary) vCard+='\nEMAIL;TYPE={0}:{1}'.Format(txt.emailSecondaryType.toLowerCase(),txt.emailSecondary); if(txt.phonePrimary) vCard+='\nTEL;TYPE={0}:{1}'.Format(txt.phonePrimaryType.toLowerCase(),txt.phonePrimary); if(txt.phoneSecondary) vCard+='\nTEL;TYPE={0}:{1}'.Format(txt.phoneSecondaryType.toLowerCase(),txt.phoneSecondary); if(txt.address1||txt.address2||txt.city||txt.state||txt.country||txt.postcode){ var _tmpl0=''; if(txt.address1) _tmpl0+=txt.address1+';'; if(txt.address2) _tmpl0+=txt.address2+';'; if(txt.city) _tmpl0+=txt.city+';'; if(txt.state) _tmpl0+=txt.state+';'; if(txt.country) _tmpl0+=txt.country+';'; if(txt.postcode) _tmpl0+=txt.postcode+';'; _tmpl0.replace(/;$/, ''); vCard+='\nADR;:;;'+_tmpl0; } vCard+='\nURL;TYPE=Linkbio:'+location.href; if(txt.note) vCard+='\nNOTE:'+txt.note; vCard+='\nEND:VCARD'; var blob = new Blob([vCard],{type: "text/vcard"}); var _url=URL.createObjectURL(blob); elementA.href = _url; document.body.appendChild(elementA); elementA.dispatchEvent(new MouseEvent("click",{bubbles: !0,cancelable: !0,view: window})); document.body.removeChild(elementA); URL.revokeObjectURL(_url); }; var selectSupportAmount=function(e){ var _fbe=e.target||e.srcElement||{}; if(_fbe.nodeName=='INPUT'){ var _fbeP=null,_value; if(_fbe.type=='radio'){ _fbeP=eleParents(_fbe,'.amount-select'); if(_fbeP.querySelector('div .selected')) _fbeP.querySelector('div .selected').classList.remove('selected'); _fbe.parentElement.parentElement.querySelector('.amount-select-label').classList.add('selected'); _value=parseInt(_fbe.value||'0', 10)/100.0; }else if(_fbe.type=='number'){ _fbeP=eleParents(_fbe,'.support-amount'); if(_fbeP.querySelector('div .selected')){ _fbeP.querySelector('div .selected').classList.remove('selected'); _fbeP.querySelector('input[type=radio]:checked').removeAttribute('checked'); } _value=parseFloat(_fbe.value||'0'); } if(_value<1000.0){ _fbeP = eleParents(_fbe,'.embed-support'); if(_fbe.value>0){_fbeP.querySelector('.support-continue button').removeAttribute('disabled');} else{eleParents(_fbe,'.embed-support').querySelector('.support-continue button').setAttribute('disabled',true);} if(_fbeP.querySelector('.embed-support-error')) _fbeP.querySelector('.embed-support-error').remove(); }else{ if(!_fbeP.querySelector('.embed-support-error')){ var errP=d.createElement('p'); errP.innerHTML='This amount is too high, please set a lower amount'; errP.className='embed-support-error'; _fbeP.querySelector('.support-amount-custom').appendChild(errP); } eleParents(_fbe,'.embed-support').querySelector('.support-continue button').setAttribute('disabled',true); } } }; var payContinue=function(e){ var _fbe=e.target||e.srcElement||{}; var _embedBox=eleParents(_fbe, '.embed-support'); if(_embedBox){ _embedBox.querySelector('.embed-box').style.display='none'; _embedBox.querySelector('.embed-support-detail').style.display='block'; var amount=0; if(_embedBox.querySelector('.embed-box .selected')){ amount=parseInt(_embedBox.querySelector('.embed-box input[name=amount]:checked').value)/100.0; }else{ amount=parseInt(parseFloat(_embedBox.querySelector('.amount-custom-input').value)*100,10)/100.0; } _embedBox.querySelector('.embed-support-detail .support-detail-amount').innerHTML=amount; } },payContinueGifts=function (fbe,amount){ var _embedBox=eleParents(fbe, '.embed-support'); if(_embedBox){ _embedBox.querySelector('.embed-box').style.display='none'; _embedBox.querySelector('.embed-support-detail').style.display='block'; _embedBox.querySelector('.embed-support-detail .support-detail-amount').innerHTML=amount; } }; var payBack=function(e){ var _fbe=e.target||e.srcElement||{}; var _embedBox=eleParents(_fbe, '.embed-support'); if(_embedBox){ _embedBox.querySelector('.embed-box').style.display='block'; _embedBox.querySelector('.embed-support-detail').style.display='none'; } }; var paySupportCheckEmail=function(e){ var _fbe=e.target||e.srcElement||{}; var email = _fbe.value.trim(); var regEmail = /\w+([\w.-])*@[\w-]+\.\w+[.|\w]*/; if (regEmail.test(email) == false) { eleParents(_fbe, '.embed-support-detail').querySelector('.support-continue button').setAttribute('disabled',true); }else{ eleParents(_fbe, '.embed-support-detail').querySelector('.support-continue button').removeAttribute('disabled'); } }; function _initStripeConf(fbe){ var stripe = Stripe(fbe.dataset.key); // Create an instance of Elements. var elements = stripe.elements({locale: (navigator.language||navigator.userLanguage).substring(0,2)||'en'}); // Custom styling can be passed to options when creating an Element. // (Note that this demo uses a wider set of styles than the guide below.) var style = { base: { color: '#32325d', fontFamily: '"Helvetica Neue", Helvetica, sans-serif', fontSmoothing: 'antialiased', fontSize: '16px', '::placeholder': { color: '#c2c2c2' } }, invalid: { color: '#f15e48', iconColor: '#f15e48' } }; var card = elements.create('card', {style: style}); card.addEventListener('change', function (event) { var displayError = eleParents(fbe,'.pay-element').querySelector('.pay-stripe #card-errors'); // var button = document.getElementById('payment-button'); // button.disabled = (!event.complete || event.error); if (event.error) { displayError.textContent = event.error.message; fbe.setAttribute('disabled', true); } else { displayError.textContent = ''; } if(event.complete){ eleParents(fbe,'.pay-element').querySelector('.pay-stripe .support-continue button').removeAttribute('disabled'); }else{ eleParents(fbe,'.pay-element').querySelector('.pay-stripe .support-continue button').setAttribute('disabled', true); } }); // id, class, element card.mount(eleParents(fbe,'.pay-element').querySelector('.pay-stripe #card-element')); // Handle form submission. var form = eleParents(fbe,'.pay-element').querySelector('.pay-stripe #payment-form'); return {stripe:stripe,card:card,form:form}; } var paySupportStripe=function (fbe) { var _stripeConf=_initStripeConf(fbe); _stripeConf.form.addEventListener('submit', function (event) { event.preventDefault(); function showError(message) { var errorElement = eleParents(fbe,'.pay-element').querySelector('.pay-stripe #card-errors'); errorElement.textContent = message; _stripeConf.card.update({disabled: false}); eleParents(fbe,'.pay-stripe').querySelector('.support-continue').style.display='block'; eleParents(fbe,'.pay-stripe').querySelector('.embed-loading').style.display='none'; } // pay-stripe eleParents(fbe,'.pay-element').querySelector('.pay-stripe .support-continue').style.display='none'; eleParents(fbe,'.pay-element').querySelector('.pay-stripe .embed-loading').style.display='block'; _stripeConf.stripe.createPaymentMethod({ type: 'card', card: _stripeConf.card }).then(function (result) { var email=eleParents(fbe, '.embed-support-detail').querySelector('input[name=email]').value,note=eleParents(fbe, '.embed-support-detail').querySelector('textarea').value, amount=0,supType='support'; var _EP=eleParents(fbe, '.embed-support'); if(_EP.dataset.subtype=='support-wishlist'){ supType='support-wishlist'; amount=_EP.querySelector('.carousel-item--info .carousel-item--title').dataset.price * 100 }else if(_EP.dataset.subtype=='support-gifts'){ supType='support-gifts'; amount = handlerSupportGifts(d.querySelector('#'+_EP.dataset.kid + ' .support-action button'),'amount')*100; }else if(eleParents(fbe,'.embed-support').querySelector('.embed-box .selected')){ amount=eleParents(fbe,'.embed-support').querySelector('.embed-box input[name=amount]:checked').value; }else{ amount=parseInt(parseFloat(eleParents(fbe,'.embed-support').querySelector('.amount-custom-input').value)*100,10); } if (result.error) { showError(result.error.message); } else { ibjax('POST', '/share/support/{uid}/link/{lnkid}/pm/stripe/'.Compile({lnkid:__data.bio.id,uid:__data.ui.uid}), {data: {'email':email,'note':note,'amount':amount,currency:__data.ppset.currency||'USD','pmid':result.paymentMethod.id,'pk':fbe.dataset.id,'kid':_EP.dataset.kid,supType:supType}, fn: function (resp) { var _thx= supType=='support-wishlist'?'Grateful to you for fulfilling my wishlist dreams.':'Thanks for your support!'; swal('',eleParents(fbe,'.embed-support').querySelector('.support-detail').dataset.success||_thx,'success'); eleParents(fbe,'.embed-support').remove(); if(d.querySelector('.tmpl-bg')) d.querySelector('.tmpl-bg').style.display='none'; } }); return; } }); }); }; function paySupportPaypal(fbe) { var amount=0,email=eleParents(fbe, '.embed-support-detail').querySelector('input[name=email]').value,note=eleParents(fbe, '.embed-support-detail').querySelector('textarea').value,supType='support'; var _EP=eleParents(fbe, '.embed-support'); if(_EP.dataset.subtype=='support-wishlist'){ supType='support-wishlist'; amount=_EP.querySelector('.carousel-item--info .carousel-item--title').dataset.price; }else if(_EP.dataset.subtype=='support-gifts'){ supType='support-gifts'; amount = handlerSupportGifts(d.querySelector('#'+_EP.dataset.kid + ' .support-action button'),'amount'); }else if(eleParents(fbe,'.embed-support').querySelector('.embed-box .selected')){ amount=parseInt(eleParents(fbe,'.embed-support').querySelector('.embed-box input[name=amount]:checked').value)/100.0; }else{ amount=parseInt(parseFloat(eleParents(fbe,'.embed-support').querySelector('.amount-custom-input').value)*100,10)/100.0; } try{ paypal.Buttons({ // Sets up the transaction when a payment button is clicked createOrder: function (data, actions) { return actions.order.create({ purchase_units: [{ amount: { value: amount+'', breakdown:{item_total: {value: amount+'',currency_code:__data.ppset.currency||'USD'}}, }, description:note, items:[{name:'Instabio: Support Me',quantity: '1',unit_amount:{currency_code:__data.ppset.currency||'USD',value: amount+''}}] }], payer:{email_address:email}, }); }, // Finalize the transaction after payer approval onApprove: function (data, actions) { return actions.order.capture().then(function (orderData) { ibjax('POST', '/share/support/{uid}/link/{lnkid}/pm/paypal/'.Compile({lnkid:__data.bio.id,uid:__data.ui.uid}), { data:{'email':email, 'note':note,'amount':(parseInt(amount*100)),currency:__data.ppset.currency||'USD','order':orderData.id,'pk':fbe.dataset.id,'kid':eleParents(fbe, '.embed-support').dataset.kid,supType:supType}, fn: function (resp) { var _thx= supType=='support-wishlist'?'Grateful to you for fulfilling my wishlist dreams.':'Thanks for your support!'; swal('',eleParents(fbe,'.embed-support').querySelector('.support-detail').dataset.success||_thx,'success'); eleParents(fbe,'.embed-support').remove(); d.querySelector('.tmpl-bg').style.display='none'; } }); }); }, onCancel: function (data) { }, onError: function (err) { } }).render(eleParents(fbe,'.pay-element').querySelector('.pay-paypal #paypal-button-container')); }catch (e) { } } var paySupportAction=function(e){ var _fbe=e.target||e.srcElement||{},fjs,js; var payELe = eleParents(_fbe, '.pay-element'); payELe.querySelector('.pay-action').style.display='none'; if(parseInt(_fbe.dataset.type,10)==3){// stripe payELe.querySelector('.pay-stripe').style.display='block'; if(d.querySelector('#stripe-js')){ paySupportStripe(_fbe); }else{ fjs=d.getElementsByTagName(s)[0]; js=d.createElement(s); js.id='stripe-js'; js.async=!0; js.src='https://js.stripe.com/v3/'; fjs.parentNode.insertBefore(js, fjs); lstripejs(window).then(function () { paySupportStripe(_fbe); }); } }else if(parseInt(_fbe.dataset.type,10)==1||parseInt(_fbe.dataset.type,10)==2||parseInt(_fbe.dataset.type,10)==4){// paypal payELe.querySelector('.pay-paypal').style.display='block'; if(!__data.ppset.pp_id){ if(d.querySelector('#paypal-js')){ d.querySelector('#paypal-js').remove(); } } if(!d.querySelector('#paypal-js')){ fjs=d.getElementsByTagName(s)[0]; js=d.createElement(s); js.id='paypal-js'; js.async=!0; if(parseInt(_fbe.dataset.type,10)==4||parseInt(_fbe.dataset.type,10)==1){ js.src='https://www.paypal.com/sdk/js?client-id=AVXA7k3ch2iKIUIdVD4opxU8paESOY_iZbz_cCJJFkHSneslYza_WG_NqDh0OInJgN0Afi4B0rJyZSDe&merchant-id={0}&vault=true¤cy={1}'.Format(_fbe.dataset.merchantid,__data.ppset.currency||'USD'); }else{ js.src='https://www.paypal.com/sdk/js?client-id={0}&vault=true¤cy={1}'.Format(_fbe.dataset.key,__data.ppset.currency||'USD'); } fjs.parentNode.insertBefore(js, fjs); } // if(d.querySelector('#paypal-js')) d.querySelector('#paypal-js').remove(); lpaypaljs(window).then(function () { paySupportPaypal(_fbe); }); } }; function handlerSupport(fbe){ var _fc=d.querySelector('#form-tmpl-container'); if(!_fc){_fc=d.createElement('div');_fc.id='form-tmpl-container';_fc.className='form-tmpl-container';d.body.appendChild(_fc);} var _divBox=d.createElement('div'),_divDetail=d.createElement('div'); _divBox.className='embed-box'; _divDetail.className='embed-support-detail'; _fc.innerHTML=`

`; _fc.querySelector('.embed-support').dataset.kid=fbe.dataset.kid; _fc.querySelector('.embed-support').appendChild(_divBox); _fc.querySelector('.embed-support').appendChild(_divDetail); var txt=JSON.parse(decodeURIComponent(fbe.dataset.txt)||'{}'), _provider=txt.provider||{}; _provider.type=_provider.type||(__data.ppset||{}).pp_type; _provider.id=_provider.id||(__data.ppset||{}).pp_id; _provider.key=_provider.key||(__data.ppset||{}).key; _provider.merchantId=_provider.merchantId||(__data.ppset||{}).provider; var amountHTML='',_EP=eleParents(fbe, '.bio-support'); if(_EP&&_EP.dataset.subtype=='cmpt-support-gifts'){//support gifts // _divDetail.className+=' embed-support-gifts'; _fc.querySelector('.embed-support').classList.add('embed-support-gifts'); _fc.querySelector('.embed-support').dataset.subtype='support-gifts'; // check amount var amount=handlerSupportGifts(fbe,'amount'); // if(_EP.querySelector('.support-gifts--number.selected')||parseInt(_EP.querySelector('.support-gifts--count input').value, 10)){ if(amount){ _divBox.innerHTML=getTmplInnerHtml('#embed-support').Compile({amount:amountHTML,desc:txt.desc,success:decodeURIComponent(txt.success),customDisplay:txt.customAmount?'block':'none', payType:_provider.type,key:_provider.key,cy_sym:__data.ppset.cy_sym||'$',currency:__data.ppset.currency||'USD'}); // detail _divDetail.innerHTML=getTmplInnerHtml('#embed-support-detail').Compile({success:decodeURIComponent(txt.success),noteDisplay:txt.noteMessage?'block':'none',link:location.pathname.slice(1), payType:_provider.type,key:_provider.key,id:_provider.id,merchantid:_provider.merchantId,cy_sym:__data.ppset.cy_sym||'$',currency:__data.ppset.currency||'USD'}); _fc.style.display='block'; payContinueGifts(_divBox.querySelector('.support-continue button'),amount); d.querySelector('.tmpl-bg').style.display='block'; v("keyup", paySupportCheckEmail, _divDetail.querySelector('.support-detail-email input')); v("click", paySupportAction, _divDetail.querySelector('.support-continue button')); } }else{ var amountTMPL=getTmplInnerHtml('#embed-support-amount'); txt.amount.forEach(function (val,idx) { amountHTML+=amountTMPL.Format(parseInt(Math.random()*10000000000,10),(val/100.00),val,__data.ppset.cy_sym||'$'); }); _divBox.innerHTML=getTmplInnerHtml('#embed-support').Compile({amount:amountHTML,desc:txt.desc,success:decodeURIComponent(txt.success),customDisplay:txt.customAmount?'block':'none', payType:_provider.type,key:_provider.key,cy_sym: __data.ppset.cy_sym||'$',currency:__data.ppset.currency||'USD'}); // detail _divDetail.innerHTML=getTmplInnerHtml('#embed-support-detail').Compile({success:decodeURIComponent(txt.success),noteDisplay:txt.noteMessage?'block':'none',link:location.pathname.slice(1), payType:_provider.type,key:_provider.key,id:_provider.id,merchantid:_provider.merchantId,cy_sym:__data.ppset.cy_sym||'$',currency:__data.ppset.currency||'USD'}); _fc.style.display='block'; d.querySelector('.tmpl-bg').style.display='block'; v("click", selectSupportAmount, _divBox.querySelector('.support-amount')); v("keyup", selectSupportAmount, _divBox.querySelector('.support-amount')); v("click", payContinue, _divBox.querySelector('.support-continue button')); v("click", payBack, _divDetail.querySelector('.support-back button')); v("keyup", paySupportCheckEmail, _divDetail.querySelector('.support-detail-email input')); v("click", paySupportAction, _divDetail.querySelector('.support-continue button')); } } function handlerSupportGifts(node,action){ var _EP=eleParents(node, '.support-box'); var txt=JSON.parse(decodeURIComponent(_EP.dataset.txt)||'{}'); var amount=0; if(action=='select'){ amount=parseInt(parseInt(node.dataset.count,10) * parseInt(txt.price,10) / 100.0, 10); if(node.parentElement.querySelector('.selected')) node.parentElement.querySelector('.selected').classList.remove('selected'); node.classList.add('selected'); _EP.querySelector('.support-action button span').innerHTML=' {2} {1}'.Format(txt.giftType,amount,(__data.ppset||{}).cy_sym||'$'); } if(action=='amount'){ var _cDiv=_EP.querySelector('.support-gifts--number.selected'); if(_cDiv){ amount = parseInt(parseInt(_cDiv.dataset.count,10) * parseInt(txt.price,10) / 100.0, 10) }else{ amount = parseInt(parseInt(_EP.querySelector('.support-gifts--count input').value, 10) * parseInt(txt.price,10) / 100.0, 10) } } return amount; } function removeEle(idCls){ idCls=idCls||'.embed-boxBG'; if(d.querySelector(idCls)){ var _EP=eleParents(d.querySelector(idCls), '.button-item') if(_EP&&_EP.querySelector('.button--expended')) _EP.querySelector('.button--expended').classList.remove('button--expended'); d.querySelector(idCls).remove(); } } function removeEmbedBox(){ removeEle('.button-item .embed-twitter'); removeEle('.button-item .embed-pins'); removeEle(); } function scrollAction(pTar,actions,that){ var _pTar=pTar.querySelector(actions[2]); if(actions[0]=='left'){ // _pTar.scrollBy(-parseInt(_pTar.getBoundingClientRect().width/2,10),0); _pTar.scrollBy({top:0,left:-parseInt(_pTar.getBoundingClientRect().width/2,10),behavior:'smooth'}); if(_pTar.scrollLeft<=parseInt(_pTar.getBoundingClientRect().width/2,10)) that.disabled=true; } if(actions[0]=='right'){ // _pTar.scrollBy(parseInt(_pTar.getBoundingClientRect().width/2,10), 0); _pTar.scrollBy({top:0,left:parseInt(_pTar.getBoundingClientRect().width/2,10),behavior:'smooth'}); if(pTar.querySelector('.left')) pTar.querySelector('.left').disabled=false; } } function transformAction(pTar,actions,that){ var _pTar=pTar.querySelector(actions[2]); var _rect=_pTar.getBoundingClientRect(); if(actions[0]=='left'){ var _transform=_pTar.style.transform,_x=0; if(_transform){ var _reg_ret = /X\(([\-0-9\.]+px)\)/g.exec(_transform); if(_reg_ret) _x=parseFloat(_reg_ret[1]); } _pTar.style.transform='translateX({0}px)'.Format(_x+_rect.width); if((_x+_rect.width)>(0-_rect.width)) that.style.display='none'; that.nextElementSibling.style.display='inline-block'; } if(actions[0]=='right'){ var _transform=_pTar.style.transform,_x=0; if(_transform){ var _reg_ret = /X\(([\-0-9\.]+px)\)/g.exec(_transform); if(_reg_ret) _x=parseFloat(_reg_ret[1]); } var __tar=_pTar.querySelectorAll(actions[3]); if(__tar.length>0){ __tar=__tar[__tar.length-1]; var __rect=__tar.getBoundingClientRect(); if(__rect.x-_rect.width<_rect.width) that.style.display='none'; } _pTar.style.transform='translateX({0}px)'.Format(_x-_rect.width); that.previousElementSibling.style.display='inline-block'; } } function playAction(pTar,actions,that){ if(actions[2]=='video'){ var _pTar=pTar.querySelector(actions[2]); if (_pTar.paused) { _pTar.play(); _pTar.parentElement.classList.add('playing'); that.innerHTML='
'; }else{ _pTar.pause(); _pTar.parentElement.classList.remove('playing'); that.innerHTML='
'; } } if(actions[2]=='iframe'){ pTar.innerHTML=''.Format(pTar.dataset.embed); } } function shareAction(){ var shareURL=location.href.split('?')[0]+'?utm_source=instabio&utm_medium=profile_share', linkPromote='//linkfly.to/madewithl?us=instabio&um=profile_share&uc='+location.pathname.substring(1); ////www.instabio.cc/en?utm_source=instabio&utm_medium=profile_share if(navigator.share&&GetBrowserOS().os!='browser'){ navigator.share({ title: document.title, text: document.querySelector('meta[name=description]').content, url: shareURL, }).then(() => { }).catch((error) => { }); }else{ var _pModal=popupModal({cls:'share-link-pop'}); _pModal.container.innerHTML=getTmplInnerHtml('#popup-link-share').Compile({link:shareURL,linkShow:shareURL.replace(/https?:\/\//,''),lnkP:linkPromote}); } } function closeBlockButton(that,epCls){ var _pTar=ep(that,epCls); if(_pTar){ var _epItem=_pTar.querySelector('.button--expended'),_h1=_epItem.getBoundingClientRect().height; // var _epItem=_pTar.querySelector('.embed-block-box'),_h1=_epItem.getBoundingClientRect().height; _pTar.style.height=_pTar.getBoundingClientRect().height+'px'; setTimeout(function () { _pTar.style.height=_h1+'px'; },20); setTimeout(function () { var _buttons = _pTar.querySelectorAll('.button-item'); (_buttons||[]).forEach(function (b,i) { if(i>0) b.remove(); }); _epItem.classList.remove('button--expended'); _pTar.style.overflow='visible'; },320) setTimeout(function () { _pTar.style.height='auto'; },400); } } function closeTSPProduct(that,epCls){ var _pTar=ep(that,epCls),_pTarItem=ep(that,'.carousel-item--info'); if(_pTar){ var sub=JSON.parse(decodeURIComponent(_pTarItem.dataset.sub)||'{}'); _pTar.classList.add('embed-tsp--closed'); _pTar.querySelector('.item-embed--bg').innerHTML=`
{0}
`.Format(sub.title); } } function viewTSPProducts(that,epCls){ var _pTar=ep(that,epCls),_pTarBlock=ep(that,'.item-block'); if(_pTar){ var _pModal=popupModal({cls:'popup-embed-tsp-products'}); _pModal.popup.classList.add('popup-embed-tsp-products-v1') _pModal.container.innerHTML=getTmplInnerHtml('#popup-embed-tsp-products').Compile({}); var _sub=JSON.parse(decodeURIComponent(_pTar.dataset.sub)||'{}'), _subProds=JSON.parse(_sub.text||'{}'), _prods=JSON.parse(decodeURIComponent(_pTarBlock.dataset.prods)||'{}'), _pTmpl=getTmplInnerHtml('#popup-embed-tsp-prodItemV1'); var _other=__data.bio.other||{}; (_subProds.products||[]).forEach(function (p) { var _pLi=d.createElement('li'),_pInfo=_prods.find(function (pr) {return pr.id==p.id;}); if(_pInfo){ _pLi.className='embed-tsp__item'; _pLi.dataset.prod=encodeURIComponent(JSON.stringify(_pInfo)); var _pC=_pInfo.channels,_pL=_pC.length>0?_pC[0].link||'javascript:;':'javascript:;'; var priceHTML,channelHTML='',cy_sym=_getCySym(_pInfo.platform); if(_pInfo.sale_price){ priceHTML='{sym}{sale_price}{sym}{price}'.Compile({sym:cy_sym,sale_price:_pInfo.sale_price,price:_pInfo.price}); }else{ priceHTML='{sym}{price}'.Compile({sym:cy_sym,price:_pInfo.price}); } (_pInfo.channels||[]).forEach(function (c) { if(isEmpty(c.defaultChannel)||c.defaultChannel){ if(isEmpty(c.defaultChannelShow)||c.defaultChannelShow) channelHTML+=`
`.Format(clearImage(c.icon||'bio/links/icons/social/{0}.png'.Format(_pInfo.platform))); }else{ if(c.icon) channelHTML+=`
`.Format(clearImage(c.icon)); } }); _pLi.innerHTML=_pTmpl.Compile({image:clearImage(_pInfo.image),title:_pInfo.title,price:_pInfo.price, link:_pL,priceHTML:priceHTML,channelHTML:channelHTML}); _pModal.container.querySelector('.embed-tsp__list').appendChild(_pLi); } }); } } function _showProdInfo(prod,pType,that){ var _pModal=popupModal({cls:'popup-embed-tsp-prodinfo', level:'second'}); _pModal.popup.classList.add('popup-embed-tsp-prodinfo'); var _other=__data.bio.other||{}; prod.images=prod.images||[]; var swiperHtml='',chHtml='',autoplay=prod.images.length>1,choiceDisplay='hidden',choicesHtml=''; if(prod.images.length==0){ autoplay=false; swiperHtml='
  • '; }else{ for(var i=0;i'; } } var priceHTML='',labelHtml='',cy_sym=_getCySym(prod.platform),_tips=''; if(prod.label&&prod.label.name){ labelHtml='{name}'.Compile(prod.label); } if(prod.sale_price){ priceHTML='{sym}{sale_price} {sym}{price}'.Compile({sym:cy_sym,sale_price:prod.sale_price,price:prod.price}); }else{ priceHTML='{sym}{price}'.Compile({sym:cy_sym,price:prod.price}); } if(pType=='qas'||pType=='ctmprod'){ // _tips=gettext('Delivery within a maximum of {0} days.').Format(prod.max_fulfillment_day); _tips=gettext('Delivery within a maximum of {0} days.').Format(10); }else{ _tips=gettext('Digital download products are automatically delivered.'); } if(pType=='ctmprod'&&prod.choices&&prod.choices.length>0){ choiceDisplay='block'; prod.choices.forEach(function (c) { c.priceDisplay=cy_sym+(c.price/100.0).toFixed(2); choicesHtml+=`
    `.Compile(c); }); } if(pType=='prodinfo'){ (prod.channels||[]).forEach(function (c) { var _platOrder={'tiktokshop': 'Order via TikTok Shop', 'shopee': 'Order via Shopee'} if(c.icon&&c.icon.indexOf('bio/links/icons/')!=-1){ var _k=getImageKey(c.icon); if(_k){ c.iconfont='icon-'+_k; }else{ c.displayImg='block'; c.displayIcon='hidden'; } }else{ c.displayImg='block'; c.displayIcon='hidden'; } if(isEmpty(c.defaultChannel)||c.defaultChannel){ c.title=c.title||_platOrder[prod.platform]||'Buy Now'; if(isEmpty(c.defaultChannelShow)||c.defaultChannelShow){ c.icon=clearImage(c.icon||'bio/links/icons/social/{0}.png'.Format(prod.platform)); chHtml+=`
  • {title}
  • `.Compile(c); } }else{ if(c.icon){ c.icon=clearImage(c.icon) }else{ c.icon='https://bio.linkcdn.cc/static/scene/blank.png'; } chHtml+=`
  • {title}
  • `.Compile(c); } }); } _pModal.container.innerHTML=getTmplInnerHtml('#popup-embed-tsp-prodinfo').Compile({swiperHtml:swiperHtml, priceHTML:priceHTML,title:prod.title,chHtml:chHtml,labelHTML:labelHtml,descDisplay:!isEmpty(prod.description)?'':'hidden', description:(prod.description||'').replace(/\n|\r/g, '
    '),path:prod.id,kid:that.dataset.kid, tips:_tips,pType:pType,choiceDisplay:choiceDisplay,choicesHtml:choicesHtml, }); return {pModal:_pModal,autoplay:autoplay}; } function viewTSPProdInfo(that,epCls){ var _pTar=ep(that,epCls); if(_pTar){ var _prod; if(_pTar.dataset.prod){ _prod=JSON.parse(decodeURIComponent(_pTar.dataset.prod)||'{}'); }else{ var _sub=JSON.parse(decodeURIComponent(_pTar.dataset.sub)||'{}'),_pTarBlock=ep(that,'.item-block'), _subProds=JSON.parse(_sub.text||'{}').products||[], _prods=JSON.parse(decodeURIComponent(_pTarBlock.dataset.prods)||'{}'); _prod=_prods.find(function (pr) {return pr.id==_subProds[0].id;}); } var _pM = _showProdInfo(_prod,'prodinfo',that); if(__data.bio.part>=3){ var _cmptId= ep(_pTar,'.box-cmpt').parentElement.id; showProductV2(_pM.pModal,_cmptId); } new Swiper('#embed-tsp_prodinfo__images', { loop: _pM.autoplay, autoplay: _pM.autoplay, speed:2000, slidesPerView: 1, pagination: { el: '.swiper-pagination', clickable: true, }, scrollbar: { el: '.swiper-scrollbar', }, }); } } function viewDigitalProdInfo(that,epCls,pType){ pType=pType||'digital'; var _pTar=ep(that,epCls); if(_pTar){ var _prod; if(_pTar.dataset.prod){ _prod=JSON.parse(decodeURIComponent(_pTar.dataset.prod)||'{}'); } if(_prod){ var _pM = _showProdInfo(_prod,pType,that); _pM.pModal.popup.classList.add('popup-embed-digital-prodinfo'); if(pType!='digital'){ _pM.pModal.popup.classList.add('popup-embed-digital-'+pType); } new Swiper('#embed-tsp_prodinfo__images', { loop: _pM.autoplay, autoplay: _pM.autoplay, speed:2000, slidesPerView: 1, pagination: { el: '.swiper-pagination', clickable: true, }, scrollbar: { el: '.swiper-scrollbar', }, }); } } } function popupAction(that,actions){ var _pModal,_embedOp; if(actions[0] == 'embed' && actions[1] == 'iframe'){ _pModal=popupModal({cls:'popup-embed-iframe'}); _embedOp=GetEmbedURL(that.getAttribute('href')); if(actions[2]=='event-live'){ var _title=eleParents(that,'.bio-live').querySelector('.embed-event-title').innerText; _pModal.container.innerHTML=getTmplInnerHtml('#popup-embed-iframe').Compile({title:_title, embedCls:'embed-{0}-{1}'.Format(_embedOp.platform,_embedOp.type),embedLink:_embedOp.url,referrerpolicy:_embedOp.referrerpolicy||''}); } } if(actions[0] == 'reminder'){ _pModal=popupModal({cls:'popup-reminder-'+actions[1],htmlId:'popup-event-reminder'}); // _embedOp=GetEmbedURL(that.getAttribute('href')); if(actions[1]=='event'||actions[1]=='live'){ var _id=eleParents(that,'.bio-block').id; _pModal.container.dataset.id=_id; } } } function fundAction(that,actions){ var _fc=d.querySelector('#form-tmpl-container'),_EP=eleParents(that,'.bio-wishlist'); window._EP=_EP; var cmpt=__data.content.cmpts.find(function (c) { return c.id==_EP.id; }); if(cmpt&&cmpt.text&&actions[0]=='wishlist'){ if(!_fc){_fc=d.createElement('div');_fc.id='form-tmpl-container';_fc.className='form-tmpl-container';d.body.appendChild(_fc);} var _divDetail=d.createElement('div'),_divBox=d.createElement('div'); // _divBox.className='embed-box'; _divDetail.className='embed-support-detail embed-support-wishlist'; _fc.innerHTML=`

    `; _fc.querySelector('.embed-support').dataset.kid=cmpt.id; // _fc.querySelector('.embed-support').appendChild(_divBox); _fc.querySelector('.embed-support').appendChild(_divDetail); var txt=JSON.parse(decodeURIComponent(cmpt.text)||'{}'),_provider=txt.provider||{}; _provider.type=_provider.type||(__data.ppset||{}).pp_type; _provider.id=_provider.id||(__data.ppset||{}).pp_id; _provider.key=_provider.key||(__data.ppset||{}).key; _provider.merchantId=_provider.merchantId||(__data.ppset||{}).provider; var amountHTML=''; var _EPW=eleParents(that,'.carousel-item'); _fc.querySelector('.embed-support').dataset.subtype = 'support-wishlist'; // check amount var amount = _EPW.querySelector('.carousel-item--info .carousel-item--title').dataset.price; if (amount) { // detail _divDetail.innerHTML = getTmplInnerHtml('#embed-support-detail').Compile({ success: decodeURIComponent(txt.success), noteDisplay: txt.noteMessage ? 'block' : 'none', link: location.pathname.slice(1), payType: _provider.type, key: _provider.key, id: _provider.id, merchantid: _provider.merchantId }); _divDetail.prepend(_EPW.querySelector('.carousel-item--info').cloneNode(true)); var _titleDiv=d.createElement('div'); _titleDiv.className='embed-support--title'; _titleDiv.innerText='Fund This Wish'; _divDetail.prepend(_titleDiv); _fc.style.display = 'block'; d.querySelector('.tmpl-bg').style.display = 'block'; v("keyup", paySupportCheckEmail, _divDetail.querySelector('.support-detail-email input')); v("click", paySupportAction, _divDetail.querySelector('.support-continue button')); } } } function closeMaskCW(that,epCls){ var _pTar=ep(that,epCls); if(_pTar) _pTar.remove(); globalFN.pageInit(); } function closeEmbedPopup(that,epCls){ var _pTar=ep(that,epCls); if(_pTar) _pTar.remove(); } function requestOptionCheck(fte){ var reqOp=eleParents(fte,'.form-field-radio-option'),boxDiv=eleParents(fte,'.support-box'); if(reqOp&&boxDiv){ boxDiv.querySelector('.support-action button span:last-child').innerHTML='('+reqOp.querySelector('span').innerHTML+')'; } } var payRequestCheck=function(e){ var _fbe=e.target||e.srcElement||{}; var pTar=eleParents(_fbe, '.checkout-fields'),pField=eleParents(_fbe, '.checkout-field'),value; var _fiedls=[],_error=false; pTar.querySelectorAll('.checkout-field').forEach(function (f) { var _value,valEle; if(f.dataset.type=='email'){ _value=f.querySelector('input').value.trim(); if(!isEmail(_value)||!_value){ _error=true; } }else if(f.dataset.type=='username'){ _value=f.querySelector('input').value.trim(); if(f.dataset.required==1&&!_value){ _error=true; } }else if(f.dataset.type=='phone'){ _value=f.querySelector('input').value.trim(); if(f.dataset.required==1&&!_value){ _error=true; } if(_value&&!isPhone(_value)){ _error=true; } }else if(f.dataset.type=='location'){ if(f.dataset.required==1){ Array.from(f.querySelectorAll('input')).concat(Array.from(f.querySelectorAll('select'))).forEach(function (i) { _value=i.value.trim(); if(!_value){ _error=true; } }); } if(f.querySelector('input[name=postal]')){ _value=f.querySelector('input[name=postal]').value.trim(); if(_value&&!isPostalCode(_value)){ _error=true; } } }else if(f.dataset.type=='custom'){ _value=f.querySelector('textarea').value.trim(); if(f.dataset.required==1&&!_value){ _error=true; } }else if(f.dataset.type=='question'){ valEle=f.querySelector('input')||f.querySelector('textarea'); _value=valEle.value.trim(); if(f.dataset.required==1&&!_value){ _error=true; } } }); if(_error){ eleParents(_fbe, '.embed-request__cont').querySelector('.support-continue button').setAttribute('disabled',true); }else{ eleParents(_fbe, '.embed-request__cont').querySelector('.support-continue button').removeAttribute('disabled'); } }; var payRequestResult=function (fbe,result){ var _EP=eleParents(fbe, '.embed-request__cont'); var email=_EP.querySelector('input[name=email]').value,username=_EP.querySelector('input[name=username]').value; var amount=0,reqType='request',_prod,service='',_service='',customer={email:email,username:username,fields:(function () { var _fields=[]; _EP.querySelectorAll('.checkout-field').forEach(function (f) { if(f.dataset.type=='email'){ _fields.push({type:'email',value:f.querySelector('input').value.trim(), required: f.dataset.required}); } if(f.dataset.type=='username'){ _fields.push({type:'username',value:f.querySelector('input').value.trim(), required: f.dataset.required}); } if(f.dataset.type=='phone'){ _fields.push({type:'phone',value:f.querySelector('.dial-code span').innerHTML+' '+f.querySelector('input').value.trim(), required: f.dataset.required}); } if(f.dataset.type=='location'){ var _location=[]; Array.from(f.querySelectorAll('input')).concat(Array.from(f.querySelectorAll('select'))).forEach(function (i) { _location.push(i.value.trim()); }); _fields.push({type:'location',value:_location.join(', '), required: f.dataset.required,format:f.dataset.format}); } if(f.dataset.type=='custom'){ _fields.push({type:'custom',value:f.querySelector('textarea').value.trim(), required: f.dataset.required, title:(f.querySelector('textarea').placeholder||'').replace(/ \*$/, '')}); } // if(f.dataset.type=='question'){ // var valEle=f.querySelector('input')||f.querySelector('textarea'); // _fields.push({type:'question',value:valEle.value.trim(), required: f.dataset.required, // title:(f.querySelector('.checkout-fields--title').innerHTML||'').replace(/ \*$/, '')}); // } }); return _fields; }())}; if(_EP.dataset.subtype=='digital'){ reqType=_EP.dataset.subtype; amount=parseInt(_EP.querySelector('.checkout-summary').dataset.amount,10); _prod=JSON.parse(decodeURIComponent(document.querySelector('#'+fbe.dataset.kid).querySelector('.item-block').dataset.prod)); if(isEmpty(_prod.sale_price)){ _prod.price=amount; delete _prod.sale_price; }else{ _prod.price=parseInt(parseFloat(_prod.price, 10) * 100, 10) _prod.sale_price=amount; } }else if(_EP.dataset.subtype=='qas'){ reqType=_EP.dataset.subtype; amount=parseInt(_EP.querySelector('.checkout-summary').dataset.amount,10); _prod=JSON.parse(decodeURIComponent(document.querySelector('#'+fbe.dataset.kid).querySelector('.item-block').dataset.prod)); _service=_EP.querySelector('.checkout-digital--title').innerText; service=''; if(isEmpty(_prod.sale_price)){ _prod.price=amount; delete _prod.sale_price; }else{ _prod.price=parseInt(parseFloat(_prod.price, 10) * 100, 10) _prod.sale_price=amount; } customer.questions=(function () { var _questions=[]; _EP.querySelectorAll('.checkout-field').forEach(function (f) { if(f.dataset.type=='question'){ var valEle=f.querySelector('input')||f.querySelector('textarea'); _questions.push({title:(f.querySelector('.checkout-fields--title').innerHTML||'').replace(/ \*$/, ''), value:valEle.value.trim(), required: f.dataset.required}); } }); return _questions; }()); }else if(_EP.dataset.subtype=='ctmprod'){ reqType=_EP.dataset.subtype; amount=parseInt(_EP.querySelector('.checkout-summary').dataset.amount,10); _prod=JSON.parse(decodeURIComponent(document.querySelector('#'+fbe.dataset.kid).querySelector('.item-block').dataset.prod)); _service=_EP.querySelector('.checkout-digital--title').innerText; service=''; if(isEmpty(_prod.sale_price)){ _prod.price=parseInt(parseFloat(_prod.price, 10) * 100, 10); delete _prod.sale_price; }else{ _prod.price=parseInt(parseFloat(_prod.price, 10) * 100, 10); _prod.sale_price=parseInt(parseFloat(_prod.sale_price, 10) * 100, 10); } customer.choices=(function () { var _choices=[]; _EP.querySelectorAll('.checkout-summary .checkout-summary--choice-item').forEach(function (f) { _choices.push({title:(f.querySelector('p').innerHTML||''), price: parseInt(f.dataset.cAmount||f.dataset.camount,10),count:1}); }); return _choices; }()); }else{ amount=parseInt(_EP.querySelector('.checkout-summary').dataset.amount,10); _prod=JSON.parse(decodeURIComponent(document.querySelector('#'+fbe.dataset.kid).querySelector('.support-box').dataset.txt)); service=_EP.querySelector('.checkout-service--title').innerText; _prod.price=amount; } result=result||{paymentMethod:{}}; if (result&&result.error) { showError(result.error.message); } else { ibjax('POST', '/share/request/{uid}/link/{lnkid}/pm/stripe/'.Compile({lnkid:__data.bio.id,uid:__data.ui.uid}), {data: {'email':email,'username':username,'amount':amount,currency:__data.bio.other.currency||'USD','pmid':result.paymentMethod.id||'', 'kid':fbe.dataset.kid,reqType:reqType,title:_prod.title,image:_prod.image||'',prodid:_prod.id,product:JSON.stringify(_prod), 'service':service,customer:JSON.stringify(customer), link:location.href.replace(/https?:\/\//, ''), ipgeo:encodeURIComponent(JSON.stringify(__ipgeo)),referer:document.referrer||'', }, fn: function (resp) { resp=JSON.parse(resp||'{}'); if(resp.code==0&&resp.data.orderId){ var _thx=_prod.checkout_form.thanks_text||(reqType=='digital'?'Thank you for your purchase!':'Thank you for your purchase!'); var _pModal=popupModal({cls:'popup-embed-request-thanks'}); _pModal.container.innerHTML=getTmplInnerHtml('#embed-request-thanks-loading').Compile({title:_thx,email:email,reqType:reqType,orderId:resp.data.orderId}); if(reqType=='digital'){ setTimeout(function () { payRefreshOrder(['refresh','request',reqType], 1); },2000); }else{ setTimeout(function () { _pModal.container.querySelector('.embed-request__cont').classList.add('request-thanks__ok'); _pModal.container.querySelector('.embed-request__cont').innerHTML=getTmplInnerHtml('#embed-request-thanks-ok-'+reqType).Compile({ title:_thx,service:service||_service, email:email}); },1000); } }else{ swal('','Something wrong','error'); } } }); return; } } var payRequestStripe=function (fbe) { var _stripeConf = _initStripeConf(fbe); _stripeConf.form.addEventListener('submit', function (event) { event.preventDefault(); function showError(message) { var errorElement = eleParents(fbe,'.pay-element').querySelector('.pay-stripe #card-errors'); errorElement.textContent = message; _stripeConf.card.update({disabled: false}); eleParents(fbe,'.pay-stripe').querySelector('.support-continue').style.display='block'; eleParents(fbe,'.pay-stripe').querySelector('.embed-loading').style.display='none'; } // pay-stripe eleParents(fbe,'.pay-element').querySelector('.pay-stripe .support-continue').style.display='none'; eleParents(fbe,'.pay-element').querySelector('.pay-stripe .embed-loading').style.display='block'; _stripeConf.stripe.createPaymentMethod({ type: 'card', card: _stripeConf.card }).then(function (result) { payRequestResult(fbe,result); }); }); }; var payRequestAction=function(e){ var _fbe=e.target||e.srcElement||{},fjs,js; var payELe = eleParents(_fbe, '.pay-element'); payELe.querySelector('.pay-action').style.display='none'; var _EP=eleParents(_fbe, '.embed-request__cont'); var _amount = 0; if(_EP.dataset.subtype=='digital'){ amount=parseInt(_EP.querySelector('.checkout-summary').dataset.amount,10); }else{ amount=parseInt(_EP.querySelector('.checkout-summary').dataset.amount,10); } if(amount == 0){ payRequestResult(_fbe) return; } // only support stripe payELe.querySelector('.pay-stripe').style.display='block'; // can't input var pTar = eleParents(_fbe, '.embed-request__cont'); pTar.querySelectorAll('.checkout-field').forEach(function (f) { if(f.dataset.type=='location'){ Array.from(f.querySelectorAll('input')).concat(Array.from(f.querySelectorAll('select'))).forEach(function (i) { i.setAttribute('disabled',true); }); }else if(f.dataset.type=='custom'){ f.querySelector('textarea').setAttribute('disabled',true); }else if(f.dataset.type=='question'){ (f.querySelector('textarea')||f.querySelector('input')).setAttribute('disabled',true); }else{ f.querySelector('input').setAttribute('disabled',true); } }); if(d.querySelector('#stripe-js')){ payRequestStripe(_fbe); }else{ fjs=d.getElementsByTagName(s)[0]; js=d.createElement(s); js.id='stripe-js'; js.async=!0; js.src='https://js.stripe.com/v3/'; fjs.parentNode.insertBefore(js, fjs); lstripejs(window).then(function () { payRequestStripe(_fbe); }); } } function renderReqestCheckoutForm(prod,pType){ var ckfHTML='',cfkTmpl='',locHTML='',format=''; prod.checkout_form.fields.forEach(function (f) { cfkTmpl=getTmplInnerHtml('#checkout-field-'+f.type); if(f.type=='email') f.title=gettext('Email *'); if(f.type=='username') f.title=gettext('Name *'); if(f.type=='phone'){ f.title=f.required?gettext('Phone *'):gettext('Phone'); } if(f.type=='location'){ // f.title=f.required?gettext('Location *'):gettext('Location'); f.options=f.options||{value:'full'}; f.options.value=f.options.value||'full'; format=f.options.value; if(f.options.value=='full'){ locHTML+=getTmplInnerHtml('#checkout-field-location-address').Compile({title:gettext('Address' + (f.required?' *':''))}); locHTML+=getTmplInnerHtml('#checkout-field-location-city').Compile({title:gettext('City' + (f.required?' *':''))}); locHTML+=getTmplInnerHtml('#checkout-field-location-state').Compile({title:gettext('State / Province' + (f.required?' *':''))}); locHTML+=getTmplInnerHtml('#checkout-field-location-postal').Compile({title:gettext('ZIP / Postal code' + (f.required?' *':''))}); locHTML+=getTmplInnerHtml('#checkout-field-location-regions').Compile({title:gettext('Country / Region' + (f.required?' *':''))}); }else if(f.options.value=='general'){ locHTML+=getTmplInnerHtml('#checkout-field-location-city').Compile({title:gettext('City' + (f.required?' *':''))}); locHTML+=getTmplInnerHtml('#checkout-field-location-state').Compile({title:gettext('State / Province' + (f.required?' *':''))}); locHTML+=getTmplInnerHtml('#checkout-field-location-postal').Compile({title:gettext('ZIP / Postal code' + (f.required?' *':''))}); locHTML+=getTmplInnerHtml('#checkout-field-location-regions').Compile({title:gettext('Country / Region' + (f.required?' *':''))}); }else if(f.options.value=='postal'){ locHTML+=getTmplInnerHtml('#checkout-field-location-postal').Compile({title:gettext('ZIP / Postal code' + (f.required?' *':''))}); }else if(f.options.value=='country'){ locHTML+=getTmplInnerHtml('#checkout-field-location-regions').Compile({title:gettext('Country / Region' + (f.required?' *':''))}); } } if(f.type=='custom') f.title+= (f.required?' *':''); ckfHTML+=cfkTmpl.Compile({title:f.title,required:f.required?'1':'0',locHTML:locHTML,format:format}); }); if(pType=='qas'){ (prod.questions||[]).forEach(function (q) { let inHtml=''; if(q.type=='input') inHtml=``.Format(gettext('Write your answer here...')); if(q.type=='textarea') inHtml=``.Format(gettext('Write your answer here...')); ckfHTML+=getTmplInnerHtml('#checkout-field-question').Compile({title:q.title+(q.required?' *':''), required:q.required?'1':'0',inHtml:inHtml,type:q.type}); }); } return ckfHTML; } function bindReyquestAction(pModal){ Array.from(pModal.container.querySelectorAll('.form-field-phone')).forEach(function (ele,i) { v('click',function (e) { var _select=eleParents(e.target,'.form-field-phone').querySelector('.dial-code-select'); if(_select.style.display=='block'){ _select.style.display='none'; }else{ _select.style.display='block'; } },ele.querySelector('.dial-code')); v('click',function (e) { if(eleParents(e.target, 'ul').querySelector('.selected')) eleParents(e.target, 'ul').querySelector('.selected').classList.remove('selected'); var _li=eleParents(e.target, 'li'); _li.classList.add('selected'); eleParents(e.target,'.form-field-phone').querySelector('.dial-code span').innerText=_li.dataset.dial; eleParents(e.target, '.dial-code-select').style.display='none'; },ele.querySelector('.dial-code-select ul')) }); if(pModal.container.querySelector('.form-field-regions select')){//form-field-regions v('change',function(e) { if(e.target.value){ e.target.classList.add('selected'); }else{ e.target.classList.remove('selected'); } },pModal.container.querySelector('.form-field-regions select')); } v("keyup", payRequestCheck, pModal.container.querySelector('.checkout-fields')); v("click", payRequestAction, pModal.container.querySelector('.support-continue button')); } function payRequestContinue(fbe){ var pTar=eleParents(fbe, '.support-box'); var opAmount=pTar.querySelector('.form-field-radio-option input:checked'),opService=pTar.querySelector('.form-field-radio-option input:checked+label').innerText, opField=opAmount.parentElement; if(!opAmount||!opAmount.value) return; var _prod=JSON.parse(decodeURIComponent(pTar.dataset.txt)); var _pModal=popupModal({cls:'popup-embed-request'}),price=opField.querySelector('span').innerText; _pModal.popup.classList.add('popup-embed-tsp-products-v1'); var ckfHTML=renderReqestCheckoutForm(_prod); _pModal.container.innerHTML=getTmplInnerHtml('#embed-request-detail').Compile({ success:encodeURIComponent(_prod.checkout_form.thanks_text||''),link:opAmount.nextElementSibling.innerText, service:opService,price:price,amount:price,ppid:'pp-linkbio-stripe',key:isTestEnv()?'pk_test_a58SUgfujyDKzKwAnrVPJQYM00UZgqfkkY':'pk_live_NpGxLWQTNrwUvJBRGIhgMrnD00icrImpe3', amountInt:parseInt(opAmount.value,10),kid:fbe.dataset.kid,ckfHTML:ckfHTML,reqType:'request', }); bindReyquestAction(_pModal); } function payDigitalContinue(fbe,pType){ // var pTar=eleParents(fbe, '.support-box'); var prodCmpt=document.querySelector('#'+fbe.dataset.kid + ' .item-block'); var _prod=JSON.parse(decodeURIComponent(prodCmpt.dataset.prod)); var opAmount=parseInt((_prod.sale_price?_prod.sale_price:_prod.price) * 100, 10),amoutTotal=0; // if(!opAmount) return; // var _other=__data.bio.other||{}; var _pModal=popupModal({cls:'popup-embed-request'}),priceHTML='',price='',dPrice='',cy_sym=_getCySym(),choiceHtml=''; if(_prod.sale_price){ priceHTML='{sym}{sale_price} {sym}{price}'.Compile({sym:cy_sym,sale_price:_prod.sale_price,price:_prod.price}); dPrice=cy_sym+_prod.sale_price; amoutTotal=parseInt(_prod.sale_price,10)*100; }else{ priceHTML='{sym}{price}'.Compile({sym:cy_sym,price:_prod.price}); amoutTotal=parseInt(_prod.price,10)*100; } price=cy_sym+_prod.price; if(pType=='ctmprod'){ var pTar=eleParents(fbe, '.embed-tsp-prodinfo__cont'),_choicesDom=pTar.querySelectorAll('.tsp_prodinfo__choices .selected'); if(_choicesDom.length>0){ _choicesDom.forEach(function (c) { choiceHtml+=`

    {title}

    {price}

    `.Compile({ title:c.querySelector('.tsp_prodinfo__choice-title').innerText,price:c.querySelector('.tsp_prodinfo__choice-amount').innerText,amount:c.dataset.amount }); opAmount+=parseInt(c.dataset.amount,10); amoutTotal+=parseInt(c.dataset.amount,10); }); } } amoutTotal= cy_sym+(amoutTotal/100.0); _pModal.popup.classList.add('popup-embed-tsp-products-v1', 'popup-embed-digital'); var ckfHTML=renderReqestCheckoutForm(_prod,pType); _pModal.container.innerHTML=getTmplInnerHtml('#embed-request-detail').Compile({ success:encodeURIComponent(_prod.checkout_form.thanks_text||''), priceHTML:priceHTML,amount:amoutTotal,ppid:'pp-linkbio-stripe',key:isTestEnv()?'pk_test_a58SUgfujyDKzKwAnrVPJQYM00UZgqfkkY':'pk_live_NpGxLWQTNrwUvJBRGIhgMrnD00icrImpe3', amountInt:opAmount,kid:fbe.dataset.kid,ckfHTML:ckfHTML,image:clearImage(_prod.image),prodTitle:_prod.title, price:price,dp:dPrice,reqType:pType||'digital',choiceHtml:choiceHtml, }); if(dPrice) _pModal.container.querySelector('.checkout-summary--dp').style.display='flex'; var _pMProd=document.querySelector('.popup-embed-digital-prodinfo'); if(_pMProd) _pMProd.remove(); bindReyquestAction(_pModal); } function payRefreshOrder(actions,autoRefresh){ if(actions.length==3){ if(actions[0]=='refresh'&&(actions[2]=='digital')){ ibjax('POST', '/share/request/{uid}/link/{lnkid}/pm/refresh/'.Compile({lnkid:__data.bio.id,uid:__data.ui.uid}), {data: {orderId:document.querySelector('.popup-embed-request-thanks .embed-request__cont').dataset.oid,reqType:'digital',}, fn: function (resp) { resp=JSON.parse(resp||'{}'); if(resp.code==0){ if(resp.data&&resp.data.files){ var _pModal=document.querySelector('.popup-embed-request-thanks'), _thx=_pModal.querySelector('.request-thanks__title').innerHTML, email=_pModal.querySelector('.request-thanks__tips strong').innerHTML,filesHTML=''; // _pModal.container.innerHTML=getTmplInnerHtml('#embed-request-thanks-loading').Compile({title:_thx, email:email,reqType:reqType,orderId:resp.data.orderId}); var _fileTmpl=`

    {fileType}

    {fileName}

    {fileSize}

    {fileIcon}

    `; resp.data.files.forEach(function (f) { filesHTML+=_fileTmpl.Compile({fileType:f.fileType,fileName:f.fileName,fileSize:f.fileSize,fileUrl:f.fileUrl,fileIcon:f.fileIcon}); }); autoRefresh = false; _pModal.querySelector('.embed-request__cont').classList.add('request-thanks__ok'); _pModal.querySelector('.embed-request__cont').innerHTML=getTmplInnerHtml('#embed-request-thanks-ok-digital').Compile({ title:_thx,filesHTML:filesHTML, email:email}); } }else{ swal('','Something wrong','error'); } if(autoRefresh){ setTimeout(function(){payRefreshOrder(actions, payRefreshOrder);},2000); } } }); } } } function selectCheckbox(that, actions){ if(actions.length==3){ if(actions[1] == 'ctmprodchoice'){ var pTar=eleParents(that, actions[2]); if(pTar){ pTar.classList.toggle('selected'); } } } } function showTextMore(pTar){ var val={title:pTar.querySelector('.podcast-text--title').innerHTML,artist:pTar.querySelector('.podcast-text--artist').innerHTML, desc:pTar.querySelector('.podcast-text--desc p').innerHTML}; var _pModal=popupModal({cls:'popup-podcast--box'}); _pModal.container.classList.add('popup-podcast', 'animate__animated', 'animate__fadeInPopup'); _pModal.container.innerHTML=getTmplInnerHtml('#popupPodcastText').Compile(val); } function showPodcastAll(pTar){ var _cmpt=__data.content.cmpts.find(c => c.id==pTar.id); if(_cmpt&&_cmpt.link){ var _pModal=popupModal({cls:'popup-podcast--box'}); var _podcast=JSON.parse(_cmpt.text); var _podcast_linksHtml='',_podcastItemHTML=``; _podcast_links.forEach(function (val) { if(_podcast.links[val.platform]){ _podcast_linksHtml+=_podcastItemHTML.Compile({logo:val.platform,title:val.title,url:_podcast.links[val.platform].url||'javascript:;'}); } }); // var _popupContainer=d.createElement('div'); _pModal.container.classList.add('popup-podcast', 'animate__animated', 'animate__fadeInPopup'); _pModal.container.innerHTML=getTmplInnerHtml('#popupPodcastListenOn').Compile({html:_podcast_linksHtml}); } } function showImagesMore(pTar,actions){ pTar.classList.add('gallery--showall'); } function showCardContactMore(pTar,actions){ // pTar.classList.add('gallery--showall'); if(pTar.querySelector('.embed-action--more').classList.contains('up')){ pTar.querySelector('.embed-event-detail').classList.add('hidden'); pTar.querySelector('.embed-action--more').classList.remove('up'); }else{ pTar.querySelector('.embed-event-detail').classList.remove('hidden'); pTar.querySelector('.embed-action--more').classList.add('up'); } } function showMenuMore(pTar,actions){ if(pTar.querySelector('.embed-menu__box').classList.contains('hasMore')){ pTar.querySelector('.embed-menu__box').classList.remove('hasMore'); pTar.querySelector('.embed-menu__box').classList.add('showall'); }else{ pTar.querySelector('.embed-menu__box').classList.add('hasMore'); pTar.querySelector('.embed-menu__box').classList.remove('showall'); } } function showFaqsOpen(pTar,actions){ if(pTar.classList.contains('open')){ pTar.classList.remove('open'); }else{ pTar.classList.add('open'); } } function getImageBase64(img,imgType) { var canvas = document.createElement("canvas"); canvas.width = img.width; canvas.height = img.height; var ctx = canvas.getContext("2d"); ctx.drawImage(img, 0, 0, img.width, img.height); var dataURL = canvas.toDataURL("image/"+imgType.toLowerCase()); return dataURL; } function cutVCardLine(txt){ // VCARD 75 characters per line var _tmpl='',_tmpl0=''; if(txt.length>75){ _tmpl0=txt.substring(0,75); // _tmpl0.replace(/;$/, ''); _tmpl+= '\n' + _tmpl0; _tmpl+=cutVCardLine(' '+txt.substring(75)); }else{ _tmpl= '\n'+txt; } return _tmpl; } function saveCardContacts(bid,resave){ resave=resave||false; var elementA = document.createElement('a'); elementA.download =(location.pathname.substring(1)?location.pathname.substring(1):location.host)+".vcf"; // elementA.style.display = 'none'; elementA.targent = "_blank"; let item,bEle; if(bid=='button'){ bEle=document.querySelector('.button-item .embed--box'); let pTar=ep(bEle,'.button-item'),btnItem=pTar.querySelector('button'); item={text:decodeURIComponent(btnItem.dataset.txt)}; }else{ item=__data.content.cmpts.find(c => c.id==bid); bEle=document.querySelector('#'+bid); } let txt=JSON.parse(item.text||'{}'),vCard=`BEGIN:VCARD\nVERSION:3.0`, _val='',_vcAddress='',_vcUrl=''; if(txt.username){ vCard+='\nN:;{0};'.Format(txt.username); } if(txt.organization) vCard+='\nORG:'+txt.organization; if(txt.jobTitle) vCard+='\nTITLE:'+txt.jobTitle; // if(txt.pronouns) vCard+='\nPRONOUN:'+txt.pronouns; txt.links.forEach(function (c) { switch (c.type) { case 'email': // _vc='EMAIL;type=INTERNET;TYPE={0};type=pref:{1}'.Format(item.link2.toUpperCase(),item.link); _vcUrl+='\nEMAIL;type=INTERNET;TYPE={0};type=pref:{1}'.Format((c.tag||'Email').toUpperCase(),c.link); break; case 'phone': // 'TEL;TYPE={0};type=VOICE;type=pref:{1}'.Format(item.link2.toUpperCase(),item.link); _vcUrl+= '\nTEL;TYPE={0};type=VOICE;type=pref:{1}'.Format((c.tag||'MOBILE').toUpperCase(),c.link); break; case 'address': // link - emebed video if(c.link){ _vcUrl+='\nURL;TYPE=Address:{0}'.Format('https://www.google.com/maps/search/'+c.link); } break; case 'link': // link - emebed music if(c.link){ _vcUrl+='\nURL;TYPE=Link:{0}'.Format(c.link); } break; default: break; } }); vCard+=_vcUrl; vCard+='\nURL;TYPE=Linkbio:'+location.href; if(txt.note) vCard+='\nNOTE:'+(txt.note||'').replace(/\n/g,'\\n'); if(txt.cover||txt.companyLogo){ //PHOTO;TYPE=jpeg;VALUE=uri: //PHOTO;TYPE=JPEG;ENCODING=b: let _img=txt.cover||txt.companyLogo,_imgType='JPEG',_imgeEle; if(_img.indexOf('.png')!=-1) _imgType='PNG'; if(_img.indexOf('.gif')!=-1) _imgType='GIF'; if(txt.cover) _imgeEle=bEle.querySelector('.image-box .cover-image'); else _imgeEle=bEle.querySelector('.image-box .com-logo'); _val='PHOTO;TYPE={0};ENCODING=b:{1}'.Format(_imgType,getImageBase64(_imgeEle,_imgType).replace(/data:image\/[a-z]{2,8};base64,/i,'')); vCard+=cutVCardLine(_val); // vCard+='\nPHOTO;TYPE={0};VALUE=uri:{1}'.Format(_imgType,clearImage(txt.cover||txt.companyLogo)); // vCard+='\nPHOTO;TYPE={0};ENCODING=b:{1}'.Format(_imgType,clearImage(txt.cover||txt.companyLogo)); // vCard+='\nPHOTO:{0}'.Format(clearImage(txt.cover||txt.companyLogo)); } vCard+='\nEND:VCARD'; var blob = new Blob([vCard],{type: "text/vcard"}); var _url=URL.createObjectURL(blob); elementA.href = _url; document.body.appendChild(elementA); elementA.dispatchEvent(new MouseEvent("click",{bubbles: !0,cancelable: !0,view: window})); document.body.removeChild(elementA); URL.revokeObjectURL(_url); var os=function( ua ) { var ret = {},android = ua.match(/(?:Android);?[\s\/]+([\d.]+)?/),ios = ua.match(/(?:iPad|iPod|iPhone).*OS\s([\d_]+)/); //android && (ret.android = parseFloat(android[1])); //ios && (ret.ios = parseFloat(ios[1].replace( /_/g, '.' ))); if(android) return 'android'; if(ios) return 'ios'; return 'browser'; }(navigator.userAgent||navigator.appVersion); if(os=='ios'&&!resave){//tips for ios, creat new contact setTimeout(function(){ showEmbedTips4iOSContact(bid); },1000); } } function showEmbedTips4iOSContact(bid){ var _div=d.createElement('div'),_divBox=d.createElement('div'),_divBg=d.createElement('div'); _divBg.className='embed-bg embed-bg--fixed'; _divBox.className='embed-box embed--tips'; _divBox.innerHTML='
    {0}
    '.Format(gettext("Did you connect?")); _divBox.id=bid; _div.className='embed-tips-4ioscontact'; _divBox.appendChild(_div); _divBg.appendChild(_divBox); d.querySelector('body .container').append(_divBg); var servicesHTML=`
    {0}
    `.Format(gettext("Scroll down and tap 'Create New Contact' to save! Tapping 'Done' does not save the way you expect."), gettext("Try Saving Again")); _div.innerHTML+='
    {0}
    '.Format(servicesHTML); } function toggleAction(toggle,action,that){ var _action=action.split('/'),pTar=null; if(toggle=='more'&&_action[0]=='showDescMore'){ pTar=ep(that,_action[1]); if(pTar) showTextMore(pTar); } if(toggle=='more'&&_action[0]=='showImagesMore'){ pTar=ep(that,_action[1]); if(pTar) showImagesMore(pTar, _action); } //more/contact/block/.item-contact if(toggle=='show'&&_action[0]=='more'){ if(_action[1]=='contact'){ if(_action[2]=='block'){ pTar=ep(that,_action[3]); if(pTar) showCardContactMore(pTar, _action); }else{ pTar=ep(that,'.item'); if(pTar) showCardContactMore(pTar, _action); } } if(_action[1]=='menu'){ pTar=ep(that,_action[2]); if(pTar) showMenuMore(pTar, _action); } } if(toggle=='show'&&_action[0]=='open'){ if(_action[1]=='faqs'){ pTar=ep(that,_action[2]); if(pTar) showFaqsOpen(pTar, _action); } } if(toggle=='scroll'&&that.disabled==false){ pTar=ep(that,_action[1]); if(pTar&&pTar.querySelector(_action[2])) scrollAction(pTar,_action,that) } if(toggle=='showall'&&_action[0]=='podcast'){ if(_action[1]=='google'){ pTar=ep(that,_action[2]); if(pTar&&pTar.id) showPodcastAll(pTar); } } if(toggle=='transform'){ pTar=ep(that,_action[1]); if(pTar&&pTar.querySelector(_action[2])) transformAction(pTar,_action,that) } if(toggle=='play'){ pTar=ep(that,_action[1]); if(pTar) playAction(pTar,_action,that) } if(toggle=='share'){ shareAction(); } if(toggle=='close'){ if(_action.length==3){ if(_action[0]=='block'&&_action[1]=='button'){ closeBlockButton(that,_action[2]); }else if(_action[0]=='tsp'&&_action[1]=='product'){ closeTSPProduct(that,_action[2]); }else if(_action[0]=='cw'&&_action[1]=='mask'){ closeMaskCW(that,_action[2]); }else if(_action[0]=='embed'&&_action[1]=='popup'){ closeEmbedPopup(that,_action[2]); } } } if(toggle=='presave'&&action=='presave'){ var _url =that.getAttribute('href'); window.open(_url); } if(toggle=='popup'){ popupAction(that, _action); } if(toggle=='fund'){ fundAction(that, _action); } if(toggle=='view'){ if(_action.length==3){ if(_action[0]=='tsp'&&_action[1]=='products'){ viewTSPProducts(that,_action[2]); } if(_action[0]=='tsp'&&_action[1]=='prodinfo'){ viewTSPProdInfo(that,_action[2]); } // [].includes() if(_action[0]=='linkbio'&&(['digital','qas','ctmprod'].includes(_action[1]))){ viewDigitalProdInfo(that,_action[2],_action[1]); } } } if(toggle=='request'){ var _currency=(__data.bio.other||{}).currency||''; if(!_currency) return; if(_currency.toLowerCase()=='hkd') return; if(action=='request'){ payRequestContinue(that); }else if(action=='digital'||action=='qas'||action=='ctmprod'){ payDigitalContinue(that,action); }else if(_action[0]=='refresh'){ payRefreshOrder(_action) } return; } if(toggle=='select'){ if(_action[0]=='checkbox'){ selectCheckbox(that,_action); } return; } if(toggle=='save'){ if(_action[0]=='contact'&&_action[1]=='block'){ saveCardContacts(_action[2]); } if(_action[0]=='contact'&&_action[1]=='button'){ saveCardContacts('button'); } if(_action[0]=='contact'&&_action[1]=='tips'){ let bid=ep(that,'.embed-box').id; saveCardContacts(bid,true); } return; } } function _embedIframeUitl(link,fbe,embedCls,loadFn){ var _div=d.createElement('div'),_ep = eleParents(fbe,'.button-item'),_divBox; _div.className='embed-iframe ' + embedCls; if(!_ep) return; if(_ep.querySelector('.embed-boxBG')){ setTimeout(function (){ _ep.querySelector('.item').classList.remove('button--expended'); },100); _ep.querySelector('.embed-boxBG').remove(); return; } removeEmbedBox(); _divBox=d.createElement('div'); _divBox.className='embed-boxBG embed--box'; _ep.appendChild(_divBox); _divBox.innerHTML=getTmplInnerHtml('#embedLoading'); _divBox.appendChild(_div); let referrerpolicy=''; if(link.indexOf('youtube.com') !=-1) referrerpolicy='referrerpolicy="strict-origin-when-cross-origin"'; _div.innerHTML=''.Compile({link:link,referrerpolicy:referrerpolicy}); if(loadFn){ _div.querySelector('iframe').onload=loadFn; } return {div:_div,divBox:_divBox,ep:_ep}; } function _embedPlatformUtil(fbe,embedCls,loadFn,embedStyle){ var _div=d.createElement('div'),_ep = eleParents(fbe,'.button-item'),_divBox; _div.className=' ' + embedCls; if(!_ep) return; if(_ep.querySelector('.embed-boxBG')){ setTimeout(function (){ _ep.querySelector('.item').classList.remove('button--expended'); },100); _ep.querySelector('.embed-boxBG').remove(); return; } removeEmbedBox(); _divBox=d.createElement('div'); _divBox.className='embed-boxBG embed--box'; if(embedStyle&&embedStyle=='innerBtn'){ _ep.querySelector('.item').appendChild(_divBox); }else{ _ep.appendChild(_divBox); } _divBox.innerHTML=getTmplInnerHtml('#embedLoading'); _divBox.appendChild(_div); if(loadFn){ _div.querySelector('iframe').onload=loadFn; } return {div:_div,divBox:_divBox,ep:_ep}; } function embedVideo(fbe){ var link=decodeURIComponent(fbe.dataset.embed||fbe.dataset.html||''),embedCls='',iframeH='',iframeW=''; if(link.indexOf('twitch.tv') !=-1) link+=('&parent='+location.host); // if(link.indexOf('tiktok.com') !=-1) _div.className+=' embed-iframe-tiktok'; // if(link.indexOf('vimeo.com') !=-1) _div.className+=' embed-iframe-vimeo'; // if(link.indexOf('bilibili.com') !=-1) _div.className+=' embed-iframe-bilibili'; if(link.indexOf('tiktok.com') !=-1) embedCls = 'embed-iframe-tiktok'; if(link.indexOf('vimeo.com') !=-1) embedCls = 'embed-iframe-vimeo'; if(link.indexOf('bilibili.com') !=-1) embedCls = 'embed-iframe-bilibili'; //https://www.facebook.com/plugins/video.php?height=476&href=https://www.facebook.com/100078429421944/videos/427553943006343/&show_text=false&width=267&t=0 if(link.indexOf('facebook.com/plugins/video.php')!=-1){ iframeH=GetQueryString('height',link); iframeW=GetQueryString('width',link); embedCls='embed-iframe-facebookEmbed'; }else if(link.indexOf('facebook.com')!=-1||link.indexOf('fb.watch')!=-1||link.indexOf('fb.gg')!=-1){ let ombedObj=_embedPlatformUtil(fbe,'embed-iframe embed-iframe-facebook'); ombedObj.divBox.style.height='auto'; ombedObj.div.innerHTML='
    '.Format(decodeURIComponent(link),ombedObj.ep.getBoundingClientRect().width); if(d.querySelector('#fb-sdk-js')){ FB.XFBML.parse(ombedObj.div); }else{ var fjs=d.getElementsByTagName(s)[0]; var js=d.createElement(s); js.id='fb-sdk-js'; js.async=!0; js.src='https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v12.0'; fjs.parentNode.insertBefore(js, fjs);} lfbvideo(ombedObj.ep).then(function (){ ombedObj.ep.querySelector('.item').classList.add('button--expended'); ombedObj.ep.querySelector('iframe').onload=function (){ endLoaded(ombedObj.ep.querySelector('.embed-loading')); }; }) return; } var embedObj=_embedIframeUitl(link,fbe,embedCls); if(link.indexOf('facebook.com/plugins/video.php')!=-1){ embedObj.div.querySelector('iframe').style.height=iframeH+'px'; embedObj.div.querySelector('iframe').style.width=iframeW+'px'; } embedObj.div.querySelector('iframe').onload=function(){ if(link.indexOf('facebook.com/plugins/video.php')!=-1){ embedObj.divBox.style.minHeight=iframeH+'px'; }else{ embedObj.divBox.style.height='320px'; } endLoaded(embedObj.ep.querySelector('.embed-loading')); setTimeout(function () { embedObj.ep.querySelector('.item').classList.add('button--expended', 'embed--alone'); embedObj.divBox.style.height='auto'; },410); if(embedObj.div.classList.contains('embed-iframe-tiktok')){ embedObj.div.style.height='737px'; }else if(embedObj.div.classList.contains('embed-iframe-vimeo')){ embedObj.div.style.paddingBottom='56%'; }else if(embedObj.div.classList.contains('embed-iframe-bilibili')){ embedObj.div.style.paddingBottom='68%'; }else if(embedObj.div.classList.contains('embed-iframe-facebookEmbed')){ // embedObj.div.style.height=iframeH+'px'; }else{ embedObj.div.style.height='auto'; } }; } function embedTwitch(fbe){ var link=decodeURIComponent(fbe.dataset.embed||fbe.dataset.html||''); if(link.indexOf('twitch.tv') !=-1){ link+= (link.indexOf('?')!=-1?'&':'?') + 'parent='+location.host; } var embedObj=_embedIframeUitl(link,fbe,'embed-iframe-twitch'+fbe.dataset.st); embedObj.div.querySelector('iframe').onload=function(){ embedObj.divBox.style.height='320px'; endLoaded(embedObj.ep.querySelector('.embed-loading')); setTimeout(function () { embedObj.ep.querySelector('.item').classList.add('button--expended', 'embed--alone'); embedObj.divBox.style.height='auto'; },410); embedObj.div.style.height='auto'; }; } function embedInstagram(fbe){ var link=decodeURIComponent(fbe.dataset.embed||fbe.dataset.html||''), item={id:ep(fbe,'.biolink').id}; if(link.indexOf('?') > 0) item.path = link.split('?')[0]; else item.path=link; if(item.path.indexOf('profilecard/')>0) item.path=item.path.replace('profilecard/',''); item.path+=(item.path.endsWith('/')?'':'/')+'embed/'; if(fbe.dataset.st==14) item.path+='captioned/'; var _path='https://bio.linkcdn.cc/instabio.cc/embed/cmpt.html?t=1727339263762'; var embedObj=_embedIframeUitl(_path,fbe,'iframe--box embed-iframe-instagram'); embedObj.div.querySelector('iframe').onload=function(){ embedObj.divBox.style.height='300px'; // endLoaded(_ep.querySelector('.embed-loading')); this.contentWindow.postMessage({fn:'renderContent',cmpt:item,type:'embedIframe',platform:'instagram'}, '*'); setTimeout(function () { embedObj.ep.querySelector('.item').classList.add('button--expended', 'embed--alone'); embedObj.divBox.style.height='auto'; },410); embedObj.div.style.height='auto'; }; } function embedPodcast(fbe){ var _path=decodeURIComponent(fbe.dataset.embed||fbe.dataset.html||''),_embed=fbe.dataset.path||''; if(_path.indexOf('podcasts.google.com') !=-1){ let ombedObj=_embedPlatformUtil(fbe,'embed-iframe-podcast'); ombedObj.div.classList.add('embed-'+_embed); // google podcast var _podcast = JSON.parse(decodeURIComponent(fbe.dataset.txt||'{}')); var _podcastItemHTML = ``; var _podcast_linksHtml='',_podcastCnt=0; _podcast_links.forEach(function (val) { if(_podcast.links[val.platform]){ if(_podcastCnt<6){ _podcast_linksHtml+=_podcastItemHTML.Compile({logo:val.platform,title:val.title,url:_podcast.links[val.platform].url||'javascript:;'}); } _podcastCnt++; } }); var __podcast={thumbnailUrl:_podcast.image,title:_podcast.title,artistName:_podcast.artistName,description:_podcast.description,linksHtml:_podcast_linksHtml}; if(_podcastCnt<=6) __podcast.display='hidden'; ombedObj.div.innerHTML=getTmplInnerHtml('#podcastGoogleItemTmplEmbed').Compile(__podcast); // podcast recent episodes var url='/share/bl/link/{0}/itgr/google/op/podcast.recent/?link={1}'.Format(__data.bio.id,encodeURIComponent(_path)); ibjax('GET',url,{ fn:function (resp) { resp = JSON.parse(resp); if(resp.code==0){ var _recentItemHtml=getTmplInnerHtml('#podcastGoogleItemTmpl2'),_recentHtml=''; resp.data.episodes.forEach(function (val) { var _val={url:(val.links.googlePodcasts||{}).url,thumbnailUrl:val.thumbnailUrl,title:val.title,}; var _date=new Date(); _date.setFullYear(val.releaseDate.year); _date.setMonth(val.releaseDate.month+1); _date.setDate(val.releaseDate.day+1); _val.date=_date.toLocaleDateString(); _val.duration=formatDuration(val.duration); _recentHtml+=_recentItemHtml.Compile(_val); }); ombedObj.div.querySelector('.podcast-recent--list').innerHTML=_recentHtml; } endLoaded(ombedObj.ep.querySelector('.embed-loading')); ombedObj.ep.querySelector('.item').classList.add('button--expended'); ombedObj.divBox.style.height='auto'; } }); }else{ var ombedObj=_embedIframeUitl(_path,fbe,'embed-iframe-podcast'); // _div.innerHTML=''.Compile({link:_path}); ombedObj.div.classList.add('embed-'+_embed); ombedObj.div.querySelector('iframe').onload=function(){ ombedObj.divBox.style.height='152px'; endLoaded(ombedObj.ep.querySelector('.embed-loading')); setTimeout(function () { ombedObj.ep.querySelector('.item').classList.add('button--expended'); ombedObj.divBox.style.height='auto'; },410); ombedObj.div.style.height='auto'; }; } } function embedProvecho(fbe){ var _path=decodeURIComponent(fbe.dataset.embed||fbe.dataset.html||''); if(_path.indexOf('provecho.bio') > 0){ _path=_path.split('provecho.bio/')[1]; _path='https://www.provecho.bio/beacons/'+_path.split('/')[0]; }else{ _path='https://www.provecho.bio/beacons/'+_path.split('/')[0]; } let ombedObj=_embedIframeUitl(_path,fbe,'embed-iframe-provecho'); ombedObj.div.querySelector('iframe').onload=function(){ ombedObj.divBox.style.height='320px'; endLoaded(ombedObj.ep.querySelector('.embed-loading')); setTimeout(function () { ombedObj.ep.querySelector('.item').classList.add('button--expended', 'embed--alone'); ombedObj.divBox.style.height='auto'; },410); ombedObj.div.style.height='auto'; }; } function embedBonfire(fbe){ var _link=decodeURIComponent(fbe.dataset.html||''),_resp=fbe.dataset.resp; var _osObj=CheckPlatformURL(_link); let ombedObj=_embedPlatformUtil(fbe,'bonfire-box embed-bonfire'); var _embedAction=function (resp){ if(resp){ fbe.dataset.resp=encodeURIComponent(resp); resp = JSON.parse(resp); var _coll = {collectionImage:'',collectionName:resp.storeTitle||item.title||_osObj.fields[2]},_un=''; _coll.deep_link=_link+(_link.indexOf('?')>-1?'&':'?'); _coll.deep_link+='utm_medium=bonfire&utm_source=instabio&utm_campaign=button+embed'; ombedObj.div.innerHTML=getTmplInnerHtml('#bioBonfireTmpl').Compile(_coll); var _assetHTML=''; if(resp.storeLinkTreeCampaignModels){ resp.storeLinkTreeCampaignModels.forEach(function (asset) { var _asset={nodeName:'a',link:asset.campaignUrl, title:asset.campaignName,image:asset.featuredProductImageUrl, subtitle:asset.featuredProductPrice||'',btntext:'Buy now'}; _assetHTML+=getTmplInnerHtml('#bioCarouselItemTmpl').Compile(_asset); }); } ombedObj.divBox.querySelector('.carousel-items').innerHTML=_assetHTML; if(window.lozad){ var observer=lozad('.lozad', {root: ombedObj.divBox}); observer.observe(); } endLoaded(ombedObj.divBox.querySelector('.embed-loading')); setTimeout(function () { ombedObj.ep.querySelector('.item').classList.add('button--expended'); ombedObj.divBox.style.height='auto'; },300); } } if(_resp){ _resp = decodeURIComponent(_resp); _embedAction(_resp); }else if(_link){ if(_osObj.platform=='bonfire'){ var _url='https://wapi.instabio.cc/bonfire/{0}'.Format(_osObj.fields[2]); ibjax('GET', _url,{fn:function (resp){ _embedAction(resp); }}); } } } function embedGofundme(fbe){ var _path=decodeURIComponent(fbe.dataset.embed||fbe.dataset.html||''); _path=_path.split('?')[0].replace(/https?:\/\//i, ''); var _pathArr=_path.split('/'); _path='https://www.gofundme.com/f/{0}/widget/large'.Format(_pathArr[2]); var ombedObj=_embedIframeUitl(_path,fbe,'embed-iframe-gofundme'); ombedObj.div.querySelector('iframe').onload=function(){ ombedObj.divBox.style.height='320px'; endLoaded(ombedObj.ep.querySelector('.embed-loading')); setTimeout(function () { ombedObj.ep.querySelector('.item').classList.add('button--expended', 'embed--alone'); ombedObj.divBox.style.height='auto'; },410); ombedObj.div.style.height='auto'; }; } function embedTwitter(fbe){ var _div=d.createElement('div'),_ep = eleParents(fbe,'.button-item'); _div.className='embed-twitter embed--box'; if(!_ep) return; if(_ep.querySelector('.embed-twitter')){ setTimeout(function (){ _ep.querySelector('.item').classList.remove('button--expended'); },100); _ep.querySelector('.embed-twitter').remove(); return; } removeEmbedBox(); var link=decodeURIComponent(fbe.dataset.embed||fbe.dataset.html||'').split('?')[0]; var twCls='twitter-tweet',_st=fbe.dataset.st; if(_st==5){ if(!/(twitter|x)\.com\/([a-zA-Z0-9_@]+?)\/status\/(.+)(\?.*)?$/.test(link)){ _st=6; } } if(_st==6){link=link.replace(/(\/status\/.*)|(\/?\?.*)/i,'');twCls='twitter-timeline'} _div.innerHTML='
    {1}'.Format(link,getTmplInnerHtml('#embedLoading'),twCls); _ep.append(_div); var loadTweetTimeline=function (st,lnk) { lnk=lnk.split('?')[0]; if(st==5){ twttr.widgets.createTweet(lnk.split('/').pop(),_div.querySelector('blockquote'),{align:'center'}).then(function () { endLoaded(_div.querySelector('.embed-loading'),function () { _ep.querySelector('.item').classList.add('button--expended'); _div.querySelector('.embed-twitter-link').style.display='block'; }) }); }else{ twttr.widgets.createTimeline({sourceType:"profile",screenName:lnk.split('/').pop()},_div.querySelector('blockquote'),{height:500,align:'center'}).then(function () { endLoaded(_div.querySelector('.embed-loading'),function () { _ep.querySelector('.item').classList.add('button--expended'); _div.querySelector('.embed-twitter-link').style.display='block'; }) }); } }; if(d.querySelector('#twitter-wjs')){ loadTweetTimeline(_st,link) }else{ var fjs=d.getElementsByTagName(s)[0]; var js=d.createElement(s); js.id='twitter-wjs'; js.async=!0; js.src='https://platform.twitter.com/widgets.js'; fjs.parentNode.insertBefore(js, fjs); ltwwjs(window).then(function () { loadTweetTimeline(_st,link) }); } } function embedPinterest(fbe){ var _div=d.createElement('div'),_ep = eleParents(fbe,'.button-item'),_tmpl; _div.className='embed-pins'; if(!_ep) return; if(_ep.querySelector('.embed-pins')){ setTimeout(function (){ _ep.querySelector('.item').classList.remove('button--expended'); },100); _ep.querySelector('.embed-pins').remove(); return; } removeEmbedBox(); _div.innerHTML=getTmplInnerHtml('#embedLoading'); _ep.append(_div); var link=decodeURIComponent(fbe.dataset.embed||fbe.dataset.html||'').split('?')[0]; var regPin=/^https?:\/\/(([a-z]{1,6})\.)?pinterest\.([a-z]{0,2}\.)?([a-z]{1,3})/; if(link&®Pin.test(link)){ _tmpl='
    '; var links=link.replace(/^https?:\/\//,'').split('?')[0].split('/'); if(link.indexOf('embed')!=-1){ link = 'https://www.pinterest.com/pin/{0}/'.Format(GetQueryString('id',decodeURIComponent(fbe.dataset.embed||fbe.dataset.html||''))); _div.innerHTML=_tmpl.Format(link,'embedPin','',''); }else{ if(links.length>2){ if(links[1]=='pin'){ _div.innerHTML=_tmpl.Format(link,'embedPin','',fbe.dataset.title); }else if(links[2]=='pins'||links[2]=='_saved'||links[2]=='_shop'||links[2]=='_created'||links[2]==''){ _div.innerHTML=_tmpl.Format(link,'embedUser','data-pin-board-width="480" data-pin-scale-height="240" data-pin-scale-width="160"',fbe.dataset.title); }else{ _div.innerHTML=_tmpl.Format(link,'embedBoard','data-pin-board-width="480" data-pin-scale-height="240" data-pin-scale-width="160"',fbe.dataset.title); } }else if(links.length==2){ _div.innerHTML=_tmpl.Format(link,'embedUser','data-pin-board-width="480" data-pin-scale-height="240" data-pin-scale-width="160"',fbe.dataset.title); } } if(d.querySelector('#pin-utils-js')||window.PinUtils){ lpinjs(window).then(function () { PinUtils.build(d.querySelector('.embed-pins-pin')); setTimeout(function () { _div.style.height='320px'; setTimeout(function () { _div.style.height='auto'; _ep.querySelector('.item').classList.add('button--expended'); _div.querySelector('.embed-twitter-link').style.display='block'; },390); endLoaded(_div.querySelector('.embed-loading')); },300); }); }else{ var fjs=d.getElementsByTagName(s)[0]; var js=d.createElement(s); js.id='pin-utils-js'; js.async=!0; js.src='https://assets.pinterest.com/js/pinit.js'; fjs.parentNode.insertBefore(js, fjs); lpinjs(window).then(function () { setTimeout(function () { _div.style.height='320px'; setTimeout(function () { _div.style.height='auto'; _ep.querySelector('.item').classList.add('button--expended', 'embed--alone'); _div.querySelector('.embed-twitter-link').style.display='block'; },390); endLoaded(_div.querySelector('.embed-loading')); },300); }); } } } function embedFeed(fbe){ var _fc=d.querySelector('#form-tmpl-container'); if(!_fc){_fc=d.createElement('div');_fc.id='form-tmpl-container';_fc.className='form-tmpl-container';d.body.appendChild(_fc);} var _divDetail=d.createElement('div'); _divDetail.className='embed-box'; _fc.innerHTML=`

    `; _fc.querySelector('.embed-rssfeed').appendChild(_divDetail); _divDetail.innerHTML=getTmplInnerHtml('#embedLoading'); var txt=JSON.parse(decodeURIComponent(fbe.dataset.txt)||'{}'); if(txt.link&&txt.feed){ ibjax('GET','/share/{0}/link/{1}/itgr/{2}/op/rss.feed/?feed={3}&limit={4}'.Format(__data.ui.uid,__data.bio.id,txt.platform,txt.feed,txt.max),{ fn:function (resp) { resp=JSON.parse(resp||'{}'); if(resp.code==0){ var servicesHTML=''; (resp.data.items||[]).forEach(function (val,idx) { servicesHTML+=getTmplInnerHtml('#rss-feed').Compile({logo:val.image?clearImage(val.image):'', platform:txt.platform,link:val.link+(val.link.indexOf('?')>0?'&':'?')+'utm_medium=social&utm_source=instabio',title:val.title}); }); _divDetail.innerHTML+='
    {0}
    {1}
    '.Format(fbe.querySelector('.btn-text p').innerText,servicesHTML); var pl=(resp.data.items||[]).length; _divDetail.style.height=(75+(pl?parseInt(pl/2,10)*50:0))+'px'; endLoaded(_divDetail.querySelector('.embed-loading')); setTimeout(function () { _divDetail.style.height='auto' },400); } } }); _fc.style.display='block'; d.querySelector('.tmpl-bg').style.display='block'; } } function embedThread(fbe){ var link=decodeURIComponent(fbe.dataset.embed||fbe.dataset.html||''); if(link.indexOf('?') > 0) link = link.split('?')[0]; link+=(link.endsWith('/')?'':'/')+'embed'; var ombedObj=_embedIframeUitl(link,fbe,'embed-iframe-thread'); ombedObj.div.querySelector('iframe').onload=function(){ ombedObj.divBox.style.height='320px'; endLoaded(ombedObj.ep.querySelector('.embed-loading')); setTimeout(function () { ombedObj.ep.querySelector('.item').classList.add('button--expended', 'embed--alone'); ombedObj.divBox.style.height='auto'; },410); }; } function embedContact(fbe){ var _fc=d.querySelector('#form-tmpl-container'); if(!_fc){_fc=d.createElement('div');_fc.id='form-tmpl-container';_fc.className='form-tmpl-container';d.body.appendChild(_fc);} var _divDetail=d.createElement('div'); _divDetail.className='embed-box'; _fc.innerHTML=`

    `; _fc.querySelector('.embed-contact').appendChild(_divDetail); var txt=JSON.parse(decodeURIComponent(fbe.dataset.txt)||'{}'); _fc.querySelector('.embed-contact').dataset.txt=fbe.dataset.txt; if(!d.querySelector('#grecaptcha-js')){ var js1=d.createElement(s),fjs=d.getElementsByTagName(s)[0]; js1.id='grecaptcha-js'; js1.async=!0; js1.src='https://www.recaptcha.net/recaptcha/api.js?render=explicit'; fjs.parentNode.insertBefore(js1, fjs); } _divDetail.innerHTML=getTmplInnerHtml('#embed-verify').Format(txt.firstName+' '+txt.lastName)+getTmplInnerHtml('#embedLoading')+'

    Verifying your identity...

    '; setTimeout(function () { _divDetail.style.height='220px'; setTimeout(function () { _divDetail.style.height='auto'; },300); _fc.style.display='block'; d.querySelector('.tmpl-bg').style.display='block'; },100); var renderContact=function(){ var contactHTML='',_tmpl0='',_tmpl1=''; if(txt.emailPrimary||txt.emailSecondary){ if(txt.emailPrimary){ _tmpl0=`

    {0}

    {1}
    `.Format(txt.emailPrimaryType.toLowerCase(),txt.emailPrimary); } if(txt.emailSecondary){ _tmpl1=`

    {0}

    {1}
    `.Format(txt.emailSecondaryType.toLowerCase(),txt.emailSecondary); } contactHTML=`
    {0}{1}
    `.Format(_tmpl0,_tmpl1); } if(txt.phonePrimary||txt.phoneSecondary){ _tmpl0='';_tmpl1=''; if(txt.phonePrimary){ _tmpl0=`

    {0}

    {1}
    `.Format(txt.phonePrimaryType.toLowerCase(),txt.phonePrimary); } if(txt.phoneSecondary){ _tmpl1=`

    {0}

    {1}
    `.Format(txt.phoneSecondaryType.toLowerCase(),txt.phoneSecondary); } contactHTML+='
    {0}{1}
    '.Format(_tmpl0,_tmpl1) } if(txt.address1||txt.address2||txt.city||txt.state||txt.country||txt.postcode){ _tmpl0=''; if(txt.address1) _tmpl0+=txt.address1+', '; if(txt.address2) _tmpl0+=txt.address2+', '; if(txt.city) _tmpl0+=txt.city+', '; if(txt.state) _tmpl0+=txt.state+', '; if(txt.country) _tmpl0+=txt.country+', '; if(txt.postcode) _tmpl0+=txt.postcode+', '; _tmpl0.replace(/, $/, ''); contactHTML+='

    {0}

    '.Format(_tmpl0) } if(txt.note){ contactHTML+='

    {0}

    '.Format(txt.note); } contactHTML+=''.Format(location.pathname,location.host+location.pathname); _divDetail.innerHTML=`
    {0}
    {1}
    {2}
    `.Format(txt.firstName+' '+txt.lastName,txt.position+' · '+txt.organization,contactHTML); if(/iPhone OS.*CriOS/.test(navigator.userAgent)) _divDetail.querySelector('.embed-button').style.display='none'; }; lglrpjs(window).then(function () { onloadCallback('embed-contact'); grecaptcha.execute(_divDetail.querySelector('.g-recaptcha').dataset.opt_widget_id).then(function () { lglrpval(_divDetail).then(function (){ renderContact(); }); }).catch(function () { }); }); } function embedTikTok(fbe){ var _div=d.createElement('div'),_ep = eleParents(fbe,'.button-item'),_divBox; _div.className='tiktok-box embed-tiktok'; if(!_ep) return; if(_ep.querySelector('.embed-boxBG')){ setTimeout(function (){ _ep.querySelector('.item').classList.remove('button--expended'); },100); _ep.querySelector('.embed-boxBG').remove(); return; } removeEmbedBox(); var tiktokConf=decodeURIComponent(fbe.dataset.txt||''),_resp=fbe.dataset.resp; var _embedAction=function (resp){ if(resp.code==0){ var _user=resp.data.user; if(resp.data.videos){ if(_user.is_verified) _user.verified_svg='' _div.innerHTML=getTmplInnerHtml('#bioTikTokVideoTmpl').Compile(_user); var _videoHTML=''; resp.data.videos.forEach(function (video) { video.embed='https://www.tiktok.com/embed/v2/'+video.id; _videoHTML+=getTmplInnerHtml('#bioTikTokVideoItemTmpl').Compile(video); }); _div.querySelector('.embed-tiktok-videos').innerHTML=_videoHTML; }else{ if(_user.is_verified) _user.verified_svg='' _div.innerHTML=getTmplInnerHtml('#bioTikTokProfileTmpl').Compile(_user); } endLoaded(_divBox.querySelector('.embed-loading')); setTimeout(function () { _ep.querySelector('.item').classList.add('button--expended', 'embed--alone'); _divBox.style.height='auto'; },300); } } if(_resp){ _resp = JSON.parse(decodeURIComponent(_resp)); _divBox=d.createElement('div'); _divBox.className='embed-boxBG embed--box '; _ep.appendChild(_divBox); _divBox.innerHTML=getTmplInnerHtml('#embedLoading'); _divBox.appendChild(_div); _embedAction(_resp); }else if(tiktokConf){ var _tiktokProvider=JSON.parse(tiktokConf); _divBox=d.createElement('div'); _divBox.className='embed-boxBG embed--box '; _ep.appendChild(_divBox); _divBox.innerHTML=getTmplInnerHtml('#embedLoading'); _divBox.appendChild(_div); if(_tiktokProvider.video&&_tiktokProvider.video.type){ _divBox.classList.add('cmpt-tiktok-video'); var _url=''; if(_tiktokProvider.video.type=='list'){ _url='/share/{0}/link/{1}/itgr/tiktok/op/video.query/?id={2}&video_ids={3}'.Format(__data.ui.uid,__data.bio.id,_tiktokProvider.provider.id,_tiktokProvider.video.ids.join(',')); }else{ _url='/share/{0}/link/{1}/itgr/tiktok/op/video.latest/?id={2}'.Format(__data.ui.uid,__data.bio.id,_tiktokProvider.provider.id); } ibjax('GET', _url,{fn:function (resp){ fbe.dataset.resp=encodeURIComponent(resp); _embedAction(JSON.parse(resp)); }}); }else{ _divBox.classList.add('cmpt-tiktok-profile'); ibjax('GET', '/share/{0}/link/{1}/itgr/tiktok/op/profile/?id={2}'.Format(__data.ui.uid,__data.bio.id,_tiktokProvider.provider.id),{fn:function (resp){ fbe.dataset.resp=encodeURIComponent(resp); _embedAction(JSON.parse(resp)); }}); } } } function embedCarousel(fbe){ var _div=d.createElement('div'),_ep = eleParents(fbe,'.button-item'),_divBox; _div.className='carousel-box embed-carousel'; if(!_ep) return; if(_ep.querySelector('.embed-boxBG')){ setTimeout(function (){ _ep.querySelector('.item').classList.remove('button--expended'); },100); _ep.querySelector('.embed-boxBG').remove(); return; } removeEmbedBox(); var item=decodeURIComponent(fbe.dataset.txt||''); if(item){ item = JSON.parse(decodeURIComponent(item)); _divBox=d.createElement('div'); _divBox.className='embed-boxBG embed--box '; _ep.querySelector('.item').appendChild(_divBox); _divBox.innerHTML=getTmplInnerHtml('#embedLoading'); _divBox.appendChild(_div); var tmpl=getTmplInnerHtml('#bioCarouselTmpl'); var _embedLink=checkLink(item.link),nodeName='a'; if(_embedLink.startsWith('javascript:')) nodeName='button'; else{ if(_embedLink.indexOf('?')>0) _embedLink+='&'; else _embedLink+='?'; _embedLink+='utm_medium=social&utm_source=instabio&utm_campaign='+item.title; } _div.innerHTML=tmpl.Compile({title:item.title,desc:item.desc||'',items:'',display:item.link?'flex':'none',btntext:item.path||'',embedLink:_embedLink,nodeName:nodeName}); if(item.subs.length>0){ var itemTmpl=getTmplInnerHtml('#bioCarouselItemTmpl');nodeName='a'; item.subs.forEach(function (sub) { var _subDiv=d.createElement('div'); _subDiv.className='carousel-item-box'; var _subLink=checkLink(sub.link); if(_subLink.startsWith('javascript:')) nodeName='p'; _subDiv.innerHTML=itemTmpl.Compile({image:clearImage(sub.image),title:sub.title,subtitle:sub.subtitle,link:_subLink,btntext:sub.btntext,display:sub.btntext&&sub.link?'':'hidden',nodeName:nodeName}); _div.querySelector('.carousel-items').append(_subDiv); }); } endLoaded(_divBox.querySelector('.embed-loading'), function(){ if(window.lozad){ var observer=lozad('.lozad', {root: _divBox}); observer.observe(); } } ); setTimeout(function () { _divBox.style.height='400px'; _ep.querySelector('.item').classList.add('button--expended'); },100); setTimeout(function () { _divBox.style.height='auto'; },420); } } function embedCarouselVideo(fbe){ var _div=d.createElement('div'),_ep = eleParents(fbe,'.button-item'),_divBox; _div.className='carousel-box embed-carousel'; if(!_ep) return; if(_ep.querySelector('.embed-boxBG')){ setTimeout(function (){ _ep.querySelector('.item').classList.remove('button--expended'); },100); _ep.querySelector('.embed-boxBG').remove(); return; } removeEmbedBox(); var item=decodeURIComponent(fbe.dataset.txt||''); if(item){ item = JSON.parse(decodeURIComponent(item)); _divBox=d.createElement('div'); _divBox.className='embed-boxBG embed--box '; _ep.querySelector('.item').appendChild(_divBox); _divBox.innerHTML=getTmplInnerHtml('#embedLoading'); _divBox.appendChild(_div); var tmpl=getTmplInnerHtml('#bioCarouselTmpl'); var _embedLink=checkLink(item.link),nodeName='a'; if(_embedLink.startsWith('javascript:')) nodeName='button'; else{ if(_embedLink.indexOf('?')>0) _embedLink+='&'; else _embedLink+='?'; _embedLink+='utm_medium=social&utm_source=instabio&utm_campaign='+item.title; } _div.innerHTML=tmpl.Compile({title:item.title,desc:item.desc||'',items:'',display:item.link?'flex':'none',btntext:item.path||'',embedLink:_embedLink,nodeName:nodeName}); if(item.subs&&item.subs.length>0){ var itemTmpl=getTmplInnerHtml('#bioCarouselVideoItemTmpl'); item.subs.forEach(function (sub) { if(sub.link&&sub.platform!='tiktok'){ var _subDiv=d.createElement('div'),embedHTML=''; _subDiv.className='carousel-item-box'; if(sub.platform=='manual'){ embedHTML='
    '.Format(sub.link); }else{ if(sub.platform=='twitch') sub.link1+=('&autoplay=false&parent='+location.host); if(sub.platform=='youtube') sub.referrerpolicy='referrerpolicy="strict-origin-when-cross-origin"'; embedHTML=embedHTML.Compile({embedLink:sub.link1,referrerpolicy:sub.referrerpolicy}); } _subDiv.innerHTML=itemTmpl.Compile({title:sub.title,platform:sub.platform,embedHTML:embedHTML}); _div.querySelector('.carousel-items').append(_subDiv); } }); } endLoaded(_divBox.querySelector('.embed-loading')); setTimeout(function () { _divBox.style.height='400px'; _ep.querySelector('.item').classList.add('button--expended'); },100); setTimeout(function () { _divBox.style.height='auto'; },420); } } function embedButtons(fbe){ var _epItem=eleParents(fbe,'.item'),_ep=eleParents(fbe,'.cmpt-button-buttonLinkColl'); var _h0=70,_h1=_epItem.getBoundingClientRect().height; if(_epItem.classList.contains('button--expended')){ _ep.style.height=eleParents(fbe,'.cmpt-button-buttonLinkColl').getBoundingClientRect().height+'px'; setTimeout(function () { _ep.style.height=_h1+'px'; },20); setTimeout(function () { var _buttons = eleParents(fbe,'.cmpt-button-buttonLinkColl').querySelectorAll('.button-item'); (_buttons||[]).forEach(function (b,i) { if(i>0) b.remove(); }); _epItem.classList.remove('button--expended'); _ep.style.overflow='visible'; },320) setTimeout(function () { _ep.style.height='auto'; },400); }else{ _ep.style.overflow='hidden'; _epItem.classList.add('button--expended'); var _id = fbe.dataset.kid, _cmpt = __data.content.cmpts.find(function (c) { return c.id == _id; }) ; if(_cmpt&&_cmpt.links){ _ep.style.height=_h1+'px'; setTimeout(function () { var _bioCmpt=new RenderBioCmpt([],null,'body',{part:__data.bio.part,lid:__data.bio.id,from:'home',state:__data.state}),_len=_cmpt.links.length; _bioCmpt.linksUI(_cmpt.links,_cmpt,_ep,1); var _h=(_h1+20)*(_len+1); if(_len>6){ _h+= 32 + 20; var _div=d.createElement('div'); _div.className='button-item'; _div.innerHTML=`
    `; _ep.appendChild(_div); } _ep.style.height=_h+'px'; },20); setTimeout(function () { _ep.style.height='auto'; _ep.style.overflow='initial'; },400); } } } function embedPreSave(fbe){ var _div=d.createElement('div'),_ep = eleParents(fbe,'.button-item'),_divBox; _div.className='presave-box embed-music'; if(!_ep) return; if(_ep.querySelector('.embed-boxBG')){ setTimeout(function (){ _ep.querySelector('.item').classList.remove('button--expended'); },100); _ep.querySelector('.embed-boxBG').remove(); return; } removeEmbedBox(); var item=decodeURIComponent(fbe.dataset.txt||''),embedCls=''; if(item){ item = JSON.parse(decodeURIComponent(item)); _divBox=d.createElement('div'); _divBox.className='embed-boxBG embed--box '; _ep.appendChild(_divBox); _divBox.innerHTML=getTmplInnerHtml('#embedLoading'); _divBox.appendChild(_div); var tmpl=getTmplInnerHtml('#bioPreSaveTmpl'); var action='presave',actionTxt='Pre-save',visitorHasPresaved=JSON.parse(localStorage.getItem('visitorHasPresaved')||'{}'); if(visitorHasPresaved.spotify&&visitorHasPresaved.spotify[fbe.dataset.kid]){ action='presaved'; actionTxt='Pre-saved'; } var _embedLink=APIHOST+'/share/auth/spotify/lnk/biolink/redirect/?id='+fbe.dataset.kid; var gmt=item.gmt,rlsDate='Available: ' + (item.releaseDate||''); if(gmt&&gmt.substring(gmt.length-2)=='00'){ rlsDate+=' '+gmt.substring(0,gmt.length-3); }else{ rlsDate+=' '+gmt; } var itemsHTML=getTmplInnerHtml('#bioButtonPRSItemTmpl'); _div.innerHTML=tmpl.Compile({title:item.title,desc:item.desc||'',artist:item.artist,embedCls:!item.cover?'embed-cover-no':'',cover:clearImage(item.cover),rlsDate:rlsDate, itemsHTML:itemsHTML.Compile({platform:'spotify',platformName:'Spotify',embedLink:_embedLink,actionTxt:actionTxt, action:action})}); endLoaded(_divBox.querySelector('.embed-loading')); setTimeout(function () { _divBox.style.height='400px'; _ep.querySelector('.item').classList.add('button--expended', 'embed--alone'); },100); setTimeout(function () { _divBox.style.height='auto'; },420); } } function embedButtonMusic(fbe){ var _div=d.createElement('div'),_ep = eleParents(fbe,'.button-item'),_divBox; _div.className='music-box embed-music'; if(!_ep) return; if(_ep.querySelector('.embed-boxBG')){ _ep.querySelector('.item').classList.remove('button--expended'); _ep.querySelector('.embed-boxBG').remove(); return; } removeEmbedBox(); var item=decodeURIComponent(fbe.dataset.txt||''); if(item){ item = JSON.parse(decodeURIComponent(item)); _divBox=d.createElement('div'); _divBox.className='embed-boxBG embed--box '; _ep.appendChild(_divBox); _divBox.innerHTML=getTmplInnerHtml('#embedLoading'); _divBox.appendChild(_div); var tmpl=getTmplInnerHtml('#bioPreSaveTmpl'),embedLink='',embedCls='',_subEmbed; if(item.displayPreview){ _subEmbed = (item.subs||[]).find(function (s) { return (s.url) && (/spotify\.com\/(track|album|artist)\/[a-z0-9]+/i).test(s.url); }); if(_subEmbed){ embedLink=(_subEmbed.url).replace('spotify.com/','spotify.com/embed/'); }else if(item.source&&(/(spotify\.com\/(track|album|artist)\/[a-z0-9]+)|(spotify:(track|album|artist):[a-z0-9]+)/i).test(item.source)){ if(item.source.indexOf('spotify:')>-1){ var _fields = item.source.split(':'); embedLink='https://open.spotify.com/embed/'+_fields[1]+'/'+_fields[2]; }else{ embedLink=item.source.replace('spotify.com/','spotify.com/embed/'); } } if(embedLink.indexOf('track')>-1){ embedCls='embed-iframe embed-spotify-track'; }else if(embedLink.indexOf('album')>-1){ embedCls='embed-iframe embed-spotify-album'; }else if(embedLink.indexOf('artist')>-1){ embedCls='embed-iframe embed-spotify-artist'; } }else{ if(!item.cover){ _subEmbed = (item.subs||[]).find(function (s) { return !!s.cover; }); if(_subEmbed) item.cover=_subEmbed.cover; } embedCls += !item.cover?' embed-cover-no':''; } var itemsHTML='',_itemTpl=getTmplInnerHtml('#bioButtonMusicItemTmpl'),shareSVG=getTmplInnerHtml('#shareSVG'); (item.subs||[]).forEach(function (s) { if(s.state==1&&s.url){ var nodeName='a'; if(!s.url) nodeName='button'; itemsHTML+=_itemTpl.Compile({platform:s.platform,platformName:PlatformMaps[s.platform],embedLink:s.url,nodeName:nodeName,shareSVG:shareSVG}); } }); _div.innerHTML=tmpl.Compile({title:item.title,desc:item.desc||'',artist:item.artist,cover:clearImage(item.cover),itemsHTML:itemsHTML, embedLink:embedLink,embedCls:embedCls}); endLoaded(_divBox.querySelector('.embed-loading')); setTimeout(function () { _divBox.style.height='400px'; // _ep.querySelector('.item').classList.add('button--expended'); },100); setTimeout(function () { _divBox.style.height='auto'; },420); } } function embedSpring(fbe){ var _link=decodeURIComponent(fbe.dataset.html||''),_resp=fbe.dataset.resp; var _osObj=CheckPlatformURL(_link); let ombedObj=_embedPlatformUtil(fbe,'spring-box embed-spring'); var _embedAction=function (resp){ if(resp){ fbe.dataset.resp=encodeURIComponent(resp); resp = JSON.parse(resp); if(resp.products){ var _coll = {collectionImage:'',collectionName:''},_un=''; _coll.deep_link=_link+(_link.indexOf('?')>-1?'&':'?'); _coll.deep_link+='utm_medium=spring&utm_source=instabio&utm_campaign=button+embed'; ombedObj.div.innerHTML=getTmplInnerHtml('#bioSpringTmpl').Compile(_coll); var _assetHTML=''; resp.products.forEach(function (prod) { var _prod={nodeName:'a', link:'https://{0}.creator-spring.com/listing{1}'.Format(_osObj.fields[0],prod.url),image:prod.imageUrl,subtitle:prod.price||'', title:'{0}
    {1}'.Format(prod.name,prod.productName)}; _assetHTML+=getTmplInnerHtml('#bioCarouselItemTmpl').Compile(_prod); }); ombedObj.div.querySelector('.carousel-items').innerHTML=_assetHTML; if(window.lozad){ var observer=lozad('.lozad', {root: ombedObj.divBox}); observer.observe(); } } endLoaded(ombedObj.divBox.querySelector('.embed-loading')); setTimeout(function () { ombedObj.ep.querySelector('.item').classList.add('button--expended'); ombedObj.divBox.style.height='auto'; },300); } } if(_resp){ _resp = decodeURIComponent(_resp); _embedAction(_resp); }else if(_link){ if(_osObj.platform=='spring'){ var _url=''; function renderSpringStore(url){ ibjax('GET', url,{fn:function (resp){ _embedAction(resp); }}); } if(localStorage.getItem('spStoreRegion')){ var _spStoreRegion=localStorage.getItem('spStoreRegion'); _spStoreRegion=JSON.parse(_spStoreRegion); _url='https://commerce.teespring.com/v1/stores/products?currency={0}&page=1&per=6®ion={1}&slug={2}'.Format(_spStoreRegion.buyer_currency,_spStoreRegion.buyer_region,_osObj.fields[0]); renderSpringStore(_url); }else{ _url='https://teespring.com/api/v1/localization_details?storeId='+_osObj.fields[0]; ibjax('GET', _url,{fn:function (resp){ localStorage.setItem('spStoreRegion', resp); _spStoreRegion=JSON.parse(_spStoreRegion); _url='https://commerce.teespring.com/v1/stores/products?currency={0}&page=1&per=6®ion={1}&slug={2}'.Format(_spStoreRegion.buyer_currency,_spStoreRegion.buyer_region,_osObj.fields[0]); renderSpringStore(_url); }}); } } } } function embedContactV2(fbe){ let ombedObj=_embedPlatformUtil(fbe,'carousel-box contact-box ',null,'innerBtn'); if(!ombedObj) return; let _ctVard=JSON.parse(decodeURIComponent(fbe.dataset.txt||'{}')); if(_ctVard.username){ var tmpl=getTmplInnerHtml('#cmpt-contact-detail'),subtitle=''; _ctVard.clDisplay=(isEmpty(_ctVard.cover)||isEmpty(_ctVard.companyLogo))?'hidden':''; _ctVard.cover=_ctVard.cover||_ctVard.companyLogo||''; if(_ctVard.jobTitle) subtitle=_ctVard.jobTitle; if(_ctVard.organization) subtitle+=isEmpty(subtitle)?_ctVard.organization:''+_ctVard.organization; let lnksHtml='',_lnkTmpl=getTmplInnerHtml('#contactLinkTmpl'); if(_ctVard.links){ _ctVard.links.forEach(function (lnk) { if(lnk.link&&lnk.link.length>0){ let tag='',lnkTxt=(lnk.link||'').replace(/^(https?|ftp|file|tel|mail|mailto):?\/?\/?/i, ''); if(lnk.type=='email'){ if(isEmpty(lnk.tag)){ tag='Email'; }else{ tag='Email({0})'.Format(lnk.tag.toLowerCase()); } if(lnk.link.indexOf('mailto:')==-1) lnk.link='mailto:'+lnk.link; }else if(lnk.type=='phone'){ if(isEmpty(lnk.tag)){ tag='Phone'; }else{ tag='Phone({0})'.Format(lnk.tag.toLowerCase()); } if(lnk.link.indexOf('tel:')==-1) lnk.link='tel://'+lnk.link; }else if(lnk.type=='address'){ tag='Address'; lnk.link='https://www.google.com/maps/search/' + lnk.link; }else{ lnk.link=checkLink(lnk.link,1); lnkTxt=lnk.title||lnkTxt; } lnksHtml+=_lnkTmpl.Compile({link:checkLink(lnk.link,1),tag:tag,linkTxt:lnkTxt}); } }); } ombedObj.div.innerHTML=tmpl.Compile({btntext:gettext("Save contact"),coverDisplay:isEmpty(_ctVard.cover)?'hidden':'',companyLogo:clearImage(_ctVard.companyLogo), cover:clearImage(_ctVard.cover),username:_ctVard.username||'',clDisplay:_ctVard.clDisplay,note:_ctVard.note||'',subtitle:subtitle,linkHtml:lnksHtml,cType:'button' }); } endLoaded(ombedObj.divBox.querySelector('.embed-loading')); setTimeout(function () { ombedObj.divBox.style.height='400px'; ombedObj.ep.querySelector('.item').classList.add('button--expended'); },100); setTimeout(function () { ombedObj.divBox.style.height='auto'; },420); } var c = function(e) { //window.event? window.event.cancelBubble = true : e.stopPropagation(); var _fbe=e.target||e.srcElement||{},_fte=e.target||e.srcElement||{}; if(_fbe.href && _fbe.nodeName=='A'){ }else{ _fbe=eleParents(_fbe,'a')||eleParents(_fbe,'button'); } if(!_fbe){ if(_fte.nodeName=='DIV'&&_fte.classList.contains('support-gifts--number')){// support gifts handlerSupportGifts(_fte,'select'); } if(_fte.nodeName='LABEL'&&eleParents(_fte,'.form-field-radio')&&eleParents(_fte,'.item-request')){ requestOptionCheck(_fte); return; } var _fTDiv = eleParents(_fte,'.file-item__remove'); if(_fTDiv){// remove file var _upDivP=eleParents(_fTDiv,'.form-field-file'); _fTDiv.parentNode.remove(); if(_upDivP){ _upDivP.querySelector('.form-field-checkbox-title span').innerHTML='({0}/6)'.Format(_upDivP.querySelectorAll('.file-item').length); } return; } _fTDiv = eleParents(_fte, '.form-field-file-upload'); if(_fTDiv&&_fTDiv.nodeName=='DIV'){ handlerFileUpload(e, _fTDiv); } return; } if(_fbe&&_fbe.classList.contains('block-search--button')){ // block search handlerBlockSearch(_fte); return; } if (_fbe.dataset&&_fbe.dataset.type!=10&&_fbe.dataset.html&&window.fbq) { fbq('track', 'linkClick'); } if(_fbe.dataset.type==10&&_fbe.dataset.st=='cmpt-button-buttonLinkColl'){//show buttons embedButtons(_fbe); return; } if(_fbe.dataset.type==10&&_fbe.dataset.st){//show form if(window.fbq) fbq('track', 'formClick'); var _fc=d.querySelector('#form-tmpl-container'); if(!_fc){_fc=d.createElement('div');_fc.id='form-tmpl-container';_fc.className='form-tmpl-container';d.body.appendChild(_fc);} if(_fbe.dataset.st<8){ formUITmpl(_fbe,_fc); }else{ formUICust(_fbe,_fc,_fbe.dataset.kid); } return; } if(_fbe.dataset.type<10&&_fbe.dataset.st==1){//embed video embedVideo(_fbe); return; } if(_fbe.dataset.type==1&&(_fbe.dataset.st==5||_fbe.dataset.st==6)) {//embed tweets, timeline embedTwitter(_fbe); return; } if(_fbe.dataset.type==1&&_fbe.dataset.st==7) {///embed pins embedPinterest(_fbe); return; } if(_fbe.dataset.type==1&&_fbe.dataset.st==8){//embed feeds embedFeed(_fbe); return; } if(_fbe.dataset.type<10&&_fbe.dataset.st==9){//embed thread embedThread(_fbe); return; } if(_fbe.dataset.type<10&&[10,11,12].includes(parseInt(_fbe.dataset.st))){//embed twitch channel chat embedTwitch(_fbe); return; } if(_fbe.dataset.type<10&&_fbe.dataset.st==13){//embed spring embedSpring(_fbe); return; } if(_fbe.dataset.type<10&&[14,15].includes(parseInt(_fbe.dataset.st))){//embed Instagram embedInstagram(_fbe); return; } if(_fbe.dataset.type<10&&_fbe.dataset.st==16){//embed Podcast embedPodcast(_fbe); return; } if(_fbe.dataset.type<10&&_fbe.dataset.st==17){//embed Provecho embedProvecho(_fbe); return; } if(_fbe.dataset.type<10&&_fbe.dataset.st==18){//embed Bonfire embedBonfire(_fbe); return; } if(_fbe.dataset.type<10&&_fbe.dataset.st==19){//embed GoFundMe embedGofundme(_fbe); return; } if(_fbe.dataset.type==12){//Contact embedContact(_fbe); return; } if(_fbe.dataset.type==21){//Contact V2 embedContactV2(_fbe); return; } if(_fbe.dataset.type==17){// tiktok embedTikTok(_fbe); return; } if(_fbe.dataset.type==13&&_fbe.dataset.txt){//support handlerSupport(_fbe); return; } if(_fte.nodeName=='BUTTON'&&_fbe.classList.contains('form-event')){//form click - submit handleSubmit(e); return; } if(_fbe.dataset.type==16&&_fbe.dataset.st=='cmpt-support-button'){//support handlerSupport(_fbe); return; } if(_fbe.dataset.type==14||_fbe.dataset.type==16){// carousel service/portfolio embedCarousel(_fbe); return; } if(_fbe.dataset.type==15){// carousel video embedCarouselVideo(_fbe); return; } if(_fbe.dataset.type==18){// Music Release embedButtonMusic(_fbe); return; } if(_fbe.dataset.type==19){// Pre-Save embedPreSave(_fbe); return; } if(_fte.nodeName=='BUTTON'&&_fbe.classList.contains('support-button')){//support handlerSupport(eleParents(_fte,'.support-box')); return; } if(_fbe.nodeName=='BUTTON'&&_fbe.classList.contains('support-button')){//support handlerSupport(eleParents(_fbe,'.support-box')); return; } if(_fbe.nodeName=='BUTTON'&&_fbe.getAttribute('toggle')&&_fbe.getAttribute('action')){ if(_fbe.getAttribute('disabled')!=null) return; toggleAction(_fbe.getAttribute('toggle'),_fbe.getAttribute('action'),_fbe); return; } }; var c2=function (e){ var _fbe=e.target||e.srcElement||{},_fte=e.target||e.srcElement||{}; _fbe=eleParents(_fbe,'button'); if(_fbe&&_fbe.classList.contains('block-search--button')){ // block search if(e.type=='keyup'&&(e.keyCode==13||e.keyCode==8||e.keyCode==46)){ // enter or delete handlerBlockSearch(_fte); } if(e.type=='blur'){ handlerBlockSearch(_fte); } return; } } var c1=function (e) { // window.event? window.event.cancelBubble = true : e.stopPropagation(); var _fbe=e.target||e.srcElement||{},_fte=e.target||e.srcElement||{},_tmpl=null; _fbe=_fbe.parentElement; if(_fte.nodeName=='I'&&_fte.classList.contains('icon-close')){//form click - close _tmpl=eleParents(_fbe, '.form-tmpl'); if(_tmpl) { _tmpl.classList.remove('animate__fadeInUp');_tmpl.classList.add('animate__fadeOutDown'); setTimeout(function () { d.querySelector('#form-tmpl-container').style.display='none'; if(d.querySelector('.tmpl-bg')) d.querySelector('.tmpl-bg').style.display='none'; }, 400); if(_tmpl.querySelector('.service-options')) _tmpl.querySelector('.service-options').style.display='none'; } return true; } if(_fte.classList.contains('tmpl-bg')){ _tmpl=_fte.querySelector('.form-tmpl'); if(_tmpl){ _tmpl.classList.remove('animate__fadeInUp');_tmpl.classList.add('animate__fadeOutDown'); setTimeout(function () { d.querySelector('#form-tmpl-container').style.display='none'; d.querySelector('.tmpl-bg').style.display='none'; }, 400); if(_tmpl.querySelector('.service-options')) _tmpl.querySelector('.service-options').style.display='none'; }else{ d.querySelector('.tmpl-bg').style.display='none'; } return; } if(_fte.nodeName=='I'&&_fte.classList.contains('icon-zhankai')){//form click - service - select _tmpl=eleParents(_fbe, '.form-tmpl').querySelector('.service-options'); if(_tmpl){ if(getComputedStyle(_tmpl).display=='none'){ _tmpl.style.display='block'; }else{ _tmpl.style.display='none'; } } return true; } if(_fte.nodeName=='SPAN'&&_fte.hasAttribute('data-service')){//form click - service - select _tmpl=eleParents(_fbe, '.form-tmpl').querySelector('.service-options'); if(_tmpl){ if(getComputedStyle(_tmpl).display=='none'){ _tmpl.style.display='block'; }else{ _tmpl.style.display='none'; } } return true; } if((_fte.nodeName=='LI'&&_fte.classList.contains('service-option'))||(_fbe&&_fbe.nodeName=='LI'&&_fbe.classList.contains('service-option'))){//form click - service - option if(_fte.classList.contains('service-option')){ _fte.parentElement.querySelectorAll('li').forEach(function (ele,idx) { ele.classList.remove('selected'); }); _fte.classList.add('selected'); eleParents(_fbe, '.form-tmpl').querySelector('.form-select span').innerHTML=_fte.querySelector('span').innerHTML+''; } if(_fbe.classList.contains('service-option')){ _fbe.parentElement.querySelectorAll('li').forEach(function (ele,idx) { ele.classList.remove('selected'); }); _fbe.classList.add('selected'); eleParents(_fbe, '.form-tmpl').querySelector('.form-select span').innerHTML=_fbe.querySelector('span').innerHTML+''; } _tmpl=eleParents(_fbe, '.form-tmpl').querySelector('.service-options'); if(_tmpl) _tmpl.style.display='none'; return true; } if(_fte.nodeName=='SPAN'&&_fte.classList.contains('option-cycle')){//form click - service - option _fte.parentElement.parentElement.querySelectorAll('.option-cycle').forEach(function (ele,idx) { ele.classList.remove('selected'); }); _fte.classList.add('selected'); return; } if(_fte.nodeName=='BUTTON'&&_fbe&&_fbe.classList.contains('form-button')){//form click - submit handleSubmit(e); return; } var _fTDiv = eleParents(_fte,'.file-item__remove'); if(_fTDiv){// remove file _fTDiv.parentNode.remove(); return; } _fTDiv = eleParents(_fte, '.form-field-file-upload'); if(_fTDiv&&_fTDiv.nodeName=='DIV'){ handlerFileUpload(e, _fTDiv); return; } }; v("click", c, d.querySelector('.container')); v("keyup", c2, d.querySelector('.container')); v("blur", c2, d.querySelector('.container')); if(d.querySelector('.tmpl-bg')) v("click", c1, d.querySelector('.tmpl-bg')); else if(d.querySelector('.form-tmpl-container')) v("click", c1, d.querySelector('.form-tmpl-container')); window.onmessage=function(event){ if(event.data.fn=='authCallback'){ var a=JSON.parse(localStorage.getItem('visitorHasPresaved')||"{}"); if(!a.spotify) a.spotify = {}; var _id = decodeURIComponent(event.data.state).split(':'); _id = _id[1].split('-')[1]; a.spotify[_id]=true; localStorage.setItem('visitorHasPresaved',JSON.stringify(a)); var btnEle=d.querySelector('button[data-kid="{0}"]'.Format(_id)); if(btnEle){ var bP=eleParents(btnEle,'.button-item'); var that=bP.querySelector('.music-item--button button') that.innerHTML='Pre-saved'; that.setAttribute('action', 'presaved'); } try{ var fbe=d.querySelector('button[data-kid="{0}"]'.Format(_id)),_thx=''; var item=JSON.parse(decodeURIComponent(fbe.dataset.txt||'')||'{}'); popupModal({cls:'popup-presaved-ok', html:getTmplInnerHtml('#popup-tips').Compile({title:item.thanksText||_thx, content:`

    {0} will be added to your music library on {1}

    `.Format(item.title,item.releaseDate)}) }); }catch(e){} } } // footer UI - Logo function _renderFooterCP() { if(__data.ui.fee==0||__data.bio.biologoshow==1){ var _footer=d.createElement('div'); _footer.className='footer'; var _randInt = parseInt(Math.random() * 4000, 10),_l='https://linkfly.to/madewithl',_ld='linkbio.co',_os=GetBrowserOS(); if((location.hostname||location.host).indexOf('instabio.cc')!=-1) _ld='instabio.cc'; // var _utm='us=instabio&um=footer&uc='+location.pathname.substring(1); var lang=GetQueryString('lang')||(navigator.language || navigator.browserLanguage); lang = judge_lang_util(lang); if(['vi','id','es','pt']){ lang=lang.toUpperCase(); }else{ lang=''; } if(_os.os=='ios'){ _l='https://apps.apple.com/app/apple-store/id1455604586?pt=118696762&ct={0}&mt=8'; }else if(_os.os=='android'){ _l='https://play.google.com/store/apps/details?id=com.qumai.instabio&referrer=utm_source%3D{0}'; }else{ _l='https://www.instabio.cc/en?utm_source={0}&utm_medium=madewith'; } window.dataLayer = window.dataLayer || []; var _gtag=function(){dataLayer.push(arguments)} if(_randInt<1000){ _footer.className='footer footer-white'; // _l='https://linkfly.to/madewithw?'+_utm; _footer.innerHTML=``.Format(_l.Format('madewithw'),_ld); _gtag('event', 'madewithw'); }else if(_randInt<2000){// v572 _footer.className='footer footer-v572'; _footer.innerHTML=`

    linkbio.co/warxz Join

    `.Format(_l.Format('madewithwJoin')); _gtag('event', 'madewithwJoin'); }else if(_randInt<3000){// v573 _footer.className='footer footer-v573'; _footer.innerHTML=`

    linkbio.co/warxz {1}

    `.Format(_l.Format('madewithwCreate'+lang),gettext('Create')); _gtag('event', 'madewithwCreate'+lang); }else if(_randInt<4000){// v573 _footer.className='footer footer-v573'; _footer.innerHTML=`

    linkbio.co/warxz {1}

    `.Format(_l.Format('madewithwStart'+lang),gettext('Start')); _gtag('event', 'madewithwStart'+lang); } /**else if(_randInt<4000){// v574 _footer.className='footer footer-v574'; _footer.innerHTML=`

    Try Linkbio For Free!

    `.Format(_l.Format('madewithwFree')); }else{ // _footer.className='footer footer-black'; // _l='https://linkfly.to/madewithb?'+_utm; // _footer.innerHTML=''.Format(_l,_ld); }**/ if(__data.bio.part==1&&window.innerWidth>767){ d.body.appendChild(_footer); if(d.body.querySelector('.page-cover')){ let coverFooter = _footer.cloneNode(true); coverFooter.classList.add('page-cover--footer'); d.body.querySelector('.page-cover').appendChild(coverFooter); } }else{ d.body.appendChild(_footer); } } if(__data.ui&&__data.ui.check_state>2){ var _report = d.createElement('div'); _report.className = 'footer footer-report'; _report.innerHTML = ``.Format(encodeURIComponent(location.href)); d.body.appendChild(_report); } } _renderFooterCP(); }(document, 'script'));