{"version":3,"file":"SortMenu.Ce8Hewj8.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/ie3VQiC8W59lBx4Wt1gA/Sg4foCXsOOhSQqXZAbU1/SortMenu.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";const OPTIONS=[{id:\"alpha\",label:\"Alfabetisk\"},{id:\"priceAsc\",label:\"Pris: lav til h\\xf8j\"},{id:\"priceDesc\",label:\"Pris: h\\xf8j til lav\"},{id:\"newest\",label:\"Nyeste\"}];// Kendte øgenavne og forkortelser, som søgningen forstår\nconst NICKNAMES={cr7:\"ronaldo\",r9:\"ronaldo\",becks:\"beckham\",kdb:\"bruyne\",zizou:\"zidane\",ibra:\"ibrahimovic\",utd:\"united\",mufc:\"manchester united\",mcfc:\"manchester city\",lfc:\"liverpool\",rma:\"real madrid\",barca:\"barcelona\",dk:\"danmark\"};// Sorteringsmenu til \"Alle trøjer\". Ændrer kun visningsrækkefølgen (CSS order),\n// så Framers filtre og links ikke påvirkes. Listen skal være sorteret \"nyeste først\" i Framer.\n// Når et filter ændrer hvilke trøjer der vises, scrolles der op til menuen, hvis man står længere nede.\n// Viser også antal trøjer, og en \"Nulstil filtre\"-knap hvis et filter giver 0 trøjer.\n// Står også for søgefeltet \"Søg efter titel\": tegn som ø/é er lige meget, flere ord i vilkårlig rækkefølge,\n// små stavefejl og kendte øgenavne (CR7 osv.) virker.\n/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n */export default function SortMenu(props){const{font,color,labelColor,accent,menuBackground,align,paddingTop,paddingRight,paddingBottom,paddingLeft}=props;const[mode,setMode]=useState(\"alpha\");const[open,setOpen]=useState(false);const[count,setCount]=useState(null);const[empty,setEmpty]=useState(false);const ref=useRef(null);const wrapperRef=useRef(null);const signatureRef=useRef(null);const isCanvas=RenderTarget.current()===RenderTarget.canvas;useEffect(()=>{if(isCanvas)return;let frame=0;const apply=()=>{cancelAnimationFrame(frame);frame=requestAnimationFrame(()=>{const grid=sortGrid(mode,search.value);const signature=gridSignature(grid);if(signatureRef.current!==null&&signature!==signatureRef.current){scrollUpTo(wrapperRef.current);}signatureRef.current=signature;setCount(signature?new Set(signature.split(\"|\")).size:0);});};// Framers eget titel-filter kan kun finde den præcise stavemåde, så dets felt skjules,\n// og et felt med samme udseende, som denne kode styrer, sættes ind i stedet\nconst onSearch=event=>{if(!event.target.dataset||!event.target.dataset.nfkSearch)return;search.value=event.target.value;document.querySelectorAll(\"input[data-nfk-search]\").forEach(input=>{if(input!==event.target)input.value=search.value;});apply();};// Framers \"Nulstil filtre\"-knap skal også tømme søgefeltet\nconst onClick=event=>{if(/nulstil/i.test((event.target.textContent||\"\").trim())){search.value=\"\";document.querySelectorAll(\"input[data-nfk-search]\").forEach(input=>input.value=\"\");}setTimeout(apply,50);};const update=()=>{mountSearchInputs();apply();};document.addEventListener(\"input\",onSearch);document.addEventListener(\"click\",onClick);update();// Filtre gentegner listen, så sorteringen lægges på igen ved ændringer\nconst observer=new MutationObserver(update);observer.observe(document.body,{childList:true,subtree:true});return()=>{document.removeEventListener(\"input\",onSearch);document.removeEventListener(\"click\",onClick);observer.disconnect();cancelAnimationFrame(frame);};},[mode]);// Vent et øjeblik før \"ingen trøjer\" vises, så den ikke blinker mens listen indlæses\nuseEffect(()=>{if(count!==0){setEmpty(false);return;}const timer=setTimeout(()=>setEmpty(true),700);return()=>clearTimeout(timer);},[count]);useEffect(()=>{const close=event=>{if(ref.current&&!ref.current.contains(event.target))setOpen(false);};document.addEventListener(\"click\",close);return()=>document.removeEventListener(\"click\",close);},[]);const current=OPTIONS.find(option=>option.id===mode);const shown=isCanvas?54:count;const countLabel=shown?\"Viser \"+shown+(shown===1?\" tr\\xf8je\":\" tr\\xf8jer\"):\"\";const textStyle={...font,letterSpacing:\"0.04em\",textTransform:\"uppercase\"};return /*#__PURE__*/_jsxs(\"div\",{ref:wrapperRef,style:{width:\"100%\",padding:paddingTop+\"px \"+paddingRight+\"px \"+paddingBottom+\"px \"+paddingLeft+\"px\",boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"style\",{children:MOBILE_CSS}),/*#__PURE__*/_jsxs(\"div\",{className:\"nfk-sortrow\",style:{display:\"flex\",flexDirection:align===\"flex-end\"?\"row-reverse\":\"row\",justifyContent:align===\"center\"?\"center\":\"space-between\",alignItems:\"baseline\",flexWrap:\"wrap\",gap:\"8px 24px\"},children:[/*#__PURE__*/_jsxs(\"div\",{ref:ref,style:{position:\"relative\"},children:[/*#__PURE__*/_jsxs(\"button\",{onClick:()=>setOpen(!open),\"aria-haspopup\":\"listbox\",\"aria-expanded\":open,style:{...textStyle,background:\"none\",border:\"none\",padding:0,cursor:\"pointer\",display:\"flex\",alignItems:\"baseline\",gap:8,whiteSpace:\"nowrap\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:labelColor},children:\"Sortering:\"}),/*#__PURE__*/_jsx(\"span\",{style:{color},children:current.label}),/*#__PURE__*/_jsx(\"span\",{style:{color:accent,fontSize:\"0.7em\",display:\"inline-block\",transform:open?\"rotate(180deg)\":\"none\",transition:\"transform 0.2s\"},children:\"▼\"})]}),open&&/*#__PURE__*/_jsx(\"ul\",{role:\"listbox\",style:{position:\"absolute\",left:align===\"flex-end\"?\"auto\":0,right:align===\"flex-end\"?0:\"auto\",top:\"calc(100% + 12px)\",zIndex:20,listStyle:\"none\",margin:0,padding:\"8px 0\",background:menuBackground,border:\"1px solid rgba(255,255,255,0.15)\",borderRadius:12,boxShadow:\"0 12px 32px rgba(0,0,0,0.45)\",minWidth:220},children:OPTIONS.map(option=>{const selected=option.id===mode;return /*#__PURE__*/_jsxs(\"li\",{role:\"option\",\"aria-selected\":selected,onClick:()=>{setMode(option.id);setOpen(false);},style:{...textStyle,padding:\"10px 20px\",cursor:\"pointer\",whiteSpace:\"nowrap\",color:selected?accent:color,display:\"flex\",justifyContent:\"space-between\",gap:16},children:[/*#__PURE__*/_jsx(\"span\",{children:option.label}),/*#__PURE__*/_jsx(\"span\",{children:selected?\"✓\":\"\"})]},option.id);})})]}),/*#__PURE__*/_jsx(\"h1\",{style:{position:\"absolute\",width:1,height:1,padding:0,margin:-1,overflow:\"hidden\",clip:\"rect(0, 0, 0, 0)\",whiteSpace:\"nowrap\",border:0},children:props.heading||\"Alle fodboldtr\\xf8jer\"}),countLabel&&/*#__PURE__*/_jsx(\"span\",{style:{...textStyle,color:labelColor,whiteSpace:\"nowrap\"},\"aria-live\":\"polite\",children:countLabel}),!countLabel&&!empty&&/*#__PURE__*/_jsx(\"span\",{className:\"nfk-sortph\",style:{...textStyle,color:labelColor},children:\"\\xa0\"}),empty&&/*#__PURE__*/_jsxs(\"span\",{style:{...textStyle,color:labelColor,whiteSpace:\"nowrap\",display:\"flex\",alignItems:\"baseline\",gap:8},\"aria-live\":\"polite\",children:[\"Ingen tr\\xf8jer \\xb7\",/*#__PURE__*/_jsx(\"button\",{onClick:()=>window.location.assign(window.location.pathname),style:{...textStyle,background:\"none\",border:\"none\",padding:0,cursor:\"pointer\",color:accent,textDecoration:\"underline\",textUnderlineOffset:4},children:\"Nulstil filtre\"})]})]})]});}const MOBILE_CSS=\".nfk-sortph{display:none}\"+\"@media (max-width: 809px){\"+\".nfk-sortrow{flex-direction:column!important;align-items:flex-start!important;gap:10px!important}\"+\".nfk-sortph{display:inline}}\";// Scroller blidt op, så elementet står lige under toplinjen – men kun hvis man står længere nede\nfunction scrollUpTo(el){if(!el)return;const target=el.getBoundingClientRect().top+window.scrollY-100;if(window.scrollY>target+40)window.scrollTo({top:Math.max(0,target),behavior:\"smooth\"});}// Hvilke trøjer der vises lige nu (uafhængigt af rækkefølgen)\nfunction gridSignature(grid){if(!grid)return\"\";return Array.from(grid.querySelectorAll('a[href*=\"troejer/\"]')).filter(link=>link.getClientRects().length>0).map(link=>link.getAttribute(\"href\")).sort().join(\"|\");}// Finder det synlige grid, der indeholder flest produktlinks\nfunction findGrid(){const counts=new Map;document.querySelectorAll('a[href*=\"troejer/\"]').forEach(link=>{let el=link;while(el&&el.parentElement){const parent=el.parentElement;if(getComputedStyle(parent).display===\"grid\"){counts.set(parent,(counts.get(parent)||0)+1);break;}el=parent;}});let best=null;let bestCount=0;counts.forEach((count,grid)=>{if(count>bestCount&&grid.getClientRects().length>0){best=grid;bestCount=count;}});return best;}// På nogle skærmstørrelser ligger kortet i en usynlig indpakning (display: contents),\n// så rækkefølgen skal sættes på det element, der faktisk ligger i gitteret\nfunction gridItem(el){let item=el;while(item&&getComputedStyle(item).display===\"contents\"&&item.firstElementChild){item=item.firstElementChild;}return item;}function readItem(el,index){const lines=(el.innerText||\"\").split(\"\\n\").map(line=>line.trim()).filter(Boolean);const priceLine=lines.find(line=>/\\d+,\\d{2}\\s*kr/.test(line))||\"\";const name=lines.find(line=>line.length>4&&!/\\d+,\\d{2}\\s*kr/.test(line)&&line!==\"Udsolgt\")||\"\";return{box:el,el:gridItem(el),index,name,price:parsePrice(priceLine),sold:lines.includes(\"Udsolgt\")};}function sortGrid(mode,query){const grid=findGrid();if(!grid)return null;const items=Array.from(grid.children).map(readItem);// Søgning: skjul de kort, der ikke passer\nitems.forEach(item=>{const display=query&&!matchesQuery(cardText(item.box),query)?\"none\":\"\";if(item.box.style.display!==display)item.box.style.display=display;});items.sort((a,b)=>{// Udsolgte trøjer ligger altid nederst\nif(a.sold!==b.sold)return a.sold?1:-1;if(mode===\"priceAsc\")return a.price-b.price||a.index-b.index;if(mode===\"priceDesc\")return b.price-a.price||a.index-b.index;if(mode===\"newest\")return a.index-b.index;return a.name.localeCompare(b.name,\"da\");});items.forEach((item,position)=>{const order=String(position);if(item.el.style.order!==order)item.el.style.order=order;});return grid;}// Kortets tekster med mellemrum imellem (textContent hænger ellers navn og pris sammen)\nfunction cardText(el){const parts=[];const walker=document.createTreeWalker(el,NodeFilter.SHOW_TEXT);while(walker.nextNode())parts.push(walker.currentNode.nodeValue);return parts.join(\" \");}// Den aktuelle søgetekst (deles af computerens felt og feltet i mobilens filtermenu)\nconst search={value:\"\"};// Skjuler Framers \"Søg efter titel\"-felt og sætter et felt med samme udseende ind lige efter det\nfunction mountSearchInputs(){document.querySelectorAll(\"input\").forEach(original=>{if(!/titel/i.test(original.getAttribute(\"placeholder\")||\"\"))return;const next=original.nextElementSibling;if(next&&next.dataset&&next.dataset.nfkSearch)return;const input=document.createElement(\"input\");input.type=\"text\";input.className=original.className;input.setAttribute(\"style\",original.getAttribute(\"style\")||\"\");input.placeholder=\"S\\xf8g efter spiller eller klub...\";input.autocomplete=\"off\";input.dataset.nfkSearch=\"1\";input.value=search.value;original.style.display=\"none\";original.after(input);});}// \"Götze\" -> \"gotze\", \"Ude – Cristiano\" -> \"ude cristiano\"\nfunction normalize(value){return String(value||\"\").toLowerCase().replace(/ø/g,\"o\").replace(/æ/g,\"ae\").replace(/å/g,\"a\").replace(/ß/g,\"ss\").normalize(\"NFD\").replace(/[̀-ͯ]/g,\"\").replace(/[^a-z0-9]+/g,\" \").trim();}// Alle søgeord skal passe (i vilkårlig rækkefølge). Små stavefejl tilgives i ord på 4+ bogstaver.\nfunction matchesQuery(text,query){const haystack=normalize(text);const words=haystack.split(\" \");const tokens=normalize(query).split(\" \").filter(Boolean).map(token=>NICKNAMES[token]||token).join(\" \").split(\" \");return tokens.every(token=>words.some(word=>word.startsWith(token))||token.length>=4&&words.some(word=>distance(token,word)<=1||distance(token,word.slice(0,token.length))<=1));}// Antal bogstaver der skal ændres for at gå fra a til b\nfunction distance(a,b){if(Math.abs(a.length-b.length)>1)return 2;let previous=Array.from({length:b.length+1},(_,i)=>i);for(let i=1;i<=a.length;i++){const row=[i];for(let j=1;j<=b.length;j++){row[j]=Math.min(previous[j]+1,row[j-1]+1,previous[j-1]+(a[i-1]===b[j-1]?0:1));}previous=row;}return previous[b.length];}// \"1.149,00 kr.\" -> 1149\nfunction parsePrice(value){const s=String(value||\"\").replace(/[^0-9,.]/g,\"\");const n=s.includes(\",\")?s.replace(/\\./g,\"\").replace(\",\",\".\"):s;return parseFloat(n)||0;}addPropertyControls(SortMenu,{heading:{type:ControlType.String,title:\"Overskrift (Google)\",defaultValue:\"Alle fodboldtr\\xf8jer\"},font:{type:ControlType.Font,title:\"Skrift\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:20}},color:{type:ControlType.Color,title:\"Tekst\",defaultValue:\"#FFFFFF\"},labelColor:{type:ControlType.Color,title:\"Label\",defaultValue:\"rgba(255,255,255,0.6)\"},accent:{type:ControlType.Color,title:\"Accent\",defaultValue:\"#D5C7AE\"},menuBackground:{type:ControlType.Color,title:\"Menu baggrund\",defaultValue:\"#000C29\"},align:{type:ControlType.Enum,title:\"Placering\",options:[\"flex-start\",\"center\",\"flex-end\"],optionTitles:[\"Venstre\",\"Midt\",\"H\\xf8jre\"],defaultValue:\"flex-end\"},paddingTop:{type:ControlType.Number,title:\"Luft top\",defaultValue:32,min:0,max:200},paddingRight:{type:ControlType.Number,title:\"Luft h\\xf8jre\",defaultValue:24,min:0,max:200},paddingBottom:{type:ControlType.Number,title:\"Luft bund\",defaultValue:8,min:0,max:200},paddingLeft:{type:ControlType.Number,title:\"Luft venstre\",defaultValue:24,min:0,max:200}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SortMenu\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SortMenu.map"],"mappings":"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"}