{"version":3,"file":"Activity_Tracker.jd7rlkPS.mjs","names":["React.useRef","React.useCallback","__esmMin","init_npm_react_18_3_1","ne","init_ssg_sandbox_shims","navigator","window","ce","de","RenderTarget","init_framer_B1b760uK","createClient","init_module","detectDevice","ua","platform","deviceType","osName","browserName","areaFromPath","path","pathname","part","word","makeSessionId","WildBunniesActivityTracker","canvas","sessionIdRef","currentAreaRef","currentPathRef","userIdRef","sendingRef","record","area","forcedArea","supabase","eventType","active","data","session","subscription","onArea","event","heartbeat","foreground","timer","HEARTBEAT_MS","style","init_Activity_Tracker","init_jsx_runtime"],"sources":["https:/framerusercontent.com/modules/wX5SybyMXXALk7TmxW34/IbChtb45cb6Xd7Mi9hxe/Activity_Tracker.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{RenderTarget}from\"framer\";import{createClient}from\"@supabase/supabase-js\";const supabase=createClient(\"https://letjwhzwopngqqpujwoq.supabase.co\",\"sb_publishable_OSqyeLZWY6Z5iTJ2nbRC-Q_y6p4rIYF\");const HEARTBEAT_MS=45e3;function detectDevice(){const ua=(navigator.userAgent||\"\").toLowerCase();const platform=(navigator.platform||\"\").toLowerCase();let deviceType=\"Desktop\";if(ua.includes(\"ipad\")||ua.includes(\"tablet\")||ua.includes(\"nexus 7\")||ua.includes(\"nexus 10\")){deviceType=\"Tablet\";}else if(ua.includes(\"android\")||ua.includes(\"iphone\")||ua.includes(\"ipod\")||ua.includes(\"mobile\")){deviceType=\"Mobile\";}let osName=\"Unknown\";if(ua.includes(\"iphone\")||ua.includes(\"ipad\")||ua.includes(\"ipod\")){osName=\"iOS\";}else if(ua.includes(\"android\")){osName=\"Android\";}else if(ua.includes(\"windows\")||platform.includes(\"win\")){osName=\"Windows\";}else if(ua.includes(\"macintosh\")||ua.includes(\"mac os x\")||platform.includes(\"mac\")){osName=\"macOS\";}else if(ua.includes(\"linux\")){osName=\"Linux\";}let browserName=\"Browser\";if(ua.includes(\"samsungbrowser\")){browserName=\"Samsung Internet\";}else if(ua.includes(\"edg/\")){browserName=\"Edge\";}else if(ua.includes(\"crios\")||ua.includes(\"chrome/\")){browserName=\"Chrome\";}else if(ua.includes(\"fxios\")||ua.includes(\"firefox/\")){browserName=\"Firefox\";}else if(ua.includes(\"safari/\")&&!ua.includes(\"chrome\")&&!ua.includes(\"crios\")&&!ua.includes(\"android\")){browserName=\"Safari\";}return{deviceType,osName,browserName};}function areaFromPath(pathname){const path=pathname.toLowerCase();if(path.includes(\"challenge\"))return\"Challenges\";if(path.includes(\"banner\"))return\"Best Banner\";if(path.includes(\"scrim\"))return\"Scrims\";if(path.includes(\"archive\"))return\"Archives\";if(path.includes(\"leaderboard\"))return\"Leaderboards\";if(path.includes(\"hopchat\"))return\"HopChat\";if(path===\"/\"||!path)return\"Home\";return pathname.split(\"/\").filter(Boolean).map(part=>{const words=part.replaceAll(\"-\",\" \").replaceAll(\"_\",\" \").split(\" \");return words.filter(Boolean).map(word=>word.charAt(0).toUpperCase()+word.slice(1)).join(\" \");}).join(\" › \");}function makeSessionId(){try{return crypto.randomUUID();}catch{return`web-${Date.now()}-${Math.random().toString(36).slice(2)}`;}}/**\n * Wild Bunnies — invisible website activity tracker.\n *\n * Place ONE instance in a shared Framer layout/header so it stays mounted\n * while members browse the site. It records only lightweight usage metadata:\n * page/area, App vs Website, device/browser and last-seen time.\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 1\n * @framerIntrinsicHeight 1\n */export default function WildBunniesActivityTracker({style}){const canvas=RenderTarget.current()===RenderTarget.canvas;const sessionIdRef=React.useRef(makeSessionId());const currentAreaRef=React.useRef(\"\");const currentPathRef=React.useRef(\"\");const userIdRef=React.useRef(\"\");const sendingRef=React.useRef(false);const record=React.useCallback(async(eventType,forcedArea)=>{if(canvas||sendingRef.current)return;if(!userIdRef.current)return;const path=window.location.pathname||\"/\";const area=forcedArea||currentAreaRef.current||areaFromPath(path);const{deviceType,osName,browserName}=detectDevice();sendingRef.current=true;try{await supabase.rpc(\"wb_record_member_activity\",{p_source:\"website\",p_area:area,p_page_path:path,p_device_type:deviceType,p_os_name:osName,p_browser_name:browserName,p_event_type:eventType,p_client_session_id:sessionIdRef.current});}catch{// Activity tracking must never interfere with the site.\n}finally{sendingRef.current=false;}},[canvas]);React.useEffect(()=>{if(canvas)return;let active=true;const start=async()=>{const{data}=await supabase.auth.getUser();if(!active)return;userIdRef.current=data.user?.id||\"\";currentPathRef.current=window.location.pathname||\"/\";currentAreaRef.current=areaFromPath(currentPathRef.current);if(userIdRef.current){void record(\"page_view\");}};void start();const{data:{subscription}}=supabase.auth.onAuthStateChange((_event,session)=>{userIdRef.current=session?.user?.id||\"\";if(userIdRef.current){currentPathRef.current=window.location.pathname||\"/\";currentAreaRef.current=areaFromPath(currentPathRef.current);void record(\"page_view\");}});return()=>{active=false;subscription.unsubscribe();};},[canvas,record]);React.useEffect(()=>{if(canvas)return;const onArea=event=>{const area=String(event.detail?.area||\"\").trim();if(!area||area===currentAreaRef.current)return;currentAreaRef.current=area;void record(\"area_change\",area);};window.addEventListener(\"wb-activity-area\",onArea);return()=>window.removeEventListener(\"wb-activity-area\",onArea);},[canvas,record]);React.useEffect(()=>{if(canvas)return;const heartbeat=()=>{if(document.visibilityState!==\"visible\")return;void record(\"heartbeat\");};const foreground=()=>{if(document.visibilityState!==\"visible\")return;void record(\"foreground\");};const timer=window.setInterval(heartbeat,HEARTBEAT_MS);window.addEventListener(\"focus\",foreground);document.addEventListener(\"visibilitychange\",foreground);return()=>{window.clearInterval(timer);window.removeEventListener(\"focus\",foreground);document.removeEventListener(\"visibilitychange\",foreground);};},[canvas,record]);React.useEffect(()=>{if(canvas)return;const timer=window.setInterval(()=>{const path=window.location.pathname||\"/\";if(path===currentPathRef.current)return;currentPathRef.current=path;currentAreaRef.current=areaFromPath(path);void record(\"page_view\");},1200);return()=>window.clearInterval(timer);},[canvas,record]);if(canvas){return /*#__PURE__*/_jsx(\"div\",{style:{...style,width:1,height:1,opacity:.35,background:\"#59a9ff\",borderRadius:999},title:\"Wild Bunnies Activity Tracker\"});}return /*#__PURE__*/_jsx(\"div\",{style:{...style,width:1,height:1,pointerEvents:\"none\"}});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"WildBunniesActivityTracker\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicWidth\":\"1\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Activity_Tracker.map"],"mappings":"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"}