1(function(){var configNode=document.getElementById('g_community_context');if(!configNode){return;} 2var config=JSON.parse(configNode.textContent);var labels=config.labels;var items=document.getElementById('g_feed_items');var more=document.getElementById('g_feed_more');var loading=false;var observer;function toast(text,type){if(text&&window.VanillaToasts){VanillaToasts.create({text:text,type:type||'blue',timeout:4000});}} 3function login(){var button=document.getElementById('login-btn');if(button){button.click();}} 4document.querySelectorAll('[data-feed-compose]:not(button)').forEach(function(button){button.setAttribute('role','button');button.tabIndex=0;button.addEventListener('keydown',function(event){if(event.key=='Enter'||event.key==' '){event.preventDefault();button.click();}});});function markJoined(groupId){var buttons=document.querySelectorAll('[data-feed-join][data-group-id="'+groupId+'"]');buttons.forEach(function(button){button.textContent='â '+labels.joined;button.disabled=true;button.classList.add('is-joined');});} 5async function join(button){button.disabled=true;try{var result=await postAction('group/join',{group_id:button.dataset.groupId}).then(jsonResponse);if(!result.ok||!result.body.success){throw new Error(result.body.error||labels.error);} 6markJoined(button.dataset.groupId);toast(result.body.message);}catch(error){button.disabled=false;toast(error.message||labels.error,'rose');}} 7async function loadMore(){if(!more||loading){return;} 8loading=true;var button=more.querySelector('button, a');var original=button.textContent;button.textContent=labels.loading;button.setAttribute('aria-disabled','true');more.setAttribute('aria-busy','true');var d=more.dataset;var params=d.groupId?{group_id:d.groupId,page:d.page,flair_id:d.flairId,day:d.day||''}:{mode:d.mode,cursor_date:d.cursorDate,cursor_id:d.cursorId};try{var response=await fetch('/action/groups/feed_fragment.php?'+new URLSearchParams(params));if(!response.ok){throw new Error();} 9var result=await response.json();if(typeof result.html!='string'||(!d.groupId&&!result.next)){throw new Error();} 10items.insertAdjacentHTML('beforeend',result.html);var hasMore=d.groupId?result.has_more:result.next.has_more;if(!hasMore){if(observer){observer.disconnect();} 11more.remove();more=null;}else{if(d.groupId){d.page=result.page;if(button.tagName=='A'){var next=new URL(button.href);next.searchParams.set('page',result.page);button.href=next.href;}}else{d.mode=result.next.mode;d.cursorDate=result.next.cursor_date;d.cursorId=result.next.cursor_id;} 12button.textContent=original;button.removeAttribute('aria-disabled');more.removeAttribute('aria-busy');}}catch(error){button.textContent=labels.retry;button.removeAttribute('aria-disabled');more.removeAttribute('aria-busy');toast(labels.error,'rose');if(observer){observer.disconnect();}} 13loading=false;} 14document.addEventListener('click',function(event){if(!config.user&&event.target.closest('.pvote [data-pvote]')){event.preventDefault();login();return;} 15var button=event.target.closest('[data-feed-join]');if(button){if(!config.user){login();} 16else if(!button.disabled){join(button);} 17return;} 18var composer=event.target.closest('[data-feed-compose]');if(composer){if(!config.user){login();return;} 19PModal.panel({url:'/action/groups/post_compose_panel.php',maxWidth:720,className:'pm-group-compose',data:{group_id:composer.dataset.groupId||0,csrf_key:csrfKey()}});return;} 20if(more&&more.contains(event.target)){event.preventDefault();loadMore();return;} 21var card=event.target.closest('.g-feed-card[data-post-url]');if(card&&!event.target.closest('a, button, .pvote')&&!String(window.getSelection())){if(event.metaKey||event.ctrlKey){window.open(card.dataset.postUrl,'_blank');} 22else{location.href=card.dataset.postUrl;}}});if(more&&items&&'IntersectionObserver'in window){observer=new IntersectionObserver(function(entries){if(entries.some(function(entry){return entry.isIntersecting;})){loadMore();}});observer.observe(more);}})();
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.