PageSourceSearch

https://whop.com/_web/assets/gha-35971278800-1/product-surface-tracker-NwKtXprE.js

js whop.com collected 2026-09-24 08:30:49 UTC 16,394 bytes, 4 lines download raw bytes

1
2!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="86ef27a7-858f-5616-b4f5-aa54931fbb62")}catch(e){}}();
3import{o as e}from"./rolldown-runtime-CMxvf4Kt.js";import{Ca as t,Ta as n}from"./frosted-ui-IuunJNEA.js";import{t as r}from"./useParams-CScQ8WwF.js";import{t as i}from"./useRouterState-KKgZ0uZA.js";import{m as a}from"./useQuery-h_lbmEls.js";import{c as o}from"./exports-CSkmXAhq.js";import{n as s,o as c,t as l}from"./page-view-store-CggrJ1UE.js";import{t as u}from"./legal-paths-DuEhidag.js";import{T as d,a as ee,b as f,h as p,m,t as h,x as g,y as _}from"./whop-socket-CIM9Q_Tr.js";import{t as v}from"./registry-DDj5t4LD.js";import{t as y}from"./safe-slice-BORMMs1N.js";var b=e(n(),1),te=`unknown`,x=_,S=[{pattern:/^\/$/,layout:`/`,surface:x.OTHER},{pattern:/^\/@me\/settings(\/|$)/,layout:`/@me/settings`,surface:x.USER_SETTINGS},{pattern:/^\/@me(\/|$)/,layout:`/@me`,surface:x.PROFILE},{pattern:/^\/@[^/]+/,layout:`/@[username]`,surface:x.PROFILE},{pattern:/^\/home\/balance\/[^/]+/,layout:`/home/balance/[asset]`,surface:x.HOME},{pattern:/^\/home\/cash\/[^/]+/,layout:`/home/balance/[asset]`,surface:x.HOME},{pattern:/^\/home\/crypto\/[^/]+/,layout:`/home/balance/[asset]`,surface:x.HOME},{pattern:/^\/home(\/|$)/,layout:`/home`,surface:x.HOME},{pattern:/^\/messages(\/|$)/,layout:`/messages`,surface:x.MESSAGES},{pattern:/^\/embedded\/chats\/[^/]+$/i,layout:`/embedded/chats/[chatId]`,surface:x.MESSAGES},{pattern:/^\/chats\/new$/,layout:`/chats/new`,surface:x.MESSAGES},{pattern:/^\/chats\/[^/]+/,layout:`/chats/[chatId]`,surface:x.MESSAGES},{pattern:/^\/chats$/,layout:`/chats`,surface:x.MESSAGES},{pattern:/^\/townhall\/[^/]+\/[^/]+/,layout:`/townhall/[experienceId]/[postId]`,surface:x.OTHER},{pattern:/^\/townhall(\/|$)/,layout:`/townhall`,surface:x.OTHER},{pattern:/^\/notifications(\/|$)/,layout:`/notifications`,surface:x.NOTIFICATIONS},{pattern:/^\/bounties\/reviewer-portal(\/|$)/,layout:`/bounties/reviewer-portal`,surface:x.BOUNTIES_HOME},{pattern:/^\/bounties\/[^/]+/,layout:`/bounties/[tag]`,surface:x.BOUNTY},{pattern:/^\/bounties$/,layout:`/bounties`,surface:x.BOUNTIES_HOME},{pattern:/^\/experiences\/[^/]+/,layout:`/experiences/[experienceId]/...`,surface:x.EXPERIENCE},{pattern:/^\/dashboard\/[^/]+/,layout:`/dashboard/[id]/...`,surface:x.CREATOR_DASHBOARD},{pattern:/^\/checkout\/return(\/|$)/,layout:`/checkout/return`,surface:x.CHECKOUT},{pattern:/^\/checkout\/[^/]+/,layout:`/checkout/[session_id]`,surface:x.CHECKOUT},{pattern:/^\/activate(\/|$)/,layout:`/activate`,surface:x.CHECKOUT},{pattern:/^\/claim(\/|$)/,layout:`/claim`,surface:x.FINANCE},{pattern:/^\/joined(\/|$)/,layout:`/joined/[companyRoute]/...`,surface:x.WHOP},{pattern:/^\/discover\/app\/[^/]+/,layout:`/discover/app/[appRoute]/...`,surface:x.DISCOVER},{pattern:/^\/discover\/app-store\/[^/]+/,layout:`/discover/app-store/[category]`,surface:x.DISCOVER},{pattern:/^\/discover\/browse(\/|$)/,layout:`/discover/browse/...`,surface:x.DISCOVER},{pattern:/^\/discover\/([^/]+)(\/|$)/,layout:e=>l.has(e[1]??``)?`/discover/${e[1]}`:`/discover/[companyRoute]/...`,surface:x.DISCOVER},{pattern:/^\/discover$/,layout:`/discover`,surface:x.DISCOVER},{pattern:/^\/affiliates(\/|$)/,layout:`/affiliates/...`,surface:x.AFFILIATE_DASHBOARD},{pattern:/^\/billing(\/|$)/,layout:`/billing/...`,surface:x.FINANCE},{pattern:/^\/deposit\/[^/]+/,layout:`/deposit/[companyRoute]`,surface:x.FINANCE},{pattern:/^\/payouts\/[^/]+/,layout:`/payouts/[id]/...`,surface:x.FINANCE},{pattern:/^\/login(\/|$)/,layout:`/login`,surface:x.AUTH},{pattern:/^\/signup(\/|$)/,layout:`/signup`,surface:x.AUTH},{pattern:/^\/verify-login(\/|$)/,layout:`/verify-login/...`,surface:x.AUTH},{pattern:/^\/oauth(\/|$)/,layout:`/oauth/...`,surface:x.AUTH},{pattern:/^\/membership-invites\/[^/]+(\/|$)/,layout:`/membership-invites/[token]`,surface:x.AUTH},{pattern:/^\/new-business(\/|$)/,layout:`/new-business`,surface:x.USER_ONBOARDING},{pattern:/^\/start(\/|$)/,layout:`/start`,surface:x.USER_ONBOARDING},{pattern:/^\/form-company(\/|$)/,layout:`/form-company/...`,surface:x.USER_ONBOARDING}
3,{pattern:/^\/apps\/[^/]+/,layout:`/apps/[appId]`,surface:x.OTHER},{pattern:/^\/admin(\/|$)/,layout:`/admin/...`,surface:x.OTHER},{pattern:/^\/live\/[^/]+/,layout:`/live/[feedId]`,surface:x.OTHER},{pattern:/^\/verify-identity(\/|$)/,layout:`/verify-identity/...`,surface:x.OTHER},{pattern:/^\/business-ideas\/[^/]+/,layout:`/business-ideas/[ideaName]`,surface:x.OTHER},{pattern:/^\/careers\/[^/]+/,layout:`/careers/[id]`,surface:x.OTHER},{pattern:/^\/blueprints\/[^/]+\/preview(\/|$)/,layout:`/blueprints/[slug]/preview`,surface:x.OTHER},{pattern:/^\/blueprints\/[^/]+/,layout:`/blueprints/[slug]`,surface:x.OTHER},{pattern:/^\/blueprints$/,layout:`/blueprints`,surface:x.OTHER},{pattern:/^\/templates(\/|$)/,layout:`/templates/...`,surface:x.OTHER},{pattern:/^\/partners\/business(\/|$)/,layout:`/partners/business/[businessId]`,surface:x.OTHER},{pattern:/^\/partners\/user(\/|$)/,layout:`/partners/user/[userId]`,surface:x.OTHER},{pattern:/^\/partners\/verified(\/|$)/,layout:`/partners/verified`,surface:x.OTHER},{pattern:/^\/network(\/|$)/,layout:`/network/...`,surface:x.OTHER},{pattern:/^\/whopx(\/|$)/,layout:`/whopx/...`,surface:x.OTHER},{pattern:/^\/dev(\/|$)/,layout:`/dev/...`,surface:x.OTHER},{pattern:/^\/core(\/|$)/,layout:`/core/...`,surface:x.OTHER}],C=new Set(u),w=new Set([`/download`,`/partners`,`/business-ideas`,`/journal`,`/map`,`/careers`,`/bug-bounties`,`/passkeys`]),T=new Set([`about`,`affiliates`,`app-store`,`apps`,`chats`,`members`,`orders`,`posts`,`products`,`reviews`,`support`,`tokens`]),E=new Set([`app`,`admin`,`analytics`,`edit`]);function D(e){let t=e.split(`/`).filter(Boolean),[n,r,i]=t;if(!(!n||s.has(n)))return t.length===1?{layout:`/[whopRoute]`,surface:x.STORE_PAGE}:r&&T.has(r)?{layout:`/[whopRoute]/${r}`,surface:x.WHOP}:i&&E.has(i)?{layout:`/[whopRoute]/[experienceId]/${i}/...`,surface:x.EXPERIENCE}:t.length===2?{layout:`/[whopRoute]/[productRoute]`,surface:x.PRODUCT_PAGE}:{layout:`/[whopRoute]/...`,surface:x.WHOP}}function O(e){for(let{pattern:t,layout:n,surface:r}of S){let i=e.match(t);if(i)return{layout:typeof n==`function`?n(i):n,surface:r}}return C.has(e)?{layout:`/legal/...`,surface:x.OTHER}:w.has(e)?{layout:e,surface:x.OTHER}:D(e)}function ne(e){try{return new URL(e,`https://whop.com`).pathname}catch{return e.split(`?`)[0]||`/`}}function re(e){return e!==void 0&&e!==x.UNKNOWN&&e!==x.OTHER&&e!==x.UNRECOGNIZED}function k(e,t){let n=O(c(e)),r=t?.surface_type,i=re(r)?r:n?.surface??x.OTHER;return{"whop.route_layout":n?.layout??`unknown`,"whop.surface":f(i)}}function ie(e){return e.includes(`/dashboard/`)?`DASHBOARD`:e.includes(`/townhall`)?`HOME_FEED`:e.includes(`/joined/`)?`WHOP_VIEW`:e.includes(`/discover`)?`DISCOVER`:e.includes(`/chats`)||e.includes(`/messages`)?`MESSAGES`:`UNKNOWN`}function ae(e){let t=r({strict:!1}),n=i({select:e=>e.location.pathname}),a=(0,b.useMemo)(()=>{let r=e?.surface_type?f(e.surface_type):ie(n),i=typeof t?.id==`string`?t.id:void 0;return{surfaceType:r,botId:e?.bot_id||(i?.startsWith(`biz_`)?i:void 0),experienceId:e?.experience_id||(i?.startsWith(`exp_`)?i:void 0),accessType:e?.access_type!=null&&e.access_type!==g.UNKNOWN_ACCESS_TYPE?d(e.access_type):void 0,accessPassId:e?.access_pass_id||void 0,appId:e?.app_id||void 0,planId:e?.plan_id||void 0,profileUserId:e?.profile_user_id||void 0,currentUrl:typeof window<`u`?window.location.href:void 0,pathname:n,routeParams:t}},[e,t,n]);(0,b.useEffect)(()=>(v.set(`baseline`,a,{priority:100}),()=>v.delete(`baseline`)),[a]),(0,b.useEffect)(()=>{function e(){let e=v.getAll().baseline;e&&v.set(`baseline`,{...e,currentUrl:window.location.href},{priority:100})}return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[])}var oe=[`viewer`,`flags`,`flag:`,`config`,`session`,`token`,`listAiChats`,`aiChat`,`coreCanClaimFreeAiCredits`,`notifications`],A=20;function j(e){let t=a(),n=(0,b.useRef)(``);(0,b.useEffect)(()=>{let r=t.getQueryCache(),i=()=>{let t=r.findAll({type:`active`}).filter(e=>{let t=String(e.queryKey[0]);return!oe.some(e=>t.toLowerCase().includes(e.toLowerCase()))}).filter(t=>{let n=JSON.stringify(t.queryKey);return!(e.experienceId||e.botId||e.accessPassId)||e.experienceId&&n.includes(e.experienceId)||e.botId&&n.includes(e.botId)||e.accessPassId&&n.includes(e.accessPassId)?!0:!n.includes(`exp_`)&&!n.includes(`biz_`)&&!n.includes(`pass_`)}).sort((e,t)=>
3(t.state.dataUpdatedAt||0)-(e.state.dataUpdatedAt||0)).slice(0,A),n=new Set,i=[];for(let e of t){let t=M(Array.isArray(e.queryKey)?String(e.queryKey[0]):String(e.queryKey));if(n.has(t))continue;n.add(t);let r=e.state.data,a=P(r),o=F(r),s=R(r);i.push({key:t,...a!==void 0&&{itemCount:a},...o!==void 0&&{sample:o},...s!==void 0&&{value:s}})}return i},a=()=>{let e=i(),t=JSON.stringify(e);t!==n.current&&(n.current=t,e.length>0?v.set(`queryCache`,e,{priority:10}):v.delete(`queryCache`))};a();let o=!1,s=null,c=typeof window<`u`&&`requestIdleCallback`in window,l=e=>c?window.requestIdleCallback(e,{timeout:500}):window.setTimeout(e,250),u=e=>{c?window.cancelIdleCallback(e):window.clearTimeout(e)},d=r.subscribe(()=>{o||s!==null||(s=l(()=>{s=null,!o&&a()}))});return()=>{o=!0,s!==null&&u(s),d(),v.delete(`queryCache`)}},[t,e.experienceId,e.botId,e.accessPassId])}function M(e){return e.replace(/^core/,``).replace(/^swift/,``).replace(/Query$/,``).replace(/\.infinite$/,``)}function N(e){if(!e)return;if(Array.isArray(e.data))return e.data;if(e.universalPosts?.universalPosts&&Array.isArray(e.universalPosts.universalPosts))return e.universalPosts.universalPosts;if(Array.isArray(e.posts))return e.posts;if(Array.isArray(e.members))return e.members;if(Array.isArray(e.memberships))return e.memberships;if(Array.isArray(e.products))return e.products;if(Array.isArray(e.rows))return e.rows;if(Array.isArray(e.nodes))return e.nodes;let t=e.members;if(t?.nodes&&Array.isArray(t.nodes))return t.nodes;let n=e.company;if(n?.creatorDashboardTable&&typeof n.creatorDashboardTable==`object`){let e=n.creatorDashboardTable;if(Array.isArray(e.rows))return e.rows;if(e.members?.nodes&&Array.isArray(e.members.nodes))return e.members.nodes}}function P(e){if(Array.isArray(e))return e.length;if(e&&typeof e==`object`){let t=e;if(`data`in t&&Array.isArray(t.data))return t.data.length;if(`pages`in t&&Array.isArray(t.pages)){let e=0;for(let n of t.pages){let t=N(n);t&&(e+=t.length)}return e||void 0}if(`totalCount`in t&&typeof t.totalCount==`number`)return t.totalCount;if(`nodes`in t&&Array.isArray(t.nodes))return t.nodes.length;let n=t.company;if(n?.creatorDashboardTable&&typeof n.creatorDashboardTable==`object`){let e=n.creatorDashboardTable;if(typeof e.totalCount==`number`)return e.totalCount;if(Array.isArray(e.rows))return e.rows.length;if(e.members){if(typeof e.members.totalCount==`number`)return e.members.totalCount;if(Array.isArray(e.members.nodes))return e.members.nodes.length}}}}function F(e){let t=[];if(Array.isArray(e))t=e;else if(e&&typeof e==`object`){let n=e;if(`data`in n&&Array.isArray(n.data))t=n.data;else if(`pages`in n&&Array.isArray(n.pages))for(let e of n.pages){let n=N(e);n&&(t=t.concat(n))}else `rows`in n&&Array.isArray(n.rows)?t=n.rows:`nodes`in n&&Array.isArray(n.nodes)&&(t=n.nodes);if(t.length===0){let e=n.company;if(e?.creatorDashboardTable&&typeof e.creatorDashboardTable==`object`){let n=e.creatorDashboardTable;Array.isArray(n.rows)?t=n.rows:n.members?.nodes&&Array.isArray(n.members.nodes)&&(t=n.members.nodes)}}}if(t.length!==0)return t.slice(0,10).map(e=>e&&typeof e==`object`?I(e):{id:String(e)})}function I(e,t=0){if(t>4)return{};let n=e.id||e.tag,r=e.name||e.title||e.header||e.username||e.email;if(e.user&&typeof e.user==`object`){let t=e.user;t.id&&(n=t.id),r||=t.name||t.username}if(e.resource&&typeof e.resource==`object`){let t=e.resource;if(t.forumPost&&typeof t.forumPost==`object`){let e=t.forumPost;n=n||e.id||e.tag,r=e.title||e.content||r,!r&&e.richContent&&typeof e.richContent==`string`&&(r=y(e.richContent.replace(/<[^>]*>/g,``),0,100))}if(t.livestreamFeed&&typeof t.livestreamFeed==`object`){let e=t.livestreamFeed;n||=e.id,r=e.title||r}}if(!r&&e.membership&&typeof e.membership==`object`){let t=e.membership;if(t.user&&typeof t.user==`object`){let e=t.user;r=e.username||e.name,e.id&&(n=e.id)}}if(!r&&!n)for(let n of Object.keys(e)){if(n.startsWith(`__`))continue;let r=e[n];if(r&&typeof r==`object`&&!Array.isArray(r)){let e=I(r,t+1);if(e.name||e.id)return e}}return{id:n?String(n):void 0,name:r?y(String(r),0,100):void 0}}var L=new Set([`__typename`,`id`,`tag`,`createdAt`,`updatedAt`,`cursor`,`pageInfo`,`edges`,`node`]);function R(e,t=0){if(!(e==null||t>
36)){if(typeof e==`number`&&isFinite(e))return e;if(typeof e==`object`&&!Array.isArray(e)){let n=e,r=Object.keys(n);for(let e of r){if(L.has(e))continue;let t=n[e];if(typeof t==`number`&&isFinite(t))return t}for(let e of r){if(L.has(e)||e===`data`&&Array.isArray(n[e]))continue;let r=n[e];if(r&&typeof r==`object`&&!Array.isArray(r)){let e=R(r,t+1);if(e!==void 0)return e}}}}}function z(e){return e.surfaceType===_.WHOP}function B(e){return e.surfaceType===_.PRODUCT_PAGE}function V(e){return e.surfaceType===_.STORE_PAGE}function H(e){return e.surfaceType===_.DISCOVER}function U(e){return e.surfaceType===_.EXPERIENCE}function W(e){return e.surfaceType===_.CREATOR_DASHBOARD}function G(e){return e.surfaceType===_.PROFILE}function K(e){return e.surfaceType===_.CHECKOUT}function q(e){return e.surfaceType===_.SUPPORT_CHATS}function se(e){return z(e)||B(e)||V(e)||U(e)||W(e)||K(e)||q(e)?e.botId:void 0}function ce(e){return z(e)||B(e)||K(e)||U(e)||H(e)?e.accessPassId:void 0}function le(e){return U(e)?e.experienceId:void 0}function ue(e){return e.surfaceType===_.HOME_FEED}function de(e){return H(e)?e.discoverSection:void 0}function fe(e){return ue(e)?e.homeFeedTab:void 0}function pe(e){return G(e)?e.profileUserId:void 0}function me(e){return K(e)?e.planId:void 0}function he(e){return U(e)||H(e)?e.appId:void 0}function ge(e){return K(e)?e.checkoutType:void 0}function _e(e){return K(e)?e.directToConsumer:void 0}function ve(e){return e.surfaceType===_.FINANCE}function ye(e){return ve(e)?e.viewContext:void 0}function J(e){return m.create({surface_type:e.surfaceType,access_type:z(e)||U(e)||q(e)?e.accessType:void 0,access_pass_id:ce(e),experience_id:le(e),discover_section:de(e),home_feed_tab:fe(e),bot_id:se(e),app_id:he(e),profile_user_id:pe(e),plan_id:me(e),checkout_type:ge(e),direct_to_consumer:_e(e),view_context:ye(e)})}function Y(){let[e,t]=(0,b.useState)(!1);return(0,b.useEffect)(()=>{if(e){let e=()=>t(!1);return window.addEventListener(`blur`,e),()=>window.removeEventListener(`blur`,e)}let n=()=>t(!0);return window.addEventListener(`focus`,n),()=>window.removeEventListener(`focus`,n)},[e]),(0,b.useEffect)(()=>{document.hasFocus()&&t(!0)},[]),e}var X=t(),Z=(0,b.createContext)({pushSurface:()=>{},popSurface:()=>{}}),Q=(0,b.createContext)([]);function $(e){h.sendMessage(ee.create({websocket_message:{$case:`product_surface_update`,product_surface_update:e}}))}function be({children:e}){let[t,n]=(0,b.useState)([{surfaceType:_.OTHER}]),r=Y(),i=(0,b.useCallback)(e=>{n(t=>[...t,e])},[]),a=(0,b.useCallback)(()=>{n(e=>e.slice(0,-1))},[]),s=t[t.length-1],c=s?J(s):void 0;return ae(c),j({experienceId:c?.experience_id,botId:c?.bot_id,accessPassId:c?.access_pass_id}),(0,b.useEffect)(()=>{if(!c)return;let e=k(window.location.pathname,c);o(`whop.route_layout`,e[`whop.route_layout`]),o(`whop.surface`,e[`whop.surface`])},[c]),(0,b.useEffect)(()=>{let e=J(s),t=p.create({is_app_foregrounded:r,product_surface:e,current_url:window.location.href});h.setLatestProductSurface(t),$(t)},[s,r]),(0,b.useEffect)(()=>{function e(){let e=h.getLatestProductSurface();e&&(e.current_url=window.location.href,h.setLatestProductSurface(e),$(e))}return window.addEventListener(`popstate`,e),()=>{window.removeEventListener(`popstate`,e)}},[]),(0,X.jsx)(Z,{value:(0,b.useMemo)(()=>({pushSurface:i,popSurface:a}),[i,a]),children:(0,X.jsx)(Q,{value:t,children:e})})}function xe(){return(0,b.use)(Z)}function Se(){let e=(0,b.use)(Q);if(!e.length)return;let t=e[e.length-1];return J(t)}export{ne as a,te as i,Se as n,k as o,xe as r,be as t};
4//# debugId=86ef27a7-858f-5616-b4f5-aa54931fbb62

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.