PageSourceSearch

http://www.xn--12c2bod1bdaft2fcc1i4bwhzh.com/system/application/mo…/lnwbar/_js/vue.min.js?t=20260904205501

js xn--12c2bod1bdaft2fcc1i4bwhzh.com collected 2026-09-27 06:03:20 UTC 60,049 bytes, 464 lines download raw bytes

1if(typeof lnw_store=='undefined'){window.lnw_store=new Vuex.Store({})}(function(lnw_store){function queryString_from_object(obj){var keys=Object.keys(obj);if(keys.length==0){return ''}
2var ppps=[];function buildParams(prefix,ddd){if(ddd==null){ppps.push(prefix+"=")}else if(Array.isArray(ddd)){ddd.forEach(function(dd){buildParams(prefix+'[]',dd)})}else if(typeof ddd=='object'){var kkk=Object.keys(ddd);kkk.forEach(function(kk){var dd=ddd[kk];buildParams(prefix+'['+kk+']',dd)})}else{ppps.push(prefix+"="+encodeURIComponent(ddd))}}
3keys.forEach(function(key){var val=obj[key];buildParams(key,val)})
4return ppps.join("&")}
5function queryString_to_object(str){if(str.substr(0,1)=='?'){str=str.substr(1)}
6return JSON.parse('{"'+decodeURIComponent(str).replace(/"/g,'\\"').replace(/&/g,'","').replace(/=/g,'":"')+'"}')}
7function buildURL(url,params){var queryString=queryString_from_object(params);if(queryString==''){return url}
8var rquery=(/\?/);return url+(rquery.test(url)?"&":"?")+queryString}
9function json_post(opt){var xhr=new XMLHttpRequest();var method='POST';if(opt.method){method=opt.method}
10xhr.open(method,opt.url,!0);xhr.setRequestHeader('Accept','application/json, text/javascript, */*; q=0.01');xhr.setRequestHeader('Content-type','application/json; charset=utf-8');xhr.responseType='json';xhr.onload=function(){if(xhr.status!=200){if(typeof opt.error=='function'){opt.error()}else{alert('Load error')}
11if(typeof opt.complete=='function'){opt.complete()}
12return}
13if(xhr.response==null){if(typeof opt.error=='function'){opt.error('RESPONSE_FAIL')}else{alert('Response error')}
14if(typeof opt.complete=='function'){opt.complete()}
15return}
16if(typeof opt.success=='function'){if(typeof xhr.response.success=='undefined'){opt.success(xhr.response)}else if(xhr.response.success){var rdata=xhr.response.data||{};opt.success(rdata)}else{var rkey=xhr.response.key||'ERROR';var rdata=xhr.response.data||{};if(typeof opt.error=='function'){opt.error(rkey,rdata)}}}else{console.info(xhr.response)}
17if(typeof opt.complete=='function'){opt.complete()}};xhr.onerror=function(){alert("Request failed");if(typeof opt.complete=='function'){opt.complete()}};if(typeof opt.start=='function'){opt.start()}
18var ajaxdata=JSON.parse(JSON.stringify(opt.data||{}));ajaxdata.ajaxxxx=!0;ajaxdata.ajaxxxx_dataType='json';if(typeof opt.cache!=='undefined'&&opt.cache){}else{ajaxdata._=Date.now()}
19if(lnw_store&&lnw_store.state.user.data&&lnw_store.state.user.data.csrf_token){ajaxdata.csrf_token=lnw_store.state.user.data.csrf_token}
20xhr.send(JSON.stringify(ajaxdata));return xhr}
21function json_get(opt){var xhr=new XMLHttpRequest();var url=opt.url;var ajaxdata=JSON.parse(JSON.stringify(opt.data||{}));ajaxdata.ajaxxxx=!0;ajaxdata.ajaxxxx_dataType='json';if(typeof opt.cache!=='undefined'&&opt.cache){}else{ajaxdata._=Date.now()}
22url=buildURL(url,ajaxdata);xhr.open("GET",url,!0);xhr.setRequestHeader('Accept','application/json, text/javascript, */*; q=0.01');xhr.setRequestHeader('Content-type','application/json; charset=utf-8');xhr.responseType='json';xhr.onload=function(){if(xhr.status!=200){if(typeof opt.error=='function'){opt.error('LOAD_FAIL')}else{alert('Load error')}
23if(typeof opt.complete=='function'){opt.complete()}
24return}
25if(xhr.response==null){if(typeof opt.error=='function'){opt.error('RESPONSE_FAIL')}else{alert('Response error')}
26if(typeof opt.complete=='function'){opt.complete()}
27return}
28if(typeof opt.success=='function'){if(typeof xhr.response.success=='undefined'){opt.success(xhr.response)}else if(xhr.response.success){var rdata=xhr.response.data||{};opt.success(rdata)}else{var rkey=xhr.response.key||'ERROR';var rdata=xhr.response.data||{};opt.error(rkey,rdata)}}else{console.info(xhr.response)}
29if(typeof opt.complete=='function'){opt.complete()}};xhr.onerror=function(){alert("Request failed");if(typeof opt.complete=='function'){opt.complete()}};if(typeof opt.start=='function'){opt.start()}
30xhr.send(null);return xhr}
31var jsonp_get=(function(){var expando='lnw'+('142'+Math.random()).replace(/\D/g,'');var unique=Date.now();var rjsonp=/(=)\?(?=&|$)|\?\?/;return function(opt){var callback_name=expando+'_'+(unique++);var url=opt.url;var ajaxdata=JSON.parse(JSON.stringify(opt.data||{}));ajaxdata.ajaxxxx=!0;if(rjsonp.test(url)){url=url.replace(rjsonp,"$1"+callback_name)}else if(opt.callback_key){ajaxdata[opt.callback_key]=callback_name}
32url=buildURL(url,ajaxdata);var script=document.createElement('script');script.type='text/javascript';script.src=url;window[callback_name]=function(data){opt.success.call(window,data);document.getElementsByTagName('head')[0].removeChild(script);script=null;delete window[callback_name]};document.getElementsByTagName('head')[0].appendChild(script)}})();var lnw_module_user={namespaced:!0,state:function(){var state={data:null,favshops:[],point:null,msg:{noti_list:null,noti_num:null},is_loading_msg:!1};return state},getters:{is_login:function(state){return(state.data!=null)&&(state.data.is_login)}},mutations:{set_init_data:function(state,userdata){state.data=userdata;if((typeof lnwAddFile!=='undefined')&&(typeof userdata.lnwfile_cookie_data!=='undefined')){lnwAddFile.cookie_data=userdata.lnwfile_cookie_data}},set_favshops:function(state,payload){state.favshops=payload.favshops},set_user_data:function(state,payload){if(state.data&&payload.userdata){Object.keys(payload.userdata).forEac
32h(function(ukey){Vue.set(state.data,ukey,payload.userdata[ukey])})}},add_favshop:function(state,shop){if(state.favshops!=null){var xxx=state.favshops.filter(function(favshop){return(favshop.shop_id==shop.shop_id)}).length;if(xxx==0){state.favshops.unshift(shop)}}},remove_favshop:function(state,shop_id){if(state.favshops!=null){var remove_idx=null;state.favshops.forEach(function(favshop,idx){if(favshop.shop_id==shop_id){remove_idx=idx}});if(remove_idx!=null){state.favshops.splice(remove_idx,1)}}},join_shop:function(){}},actions:{load_init:function(context){var url=window.location.href;var xhr=json_get({url:site_url('json/init_data'),data:{url:url},success:function(response){if(response.userdata){context.commit('set_init_data',response.userdata)}
33if(response.cart){context.commit('cart/set_init_data',response.cart,{root:!0})}
34context.dispatch('load_lnwpoint');context.dispatch('count_msg')}})},load_favshops:function(context){var xhr=json_get({url:site_url('json/load_favshops'),success:function(response){if(response.userdata&&response.userdata.favshops){context.commit('set_favshops',response.userdata)}}})},load_userpanel:function(context){var that=this;var xhr=json_get({url:site_url('json/load_userpanel'),success:function(response){context.commit('set_user_data',response)}})},load_lnwpoint:function(context,point_data){if(!context.getters.is_login){return}
35if(!context.state.data.lnwpoint_data){return}
36var data={data:context.state.data.lnwpoint_data};var url='https://www.lnwpay.com/2/api/point/lnwshop/jsonp';jsonp_get({callback_key:'lnwpay_jsonp',url:url,data:data,success:function(response){context.state.point={available_balance:response.available_balance,available_money:response.available_money}}})},load_msg:function(context,isclear){if(window.LNW_MANAGE_NOTIFICATIONS)return;if(!context.getters.is_login){return}
37if(!context.state.data.ACCOUNTS_DATA){return}
38var limit=10;if(context.state.is_loading_msg){return}
39var offset=0;if(!isclear){if(context.state.msg.noti_list.length%limit!=0){return}
40offset=context.state.msg.noti_list.length}
41var data={data:context.state.data.ACCOUNTS_DATA,offset:offset,limit:limit};is_loading_msg=!0;var lnwmsg_url="https://lnwmsg.com/";var lnwmsg_noti_url=lnwmsg_url+"jsonp/notifications?lnwmsg_jsonp=?";jsonp_get({url:lnwmsg_noti_url,data:data,success:function(response){if(response.success){if(isclear){context.state.msg.noti_list=response.notifications}else{context.state.msg.noti_list.concat(response.notifications)}
42context.state.msg.noti_num=null}
43context.state.is_loading_msg=!1}})},count_msg:function(context){if(window.LNW_MANAGE_NOTIFICATIONS)return;if(!context.getters.is_login){return}
44if(!context.state.data.ACCOUNTS_DATA){return}
45var data={data:context.state.data.ACCOUNTS_DATA};var lnwmsg_url="https://lnwmsg.com/";var lnwmsg_count_url=lnwmsg_url+"jsonp/count_notifications?lnwmsg_jsonp=?";
45jsonp_get({url:lnwmsg_count_url,data:data,success:function(response){if(response.success){context.state.msg.noti_num=response.count}}})},read_msg:function(context){if(!context.getters.is_login){return}
46if(!context.state.data.ACCOUNTS_DATA){return}
47var data={data:context.state.data.ACCOUNTS_DATA};var lnwmsg_url="https://lnwmsg.com/";var lnwmsg_read_url=lnwmsg_url+"jsonp/read?lnwmsg_jsonp=?";jsonp_get({url:lnwmsg_read_url,data:data,success:function(response){if(response.success){}}})},join_shop:function(context,payload){if(!context.getters.is_login){return}
48var xhr=json_post({url:site_url('member/join'),success:function(rdata){if((typeof rdata.url!=='undefined')){window.location.href=rdata.url}
49context.commit('set_user_data',{userdata:{is_join:1}});if((typeof rdata.num!=='undefined')){WEBDATA.join_num=rdata.num}
50if(payload&&(typeof payload.success=='function')){payload.success(rdata)}},error:function(rkey,rdata){if(rkey=='NO_LOGIN'){alert(show_lang('JS-LOGIN_BEFORE_JOIN'));window.location.href=rdata.url}}})},leave_shop:function(context,payload){if(!context.getters.is_login){return}
51var xhr=json_post({url:site_url('member/leave'),success:function(rdata){if((typeof rdata.url!=='undefined')){window.location.href=rdata.url}
52context.commit('set_user_data',{userdata:{is_join:0}});if((typeof rdata.num!=='undefined')){WEBDATA.join_num=rdata.num}
53if(payload&&(typeof payload.success=='function')){payload.success(rdata)}},error:function(rkey,rdata){if(rkey=='NO_LOGIN'){alert(show_lang('JS-LOGIN_BEFORE_JOIN'));window.location.href=rdata.url}}})}}};lnw_store.registerModule('user',lnw_module_user);var lnw_module_cart={namespaced:!0,state:function(){var state={data:null,is_loading:!1,product_xhrs:{},xhr:null};return state},mutations:{set_init_data:function(state,cart_data){state.data=cart_data},set_return_data:function(state,cart_data){state.data=cart_data}},actions:{_action_product_quantity(context,payload2){var payload=payload2.payload;if(payload.quantity===''){return}
54var xhr_key=null;var ajaxdata={};ajaxdata.action=payload2.action;if(typeof payload.spec!='undefined'){xhr_key=JSON.stringify(payload.spec);ajaxdata.items=[{iid:payload.iid,spec:payload.spec,quantity:payload.quantity}]}else if(typeof payload.product_id!='undefined'){xhr_key=payload.product_id;if(payload2.action=='addProductQuantity'){ajaxdata.product_id=payload.product_id
55ajaxdata.quantity=payload.quantity}else{ajaxdata.products=[{product_id:payload.product_id,quantity:payload.quantity}]}}
56if(xhr_key==null){return}
57if(typeof context.state.product_xhrs[xhr_key]!=='undefined'){context.state.product_xhrs[xhr_key].abort()}
58context.state.is_loading=!0;var xhr=json_post({method:'PUT',url:front_url('api/lnwme/cart/cookie'),data:ajaxdata,success:function(response){if(response.error){var msgs=[];var x_msgs={};var error_messages=response.error_messages;if(typeof error_messages=='string'){error_messages=[{key:error_messages}]}
59error_messages.forEach(function(err_msg){if(typeof err_msg=='string'){err_msg={key:err_msg}}
60var ekey=err_msg.key;var etext=ekey;switch(ekey){case 'NOPRODUCT':case 'HIDDEN':case 'NOSELL':etext=__lnw__.show_lang('CART-PRODUCT-HIDDEN');break;case 'NOSTOCK':etext=__lnw__.show_lang('CART-PRODUCT-SOLDOUT-REMAIN');etext=etext.replace(/%d/,err_msg.remain);break;case 'ACCOUNT_LIMIT_REQUIRED_LOGIN':etext=__lnw__.show_lang('CART-PRODUCT-ACCOUNT_LIMIT_REQUIRED_LOGIN');etext=etext.replace(/%d/,err_msg.limit);etext=etext.replace(/%s/,err_msg.unit);break;case 'OVER_QUANTITY_ACCOUNT_ORDERED':etext=__lnw__.show_lang('CART-PRODUCT-OVER_QUANTITY_ACCOUNT_ORDERED');etext=etext.replace(/%d/,err_msg.limit);etext=etext.replace(/%d/,err_msg.ordered);etext=etext.replace(/%s/,err_msg.unit);etext=etext.replace(/%s/,err_msg.unit);break;case 'OVER_QUANTITY_ACCOUNT':etext=__lnw__.show_lang('CART-PRODUCT-OVER_QUANTITY_ACCOUNT');etext=etext.replace(/%d/,err_msg.limit);etext=etext.replace(/%s/,err_msg.unit);break;case 'OVER_QUANTITY_DAILY_ACCOUNT_ORDERED':etext=__lnw__.show_lang('CART-PRODUCT-OVER_QUANTITY_DAILY_ACCOUNT_ORDERED');etext=etext.replace(/%d/,err_msg.limit);etext=etext.replace(/%d/,err_msg.ordered);etext=etext.replace(/%s/,err_msg.unit);etext=etext.replace(/%s/,err_msg.unit);break;case 'OVER_QUANTITY_DAILY_ACCOUNT':etext=__lnw__.show_lang('CART-PRODUCT-OVER_QUANTITY_DAILY_ACCOUNT');etext=etext.replace(/%d/,err_msg.limit);etext=etext.replace(/%s/,err_msg.unit);break;case 'OVER_QUANTITY':etext=__lnw__.show_lang('CART-PRODUCT-OVER_QUANTITY');etext=etext.replace(/%d/,err_msg.limit);etext=etext.replace(/%s/,err_msg.unit);break;case 'BELOW_QUANTITY':etext=__lnw__.show_lang('CART-PRODUCT-BELOW_QUANTITY');etext=etext.replace(/%d/,err_msg.limit);etext=etext.replace(/%s/,err_msg.unit);break;case 'SERVER_FAIL':etext=__lnw__.show_lang('CART-SERVER_FAIL');break;case 'CATEGORY_PERMISSION_DENIED':etext=__lnw__.show_lang('CART-PRODUCT-CATEGORY_PERMISSION_DENIED');break;case 'ORDER_LIMIT_PRICE_RANGE':etext=__lnw__.show_lang('ORDER_LIMIT_PRICE_RANGE');break;default:etext=__lnw__.show_lang('ERROR')+' : '+ekey;break}
61x_msgs[etext]=!0});
61Object.keys(x_msgs).forEach(function(etext){msgs.push(etext)});if(typeof payload.error==='function'){if(response.error_messages.length>0){payload.error(msgs)}}else{if(typeof __lnw__=='undefined'){alert(msgs.join('\n'))}else{__lnw__.simpleAlert(msgs)}
62console.info(response.error_messages)}
63return}
64if(response.cart){context.commit('set_return_data',response.cart);if(typeof response.cart.product_num!=='undefined'){$('.cart_num').html(response.cart.product_num);$('.cart_price').html(response.cart.product_price).attr('realprice',response.cart.product_price);$('.cart_quantity').html(response.cart.product_quantity)}}
65if(typeof payload.success==='function'){payload.success(response)}},error:function(rkey,rdata){alert(rkey);console.info(rdata)},complete:function(){context.state.is_loading=!1;Vue.delete(context.state.product_xhrs,xhr_key);if(typeof payload.complete==='function'){payload.complete()}}})
66Vue.set(context.state.product_xhrs,xhr_key,xhr)},set_product_quantity(context,payload){var payload2={payload:payload,action:'changeProductQuantity'};context.dispatch('_action_product_quantity',payload2)},add_product_quantity(context,payload){var payload2={payload:payload,action:'addProductQuantity'};context.dispatch('_action_product_quantity',payload2)}}};lnw_store.registerModule('cart',lnw_module_cart);var lnw_module_web={namespaced:!0,state:function(){var state={data:null};if(typeof WEBDATA!='undefined'){state=WEBDATA}
67return state}}
68lnw_store.registerModule('web',lnw_module_web)})(lnw_store);var vm_lnwbar=new Vue({el:'#lnwbar-app',store:lnw_store,components:{'lnwpay-rank-icons':{props:['rank_class','rank_level'],computed:{icon_url:function(){var icon_names={'a':'gr','b':'sv','c':'gd'};var icon_name=icon_names[this.rank_class]+'3.png';return base_url('system/application/templates/lnwshop/default/_images/lnwpay/icon-rank/')+icon_name},icon_num:function(){return this.rank_level}},template:`<span><template v-for="i in icon_num">&nbsp;<div class="lnwpay_iconrank"><img :src="icon_url" alt="lnwpay icon ranking" width="16" height="16"></div></template></span>`},'lnwpay-score-icons':{props:['score'],computed:{icons:function(){var score=this.score;var icons=[];var step_texts=[null,'one','two','three','four','five','six','seven','eight','nine','full']
69for(var i=0;i<5;i++){var icon={value:i+1,className:['heart']}
70if(score==null){icon.className.push('full-gray')}else if(score>i){icon.className.push('full')}else{var step=Math((score-i)*10);icon.className.push(step_texts[step])}
71icons.push(icon)}
72return icons}},template:`<span><div v-for="icon in icons" :class="icon.className" :value="icon.value"></div></span>`},'manage-notification-popup':{props:['config','opened','accountData'],mounted:function(){var that=this;this._managePopup=new window.LnwManageNotifications(Object.assign({},this.config,{popup:this.$el,getAuthData:function(){return that.accountData},onCount:function(count){that.$emit('count',count)},onClose:function(){that.$emit('close')}}));this._managePopup.count();if(this.opened)this._managePopup.open()},watch:{opened:function(value){if(value)this._managePopup.open();else this._managePopup.close()},accountData:function(){this._managePopup.count()}},beforeDestroy:function(){this._managePopup.destroy()},template:`<div class="popup_general"><div class="title">แจ้งเตือน</div><a class="all" href="https://www.lnwaccounts.com/manage/notifications">ตั้งค่ารับ push</a><ul class="list"></ul></div>`},'noti-list':{props:['data'],computed:{},template:`<a :href="data.url">
73								<div class="avatar"><img :src="data.image" :class="data.image_class" /></div>
74								<div class="noti_info">
75									<span class="info" v-html="data.message"></span><br>
76									<span class="time" :title="data.time" v-text="data.time_diff"></span>
77								</div>
78							</a>`}},data:{show_favshops_num:8,show_myshops_num:4,is_show_lnwpay_helper:!1,show_popup_key:null,manage_notification_count:null,product_list:[{key:'lnwshoppro',url:'https://www.lnwshop.com/pro',desc:'Latest Enterprise Commerce Platform',is_new:!1},{key:'lnwexpress',url:'https://www.lnwshop.com/store/lnwexpress',desc:'จับมือกับขนส่งชั้นนำ ให้คุณจัดส่งได้สะดวกรวดเร็ว',is_new:!1},{key:'lnwpay',url:'https://www.lnwpay.com',desc:'ระบบรับชำระเงินแทน ประกันได้รับสินค้า 100%',is_new:!1},{key:'lnwshop',url:'https://www.lnwshop.com',desc:'เปิดร้านค้าออนไลน์ฟรี การันตี 900,000 ร้าน',is_new:!1}
78,{key:'bloglnw',url:'https://blog.lnw.co.th',desc:'ติดตามข้อมูลล่าสุด บล็อกน่ารู้ โปรโมชั่นเด็ด',is_new:!1},{key:'lnwdropship',url:'https://www.lnwdropship.com',desc:'รวมสินค้าที่รับตัวแทนจำหน่าย เริ่มขายได้ทันที',is_new:!0},{key:'lnwpickpack',url:'https://www.lnwpickpack.com',desc:'บริการโกดังสินค้าพร้อม เก็บ-แพ็ค-ส่ง',is_new:!0},{key:'lnwx',url:'https://www.lnwx.com',desc:'โฆษณาสินค้าของคุณอย่างทรงพลังด้วย LnwX',is_new:!0}],heart_types:[{type:'friendly',text:'ใส่ใจบริการ'},{type:'convenient',text:'ติดต่อรวดเร็ว'},{type:'delivery',text:'ความเร็วจัดส่ง'},{type:'packaging',text:'การแพ็คสินค้า'}],local_login:!1,admin_info_html:null},computed:{manage_notification_config:function(){return this.is_manage_page&&this.is_login?window.LNW_MANAGE_NOTIFICATIONS:null},notification_count:function(){return this.manage_notification_config?this.manage_notification_count:this.msg.noti_num},favshops:function(){return this.$store.state.user.favshops},lnwpoint:function(){return this.$store.state.user.point||null},msg:function(){return this.$store.state.user.msg},lb_class:function(){var className=[];if(this.is_hide){}else{if(this.webdata.lnwbar&&this.webdata.lnwbar.is_lnwpay){className.push('lnwpayBar');className.push('doubleLayer')}
79className.push('lb_lnwshop')}
80return className},wrapper_class:function(){var className=[];if(this.webdata.lnwbar){className.push('bb-color'+this.webdata.lnwbar.color)}
81return className},is_hide:function(){return(document.body.classList.contains('lnw-mobile'))},is_mini:function(){return !1},is_manage_page:function(){return(document.body.id=='managebody')||(this.$el.classList.contains('lnwbar-mini'))},is_show_lnwpay:function(){return this.webdata.lnwbar&&this.webdata.lnwbar.is_lnwpay},is_show_lnwpoint:function(){return(this.is_show_lnwpay&&this.userdata.lnwpoint_data)},userdata:function(){return this.$store.state.user.data},sorted_userdata_myshops(){return this.userdata.myshops.sort(function(a,b){return b.shop_id-a.shop_id})},webdata:function(){return this.$store.state.web},lnwpay_url:function(){return 'https://www.lnwpay.com/'},template_image_url:function(){return base_url('system/application/templates/lnwshop/default/_images/')},module_image_url:function(){return base_url('system/application/modules/lnwshop/_images/')},lnwpay_data:function(){return this.webdata.lnwpay},is_mobile_site:function(){return(document.body.classList.contains('lnw-mobile')||document.body.classList.contains('mobileSite'))},is_login:function(){return this.userdata&&this.userdata.is_login},head:function(){var h={is_bb:!1,image:base_url('system/application/templates/lnwshop/default/_images/lnwpay/lnwpaybar/lnwshop_logo_white.png'),image_alt:'LnwShop',text:null,width:70,height:11,url:null,};if(this.webdata.lnwbar){if(this.webdata.lnwbar.head_image||this.webdata.lnwbar.head_text){h.is_bb=!0;if(this.webdata.lnwbar.head_image){h.image=this.webdata.lnwbar.head_image;h.width=null;h.height=40}else{h.image=null}
82if(this.webdata.lnwbar.head_text){h.text=this.webdata.lnwbar.head_text;h.image_alt=this.webdata.lnwbar.head_text}else{h.text=null}
83if(this.webdata.lnwbar.head_url){h.url=this.webdata.lnwbar.head_url}}}
84return h},is_favshop:function(){var that=this;if(this.favshops!=null){var len=this.favshops.filter(function(shop){return(shop.shop_id==that.webdata.id)}).length;return(len>0)}
85return !1},notis:function(){var that=this;var lnwmsg_url="https://lnwmsg.com/";if(!this.$store.state.user.msg.noti_list){return[]}
86return this.$store.state.user.msg.noti_list.map(function(nt){var nt_extra={};if((typeof nt.extra=='undefined')||(nt.extra==null)){}else if(typeof nt.extra=='string'){nt_extra=JSON.parse(nt.extra)}else{nt_extra=nt.extra}
87var url='';if(typeof nt_extra.url!='undefined'){var url=nt_extra.url;if(typeof nt.tmp_secret!='undefined'){url=lnwmsg_url+'url?n='+nt.notification_id+'&t='+nt.tmp_secret}}
88var className=[];className.push(that.get_msg_class(nt.type));if(nt.status!='read'){className.push('new_noti')}
89var nt_message=nt.message;nt_message=text(nt_message);nt_message=nt_message.replace('[b][/b]','');nt_message=nt_message.replace(/\[b\](.+?)\[\/b\]/g,'<b>$1</b>');nt_message=nt_message.replace('[i][/i]','');nt_message=nt_message.replace(/\[i\](.+?)\[\/i\]/g,'<i>$1</i>');var image=null;var image_class=[];var nt_type=nt.type.split('/');var nt_extra=nt.extra;if(nt_type.length>2){if(nt_type[1]=='owner'){if(typeof nt_extra.user_avatar!='undefined'){image=img_src(nt_extra.user_avatar,'user',50,50);image_class.push('user_format')}
90if(typeof nt_type[2]!='undefined'&&nt_type[2]=='broadcast'){image=img_src('images/lnwshop_admin_avatar.png');image_class.push('user_format')}}else if(nt_type[1]=='user'&&nt_type[2]=='webboard'){if(typeof nt_extra.user_avatar!='undefined'){image=img_src(nt_extra.user_avatar,'user',50,50);image_class.push('user_format')}}else if(nt_type[1]=='user'){if(typeof nt_extra.owner_avatar!='undefined'){image=img_src(nt_extra.owner_avatar,'user',50,50);image_class.push('shop_format')}}else if(nt_type[1]=='buyer'){if(typeof nt_extra.seller_avatar!='undefined'){image=img_src(nt_extra.seller_avatar,'user',50,50);image_class.push('shop_format')}}else if(nt_type[1]=='seller'){if(typeof nt_extra.buyer_avatar!='undefined'){image=img_src(nt_extra.user_avatar,'user',50,50);image_class.push('user_format')}}}
91return{className:className,url:url,image:image,image_class:image_class,message:nt_message,time:nt.time,time_diff:nt.time_diff}})}},watch:{show_popup_key:function(new_val,old_val){if(new_val==old_val){return}
92if(old_val=='userpanel'){document.body.classList.remove('show_lbUser');var eles=document.getElementsByClassName('body-skin');if(eles.length>0){eles[0].style.position=''}
93var ele=document.getElementById('lnwbody');if(ele){ele.style.position=''}
94var ele=document.getElementById('lbUserPanel');if(ele){ele.style.position=''}
95function scrollToTop(scrollDuration){var scrollStep=-window.scrollY/(scrollDuration/15),scrollInterval=setInterval(function(){if(window.scrollY!=0){window.scrollBy(0,scrollStep)}
96else clearInterval(scrollInterval)},15)}
97var action=function(){if(typeof scrollToTop)
98scrollToTop(0)};setTimeout(action,600)}else if(old_val=='product'){document.body.classList.remove('show_lbProductPopup')}else if(old_val=='favshop'){document.body.classList.remove('show_lbFavPopup')}else if(old_val=='msg'){document.body.classList.remove('show_lbNotiPopup')}else if(old_val=='msg2'){document.body.classList.remove('show_lbUser');var eles=document.getElementsByClassName('body-skin');if(eles.length>0){eles[0].style.position=''}
99var ele=document.getElementById('lnwbody');if(ele){ele.style.position=''}
100var ele=document.getElementById('lbUserPanel');if(ele){ele.style.position=''}
101function scrollToTop(scrollDuration){var scrollStep=-window.scrollY/(scrollDuration/15),scrollInterval=setInterval(function(){if(window.scrollY!=0){window.scrollBy(0,scrollStep)}
102else clearInterval(scrollInterval)},15)}
103var action=function(){if(typeof scrollToTop)
104scrollToTop(0);var ele=document.getElementById('lbUserPanel');ele.classList.remove('message')};setTimeout(action,600)}
105if(new_val=='userpanel'){if(this.userdata.is_owner?!this.userdata.myshops:!this.userdata.order_nums){this.$store.dispatch('user/load_userpanel')}
106document.body.classList.add('show_lbUser');var action=function(){var eles=document.getElementsByClassName('body-skin');if(eles.length>0){eles[0].style.position='fixed'}
107var ele=document.getElementById('lnwbody');if(ele){ele.style.position='fixed'}
108var ele=document.getElementById('lbUserPanel');if(ele){ele.style.position='absolute'}};setTimeout(action,600)}else if(new_val=='product'){document.body.classList.add('show_lbProductPopup')}else if(new_val=='favshop'){this.$store.dispatch('user/load_favshops');document.body.classList.add('show_lbFavPopup')}else if(new_val=='msg'){if(!this.manage_notification_config)this.$store.dispatch('user/load_msg',!0);document.body.classList.add('show_lbNotiPopup')}else if(new_val=='msg2'){document.body.classList.add('show_lbUser');var ele=document.getElementById('lbUserPanel');this.$store.dispatch('user/load_msg',!0);ele.classList.add('message');var action=function(){var eles=document.getElementsByClassName('body-skin');if(eles.length>0){eles[0].style.position='fixed'}
109var ele=document.getElementById('lnwbody');if(ele){ele.style.position='fixed'}
110var ele=document.getElementById('lbUserPanel');if(ele){ele.style.position='absolute'}};setTimeout(action,600)}}},methods:{handle_noti_scroll:function(event){var element=event.target;if((element.scrollHeight-element.scrollTop-10)<element.clientHeight){this.$store.dispatch('user/load_msg',!1)}},close_popup:function(){this.show_popup_key=null},toggle_productPopup:function(){if(this.show_popup_key=='product'){this.show_popup_key=null}else{this.show_popup_key='product'}},show_lang:function(){if(arguments.length==0){return ''}
111if(typeof __lnw__!=='undefined'&&typeof __lnw__.show_lang!=='undefined'){return __lnw__.show_lang.apply(__lnw__,arguments)}
112var dft_lang_texts={'LB-PROFILE':'ข้อมูลบุคคล','RECEIVER_ADDRESS':'ที่อยู่จัดส่ง','LB-CONNECT':'เชื่อมบัญชี / เบอร์มือถือ','LB-RESET-PSW':'เปลี่ยนรหัสผ่าน','LB-NOTIFICATION':'ข้อความแจ้งเตือน','LB-NO-NOTIFICATION':'ไม่มีข้อความแจ้งเตือน','LB-A
112LL-NOTIFICATION':'รายการแจ้งเตือนทั้งหมด','LB-MY-FAVSHOP':'ร้านค้าโปรดของฉัน','VIEW_ALL':'ดูเพิ่ม','GADGET-CART-FAV':'บันทึกเป็นร้านโปรด','LB-FAV_DETAIL':'หากคุณต้องการเพิ่มเป็นร้านโปรด กรุณาคลิกเพื่อบันทึก','BUY-DELETE':'ลบ','LB-MY_LNWSHOP_ADDON':'บริการอัพเกรดของฉัน','LB-LOGOUT':'ออกจากระบบ','LB-MY_SHOP':'ร้านค้าของฉัน','LB-MANAGE_SHOP':'จัดการหลังร้าน','LB-CREATE_SHOP':'เริ่มธุรกิจกับ LnwShop เปิดร้านค้าฟรี','LB-CREATE_DETAIL':'แค่คุณมีฝัน เราจะช่วยทำให้เป็นจริง','ORDER-MY_ORDER':'รายการสั่งซื้อของฉัน','ORDER-STATUS-WAIT_PAYMENT':'รอการชำระเงิน','ORDER-STATUS-WAIT_PAYMENT_VERIFY':'รอตรวจสอบยอดเงิน','ORDER-STATUS-WAIT_SEND':'รอจัดส่งสินค้า','ORDER-STATUS-SENT':'ส่งสินค้าเรียบร้อยแล้ว'};var key1=arguments[0];if(typeof dft_lang_texts[key1]=='undefined'){return key1}
113return dft_lang_texts[key1]},get_msg_class:function(type){var li_class='';switch(type){case 'lnwshop/owner/webboard/topic':li_class='nTopic';break;case 'lnwshop/owner/webboard/post':case 'lnwshop/user/webboard/post':li_class='nPost';break;case 'lnwshop/owner/contact_us':li_class='nMessage';break;case 'lnwshop/owner/product/discuss':li_class='nDiscus';break;case 'lnwshop/owner/product/review':li_class='nRating';break;case 'lnwshop/owner/payment':case 'lnwshop/user/payment':li_class='nPayment';break;case 'lnwshop/user/order':case 'lnwshop/owner/order':case 'lnwshop/user/shipping':case 'lnwshop/owner/shipping':case 'lnwmall2/seller/order':case 'lnwmall2/buyer/order':case 'lnwmall2/seller/shipping':case 'lnwmall2/buyer/shipping':li_class='nOrder';break;case 'lnwshop/owner/broadcast':li_class='nNotice';break;case 'lnwpay/seller/order/created':li_class='npsCreated';break;case 'lnwpay/buyer/order/created':li_class='npbCreated';break;case 'lnwpay/buyer/payment/informed':li_class='npbInformed';break;case 'lnwpay/buyer/payment/rejected':li_class='npbRejected';break;case 'lnwpay/seller/payment/confirmed':case 'lnwpay/buyer/payment/confirmed':case 'lnwshop/user/payment_confirm':li_class='npConfirmed';break;case 'lnwpay/buyer/order/shipped':case 'lnwshop/user/shipping_confirm':li_class='npbShipped';break;case 'lnwpay/buyer/order/received':li_class='npbReceived';break;case 'lnwpay/seller/order/completed':li_class='npsCompleted';break}
114return li_class},toggle_msg:function(ntype){if(this.show_popup_key=='msg'){this.show_popup_key=null}else{this.show_popup_key='msg'}},toggle_msg2:function(ntype){if(this.show_popup_key=='msg2'){this.show_popup_key=null}else{this.show_popup_key='msg2'}},number_format:function(a1){return number_format(a1)},toggle_fav:function(){if(this.show_popup_key=='favshop'){this.show_popup_key=null}else{this.show_popup_key='favshop'}},favshop_add:function(){__lnw__.favShop.add()},favshop_remove:function(shop_id){__lnw__.favShop.remove_by_id(shop_id)},toggle_user:function(){if(this.show_popup_key=='userpanel'){this.show_popup_key=null}else{this.show_popup_key='userpanel'}},show_favshops_more:function(){this.show_favshops_num=100},show_myshops_more:function(){this.show_myshops_num=100},show_lnwpay_helper:function(){this.is_show_lnwpay_helper=!0},hide_lnwpay_helper:function(){this.is_show_lnwpay_helper=!1},toggle_lnwpay_helper:function(){this.is_show_lnwpay_helper=!this.is_show_lnwpay_helper},open_admin_info:function(){if(typeof window.open_admin_info=='function'){window.open_admin_info()}}},created:function(){if(this.is_hide){var link=document.createElement('link');link.rel='stylesheet';link.href=base_url('system/application/modules/lnwbar/_css/color_style.min.css');link.type='text/css';document.getElementsByTagName('body')[0].appendChild(link);if(this.is_show_lnwpay){var link=document.createElement('link');link.rel='stylesheet';
114link.href=base_url('system/application/templates/lnwshop/default/_css/lnwpaybar.css');link.type='text/css';document.getElementsByTagName('body')[0].appendChild(link)}}
115if(document.getElementsByClassName('lnwwall').length==0){var div=document.createElement('div');div.className='lnwwall';document.getElementsByTagName('body')[0].appendChild(div)}
116if(!this.userdata||!this.userdata.MANAGE_URL){this.$store.dispatch('user/load_init')}
117var that=this;document.addEventListener("click",function(event){if(that.show_popup_key!=null){if(event.target.closest('.lb-popup-area')==null){if(event.target.closest('.lb-popup-btn')==null){that.show_popup_key=null;event.stopPropagation();event.preventDefault()}}}});if(typeof __lnw__!='undefined'){__lnw__.favShop.bind('add-success',function(rdata){if(typeof rdata.shop!='undefined'){that.$store.commit('user/add_favshop',rdata.shop)}});__lnw__.favShop.bind('remove-success',function(rdata){if(typeof rdata.shop_id!='undefined'){that.$store.commit('user/remove_favshop',rdata.shop_id)}});__lnw__.favShop.bind('remove_by_id-success',function(shop_id,rdata){if(typeof rdata.shop_id!='undefined'){that.$store.commit('user/remove_favshop',rdata.shop_id)}})}
118if(window._lnwbar_admin_info_html){that.admin_info_html=window._lnwbar_admin_info_html;delete window._lnwbar_admin_info_html}},template:`
119<div id="lb" :class="lb_class">
120	<template v-if="is_hide">
121		<lnwbar-localhost-login v-if="!is_login && webdata.id && webdata.is_localhost" :force_show="local_login"></lnwbar-localhost-login>
122	</template>
123	<div v-else-if="is_mini" id="lbWrapper-mini" :class="wrapper_class">
124		<div>
125			<a class="lbweb" :href="webdata.front_url"><img :title="webdata.name" :src="webdata.avatar" /></a>
126		</div>
127		<div>
128			<div v-if="is_login" id="lbMember">
129				<a class="lbuser lb-popup-btn" @click="toggle_user"><img :title="userdata.name" :src="userdata.avatar" /></a>
130			</div>
131			<div id="lbNoti"><div class="noti_name" v-text="userdata.name"></div><div class="noti_general lb-popup-btn" role="button" tabindex="0" :aria-label="notification_count == null ? 'เปิดแจ้งเตือน' : 'แจ้งเตือนใหม่ ' + notification_count + ' รายการ'" :aria-expanded="show_popup_key == 'msg'" @click="toggle_msg" @keydown.enter.prevent="toggle_msg" @keydown.space.prevent="toggle_msg"><div v-if="notification_count>0" class="noti_number" v-text="notification_count > 99 ? '99+' : notification_count"></div></div></div>
132			<div id="lbNotiPopup" class="lbNotiPopup lb-popup-area">
133				<manage-notification-popup v-if="manage_notification_config" :config="manage_notification_config" :opened="show_popup_key == 'msg'" :account-data="userdata.ACCOUNTS_DATA" @count="manage_notification_count = $event" @close="close_popup"></manage-notification-popup>
134				<div v-else class="popup_general">
135					<div class="title" v-text="show_lang('LB-NOTIFICATION')"></div><a class="all" href="https://www.lnwaccounts.com/manage/notifications">ทั้งหมด</a>
136					<div class="list" @scroll="handle_noti_scroll">
137						<div v-for="nt in notis" class="li hoverCircle" :class="nt.className">
138							<noti-list :data="nt"></noti-list>
139						</div>
140						<div v-if="notis.length == 0" class="li list-empty" style="text-align: center;">- {{show_lang('LB-NO-NOTIFICATION')}} -</div>
141					</div>
142				</div>
143			</div>
144		</div>
145	</div>
146	<div v-else :id="is_manage_page?'lbWrapper-manage':'lbWrapper'" :class="wrapper_class">
147		<div class="component">
148			<template v-if="webdata.id && !is_manage_page">
149			<div id="lbProduct">
150				<div v-if="head.is_bb" class="main-bb" :class="((head.image && head.text)?'':(head.image?'bb-image':'bb-text'))">
151					<a :href="head.url"><img v-if="head.image" class="favicon" :src="head.image" :alt="head.image_alt" :title="head.image_alt" :width="head.width" :height="head.height" /><span v-if="head.text" class="txt" v-text="head.text"></span></a>
152				</div>
153				<div v-else class="main lb-popup-btn" @click="toggle_productPopup">
154					<img v-if="head.image" class="favicon" :src="head.image" :alt="head.image_alt" :title="head.image_alt" :width="head.width" :height="head.height" />
155				</div>
156			</div>
157			<div v-if="!head.is_bb" id="lbProductPopup" class="lb-popup-area">
158				<div class="lblists">
159					<a v-for="product in product_list" class="lblist" :class="product.key" :product="product.key" :href="product.url" target="_blank" rel="nofollow noopener"><i></i><span v-text="product.desc"></span><b></b><div v-if="product.is_new" class="new_icon"></div></a>
160				</div>
161				<div class="close_lbProductPopup" @click="close_popup">X ปิดหน้าต่าง</div>
162			</div>
163			<div v-if="is_show_lnwpay" id="lnwpayStatistic" class="content">
164				<ul :class="{superShop: lnwpay_data.is_supershop}">
165					<li class="slogan">
166						<a class="box" :href="lnwpay_url+'buy'" target="_blank" rel="noopener">
167							&nbsp;<img :src="template_image_url+'lnwpay/lnwpaybar/lnwpay_shield.png'" alt="LnwPay Buyer Protection" width="21" height="24" />
168							&nbsp;
169							<span class="text">มั่นใจ จ่ายง่าย ได้ชัวร์ !</span>
170						</a>
171					</li>
172					<li v-if="lnwpay_data.is_supershop" class="shopname">
173						<a class="box" :href="lnwpay_url+'supershop'" target="_blank" rel="noopener">
174							<div class="avatar">
175								<s title="ร้านค้า SuperShop"></s>
176							</div>
177						</a>
178					</li>
179					<li class="shoprank">
180						<a class="box" :href="lnwpay_url+'rank'" :title="(lnwpay_data.review_score==0)?'Rank':show_lang('LNWPAY-SELLER_SUMMARY_POINT', lnwpay_data.review_score)" target="_blank" rel="noopener">
181							<div class="text"><span class="xx">ระดับ:</span>
181<lnwpay-rank-icons :rank_class="lnwpay_data.rank_class" :rank_level="lnwpay_data.rank_level"></lnwpay-rank-icons>
182							</div>
183						</a>
184					</li>
185					<li id="service_bar" class="service" :class="{showHelper:(is_show_lnwpay_helper)}" @mouseover="show_lnwpay_helper" @mouseout="hide_lnwpay_helper">
186						<a class="box" :href="lnwpay_url+'seller/'+webdata.id" target="_blank" rel="noopener" @click.stop.prevent="toggle_lnwpay_helper">
187							<div class="barshopreview" :class="'feedback'+lnwpay_data.stat_standard">
188								<span class="service_icon"><img :src="template_image_url+'lnwpay/lnwpaybar/icon_smile.png'" alt="" title="" width="24" height="24" /></span>
189								<span class="text">&nbsp;รีวิว:</span>
190								<span class="bargraphfeedback">
191									<strong class="bar" :class="'bgfeedback'+lnwpay_data.stat_standard" :style="{width:lnwpay_data.stat_percent+'%'}"></strong>
192								</span>
193								<span>{{lnwpay_data.stat_percent?lnwpay_data.stat_percent+'% พอใจ':''}}</span>
194								<span class="service_arrow"><img :src="template_image_url+'lnwpay/lnwpaybar/arrow.png'" alt="" title="" width="10" height="27" /></span>
195							</div>
196						</a>
197						<div class="LnwPayHelper" :class="{LnwPayHelperBig:lnwpay_data.stat_percent}">
198							<div class="body">
199								<div :class="{feedbackStat:lnwpay_data.stat_percent}">
200								<template v-if="lnwpay_data.stat_percent">
201									<div class="header" :class="'feedback'+lnwpay_data.stat_standard">{{lnwpay_data.stat_up}} คน พอใจ</div>
202									<div class="sub_header">ผู้ซื้อสินค้า {{lnwpay_data.stat_percent}}% พอใจในภาพรวมการบริการของร้านค้า</div>
203								</template>
204								<template v-else>
205									<div class="header feedbackInit">ข้อมูลไม่เพียงพอ</div>
206									<div class="sub_header feedbackInit">ระบบยังไม่สามารถแสดงข้อมูลรีวิวและความพอใจของผู้ซื้อสินค้า ณ ขณะนี้ได้</div>
207								</template>
208
209									<div class="statistic" style="border:none;">
210										<div class="sub_text">เปิดร้านตั้งแต่ : {{webdata.open_date_th}} <span style="float:right; color: rgba(255,255,255,0.8); font-size: 10px;">({{webdata.open_date_diff}})</span></div>
211										<div class="sub_text">เริ่มใช้ LnwPay : {{lnwpay_data.start_date_th}} <span style="float:right; color: rgba(255,255,255,0.8); font-size: 10px;">({{lnwpay_data.start_date_diff}})</span></div>
212									</div>
213								</div>
214								<template v-if="lnwpay_data.stat_percent">
215								<div class="shopsmallBlock lnwpay_content feedbackHeart">
216									<div v-if="lnwpay_data.premium_num > 0" class="feedbackPremium" style="margin-left:0;">
217										<div v-for="heart_type in heart_types" class="shopPremiumBlock"  score-type="heart_type.type">
218											<div class="score_title">{{heart_type.text}}</div>
219											<div class="score_heart"></div>
220											<div class="score_point">({{lnwpay_data.premium_scores[heart_type.type] || 'รอ'}})</div>
221										</div>
222									</div>
223								</div>
224								<div style="border-top: 1px solid #294181;" class="clear"></div>
225								</template>
226								<div class="content" style="line-height: 22px;">
227									<img :src="template_image_url+'lnwpay/lnwpaybar/stats_logo.png'" alt="lnwpay stat icon" width="19" height="18" />
228									<span>ข้อมูลรีวิวจากสถิติ 6 เดือนล่าสุด</span>
229									<span class="feedBackFooterDesc">และรีวิวทั้งหมดมาจากผู้ที่ซื้อสินค้าจริงเท่านั้น</span>
230									<div class="clear"></div>
231								</div>
232								<a class="gotoshopButton" :href="lnwpay_url+'seller/'+webdata.id" target="_blank" rel="noopener">ดูรีวิวทั้งหมดที่ LnwPay</a>
233							</div>
234						</div>
235					</li>
236				</ul>
237			</div>
238			</template>
239			<div v-if="is_login" id="lbMember">
240				<a class="lbuser lb-popup-btn" @click="toggle_user"><img :title="userdata.name" :src="userdata.avatar" width="24" height="24" /></a>
241			</div>
242			<lnwbar-localhost-login v-else-if="webdata.id && webdata.is_localhost"></lnwbar-localhost-login>
243			<div v-else-if="userdata" id="lbMember">
244				<a :href="userdata.LOGIN_URL" rel="nofollow" class="lblogin"><span class="ico"></span><span class="txt">  {{show_lang('เข้าสู่ระบบ')}}</span></a><a :href="userdata.REGISTER_URL" class="lbregister" rel="nofollow"><span class="ico"></span><span class="txt"> {{show_lang('สมัครสมาชิก')}}</span></a>
245			</div>
246			<template v-if="is_login">
247			<template v-if="!is_manage_page">
248			<div id="lbFav" class="lb-popup-btn" @click="toggle_fav"><span class="ico"></span></div>
249			<div id="lbFavPopup" class="lb-popup-area">
250				<div v-if="favshops == null" class="lbLoading"></div>
251				<div v-else class="favShopZone">
252					<div class="title">{{show_lang('LB-MY-FAVSHOP')}}</div><div class="number">{{favshops.length}}</div>
253					<a class="all" href="https://www.lnwshop.com/myaccount/favshop">{{show_lang('VIEW_ALL')}}</a>
254					<div v-show="!is_favshop" class="add_fav"><a @click="favshop_add"><div class="addFav_ico"></div><b v-text="show_lang('GADGET-CART-FAV')"></b><br/>{{show_lang('LB-FAV_DETAIL')}}</a></div>
255					<ul class="listShop">
256						<li v-for="(shop, index) in favshops" class="shop hoverCircle" :class="{nowshop:(shop.shop_id == webdata.id)}">
257							<template v-if="index < show_favshops_num">
258								<div class="shopRemove" @click="favshop_remove(shop.shop_id)" v-text="show_lang('BUY-DELETE')"></div>
259								<a :href="shop.url"><div class="shopAvatar"><img :src="shop.avatar" :alt="shop.shopname" /></div>
260								<div class="shopName" v-text="shop.shopname"></div>
261								<div class="shopDesc">#{{shop.shop_id}} <span class="shopStatus" :status="shop.close_status"></span></div></a>
262							</template>
263						</li>
264						<div v-if="(favshops.length > 8) && (show_favshops_num==8)" class="more" zone="favShopZone" @click.stop="show_favshops_more"><span v-text="show_lang('VIEW_ALL')"></span></div>
265					</ul>
266				</div>
267			</div>
268			</template>
269			<div id="lbNoti"><div class="noti_name" v-text="userdata.name"></div><div class="noti_general lb-popup-btn" role="button" tabindex="0" :aria-label="notification_count == null ? 'เปิดแจ้งเตือน' : 'แจ้งเตือนใหม่ ' + notification_count + ' รายการ'" :aria-expanded="show_popup_key == 'msg'" @click="toggle_msg" @keydown.enter.prevent="toggle_msg" @keydown.space.prevent="toggle_msg"><div v-if="notification_count>0" class="noti_number" v-text="notification_count > 99 ? '99+' : notification_count"></div></div></div>
270			<div id="lbNotiPopup" class="lbNotiPopup lb-popup-area">
271				<manage-notification-popup v-if="manage_notification_config" :config="manage_notification_config" :opened="show_popup_key == 'msg'" :account-data="userdata.ACCOUNTS_DATA" @count="manage_notification_count = $event" @close="close_popup"></manage-notification-popup>
272				<div v-else class="popup_general">
273					<div class="title" v-text="show_lang('LB-NOTIFICATION')"></div><a class="all" href="https://www.lnwaccounts.com/manage/notifications">ทั้งหมด</a>
274					<div class="list" @scroll="handle_noti_scroll">
275						<div v-for="nt in notis" class="li hoverCircle" :class="nt.className">
276							<noti-list :data="nt"></noti-list>
277						</div>
278						<div v-if="notis.length == 0" class="li list-empty" style="text-align: center;">- {{show_lang('LB-NO-NOTIFICATION')}} -</div>
279					</div>
280				</div>
281			</div>
282			<div v-if="!is_manage_page && is_show_lnwpoint && lnwpoint && (lnwpoint.available_balance != null)" class="content">
283				<div class="lnwpoints">
284					<a class="lbPoints" :href="lnwpay_url+'my/buyer/point'"><img :src="module_image_url+'lnwpoints.png'" style="vertical-align: middle;" width="20" height="20" /> <span class="show_lnwpoints" v-text="number_format(lnwpoint.available_balance)"></span> <span class="points_unit">Points</span></a>
285					<div class="LnwPayHelper">
286						<div class="body">
287							<div class="header feedback95">ใช้เป็นส่วนลดได้ <span class="show_lnwpoints_price" v-text="lnwpoint.available_money"></span> บาท</div>
288							<a style="font-size: 12px; display:block; margin: 10px 0px;" :href="lnwpay_url+'my/buyer/point'"><u>ประวัติการใช้คะแนนสะสมของฉัน</u></a>
289							<div class="statistic" style="margin: 15px 0px 7px 0px; padding: 0px;"></div>
290							<div class="footer">
291								<div style="font-size: 16px; margin: 5px 0px 5px 0px; "><img :src="module_image_url+'lnwpoints.png'" style="vertical-align: middle;" width="20" height="20" /> คะแนนสะสม LnwPoints</div>
292								<div class="sub_text">คุณจะได้รับคะแนนสะสม 1% ทุกครั้งที่กลับมารีวิวการสั่งซื้อสินค้า คะแนนนี้จะสามารถใช้เป็นส่วนลดได้ทุกร้านที่ใช้ระบบ LnwPay</div><br>
293								<a v-if="true" target="_blank" rel="noopener" href="lnwpay_url+'my/buyer/myreview'"><div style="margin: 0px 0px 10px 0px;" class="sub_button">รีวิวเพื่อรับคะแนนสะสมเพิ่ม</div></a>
294								<a v-else href="lnwpay_url+'my/buyer/myreview'"><div style="margin: 0px 0px 10px 0px;" class="sub_button">คุณยังไม่มีรายการสั่งซื้อให้รีวิว</div></a>
295								<a target="_blank" rel="noopener" :href="lnwpay_url+'lnwpoints'"><u>รายละเอียด LnwPoints เพิ่มเติม</u></a>
296							</div>
297						</div>
298					</div>
299				</div>
300			</div>
301			</template>
302		</div>
303	</div>
304	<div v-if="!is_hide && webdata.is_localhost && is_show_lnwpay" id="lnwpayBarMini">
305		<div id="lnwpayStatistic" class="content">
306			<ul>
307				<li class="slogan">
308					<a class="box" :href="lnwpay_url+'buy'" target="_blank" rel="noopener">
309						&nbsp;<img :src="template_image_url+'lnwpay/lnwpaybar/lnwpay_shield.png'" alt="LnwPay Buyer Protection" width="18" height="20" />
310						&nbsp;
311						<span class="text">มั่นใจ จ่ายง่าย ได้ชัวร์ !</span>
312					</a>
313				</li>
314				<li id="service_bar" class="service" :class="{showHelper:(is_show_lnwpay_helper)}" @mouseover="show_lnwpay_helper" @mouseout="hide_lnwpay_helper">
315					<a class="box" :href="lnwpay_url+'seller/'+webdata.id" target="_blank" rel="noopener" @click.stop.prevent="toggle_lnwpay_helper">
316						<div class="barshopreview" :class="'feedback'+lnwpay_data.stat_standard">
317							<span class="service_icon"><img :src="template_image_url+'lnwpay/lnwpaybar/icon_smile.png'" alt="" title="" width="16" height="16" /></span>
318							<span class="text">&nbsp;รีวิว:</span>
319							<span class="bargraphfeedback">
320								<strong class="bar" :class="'bgfeedback'+lnwpay_data.stat_standard" :style="{width:lnwpay_data.stat_percent+'%'}"></strong>
321							</span>
322							<span>{{lnwpay_data.stat_percent?lnwpay_data.stat_percent+'% พอใจ':''}}</span>
323							<span class="service_arrow"><img :src="template_image_url+'lnwpay/lnwpaybar/arrow.png'" alt="" title="" width="10" height="27" /></span>
324						</div>
325					</a>
326					<div class="LnwPayHelper" :class="{LnwPayHelperBig:lnwpay_data.stat_percent}">
327						<div class="body">
328							<div :class="{feedbackStat:lnwpay_data.stat_percent}">
329							<template v-if="lnwpay_data.stat_percent">
330								<div class="header" :class="'feedback'+lnwpay_data.stat_standard">{{lnwpay_data.stat_up}} คน พอใจ</div>
331								<div class="sub_header">ผู้ซื้อสินค้า {{lnwpay_data.stat_percent}}% พอใจในภาพรวมการบริการของร้านค้า</div>
332							</template>
333							<template v-else>
334								<div class="header feedbackInit">ข้อมูลไม่เพียงพอ</div>
335								<div class="sub_header feedbackInit">ระบบยังไม่สามารถแสดงข้อมูลรีวิวและความพอใจของผู้ซื้อสินค้า ณ ขณะนี้ได้</div>
336							</template>
337
338								<div class="statistic" style="border:none;">
339									<div class="sub_text">เปิดร้านตั้งแต่ : {{webdata.open_date_th}} <span style="float:right; color: rgba(255,255,255,0.8); font-size: 10px;">({{webdata.open_date_diff}})</span></div>
340									<div class="sub_text">เริ่มใช้ LnwPay : {{lnwpay_data.start_date_th}} <span style="float:right; color: rgba(255,255,255,0.8); font-size: 10px;">({{lnwpay_data.start_date_diff}})</span></div>
341								</div>
342							</div>
343							<template v-if="lnwpay_data.stat_percent">
344							<div class="shopsmallBlock lnwpay_content feedbackHeart">
345								<div v-if="lnwpay_data.premium_num > 0" class="feedbackPremium" style="margin-left:0;">
346									<div v-for="heart_type in heart_types" class="shopPremiumBlock"  score-type="heart_type.type">
347										<div class="score_title">{{heart_type.text}}</div>
348										<div class="score_heart"></div>
349										<div class="score_point">({{lnwpay_data.premium_scores[heart_type.type] || 'รอ'}})</div>
350									</div>
351								</div>
352							</div>
353							<div style="border-top: 1px solid #294181;" class="clear"></div>
354							</template>
355							<div class="content" style="line-height: 22px;">
356								<img :src="template_image_url+'lnwpay/lnwpaybar/stats_logo.png'" alt="lnwpay stat icon" width="19" height="18" />
357								<span>ข้อมูลรีวิวจากสถิติ 6 เดือนล่าสุด</span>
358								<span class="feedBackFooterDesc">และรีวิวทั้งหมดมาจากผู้ที่ซื้อสินค้าจริงเท่านั้น</span>
359								<div class="clear"></div>
360							</div>
361							<a class="gotoshopButton" :href="lnwpay_url+'seller/'+webdata.id" target="_blank" rel="noopener">ดูรีวิวทั้งหมดที่ LnwPay</a>
362						</div>
363					</div>
364				</li>
365			</ul>
366		</div>
367	</div>
368	<div v-if="userdata && userdata.is_login" id="lbUserPanel" class="lb-popup-area">
369		<div class="hhhZone"><div class="backbtn" @click="close_popup">&lsaquo; <span>กลับ</span></div></div>
370		<div class="adminZone" v-if="userdata.is_admin && admin_info_html" v-html="admin_info_html"></div>
371		<div class="accountZone">
372			<div class="hoverCircle">
373				<a :href="userdata.MANAGE_URL">
374					<div class="lnwme_button">Lnw.me</div>\
375					<img :src="userdata.avatar" :alt="userdata.name" width="24" height="24" />
376					<div class="name" v-text="userdata.name"></div>
377				</a>
378			</div>
379		</div>
380		<div v-if="!userdata.is_owner"></div>
381		<div v-else-if="userdata.myshops == null" class="myShopZoneLoading lbLoading xx"></div>
382		<div v-else class="myShopZone">
383			<div class="title" v-text="show_lang('LB-MY_SHOP')"></div><div class="number" v-text="userdata.myshops.length"></div><a class="all" href="https://www.lnwshop.com/myaccount/shop" v-text="show_lang('VIEW_ALL')"></a>
384			<div class="list_bg"></div>
385			<ul class="listShop">
386				<li v-if="userdata.myshops.length == 0" class="zero"><a href="https://www.lnwshop.com/openshop"><div class="shopAvatar">+</div><div class="shopName" v-text="show_lang('LB-CREATE_SHOP')"></div><div class="shopDesc" v-text="show_lang('LB-CREATE_SHOP_DETAIL')"></div></a></li>
387				<li v-else v-for="(shop,idx) in sorted_userdata_myshops" class="shop" v-if="idx<show_myshops_num" :class="{single:(userdata.myshops.length == 1)}">
388					<a :href="shop.url">
389						<div class="shopAvatar"><img :src="shop.avatar" :alt="shop.shopname" /></div>
390						<div class="shopName" v-text="shop.shopname"></div>
391						<div class="shopDesc">#{{shop.shop_id}} <span class="shopStatus" :status="shop.close_status"></span></div></a>
392						<a class="shopManage" :href="shop.url+'manage'" v-text="show_lang('LB-MANAGE_SHOP')">
393					</a>
394				</li>
395				<div v-if="(userdata.myshops.length > show_myshops_num)" class="lb-popup-btn more" zone="myShopZone" @click="show_myshops_more"><span v-text="show_lang('VIEW_ALL')"></span></div>
396			</ul>
397		</div>
398		<div class="myOrderZone">
399			<div class="title" v-text="show_lang('ORDER-MY_ORDER')"></div>
400			<div class="list_bg"></div>
401			<a :href="webdata.order_url" class="myAllOrders">
402				<div class="shopAvatar"><img :src="webdata.avatar" :alt="webdata.webname" /></div>
403				<div class="shopName">
404					<div><b>{{ show_lang('ORDER-MY_ORDER') }}</b></div>
405					<div style="color: #999;">{{ webdata.front_url }}</div>
406				</div>
407			</a>
408		</div>
409		<div class="otherZone">
410			<div v-if="webdata.id && webdata.is_x_ads" class="lnwshopZone lnwXZone">
411				<a href="https://www.lnwx.com/manage"><div class="list-item"><div class="hoverCircle">จัดการบัญชี  LnwX</div></div></a>
412			</div>
413			<div v-if="webdata.id && !userdata.is_owner" class="orderZone">
414				<div class="title">{{webdata.name}}</div>
415				<a :href="webdata.order_url">
416					<div class="list-item"><div class="hoverCircle"><span><span class="fa icon-shopping-bag"></span> {{show_lang('ORDER-MY_ORDER')}}</span><span v-if="userdata.order_nums && userdata.order_nums.all" class="orderCount" v-text="userdata.order_nums.all"></span></div></div>
417				</a>
418				<a :href="webdata.order_url + ((webdata.lnwpay)?'?filter':'?stage') + '=wait_payment'">
419					<div class="list-item"><div class="hoverCircle"><span><span class="fa icon-dollar-sign"></span> {{show_lang('ORDER-STATUS-WAIT_PAYMENT')}}</span><span v-if="userdata.order_nums && userdata.order_nums.wait_payment" class="orderCount" v-text="userdata.order_nums.wait_payment"></span></div></div>
420				</a>
421				<a :href="webdata.order_url + ((webdata.lnwpay)?'?filter':'?stage') + '=wait_payment_verify'">
422					<div class="list-item"><div class="hoverCircle"><span><span class="fa icon-clock"></span>{{show_lang('ORDER-STATUS-WAIT_PAYMENT_VERIFY')}}</span><span v-if="userdata.order_nums && userdata.order_nums.wait_payment_verify" class="orderCount" v-text="userdata.order_nums.wait_payment_verify"></span></div></div>
423				</a>
424				<a :href="webdata.order_url + ((webdata.lnwpay)?'?filter':'?stage') + '=wait_send'">
425					<div class="list-item"><div class="hoverCircle"><span><span class="fa icon-truck"></span>{{show_lang('ORDER-STATUS-WAIT_SEND')}}</span><span v-if="userdata.order_nums && userdata.order_nums.wait_send" class="orderCount" v-text="userdata.order_nums.wait_send"></span></div></div>
426				</a>
427				<a :href="webdata.order_url + ((webdata.lnwpay)?'?filter':'?stage') + '=sent'">
428					<div class="list-item"><div class="hoverCircle"><span><span class="fa icon-check-square"></span>{{show_lang('ORDER-STATUS-SENT')}}</span><span v-if="userdata.order_nums && userdata.order_nums.sent" class="orderCount" v-text="userdata.order_nums.sent"></span></div></div>
429				</a>
430			</div>
431			<div v-else class="lnwshopZone">
432				<div class="title">LnwShop.com</div>
433				<a href="https://www.lnwshop.com/myaccount/main"><div class="list-item"><div class="hoverCircle"><span class="fa icon-shop"></span>My LnwShop</div></div></a>
434				<a href="https://www.lnwshop.com/myaccount/favshop"><div class="list-item"><div class="hoverCircle"><span class="fa icon-heart"></span>{{show_lang('LB-MY-FAVSHOP')}}</div></div></a>
435				<a href="https://www.lnwshop.com/myaccount/service"><div class="list-item"><div class="hoverCircle"><span class="fa icon-star"></span>{{show_lang('LB-MY_LNWSHOP_ADDON')}}</div></div></a>
436				<a href="https://www.lnwshop.com/user/report/all_orders"><div class="list-item"><div class="hoverCircle"><span class="fa icon-shopping-shop-s"></span>{{show_lang('LB-MY_LNWSHOP_ORDER')}}</div></div></a>
437				<a href="https://www.lnwshop.com/myaccount/payment"><div class="list-item"><div class="hoverCircle"><span class="fa icon-dollar-sign"></span>{{show_lang('LB-MY_LNWSHOP_PAY')}}</div></div></a>
438			</div>
439			<div class="lnwaccountsZone">
440				<div class="title">Lnw.me</div>
441				<a :href="userdata.MANAGE_URL+'/main/profile'"><div class="list-item"><div class="hoverCircle"><span><span class="fa icon-user"></span>{{show_lang('LB-PROFILE')}}</span></div></div></a>
442				<a :href="userdata.MANAGE_URL+'/main/address'"><div class="list-item"><div class="hoverCircle"><span><span class="fa icon-map-pin"></span>{{show_lang('RECEIVER_ADDRESS')}}</span></div></div></a>
443				<a :href="userdata.MANAGE_URL+'/main/privacy'"><div class="list-item"><div class="hoverCircle"><span><span class="fa icon-lock"></span>{{show_lang('LB-RESET-PSW')}}</span></div></div></a>
444				<a :href="userdata.MANAGE_URL+'/setting'"><div class="list-item"><div class="hoverCircle"><span><span class="fa icon-settings"></span>{{show_lang('LB-CONNECT')}}</span></div></div></a>
445				<a v-if="webdata.id && webdata.is_localhost" @click.prevent.stop="accounts_logout" :href="userdata.LOGOUT_URL"><div class="list-item"><div class="hoverCircle"><span><span class="fa icon-log-out"></span>{{show_lang('LB-LOGOUT')}}</span><div class="lnwLogo"></div></div></div></a>
446				<a v-else :href="userdata.LOGOUT_URL"><div class="list-item"><div class="hoverCircle"><span><span class="fa icon-log-out"></span>{{show_lang('LB-LOGOUT')}}</span><div class="lnwLogo"></div></div></div></a>
447			</div>
448			<div class="clear"></div>
449		</div>
450		<div class="messageZone">
451			<div class="lbNotiPopup">
452				<div class="popup_general">
453					<div class="title" v-text="show_lang('LB-NOTIFICATION')"></div><a class="all" href="https://www.lnwaccounts.com/manage/notifications">ทั้งหมด</a>
454					<div class="list" @scroll="handle_noti_scroll">
455						<div v-for="nt in notis" class="li hoverCircle" :class="nt.className">
456							<noti-list :data="nt"></noti-list>
457						</div>
458						<div v-if="notis.length == 0" class="li list-empty" style="text-align: center;">- {{show_lang('LB-NO-NOTIFICATION')}} -</div>
459					</div>
460				</div>
461			</div>
462		</div>
463	</div>
464</div>`})

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.