{"version":3,"file":"RecoRating.BmtMW99F.mjs","names":["useState","useCallback","useMemo"],"sources":["https:/framerusercontent.com/modules/XhTWSsRNGrxFvUP4WnsF/UBhGv8ppjU51EK4bSZCt/RecoRating.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useCallback,useEffect,useMemo,useState,startTransition}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n */export default function RecoRating(props){const{endpoint=\"https://reco-betyg.DITTKONTO.workers.dev\",fontSize=16,color=\"#FFFFFF\"}=props;const[rating,setRating]=useState(null);const[count,setCount]=useState(null);const fetchRating=useCallback(async(signal,isMounted)=>{try{const response=await fetch(endpoint,{method:\"GET\",signal});if(!response.ok)return;const data=await response.json();const nextRating=data?.rating;const nextCount=data?.count;if(typeof nextRating===\"number\"&&Number.isFinite(nextRating)&&typeof nextCount===\"number\"&&Number.isFinite(nextCount)&&isMounted()){startTransition(()=>{setRating(nextRating);setCount(nextCount);});}}catch{// Keep fallback text on any error.\n}},[endpoint]);useEffect(()=>{const controller=new AbortController;let mounted=true;const load=async()=>{await fetchRating(controller.signal,()=>mounted);};load();return()=>{mounted=false;controller.abort();};},[fetchRating]);const text=useMemo(()=>{if(typeof rating===\"number\"&&typeof count===\"number\"){const formattedRating=rating.toLocaleString(\"sv-SE\",{minimumFractionDigits:1,maximumFractionDigits:1});return`${formattedRating} i betyg p\\xe5 Reco (${count} recensioner)`;}return\"H\\xf6gt betyg p\\xe5 Reco\";},[rating,count]);return /*#__PURE__*/_jsx(\"p\",{style:{position:\"relative\",margin:0,padding:0,width:\"max-content\",minWidth:\"max-content\",maxWidth:\"100%\",whiteSpace:\"normal\",textAlign:\"left\",fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontWeight:500,fontSize:`${fontSize}px`,lineHeight:\"1.3em\",letterSpacing:\"-0.02em\",color},children:text});}addPropertyControls(RecoRating,{endpoint:{type:ControlType.String,title:\"Endpoint\",defaultValue:\"https://reco-betyg.DITTKONTO.workers.dev\"},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:16,min:8,max:64,unit:\"px\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#FFFFFF\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RecoRating\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RecoRating.map"],"mappings":"sMAGG,SAAwB,EAAW,EAAM,CAAC,GAAK,CAAC,WAAS,2CAA2C,WAAS,GAAG,QAAM,WAAW,EAAW,CAAC,EAAO,GAAWA,EAAS,IAAI,EAAO,CAAC,EAAM,GAAUA,EAAS,IAAI,EAAQ,EAAYC,EAAY,MAAM,EAAO,IAAY,CAAC,GAAG,CAAC,IAAM,EAAS,MAAM,MAAM,EAAS,CAAC,OAAO,MAAM,QAAM,CAAC,EAAE,GAAG,CAAC,EAAS,GAAG,OAAO,IAAM,EAAK,MAAM,EAAS,KAAK,EAAQ,EAAW,GAAM,OAAa,EAAU,GAAM,MAAS,OAAO,GAAa,UAAU,OAAO,SAAS,CAAU,GAAG,OAAO,GAAY,UAAU,OAAO,SAAS,CAAS,GAAG,EAAU,GAAG,MAAoB,CAAC,EAAU,CAAU,EAAE,EAAS,CAAS,CAAE,CAAC,CAAG,MAAM,CAC5oB,CAAC,EAAE,CAAC,CAAQ,CAAC,EAAE,MAAc,CAAC,IAAM,EAAW,IAAI,gBAAoB,EAAQ,GAAoF,OAAP,SAApD,CAAC,MAAM,EAAY,EAAW,WAAW,CAAO,CAAE,EAAE,CAAK,MAAY,CAAC,EAAQ,GAAM,EAAW,MAAM,CAAE,CAAE,EAAE,CAAC,CAAW,CAAC,EAAE,IAAM,EAAKC,MAAgB,OAAO,GAAS,UAAU,OAAO,GAAQ,SAAuH,GAAvF,EAAO,eAAe,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAA0B,EAAE,uBAAuB,EAAM,eAAsB,qBAA6B,CAAC,EAAO,CAAK,CAAC,EAAE,OAAoB,EAAK,IAAI,CAAC,MAAM,CAAC,SAAS,WAAW,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,SAAS,cAAc,SAAS,OAAO,WAAW,SAAS,UAAU,OAAO,WAAW,2CAA2C,WAAW,IAAI,SAAS,GAAG,EAAS,IAAI,WAAW,QAAQ,cAAc,UAAU,OAAK,EAAE,SAAS,CAAI,CAAC,CAAE,iBAJlzB,IAA0E,IAAoD,EAIqrB,EAAoB,EAAW,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,0CAA0C,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,EAAE,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,aAAa,SAAS,CAAC,CAAC"}