PageSourceSearch

https://www.tysonins.com/wp-content/cache/min/1/facebook-page-posts/widget.js?ver=1790623362

js tysonins.com collected 2026-10-08 20:50:15 UTC 63,372 bytes, 528 lines download raw bytes

1(function(window,document){"use strict";function skGetEnvironmentUrls(folder_name){var scripts=document.getElementsByTagName("script");var scripts_length=scripts.length;var search_result=-1;var other_result=-1;var app_url="https://widgets.sociablekit.com/";var app_backend_url="https://api.accentapi.com/v1/";var app_file_server_url="https://data.accentapi.com/feed/";var sk_app_url="https://sociablekit.com/app/";var sk_api_url="https://api.sociablekit.com/";var sk_img_url="https://images.sociablekit.com/";var sk_fb_sync_url="https://facebook-sync.sociablekit.com/";for(var i=0;i<scripts_length;i++){var src_str=scripts[i].getAttribute('src');if(src_str!=null){var other_folder="";if(folder_name=='facebook-page-playlists'){other_folder='facebook-page-playlist'}else if(folder_name=='linkedin-page-posts'){other_folder='linkedin-page-post'}else if(folder_name=='linkedin-profile-posts'){other_folder='linkedin-profile-post'}else if(folder_name=='facebook-hashtag-posts'){other_folder='facebook-hashtag-feed'}else if(folder_name=='facebook-page-events'){other_folder='facebook-events'}else if(folder_name=='facebook-page-posts'){other_folder='facebook-feed';if(document.querySelector(".sk-ww-facebook-feed")){var element=document.getElementsByClassName("sk-ww-facebook-feed")[0];element.classList.add("sk-ww-facebook-page-posts")}}
2other_result=src_str.search(other_folder);search_result=src_str.search(folder_name);if(search_result>=1||other_result>=1){var src_arr=src_str.split(folder_name);app_url=src_arr[0];app_url=app_url.replace("displaysocialmedia.com","sociablekit.com");if(app_url.search("local")>=1){app_backend_url="http://localhost:3000/v1/";app_url="https://localtesting.com/SociableKIT_Widgets/";app_file_server_url="https://localtesting.com/SociableKIT_FileServer/feed/";sk_app_url="https://localtesting.com/SociableKIT/";sk_api_url="http://127.0.0.1:8000/";sk_img_url="https://localtesting.com/SociableKIT_Images/";sk_fb_sync_url="https://localtesting.com/SociableKIT_Facebook_Sync/"}else{app_url="https://widgets.sociablekit.com/"}}}}
3return{"app_url":app_url,"app_backend_url":app_backend_url,"app_file_server_url":app_file_server_url,"sk_api_url":sk_api_url,"sk_app_url":sk_app_url,"sk_img_url":sk_img_url,"sk_fb_sync_url":sk_fb_sync_url}}
4function applySearchFeature(data_storage,search_term){var new_posts_lists=[];jQuery.each(data_storage,function(index,value){if(value.message&&value.message.toLowerCase().indexOf(search_term.toLowerCase())!=-1){new_posts_lists.push(value)}else if(value.post_id&&value.post_id.indexOf(search_term)!=-1){new_posts_lists.push(value)}});return new_posts_lists}
5function showOnlyOwnData(sk_facebook_feed,posts,bio){var new_posts_lists=[];var post_ids=[];jQuery.each(posts,function(index,value){if(post_ids.includes(value.id)==!1&&value.page_id&&value.page_id==getDsmSetting(sk_facebook_feed,'fb_page_id')){post_ids.push(value.id);new_posts_lists.push(value)}else if(post_ids.includes(value.id)==!1&&value.id&&value.id.includes(getDsmSetting(sk_facebook_feed,'fb_page_id'))){post_ids.push(value.id);new_posts_lists.push(value)}else if(post_ids.includes(value.id)==!1&&value.id.includes(bio.id)){post_ids.push(value.id);new_posts_lists.push(value)}});return new_posts_lists}
6function removeBlankContent(sk_facebook_feed,posts){var new_posts_lists=[];jQuery.each(posts,function(index,value){if((!value.media_attachments||value.media_attachments.length==0)&&!value.message&&!value.full_picture&&!value.video_url){}else{new_posts_lists.push(value)}});return new_posts_lists}
7function customCssChecker(){var url=window.location.href;if(url&&url.indexOf("kalix.se")>-1){return}
8loadCssFile("https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css")}
9async function showSharedPosts(sk_facebook_feed,to_sync){sk_facebook_feed.find('.sk-meta-data').each(async function(){var object_element=jQuery(this);if(!object_element.hasClass('sk-meta-done')){var parent_id=object_element.attr('id');var object_id=object_element.attr('data-id');var embed_id=getDsmEmbedId(sk_facebook_feed);var json_url=sk_fb_sync_url+"sync_post.php?parent_id="+parent_id+"&embed_id="+embed_id;jQuery.getJSON(json_url,function(data){if(data.id&&data.from){object_element.addClass('sk-meta-done');var post_items="<div>";post_items+="<div class='sk-meta-data-info'>";post_items+="<img loading='lazy' src='https://graph.facebook.com/v5.0/"+data.from.id+"/picture/?type=large&access_token='/>";post_items+="<div><b>"+data.from.name+"</b></div>";
9post_items+="</div>";if(data.message){post_items+="<div class='sk-meta-data-content'>";post_items+=data.message;post_items+="</div>"}
10if(data.full_picture){post_items+="<div class='sk-meta-data-media' onclick=\"window.open('"+data.permalink_url+"');\">";post_items+="<img loading='lazy' src='"+data.full_picture+"'/>";post_items+="</div>"}
11post_items+="</div>";object_element.html(post_items)}else{var item=data_storage.find(item=>item.id===object_id);if(item&&item.media_attachments&&item.media_attachments[0]&&item.media_attachments[0].thumbnail){var one_data=item.media_attachments[0];object_element.addClass('sk-meta-done');var post_items="<div>";if(one_data.description){post_items+="<div class='sk-meta-data-content'>";post_items+=one_data.description;post_items+="</div>"}else if(one_data.title){post_items+="<div class='sk-meta-data-content'>";post_items+=one_data.title;post_items+="</div>"}
12if(one_data.thumbnail){post_items+="<div class='sk-meta-data-media' onclick=\"window.open('"+one_data.url+"');\">";post_items+="<img loading='lazy' src='"+one_data.thumbnail+"'/>";post_items+="</div>"}
13post_items+="</div>";object_element.html(post_items)}else{object_element.remove()}}
14var elements=object_element.find(".sk-meta-data-content");for(var i=0;i<elements.length;i++){replaceContentWithLinks(jQuery(elements[i]),sk_facebook_feed)}}).fail(function(e){console.log("Shared content is missing.")})}})}
15function applyDateFormat(sk_facebook_feed,data_storage){var date_format=getDsmSetting(sk_facebook_feed,'date_format');var use_24_hour_clock=getDsmSetting(sk_facebook_feed,'use_24_hour_clock');var timezone=getDsmSetting(sk_facebook_feed,'timezone');var show_time_posted=getDsmSetting(sk_facebook_feed,'show_time_posted');var show_post_date=getDsmSetting(sk_facebook_feed,'show_post_date');var format='MMM D, YYYY';if(date_format=='M d, Y'){format='MMM D, YYYY'}else if(date_format=='jS M Y'){format='Do MMM YYYY'}else if(date_format=='Y M jS'){format='YYYY MMM Do'}else if(date_format=='Y-m-d'){format='YYYY-MM-D'}else if(date_format=='m/d/Y'){format='MM/D/YYYY'}else if(date_format=='d/m/Y'){format='D/MM/YYYY'}else if(date_format=='d.m.Y'){format='D.MM.YYYY'}else if(date_format=='d-m-Y'){format='D-MM-YYYY'}
16if(use_24_hour_clock==1&&show_time_posted==1){format=format+' HH:mm'}else if(show_time_posted==1){format=format+' hh:mm A'}
17var new_posts_lists=[];jQuery.each(data_storage,function(index,value){if(data_storage[index]&&data_storage[index].created_time){var date_time=data_storage[index].backdated_time?data_storage[index].backdated_time:data_storage[index].created_time;if(date_time&&show_time_posted!=1){date_time=date_time.split("T")[0]}
18if(show_post_date==1&&timezone){try{data_storage[index].post_date_time=moment(date_time).tz(timezone).format(format)}catch{data_storage[index].post_date_time=moment(date_time).format(format)}}else{data_storage[index].post_date_time=moment(date_time).format(format)}}});return data_storage}
19function predefinedPostFeature(data_storage,predefined_search_keyword){var keywords=predefined_search_keyword.split(",");var new_posts_list=[];for(let item of data_storage){if(item){for(var i=0;i<keywords.length;i++){if(item.message&&item.message.toLowerCase().indexOf(keywords[i].trim().toLowerCase())!=-1){new_posts_list.push(item);break}else if(item.description&&item.description.toLowerCase().indexOf(keywords[i].trim().toLowerCase())!=-1){new_posts_list.push(item);break}else if(item.name&&item.name.toLowerCase().indexOf(keywords[i].trim().toLowerCase())!=-1){new_posts_list.push(item);break}}}};return new_posts_list}
20function moderationTabFeature(sk_facebook_feed,data_storage,turnon_preapproval_posts){var preapproved_posts=[];var excluded_posts=[];if(turnon_preapproval_posts==1){if(getDsmSetting(sk_facebook_feed,"preapproved_posts")!=""){preapproved_posts=getDsmSetting(sk_facebook_feed,"preapproved_posts").split(",")}}else if(getDsmSetting(sk_facebook_feed,"excluded_posts")!=""){excluded_posts=getDsmSetting(sk_facebook_feed,"excluded_posts").split(",")}
21var new_posts_list=[];for(let item of data_storage){if(item){if(["106330322743688_479124244255671","106330322743688_478210624347033","106330322743688_477298584438237"].includes(item.id)){item.media_attachments=[{"thumbnail":"https://external-ord5-1.xx.fbcdn.net/emg1/v/t13/17436627457658256848?url=https%3A%2F%2Fwww.kalix.se%2Fcontentassets%2Fa2544fcc5e67452aa68428023fc8c1b3%2F304808120_110394221803604_7568028101721080709_n.jpg&fb_obo=1&utld=kalix.se&stp=c0.5000x0.5000f_dst-emg0_p360x360_q75&ccb=13-1&oh=06_AaokQwVvgz9JSNRLmKVsq_-7OCuvVfoXi45SvQAoWUrpKg&oe=6349130D&_nc_sid=834697","type":"share","description":"Den 10–13 oktober 2022 kan du som vill lära dig mer om psykisk hälsa ta del av en rad intressanta föreläsningar – helt kostnadsfritt.","title":"Norrbottens digitala vecka för psykisk hälsa","source":"","url":"https://l.facebook.com/l.php?u=https%3A%2F%2Fwww.kalix.se%2FAktuellt%2FOmsorg-och-raddning%2Fnorrbottens-digitala-vecka-for-psykisk-halsa%2F&h=AT3D0MDblxZM5hCTmBPGdhq-JDUukHsbGYh9nXDQecR1rurkrVGOxLp3U7wBqMLAItC4rOzATj00oM1PorL5dLETawOzJnUPEn--SJa02H47Zx081idrUQPbE2MhipgH&s=1"}]}
22if(turnon_preapproval_posts==1){if(preapproved_posts.includes(item.id)){new_posts_list.push(item)}}else{if(turnon_preapproval_posts==0&&excluded_posts.includes(item.id)){}else{app_url="https://widgets.sociablekit.com/"}}}}
23return{"app_url":app_url,"app_backend_url":app_backend_url,"app_file_server_url":app_file_server_url,"sk_api_url":sk_api_url,"sk_app_url":sk_app_url,"sk_img_url":sk_img_url,"sk_fb_sync_url":sk_fb_sync_url}}
24function getDsmEmbedId(sk_linkedin_page_post){var embed_id=sk_linkedin_page_post.getAttribute('embed-id');if(embed_id==undefined){embed_id=sk_linkedin_page_post.getAttribute('data-embed-id')}
25return embed_id}
26function slugifyString(str){str=str.replace(/^\s+|\s+$/g,'');str=str.toLowerCase();var from="ÁÄÂÀÃÅČÇĆĎÉĚËÈÊẼĔȆÍÌÎÏŇÑÓÖÒÔÕØŘŔŠŤÚŮÜÙÛÝŸŽáäâàãåčçćďéěëèêẽĕȇíìîïňñóöòôõøðřŕšťúůüùûýÿžþÞĐđ߯a·/_,:;";var to="AAAAAACCCDEEEEEEEEIIIINNOOOOOORRSTUUUUUYYZaaaaaacccdeeeeeeeeiiiinnooooooorrstuuuuuyyzbBDdBAa------";
26for(var i=0,l=from.length;i<l;i++){str=str.replace(new RegExp(from.charAt(i),'g'),to.charAt(i))}
27str=str.replace(/[^a-z0-9 -]/g,'').replace(/\s+/g,'-').replace(/-+/g,'-');return str}
28function generateBlueMessage(_sk,user_info){var tutorial_link="";var sk_error_message="";if(user_info.solution_name){var slugify_string=slugifyString(user_info.solution_name);tutorial_link="https://www.sociablekit.com/tutorials/embed-"+slugify_string+"-website/"}
29if(user_info.type==9){tutorial_link="https://www.sociablekit.com/sync-facebook-page-events-to-google-calendar/"}else if(user_info.type==26){tutorial_link="https://www.sociablekit.com/how-to-sync-facebook-group-events-to-google-calendar-on-website/"}
30if(user_info.widget_status==1){var sk_error_message="<div class='sk_error_message'>";sk_error_message+="<p style='text-align: center !important; margin: 1rem'> The widget does not exist. If you think this is a mistake, please contact support</a></p>";sk_error_message+="</div>";return sk_error_message}
31if(user_info.show_feed==!1){if(!user_info.message||user_info.message==""){var sk_error_message="<ul class='sk_error_message'>";sk_error_message+="<li><a href='"+tutorial_link+"' target='_blank'>"+user_info.solution_name+" powered by SociableKIT</a></li>";sk_error_message+="<li>If you’re the owner of this website or SociableKIT account used, we found some errors with your account.</li>";sk_error_message+="<li>Please login your SociableKIT account to fix it.</li>";sk_error_message+="</ul>";user_info.message=sk_error_message}
32sk_error_message=user_info.message}else if(user_info.solution_name==null&&user_info.type==null&&user_info.start_date==null){sk_error_message="<p class='sk_error_message'>";sk_error_message+="The SociableKIT solution does not exist. If you think this is a mistake, please contact support.";sk_error_message+="</p>"}else{sk_error_message="<div class='sk_error_message'>";sk_error_message+="<div style='display: inline-flex;width:100%;'>";sk_error_message+="<div>";sk_error_message+="<h4>SociableKIT is currently syncing your <a href='"+tutorial_link+"' target='_blank'>"+user_info.solution_name+" widget.</a></h4>";sk_error_message+=`
33                <svg height="20" style="width: 100%; border-radius: 55px !important; overflow: hidden;">
34                <rect x="0" y="0" width="480" height="20" fill="#f0f0f0" rx="10" ry="10" />
35                <pattern id="stripes" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse" patternTransform="rotate(45)">
36                    <rect x="0" y="0" width="10" height="20" fill="#007bff" />
37                </pattern>
38                <rect id="progressBar" x="0" y="0" width="0" height="20" fill="url(#stripes)" rx="10" ry="10">
39                    <animate attributeName="width" attributeType="XML" from="0" to="480" dur="2s" repeatCount="indefinite" />
40                </rect>
41                </svg>`;sk_error_message+="<p>While waiting there are a few things you need to know:</p>";sk_error_message+="<ul>";sk_error_message+="<li>It usually takes only a few minutes. We appreciate your patience.</li>";sk_error_message+="<li>We will notify you via email once your "+user_info.solution_name+" feed is ready.</li>";if(user_info.type==5){sk_error_message+="<li>Make sure your instagram account <a target='_blank' href='https://www.instagram.com/"+getDsmSetting(_sk,'username')+"' target='_blank'><b>@"+getDsmSetting(_sk,'username')+"</b></a> is connected.</li>"}else if(user_info.type==22||user_info.type==39){sk_error_message+="<li>Please make sure that you selected the correct Google Place or that the <a href='https://www.sociablekit.com/how-to-identify-google-place-id/' target='blank'><b> Google Place ID </b></a> you entered is correct.</li>"}else if(user_info.type==101){sk_error_message+="<li>Please make sure that you have <a href='https://www.sociablekit.com/add-sociablekit-as-your-contact-on-whatsapp/' target='blank'><b> added SociableKIT as your contact on WhatsApp</b></a>.</li>"}else{sk_error_message+="<li>Please make sure that the <b> Source ID/Username </b> you enter is correct.</li>"}
42sk_error_message+="<li>If you think there is a problem, <a target='_blank' href='https://go.crisp.chat/chat/embed/?website_id=2e3a484e-b418-4643-8dd2-2355d8eddc6b'>chat with support here</a>. We will solve it for you.</li>";sk_error_message+="</ul>";sk_error_message+="</div>";sk_error_message+="</div>";sk_error_message+="</div>"}
43return sk_error_message}
44async function fetchEmbedInfo(embed_id,sk_api_url){let jsonUrl=sk_api_url+"api/user_embed/info/"+embed_id;try{const response=await fetch(jsonUrl,{method:"GET"});const data=response.json();return data}catch(err){throw Error("Failed to fetch embed info")}}function getNocache(){const now=new Date();const threeMin=Math.floor(now.getMinutes()/5)*5;return `${now.getFullYear()}.${(now.getMonth() + 1).toString().padStart(2, '0')}.${now.getDate().toString().padStart(2, '0')}.${now.getHours().toString().padStart(2, '0')}.${threeMin.toString().padStart(2, '0')}`}
45function getWidgetLayoutWidth(widget){const rw=widget.getBoundingClientRect().width;if(rw>=2){return rw}
46if(widget.offsetWidth>=2){return widget.offsetWidth}
47let el=widget.parentElement;for(let depth=0;el&&depth<8;depth++){const pw=el.getBoundingClientRect().width;if(pw>=2){return pw}
48el=el.parentElement}
49return window.innerWidth}
50function getMediaColumn(widget,widgetState,settings){let columns;const innerWidth=getWidgetLayoutWidth(widget);let tablet_size=767;if(widget.parentElement&&widget.parentElement.id==='embed-code-container'){tablet_size=1500}
51if(innerWidth<=575){columns=widgetState.column_count_small}else if(innerWidth<=tablet_size){columns=Number(settings.column_count)>2?widgetState.column_count_medium:Number(settings.column_count)||1}else{columns=Number(settings.column_count)||widgetState.column_count_large||3}
52if(innerWidth<=1250&&Number(settings.column_count)>3){columns=Math.min(columns,3)}
53columns=Math.max(1,Math.min(12,parseInt(columns,10)||1));return columns}
54function getMediaColumnCarousel(widget,widgetState,settings){let columns;const innerWidth=getWidgetLayoutWidth(widget);let tablet_size=900;if(widget.parentElement&&widget.parentElement.id==='embed-code-container'){tablet_size=1500}
55if(innerWidth<=520){columns=widgetState.column_count_small}else if(innerWidth<=tablet_size){columns=widgetState.column_count_medium}else{columns=Number(settings.column_count)||widgetState.column_count_large||3}
56if(Number(settings.column_count)<columns){columns=Number(settings.column_count)}
57if(innerWidth<=1250&&Number(settings.column_count)>3){columns=Math.min(columns,3)}
58return columns}
59async function skIncreaseView(widgetState){const solution_info=widgetState.widget_data.user_info;if(solution_info&&solution_info.status&&![1,6,7].includes(parseInt(solution_info.status))){return!1}
60try{const user_id=solution_info.user_id;const status=solution_info.status;const widgetId=solution_info.embed_id;var sk_views_url="https://views.sociablekit.com/";if(document.URL.includes("local")){sk_views_url="https://localtesting.com/WidgetAnalytics/views/"}
61const uniqueId=sessionStorage.getItem('unique_id')||generateUniqueId();if(!sessionStorage.getItem('unique_id')){sessionStorage.setItem('unique_id',uniqueId)}
62const ipAddress=uniqueId;const payload={widgetId,userId:user_id,viewsCount:1,url:getCurrentUrl(),ipAddress,status,};const trackResponse=await fetch(sk_views_url+'track-widget-views.php',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(payload),});const responseData=await trackResponse.json();console.log('Server Response:',responseData)}catch(error){console.error('Error in renderViews:',error)}}
63function isTooDarkColor(hexColor){let r,g,b;if(hexColor.startsWith('#')){r=parseInt(hexColor.substr(1,2),16);g=parseInt(hexColor.substr(3,2),16);b=parseInt(hexColor.substr(5,2),16)}
64if(hexColor.indexOf('rgb')!==-1){const rgbValues=getRGB(hexColor);[r,g,b]=rgbValues}
65b=isNaN(b)?0:b;const yiq=((r*299)+(g*587)+(b*114))/1000;return yiq<60}
66function getRGB(rgbstr){return rgbstr.substring(4,rgbstr.length-1).replace(/ /g,'').replace('(','').split(',')}
67function getTutorialLinkNew(userInfo){const d=new Date(userInfo.createdAt);const date=d.getDate();let tutorialLink="";if(userInfo.solution_name){let slug=slugifyString(userInfo.solution_name);tutorialLink="https://www.sociablekit.com/tutorials/embed-"+slug+"-website/";if(userInfo.website_builder){slug=slug+"-"+slugifyString(userInfo.website_builder);tutorialLink="https://www.sociablekit.com/tutorials/embed-"+slug+"/"}}
68if(date%5!==0){switch(userInfo.type){case 4:tutorialLink="https://www.sociablekit.com/tutorials/embed-facebook-feed-website/";break;case 5:tutorialLink="https://www.sociablekit.com/tutorials/embed-instagram-feed-website/";break;case 33:tutorialLink="https://www.sociablekit.com/tutorials/embed-linkedin-feed-website/";break;case 16:tutorialLink="https://www.sociablekit.com/tutorials/embed-youtube-playlist-website/";break}}
69return tutorialLink}
70function getTutorialLink(userInfo){let tutorialLink="";if(userInfo.solution_name){let slug=slugifyString(userInfo.solution_name);tutorialLink="https://www.sociablekit.com/tutorials/embed-"+slug+"-website/";if(userInfo.website_builder){slug=slugifyString(userInfo.website_builder);tutorialLink="https://www.sociablekit.com/tutorials/embed-"+slug}}
71if(userInfo.type===9){tutorialLink="https://www.sociablekit.com/sync-facebook-page-events-to-google-calendar/"}else if(userInfo.type===26){tutorialLink="https://www.sociablekit.com/how-to-sync-facebook-group-events-to-google-calendar-on-website/"}
72if(tutorialLink&&!tutorialLink.endsWith("/")){tutorialLink+="/"}
73const linkedinWidgets=[33,34,44,58,75,99,100,103];const facebookWidgets=[1,4,9,10,11,36,38,43,12,24,26,49,2,8,3,18,19,28,30,61];const threadsWidgets=[110];if(linkedinWidgets.includes(userInfo.type)&&userInfo.embed_id%2===1){let websiteBuilder=userInfo.website_builder?slugifyString(userInfo.website_builder):"website";tutorialLink="https://www.sociablekit.com/tutorials/embed-linkedin-feed-"+websiteBuilder+"/"}else if(facebookWidgets.includes(userInfo.type)&&userInfo.embed_id%2===1){let websiteBuilder=userInfo.website_builder?slugifyString(userInfo.website_builder):"website";tutorialLink="https://www.sociablekit.com/tutorials/embed-facebook-feed-"+websiteBuilder+"/"}else if(threadsWidgets.includes(userInfo.type)&&userInfo.embed_id%2===0){let websiteBuilder=userInfo.website_builder?slugifyString(userInfo.website_builder):"website";tutorialLink="https://www.sociablekit.com/tutorials/embed-threads-"+websiteBuilder+"/"}
74if(userInfo.type===5&&userInfo.embed_id%2===1){tutorialLink=tutorialLink.replace("profile","feed")}
75return tutorialLink}
76const errorCSS=`
77:root {
78    --sk-primary: #1972f5;
79    --sk-text-light: #ffffff;
80    --sk-radius: 12px;
81    --sk-padding: 30px;
82    --sk-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
83}
84
85/* Error Container */
86.sk_error_message {
87    font-family: var(--sk-font);
88    font-size: 16px;
89    line-height: 24px;
90    background-color: var(--sk-primary);
91    color: var(--sk-text-light);
92    padding: var(--sk-padding);
93    border-radius: var(--sk-radius);
94    box-sizing: border-box;
95}
96
97/* Ensure children inherit cleanly */
98.sk_error_message * {
99    font-family: inherit;
100    box-sizing: inherit;
101}
102
103/* Links */
104.sk_error_message a {
105    color: var(--sk-text-light);
106    text-decoration: underline;
107    font-weight: 500;
108    transition: opacity 0.2s ease;
109}
110
111.sk_error_message a:hover {
112    opacity: 0.85;
113}
114
115/* Lists */
116.sk_error_message ul {
117    padding-left: 18px;
118    margin: 10px 0 0;
119}
120
121.sk_error_message li {
122    margin-bottom: 6px;
123}
124
125/* Headings */
126.sk_error_message h4 {
127    margin: 0 0 10px;
128    font-size: 17px;
129    font-weight: 600;
130}
131
132/* Paragraphs */
133.sk_error_message p {
134    margin: 10px 0;
135}
136
137/* Empty Jobs State */
138.sk-jobs-none {
139    min-height: 300px;
140    display: flex;
141    flex-direction: column;
142    justify-content: center;
143    align-items: center;
144    gap: 6px;
145    text-align: center;
146}
147
148.sk-jobs-none p {
149    font-weight: 600;
150    font-size: 18px;
151    margin: 0;
152}
153
154/* Responsive */
155@media (max-width: 480px) {
156    .sk_error_message {
157        padding: 16px;
158        font-size: 14px;
159    }
160
161    .sk_error_message h4 {
162        font-size: 16px;
163    }
164
165    .sk-jobs-none p {
166        font-size: 16px;
167    }
168}
169
170.sk_error_message{
171    font-family: Inter, Arial, Helvetica, sans-serif !important;
172    font-size: 16px;
173    line-height: 30px;
174    background-color: #DCEBFE;
175    color: #404040;
176    padding: 20px 45px;
177    border-radius: 16px;
178    max-width: 770px;
179    padding: 32px;
180}
181
182.sk_error_message * {
183    font-family: Inter, Arial, Helvetica, sans-serif !important;
184}
185
186.sk_error_header {
187    display: flex;
188    align-items: center;
189    gap: 10px;
190    padding: 24px;
191}
192
193.sk_error_message_text {
194    padding: 24px;
195    margin: 0 !important;
196    padding-top: 0;
197}
198
199.sk_error_header h4 {
200    font-size: 30px;
201    font-weight: 600;
202    color: #0C1736;
203    margin-left: 16px;
204    letter-spacing: -1px;
205    line-height: 1.2;
206}
207
208@keyframes spin {
209    from {
210        transform: rotate(0deg);
211    }
212    to {
213        transform: rotate(360deg);
214    }
215}
216
217.sk_error_message a{
218    color: #1559EA !important;
219    text-decoration: underline !important;
220    font-weight: normal !important;
221}
222
223.sk_error_message_loader {
224    width: 58px;
225    height: 58px;
226    animation: spin 2s linear infinite;
227}
228
229.sk-jobs-none {
230    min-height: 300px;
231    display: flex;
232    justify-content: center;
233    align-items: center;
234    gap: 8px;
235}
236
237.sk-jobs-none p {
238    font-weight: bold;
239    font-size: 21px;
240    color: inherit;
241    font-family: "Arial";
242}
243
244.sk_error_progress_label {
245    font-size: 14px;
246    color: #404040;
247    margin-bottom: 10px;
248    font-weight: 600;
249}
250
251.sk_error_progress_bar {
252    width: 100%;
253    height: 22px;
254    background-color: #BEDBFE;
255    border-radius: 55px;
256}
257
258@keyframes fill {
259    from {
260        width: 0;
261    }
262    to {
263        width: 70%%;
264    }
265}
266
267.sk_error_progress_bar_fill {
268    height: 100%;
269    background-color: #1447E6;
270    animation: fill 1s ease-in-out;
271    display: flex;
272    align-items: center;
273    justify-content: center;
274    border-radius: 55px;
275}
276
277.sk_error_progress_bar_fill_text {
278    font-size: 16px;
279    color: #fff;
280    font-weight: 500;
281}
282
283.sk_error_estimation {
284    display: flex;
285    align-items: center;
286    font-size: 18px;
287    margin-top: 10px;
288    color: #404040;
289    margin-bottom: 10px;
290    font-weight: 500;
291}
292
293.sk_error_estimation span {
294    width: 18px;
295    height: 18px;
296    margin-right: 5px;
297    display: inline-flex;
298}
299
300.sk_error_estimation img {
301    width: 100%;
302    height: 100%;
303}
304
305.sk_error_status {
306    display: flex;
307    flex-direction: column;
308}
309
310.sk_error_status > p {
311    font-size: 14px;
312    color: #404040;
313    margin-bottom: 10px;
314    font-weight: 600;
315}
316
317.sk_error_status_row {
318    display: flex;
319    align-items: center;
320    justify-content: space-between;
321    gap: 10px;
322    margin-bottom: 20px;
323}
324
325.sk_error_status_row > p {
326    line-height: 1;
327    margin: 0;
328    padding: 0;
329}
330
331.sk_error_status_row img {
332    margin-right: 10px;
333    width: 18px;
334    height: 18px;
335}
336
337.sk_error_status_row > div {
338    display: flex;
339    align-items: center;
340    
341}
342
343.sk_error_connection img {
344    margin-left: 2px;
345    width: 16px;
346    height: 16px;
347}
348
349.sk_error_connection {
350    font-weight: 500;
351    font-size: 18px;
352    line-height: 20px;
353    color: #149041;
354}
355
356.sk_error_fetching {
357    font-weight: 500;
358    font-size: 18px;
359    line-height: 20px;
360    color: #1559EA;
361}
362
363.sk_error_final {
364    font-weight: 500;
365    font-size: 18px;
366    line-height: 20px;
367    color: #A3A3A3;
368    margin-bottom: 0 !important;
369}
370
371.sk_error_fetching img {
372    animation: spin 2s linear infinite;
373}
374
375.sk_error_footer {
376    margin-top: 32px !important;
377    text-align: center;
378    display: flex;
379    align-items: center;
380    justify-content: center;
381    gap: 10px;
382    border-top: 1px solid #BEDBFE;
383    padding-top: 32px !important;
384    padding-top: 0px;
385}
386
387.sk_error_footer p {
388    font-size: 16px;
389    color: #404040;
390    line-height: 20px;
391    margin: 0 !important;
392}
393
394.sk_error_footer button {
395    background: none;
396    border: none;
397    color: #1559EA;
398    font-weight: 500;
399    font-size: 16px;
400    line-height: 20px;
401    margin: 0;
402    padding: 0;
403}
404
405.sk_error_footer button:hover {
406    cursor: pointer;
407    color:rgb(94, 134, 222);
408}
409
410@media (max-width: 768px) {
411    .sk_error_message {
412        padding: 2rem;
413    }
414    .sk_error_header {
415        flex-direction: column;
416        align-items: flex-start;
417        padding: 0;   
418    }
419    .sk_error_header h4 {
420        padding: 0;
421        margin: 0;
422        margin-top: 1rem;
423    }
424    .sk_error_message_text {
425        padding: 0;
426    }
427    .sk_error_footer {
428        padding-top: 1rem;
429        border-top: 1px solid #BEDBFE;
430        justify-content: flex-start;
431        align-items: flex-start;
432    }
433    .sk_error_footer p {
434        text-align: left;
435        margin: 0;
436        padding: 0;
437    }
438}
439`;function injectStylesOnce(){if(!document.getElementById('sk-error-style')){const style=document.createElement('style');style.id='sk-error-style';style.textContent=errorCSS;document.head.appendChild(style)}}
440function getTutorialLink(user_info){if(user_info.type==9){return"https://www.sociablekit.com/sync-facebook-page-events-to-google-calendar/"}
441if(user_info.type==26){return"https://www.sociablekit.com/how-to-sync-facebook-group-events-to-google-calendar-on-website/"}
442if(user_info.solution_name){return'https://www.sociablekit.com/tutorials/embed-'+slugifyString(user_info.solution_name)+'-website/'}
443return"#"}
444function generateBlueMessage(_sk,user_info){const tutorialLink=getTutorialLink(user_info);if(user_info.widget_status==1){return'<div class="sk_error_message">'+'<p style="text-align:center;margin:1rem;">The widget does not exist. If you think this is a mistake, please contact support.</p>'+'</div>'}
445if(!user_info.show_feed){if(user_info.message)return user_info.message;return'<ul class="sk_error_message">'+'<li><a href="'+tutorialLink+'" target="_blank">'+user_info.solution_name+' powered by SociableKIT</a></li>'+'<li>If you’re the owner of this website or SociableKIT account used, we found some errors with your account.</li>'+'<li>Please login your SociableKIT account to fix it.</li>'+'</ul>'}
446if(!user_info.solution_name&&!user_info.type&&!user_info.start_date){return'<p class="sk_error_message">The SociableKIT solution does not exist. If you think this is a mistake, please contact support.</p>'}
447let sk_app_images="https://sociablekit.com/app/images/";if(document.URL.includes("local")){sk_app_images="https://localtesting.com/SociableKIT_App/images/"}
448let social_platform=user_info.solution_name?user_info.solution_name.split(" ")[0]:user_info.category_name;let sk_error_message='<div class="sk_error_message">'+'<div style="display: inline-flex;width:100%;">'+'<div>'+'<div class="sk_error_header">'+'<img class="sk_error_message_loader" src="'+sk_app_images+'loader-2.svg" alt="SociableKIT Spinner">'+'<h4>Syncing your '+user_info.solution_name+' widget.</h4>'+'</div>'+'<p class="sk_error_message_text">We\'re currently syncing your <a href="'+tutorialLink+'" target="_blank">'+user_info.solution_name+' widget</a>. This usually takes a few minutes. We appreciate your patience while we make sure everything is up to date.</p>'+'<p class="sk_error_progress_label">PROGRESS</p>'+'<div class="sk_error_progress_bar">'+'<div class="sk_error_progress_bar_fill" style="width: 70%;"><span class="sk_error_progress_bar_fill_text">70%</span></div>'+'</div>'+'<div class="sk_error_estimation"><span><img src="'+sk_app_images+'clock.svg" alt="Clock"> </span>
448A couple of minutes remaining</div>'+'<div class="sk_error_status">'+'<p>SYNC PROGRESS</p>'+'<div class="sk_error_connection sk_error_status_row">'+'<div><img src="'+sk_app_images+'success.svg" alt="Successful Process">Connected to '+social_platform+'</div>'+'<p>Done</p>'+'</div>'+'<div class="sk_error_fetching sk_error_status_row">'+'<div><img src="'+sk_app_images+'current.svg" alt="Current process"> </span>Fetching Data</div>'+'<p>In Progress</p>'+'</div>'+'<div class="sk_error_final sk_error_status_row">'+'<div><img src="'+sk_app_images+'waiting.svg" alt="Waiting Process"> </span>Finalizing  sync</div>'+'<p></p>'+'</div>'+'</div>'+'<div class="sk_error_footer">'+'<span><img src="'+sk_app_images+'support.svg" alt="Support"> </span>'+'<p>If you think there is a problem, <button>Chat with support</button> here. we will solve it for you.</p>'+'</div>'+'</div>'+'</div>'+'</div>';return sk_error_message}
449function generateExtraTips(_sk,user_info){switch(user_info.type){case 5:const username=getDsmSetting(_sk,'username');return'<li>Make sure your Instagram account <a href="https://www.instagram.com/'+username+'" target="_blank"><b>@'+username+'</b></a> is connected.</li>';case 22:case 39:return'<li>Make sure you selected the correct Google Place or the <a href="https://www.sociablekit.com/how-to-identify-google-place-id/" target="_blank"><b>Google Place ID</b></a> is correct.</li>';case 101:return'<li>Make sure you have <a href="https://www.sociablekit.com/add-sociablekit-as-your-contact-on-whatsapp/" target="_blank"><b>added SociableKIT as your contact on WhatsApp</b></a>.</li>';default:return'<li>Please make sure that the <b>Source ID/Username</b> you entered is correct.</li>'}}
450function handleSupportButtonClick(){if((document.URL.includes("localtesting.com")&&!document.URL.includes("localtesting.com/SociableKIT_Widgets"))||document.URL.includes("sociablekit.com")){$crisp.push(['do','chat:open'])
451return}
452window.open('https://www.sociablekit.com/support/','_blank')}
453function generateSolutionMessage(container,embed_id,sk_api_url){injectStylesOnce();fetchEmbedInfo(embed_id,sk_api_url).then((data)=>{if(Boolean(data.encoded)&&data.type=="33"){container.innerHTML='<div class="sk-jobs-none">'+'<p>No posts yet.</p>'+'<p>Please try again later.</p>'+'</div>';return}
454container.innerHTML=generateBlueMessage(container,data);const supportButton=container.querySelector('.sk_error_footer button');if(supportButton){supportButton.addEventListener('click',handleSupportButtonClick)}}).catch(console.error)}
455async function fetchEmbedInfo(embed_id,sk_api_url){let jsonUrl=sk_api_url+"api/user_embed/info/"+embed_id;try{const response=await fetch(jsonUrl,{method:"GET"});const data=response.json();return data}catch(err){throw Error("Failed to fetch embed info")}}
456function slugifyString(str){if(typeof str==='string'&&str!==null){str=str.replace(/^\s+|\s+$/g,'')}else{str=''}
457str=str.toLowerCase();var from="ÁÄÂÀÃÅČÇĆĎÉĚËÈÊẼĔȆÍÌÎÏŇÑÓÖÒÔÕØŘŔŠŤÚŮÜÙÛÝŸŽáäâàãåčçćďéěëèêẽĕȇíìîïňñóöòôõøðřŕšťúůüùûýÿžþÞĐđ߯a·/_,:;";var to="AAAAAACCCDEEEEEEEEIIIINNOOOOOORRSTUUUUUYYZaaaaaacccdeeeeeeeeiiiinnooooooorrstuuuuuyyzbBDdBAa------";for(var i=0,l=from.length;i<l;i++){str=str.replace(new RegExp(from.charAt(i),'g'),to.charAt(i))}
458str=str.replace(/[^a-z0-9 -]/g,'').replace(/\s+/g,'-').replace(/-+/g,'-');return str}
459function skGetEnvironmentUrls(folder_name){var scripts=document.getElementsByTagName("script");var scripts_length=scripts.length;var search_result=-1;var other_result=-1;var app_url="https://widgets.sociablekit.com/";var app_backend_url="https://api.accentapi.com/v1/";var app_file_server_url="https://data.accentapi.com/feed/";var sk_app_url="https://sociablekit.com/app/";var sk_api_url="https://api.sociablekit.com/";var sk_img_url="https://data-image.sociablekit.com/";var sk_clicks_url="https://clicks.sociablekit.com/";var sk_scrolls_url="https://scrolls.sociablekit.com/";var sk_views_url="https://views.sociablekit.com/";var sk_fb_sync_url="https://facebook-sync.sociablekit.com/";var sk_yt_syc_url="https://youtube-sync.sociablekit.com/";
459for(var i=0;i<scripts_length;i++){var src_str=scripts[i].getAttribute('src');if(src_str!=null){var other_folder="";if(folder_name=='facebook-page-playlists'){other_folder='facebook-page-playlist'}else if(folder_name=='linkedin-page-posts'){other_folder='linkedin-page-post'}else if(folder_name=='linkedin-profile-posts'){other_folder='linkedin-profile-post'}else if(folder_name=='facebook-hashtag-posts'){other_folder='facebook-hashtag-feed'}else if(folder_name=='facebook-page-events'){other_folder='facebook-events'}else if(folder_name=='facebook-page-posts'){other_folder='facebook-feed';if(document.querySelector(".sk-ww-facebook-feed")){var element=document.getElementsByClassName("sk-ww-facebook-feed")[0];element.classList.add("sk-ww-facebook-page-posts")}}
460other_result=src_str.search(other_folder);search_result=src_str.search(folder_name);if(search_result>=1||other_result>=1){var src_arr=src_str.split(folder_name);app_url=src_arr[0];app_url=app_url.replace("displaysocialmedia.com","sociablekit.com");if(app_url.search("local")>=1){app_backend_url="http://localhost:3000/v1/";app_url="https://localtesting.com/SociableKIT_Widgets/";app_file_server_url="https://localtesting.com/SociableKIT_FileServer/feed/";sk_app_url="https://localtesting.com/SociableKIT/";sk_api_url="http://127.0.0.1:8000/";sk_img_url="https://localtesting.com/SociableKIT_Data_Image/";sk_fb_sync_url="https://localtesting.com/SociableKIT_Facebook_Sync/";sk_scrolls_url="https://localtesting.com/WidgetAnalytics/scrolls/";sk_views_url="https://localtesting.com/WidgetAnalytics/views/";sk_clicks_url="https://localtesting.com/WidgetAnalytics/clicks/";sk_yt_syc_url="https://localtesting.com/SociableKIT_YouTube_Sync/"}else{app_url="https://widgets.sociablekit.com/";sk_scrolls_url="https://scrolls.sociablekit.com/";sk_views_url="https://views.sociablekit.com/";sk_clicks_url="https://clicks.sociablekit.com/"}}}}
461var current_host=(window.location.hostname||"").toLowerCase();if(current_host==="localtesting.com"||current_host.indexOf("localtesting")!==-1){app_url="https://localtesting.com/SociableKIT_Widgets/";app_file_server_url="https://localtesting.com/SociableKIT_FileServer/feed/"}else if(current_host==="localhost"||current_host==="127.0.0.1"){app_url=window.location.protocol+"//"+window.location.host+"/SociableKIT_Widgets/"}
462return{"app_url":app_url,"app_backend_url":app_backend_url,"app_file_server_url":app_file_server_url,"sk_api_url":sk_api_url,"sk_app_url":sk_app_url,"sk_img_url":sk_img_url,"sk_scrolls_url":sk_scrolls_url,"sk_views_url":sk_views_url,"sk_clicks_url":sk_clicks_url,"sk_yt_syc_url":sk_yt_syc_url,"sk_fb_sync_url":sk_fb_sync_url}}
463function getEnvironmentUrls(widgetState,key){const env_urls=skGetEnvironmentUrls(key);widgetState.app_url=env_urls.app_url;widgetState.app_backend_url=env_urls.app_backend_url;widgetState.app_file_server_url=env_urls.app_file_server_url;widgetState.sk_img_url=env_urls.sk_img_url;widgetState.sk_app_url=env_urls.sk_app_url;widgetState.sk_api_url=env_urls.sk_api_url;widgetState.sk_clicks_url=env_urls.sk_clicks_url;widgetState.sk_scrolls_url=env_urls.sk_scrolls_url;widgetState.sk_views_url=env_urls.sk_views_url;widgetState.sk_yt_syc_url=env_urls.sk_yt_syc_url}
464function renderClick(widget,widgetState){const{sk_clicks_url,widget_data}=widgetState;const{solution_info,settings,user_info}=widget_data;let user_id=(solution_info&&solution_info.user_id)||(settings&&settings.user_id)||(user_info&&user_info.user_id);if(solution_info&&solution_info.status&&![1,6,7].includes(parseInt(solution_info.status))){return!1}
465widget.addEventListener('click',(event)=>{const target=event.target;let elementType='';let elementContent='';elementType=target.tagName.toLowerCase();if(target.tagName==='BUTTON'||target.tagName==='A'){elementContent=target.innerText.trim()||target.getAttribute('href')||'Unnamed Element'}else if(target.tagName==='IMG'){elementContent=target.getAttribute('alt')||target.getAttribute('src')||'Unnamed Image'}else if(target.tagName==='VIDEO'||target.tagName==='AUDIO'){elementContent=target.getAttribute('src')||'Unnamed Media'}else if(target.tagName==='INPUT'||target.tagName==='TEXTAREA'){elementContent=target.value||'Unnamed Input'}else{elementContent=(target.innerText?target.innerText.trim():'')||target.className||('Unnamed '+elementType)}
466const widgetId=widget.getAttribute('data-embed-id');if(elementType){fetch(sk_clicks_url+'track-widget-click.php',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({widgetId:widgetId,userId:user_id,url:getCurrentUrl(),elementType,elementContent,}),}).then((response)=>response.json()).then((data)=>console.log('Click logged:',data)).catch((error)=>console.error('Error logging click:',error))}})}
467function renderScroll(widget,widgetState){const{sk_scrolls_url,widget_data}=widgetState;const{solution_info,settings,user_info}=widget_data;let user_id=(solution_info&&solution_info.user_id)||(settings&&settings.user_id)||(user_info&&user_info.user_id);if(solution_info&&solution_info.status&&![1,6,7].includes(parseInt(solution_info.status))){return!1}
468let scrollCount=0;let scrollTimeout;let uniqueId=null;const widgetId=widget.getAttribute('data-embed-id');try{uniqueId=sessionStorage.getItem('unique_id')||generateUniqueId();if(!sessionStorage.getItem('unique_id')){sessionStorage.setItem('unique_id',uniqueId)}}catch(e){uniqueId=generateUniqueId()}
469window.addEventListener('scroll',()=>{scrollCount++;clearTimeout(scrollTimeout);scrollTimeout=setTimeout(sendScrollData,2000)});function sendScrollData(){if(scrollCount>0){fetch(sk_scrolls_url+'track-widget-scroll.php',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({widgetId:widgetId,userId:user_id,scrollCount:scrollCount,url:getCurrentUrl(),uniqueId:uniqueId})}).then(response=>response.json()).then(data=>console.log('Scroll Server Response:',data)).catch(error=>console.error('Error:',error));scrollCount=0}}}
470function generateUniqueId(){const currentDate=new Date().toISOString().split('T')[0];return'USER:'+(Math.random().toString(36).substr(2,16)).toUpperCase()+currentDate}
471async function renderViews(widget,widgetState){const embedId=widgetState&&widgetState.embedId;if(!embedId)return;if(window.__skViewsTracked==null)window.__skViewsTracked=new Set();if(window.__skViewsInflight==null)window.__skViewsInflight=new Set();if(window.__skViewsTracked.has(embedId))return;if(window.__skViewsInflight.has(embedId))return;window.__skViewsInflight.add(embedId);try{window.__skViewsTracked.add(embedId);const{sk_views_url,widget_data}=widgetState;const{solution_info,settings,user_info}=widget_data;let user_id=(solution_info&&solution_info.user_id)||(settings&&settings.user_id)||(user_info&&user_info.user_id);let status=(solution_info&&solution_info.status)||(settings&&settings.status)||(user_info&&user_info.status);if(solution_info&&solution_info.status&&![1,6,7].includes(parseInt(solution_info.status))){return!1}
472let uniqueId=null;const widgetId=widget.getAttribute('data-embed-id');try{uniqueId=sessionStorage.getItem('unique_id')||generateUniqueId();if(!sessionStorage.getItem('unique_id')){sessionStorage.setItem('unique_id',uniqueId)}}catch(e){uniqueId=generateUniqueId()}
473const ipAddress=uniqueId;const payload={widgetId,userId:user_id,viewsCount:1,url:getCurrentUrl(),ipAddress,status,};const trackResponse=await fetch(sk_views_url+'track-widget-views.php',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(payload),});const responseData=await trackResponse.json();console.log('Views Server Response:',responseData)}catch(error){console.error('Error in renderViews:',error)}finally{window.__skViewsInflight.delete(embedId)}}
474function skLoader(container){const loaderHTML='<div class=\'sk-widget-loader\' style=\'text-align:center; width:100%; height:auto;\'>'+'<svg xmlns="http://www.w3.org/2000/svg" style="margin: auto; display: block; shape-rendering: auto;" width="138px" height="138px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid">'+'<circle cx="50" cy="50" fill="none" stroke="#1F67ED" stroke-width="5" r="23" stroke-dasharray="108.38 38.13">'+'<animateTransform attributeName="transform" type="rotate" repeatCount="indefinite" dur="1.6s" values="0 50 50;360 50 50" keyTimes="0;1"></animateTransform>'+'</circle>'+'</svg>'+'</div>';const showLoader=()=>{const loader=container.querySelector('.sk-widget-loader');if(!loader){container.insertAdjacentHTML('afterbegin',loaderHTML)}}
475const hideLoader=({offset}={})=>{const loader=container.querySelector('.sk-widget-loader');if(loader){if(offset){setTimeout(()=>{loader.style.display='none'},offset)}else{loader.style.display='none'}}}
476return{showLoader,hideLoader}}
477function addLoader(widget,widgetState){widget.insertAdjacentHTML('beforeend','<div class=\'first_loading_animation\' style=\'text-align:center; width:100%;\'><img src=\''+widgetState.sk_app_url+'images/loader.svg\' class=\'loading-img\' style=\'width:auto !important; display: inline-block !important;\' /></div>')}
478function trackImageLoadErrors(widget,widgetState,title='Image load failed'){if(!widget)return;const widget_data=(widgetState&&widgetState.widget_data)||{};const solution_info=widget_data.solution_info||{};const settings=widget_data.settings||{};const user_info=widget_data.user_info||{};const embed_id=solution_info.embed_id||settings.embed_id||user_info.embed_id||widget.getAttribute('data-embed-id');if(solution_info.status&&![1,6,7,13].includes(parseInt(solution_info.status))){return!1}
479if(widget.__skImageErrorTracked)return;widget.__skImageErrorTracked=!0;const current_url=getCurrentUrl();const sk_api_url=current_url.indexOf('local')!==-1?"http:localhost:8000/":"https://api.sociablekit.com/";const failedSrcs=new Set();const failedImages=new Set();let alertTimeout;const PROBE_LIMIT=5;const PROBE_TIMEOUT_MS=8000;const getTrackableImageSrc=(img)=>{const src=(img.currentSrc||img.src||'').trim();if(!src)return'';try{const pathname=new URL(src,document.baseURI).pathname;return/\.(jpe?g|png|webp)$/i.test(pathname)?src:''}catch(e){const pathname=src.split(/[?#]/)[0];return/\.(jpe?g|png|webp)$/i.test(pathname)?src:''}};const allowsRangeProbe=(src)=>{try{const host=new URL(src,document.baseURI).hostname;return host===window.location.hostname||/(^|\.)sociablekit\.com$/i.test(host)}catch(e){return!1}};const probeIsStillBroken=(src)=>new Promise((resolve)=>{let settled=!1;let timer;const finish=(broken)=>{if(settled)return;settled=!0;clearTimeout(timer);resolve(broken)};timer=setTimeout(()=>finish(!1),PROBE_TIMEOUT_MS);const imageProbe=()=>{const probe=new Image();probe.onload=()=>finish(!1);probe.onerror=()=>finish(!0);probe.src=src};if(!allowsRangeProbe(src)){imageProbe();return}
480try{fetch(src,{method:'GET',headers:{Range:'bytes=0-0'},cache:'no-store'}).then((response)=>finish(response.status>=400)).catch(imageProbe)}catch(e){imageProbe()}});const sendAlert=async()=>{const candidates=[];
480failedImages.forEach((img)=>{const stillBroken=img.complete&&img.naturalWidth===0;if(!stillBroken||!img.isConnected||!widget.contains(img))return;const src=getTrackableImageSrc(img);if(src&&!candidates.includes(src)){candidates.push(src)}});failedImages.clear();if(candidates.length===0)return;if(navigator.onLine===!1)return;const probed=candidates.slice(0,PROBE_LIMIT);const results=await Promise.all(probed.map(probeIsStillBroken));const confirmed=probed.filter((src,index)=>results[index]);if(confirmed.length===0)return;const failedCount=confirmed.length===probed.length?candidates.length:confirmed.length;const brokenImages=confirmed.slice(0,3);const message="Broken Images:\n"+brokenImages.join("\n");const store_image_error_url=sk_api_url+"api/devs/loading-image-error?"+new URLSearchParams({message:message,image_count:failedCount,broken_images:JSON.stringify(brokenImages),page_location:current_url,type_name:title||'Image load failed',embed_id:embed_id||'',}).toString();try{fetch(store_image_error_url,{method:'GET',keepalive:!0}).catch(()=>{})}catch(e){}};const handleImageError=(event)=>{const target=event.target;if(!target||target.tagName!=='IMG'||!widget.contains(target))return;const src=getTrackableImageSrc(target);if(!src)return;if(src&&failedSrcs.has(src))return;if(src)failedSrcs.add(src);failedImages.add(target);clearTimeout(alertTimeout);alertTimeout=setTimeout(()=>{sendAlert().catch(()=>{})},3000)};widget.addEventListener('error',handleImageError,!0)}
481async function sendGchatAlert(payload,widgetState){const{sk_app_url,widget_data}=widgetState;const{embed_id}=widget_data.solution_info;let baseUrl="https://alert.sociablekit.com/google-alert.php";const localIdentifiers=["localhost","127.0.0.1","localtesting"];if(localIdentifiers.some(id=>window.location.hostname.includes(id))){baseUrl="https://localtesting.com/Codalify_Alerts/google-alert.php"}
482try{const response=await fetch(baseUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(payload)});const result=await response.text();return result}catch(error){console.error("Error sending GChat alert:",error)}}
483function fixMasonryListener(widget,widgetState,realignMasonry){const wrapper=widget.querySelector('.sk-posts-masonry, .sk-events-masonry');if(!wrapper)return;let resizeTimeout;const debounceRealign=()=>{clearTimeout(resizeTimeout);resizeTimeout=setTimeout(()=>{realignMasonry(widget,widgetState)},100)};const resizeObserver=new ResizeObserver(()=>debounceRealign());const observeItems=()=>{wrapper.querySelectorAll('.sk-post-item').forEach(item=>{resizeObserver.observe(item)})};const mutationObserver=new MutationObserver(()=>{observeItems();debounceRealign()});resizeObserver.observe(wrapper);observeItems();mutationObserver.observe(wrapper,{childList:!0,subtree:!0})}
484function layoutOrderedMasonryItems(widget,widgetState,options={}){const wrapperSelector=options.wrapperSelector||'.sk-events-masonry, .sk-posts-masonry';const itemSelector=options.itemSelector||'.sk-event-item, .sk-post-item';const masonry=widget.querySelector(wrapperSelector);if(!masonry)return;const{settings}=widgetState.widget_data;const columns=typeof options.getColumns==='function'?options.getColumns(widget,widgetState):getMediaColumn(widget,widgetState,settings);widget.style.setProperty("--column-count",columns);const items=Array.from(masonry.querySelectorAll(itemSelector));if(!items.length){masonry.style.height="0px";return}
485const gap=options.gap!=null?options.gap:Math.max(16,parseInt(getComputedStyle(widget).getPropertyValue("--space-between-events"),10)||16);const width=masonry.getBoundingClientRect().width;const columnWidth=columns>1?(width-(columns-1)*gap)/columns:width;const columnHeights=Array(columns).fill(0);items.forEach((item)=>{item.style.position="absolute";item.style.width=columnWidth+"px";item.style.left="0";item.style.top="0"});items.forEach((item,index)=>{const columnIndex=index%columns;item.style.top=columnHeights[columnIndex]+"px";item.style.left=columns>1?columnIndex*(columnWidth+gap)+"px":"0px";item.style.transform="";item.style.opacity="";columnHeights[columnIndex]+=item.offsetHeight+gap});masonry.style.height=Math.max(...columnHeights)+"px"}
486function fixOrderedMasonryListener(widget,widgetState,options={}){const wrapperSelector=options.wrapperSelector||'.sk-events-masonry, .sk-posts-masonry';
486const itemSelector=options.itemSelector||'.sk-event-item, .sk-post-item';const wrapper=widget.querySelector(wrapperSelector);if(!wrapper)return;if(typeof widgetState.orderedMasonryCleanup==='function'){widgetState.orderedMasonryCleanup()}
487let resizeTimeout;let isLayouting=!1;const observedItems=new WeakSet();const relayout=()=>{if(isLayouting)return;isLayouting=!0;layoutOrderedMasonryItems(widget,widgetState,options);requestAnimationFrame(()=>{isLayouting=!1})};const debounceRealign=()=>{clearTimeout(resizeTimeout);resizeTimeout=setTimeout(relayout,100)};const resizeObserver=new ResizeObserver(()=>{debounceRealign()});const observeItems=()=>{wrapper.querySelectorAll(itemSelector).forEach((item)=>{if(!observedItems.has(item)){resizeObserver.observe(item);observedItems.add(item)}})};const mutationObserver=new MutationObserver((mutations)=>{const hasChildChanges=mutations.some((mutation)=>mutation.type==='childList');if(!hasChildChanges)return;observeItems();debounceRealign()});resizeObserver.observe(wrapper);observeItems();mutationObserver.observe(wrapper,{childList:!0,subtree:!1,});widgetState.orderedMasonryCleanup=()=>{clearTimeout(resizeTimeout);resizeObserver.disconnect();mutationObserver.disconnect();widgetState.orderedMasonryCleanup=null}}
488function observeImages(img,callback){if(img.tagName==='IMG'){if(img.complete){callback()}else{img.addEventListener('load',callback)}}};function debounceGlobal(func,delay){let timeoutId;return function(...args){const context=this;clearTimeout(timeoutId);timeoutId=setTimeout(()=>{func.apply(context,args)},delay)}}
489function fixMasonryGlobal(widget,widgetState){const timeouts=[0,1000,3000,5000,8000,10000];timeouts.forEach(delay=>{setTimeout(()=>realignMasonry(widget,widgetState),delay)})}
490function decodeHtmlEntities(str){const txt=document.createElement("textarea");txt.innerHTML=str;return txt.value}
491function initUpdatePreview(widget,widgetState,renderLayout,applySettings,classNames={}){const{body='.sk-posts-body',header='.sk-posts-header',footer='.sk-posts-footer'}=classNames;window.addEventListener("previewDataUpdated",(event)=>{const previewData=event.detail.previewData;widgetState.widget_data.settings={...widgetState.widget_data.settings,...previewData.settings,};if(widget){widget.innerHTML=""}
492if(widgetState.currentPage&&widgetState.currentPage>1){widgetState.currentPage=1}
493widgetState.hasBeenEdited=!0
494const popupNodes=document.querySelectorAll('.sk-posts-popup, .sk-events-popup, .sk-popup');if(popupNodes.length>0){popupNodes.forEach((el)=>{el.remove()});document.body.classList.remove('sk-widget-popup-open','sk-ln-rec-popup-open','sk-ln-profile-popup-open','sk-ln-jobs-popup-open')}
495document.body.style.overflow='';renderLayout(widget,widgetState);applySettings(widget,widgetState);const postsBody=widget.querySelector(body);if(postsBody)postsBody.style.visibility="visible";const postsHeader=widget.querySelector(header);if(postsHeader)postsHeader.style.visibility="visible";const postsFooter=widget.querySelector(footer);if(postsFooter)postsFooter.style.visibility="visible";if(window.location.pathname.includes('widgets/update')){widget.classList.add('--sk-disable-anim')}})}
496function renderedCharCount(htmlString){const tempDiv=document.createElement("div");tempDiv.innerHTML=htmlString;const renderedText=tempDiv.textContent||tempDiv.innerText||"";return renderedText.length}
497function getCurrentUrl(){const isInIframe=window.self!==window.top;let embedUrl=isInIframe?(document.referrer||window.location.href):window.location.href;embedUrl=(embedUrl||"").split('?')[0];return embedUrl}
498function applyImageFallback(img,sources){const validSources=sources.filter(Boolean);if(!img||validSources.length===0)return;let index=0;img.src=validSources[index];img.onerror=()=>{index++;if(index<validSources.length){img.src=validSources[index]}else{img.onerror=null}}}
499function decodeFontString(font){const textarea=document.createElement('textarea');textarea.innerHTML=font;return textarea.value}
500function isSafeFont(font){const decodedFont=decodeFontString(font);var web_safe_fonts=["Arial","Inherit","Impact, Charcoal, sans-serif","'Palatino Linotype', 'Book Antiqua', Palatino, serif","Century Gothic, sans-serif","'Lucida Sans Unicode', 'Lucida Grande', sans-serif","Verdana, Geneva, sans-serif","Copperplate, 'Copperplate Gothic Light', fantasy","'Courier New', C
500ourier, monospace","Georgia, Serif"];return web_safe_fonts.indexOf(decodedFont)!==-1}
501function getTwitchPlayerParents(){console.log('getTwitchPlayerParents');let parentDomain="";try{const hostname=new URL(window.location.href).hostname||"";const parts=hostname.split(".").filter(Boolean);if(parts.length>=2){parentDomain=parts.slice(-2).join(".")}else{parentDomain=hostname}}catch(e){parentDomain=""}
502const wwwParentDomain=parentDomain?"www."+parentDomain:"";return Array.from(new Set(["widgets.sociablekit.com","www.widgets.sociablekit.com","sociablekit.com","www.sociablekit.com","da.sociablekit.com","www.twitch.tv","twitch.tv","twitchmetrics.net","www.twitchmetrics.net",parentDomain,wwwParentDomain,"www.takingitpersonally.net","www.globalmusicradio.co.uk","sites.google.com","gstatic.com","www.gstatic.com","www.thetadpoleexperiment.org","thetadpoleexperiment.org","www.aquaticgenlab.com","www.gnosisgod.com","www.lovepuppygames.com","882023065-atari-embeds.googleusercontent.com","localhost",].filter(Boolean)))}
503async function updateWidgetLayoutValues(embed_id,sk_api_url){try{const response=await fetch(sk_api_url+"api/toggle-layout",{method:"POST",headers:{"Content-Type":"application/json",},body:JSON.stringify({embed_id:embed_id,layout:1})});if(!response.ok){throw new Error("Network response was not ok")}
504const data=await response.json();if(!data.embed_id||!data.embed){throw new Error(`Toggle layout failed: embed_id or embed is null. Response: ${JSON.stringify(data)}`)}
505return data}catch(err){throw Error("Failed to toggle layout: "+err.message)}}function skGetBranding(sk,widgetState){let userInfo="";let widgetSettings="";if(widgetState.widget_data){userInfo=widgetState.widget_data.user_info;widgetSettings=widgetState.widget_data.settings}else{var embed_id="";if(sk&&typeof sk.attr==="function"){embed_id=sk.attr("embed-id")||sk.attr("data-embed-id")||""}
506if(!embed_id&&sk&&sk.getAttribute){embed_id=sk.getAttribute("embed-id")||sk.getAttribute("data-embed-id")||""}
507if(typeof original_data==="undefined"||!original_data){return''}
508let originalData=original_data[embed_id]!=null?original_data[embed_id]:original_data;if(original_data.settings){userInfo=original_data.user_info;widgetSettings=original_data.settings}else if(originalData.settings){userInfo=originalData.user_info;widgetSettings=originalData.settings}}
509if(sk&&sk.querySelector&&sk.querySelector('.sk_branding')!==null){return""}
510if(sk&&sk.find&&sk.find('.sk_branding').length>0){return""}
511if(!userInfo)return"";if(userInfo.show_branding===1||userInfo.show_branding==="true"||userInfo.show_branding===!0){const fontFamily=widgetSettings.font_family;let linkColor=widgetSettings.details_link_color||"rgb(52, 128, 220)";const detailsBgColor=widgetSettings.details_bg_color;let widget_type_slug=slugifyStringBranding(userInfo.solution_name);let website_builder_slug=slugifyStringBranding(userInfo.website_builder||'website');const supportedBuilders=["wordpress","wix","squarespace","google-sites","shopify","sharepoint","webflow","godaddy","weebly","adobe-portfolio","html"];let website_builder_for_link="website";for(let b of supportedBuilders){if(website_builder_slug.includes(b)){website_builder_for_link=website_builder_slug;break}}
512let widget_type_name_for_link=userInfo.solution_name;if(widget_type_slug.includes("linkedin")){widget_type_slug="linkedin-feed";widget_type_name_for_link="LinkedIn Feed"}else if(widget_type_slug.includes("facebook")){widget_type_slug="facebook-feed";widget_type_name_for_link="Facebook Feed"}else if(widget_type_slug.includes("instagram")){widget_type_slug="instagram-feed";widget_type_name_for_link="Instagram Feed"}else if(widget_type_slug==="x"||widget_type_slug.includes("twitter")){widget_type_slug="x-feed";widget_type_name_for_link="X Feed"}else if(widget_type_slug.includes("tiktok")){widget_type_slug="tiktok-feed";widget_type_name_for_link="TikTok Feed"}
513const builderIsSupported=supportedBuilders.includes(website_builder_slug);let widgetId=userInfo.embed_id!=null?userInfo.embed_id:embed_id;let widgetIdStr=String(widgetId!=null?widgetId:"");let lastDigit=parseInt(widgetIdStr.slice(-1),10);if(isNaN(lastDigit))lastDigit=0;const productUrl="https://www.sociablekit.com/"+widget_type_slug+"-widget/";const tutorialUrl=builderIsSupported?"https://www.sociablekit.com/tutorials/embed-"+widget_type_slug+"-"+website_builder_for_link+"/":"https://www.sociablekit.com/tutorials/embed-"+widget_type_slug+"-website/";const freeUrl="https://www.sociablekit.com/free-widgets/free-"+widget_type_slug+"-widget-website/";let linkUrl,tutorial_link_text;if(lastDigit<=2){linkUrl=productUrl;tutorial_link_text=widget_type_name_for_link+" Widget by SociableKIT"}else if(lastDigit<=4){linkUrl=productUrl;tutorial_link_text="SociableKIT "+widget_type_name_for_link+" Widget"}else if(lastDigit<=8){linkUrl=tutorialUrl;tutorial_link_text=builderIsSupported?"Embed "+widget_type_name_for_link+" on "+userInfo.website_builder+" with SociableKIT":"Embed "+widget_type_name_for_link+" on your website with SociableKIT"}else{linkUrl=freeUrl;tutorial_link_text="Free "+widget_type_name_for_link+" Widget by SociableKIT"}
514userInfo.tutorial_link=linkUrl;let sk_branding_css="margin-top:20px; padding:10px; display:block !important; text-align:center; text-decoration: none !important; color:#555; font-family:"+fontFamily+"; font-size:15px; visibility: visible;";let tutorial_link_css="text-underline-position:under; color:"+linkColor+";font-size:15px;
514display:block !important;";let html="<div class='sk_branding' style='"+sk_branding_css+"'>"+"<a class='tutorial_link --custom-branding' href='"+userInfo.tutorial_link+"' target='_blank' style='"+tutorial_link_css+"'>"+tutorial_link_text+"</a>"+"</div>";return html}
515return""}
516function slugifyStringBranding(str){str=str.replace(/^\s+|\s+$/g,"");str=str.toLowerCase();var from="ÁÄÂÀÃÅČÇĆĎÉĚËÈÊẼĔȆÍÌÎÏŇÑÓÖÒÔÕØŘŔŠŤÚŮÜÙÛÝŸŽáäâàãåčçćďéěëèêẽĕȇíìîïňñóöòôõøðřŕšťúůüùûýÿžþÞĐđ߯a·/_,:;";var to="AAAAAACCCDEEEEEEEEIIIINNOOOOOORRSTUUUUUYYZaaaaaacccdeeeeeeeeiiiinnooooooorrstuuuuuyyzbBDdBAa------";for(var i=0,l=from.length;i<l;i++){str=str.replace(new RegExp(from.charAt(i),"g"),to.charAt(i))}
517str=str.replace(/[^a-z0-9 -]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-");return str}var env_urls=skGetEnvironmentUrls('facebook-page-posts');var app_url=env_urls.app_url;var app_backend_url=env_urls.app_backend_url;var app_file_server_url=env_urls.app_file_server_url;var sk_img_url=env_urls.sk_img_url;var sk_app_url=env_urls.sk_app_url;var sk_api_url=env_urls.sk_api_url;var sk_fb_sync_url=env_urls.sk_fb_sync_url;var eventLoaded=0;function loadScript(src,callback){let scriptName=src.split("/").slice(-3).join('/');let scriptIsLoaded=document.querySelectorAll(`script[src*="${scriptName}"]`)
518if(scriptIsLoaded.length>0){return}
519const script=document.createElement('script');script.src=src;script.type='text/javascript';if(callback){script.onload=function(){callback()}}
520document.body.appendChild(script)}
521window.addEventListener("DOMContentLoaded",function(){initializeWidget()});setTimeout(function(){if(eventLoaded==0){initializeWidget()}},3000);function initializeWidget(){let url="https://widgets.sociablekit.com/";const localHost=['127.0.0.1',"::1"];if(window.location.hostname.includes('localtesting')||window.location.hostname.includes('localhost')||window.location.hostname.includes('127.0.0.1')){url="https://localtesting.com/SociableKIT_Widgets/"}
522document.querySelectorAll('.sk-ww-facebook-page-posts').forEach(function(el){eventLoaded=1;let fb_event=el;let embed_id=getDsmEmbedId(fb_event);const{showLoader,hideLoader}=skLoader(fb_event);showLoader();if(!embed_id){const canonicalHref=document.querySelector('[rel="canonical"]')?.getAttribute('href');if(canonicalHref&&canonicalHref.indexOf("sti29.fr")!==-1){embed_id=108211}}
523let new_fb_event_width=window.innerHeight+100;fb_event.height=new_fb_event_width;var json_settings_url=app_file_server_url.replace('feed','')+"settings/"+embed_id+"/settings.json?nocache="+(new Date()).getTime();var json_feed_url=app_file_server_url+embed_id+".json?nocache="+(new Date()).getTime();const loader=fb_event.querySelector('.first_loading_animation');fetch(json_feed_url,{method:'get'}).then(function(response){if(!response.ok){console.error("Failed to fetch data");loader.remove();return}
524return response.json().catch((error)=>{loader.remove();return{}})}).then(function(data){const{embed_id}=data.settings
525if(!window.sk_embed_data){window.sk_embed_data={};window.sk_embed_data[embed_id]=data}else{window.sk_embed_data[embed_id]=data}
526if(data&&data.solution_info&&data.bio){if(data.solution_info.use_new_layout==1){el.setAttribute('data-ui','new')
527loadScript(url+'facebook-page-posts/new/widget.js')}else{el.setAttribute('data-ui','old');loadScript(url+'facebook-page-posts-old/widget.js',hideLoader)}}else{hideLoader();generateSolutionMessage(fb_event,embed_id,sk_api_url)}}).catch(function(err){hideLoader();generateSolutionMessage(fb_event,embed_id,sk_api_url)})})};function getDsmEmbedId(sk_fb_event){var embed_id=sk_fb_event.getAttribute('embed-id');if(embed_id==undefined){embed_id=sk_fb_event.getAttribute('data-embed-id')}
528return embed_id}}(window,document))

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.