PageSourceSearch

https://assets.tori.fi/pkg/frontpage-layout-v2/0.0.157/frontpage-tracking-island.js

js tori.fi collected 2026-10-02 04:23:33 UTC 3,260 bytes, 1 lines download raw bytes

1import{n as e,t}from"./hydrate.js";import{a as n,o as r}from"./tracking.js";import{useEffect as i}from"https://assets.finn.no/npm/react/v19/react.production.min.js";function a(){return typeof window>`u`?null:(window.__layoutImpressions__||(window.__layoutImpressions__={entries:new Map,flushed:!1}),window.__layoutImpressions__)}var o=e=>{a()?.entries.set(e.sectionId,e)},s=()=>{let e=a();if(!e)return[];let t=Array.from(e.entries.values()).sort((e,t)=>e.position-t.position);return e.entries.clear(),t},c=()=>!!a()?.flushed,l=()=>{let e=a();e&&(e.flushed=!0)},u=()=>{let e=a();e&&(e.flushed=!1)},d={advt_top_1:{section:`Banner`,displayName:`Top banner ad`,vertical:`common_pages`},advt_top_2:{section:`Banner`,displayName:`Top banner ad 2`,vertical:`common_pages`},advt_bottom_1:{section:`Banner`,displayName:`Bottom banner ad`,vertical:`common_pages`},broadcast:{section:`Banner`,displayName:`Broadcast message`,vertical:`common_pages`},search:{section:`Filter`,displayName:`Search bar`,vertical:`common_pages`},mpnb:{section:`Menu`,displayName:`Marketplace navigation`,vertical:`common_pages`}
1,tjt:{section:`Card`,displayName:`TJT`,vertical:`common_pages`},braze_card:{section:`Card`,displayName:`Braze content card`,vertical:`common_pages`},recommendations:{section:`Collection`,displayName:`Recommendations`,vertical:`common_pages`},ad_card_row:{section:`Collection`,displayName:`Ad card row`,vertical:`common_pages`},catex_seo:{section:`Menu`,displayName:`Category explorer`,vertical:`common_pages`}},f=e=>d[e]??{section:`Card`,displayName:e,vertical:`common_pages`},p=Array.from({length:101},(e,t)=>t/100),m=.5,h=6e5,g=[`scroll`,`pointerdown`,`keydown`,`touchstart`];function _(e){i(()=>{if(typeof window>`u`)return;let t=Array.from(document.querySelectorAll(`[data-section-id]`)),n=new IntersectionObserver(e=>{for(let t of e){if(!t.isIntersecting)continue;let e=t.target,r=e.offsetHeight;if(r===0){n.unobserve(e);continue}let i=window.innerHeight;if(t.intersectionRect.height<Math.min(r,i)*m)continue;let a=e.dataset.sectionId,s=e.dataset.sectionType,c=Number(e.dataset.sectionPosition);if(!a||!s||Number.isNaN(c)){n.unobserve(e);continue}let l=f(s);o({sectionId:a,sectionType:s,position:c,displayName:l.displayName,section:l.section,vertical:l.vertical}),n.unobserve(e)}},{threshold:p});t.forEach(e=>n.observe(e));let i=()=>{if(!e||c())return;let t=s();t.length!==0&&(l(),r(e,t))},a=()=>i(),d=()=>i(),_=()=>{document.visibilityState===`hidden`&&i()},v=e=>{e.persisted&&u()};window.addEventListener(`beforeunload`,a),window.addEventListener(`pagehide`,d),window.addEventListener(`pageshow`,v),document.addEventListener(`visibilitychange`,_);let y=null,b=()=>{y&&clearTimeout(y),y=setTimeout(i,h)};return b(),g.forEach(e=>window.addEventListener(e,b,{passive:!0})),()=>{n.disconnect(),window.removeEventListener(`beforeunload`,a),window.removeEventListener(`pagehide`,d),window.removeEventListener(`pageshow`,v),document.removeEventListener(`visibilitychange`,_),y&&clearTimeout(y),g.forEach(e=>window.removeEventListener(e,b))}},[e])}var v=({configurationName:e})=>(i(()=>{typeof window<`u`&&!window.__frontpage_pulse_tracked__&&(window.__frontpage_pulse_tracked__=!0,n(e))},[e]),_(e),null),y=e();t(`frontpage-tracking-island`,e=>(0,y.jsx)(v,{...e}));

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.