{"version":3,"file":"Preview.woBseqxi.mjs","names":["u","p","React.useMemo","React.useRef","React.useState","React.useCallback"],"sources":["https:/framerusercontent.com/modules/UJHnin1mkch3IE2cpCe5/2jQKWaugisYyZdBkI1Tz/Preview.js"],"sourcesContent":["/**\n * VideoCardWithProgress (Framer) — UPDATED\n * + \"New Added\" badge (toggle)\n * + More styling prop controls (radius/border already present; added badge controls + a few missing ones)\n * + Integrato con token Clerk (getClerkToken)\n */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";const FONT='\"Inter\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif';function safeStr(v){return String(v??\"\").trim();}function normalizeBaseUrl(u){return safeStr(u).replace(/\\/+$/,\"\");}function clamp(n,min,max){const x=Number(n);if(!Number.isFinite(x))return min;return Math.max(min,Math.min(max,x));}function extractYouTubeId(input){const s=safeStr(input);if(!s)return\"\";if(/^[a-zA-Z0-9_-]{6,}$/.test(s)&&!s.includes(\"http\"))return s;try{const u=new URL(s);if(u.hostname.includes(\"youtu.be\"))return u.pathname.replace(\"/\",\"\");const v=u.searchParams.get(\"v\");if(v)return v;const m=u.pathname.match(/\\/embed\\/([^/]+)/);if(m?.[1])return m[1];const sh=u.pathname.match(/\\/shorts\\/([^/]+)/);if(sh?.[1])return sh[1];const lv=u.pathname.match(/\\/live\\/([^/]+)/);if(lv?.[1])return lv[1];}catch{}const mv=s.match(/[?&]v=([^&]+)/);if(mv?.[1])return mv[1];return\"\";}function ytThumb(id,quality){const q=quality||\"hqdefault\";return id?`https://i.ytimg.com/vi/${id}/${q}.jpg`:\"\";}function getPreviewFromSessionStorage(){if(typeof window===\"undefined\")return{token:\"\",email:\"\"};try{return{token:safeStr(sessionStorage.getItem(\"tt_preview_token\")),email:safeStr(sessionStorage.getItem(\"tt_preview_email\"))};}catch{return{token:\"\",email:\"\"};}}// ---- FUNZIONE CLERK CON ATTESA INTELLIGENTE ----\nasync function getClerkToken(){if(typeof window===\"undefined\")return\"\";const win=window;// Aspetta fino a 3 secondi che Clerk sia pronto\nlet attempts=0;while(!win.Clerk?.session&&attempts<30){await new Promise(r=>setTimeout(r,100));attempts++;}if(win.Clerk&&win.Clerk.session){try{return await win.Clerk.session.getToken();}catch{return\"\";}}return\"\";}const inflight=new Map;const cache=new Map;async function cachedFetchJson(key,ttlMs,fn){const now=Date.now();const c=cache.get(key);if(c&&now-c.at<ttlMs)return c.value;const inF=inflight.get(key);if(inF)return inF;const p=(async()=>{const v=await fn().catch(()=>null);cache.set(key,{at:Date.now(),value:v});return v;})();inflight.set(key,p);try{return await p;}finally{inflight.delete(key);}}async function getProgress(apiUrl,videoId,previewToken,previewEmail){const base=normalizeBaseUrl(apiUrl);if(!base||!videoId)return null;const url=new URL(base+\"/me/progress\");url.searchParams.set(\"ids\",videoId);const headers={Accept:\"application/json\"};if(previewToken)headers[\"X-Preview-Token\"]=safeStr(previewToken);if(previewEmail)headers[\"X-Preview-Email\"]=safeStr(previewEmail);// Aggiunta Token Clerk\nconst clerkToken=await getClerkToken();if(clerkToken)headers[\"Authorization\"]=`Bearer ${clerkToken}`;const res=await fetch(url.toString(),{method:\"GET\",credentials:\"include\",headers});if(res.status===401)return null;const json=await res.json().catch(()=>null);if(!res.ok||!json?.ok)return null;const p=json?.progress?.[videoId];if(!p)return{percentWatched:0};return{percentWatched:Number(p.percentWatched||0)};}async function getMyList(apiUrl,previewToken,previewEmail){const base=normalizeBaseUrl(apiUrl);if(!base)return null;const headers={Accept:\"application/json\"};if(previewToken)headers[\"X-Preview-Token\"]=safeStr(previewToken);if(previewEmail)headers[\"X-Preview-Email\"]=safeStr(previewEmail);// Aggiunta Token Clerk\nconst clerkToken=await getClerkToken();if(clerkToken)headers[\"Authorization\"]=`Bearer ${clerkToken}`;const res=await fetch(base+\"/me/list\",{method:\"GET\",credentials:\"include\",headers});if(res.status===401)return null;const json=await res.json().catch(()=>null);if(!res.ok||!json?.ok)return null;const ids=Array.isArray(json.videoIds)?json.videoIds.map(safeStr).filter(Boolean):[];return ids;}async function postMyList(apiUrl,videoId,action,pageUrl,previewToken,previewEmail){const base=normalizeBaseUrl(apiUrl);if(!base||!videoId)return false;const headers={\"Content-Type\":\"application/json\"};if(previewToken)headers[\"X-Preview-Token\"]=safeStr(previewToken);if(previewEmail)headers[\"X-Preview-Email\"]=safeStr(previewEmail);// Aggiunta Token Clerk\nconst clerkToken=await getClerkToken();if(clerkToken)headers[\"Authorization\"]=`Bearer ${clerkToken}`;const res=await fetch(base+\"/me/list\",{method:\"POST\",credentials:\"include\",headers,body:JSON.stringify({videoId,action,pageUrl})});const json=await res.json().catch(()=>null);return Boolean(res.ok&&json?.ok);}function IconPlus({size,color}){return /*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 5v14M5 12h14\",stroke:color,strokeWidth:\"2.6\",strokeLinecap:\"round\"})});}function IconCheck({size,color}){return /*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M20 6L9 17l-5-5\",stroke:color,strokeWidth:\"2.6\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})});}export default function VideoCardWithProgress(props){const ytId=extractYouTubeId(props.youtubeLink);const site=normalizeBaseUrl(props.siteBaseUrl||\"https://totaltrade.ai\");const slug=safeStr(props.pageSlug).replace(/^\\/+/,\"\");const pageUrl=slug?`${site}/${slug}`:site;const previewFromStorage=React.useMemo(()=>getPreviewFromSessionStorage(),[]);const effectivePreviewToken=safeStr(props.previewToken)||previewFromStorage.token;const effectivePreviewEmail=safeStr(props.previewEmail)||previewFromStorage.email;const rootRef=React.useRef(null);const[hover,setHover]=React.useState(false);const[percent,setPercent]=React.useState(0);const[inList,setInList]=React.useState(false);const[busy,setBusy]=React.useState(false);const coverUrl=ytThumb(ytId,props.thumbQuality);const aspectCss=props.aspect===\"2:3\"?\"2 / 3\":\"16 / 9\";const refresh=React.useCallback(async()=>{if(!ytId)return;const ttlProgress=2e4;const pKey=`${normalizeBaseUrl(props.apiUrl)}|progress|${ytId}`;const p=await cachedFetchJson(pKey,ttlProgress,()=>getProgress(props.apiUrl,ytId,effectivePreviewToken||undefined,effectivePreviewEmail||undefined));const nextPercent=Math.round(clamp(p?.percentWatched??0,0,100));setPercent(nextPercent);if(props.enableMyList){const ttlList=2e4;const lKey=`${normalizeBaseUrl(props.apiUrl)}|mylist`;const ids=await cachedFetchJson(lKey,ttlList,()=>getMyList(props.apiUrl,effectivePreviewToken||undefined,effectivePreviewEmail||undefined));if(Array.isArray(ids))setInList(ids.includes(ytId));}},[props.apiUrl,ytId,effectivePreviewToken,effectivePreviewEmail,props.enableMyList]);React.useEffect(()=>{if(!props.lazy){refresh();return;}const el=rootRef.current;if(!el){refresh();return;}const io=new IntersectionObserver(entries=>{if(entries.some(e=>e.isIntersecting)){refresh();io.disconnect();}},{threshold:.05});io.observe(el);return()=>io.disconnect();},[props.lazy,refresh]);const onToggleMyList=async e=>{e.preventDefault();e.stopPropagation();if(!props.enableMyList||busy||!ytId)return;const next=!inList;setBusy(true);setInList(next);const ok=await postMyList(props.apiUrl,ytId,next?\"add\":\"remove\",pageUrl,effectivePreviewToken||undefined,effectivePreviewEmail||undefined);setBusy(false);if(!ok)setInList(!next);cache.delete(`${normalizeBaseUrl(props.apiUrl)}|mylist`);};const showBar=props.showProgress&&percent>0;return /*#__PURE__*/_jsx(\"a\",{ref:rootRef,href:pageUrl||undefined,style:{width:\"100%\",height:\"100%\",display:\"block\",textDecoration:\"none\",color:\"inherit\",fontFamily:FONT},onMouseEnter:()=>setHover(true),onMouseLeave:()=>setHover(false),onClick:e=>{if(!pageUrl)e.preventDefault();},children:/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",borderRadius:props.radius,overflow:\"hidden\",border:`${props.borderWidth}px solid ${props.borderColor}`,background:props.cardBg,position:\"relative\",transform:\"translateZ(0)\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",aspectRatio:aspectCss,position:\"relative\"},children:[coverUrl?/*#__PURE__*/_jsx(\"img\",{src:coverUrl,alt:\"\",loading:\"lazy\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}}):/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:12,opacity:.7},children:\"No cover\"}),props.showNewAdded?/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:props.newAddedTop,right:props.newAddedRight,zIndex:4,display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",padding:`${props.newAddedPadY}px ${props.newAddedPadX}px`,borderRadius:props.newAddedRadius,background:props.newAddedBg,color:props.newAddedFg,fontSize:props.newAddedSize,fontWeight:props.newAddedWeight,lineHeight:1,border:props.newAddedBorderWidth>0?`${props.newAddedBorderWidth}px solid ${props.newAddedBorderColor}`:\"none\",boxShadow:props.newAddedShadow,pointerEvents:\"none\",userSelect:\"none\",maxWidth:\"85%\",whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",opacity:hover?0:1,transition:\"opacity 140ms ease\"},children:safeStr(props.newAddedText)||\"Aggiunto di recente\"}):null,showBar?/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:props.barPadX,right:props.barPadX,bottom:props.barPadBottom,height:props.barHeight,background:props.barBg,borderRadius:props.barRadius,overflow:\"hidden\",zIndex:2,pointerEvents:\"none\",boxShadow:props.barShadow},children:/*#__PURE__*/_jsx(\"div\",{style:{width:`${percent}%`,height:\"100%\",background:props.barFill}})}):null,props.enableMyList?/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:onToggleMyList,\"aria-label\":inList?\"Remove from My List\":\"Add to My List\",style:{all:\"unset\",cursor:busy?\"not-allowed\":\"pointer\",position:\"absolute\",top:props.iconTop,right:props.iconRight,width:props.iconSize+14,height:props.iconSize+14,borderRadius:999,background:props.iconBg,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",zIndex:5,opacity:hover?1:0,transform:hover?\"scale(1)\":\"scale(0.96)\",transition:\"opacity 140ms ease, transform 140ms ease\",boxShadow:props.iconShadow,pointerEvents:hover?\"auto\":\"none\"},children:/*#__PURE__*/_jsx(\"span\",{style:{opacity:busy?.65:1,display:\"inline-flex\"},children:inList?/*#__PURE__*/_jsx(IconCheck,{size:props.iconSize,color:props.iconFg}):/*#__PURE__*/_jsx(IconPlus,{size:props.iconSize,color:props.iconFg})})}):null]})})});}VideoCardWithProgress.defaultProps={apiUrl:\"https://university.totaltrade.ai\",siteBaseUrl:\"https://totaltrade.ai\",youtubeLink:\"\",pageSlug:\"\",thumbQuality:\"hqdefault\",aspect:\"16:9\",radius:16,borderWidth:1,borderColor:\"rgba(255,255,255,0.10)\",cardBg:\"rgba(255,255,255,0.03)\",showProgress:true,barHeight:6,barPadX:12,barPadBottom:10,barRadius:999,barBg:\"rgba(255,255,255,0.22)\",barFill:\"#E50914\",barShadow:\"0 6px 18px rgba(0,0,0,0.35)\",enableMyList:true,iconSize:18,iconBg:\"rgba(0,0,0,0.55)\",iconFg:\"#FFFFFF\",iconTop:10,iconRight:10,iconShadow:\"0 12px 30px rgba(0,0,0,0.45)\",showNewAdded:false,newAddedText:\"Aggiunto di recente\",newAddedBg:\"rgba(229,9,20,0.95)\",newAddedFg:\"#FFFFFF\",newAddedRadius:8,newAddedSize:11,newAddedWeight:900,newAddedPadX:10,newAddedPadY:6,newAddedTop:10,newAddedRight:10,newAddedBorderWidth:0,newAddedBorderColor:\"rgba(255,255,255,0.25)\",newAddedShadow:\"0 12px 30px rgba(0,0,0,0.35)\",lazy:true,previewToken:\"\",previewEmail:\"\"};addPropertyControls(VideoCardWithProgress,{apiUrl:{type:ControlType.String,title:\"apiUrl\"},siteBaseUrl:{type:ControlType.String,title:\"siteBaseUrl\"},youtubeLink:{type:ControlType.String,title:\"YouTube link\"},pageSlug:{type:ControlType.String,title:\"pageSlug\"},thumbQuality:{type:ControlType.Enum,title:\"Thumb\",options:[\"mqdefault\",\"hqdefault\",\"sddefault\",\"maxresdefault\"],optionTitles:[\"MQ\",\"HQ\",\"SD\",\"MaxRes\"],defaultValue:\"hqdefault\"},aspect:{type:ControlType.Enum,title:\"Aspect\",options:[\"16:9\",\"2:3\"],optionTitles:[\"16:9\",\"2:3\"],defaultValue:\"16:9\"},radius:{type:ControlType.Number,title:\"Radius\",min:0,max:30,step:1},borderWidth:{type:ControlType.Number,title:\"Border W\",min:0,max:6,step:1},borderColor:{type:ControlType.Color,title:\"Border\"},cardBg:{type:ControlType.Color,title:\"Card BG\"},showProgress:{type:ControlType.Boolean,title:\"Progress bar\",defaultValue:true},barHeight:{type:ControlType.Number,title:\"Bar height\",defaultValue:6,min:2,max:20,step:1,hidden(props){return!props.showProgress;}},barPadX:{type:ControlType.Number,title:\"Bar pad X\",defaultValue:12,min:0,max:30,step:1,hidden(props){return!props.showProgress;}},barPadBottom:{type:ControlType.Number,title:\"Bar bottom\",defaultValue:10,min:0,max:30,step:1,hidden(props){return!props.showProgress;}},barRadius:{type:ControlType.Number,title:\"Bar radius\",defaultValue:999,min:0,max:999,step:1,hidden(props){return!props.showProgress;}},barBg:{type:ControlType.Color,title:\"Bar BG\",defaultValue:\"rgba(255,255,255,0.22)\",hidden(props){return!props.showProgress;}},barFill:{type:ControlType.Color,title:\"Bar Fill\",defaultValue:\"#E50914\",hidden(props){return!props.showProgress;}},barShadow:{type:ControlType.String,title:\"Bar shadow\",defaultValue:\"0 6px 18px rgba(0,0,0,0.35)\",hidden(props){return!props.showProgress;}},enableMyList:{type:ControlType.Boolean,title:\"My List +\",defaultValue:true},iconSize:{type:ControlType.Number,title:\"Icon size\",defaultValue:18,min:12,max:26,step:1,hidden(props){return!props.enableMyList;}},iconBg:{type:ControlType.Color,title:\"Icon BG\",defaultValue:\"rgba(0,0,0,0.55)\",hidden(props){return!props.enableMyList;}},iconFg:{type:ControlType.Color,title:\"Icon FG\",defaultValue:\"#FFFFFF\",hidden(props){return!props.enableMyList;}},iconTop:{type:ControlType.Number,title:\"Icon top\",defaultValue:10,min:0,max:40,step:1,hidden(props){return!props.enableMyList;}},iconRight:{type:ControlType.Number,title:\"Icon right\",defaultValue:10,min:0,max:40,step:1,hidden(props){return!props.enableMyList;}},iconShadow:{type:ControlType.String,title:\"Icon shadow\",defaultValue:\"0 12px 30px rgba(0,0,0,0.45)\",hidden(props){return!props.enableMyList;}},showNewAdded:{type:ControlType.Boolean,title:\"New Added\",defaultValue:false},newAddedText:{type:ControlType.String,title:\"New text\",defaultValue:\"Aggiunto di recente\",hidden(props){return!props.showNewAdded;}},newAddedBg:{type:ControlType.Color,title:\"New BG\",defaultValue:\"rgba(229,9,20,0.95)\",hidden(props){return!props.showNewAdded;}},newAddedFg:{type:ControlType.Color,title:\"New FG\",defaultValue:\"#FFFFFF\",hidden(props){return!props.showNewAdded;}},newAddedRadius:{type:ControlType.Number,title:\"New radius\",defaultValue:8,min:0,max:999,step:1,hidden(props){return!props.showNewAdded;}},newAddedSize:{type:ControlType.Number,title:\"New size\",defaultValue:11,min:9,max:16,step:1,hidden(props){return!props.showNewAdded;}},newAddedWeight:{type:ControlType.Number,title:\"New weight\",defaultValue:900,min:400,max:1e3,step:50,hidden(props){return!props.showNewAdded;}},newAddedPadX:{type:ControlType.Number,title:\"New pad X\",defaultValue:10,min:0,max:24,step:1,hidden(props){return!props.showNewAdded;}},newAddedPadY:{type:ControlType.Number,title:\"New pad Y\",defaultValue:6,min:0,max:20,step:1,hidden(props){return!props.showNewAdded;}},newAddedTop:{type:ControlType.Number,title:\"New top\",defaultValue:10,min:0,max:40,step:1,hidden(props){return!props.showNewAdded;}},newAddedRight:{type:ControlType.Number,title:\"New right\",defaultValue:10,min:0,max:40,step:1,hidden(props){return!props.showNewAdded;}},newAddedBorderWidth:{type:ControlType.Number,title:\"New border W\",defaultValue:0,min:0,max:4,step:1,hidden(props){return!props.showNewAdded;}},newAddedBorderColor:{type:ControlType.Color,title:\"New border\",defaultValue:\"rgba(255,255,255,0.25)\",hidden(props){return!props.showNewAdded||Number(props.newAddedBorderWidth||0)<=0;}},newAddedShadow:{type:ControlType.String,title:\"New shadow\",defaultValue:\"0 12px 30px rgba(0,0,0,0.35)\",hidden(props){return!props.showNewAdded;}},lazy:{type:ControlType.Boolean,title:\"Lazy\",defaultValue:true},previewToken:{type:ControlType.String,title:\"Preview token\"},previewEmail:{type:ControlType.String,title:\"Preview email\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"VideoCardWithProgress\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Preview.map"],"mappings":"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"}