six-degrees 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +1 -0
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +35 -7
- package/.next/standalone/.next/required-server-files.json +6 -1
- package/.next/standalone/.next/routes-manifest.json +18 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +11 -11
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/admin-delete/route.js +1 -1
- package/.next/standalone/.next/server/app/api/admin-delete/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/admin-update/route.js +1 -1
- package/.next/standalone/.next/server/app/api/admin-update/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/bridges/route.js +1 -1
- package/.next/standalone/.next/server/app/api/bridges/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/bulk-import/route.js +1 -1
- package/.next/standalone/.next/server/app/api/bulk-import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/company-scores/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/connections/route.js +1 -1
- package/.next/standalone/.next/server/app/api/connections/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/export/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/restart/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/reveal/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/delete-cluster/route.js +1 -1
- package/.next/standalone/.next/server/app/api/delete-cluster/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ingest/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ingest/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/network/route.js +1 -1
- package/.next/standalone/.next/server/app/api/network/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/outreach/route.js +3 -3
- package/.next/standalone/.next/server/app/api/outreach/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/queue/route.js +1 -1
- package/.next/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/scraper/route.js +1 -1
- package/.next/standalone/.next/server/app/api/scraper/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/setup-profile/route.js +1 -1
- package/.next/standalone/.next/server/app/api/setup-profile/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/unlock/route.js +1 -1
- package/.next/standalone/.next/server/app/api/unlock/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/update/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/update-images/route.js +1 -1
- package/.next/standalone/.next/server/app/api/update-images/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/users/route.js +1 -1
- package/.next/standalone/.next/server/app/api/users/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/avatars/[file]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/import/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/import/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/import.html +1 -1
- package/.next/standalone/.next/server/app/import.rsc +13 -13
- package/.next/standalone/.next/server/app/import.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/import.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/import.segments/import/__PAGE__.segment.rsc +12 -12
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +13 -13
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +12 -12
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/launch/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/launch/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/launch.html +2 -2
- package/.next/standalone/.next/server/app/launch.rsc +13 -13
- package/.next/standalone/.next/server/app/launch.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/launch.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/launch.segments/launch/__PAGE__.segment.rsc +12 -12
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/paths/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/paths/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/paths.html +1 -1
- package/.next/standalone/.next/server/app/paths.rsc +13 -13
- package/.next/standalone/.next/server/app/paths.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/paths.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/paths.segments/paths/__PAGE__.segment.rsc +12 -12
- package/.next/standalone/.next/server/app/profile/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/profile/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/profile.html +1 -1
- package/.next/standalone/.next/server/app/profile.rsc +13 -13
- package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/profile.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/profile.segments/profile/__PAGE__.segment.rsc +12 -12
- package/.next/standalone/.next/server/app/queue/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/queue/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/queue.html +1 -1
- package/.next/standalone/.next/server/app/queue.rsc +13 -13
- package/.next/standalone/.next/server/app/queue.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/queue.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/queue.segments/queue/__PAGE__.segment.rsc +12 -12
- package/.next/standalone/.next/server/app/scores/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/scores/page/build-manifest.json +20 -0
- package/.next/standalone/.next/server/app/scores/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/scores/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/scores/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/scores/page.js +13 -0
- package/.next/standalone/.next/server/app/scores/page.js.map +5 -0
- package/.next/standalone/.next/server/app/scores/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/scores/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/scores.html +1 -0
- package/.next/standalone/.next/server/app/scores.meta +26 -0
- package/.next/standalone/.next/server/app/scores.rsc +24 -0
- package/.next/standalone/.next/server/app/scores.segments/_full.segment.rsc +24 -0
- package/.next/standalone/.next/server/app/scores.segments/_tree.segment.rsc +4 -0
- package/.next/standalone/.next/server/app/scores.segments/scores/__PAGE__.segment.rsc +28 -0
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +13 -13
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +12 -12
- package/.next/standalone/.next/server/app/setup/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/setup.html +1 -1
- package/.next/standalone/.next/server/app/setup.rsc +13 -13
- package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +12 -12
- package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-rnla2._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__00la_y0._.js +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0i5hdu4._.js → [root-of-the-server]__03ydxxh._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__07t47cm._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bat8nx._.js +8 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cj5jqc._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e0fei3._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljcioj._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljnyho._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o5-tcg._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qrnous._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t3v1a1._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0uag-k5._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0um1uey._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wmexuc._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xu34sz._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__133knx1._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__14ou7j5._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__15-17hl._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__16iu0hv._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__19b7mig._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1bbcwub._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1eris29._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1gjo_cq._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1kbl21f._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qcm08_._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1rphsdk._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1w25q0m._.js +1 -1
- package/.next/standalone/.next/server/chunks/_02twlca._.js +10 -0
- package/.next/standalone/.next/server/chunks/_072jl0y._.js +1 -1
- package/.next/standalone/.next/server/chunks/_0lw8_i0._.js +1 -1
- package/.next/standalone/.next/server/chunks/_1_fynia._.js +8 -6
- package/.next/standalone/.next/server/chunks/_1fn30_l._.js +1 -1
- package/.next/standalone/.next/server/chunks/_1itd1o_._.js +1 -1
- package/.next/standalone/.next/server/chunks/_1iwkh8t._.js +1 -1
- package/.next/standalone/.next/server/chunks/lib_db-client_15le7cw.js +13 -8
- package/.next/standalone/.next/server/chunks/{lib_rpc_02ndsg2.js → lib_rpc_03i8xef.js} +1 -1
- package/.next/standalone/.next/server/chunks/{lib_rpc_08q5vp6.js → lib_rpc_08fc3rp.js} +1 -1
- package/.next/standalone/.next/server/chunks/{lib_rpc_00tx2sm.js → lib_rpc_08r2t_q.js} +1 -1
- package/.next/standalone/.next/server/chunks/{lib_rpc_02-qa4d.js → lib_rpc_0btpv1t.js} +1 -1
- package/.next/standalone/.next/server/chunks/lib_rpc_0c9d9ti.js +5 -5
- package/.next/standalone/.next/server/chunks/lib_rpc_0cm2ev3.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0iovswz.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0is8flp.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0v8ajtd.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0xgmvvt.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_144mzbf.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1bggi0n.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1dkcu9f.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1o0jb6w.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0an6blh._.js → [root-of-the-server]__0zzcbqg._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1194jps._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1z1j3ek._.js → [root-of-the-server]__19ip1qq._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_01f38ty._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_06w_gl4._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0hw_qnj._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_13kzrwv._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_15xuwkv._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_1cyxocj._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_1gpbbw9._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_1hgd5dp._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_1vpfyd-._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_20w06i-._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_scores_page_actions_0x-w58n.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/app_components_settings_SectorPicker_1c-29qw.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/app_launch_page_19t0dyd.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_page_1fazqbf.js +11 -9
- package/.next/standalone/.next/server/chunks/ssr/app_paths_page_1ol90m7.js +4 -0
- package/.next/standalone/.next/server/chunks/ssr/app_profile_page_0u3-l5y.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_queue_page_0c6znd6.js +5 -5
- package/.next/standalone/.next/server/chunks/ssr/app_scores_page_09wepvv.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/app_settings_page_1f8mjj_.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_setup_page_1-282zx.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/lib_1bn38gs._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_0x3i8za._.js +131 -0
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_dist_1bunoni._.js → node_modules_next_dist_1v8aef8._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_server-async-storage_0t1dato.js +3 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/next-font-manifest.js +1 -1
- package/.next/standalone/.next/server/next-font-manifest.json +4 -0
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/prefetch-hints.json +14 -0
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/0ax_9zzboyv6d.js +44 -0
- package/.next/standalone/.next/static/chunks/0cuuo2jwc9h94.js +1 -0
- package/.next/standalone/.next/static/chunks/0l1568qff0efj.js +1 -0
- package/.next/standalone/.next/static/chunks/0muwt9bykzr-1.js +1 -0
- package/.next/standalone/.next/static/chunks/0w76iraw7ij3k.js +18 -0
- package/.next/standalone/.next/static/chunks/135n87ydxjrra.js +2 -0
- package/.next/standalone/.next/static/chunks/18xu0fbgo_qz-.js +1 -0
- package/.next/standalone/.next/static/chunks/28bu26ausqzmn.js +1 -0
- package/.next/standalone/.next/static/chunks/{40nvbgfn7-072.css → 2p6o90z0vgcwr.css} +1 -1
- package/.next/standalone/.next/static/chunks/2pnbm1z6j7xab.js +1 -0
- package/.next/standalone/.next/static/chunks/2xjho0lroiwlq.js +1 -0
- package/.next/standalone/.next/static/chunks/3e8zg6ctvvb8p.js +33 -0
- package/.next/standalone/.next/static/chunks/3qh78g2aqhprd.js +2 -0
- package/.next/standalone/CHANGELOG.md +286 -0
- package/.next/standalone/CONTRIBUTING.md +15 -4
- package/.next/standalone/README.md +50 -29
- package/.next/standalone/SECURITY.md +10 -0
- package/.next/standalone/app/api/company-scores/legacy/route.js +1 -1
- package/.next/standalone/app/api/company-scores/route.js +1 -1
- package/.next/standalone/app/api/ingest/route.js +23 -2
- package/.next/standalone/app/api/outreach/route.js +107 -44
- package/.next/standalone/app/api/scraper/route.js +146 -17
- package/.next/standalone/app/api/settings/sector-preview/route.js +3 -2
- package/.next/standalone/app/api/settings/sector-suggestions/route.js +1 -1
- package/.next/standalone/app/api/update-images/route.js +41 -7
- package/.next/standalone/app/avatars/[file]/route.js +6 -1
- package/.next/standalone/app/components/Avatar.js +5 -2
- package/.next/standalone/app/components/ChainView.js +659 -469
- package/.next/standalone/app/components/CompanyScores.js +16 -10
- package/.next/standalone/app/components/EmptyState.js +1 -1
- package/.next/standalone/app/components/FieldStep.js +94 -0
- package/.next/standalone/app/components/ForceGraph.js +183 -768
- package/.next/standalone/app/components/GridView.js +9 -7
- package/.next/standalone/app/components/LegacyScoresCard.js +1 -1
- package/.next/standalone/app/components/LinkedInLimits.js +22 -7
- package/.next/standalone/app/components/ListView.js +6 -4
- package/.next/standalone/app/components/MappingProgress.js +5 -6
- package/.next/standalone/app/components/OnboardingGate.js +1 -1
- package/.next/standalone/app/components/OrbitGraph.js +33 -1
- package/.next/standalone/app/components/OutlinkQuest.js +5 -4
- package/.next/standalone/app/components/PathsAnalyzer.js +1 -1
- package/.next/standalone/app/components/RingsView.js +9 -8
- package/.next/standalone/app/components/SeparationView.js +96 -14
- package/.next/standalone/app/components/Sidebar.js +366 -287
- package/.next/standalone/app/components/TheirCircle.js +300 -0
- package/.next/standalone/app/components/settings/SectorPicker.js +202 -0
- package/.next/standalone/app/components/settings/SectorSection.js +21 -195
- package/.next/standalone/app/components/settings/TierSection.js +99 -0
- package/.next/standalone/app/components/useRequests.js +12 -0
- package/.next/standalone/app/components/useScanner.js +13 -0
- package/.next/standalone/app/components/views.js +3 -5
- package/.next/standalone/app/globals.css +7 -0
- package/.next/standalone/app/launch/page.js +6 -3
- package/.next/standalone/app/page.js +183 -74
- package/.next/standalone/app/paths/page.js +20 -14
- package/.next/standalone/app/profile/page.js +3 -3
- package/.next/standalone/app/queue/page.js +56 -60
- package/.next/standalone/app/scores/page.js +72 -0
- package/.next/standalone/app/settings/page.js +15 -3
- package/.next/standalone/app/setup/page.js +423 -260
- package/.next/standalone/db/schema.js +2 -1
- package/.next/standalone/eslint.config.mjs +3 -3
- package/.next/standalone/install.sh +3 -3
- package/.next/standalone/lib/chain-layout.js +139 -0
- package/.next/standalone/lib/circle.js +169 -0
- package/.next/standalone/lib/companies.js +1 -1
- package/.next/standalone/lib/csv.js +21 -10
- package/.next/standalone/lib/data-export.js +2 -1
- package/.next/standalone/lib/data-folder.js +4 -2
- package/.next/standalone/lib/db-client.js +1 -0
- package/.next/standalone/lib/galaxy.js +12 -0
- package/.next/standalone/lib/ingest.js +27 -8
- package/.next/standalone/lib/legacy-offer.js +7 -6
- package/.next/standalone/lib/legacy-scores.js +2 -2
- package/.next/standalone/lib/linkedin-limits.js +30 -8
- package/.next/standalone/lib/photos.js +47 -0
- package/.next/standalone/lib/quest.js +8 -3
- package/.next/standalone/lib/rarity.js +80 -0
- package/.next/standalone/lib/reach.js +113 -0
- package/.next/standalone/lib/requests-client.js +113 -0
- package/.next/standalone/lib/rpc.js +26 -15
- package/.next/standalone/lib/scan-state.js +1 -0
- package/.next/standalone/lib/scanner-setup.js +20 -1
- package/.next/standalone/lib/score-guess.js +60 -0
- package/.next/standalone/lib/scoring.js +1761 -69
- package/.next/standalone/lib/scraper-client.js +235 -17
- package/.next/standalone/lib/sector-directory.js +1 -1
- package/.next/standalone/lib/sector-focus.js +17 -3
- package/.next/standalone/lib/separation.js +4 -2
- package/.next/standalone/lib/settings-client.js +21 -0
- package/.next/standalone/lib/settings-effects.js +19 -1
- package/.next/standalone/lib/settings.js +7 -2
- package/.next/standalone/next.config.mjs +25 -3
- package/.next/standalone/package-lock.json +2 -2
- package/.next/standalone/package.json +2 -2
- package/.next/standalone/public/demo-data.json +1 -1
- package/.next/standalone/scripts/build-app.mjs +11 -2
- package/.next/standalone/scripts/check-node.mjs +1 -1
- package/.next/standalone/scripts/gen-synthetic.mjs +1 -1
- package/.next/standalone/scripts/image_store.py +77 -21
- package/.next/standalone/scripts/scrape.py +305 -29
- package/.next/standalone/server.js +1 -1
- package/.next/static/chunks/0ax_9zzboyv6d.js +44 -0
- package/.next/static/chunks/0cuuo2jwc9h94.js +1 -0
- package/.next/static/chunks/0l1568qff0efj.js +1 -0
- package/.next/static/chunks/0muwt9bykzr-1.js +1 -0
- package/.next/static/chunks/0w76iraw7ij3k.js +18 -0
- package/.next/static/chunks/135n87ydxjrra.js +2 -0
- package/.next/static/chunks/18xu0fbgo_qz-.js +1 -0
- package/.next/static/chunks/28bu26ausqzmn.js +1 -0
- package/.next/static/chunks/{40nvbgfn7-072.css → 2p6o90z0vgcwr.css} +1 -1
- package/.next/static/chunks/2pnbm1z6j7xab.js +1 -0
- package/.next/static/chunks/2xjho0lroiwlq.js +1 -0
- package/.next/static/chunks/3e8zg6ctvvb8p.js +33 -0
- package/.next/static/chunks/3qh78g2aqhprd.js +2 -0
- package/CHANGELOG.md +286 -0
- package/README.md +50 -29
- package/SECURITY.md +10 -0
- package/db/schema.js +2 -1
- package/lib/chain-layout.js +139 -0
- package/lib/circle.js +169 -0
- package/lib/companies.js +1 -1
- package/lib/csv.js +21 -10
- package/lib/data-export.js +2 -1
- package/lib/data-folder.js +4 -2
- package/lib/db-client.js +1 -0
- package/lib/galaxy.js +12 -0
- package/lib/ingest.js +27 -8
- package/lib/legacy-offer.js +7 -6
- package/lib/legacy-scores.js +2 -2
- package/lib/linkedin-limits.js +30 -8
- package/lib/photos.js +47 -0
- package/lib/quest.js +8 -3
- package/lib/rarity.js +80 -0
- package/lib/reach.js +113 -0
- package/lib/requests-client.js +113 -0
- package/lib/rpc.js +26 -15
- package/lib/scan-state.js +1 -0
- package/lib/scanner-setup.js +20 -1
- package/lib/score-guess.js +60 -0
- package/lib/scoring.js +1761 -69
- package/lib/scraper-client.js +235 -17
- package/lib/sector-directory.js +1 -1
- package/lib/sector-focus.js +17 -3
- package/lib/separation.js +4 -2
- package/lib/settings-client.js +21 -0
- package/lib/settings-effects.js +19 -1
- package/lib/settings.js +7 -2
- package/package.json +2 -2
- package/public/demo-data.json +1 -1
- package/scripts/check-node.mjs +1 -1
- package/scripts/image_store.py +77 -21
- package/scripts/scrape.py +305 -29
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1t3rugi._.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0_8i3ft.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0huvw-3.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0ip2vdh.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0jzisgh.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0yi9xvd.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_1jyhd0o.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_1kn59-i.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_1q2jkza.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_1vpm1sk.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_1x6p_31.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_07u8byv._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_08r_mlf._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0942v8n._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0hl_t7r._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0tb83dw._.js +0 -132
- package/.next/standalone/.next/server/chunks/ssr/_1-87bs1._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_17gui6a._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/lib_0i8v-s3._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_16vay6l._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_1kciwn4._.js +0 -3
- package/.next/standalone/.next/static/chunks/06x3jiiz96m5t.js +0 -1
- package/.next/standalone/.next/static/chunks/08k1crid-05dt.js +0 -1
- package/.next/standalone/.next/static/chunks/0ngx9s6-zgshe.js +0 -33
- package/.next/standalone/.next/static/chunks/0q-_khndfxubv.js +0 -2
- package/.next/standalone/.next/static/chunks/1c79veqedvubt.js +0 -1
- package/.next/standalone/.next/static/chunks/1chp3nx45meg5.js +0 -44
- package/.next/standalone/.next/static/chunks/1irqj0lf-fu3d.js +0 -1
- package/.next/standalone/.next/static/chunks/1uadqylrod5_v.js +0 -1
- package/.next/standalone/.next/static/chunks/23u0zclgwpc4d.js +0 -1
- package/.next/standalone/.next/static/chunks/289ktj97di6zg.js +0 -1
- package/.next/standalone/.next/static/chunks/2b3lmf8e6uj8m.js +0 -16
- package/.next/standalone/.next/static/chunks/3npq5yd7c4dmn.js +0 -2
- package/.next/standalone/app/components/BridgeRing.js +0 -753
- package/.next/static/chunks/06x3jiiz96m5t.js +0 -1
- package/.next/static/chunks/08k1crid-05dt.js +0 -1
- package/.next/static/chunks/0ngx9s6-zgshe.js +0 -33
- package/.next/static/chunks/0q-_khndfxubv.js +0 -2
- package/.next/static/chunks/1c79veqedvubt.js +0 -1
- package/.next/static/chunks/1chp3nx45meg5.js +0 -44
- package/.next/static/chunks/1irqj0lf-fu3d.js +0 -1
- package/.next/static/chunks/1uadqylrod5_v.js +0 -1
- package/.next/static/chunks/23u0zclgwpc4d.js +0 -1
- package/.next/static/chunks/289ktj97di6zg.js +0 -1
- package/.next/static/chunks/2b3lmf8e6uj8m.js +0 -16
- package/.next/static/chunks/3npq5yd7c4dmn.js +0 -2
- /package/.next/standalone/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_ssgManifest.js +0 -0
- /package/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_buildManifest.js +0 -0
- /package/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
module.exports=[90195,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(50944),e=a.i(37732),f=a.i(23310),g=a.i(58834),h=a.i(42510),i=a.i(36839);a.i(75930);var j=a.i(74365),k=a.i(72243),l=a.i(11366),m=a.i(53877),n=a.i(7656),o=a.i(90017),p=a.i(9282);let q={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},r="1px solid rgba(255,255,255,0.1)",s=[...p.INDUSTRIES,p.UNKNOWN_INDUSTRY];function t(a){let b=0x811c9dc5;for(let c=0;c<a.length;c++)b=Math.imul(b^a.charCodeAt(c),0x1000193);return(b>>>0)%1e3/1e3}function u({value:a,onChange:c,options:d}){return(0,b.jsx)("div",{style:{display:"flex",borderRadius:7,overflow:"hidden",border:r},children:d.map(([d,e])=>(0,b.jsx)("button",{onClick:()=>c(d),style:{padding:"5px 10px",fontSize:11.5,fontWeight:600,border:"none",cursor:"pointer",background:a===d?"rgba(52,152,219,0.25)":"transparent",color:a===d?"#cfe6f7":"#8b9a9a"},children:e},d))})}function v(a,b){return("all"===b.degree||String(a.degree)===b.degree)&&("senior"!==b.seniority||!!(0,p.isSenior)(a.headline))&&("csuite"!==b.seniority||!((0,p.getSeniority)(a.headline).level<6))&&("SA"!==b.tier||"S"===a.tier||"A"===a.tier)}function w({d1:a=[],d2:d=[],d3:e=[],tab:f="map",onOpenCompany:g}){let[h,i]=(0,c.useState)({degree:"all",seniority:"all",tier:"all"}),[j,k]=(0,c.useState)(()=>new Set),[l,m]=(0,c.useState)(""),[n,o]=(0,c.useState)(null),q=(0,c.useMemo)(()=>[...a,...d,...e],[a,d,e]),r=(0,c.useMemo)(()=>(0,p.buildCompanyIndex)(q),[q]),t=(0,c.useMemo)(()=>(0,p.companyLinks)(a,d),[a,d]),u=(0,c.useMemo)(()=>{let a=l.trim().toLowerCase(),b=[];for(let c of r.values()){if(j.has(c.industry.key)||a&&!c.name.toLowerCase().includes(a))continue;let d=c.people.filter(a=>v(a,h));d.length&&b.push({...c,shown:d})}return b.sort((a,b)=>b.shown.length-a.shown.length)},[r,h,j,l]),z=(0,c.useMemo)(()=>{let a=new Map(s.map(a=>[a.key,{...a,people:[],companies:new Map}])),b=new Set;for(let c of q){let d=c.profile_url||`id:${c.id}`;if(b.has(d)||(b.add(d),!v(c,h)))continue;let e=(0,p.companyOf)(c),f=e?r.get(e)?.industry||(0,p.industryOf)(e,c.headline):(0,p.industryOf)(null,c.headline),g=a.get(f.key);g.people.push(c),e&&g.companies.set(e,(g.companies.get(e)||0)+1)}return[...a.values()].filter(a=>a.people.length).sort((a,b)=>b.people.length-a.people.length)},[q,r,h]),B=n?.kind==="company"?r.get(n.key):n?.kind==="industry"?z.find(a=>a.key===n.key):null;return(0,b.jsxs)("div",{style:{display:"flex",flex:1,minHeight:0},children:[(0,b.jsxs)("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column"},children:[(0,b.jsx)(x,{filters:h,setFilters:i,query:l,setQuery:m,industries:z,hidden:j,setHidden:k,onIndustry:a=>o({kind:"industry",key:a})}),"map"===f?(0,b.jsx)(y,{companies:u,links:t,focus:n,onCompany:a=>o({kind:"company",key:a}),onIndustry:a=>o({kind:"industry",key:a}),onClear:()=>o(null)}):(0,b.jsx)(A,{industries:z,index:r,d1:a,d2:d,onIndustry:a=>o({kind:"industry",key:a}),onCompany:a=>o({kind:"company",key:a})})]}),B&&(0,b.jsx)(C,{focus:n,data:B,index:r,links:t,d1:a,d2:d,filters:h,onClose:()=>o(null),onCompany:a=>o({kind:"company",key:a}),onOpenCompany:g})]})}function x({filters:a,setFilters:c,query:d,setQuery:e,industries:f,hidden:g,setHidden:h,onIndustry:i}){let j=(a,b)=>c(c=>({...c,[a]:b}));return(0,b.jsxs)("div",{style:{padding:"10px 16px",borderBottom:r,display:"flex",flexDirection:"column",gap:8},children:[(0,b.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap",alignItems:"center"},children:[(0,b.jsx)("input",{value:d,onChange:a=>e(a.target.value),placeholder:"Find a company",style:{padding:"6px 10px",borderRadius:7,border:r,background:"rgba(255,255,255,0.05)",color:"#fff",fontSize:13,minWidth:170}}),(0,b.jsx)(u,{value:a.degree,onChange:a=>j("degree",a),options:[["all","All degrees"],["1","1st"],["2","2nd"],["3","3rd"]]}),(0,b.jsx)(u,{value:a.seniority,onChange:a=>j("seniority",a),options:[["all","Any level"],["senior","Director+"],["csuite","C-suite"]]}),(0,b.jsx)(u,{value:a.tier,onChange:a=>j("tier",a),options:[["all","All tiers"],["SA","S & A only"]]})]}),(0,b.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:[f.map(a=>{let c=g.has(a.key);return(0,b.jsxs)("span",{style:{display:"inline-flex",borderRadius:14,border:`1px solid ${a.color}55`,overflow:"hidden",opacity:c?.4:1},children:[(0,b.jsx)("button",{title:c?"Show on the map":"Hide from the map",onClick:()=>h(b=>{let c=new Set(b);return c.has(a.key)?c.delete(a.key):c.add(a.key),c}),style:{padding:"3px 7px",border:"none",background:`${a.color}22`,cursor:"pointer",color:a.color,fontSize:11},children:"●"}),(0,b.jsxs)("button",{onClick:()=>i(a.key),title:"Analyse this industry",style:{padding:"3px 9px 3px 5px",border:"none",background:"transparent",cursor:"pointer",color:"#cfd8d8",fontSize:11.5},children:[a.label," ",(0,b.jsx)("span",{style:{color:"#778"},children:a.people.length})]})]},a.key)}),(0,b.jsx)("span",{style:{fontSize:11,color:"#667",alignSelf:"center"},children:"industries inferred from companies and headlines"})]})]})}function y({companies:a,links:d,focus:e,onCompany:f,onIndustry:g,onClear:h}){let i=(0,c.useRef)(null),{w:o,h:r}=function(a){let[b,d]=(0,c.useState)({w:0,h:0});return(0,c.useEffect)(()=>{let b=a.current;if(!b)return;let c=()=>{let a=b.getBoundingClientRect();d(b=>b.w===Math.round(a.width)&&b.h===Math.round(a.height)?b:{w:Math.round(a.width),h:Math.round(a.height)})};c();let e=new ResizeObserver(c);return e.observe(b),()=>e.disconnect()},[a]),b}(i),[s,u]=(0,c.useState)(null),v=(0,c.useMemo)(()=>{let b=a.slice(0,140),c=new Set(b.map(a=>a.name)),e=[...new Set(b.map(a=>a.industry.key))],f=new Map(e.map((a,b)=>{let c=b/Math.max(1,e.length)*Math.PI*2-Math.PI/2;return[a,{x:260*Math.cos(c),y:260*Math.sin(c)}]})),g=b.map(a=>({id:a.name,co:a,r:4+3.4*Math.sqrt(a.shown.length),x:f.get(a.industry.key).x+(t(a.name)-.5)*40,y:f.get(a.industry.key).y+(t(a.name+"#")-.5)*40})),h=d.filter(a=>c.has(a.a)&&c.has(a.b)).map(a=>({source:a.a,target:a.b,weight:a.weight,via:a.via.size})),i=(0,m.forceSimulation)(g).force("x",(function(a){var b,c,d,e=(0,n.default)(.1);function f(a){for(var e,f=0,g=b.length;f<g;++f)e=b[f],e.vx+=(d[f]-e.x)*c[f]*a}function g(){if(b){var f,g=b.length;for(c=Array(g),d=Array(g),f=0;f<g;++f)c[f]=isNaN(d[f]=+a(b[f],f,b))?0:+e(b[f],f,b)}}return"function"!=typeof a&&(a=(0,n.default)(null==a?0:+a)),f.initialize=function(a){b=a,g()},f.strength=function(a){return arguments.length?(e="function"==typeof a?a:(0,n.default)(+a),g(),f):e},f.x=function(b){return arguments.length?(a="function"==typeof b?b:(0,n.default)(+b),g(),f):a},f})(a=>f.get(a.co.industry.key).x).strength(.12)).force("y",(function(a){var b,c,d,e=(0,n.default)(.1);function f(a){for(var e,f=0,g=b.length;f<g;++f)e=b[f],e.vy+=(d[f]-e.y)*c[f]*a}function g(){if(b){var f,g=b.length;for(c=Array(g),d=Array(g),f=0;f<g;++f)c[f]=isNaN(d[f]=+a(b[f],f,b))?0:+e(b[f],f,b)}}return"function"!=typeof a&&(a=(0,n.default)(null==a?0:+a)),f.initialize=function(a){b=a,g()},f.strength=function(a){return arguments.length?(e="function"==typeof a?a:(0,n.default)(+a),g(),f):e},f.y=function(b){return arguments.length?(a="function"==typeof b?b:(0,n.default)(+b),g(),f):a},f})(a=>f.get(a.co.industry.key).y).strength(.12)).force("collide",(0,j.forceCollide)(a=>a.r+3)).force("charge",(0,l.forceManyBody)().strength(-25)).force("link",(0,k.forceLink)(h).id(a=>a.id).strength(a=>Math.min(.25,.03*a.weight)).distance(60)).stop();for(let a=0;a<320;a++)i.tick();let o=g.flatMap(a=>[a.x-a.r,a.x+a.r]),q=g.flatMap(a=>[a.y-a.r,a.y+a.r]),r=g.length?{x:Math.min(...o)-60,y:Math.min(...q)-40,w:Math.max(...o)-Math.min(...o)+120,h:Math.max(...q)-Math.min(...q)+80}:{x:-300,y:-300,w:600,h:600},s=e.map(a=>{let b=g.filter(b=>b.co.industry.key===a),c=b.reduce((a,b)=>a+b.x,0)/b.length,d=b.reduce((a,b)=>a+b.y,0)/b.length,e=Math.hypot(c,d)||1,f=c/e,h=d/e,i=Math.max(...b.map(a=>(a.x-c)*f+(a.y-d)*h+a.r));return{key:a,x:c+f*(i+16),y:d+h*(i+16)+4,anchor:f>.35?"start":f<-.35?"end":"middle",ind:(0,p.industryByKey)(a)}});for(let a of s){let b=7.5*a.ind.label.length,c="start"===a.anchor?a.x:"end"===a.anchor?a.x-b:a.x-b/2,d=Math.max(r.x+r.w,c+b+10);r.x=Math.min(r.x,c-10),r.w=d-r.x;let e=Math.max(r.y+r.h,a.y+12);r.y=Math.min(r.y,a.y-18),r.h=e-r.y}return r.h+=Math.max(60,.1*r.h),{nodes:g,edges:h,box:r,labels:s,cut:Math.max(0,a.length-b.length)}},[a,d]),w=s||(e?.kind==="company"?e.key:null),x=e?.kind==="industry"?e.key:null,z=(0,c.useMemo)(()=>{if(!w)return null;let a=new Set([w]);for(let b of v.edges)b.source.id===w&&a.add(b.target.id),b.target.id===w&&a.add(b.source.id);return a},[w,v]),A=(0,c.useMemo)(()=>new Set(v.nodes.slice(0,28).map(a=>a.id)),[v]);return(0,b.jsxs)("div",{ref:i,style:{flex:1,minHeight:360,position:"relative"},onClick:h,children:[o>0&&(0,b.jsxs)("svg",{width:o,height:r,viewBox:`${v.box.x} ${v.box.y} ${v.box.w} ${v.box.h}`,style:{display:"block"},children:[(0,b.jsx)("g",{children:v.edges.map((a,c)=>{let d=w&&(a.source.id===w||a.target.id===w);return(0,b.jsx)("line",{x1:a.source.x,y1:a.source.y,x2:a.target.x,y2:a.target.y,stroke:d?"#FF6B35":"#8fa6c0",strokeOpacity:d?.8:w?.04:.14,strokeWidth:d?1+Math.log2(1+a.weight):.4+.5*Math.log2(1+a.weight)},c)})}),v.labels.map(a=>(0,b.jsx)("text",{x:a.x,y:a.y,textAnchor:a.anchor,fontSize:13,fontWeight:800,fill:a.ind.color,opacity:x&&x!==a.key?.25:.85,style:{cursor:"pointer"},onClick:b=>{b.stopPropagation(),g(a.key)},children:a.ind.label},a.key)),v.nodes.map(a=>{let c=z&&!z.has(a.id)||x&&a.co.industry.key!==x,d=e?.kind==="company"&&e.key===a.id;return(0,b.jsxs)("g",{transform:`translate(${a.x},${a.y})`,style:{cursor:"pointer"},opacity:c?.18:1,onMouseEnter:()=>u(a.id),onMouseLeave:()=>u(null),onClick:b=>{b.stopPropagation(),f(a.id)},children:[(0,b.jsx)("title",{children:`${a.co.name} \xb7 ${a.co.industry.label} (inferred)
|
|
2
|
+
${a.co.d1} you know \xb7 ${a.co.d2} reachable${a.co.d3?` \xb7 ${a.co.d3} further`:""}`}),(0,b.jsx)("circle",{r:a.r,fill:a.co.industry.color,fillOpacity:.75,stroke:d?"#fff":a.co.S?q.S:"rgba(0,0,0,0.35)",strokeWidth:d?2.5:a.co.S?1.5:.6}),a.co.d1>0&&(0,b.jsx)("circle",{r:a.r*Math.sqrt(a.co.d1/Math.max(1,a.co.people.length)),fill:"#fff",fillOpacity:.35}),(A.has(a.id)||a.id===w||d)&&(0,b.jsx)("text",{y:a.r+11,textAnchor:"middle",fontSize:10,fill:"#e6edf0",style:{pointerEvents:"none"},children:a.co.name})]},a.id)})]}),(0,b.jsxs)("div",{style:{position:"absolute",left:12,bottom:10,fontSize:11,color:"#778",lineHeight:1.6,pointerEvents:"none"},children:["Bubble = a company, sized by your people there; white centre = the share you already know; gold ring = an S-tier person inside.",(0,b.jsx)("br",{}),"A line = one of your connections at one company knows people at the other.",v.cut?` Showing the 140 largest; ${v.cut} smaller companies are in Industries.`:""]})]})}function z({parts:a,total:c}){return(0,b.jsx)("div",{style:{display:"flex",height:6,borderRadius:3,overflow:"hidden",background:"rgba(255,255,255,0.06)"},children:a.map(([a,d],e)=>(0,b.jsx)("div",{style:{width:`${a/Math.max(1,c)*100}%`,background:d}},e))})}function A({industries:a,index:d,d1:e,d2:f,onIndustry:g,onCompany:h}){let i=(0,c.useMemo)(()=>{let a=new Map(e.map(a=>[a.id,a])),b=new Map;for(let a of f){let c=(0,p.companyOf)(a),e=c?d.get(c)?.industry.key:(0,p.industryOf)(null,a.headline).key;if(!e)continue;let f=b.get(e)||new Map;f.set(a.source_connection_id,(f.get(a.source_connection_id)||0)+1),b.set(e,f)}let c=new Map;for(let[d,e]of b){let[b,f]=[...e.entries()].sort((a,b)=>b[1]-a[1])[0]||[];a.get(b)&&c.set(d,{bridge:a.get(b),n:f})}return c},[d,e,f]);return(0,b.jsx)("div",{style:{flex:1,overflow:"auto",padding:16},children:(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(280px, 1fr))",gap:12},children:a.map(a=>{let c=a.people.filter(a=>1===a.degree).length,d=a.people.filter(a=>2===a.degree).length,e=a.people.filter(a=>(0,p.isSenior)(a.headline)).length,f=a.people.filter(a=>"S"===a.tier).length,j=[...a.companies.entries()].sort((a,b)=>b[1]-a[1]).slice(0,3),k=i.get(a.key);return(0,b.jsxs)("div",{onClick:()=>g(a.key),style:{padding:14,borderRadius:10,border:r,borderTop:`3px solid ${a.color}`,background:"rgba(255,255,255,0.03)",cursor:"pointer"},children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline"},children:[(0,b.jsx)("b",{style:{fontSize:14,color:a.color},children:a.label}),(0,b.jsx)("span",{style:{fontSize:20,fontWeight:800},children:a.people.length})]}),(0,b.jsxs)("div",{style:{fontSize:11.5,color:"#8b9a9a",margin:"4px 0 6px"},children:[c," you know · ",d," reachable · ",a.companies.size," companies · ",e," director+ · ",f," S-tier"]}),(0,b.jsx)(z,{total:a.people.length,parts:[[c,"#00ff88"],[d,"#FF6B35"]]}),j.length>0&&(0,b.jsx)("div",{style:{marginTop:8,display:"flex",gap:6,flexWrap:"wrap"},children:j.map(([a,c])=>(0,b.jsxs)("button",{onClick:b=>{b.stopPropagation(),h(a)},style:{padding:"2px 8px",borderRadius:10,border:r,background:"rgba(255,255,255,0.05)",color:"#dfe6e9",fontSize:11,cursor:"pointer"},children:[a," ",(0,b.jsx)("span",{style:{color:"#778"},children:c})]},a))}),k&&(0,b.jsxs)("div",{style:{marginTop:8,fontSize:11.5,color:"#aab7b7"},children:["Best way in: ",(0,b.jsx)("b",{style:{color:q[k.bridge.tier]||"#ccc"},children:k.bridge.name})," knows ",k.n," here"]})]},a.key)})})})}function B({p:a,note:c}){return(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"5px 0",fontSize:12.5},children:[(0,b.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:q[a.tier]||"#667",flexShrink:0}}),(0,b.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,b.jsx)("div",{style:{fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,b.jsx)("div",{style:{fontSize:11,color:"#8b9a9a",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c||a.headline})]})]})}function C({focus:a,data:d,index:e,links:f,d1:g,d2:h,filters:i,onClose:j,onCompany:k,onOpenCompany:l}){let m,n,o,q="company"===a.kind,s=d.people.filter(a=>v(a,i)),t=(0,c.useMemo)(()=>{let a=new Map;for(let b of s){let c=(0,p.getSeniority)(b.headline);a.set(c.label,{n:(a.get(c.label)?.n||0)+1,level:c.level})}return[...a.entries()].sort((a,b)=>b[1].level-a[1].level)},[s]),u=(0,c.useMemo)(()=>q?(0,p.waysInto)(d.name,g,h):null,[q,d,g,h]),w=(0,c.useMemo)(()=>q?f.filter(a=>a.a===d.name||a.b===d.name).map(a=>({name:a.a===d.name?a.b:a.a,weight:a.weight})).sort((a,b)=>b.weight-a.weight).slice(0,8):[],[q,f,d]),x=[...s].sort((a,b)=>(Number(b.power_score)||0)-(Number(a.power_score)||0)).slice(0,6),y=q?d.industry:d,A=s.filter(a=>1===a.degree).length,F=s.filter(a=>2===a.degree).length,G=q?[]:[...d.companies.entries()].sort((a,b)=>b[1]-a[1]).slice(0,10);return(0,b.jsxs)("aside",{style:{width:360,flexShrink:0,borderLeft:r,overflow:"auto",padding:16,background:"rgba(255,255,255,0.02)"},children:[(0,b.jsx)("button",{onClick:j,style:{background:"none",border:"none",color:"#888",cursor:"pointer",fontSize:12,padding:0},children:"✕ Close"}),(0,b.jsxs)("div",{style:{fontSize:10,letterSpacing:1,color:"#8b9a9a",marginTop:8},children:[q?"COMPANY":"INDUSTRY"," ANALYZER"]}),(0,b.jsx)("h2",{style:{margin:"4px 0 6px",fontSize:20},children:q?d.name:d.label}),(0,b.jsxs)("span",{style:{fontSize:11,padding:"2px 8px",borderRadius:10,background:`${y.color}22`,color:y.color},children:[y.label,q?" · inferred":""]}),q&&(0,b.jsx)(E,{name:d.name}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:8,margin:"14px 0"},children:[[A,"you know","#00ff88"],[F,"reachable","#FF6B35"],[s.filter(a=>(0,p.isSenior)(a.headline)).length,"director+","#FFD700"]].map(([a,c,d])=>(0,b.jsxs)("div",{style:{padding:8,borderRadius:8,background:"rgba(255,255,255,0.04)",textAlign:"center"},children:[(0,b.jsx)("div",{style:{fontSize:20,fontWeight:800,color:d},children:a}),(0,b.jsx)("div",{style:{fontSize:10.5,color:"#8b9a9a"},children:c})]},c))}),(0,b.jsx)(D,{title:"By level",children:t.map(([a,{n:c}])=>(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"110px 1fr 28px",gap:8,alignItems:"center",fontSize:11.5,marginBottom:4},children:[(0,b.jsx)("span",{style:{color:"#aab7b7"},children:a}),(0,b.jsx)(z,{total:s.length,parts:[[c,"#3498DB"]]}),(0,b.jsx)("span",{style:{color:"#778",textAlign:"right"},children:c})]},a))}),q&&u&&(0,b.jsxs)(D,{title:"Ways in",children:[u.direct.length>0&&(0,b.jsxs)("div",{style:{fontSize:11,color:"#00ff88",margin:"2px 0"},children:["You already know ",u.direct.length," here"]}),(m=new Map(u.bridges.map(({bridge:a,n:b})=>[a.id,b])),n=[...u.direct].sort((a,b)=>(m.get(b.id)||0)-(m.get(a.id)||0)).slice(0,4),o=new Set(u.direct.map(a=>a.id)),(0,b.jsxs)(b.Fragment,{children:[n.map(a=>(0,b.jsx)(B,{p:a,note:m.get(a.id)?`works here \xb7 knows ${m.get(a.id)} here`:`works here \xb7 ${a.headline||""}`},a.id)),u.bridges.filter(({bridge:a})=>!o.has(a.id)).slice(0,5).map(({bridge:a,n:c})=>(0,b.jsx)(B,{p:a,note:`knows ${c} ${1===c?"person":"people"} here`},a.id))]})),!u.direct.length&&!u.bridges.length&&(0,b.jsx)("div",{style:{fontSize:12,color:"#778"},children:"No one you know links here yet."})]}),(0,b.jsx)(D,{title:q?"Most powerful people here":"Most powerful people in this industry",children:x.map(a=>(0,b.jsx)(B,{p:a,note:`${1===a.degree?"you know them":2===a.degree?"2nd degree":"3rd+"} \xb7 ${a.headline||""}`},a.id))}),q&&w.length>0&&(0,b.jsx)(D,{title:"Connected companies",children:(0,b.jsx)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:w.map(a=>(0,b.jsxs)("button",{onClick:()=>k(a.name),style:{padding:"3px 9px",borderRadius:10,border:r,background:`${e.get(a.name)?.industry.color||"#666"}22`,color:"#dfe6e9",fontSize:11.5,cursor:"pointer"},children:[a.name," ",(0,b.jsx)("span",{style:{color:"#778"},children:a.weight})]},a.name))})}),!q&&(0,b.jsx)(D,{title:"Companies",children:G.map(([a,c])=>(0,b.jsxs)("div",{onClick:()=>k(a),style:{display:"grid",gridTemplateColumns:"1fr 60px 24px",gap:8,alignItems:"center",fontSize:12,padding:"3px 0",cursor:"pointer"},children:[(0,b.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),(0,b.jsx)(z,{total:G[0][1],parts:[[c,y.color]]}),(0,b.jsx)("span",{style:{color:"#778",textAlign:"right"},children:c})]},a))}),q&&l&&(0,b.jsxs)("button",{onClick:()=>l(d),style:{marginTop:14,width:"100%",padding:"10px",borderRadius:8,border:"none",cursor:"pointer",fontWeight:700,background:"linear-gradient(135deg, #00ff88, #3498DB)",color:"#000"},children:["Path to the top of ",d.name," →"]})]})}function D({title:a,children:c}){return(0,b.jsxs)("div",{style:{marginTop:14},children:[(0,b.jsx)("div",{style:{fontSize:10.5,letterSpacing:.8,color:"#8b9a9a",fontWeight:700,marginBottom:6},children:a.toUpperCase()}),c]})}function E({name:a}){let{companies:c,setScore:d}=(0,o.useCompanyScores)(),e=c?.find(b=>b.name===a);if(!e)return null;let f={yours:"your score",known:"known list",network:"estimated",default:"unknown company"}[e.source];return(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:10,fontSize:12,color:"#aab7b7"},children:["Company score ",(0,b.jsx)("b",{style:{color:"#fff",fontSize:15},children:e.score}),"/10 · ",f,(0,b.jsx)("span",{style:{marginLeft:"auto"},children:(0,b.jsx)(o.ScorePicker,{company:e,onSet:d,compact:!0})})]})}var F=a.i(75857),G=a.i(61782),H=a.i(38246),I=a.i(56377);let J=[["map","Map"],["industries","Industries"],["companies","Companies"]];function K(){let{userId:a}=(0,F.useUser)(),[i,j]=(0,c.useState)([]),[k,l]=(0,c.useState)(null),[m,n]=(0,c.useState)([]),[o,q]=(0,c.useState)(!0),[r,s]=(0,c.useState)([]),[t,u]=(0,c.useState)([]),[v,x]=(0,c.useState)([]),y=(0,d.useSearchParams)().get("tab"),[z,A]=(0,c.useState)(()=>J.some(([a])=>a===y)?y:"map"),B=(0,d.useRouter)();(0,c.useEffect)(()=>{"scores"===y&&B.replace("/scores#companies")},[y,B]);let[C,D]=(0,c.useState)(0);(0,c.useEffect)(()=>{!g.IS_DEMO&&a&&b();async function b(){let b=(0,h.hasCsvNetwork)()?(0,h.loadCsvNetwork)():null,c=[],d=[],e=[];if(b)c=b.degree1,d=b.degree2||[];else{let b=await (0,f.loadNetwork)(a);c=b.degree1,d=b.degree2,e=b.degree3}s(c),u(d),x(e||[]);let g={},i=new Set;[...c,...d,...e].forEach(a=>{if(i.has(a.profile_url))return;i.add(a.profile_url);let b=(0,p.companyOf)(a);b&&(g[b]||(g[b]={name:b,d1:0,d2:0,d3:0,sCount:0,aCount:0,people:[]}),1===a.degree?g[b].d1++:2===a.degree?g[b].d2++:g[b].d3++,"S"===a.tier&&g[b].sCount++,"A"===a.tier&&g[b].aCount++,g[b].people.push(a))}),j(Object.values(g).filter(a=>a.d1+a.d2+a.d3>=3).sort((a,b)=>3*b.sCount+2*b.aCount+b.d1+b.d2+b.d3-(3*a.sCount+2*a.aCount+a.d1+a.d2+a.d3))),q(!1)}},[a,C]);let[E,I]=(0,c.useState)(!1),[K,M]=(0,c.useState)([]),N=(0,G.default)(),O=!E&&N.running?(0,e.busyReason)(N):null;function P(a){let b=new Set(r.map(a=>a.profile_url)),c=new Set([...r,...t].map(a=>a.profile_url));return a.map(d=>({...d,connected:b.has(d.profile_url||d.profileUrl),known:c.has(d.profile_url||d.profileUrl),seniority:(0,p.getSeniority)(d.headline),mutualCount:a.filter(a=>b.has(a.profile_url||a.profileUrl)&&a.id!==d.id).length}))}function Q(a){l(a),n(P(a.people))}async function R(){if(g.IS_DEMO||!k)return;let a=!1;try{a="1"===localStorage.getItem("six-degrees-company-scan-ok")}catch{}if(!a){if(!window.confirm("Company scans are experimental: they have not been tested against live LinkedIn yet, so the results may be incomplete. Like any scan, it opens a Chrome window and counts toward the profile views LinkedIn watches.\n\nRun it anyway?"))return;try{localStorage.setItem("six-degrees-company-scan-ok","1")}catch{}}I(!0),M(["Checking the scanner..."]);let b=(0,e.notReadyMessage)(await (0,e.scraperStatus)().catch(()=>null));if(b){M([b]),I(!1);return}try{let a=await (0,e.runScrape)("company",{name:k.name,onLog:M});if(0===a.exitCode){M(a=>[...a,"Loading the new people..."]);let a=await fetch(`/api/connections?scanned_company=${encodeURIComponent(k.name)}&limit=500`),b=(await a.json()).connections||[];b.length?(n(P(b)),M(a=>[...a,`${b.length} people at ${k.name}.`])):M(a=>[...a,"Nothing new was found."])}}catch(a){M([a.message||"Failed to start the scan"])}finally{I(!1)}}let S={},T=0;m.forEach(a=>{let b=a.seniority.key;S[b]||(S[b]={...a.seniority,people:[]}),a.connected&&T++;let c=Math.min(90,12*a.mutualCount);a.seniority.level<=1?c+=20:a.seniority.level<=2?c+=10:a.seniority.level>=5&&(c-=10),c=Math.max(5,Math.min(95,c)),a.connected&&(c=100);let d=null;if(2===a.degree&&a.source_connection_id){let b=r.find(b=>b.id===a.source_connection_id);b&&(d=b.name)}let e={0:5,1:10,2:20,3:35,4:50,5:75,6:100}[a.seniority.level]||10;S[b].people.push({...a,likelihood:c,bridgeName:d,xp:e})}),Object.values(S).forEach(a=>a.people.sort((a,b)=>b.likelihood-a.likelihood));let U=Object.values(S).sort((a,b)=>b.level-a.level);return g.IS_DEMO?(0,b.jsxs)("div",{style:{minHeight:"100vh",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,background:"#0a0a1a",color:"rgba(255,255,255,0.7)",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},children:[(0,b.jsx)("h1",{style:{fontSize:20,fontWeight:700,margin:0,color:"#fff"},children:"Not part of the demo"}),(0,b.jsx)("p",{style:{fontSize:13,margin:0},children:"The public demo includes the Network Circle and Degrees views only."}),(0,b.jsx)(H.default,{href:"/",style:{fontSize:13,color:"#888",textDecoration:"none"},children:"← Back to the network"})]}):o?(0,b.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff"},children:"Loading..."}):(0,b.jsxs)("div",{style:{height:"100vh",background:"#0a0a1a",color:"#fff",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,b.jsx)("header",{style:{padding:"14px 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",flexShrink:0},children:(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12},children:[(0,b.jsxs)(H.default,{href:"/",style:{display:"flex",alignItems:"center",gap:6,color:"#888",textDecoration:"none",fontSize:13,fontWeight:600,padding:"6px 14px",borderRadius:6,background:"rgba(255,255,255,0.06)",border:"1px solid rgba(255,255,255,0.1)"},children:[(0,b.jsx)("span",{style:{fontSize:16},children:"←"})," Map"]}),(0,b.jsx)("h1",{style:{fontSize:20,fontWeight:700,margin:0,background:"linear-gradient(135deg, #00ff88, #3498DB)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Paths"}),!k&&(0,b.jsx)("div",{style:{display:"flex",gap:4,marginLeft:8,padding:3,borderRadius:8,background:"rgba(255,255,255,0.05)"},children:J.map(([a,c])=>(0,b.jsx)("button",{onClick:()=>A(a),style:{padding:"5px 12px",borderRadius:6,border:"none",cursor:"pointer",fontSize:12.5,fontWeight:700,background:z===a?"linear-gradient(135deg, #00ff88, #3498DB)":"transparent",color:z===a?"#000":"#aab"},children:c},a))}),k&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{onClick:()=>{l(null),n([])},style:{background:"none",border:"none",color:"#888",cursor:"pointer",fontSize:12},children:"← Companies"}),(0,b.jsx)("span",{style:{fontSize:13,fontWeight:600},children:k.name}),(0,b.jsxs)("span",{style:{fontSize:11,color:"#888"},children:[T,"/",m.length," connected"]}),(0,b.jsx)("button",{onClick:R,disabled:E||!!O,title:O?`${O}. One scan at a time.`:void 0,style:{marginLeft:"auto",padding:"5px 12px",borderRadius:6,border:"none",cursor:E||O?"not-allowed":"pointer",background:E||O?"#333":"rgba(0,255,136,0.15)",color:E||O?"#555":"#00ff88",fontSize:11,fontWeight:600},children:E?"Scanning...":O?"Scanner busy":"+ Scan Full Company"}),(0,b.jsx)("span",{title:"Not yet tested against live LinkedIn. Results may be incomplete.",style:{fontSize:9.5,fontWeight:800,letterSpacing:.6,padding:"3px 7px",borderRadius:20,border:"1px solid rgba(255,215,0,0.45)",color:"#FFD700"},children:"EXPERIMENTAL"})]})]})}),k||"companies"===z?(0,b.jsx)("div",{style:{flex:1,overflow:"auto",padding:"16px 24px"},children:(0,b.jsxs)("div",{style:{maxWidth:700,margin:"0 auto"},children:[!k&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("p",{style:{fontSize:13,color:"#888",marginBottom:16},children:["Pick a company to see your path to the top. Based on ",r.length+t.length," people in your network."]}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:10},children:i.slice(0,60).map(a=>(0,b.jsxs)("button",{onClick:()=>Q(a),style:{padding:"14px",borderRadius:10,border:"none",cursor:"pointer",textAlign:"left",background:"rgba(255,255,255,0.04)",transition:"background 0.15s",borderLeft:`3px solid ${a.sCount>0?"#FFD700":a.aCount>0?"#9B59B6":"#3498DB"}`},onMouseEnter:a=>a.currentTarget.style.background="rgba(255,255,255,0.08)",onMouseLeave:a=>a.currentTarget.style.background="rgba(255,255,255,0.04)",children:[(0,b.jsx)("div",{style:{fontSize:14,fontWeight:700,color:"#fff",marginBottom:4},children:a.name}),(0,b.jsxs)("div",{style:{display:"flex",gap:8,fontSize:10,color:"#888"},children:[(0,b.jsxs)("span",{style:{color:"#00ff88"},children:[a.d1," connected"]}),(0,b.jsxs)("span",{children:[a.d2+a.d3," locked"]})]}),(0,b.jsxs)("div",{style:{display:"flex",gap:6,marginTop:4,fontSize:9},children:[a.sCount>0&&(0,b.jsxs)("span",{style:{color:"#FFD700",fontWeight:600},children:[a.sCount,"S"]}),a.aCount>0&&(0,b.jsxs)("span",{style:{color:"#9B59B6",fontWeight:600},children:[a.aCount,"A"]}),(0,b.jsxs)("span",{style:{color:"#555"},children:[a.d1+a.d2," total"]})]}),(0,b.jsx)("div",{style:{height:3,background:"rgba(255,255,255,0.08)",borderRadius:2,marginTop:6},children:(0,b.jsx)("div",{style:{height:"100%",borderRadius:2,width:`${a.d1/Math.max(a.d1+a.d2+a.d3,1)*100}%`,background:a.sCount>0?"#FFD700":"#00ff88"}})})]},a.name))})]}),E&&(0,b.jsxs)("div",{style:{padding:"10px",borderRadius:8,background:"rgba(0,255,136,0.06)",border:"1px solid rgba(0,255,136,0.2)",marginBottom:12},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:4},children:[(0,b.jsx)("div",{style:{width:6,height:6,borderRadius:"50%",background:"#00ff88",animation:"pulse 1s infinite"}}),(0,b.jsx)("span",{style:{fontSize:10,fontWeight:600,color:"#00ff88"},children:"Scanning LinkedIn..."})]}),(0,b.jsx)("div",{style:{fontFamily:"monospace",fontSize:9,color:"#777",maxHeight:60,overflow:"auto"},children:K.map((a,c)=>(0,b.jsx)("div",{children:a},c))})]}),k&&U.map(a=>(0,b.jsxs)("div",{style:{marginBottom:16},children:[(0,b.jsxs)("div",{style:{padding:"8px 12px",borderRadius:6,marginBottom:4,background:a.level>=5?"rgba(255,215,0,0.08)":a.level>=3?"rgba(155,89,182,0.08)":"rgba(52,152,219,0.08)",borderLeft:`3px solid ${a.level>=5?"#FFD700":a.level>=3?"#9B59B6":"#3498DB"}`,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{style:{fontSize:12,fontWeight:700,color:a.level>=5?"#FFD700":a.level>=3?"#9B59B6":"#3498DB"},children:a.label}),a.level>=5&&(0,b.jsx)("span",{style:{fontSize:9,color:"#FF6B35",marginLeft:8,fontWeight:700},children:"TARGET"})]}),(0,b.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:[(0,b.jsxs)("span",{style:{fontSize:9,color:"#FF6B35",fontWeight:600},children:["+",a.people.filter(a=>!a.connected).reduce((a,b)=>a+(b.xp||0),0)," XP"]}),(0,b.jsxs)("span",{style:{fontSize:10,color:"#666"},children:[a.people.filter(a=>a.connected).length,"/",a.people.length]})]})]}),a.people.map((c,d)=>(0,b.jsx)(L,{p:c,level:a,companyPeople:m,d1Data:r,selectedCompany:k},c.id||d))]},a.key))]})}):(0,b.jsx)(w,{d1:r,d2:t,d3:v,tab:z,onOpenCompany:a=>Q({...a,sCount:a.S,aCount:a.A})})]})}function L({p:a,level:d,companyPeople:e,d1Data:f,selectedCompany:g}){let[h,i]=(0,c.useState)(!1),j=new Set(f.map(a=>a.profile_url));e.filter(a=>j.has(a.profile_url||a.profileUrl));let k=e.filter(b=>(0,p.getSeniority)(b.headline).level>a.seniority.level&&!j.has(b.profile_url||b.profileUrl)),l=e.filter(b=>(0,p.getSeniority)(b.headline).level===a.seniority.level&&b.id!==a.id),m=[];if(!a.connected){let b=k.length;b>0&&m.push({icon:"⬆️",text:`Adding them gives you a mutual with ${b} people above in the hierarchy`,color:"#00ff88"});let c=l.filter(a=>j.has(a.profile_url||a.profileUrl)).length;c>0?m.push({icon:"🤝",text:`${c} people at their level already connected — high social proof`,color:"#FFD700"}):m.push({icon:"🎯",text:"First connection at this level — opens a new layer",color:"#3498DB"}),a.bridgeName&&m.push({icon:"🔗",text:`Reachable through ${a.bridgeName} — warm intro possible`,color:"#FF6B35"}),a.seniority.level>=5?m.push({icon:"👑",text:`${a.seniority.label} — decision maker, high strategic value but low accept rate`,color:"#FFD700"}):a.seniority.level>=3?m.push({icon:"📊",text:`${a.seniority.label} — middle management, good balance of access and accept rate`,color:"#9B59B6"}):m.push({icon:"✅",text:`${a.seniority.label} — highest accept rate, builds mutual foundation for people above`,color:"#00ff88"}),a.likelihood>=60?m.push({icon:"🔥",text:`${a.likelihood}% likely to accept — strong mutual overlap + approachable role`,color:"#00ff88"}):a.likelihood>=30?m.push({icon:"⚡",text:`${a.likelihood}% likely — moderate chance, add more people at their level first`,color:"#FFD700"}):m.push({icon:"🔒",text:`${a.likelihood}% likely — low chance right now, build more connections below them first`,color:"#ff5050"})}return(0,b.jsxs)("div",{style:{borderBottom:"1px solid rgba(255,255,255,0.03)"},children:[(0,b.jsxs)("div",{onClick:()=>i(!h),style:{display:"flex",alignItems:"center",gap:8,padding:"6px 8px",cursor:"pointer",opacity:a.connected?.7:1},onMouseEnter:a=>a.currentTarget.style.background="rgba(255,255,255,0.04)",onMouseLeave:a=>a.currentTarget.style.background="transparent",children:[(0,b.jsx)("span",{style:{fontSize:8,color:"#555",flexShrink:0,width:10},children:h?"▾":"▸"}),(0,b.jsx)("div",{style:{width:18,height:18,borderRadius:"50%",flexShrink:0,fontSize:8,display:"flex",alignItems:"center",justifyContent:"center",background:a.connected?"rgba(0,255,136,0.2)":"rgba(255,255,255,0.05)",color:a.connected?"#00ff88":"#555",border:`1px solid ${a.connected?"rgba(0,255,136,0.3)":"rgba(255,255,255,0.1)"}`},children:a.connected?"✓":"🔒"}),(0,I.localPhoto)(a.profile_image_url||a.imageUrl)?(0,b.jsx)("img",{src:(0,I.localPhoto)(a.profile_image_url||a.imageUrl),alt:"",style:{width:26,height:26,borderRadius:"50%",objectFit:"cover",flexShrink:0},onError:a=>a.target.style.display="none"}):(0,b.jsx)("div",{style:{width:26,height:26,borderRadius:"50%",flexShrink:0,fontSize:10,fontWeight:700,background:"#333",color:"#888",display:"flex",alignItems:"center",justifyContent:"center"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:11,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,b.jsx)("div",{style:{fontSize:8,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.headline?.substring(0,45)})]}),!a.connected&&a.bridgeName&&(0,b.jsxs)("span",{style:{fontSize:8,color:"#FF6B35",flexShrink:0,maxWidth:55,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:["via ",a.bridgeName.split(" ")[0]]}),!a.connected&&(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,flexShrink:0},children:[(0,b.jsxs)("span",{style:{fontSize:8,fontWeight:700,color:"#FF6B35"},children:["+",a.xp]}),(0,b.jsxs)("div",{style:{fontSize:9,fontWeight:700,minWidth:30,textAlign:"right",color:a.likelihood>=60?"#00ff88":a.likelihood>=30?"#FFD700":"#ff5050"},children:[a.likelihood,"%"]})]}),!a.connected&&(0,b.jsx)("a",{href:a.profile_url||a.profileUrl,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),style:{padding:"3px 7px",borderRadius:4,fontSize:8,fontWeight:700,background:"#0077B5",color:"#fff",textDecoration:"none",flexShrink:0},children:"Add"})]}),h&&(0,b.jsxs)("div",{style:{padding:"8px 12px 10px 44px",background:"rgba(255,255,255,0.02)",borderTop:"1px solid rgba(255,255,255,0.04)"},children:[(0,b.jsx)("div",{style:{fontSize:11,color:"#aaa",marginBottom:8},children:a.headline||"No headline available"}),(0,b.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"center",marginBottom:8,flexWrap:"wrap"},children:[(0,b.jsxs)("div",{style:{display:"inline-block",padding:"2px 8px",borderRadius:4,fontSize:9,fontWeight:600,background:a.seniority.level>=5?"rgba(255,215,0,0.1)":a.seniority.level>=3?"rgba(155,89,182,0.1)":"rgba(52,152,219,0.1)",color:a.seniority.level>=5?"#FFD700":a.seniority.level>=3?"#9B59B6":"#3498DB",border:`1px solid ${a.seniority.level>=5?"rgba(255,215,0,0.2)":a.seniority.level>=3?"rgba(155,89,182,0.2)":"rgba(52,152,219,0.2)"}`},children:[a.seniority.label," · Level ",a.seniority.level]}),!a.connected&&(0,b.jsxs)("div",{style:{display:"inline-block",padding:"2px 8px",borderRadius:4,fontSize:9,fontWeight:700,background:"rgba(255,107,53,0.1)",color:"#FF6B35",border:"1px solid rgba(255,107,53,0.2)"},children:["+",a.xp," XP"]})]}),!a.connected&&m.length>0&&(0,b.jsxs)("div",{style:{marginTop:4},children:[(0,b.jsx)("div",{style:{fontSize:9,fontWeight:700,color:"#888",letterSpacing:.5,marginBottom:4},children:"STRATEGIC VALUE"}),m.map((a,c)=>(0,b.jsxs)("div",{style:{display:"flex",gap:6,alignItems:"flex-start",padding:"2px 0",fontSize:10,color:"#bbb"},children:[(0,b.jsx)("span",{style:{fontSize:11,lineHeight:1},children:a.icon}),(0,b.jsx)("span",{style:{color:a.color},children:a.text})]},c))]}),a.connected&&(0,b.jsxs)("div",{style:{fontSize:10,color:"#00ff88",fontWeight:600},children:["✓ Already connected — contributes as mutual for others at ",g?.name]})]})]})}a.s(["default",0,function(){return(0,b.jsx)(i.default,{children:(0,b.jsx)(c.Suspense,{children:(0,b.jsx)(K,{})})})}],90195)}];
|
|
3
|
+
|
|
4
|
+
//# sourceMappingURL=app_paths_page_1ol90m7.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[79243,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(23310),e=a.i(76939);let f={height:10,borderRadius:6},g={background:"rgba(52,152,219,0.06)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(52,152,219,0.2)"};function h({degree1:a=[],degree2:c=[],skips:d=[]}){let j=function(a=[],b=[],c=[]){let d=new Set(b.map(a=>a.source_connection_id).filter(Boolean)),e=new Set(c.map(a=>a.profileUrl).filter(Boolean)),f=a=>d.has(a.id)?"mapped":a.profile_url&&e.has(a.profile_url)?"hidden":"todo",g={mapped:0,hidden:0,todo:0},h={};for(let b of a){let a=f(b);g[a]+=1;let c=b.tier||"D";h[c]=h[c]||{mapped:0,hidden:0,todo:0,total:0},h[c][a]+=1,h[c].total+=1}let i=a.length,j=g.mapped+g.hidden;return{...g,total:i,resolved:j,percent:i?Math.round(j/i*100):0,batches:Math.ceil(g.todo/25),byTier:h}}(a,c,d);if(!j.total)return null;let k=a=>j.total?a/j.total*100:0,l=0===j.todo;return(0,b.jsxs)("div",{style:g,children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",marginBottom:10},children:[(0,b.jsx)("h3",{style:{fontSize:14,fontWeight:700,margin:0,color:"#3498DB"},children:"2nd-degree mapping"}),(0,b.jsx)("span",{style:{fontSize:12,color:l?"#00ff88":"#8b9a9a",fontWeight:600},children:l?"Everything reachable is mapped":`${j.percent}%`})]}),(0,b.jsxs)("div",{style:{...f,display:"flex",overflow:"hidden",background:"rgba(255,255,255,0.06)"},children:[(0,b.jsx)("div",{style:{width:`${k(j.mapped)}%`,background:"#00ff88"}}),(0,b.jsx)("div",{style:{width:`${k(j.hidden)}%`,background:"rgba(255,255,255,0.22)"}})]}),(0,b.jsxs)("div",{style:{display:"flex",gap:16,marginTop:10,fontSize:12,flexWrap:"wrap"},children:[(0,b.jsx)(i,{color:"#00ff88",label:"mapped",value:j.mapped}),(0,b.jsx)(i,{color:"rgba(255,255,255,0.35)",label:"hidden",value:j.hidden}),(0,b.jsx)(i,{color:"rgba(255,255,255,0.12)",label:"to go",value:j.todo}),(0,b.jsxs)("span",{style:{color:"#667",marginLeft:"auto"},children:["of ",j.total]})]}),j.hidden>0&&(0,b.jsx)("p",{style:{fontSize:11.5,color:"#667",margin:"10px 0 0",lineHeight:1.6},children:"Hidden means they keep their connections private — that will not change, and it does not count against you."}),!l&&(0,b.jsxs)("p",{style:{fontSize:11.5,color:"#8b9a9a",margin:"10px 0 0",lineHeight:1.6},children:[j.todo," left — about ",(0,b.jsxs)("b",{children:[j.batches," ",1===j.batches?"batch":"batches"]})," of ",25,". Run one, leave it a while, run another. Long unbroken runs are what gets an account restricted."]}),(0,b.jsx)("div",{style:{marginTop:16,display:"flex",flexDirection:"column",gap:7},children:["S","A","B","C","D"].filter(a=>j.byTier[a]?.total).map(a=>{let c=j.byTier[a];return(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,fontSize:11},children:[(0,b.jsx)("span",{style:{width:14,color:e.TIER_COLORS_CLASSIC[a],fontWeight:700},children:a}),(0,b.jsxs)("div",{style:{flex:1,height:5,borderRadius:3,display:"flex",overflow:"hidden",background:"rgba(255,255,255,0.06)"},children:[(0,b.jsx)("div",{style:{width:`${c.mapped/c.total*100}%`,background:e.TIER_COLORS_CLASSIC[a]}}),(0,b.jsx)("div",{style:{width:`${c.hidden/c.total*100}%`,background:"rgba(255,255,255,0.22)"}})]}),(0,b.jsxs)("span",{style:{color:"#667",width:62,textAlign:"right"},children:[c.mapped,"/",c.total]})]},a)})})]})}function i({color:a,label:c,value:d}){return(0,b.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:6,color:"#8b9a9a"},children:[(0,b.jsx)("span",{style:{width:8,height:8,borderRadius:2,background:a}}),(0,b.jsx)("b",{style:{color:"#e2e8f0"},children:d})," ",c]})}var j=a.i(58834),k=a.i(36839),l=a.i(75857),m=a.i(54919),n=a.i(38246);let o={1:"Observer",11:"Connector",31:"Networker",51:"Strategist",76:"Architect"};function p(){let{userId:a,userName:e,userProfile:f}=(0,l.useUser)(),g=f||{name:e||"User",headline:"",sectors:[],goals:[]},[i,k]=(0,c.useState)(null),[p,r]=(0,c.useState)(!0),[s,t]=(0,c.useState)([]),[u,v]=(0,c.useState)({total:0,sent:0,accepted:0}),[w,x]=(0,c.useState)({degree1:[],degree2:[],skips:[]}),[y,z]=(0,c.useState)(null);if((0,c.useEffect)(()=>{!j.IS_DEMO&&a&&b();async function b(){fetch("/api/settings").then(a=>a.json().then(b=>a.ok&&b.settings?b:Promise.reject(Error(b.error)))).then(a=>z(a.settings.sectorFocus||{sectors:[],strength:"lean"})).catch(()=>z({failed:!0}));let b=await (0,d.loadNetwork)(a),c=b.degree1,e=b.degree2,f={S:0,A:0,B:0,C:0,D:0};c.forEach(a=>{f[a.tier]=(f[a.tier]||0)+1});let g={S:0,A:0,B:0,C:0,D:0};e.forEach(a=>{g[a.tier]=(g[a.tier]||0)+1});let h=[...new Set(e.map(a=>a.source_connection_id).filter(Boolean))].length,i=c.filter(a=>a.is_catalyst).length,j={};c.forEach(a=>{a.company&&(j[a.company]=(j[a.company]||0)+1)});let l=Object.entries(j).sort((a,b)=>b[1]-a[1]).slice(0,10),m=100*f.S+40*f.A+15*f.B+5*f.C+ +f.D+200*h+150*i+50*g.S+c.length,n=Math.floor(Math.sqrt(m/10)),o=n*n*10,p=(n+1)*(n+1)*10;k({d1Count:c.length,d2Count:e.length,tiers:f,d2Tiers:g,clusters:h,catalysts:i,networkPower:m,level:n,xpProgress:(m-o)/(p-o)*100,topCompanies:l,unlockedPaths:0}),fetch("/api/scraper").then(a=>a.json()).then(a=>x({degree1:c,degree2:e,skips:a.skips||[]})).catch(()=>x({degree1:c,degree2:e,skips:[]})),fetch(`/api/notifications?userId=${a}`).then(a=>a.json()).then(a=>t(a.notifications||[])).catch(()=>{}),fetch("/api/queue").then(a=>a.json()).then(a=>{let b=a.items||[];v({total:b.length,sent:b.filter(a=>"sent"===a.status).length,accepted:b.filter(a=>"accepted"===a.status).length})}).catch(()=>{}),r(!1)}},[a]),j.IS_DEMO)return(0,b.jsxs)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"rgba(255,255,255,0.7)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,textAlign:"center",padding:24,fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},children:[(0,b.jsx)("h2",{style:{margin:0,fontSize:20,fontWeight:700,color:"#fff"},children:"Not part of the demo"}),(0,b.jsx)("p",{style:{margin:0,fontSize:13},children:"The public demo includes the Network Circle and Degrees views only."}),(0,b.jsx)(n.default,{href:"/",style:{fontSize:12,color:"rgba(255,255,255,0.5)",textDecoration:"none"},children:"← Back to the network"})]});if(p)return(0,b.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff"},children:"Loading profile..."});let A={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},B=[{label:"First S-Tier",done:i.tiers.S>0,icon:"👑"},{label:"100 Connections",done:i.d1Count>=100,icon:"🔗"},{label:"500 Connections",done:i.d1Count>=500,icon:"🌐"},{label:"First Cluster",done:i.clusters>0,icon:"🔭"},{label:"10 Clusters",done:i.clusters>=10,icon:"🏰"},{label:"50 S-Tier",done:i.tiers.S>=50,icon:"💎"},{label:"Catalyst Found",done:i.catalysts>0,icon:"⚡"},{label:"Level 25",done:i.level>=25,icon:"🎯"},{label:"Level 50",done:i.level>=50,icon:"🚀"},{label:"D2 S-Tier > 50",done:i.d2Tiers.S>=50,icon:"🌟"}];return(0,b.jsxs)("div",{style:{height:"100vh",background:"#0a0a1a",color:"#fff",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,b.jsxs)("header",{style:{padding:"16px 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",display:"flex",alignItems:"center",gap:16},children:[(0,b.jsxs)(n.default,{href:"/",style:{display:"flex",alignItems:"center",gap:6,color:"#888",textDecoration:"none",fontSize:13,fontWeight:600,padding:"6px 14px",borderRadius:6,background:"rgba(255,255,255,0.06)",border:"1px solid rgba(255,255,255,0.1)"},children:[(0,b.jsx)("span",{style:{fontSize:16},children:"←"})," Back to Map"]}),(0,b.jsx)("h1",{style:{fontSize:22,fontWeight:700,margin:0,background:"linear-gradient(135deg, #FFD700, #9B59B6, #3498DB)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Profile"})]}),(0,b.jsx)("div",{style:{flex:1,overflow:"auto",padding:"30px 20px"},children:(0,b.jsxs)("div",{style:{maxWidth:700,margin:"0 auto"},children:[(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.05)",borderRadius:16,padding:32,marginBottom:24,border:"1px solid rgba(255,215,0,0.2)",textAlign:"center"},children:[(0,b.jsx)("div",{style:{width:100,height:100,borderRadius:"50%",margin:"0 auto 16px",background:"linear-gradient(135deg, #FFD700, #FF6B35)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:36,fontWeight:800,color:"#000",boxShadow:"0 0 30px rgba(255,215,0,0.3)"},children:i.level}),(0,b.jsx)("div",{style:{fontSize:24,fontWeight:700,marginBottom:4},children:g.name}),(0,b.jsx)("div",{style:{fontSize:14,color:"#888",marginBottom:4},children:g.headline}),(0,b.jsx)("div",{style:{display:"inline-block",padding:"4px 16px",borderRadius:20,background:"rgba(255,215,0,0.15)",border:"1px solid rgba(255,215,0,0.3)",color:"#FFD700",fontSize:13,fontWeight:700,marginBottom:16},children:function(a){let b="Observer";for(let[c,d]of Object.entries(o))a>=parseInt(c)&&(b=d);return b}(i.level)}),(0,b.jsxs)("div",{style:{maxWidth:300,margin:"0 auto"},children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:10,color:"#666",marginBottom:4},children:[(0,b.jsxs)("span",{children:["Level ",i.level]}),(0,b.jsxs)("span",{children:["Level ",i.level+1]})]}),(0,b.jsx)("div",{style:{height:8,background:"rgba(255,255,255,0.1)",borderRadius:4},children:(0,b.jsx)("div",{style:{height:"100%",width:`${Math.min(i.xpProgress,100)}%`,background:"linear-gradient(90deg, #FFD700, #FF6B35)",borderRadius:4,transition:"width 1s ease"}})}),(0,b.jsxs)("div",{style:{fontSize:10,color:"#888",marginTop:4},children:["Network Power: ",i.networkPower.toLocaleString()]})]})]}),(0,b.jsx)(h,{degree1:w.degree1,degree2:w.degree2,skips:w.skips}),(0,b.jsxs)("div",{style:{background:"rgba(255,107,53,0.06)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(255,107,53,0.2)"},children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:12},children:[(0,b.jsx)("h3",{style:{fontSize:14,fontWeight:700,margin:0,color:"#FF6B35"},children:"Queue Progress"}),(0,b.jsx)(n.default,{href:"/queue",style:{fontSize:11,color:"#FF6B35",textDecoration:"none",fontWeight:600},children:"View Queue →"})]}),(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:12},children:[(0,b.jsxs)("div",{style:{textAlign:"center"},children:[(0,b.jsx)("div",{style:{fontSize:22,fontWeight:700,color:"#FFA500"},children:u.total}),(0,b.jsx)("div",{style:{fontSize:10,color:"#888"},children:"In Queue"})]}),(0,b.jsxs)("div",{style:{textAlign:"center"},children:[(0,b.jsx)("div",{style:{fontSize:22,fontWeight:700,color:"#3498DB"},children:u.sent}),(0,b.jsx)("div",{style:{fontSize:10,color:"#888"},children:"Sent"})]}),(0,b.jsxs)("div",{style:{textAlign:"center"},children:[(0,b.jsx)("div",{style:{fontSize:22,fontWeight:700,color:"#00ff88"},children:u.accepted}),(0,b.jsx)("div",{style:{fontSize:10,color:"#888"},children:"Accepted"})]})]})]}),s.length>0&&(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(255,255,255,0.08)"},children:[(0,b.jsxs)("h3",{style:{fontSize:14,fontWeight:700,marginTop:0,marginBottom:12},children:["Recent Activity (",s.filter(a=>!a.seen).length," new)"]}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6,maxHeight:200,overflowY:"auto"},children:s.slice(0,10).map(a=>(0,b.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",padding:"6px 8px",borderRadius:6,background:a.seen?"transparent":"rgba(255,215,0,0.05)",borderLeft:a.seen?"none":"2px solid #FFD700"},children:[(0,b.jsx)("span",{style:{fontSize:16},children:a.icon||"📌"}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:12,fontWeight:600,color:a.seen?"#888":"#fff"},children:a.title}),a.message&&(0,b.jsx)("div",{style:{fontSize:10,color:"#666"},children:a.message})]}),(0,b.jsx)("span",{style:{fontSize:9,color:"#555",flexShrink:0},children:new Date(a.created_at).toLocaleDateString()})]},a.id))})]}),(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:12,marginBottom:24},children:[(0,b.jsx)(q,{label:"Connections",value:i.d1Count}),(0,b.jsx)(q,{label:"Degree-2 Reach",value:i.d2Count}),(0,b.jsx)(q,{label:"Clusters",value:i.clusters}),(0,b.jsx)(q,{label:"S-Tier",value:i.tiers.S,color:"#FFD700"}),(0,b.jsx)(q,{label:"A-Tier",value:i.tiers.A,color:"#9B59B6"}),(0,b.jsx)(q,{label:"Catalysts",value:i.catalysts,color:"#00ff88"})]}),(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(255,255,255,0.08)"},children:[(0,b.jsx)("h3",{style:{fontSize:14,fontWeight:700,marginTop:0,marginBottom:12},children:"Tier Distribution"}),["S","A","B","C","D"].map(a=>{let c=i.tiers[a]||0,d=i.d1Count>0?c/i.d1Count*100:0;return(0,b.jsxs)("div",{style:{marginBottom:8},children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:11,marginBottom:2},children:[(0,b.jsxs)("span",{style:{color:A[a],fontWeight:600},children:[a,"-Tier"]}),(0,b.jsxs)("span",{style:{color:"#888"},children:[c," (",d.toFixed(1),"%)"]})]}),(0,b.jsx)("div",{style:{height:6,background:"rgba(255,255,255,0.08)",borderRadius:3},children:(0,b.jsx)("div",{style:{height:"100%",width:`${d}%`,background:A[a],borderRadius:3}})})]},a)})]}),(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(255,255,255,0.08)"},children:[(0,b.jsx)("h3",{style:{fontSize:14,fontWeight:700,marginTop:0,marginBottom:12},children:"Degree-2 Reach"}),(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{style:{fontSize:24,fontWeight:700,color:"#FF6B35"},children:i.d2Count}),(0,b.jsx)("div",{style:{fontSize:11,color:"#888"},children:"People reachable via bridges"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{style:{fontSize:24,fontWeight:700,color:"#FFD700"},children:i.d2Tiers.S}),(0,b.jsx)("div",{style:{fontSize:11,color:"#888"},children:"S-Tier degree-2"})]})]})]}),(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(255,255,255,0.08)"},children:[(0,b.jsxs)("h3",{style:{fontSize:14,fontWeight:700,marginTop:0,marginBottom:12},children:["Milestones (",B.filter(a=>a.done).length,"/",B.length,")"]}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:B.map((a,c)=>(0,b.jsxs)("div",{style:{padding:"8px 10px",borderRadius:8,fontSize:12,background:a.done?"rgba(255,215,0,0.08)":"rgba(255,255,255,0.02)",border:`1px solid ${a.done?"rgba(255,215,0,0.2)":"rgba(255,255,255,0.05)"}`,color:a.done?"#FFD700":"#555",display:"flex",alignItems:"center",gap:6},children:[(0,b.jsx)("span",{style:{fontSize:16},children:a.done?a.icon:"🔒"}),(0,b.jsx)("span",{style:{fontWeight:a.done?600:400},children:a.label})]},c))})]}),(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(255,255,255,0.08)"},children:[(0,b.jsx)("h3",{style:{fontSize:14,fontWeight:700,marginTop:0,marginBottom:12},children:"Top Companies in Your Network"}),i.topCompanies.map(([a,c],d)=>(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",padding:"4px 0",borderBottom:d<i.topCompanies.length-1?"1px solid rgba(255,255,255,0.04)":"none",fontSize:12},children:[(0,b.jsx)("span",{children:a}),(0,b.jsx)("span",{style:{color:"#888"},children:c})]},d))]}),(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:12,padding:20,border:"1px solid rgba(255,255,255,0.08)"},children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:12},children:[(0,b.jsx)("h3",{style:{fontSize:14,fontWeight:700,margin:0},children:"Your Sectors"}),(0,b.jsxs)(n.default,{href:"/settings#sector",style:{fontSize:11,color:"#3498DB",textDecoration:"none",fontWeight:600},children:[y?.sectors?.length?"Change":y&&!y.failed?"Pick in Settings":"Settings"," →"]})]}),y?y.failed?(0,b.jsx)("div",{style:{fontSize:12,color:"#ff7676"},children:"Couldn’t load your sectors. Reload this page, or open Settings to see them."}):y.sectors?.length?(0,b.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,alignItems:"center"},children:[y.sectors.map(a=>{let c=(0,m.sectorByKey)(a);return(0,b.jsx)("span",{style:{padding:"4px 12px",borderRadius:20,fontSize:11,fontWeight:600,background:`${c.color}26`,border:`1px solid ${c.color}66`,color:c.color},children:c.label},a)}),(0,b.jsxs)("span",{style:{fontSize:11,color:"#888"},children:["strong"===y.strength?"Strong":"Lean",": companies here count for more in your scores."]})]}):(0,b.jsx)("div",{style:{fontSize:12,color:"#888"},children:"None picked. Pick up to three in Settings and companies in them count for more in your scores."}):(0,b.jsx)("div",{style:{fontSize:12,color:"#888"},children:"Loading…"})]})]})})]})}function q({label:a,value:c,color:d}){return(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:10,padding:"14px 12px",border:"1px solid rgba(255,255,255,0.08)",textAlign:"center"},children:[(0,b.jsx)("div",{style:{fontSize:22,fontWeight:700,color:d||"#fff"},children:c}),(0,b.jsx)("div",{style:{fontSize:10,color:"#888",marginTop:2},children:a})]})}a.s(["default",0,function(){return(0,b.jsx)(k.default,{children:(0,b.jsx)(p,{})})}],79243)}];
|
|
1
|
+
module.exports=[79243,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(23310),e=a.i(76939),f=a.i(91443);let g={height:10,borderRadius:6},h={background:"rgba(52,152,219,0.06)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(52,152,219,0.2)"};function i({degree1:a=[],degree2:c=[],skips:d=[]}){let k=function(a=[],b=[],c=[]){let d=(0,f.reachIndex)(a,b,{skips:c}),e=a=>{let b=(0,f.circleState)(a,d);return"scanned"===b?"mapped":b},g={mapped:0,hidden:0,todo:0},h={};for(let b of a){let a=e(b);g[a]+=1;let c=b.tier||"D";h[c]=h[c]||{mapped:0,hidden:0,todo:0,total:0},h[c][a]+=1,h[c].total+=1}let i=a.length,j=g.mapped+g.hidden;return{...g,total:i,resolved:j,percent:i?Math.round(j/i*100):0,batches:Math.ceil(g.todo/25),byTier:h}}(a,c,d);if(!k.total)return null;let l=a=>k.total?a/k.total*100:0,m=0===k.todo;return(0,b.jsxs)("div",{style:h,children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",marginBottom:10},children:[(0,b.jsx)("h3",{style:{fontSize:14,fontWeight:700,margin:0,color:"#3498DB"},children:"2nd-degree mapping"}),(0,b.jsx)("span",{style:{fontSize:12,color:m?"#00ff88":"#8b9a9a",fontWeight:600},children:m?"Everything reachable is mapped":`${k.percent}%`})]}),(0,b.jsxs)("div",{style:{...g,display:"flex",overflow:"hidden",background:"rgba(255,255,255,0.06)"},children:[(0,b.jsx)("div",{style:{width:`${l(k.mapped)}%`,background:"#00ff88"}}),(0,b.jsx)("div",{style:{width:`${l(k.hidden)}%`,background:"rgba(255,255,255,0.22)"}})]}),(0,b.jsxs)("div",{style:{display:"flex",gap:16,marginTop:10,fontSize:12,flexWrap:"wrap"},children:[(0,b.jsx)(j,{color:"#00ff88",label:"mapped",value:k.mapped}),(0,b.jsx)(j,{color:"rgba(255,255,255,0.35)",label:"hidden",value:k.hidden}),(0,b.jsx)(j,{color:"rgba(255,255,255,0.12)",label:"to go",value:k.todo}),(0,b.jsxs)("span",{style:{color:"#667",marginLeft:"auto"},children:["of ",k.total]})]}),k.hidden>0&&(0,b.jsx)("p",{style:{fontSize:11.5,color:"#667",margin:"10px 0 0",lineHeight:1.6},children:"Hidden means they keep their connections private — that will not change, and it does not count against you."}),!m&&(0,b.jsxs)("p",{style:{fontSize:11.5,color:"#8b9a9a",margin:"10px 0 0",lineHeight:1.6},children:[k.todo," left — about ",(0,b.jsxs)("b",{children:[k.batches," ",1===k.batches?"batch":"batches"]})," of ",25,". Run one, leave it a while, run another. Long unbroken runs are what gets an account restricted."]}),(0,b.jsx)("div",{style:{marginTop:16,display:"flex",flexDirection:"column",gap:7},children:["S","A","B","C","D"].filter(a=>k.byTier[a]?.total).map(a=>{let c=k.byTier[a];return(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,fontSize:11},children:[(0,b.jsx)("span",{style:{width:14,color:e.TIER_COLORS_CLASSIC[a],fontWeight:700},children:a}),(0,b.jsxs)("div",{style:{flex:1,height:5,borderRadius:3,display:"flex",overflow:"hidden",background:"rgba(255,255,255,0.06)"},children:[(0,b.jsx)("div",{style:{width:`${c.mapped/c.total*100}%`,background:e.TIER_COLORS_CLASSIC[a]}}),(0,b.jsx)("div",{style:{width:`${c.hidden/c.total*100}%`,background:"rgba(255,255,255,0.22)"}})]}),(0,b.jsxs)("span",{style:{color:"#667",width:62,textAlign:"right"},children:[c.mapped,"/",c.total]})]},a)})})]})}function j({color:a,label:c,value:d}){return(0,b.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:6,color:"#8b9a9a"},children:[(0,b.jsx)("span",{style:{width:8,height:8,borderRadius:2,background:a}}),(0,b.jsx)("b",{style:{color:"#e2e8f0"},children:d})," ",c]})}var k=a.i(58834),l=a.i(36839),m=a.i(75857),n=a.i(54919),o=a.i(38246);let p={1:"Observer",11:"Connector",31:"Networker",51:"Strategist",76:"Architect"};function q(){let{userId:a,userName:e,userProfile:f}=(0,m.useUser)(),g=f||{name:e||"User",headline:"",sectors:[],goals:[]},[h,j]=(0,c.useState)(null),[l,q]=(0,c.useState)(!0),[s,t]=(0,c.useState)([]),[u,v]=(0,c.useState)({total:0,sent:0,accepted:0}),[w,x]=(0,c.useState)({degree1:[],degree2:[],skips:[]}),[y,z]=(0,c.useState)(null);if((0,c.useEffect)(()=>{!k.IS_DEMO&&a&&b();async function b(){fetch("/api/settings").then(a=>a.json().then(b=>a.ok&&b.settings?b:Promise.reject(Error(b.error)))).then(a=>z(a.settings.sectorFocus||{sectors:[],strength:"lean"})).catch(()=>z({failed:!0}));let b=await (0,d.loadNetwork)(a),c=b.degree1,e=b.degree2,f={S:0,A:0,B:0,C:0,D:0};c.forEach(a=>{f[a.tier]=(f[a.tier]||0)+1});let g={S:0,A:0,B:0,C:0,D:0};e.forEach(a=>{g[a.tier]=(g[a.tier]||0)+1});let h=[...new Set(e.map(a=>a.source_connection_id).filter(Boolean))].length,i=c.filter(a=>a.is_catalyst).length,k={};c.forEach(a=>{a.company&&(k[a.company]=(k[a.company]||0)+1)});let l=Object.entries(k).sort((a,b)=>b[1]-a[1]).slice(0,10),m=100*f.S+40*f.A+15*f.B+5*f.C+ +f.D+200*h+150*i+50*g.S+c.length,n=Math.floor(Math.sqrt(m/10)),o=n*n*10,p=(n+1)*(n+1)*10;j({d1Count:c.length,d2Count:e.length,tiers:f,d2Tiers:g,clusters:h,catalysts:i,networkPower:m,level:n,xpProgress:(m-o)/(p-o)*100,topCompanies:l,unlockedPaths:0}),fetch("/api/scraper").then(a=>a.json()).then(a=>x({degree1:c,degree2:e,skips:a.skips||[]})).catch(()=>x({degree1:c,degree2:e,skips:[]})),fetch(`/api/notifications?userId=${a}`).then(a=>a.json()).then(a=>t(a.notifications||[])).catch(()=>{}),fetch("/api/queue").then(a=>a.json()).then(a=>{let b=a.items||[];v({total:b.length,sent:b.filter(a=>"sent"===a.status).length,accepted:b.filter(a=>"accepted"===a.status).length})}).catch(()=>{}),q(!1)}},[a]),k.IS_DEMO)return(0,b.jsxs)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"rgba(255,255,255,0.7)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,textAlign:"center",padding:24,fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},children:[(0,b.jsx)("h2",{style:{margin:0,fontSize:20,fontWeight:700,color:"#fff"},children:"Not part of the demo"}),(0,b.jsx)("p",{style:{margin:0,fontSize:13},children:"The public demo includes the Network Circle and Degrees views only."}),(0,b.jsx)(o.default,{href:"/",style:{fontSize:12,color:"rgba(255,255,255,0.5)",textDecoration:"none"},children:"← Back to the network"})]});if(l)return(0,b.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff"},children:"Loading profile..."});let A={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},B=[{label:"First S-Tier",done:h.tiers.S>0,icon:"👑"},{label:"100 Connections",done:h.d1Count>=100,icon:"🔗"},{label:"500 Connections",done:h.d1Count>=500,icon:"🌐"},{label:"First Cluster",done:h.clusters>0,icon:"🔭"},{label:"10 Clusters",done:h.clusters>=10,icon:"🏰"},{label:"50 S-Tier",done:h.tiers.S>=50,icon:"💎"},{label:"Catalyst Found",done:h.catalysts>0,icon:"⚡"},{label:"Level 25",done:h.level>=25,icon:"🎯"},{label:"Level 50",done:h.level>=50,icon:"🚀"},{label:"D2 S-Tier > 50",done:h.d2Tiers.S>=50,icon:"🌟"}];return(0,b.jsxs)("div",{style:{height:"100vh",background:"#0a0a1a",color:"#fff",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,b.jsxs)("header",{style:{padding:"16px 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",display:"flex",alignItems:"center",gap:16},children:[(0,b.jsxs)(o.default,{href:"/",style:{display:"flex",alignItems:"center",gap:6,color:"#888",textDecoration:"none",fontSize:13,fontWeight:600,padding:"6px 14px",borderRadius:6,background:"rgba(255,255,255,0.06)",border:"1px solid rgba(255,255,255,0.1)"},children:[(0,b.jsx)("span",{style:{fontSize:16},children:"←"})," Back to Map"]}),(0,b.jsx)("h1",{style:{fontSize:22,fontWeight:700,margin:0,background:"linear-gradient(135deg, #FFD700, #9B59B6, #3498DB)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Profile"})]}),(0,b.jsx)("div",{style:{flex:1,overflow:"auto",padding:"30px 20px"},children:(0,b.jsxs)("div",{style:{maxWidth:700,margin:"0 auto"},children:[(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.05)",borderRadius:16,padding:32,marginBottom:24,border:"1px solid rgba(255,215,0,0.2)",textAlign:"center"},children:[(0,b.jsx)("div",{style:{width:100,height:100,borderRadius:"50%",margin:"0 auto 16px",background:"linear-gradient(135deg, #FFD700, #FF6B35)",display:"flex",alignItems:"center",justifyContent:"center",fontSize:36,fontWeight:800,color:"#000",boxShadow:"0 0 30px rgba(255,215,0,0.3)"},children:h.level}),(0,b.jsx)("div",{style:{fontSize:24,fontWeight:700,marginBottom:4},children:g.name}),(0,b.jsx)("div",{style:{fontSize:14,color:"#888",marginBottom:4},children:g.headline}),(0,b.jsx)("div",{style:{display:"inline-block",padding:"4px 16px",borderRadius:20,background:"rgba(255,215,0,0.15)",border:"1px solid rgba(255,215,0,0.3)",color:"#FFD700",fontSize:13,fontWeight:700,marginBottom:16},children:function(a){let b="Observer";for(let[c,d]of Object.entries(p))a>=parseInt(c)&&(b=d);return b}(h.level)}),(0,b.jsxs)("div",{style:{maxWidth:300,margin:"0 auto"},children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:10,color:"#666",marginBottom:4},children:[(0,b.jsxs)("span",{children:["Level ",h.level]}),(0,b.jsxs)("span",{children:["Level ",h.level+1]})]}),(0,b.jsx)("div",{style:{height:8,background:"rgba(255,255,255,0.1)",borderRadius:4},children:(0,b.jsx)("div",{style:{height:"100%",width:`${Math.min(h.xpProgress,100)}%`,background:"linear-gradient(90deg, #FFD700, #FF6B35)",borderRadius:4,transition:"width 1s ease"}})}),(0,b.jsxs)("div",{style:{fontSize:10,color:"#888",marginTop:4},children:["Network Power: ",h.networkPower.toLocaleString()]})]})]}),(0,b.jsx)(i,{degree1:w.degree1,degree2:w.degree2,skips:w.skips}),(0,b.jsxs)("div",{style:{background:"rgba(255,107,53,0.06)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(255,107,53,0.2)"},children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:12},children:[(0,b.jsx)("h3",{style:{fontSize:14,fontWeight:700,margin:0,color:"#FF6B35"},children:"Queue Progress"}),(0,b.jsx)(o.default,{href:"/queue",style:{fontSize:11,color:"#FF6B35",textDecoration:"none",fontWeight:600},children:"View Queue →"})]}),(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:12},children:[(0,b.jsxs)("div",{style:{textAlign:"center"},children:[(0,b.jsx)("div",{style:{fontSize:22,fontWeight:700,color:"#FFA500"},children:u.total}),(0,b.jsx)("div",{style:{fontSize:10,color:"#888"},children:"In Queue"})]}),(0,b.jsxs)("div",{style:{textAlign:"center"},children:[(0,b.jsx)("div",{style:{fontSize:22,fontWeight:700,color:"#3498DB"},children:u.sent}),(0,b.jsx)("div",{style:{fontSize:10,color:"#888"},children:"Sent"})]}),(0,b.jsxs)("div",{style:{textAlign:"center"},children:[(0,b.jsx)("div",{style:{fontSize:22,fontWeight:700,color:"#00ff88"},children:u.accepted}),(0,b.jsx)("div",{style:{fontSize:10,color:"#888"},children:"Accepted"})]})]})]}),s.length>0&&(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(255,255,255,0.08)"},children:[(0,b.jsxs)("h3",{style:{fontSize:14,fontWeight:700,marginTop:0,marginBottom:12},children:["Recent Activity (",s.filter(a=>!a.seen).length," new)"]}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6,maxHeight:200,overflowY:"auto"},children:s.slice(0,10).map(a=>(0,b.jsxs)("div",{style:{display:"flex",gap:8,alignItems:"center",padding:"6px 8px",borderRadius:6,background:a.seen?"transparent":"rgba(255,215,0,0.05)",borderLeft:a.seen?"none":"2px solid #FFD700"},children:[(0,b.jsx)("span",{style:{fontSize:16},children:a.icon||"📌"}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:12,fontWeight:600,color:a.seen?"#888":"#fff"},children:a.title}),a.message&&(0,b.jsx)("div",{style:{fontSize:10,color:"#666"},children:a.message})]}),(0,b.jsx)("span",{style:{fontSize:9,color:"#555",flexShrink:0},children:new Date(a.created_at).toLocaleDateString()})]},a.id))})]}),(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:12,marginBottom:24},children:[(0,b.jsx)(r,{label:"Connections",value:h.d1Count}),(0,b.jsx)(r,{label:"Degree-2 Reach",value:h.d2Count}),(0,b.jsx)(r,{label:"Clusters",value:h.clusters}),(0,b.jsx)(r,{label:"S-Tier",value:h.tiers.S,color:"#FFD700"}),(0,b.jsx)(r,{label:"A-Tier",value:h.tiers.A,color:"#9B59B6"}),(0,b.jsx)(r,{label:"Catalysts",value:h.catalysts,color:"#00ff88"})]}),(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(255,255,255,0.08)"},children:[(0,b.jsx)("h3",{style:{fontSize:14,fontWeight:700,marginTop:0,marginBottom:12},children:"Tier Distribution"}),["S","A","B","C","D"].map(a=>{let c=h.tiers[a]||0,d=h.d1Count>0?c/h.d1Count*100:0;return(0,b.jsxs)("div",{style:{marginBottom:8},children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:11,marginBottom:2},children:[(0,b.jsxs)("span",{style:{color:A[a],fontWeight:600},children:[a,"-Tier"]}),(0,b.jsxs)("span",{style:{color:"#888"},children:[c," (",d.toFixed(1),"%)"]})]}),(0,b.jsx)("div",{style:{height:6,background:"rgba(255,255,255,0.08)",borderRadius:3},children:(0,b.jsx)("div",{style:{height:"100%",width:`${d}%`,background:A[a],borderRadius:3}})})]},a)})]}),(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(255,255,255,0.08)"},children:[(0,b.jsx)("h3",{style:{fontSize:14,fontWeight:700,marginTop:0,marginBottom:12},children:"Degree-2 Reach"}),(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{style:{fontSize:24,fontWeight:700,color:"#FF6B35"},children:h.d2Count}),(0,b.jsx)("div",{style:{fontSize:11,color:"#888"},children:"People reachable via bridges"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{style:{fontSize:24,fontWeight:700,color:"#FFD700"},children:h.d2Tiers.S}),(0,b.jsx)("div",{style:{fontSize:11,color:"#888"},children:"S-Tier degree-2"})]})]})]}),(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(255,255,255,0.08)"},children:[(0,b.jsxs)("h3",{style:{fontSize:14,fontWeight:700,marginTop:0,marginBottom:12},children:["Milestones (",B.filter(a=>a.done).length,"/",B.length,")"]}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:B.map((a,c)=>(0,b.jsxs)("div",{style:{padding:"8px 10px",borderRadius:8,fontSize:12,background:a.done?"rgba(255,215,0,0.08)":"rgba(255,255,255,0.02)",border:`1px solid ${a.done?"rgba(255,215,0,0.2)":"rgba(255,255,255,0.05)"}`,color:a.done?"#FFD700":"#555",display:"flex",alignItems:"center",gap:6},children:[(0,b.jsx)("span",{style:{fontSize:16},children:a.done?a.icon:"🔒"}),(0,b.jsx)("span",{style:{fontWeight:a.done?600:400},children:a.label})]},c))})]}),(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(255,255,255,0.08)"},children:[(0,b.jsx)("h3",{style:{fontSize:14,fontWeight:700,marginTop:0,marginBottom:12},children:"Top Companies in Your Network"}),h.topCompanies.map(([a,c],d)=>(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",padding:"4px 0",borderBottom:d<h.topCompanies.length-1?"1px solid rgba(255,255,255,0.04)":"none",fontSize:12},children:[(0,b.jsx)("span",{children:a}),(0,b.jsx)("span",{style:{color:"#888"},children:c})]},d))]}),(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:12,padding:20,border:"1px solid rgba(255,255,255,0.08)"},children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:12},children:[(0,b.jsx)("h3",{style:{fontSize:14,fontWeight:700,margin:0},children:"Your Sectors"}),(0,b.jsxs)(o.default,{href:"/scores#sector",style:{fontSize:11,color:"#3498DB",textDecoration:"none",fontWeight:600},children:[y?.sectors?.length?"Change":y&&!y.failed?"Pick on Scores":"Scores"," →"]})]}),y?y.failed?(0,b.jsx)("div",{style:{fontSize:12,color:"#ff7676"},children:"Couldn’t load your sectors. Reload this page, or open Settings to see them."}):y.sectors?.length?(0,b.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,alignItems:"center"},children:[y.sectors.map(a=>{let c=(0,n.sectorByKey)(a);return(0,b.jsx)("span",{style:{padding:"4px 12px",borderRadius:20,fontSize:11,fontWeight:600,background:`${c.color}26`,border:`1px solid ${c.color}66`,color:c.color},children:c.label},a)}),(0,b.jsxs)("span",{style:{fontSize:11,color:"#888"},children:["strong"===y.strength?"Strong":"Lean",": companies here count for more in your scores."]})]}):(0,b.jsx)("div",{style:{fontSize:12,color:"#888"},children:"None picked. Pick up to three in Settings and companies in them count for more in your scores."}):(0,b.jsx)("div",{style:{fontSize:12,color:"#888"},children:"Loading…"})]})]})})]})}function r({label:a,value:c,color:d}){return(0,b.jsxs)("div",{style:{background:"rgba(255,255,255,0.04)",borderRadius:10,padding:"14px 12px",border:"1px solid rgba(255,255,255,0.08)",textAlign:"center"},children:[(0,b.jsx)("div",{style:{fontSize:22,fontWeight:700,color:d||"#fff"},children:c}),(0,b.jsx)("div",{style:{fontSize:10,color:"#888",marginTop:2},children:a})]})}a.s(["default",0,function(){return(0,b.jsx)(l.default,{children:(0,b.jsx)(q,{})})}],79243)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=app_profile_page_0u3-l5y.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[78386,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(23310),e=a.i(58834),f=a.i(38246);let g={S:25,A:15,B:10,C:5,D:2},h={S:100,A:60,B:35,C:15,D:5};var i=a.i(76939);let j={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},k="1px solid rgba(255,255,255,0.1)";function l({person:a,size:c=36,ring:d}){let e=j[a?.tier]||"#667";return(0,b.jsxs)("div",{style:{position:"relative",width:c,height:c,flexShrink:0},children:[(0,b.jsx)("div",{style:{width:c,height:c,borderRadius:"50%",background:e,color:a?.tier==="S"?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:.34*c,fontWeight:800,border:`2px solid ${d||e}`},children:(0,i.initialsFor)(a?.name||"?")}),a?.profile_image_url&&(0,b.jsx)("img",{src:a.profile_image_url,alt:"",onError:a=>{a.currentTarget.style.display="none"},style:{position:"absolute",inset:0,width:c,height:c,borderRadius:"50%",objectFit:"cover",border:`2px solid ${d||e}`}})]})}function m({progress:a,size:c=86,color:d="#FF6B35",children:e}){let f=c/2-5,g=2*Math.PI*f;return(0,b.jsxs)("div",{style:{position:"relative",width:c,height:c},children:[(0,b.jsxs)("svg",{width:c,height:c,style:{position:"absolute",inset:0,transform:"rotate(-90deg)"},children:[(0,b.jsx)("circle",{cx:c/2,cy:c/2,r:f,fill:"none",stroke:"rgba(255,255,255,0.08)",strokeWidth:5}),(0,b.jsx)("circle",{cx:c/2,cy:c/2,r:f,fill:"none",stroke:d,strokeWidth:5,strokeLinecap:"round",strokeDasharray:`${g*Math.min(1,a)} ${g}`,style:{transition:"stroke-dasharray 0.5s ease"}})]}),(0,b.jsx)("div",{style:{position:"absolute",inset:9,display:"flex",alignItems:"center",justifyContent:"center"},children:e})]})}function n({recs:a,sentIds:d,added:e,mappedIds:i,onSend:q,onUndo:r}){let s=(0,c.useMemo)(()=>(function({recs:a=[],sentIds:b=new Set,added:c=[],mappedIds:d=new Set}){var e;let f,i,j,k=new Map,l=new Set;for(let b of[...a].sort((a,b)=>(b.priority||0)-(a.priority||0))){if(!b.bridge)continue;let a=`${b.bridge.id}|${b.profile_url||b.id}`;if(l.has(a))continue;l.add(a);let c=k.get(b.bridge.id);c||(c={bridge:b.bridge,people:[]},k.set(b.bridge.id,c)),c.people.push(b)}let m=new Map;for(let a of c){let b=a.unlocked_from_bridge_id;b&&m.set(b,[...m.get(b)||[],a])}let n=[],o=0,p=0;for(let{bridge:a,people:c}of k.values()){let d=c.filter(a=>b.has(a.id)),e=m.get(a.id)||[];p+=d.length,o+=d.reduce((a,b)=>a+(g[b.tier]||2),0),o+=e.reduce((a,b)=>a+(h[b.tier]||5),0);let f=Math.ceil(c.length/5)||1,i=0;for(;i<f-1&&c.slice(5*i,(i+1)*5).every(a=>b.has(a.id));)i++;let j=c.slice(5*i,(i+1)*5),k=j.filter(a=>b.has(a.id)).length,l=k===j.length&&i===f-1;n.push({bridge:a,people:c,stage:i+1,stages:f,targets:j,done:k,progress:j.length?k/j.length:1,complete:l,sent:d.length,added:e,value:j.filter(a=>!b.has(a.id)).reduce((a,b)=>a+(b.priority||0),0),open:{S:j.filter(a=>"S"===a.tier&&!b.has(a.id)).length,A:j.filter(a=>"A"===a.tier&&!b.has(a.id)).length}})}n.sort((a,b)=>a.complete-b.complete||(b.progress>0&&b.progress<1)-(a.progress>0&&a.progress<1)||b.progress-a.progress||b.value-a.value);let q=n.filter(a=>!a.complete).flatMap(a=>a.targets.filter(a=>!b.has(a.id)).map(b=>({person:b,cluster:a,score:(b.priority||0)*(1+.6*a.progress)}))).sort((a,b)=>b.score-a.score),r=new Set,s=[];for(let a of q){let b=a.person.profile_url||a.person.id;if(!r.has(b)&&(r.add(b),s.push(a),3===s.length))break}let t=c.filter(a=>a.unlocked_from_bridge_id).length;return{clusters:n,nextMoves:s,points:o,level:(i=((f=Math.floor(Math.sqrt(Math.max(0,e=o)/40))+1)-1)**2*40,j=f**2*40,{level:f,floor:i,next:j,progress:(e-i)/(j-i)}),sentTotal:p,addedTotal:t,newDoors:c.filter(a=>a.unlocked_from_bridge_id&&!d.has(a.id)),clearedStages:n.reduce((a,b)=>a+(b.stage-1)+ +!!b.complete,0)}})({recs:a,sentIds:d,added:e,mappedIds:i}),[a,d,e,i]),[t,u]=(0,c.useState)(null),[v,w]=(0,c.useState)(null),{level:x}=s;async function y(a,b){await q(a);let c=b.done+1,d=String(b.bridge.name||"").split(/[\s,]+/)[0];w(c>=b.targets.length?`+${g[a.tier]||2} \xb7 Stage ${b.stage} of ${d}'s circle cleared — the next 5 are up`:`+${g[a.tier]||2} \xb7 ${d}'s circle ${c}/${b.targets.length}`),setTimeout(()=>w(null),3500)}let z=s.clusters.find(a=>a.bridge.id===t);return(0,b.jsxs)("div",{style:{maxWidth:1100,margin:"0 auto",padding:"16px 20px 60px"},children:[(0,b.jsxs)("div",{style:{display:"flex",gap:16,alignItems:"center",flexWrap:"wrap",padding:16,borderRadius:12,border:k,background:"linear-gradient(135deg, rgba(255,107,53,0.10), rgba(155,89,182,0.08))"},children:[(0,b.jsxs)("div",{style:{width:64,height:64,borderRadius:16,background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:800},children:"LEVEL"}),(0,b.jsx)("div",{style:{fontSize:26,fontWeight:900,lineHeight:1},children:x.level})]}),(0,b.jsxs)("div",{style:{flex:1,minWidth:220},children:[(0,b.jsxs)("div",{style:{fontSize:13,color:"#dfe6e9"},children:[(0,b.jsx)("b",{children:s.points})," points · ",(0,b.jsx)("b",{children:x.next-s.points})," to level ",x.level+1]}),(0,b.jsx)("div",{style:{height:8,borderRadius:4,background:"rgba(255,255,255,0.08)",marginTop:6,overflow:"hidden"},children:(0,b.jsx)("div",{style:{height:"100%",width:`${Math.round(100*x.progress)}%`,background:"linear-gradient(90deg, #FFD700, #FF6B35)",transition:"width 0.5s"}})}),(0,b.jsx)("div",{style:{fontSize:11.5,color:"#8b9a9a",marginTop:6},children:"Points come from invites you send and people who accept — not from browsing."})]}),[[s.sentTotal,"invites sent"],[s.addedTotal,"people added"],[s.clearedStages,"stages cleared"]].map(([a,c])=>(0,b.jsxs)("div",{style:{textAlign:"center",minWidth:80},children:[(0,b.jsx)("div",{style:{fontSize:24,fontWeight:900},children:a}),(0,b.jsx)("div",{style:{fontSize:11,color:"#8b9a9a"},children:c})]},c))]}),s.newDoors.length>0&&(0,b.jsxs)("div",{style:{marginTop:12,padding:"10px 14px",borderRadius:10,border:"1px solid rgba(0,255,136,0.3)",background:"rgba(0,255,136,0.06)",fontSize:13},children:["🚪 ",(0,b.jsxs)("b",{children:[s.newDoors.length," new ",1===s.newDoors.length?"door":"doors",":"]})," people you added through a circle, whose own circle isn’t mapped yet. That’s the next degree. ",(0,b.jsx)(f.default,{href:"/setup",style:{color:"#00ff88"},children:"Map them on the Scan page →"})]}),s.nextMoves.length>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("h3",{style:{margin:"22px 0 10px",fontSize:15},children:"Next best moves"}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:12},children:s.nextMoves.map(({person:a,cluster:c},d)=>(0,b.jsxs)("div",{style:{padding:14,borderRadius:12,border:`1px solid ${j[a.tier]}55`,background:"rgba(255,255,255,0.03)",position:"relative"},children:[(0,b.jsxs)("div",{style:{position:"absolute",top:10,right:12,fontSize:11,fontWeight:800,color:"#FF6B35"},children:["#",d+1]}),(0,b.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center"},children:[(0,b.jsx)(l,{person:a,size:44}),(0,b.jsxs)("div",{style:{minWidth:0},children:[(0,b.jsx)("div",{style:{fontWeight:700,fontSize:14},children:a.name}),(0,b.jsx)("div",{style:{fontSize:11.5,color:"#8b9a9a",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:220},children:a.headline})]})]}),(0,b.jsxs)("div",{style:{fontSize:11.5,color:"#aab7b7",margin:"10px 0"},children:["via ",(0,b.jsx)("b",{style:{color:j[c.bridge.tier]},children:c.bridge.name})," · their circle ",c.done,"/",c.targets.length," this stage"]}),(0,b.jsxs)("div",{style:{display:"flex",gap:8},children:[a.profile_url&&(0,b.jsx)("a",{href:a.profile_url,target:"_blank",rel:"noopener noreferrer",style:p,children:"Open on LinkedIn"}),(0,b.jsxs)("button",{onClick:()=>y(a,c),style:o,children:["I sent an invite · +",g[a.tier]||2]})]})]},a.id))})]}),(0,b.jsx)("h3",{style:{margin:"26px 0 4px",fontSize:15},children:"Circles to work through"}),(0,b.jsxs)("div",{style:{fontSize:12,color:"#8b9a9a",marginBottom:12},children:["Each is one of your connections and the best people they know, ",5," at a time. Fill the ring to clear a stage."]}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(190px, 1fr))",gap:12},children:s.clusters.map(a=>{let c=t===a.bridge.id;return(0,b.jsxs)("button",{onClick:()=>u(c?null:a.bridge.id),style:{padding:12,borderRadius:12,cursor:"pointer",textAlign:"center",color:"#fff",border:c?"1px solid #FF6B35":k,background:a.complete?"rgba(0,255,136,0.06)":"rgba(255,255,255,0.03)",display:"flex",flexDirection:"column",alignItems:"center",gap:6},children:[(0,b.jsx)(m,{progress:a.progress,color:a.complete?"#00ff88":"#FF6B35",children:(0,b.jsx)(l,{person:a.bridge,size:60})}),(0,b.jsx)("div",{style:{fontWeight:700,fontSize:13,maxWidth:170,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.bridge.name}),(0,b.jsx)("div",{style:{fontSize:11,color:a.complete?"#00ff88":"#aab7b7"},children:a.complete?"Circle cleared":`Stage ${a.stage} of ${a.stages} \xb7 ${a.done}/${a.targets.length}`}),(0,b.jsx)("div",{style:{display:"flex",gap:4},children:a.targets.map(a=>(0,b.jsx)("span",{title:a.name,style:{width:12,height:12,borderRadius:"50%",border:`2px solid ${j[a.tier]||"#667"}`,background:d.has(a.id)?j[a.tier]||"#667":"transparent"}},a.id))}),(0,b.jsxs)("div",{style:{fontSize:10.5,color:"#778"},children:[a.open.S?`${a.open.S} S \xb7 `:"",a.open.A?`${a.open.A} A \xb7 `:"",a.people.length," worth adding",a.added.length?` \xb7 ★ ${a.added.length} added`:""]})]},a.bridge.id)})}),z&&(0,b.jsxs)("div",{style:{marginTop:14,padding:16,borderRadius:12,border:"1px solid rgba(255,107,53,0.4)",background:"rgba(255,107,53,0.05)"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:10},children:[(0,b.jsx)(l,{person:z.bridge,size:40}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{style:{fontWeight:800},children:[z.bridge.name,"’s circle · stage ",z.stage," of ",z.stages]}),(0,b.jsxs)("div",{style:{fontSize:12,color:"#aab7b7"},children:["Ask ",z.bridge.name?.split(" ")[0]," for an intro, or invite them directly. Mark each one when it’s sent."]})]})]}),z.targets.map(a=>{let c=d.has(a.id);return(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 0",borderTop:"1px solid rgba(255,255,255,0.05)"},children:[(0,b.jsx)(l,{person:a,size:34,ring:c?"#00ff88":void 0}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsxs)("div",{style:{fontWeight:600,fontSize:13},children:[a.name," ",(0,b.jsx)("span",{style:{color:j[a.tier],fontSize:11},children:a.tier})]}),(0,b.jsx)("div",{style:{fontSize:11.5,color:"#8b9a9a",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.headline})]}),a.profile_url&&(0,b.jsx)("a",{href:a.profile_url,target:"_blank",rel:"noopener noreferrer",style:p,children:"LinkedIn"}),c?(0,b.jsx)("button",{onClick:()=>r(a),style:{...p,color:"#00ff88"},children:"Sent ✓ (undo)"}):(0,b.jsxs)("button",{onClick:()=>y(a,z),style:o,children:["Sent · +",g[a.tier]||2]})]},a.id)}),z.added.length>0&&(0,b.jsxs)("div",{style:{marginTop:10,fontSize:12,color:"#00ff88"},children:["★ Added from this circle: ",z.added.map(a=>a.name).join(", ")]})]}),v&&(0,b.jsx)("div",{role:"status",style:{position:"fixed",bottom:24,left:"50%",transform:"translateX(-50%)",padding:"10px 18px",borderRadius:24,background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000",fontWeight:800,fontSize:13,boxShadow:"0 8px 30px rgba(0,0,0,0.5)",zIndex:50},children:v})]})}let o={padding:"7px 12px",borderRadius:8,border:"none",cursor:"pointer",fontWeight:800,fontSize:12,background:"linear-gradient(135deg, #FF6B35, #FFD700)",color:"#000"},p={padding:"7px 12px",borderRadius:8,border:k,cursor:"pointer",fontWeight:600,fontSize:12,background:"rgba(255,255,255,0.05)",color:"#dfe6e9",textDecoration:"none"};var q=a.i(36839),r=a.i(75857),s=a.i(30889);let t={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"};function u(){let{userId:a,userProfile:g}=(0,r.useUser)(),h=g?.sectors||[],[i,j]=(0,c.useState)([]),[k,l]=(0,c.useState)(!0),[m,o]=(0,c.useState)("all"),[p,q]=(0,c.useState)(new Set),[u,v]=(0,c.useState)(new Set),[w,x]=(0,c.useState)([]),[y,z]=(0,c.useState)("quest"),[A,B]=(0,c.useState)([]),[C,D]=(0,c.useState)(()=>new Set),[E,F]=(0,c.useState)(null),[G,H]=(0,c.useState)(()=>"bridge");if((0,c.useEffect)(()=>{},[]),(0,c.useEffect)(()=>{!e.IS_DEMO&&a&&b();async function b(){let[b,c]=await Promise.all([(0,d.loadNetwork)(a),fetch(`/api/outreach?userId=${a}`).then(a=>a.json()).catch(()=>({pending:[]}))]),e=b.degree1,f=b.degree2;B(e.filter(a=>a.unlocked_from_bridge_id)),D(new Set(f.map(a=>a.source_connection_id).filter(Boolean)));let g=new Set(e.map(a=>a.profile_url)),i={};e.forEach(a=>{i[a.id]=a}),v(new Set((c.pending||[]).map(a=>a.id))),x((c.pending||[]).map(a=>({...a,bridge:i[a.source_connection_id]||null}))),j(f.filter(a=>("S"===a.tier||"A"===a.tier||"B"===a.tier)&&!g.has(a.profile_url)).map(a=>{let b,c,d=i[a.source_connection_id],e=(b=parseFloat(a.power_score)||0,c=(a.headline||"").toLowerCase(),(0,s.rowCompanyScore)(a)>=s.TOP_COMPANY&&(b+=1),(h||[]).forEach(a=>{c.includes(a.toLowerCase())&&(b+=.5)}),"S"===a.tier?b*=1.5:"A"===a.tier&&(b*=1.2),b),f="S"===a.tier?50:"A"===a.tier?25:10;return{...a,bridge:d,priority:e,xp:f}}).sort((a,b)=>b.priority-a.priority)),l(!1)}},[a]),e.IS_DEMO)return(0,b.jsxs)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"rgba(255,255,255,0.7)",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:10,textAlign:"center",padding:24},children:[(0,b.jsx)("h2",{style:{margin:0,fontSize:18,fontWeight:700,color:"#fff"},children:"Not part of the demo"}),(0,b.jsx)("div",{style:{fontSize:13},children:"The public demo includes the Network Circle and Degrees views only."}),(0,b.jsx)(f.default,{href:"/",style:{fontSize:12,color:"rgba(255,255,255,0.5)",textDecoration:"none"},children:"← Back to the network"})]});let I="all"===m?i:i.filter(a=>a.tier===m);E&&(I=I.filter(a=>a.bridge?.id===E));let J={S:0,A:0,B:0};i.forEach(a=>{void 0!==J[a.tier]&&J[a.tier]++});let K={};I.forEach(a=>{let b;K[b="bridge"===G?a.bridge?.id||"unknown":"company"===G?(a.company||"Unknown").trim()||"Unknown":a.tier]||(K[b]=[]),K[b].push(a)});let L={S:0,A:1,B:2},M=Object.entries(K).sort((a,b)=>{if("tier"===G)return(L[a[0]]||9)-(L[b[0]]||9);if("bridge"===G){let c=a[1][0]?.bridge,d=b[1][0]?.bridge,e=L[c?.tier]??9,f=L[d?.tier]??9;if(e!==f)return e-f}return b[1].length-a[1].length});function N(a){q(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})}return k?(0,b.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff"},children:"Loading..."}):(0,b.jsxs)("div",{style:{height:"100vh",background:"#0a0a1a",color:"#fff",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,b.jsxs)("header",{style:{padding:"14px 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",flexShrink:0},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:10},children:[(0,b.jsxs)(f.default,{href:"/",style:{display:"flex",alignItems:"center",gap:6,color:"#888",textDecoration:"none",fontSize:13,fontWeight:600,padding:"6px 14px",borderRadius:6,background:"rgba(255,255,255,0.06)",border:"1px solid rgba(255,255,255,0.1)"},children:[(0,b.jsx)("span",{style:{fontSize:16},children:"←"})," Map"]}),(0,b.jsx)("h1",{style:{fontSize:20,fontWeight:700,margin:0,background:"linear-gradient(135deg, #FF6B35, #FFD700)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Outlink"}),(0,b.jsxs)("div",{style:{display:"flex",gap:2,background:"rgba(255,255,255,0.06)",borderRadius:6,padding:2},children:[(0,b.jsx)("button",{onClick:()=>z("quest"),style:{padding:"5px 12px",borderRadius:4,border:"none",fontSize:11,fontWeight:700,cursor:"pointer",background:"quest"===y?"linear-gradient(135deg, #FFD700, #FF6B35)":"transparent",color:"quest"===y?"#000":"#FFD700"},children:"Circles"}),(0,b.jsxs)("button",{onClick:()=>z("recs"),style:{padding:"5px 12px",borderRadius:4,border:"none",fontSize:11,fontWeight:600,cursor:"pointer",background:"recs"===y?"#fff":"transparent",color:"recs"===y?"#000":"#888"},children:["To Add (",i.length,")"]}),(0,b.jsxs)("button",{onClick:()=>z("pending"),style:{padding:"5px 12px",borderRadius:4,border:"none",fontSize:11,fontWeight:600,cursor:"pointer",background:"pending"===y?"linear-gradient(135deg, #FF6B35, #FFD700)":"transparent",color:"pending"===y?"#000":"#FF6B35"},children:["Pending (",w.length,")"]})]}),(0,b.jsx)("div",{style:{marginLeft:"auto",display:"flex",gap:6},children:"recs"===y&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{onClick:()=>H("tier"),style:{padding:"4px 10px",borderRadius:4,border:"none",fontSize:10,fontWeight:600,cursor:"pointer",background:"tier"===G?"rgba(255,255,255,0.15)":"rgba(255,255,255,0.05)",color:"tier"===G?"#fff":"#666"},children:"By Tier"}),(0,b.jsx)("button",{onClick:()=>H("bridge"),style:{padding:"4px 10px",borderRadius:4,border:"none",fontSize:10,fontWeight:600,cursor:"pointer",background:"bridge"===G?"rgba(255,255,255,0.15)":"rgba(255,255,255,0.05)",color:"bridge"===G?"#fff":"#666"},children:"By Bridge"}),(0,b.jsx)("button",{onClick:()=>H("company"),style:{padding:"4px 10px",borderRadius:4,border:"none",fontSize:10,fontWeight:600,cursor:"pointer",background:"company"===G?"rgba(255,255,255,0.15)":"rgba(255,255,255,0.05)",color:"company"===G?"#fff":"#666"},children:"By Company"})]})})]}),(0,b.jsx)("div",{style:{display:"quest"===y?"none":"flex",gap:6},children:[{k:"all",l:`All (${i.length})`},{k:"S",l:`S (${J.S})`,c:t.S},{k:"A",l:`A (${J.A})`,c:t.A},{k:"B",l:`B (${J.B})`,c:t.B}].map(a=>(0,b.jsx)("button",{onClick:()=>o(a.k),style:{padding:"4px 12px",borderRadius:16,border:"none",fontSize:11,fontWeight:600,cursor:"pointer",background:m===a.k?a.c||"#fff":"rgba(255,255,255,0.06)",color:m===a.k?"#000":a.c||"#888"},children:a.l},a.k))})]}),"recs"===y&&p.size>0&&(0,b.jsxs)("div",{style:{padding:"10px 24px",background:"rgba(255,215,0,0.08)",borderBottom:"1px solid rgba(255,215,0,0.2)",display:"flex",alignItems:"center",gap:12,flexShrink:0},children:[(0,b.jsxs)("span",{style:{fontSize:12,color:"#FFD700",fontWeight:600},children:[p.size," selected"]}),(0,b.jsxs)("button",{onClick:function(){let a=I.filter(a=>p.has(a.id));if(0===a.length)return;if(1===a.length)return void window.open(a[0].profile_url,"_blank");let b=new Blob([`<!DOCTYPE html><html><head><title>Outlink — ${a.length} profiles</title>
|
|
1
|
+
module.exports=[78386,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(23310),e=a.i(58834),f=a.i(38246),g=a.i(91443);let h={S:25,A:15,B:10,C:5,D:2},i={S:100,A:60,B:35,C:15,D:5};var j=a.i(76939),k=a.i(56377);let l={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},m="1px solid rgba(255,255,255,0.1)";function n({person:a,size:c=36,ring:d}){let e=l[a?.tier]||"#667";return(0,b.jsxs)("div",{style:{position:"relative",width:c,height:c,flexShrink:0},children:[(0,b.jsx)("div",{style:{width:c,height:c,borderRadius:"50%",background:e,color:a?.tier==="S"?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:.34*c,fontWeight:800,border:`2px solid ${d||e}`},children:(0,j.initialsFor)(a?.name||"?")}),(0,k.localPhoto)(a?.profile_image_url)&&(0,b.jsx)("img",{src:(0,k.localPhoto)(a.profile_image_url),alt:"",onError:a=>{a.currentTarget.style.display="none"},style:{position:"absolute",inset:0,width:c,height:c,borderRadius:"50%",objectFit:"cover",border:`2px solid ${d||e}`}})]})}function o({progress:a,size:c=86,color:d="#FF6B35",children:e}){let f=c/2-5,g=2*Math.PI*f;return(0,b.jsxs)("div",{style:{position:"relative",width:c,height:c},children:[(0,b.jsxs)("svg",{width:c,height:c,style:{position:"absolute",inset:0,transform:"rotate(-90deg)"},children:[(0,b.jsx)("circle",{cx:c/2,cy:c/2,r:f,fill:"none",stroke:"rgba(255,255,255,0.08)",strokeWidth:5}),(0,b.jsx)("circle",{cx:c/2,cy:c/2,r:f,fill:"none",stroke:d,strokeWidth:5,strokeLinecap:"round",strokeDasharray:`${g*Math.min(1,a)} ${g}`,style:{transition:"stroke-dasharray 0.5s ease"}})]}),(0,b.jsx)("div",{style:{position:"absolute",inset:9,display:"flex",alignItems:"center",justifyContent:"center"},children:e})]})}function p({recs:a,sentIds:d,added:e,mappedIds:j,reach:k,onSend:s,onUndo:t}){let u=(0,c.useMemo)(()=>(function({recs:a=[],sentIds:b=new Set,added:c=[],mappedIds:d=new Set,reach:e=null}){var f;let j,k,l,m=new Map,n=new Set;for(let b of[...a].sort((a,b)=>(b.priority||0)-(a.priority||0))){if(!b.bridge)continue;let a=`${b.bridge.id}|${b.profile_url||b.id}`;if(n.has(a))continue;n.add(a);let c=m.get(b.bridge.id);c||(c={bridge:b.bridge,people:[]},m.set(b.bridge.id,c)),c.people.push(b)}let o=new Map;for(let a of c){let b=a.unlocked_from_bridge_id;b&&o.set(b,[...o.get(b)||[],a])}let p=[],q=0,r=0;for(let{bridge:a,people:c}of m.values()){let d=c.filter(a=>b.has(a.id)),e=o.get(a.id)||[];r+=d.length,q+=d.reduce((a,b)=>a+(h[b.tier]||2),0),q+=e.reduce((a,b)=>a+(i[b.tier]||5),0);let f=Math.ceil(c.length/5)||1,g=0;for(;g<f-1&&c.slice(5*g,(g+1)*5).every(a=>b.has(a.id));)g++;let j=c.slice(5*g,(g+1)*5),k=j.filter(a=>b.has(a.id)).length,l=k===j.length&&g===f-1;p.push({bridge:a,people:c,stage:g+1,stages:f,targets:j,done:k,progress:j.length?k/j.length:1,complete:l,sent:d.length,added:e,value:j.filter(a=>!b.has(a.id)).reduce((a,b)=>a+(b.priority||0),0),open:{S:j.filter(a=>"S"===a.tier&&!b.has(a.id)).length,A:j.filter(a=>"A"===a.tier&&!b.has(a.id)).length}})}p.sort((a,b)=>a.complete-b.complete||(b.progress>0&&b.progress<1)-(a.progress>0&&a.progress<1)||b.progress-a.progress||b.value-a.value);let s=p.filter(a=>!a.complete).flatMap(a=>a.targets.filter(a=>!b.has(a.id)).map(b=>({person:b,cluster:a,score:(b.priority||0)*(1+.6*a.progress)}))).sort((a,b)=>b.score-a.score),t=new Set,u=[];for(let a of s){let b=a.person.profile_url||a.person.id;if(!t.has(b)&&(t.add(b),u.push(a),3===u.length))break}let v=c.filter(a=>a.unlocked_from_bridge_id).length;return{clusters:p,nextMoves:u,points:q,level:(k=((j=Math.floor(Math.sqrt(Math.max(0,f=q)/40))+1)-1)**2*40,l=j**2*40,{level:j,floor:k,next:l,progress:(f-k)/(l-k)}),sentTotal:r,addedTotal:v,newDoors:c.filter(a=>a.unlocked_from_bridge_id&&"todo"===(0,g.circleState)(a,e||{scanned:d,hidden:new Set})),clearedStages:p.reduce((a,b)=>a+(b.stage-1)+ +!!b.complete,0)}})({recs:a,sentIds:d,added:e,mappedIds:j,reach:k}),[a,d,e,j,k]),[v,w]=(0,c.useState)(null),[x,y]=(0,c.useState)(null),{level:z}=u;async function A(a,b){await s(a);let c=b.done+1,d=String(b.bridge.name||"").split(/[\s,]+/)[0];y(c>=b.targets.length?`+${h[a.tier]||2} \xb7 Stage ${b.stage} of ${d}'s circle cleared — the next 5 are up`:`+${h[a.tier]||2} \xb7 ${d}'s circle ${c}/${b.targets.length}`),setTimeout(()=>y(null),3500)}let B=u.clusters.find(a=>a.bridge.id===v);return(0,b.jsxs)("div",{style:{maxWidth:1100,margin:"0 auto",padding:"16px 20px 60px"},children:[(0,b.jsxs)("div",{style:{display:"flex",gap:16,alignItems:"center",flexWrap:"wrap",padding:16,borderRadius:12,border:m,background:"linear-gradient(135deg, rgba(255,107,53,0.10), rgba(155,89,182,0.08))"},children:[(0,b.jsxs)("div",{style:{width:64,height:64,borderRadius:16,background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:800},children:"LEVEL"}),(0,b.jsx)("div",{style:{fontSize:26,fontWeight:900,lineHeight:1},children:z.level})]}),(0,b.jsxs)("div",{style:{flex:1,minWidth:220},children:[(0,b.jsxs)("div",{style:{fontSize:13,color:"#dfe6e9"},children:[(0,b.jsx)("b",{children:u.points})," points · ",(0,b.jsx)("b",{children:z.next-u.points})," to level ",z.level+1]}),(0,b.jsx)("div",{style:{height:8,borderRadius:4,background:"rgba(255,255,255,0.08)",marginTop:6,overflow:"hidden"},children:(0,b.jsx)("div",{style:{height:"100%",width:`${Math.round(100*z.progress)}%`,background:"linear-gradient(90deg, #FFD700, #FF6B35)",transition:"width 0.5s"}})}),(0,b.jsx)("div",{style:{fontSize:11.5,color:"#8b9a9a",marginTop:6},children:"Points come from invites you send and people who accept — not from browsing."})]}),[[u.sentTotal,"invites sent"],[u.addedTotal,"people added"],[u.clearedStages,"stages cleared"]].map(([a,c])=>(0,b.jsxs)("div",{style:{textAlign:"center",minWidth:80},children:[(0,b.jsx)("div",{style:{fontSize:24,fontWeight:900},children:a}),(0,b.jsx)("div",{style:{fontSize:11,color:"#8b9a9a"},children:c})]},c))]}),u.newDoors.length>0&&(0,b.jsxs)("div",{style:{marginTop:12,padding:"10px 14px",borderRadius:10,border:"1px solid rgba(0,255,136,0.3)",background:"rgba(0,255,136,0.06)",fontSize:13},children:["🚪 ",(0,b.jsxs)("b",{children:[u.newDoors.length," new ",1===u.newDoors.length?"door":"doors",":"]})," people you added through a circle, whose own circle isn’t mapped yet. That’s the next degree. ",(0,b.jsx)(f.default,{href:"/setup",style:{color:"#00ff88"},children:"Map them on the Scan page →"})]}),u.nextMoves.length>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("h3",{style:{margin:"22px 0 10px",fontSize:15},children:"Next best moves"}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:12},children:u.nextMoves.map(({person:a,cluster:c},d)=>(0,b.jsxs)("div",{style:{padding:14,borderRadius:12,border:`1px solid ${l[a.tier]}55`,background:"rgba(255,255,255,0.03)",position:"relative"},children:[(0,b.jsxs)("div",{style:{position:"absolute",top:10,right:12,fontSize:11,fontWeight:800,color:"#FF6B35"},children:["#",d+1]}),(0,b.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center"},children:[(0,b.jsx)(n,{person:a,size:44}),(0,b.jsxs)("div",{style:{minWidth:0},children:[(0,b.jsx)("div",{style:{fontWeight:700,fontSize:14},children:a.name}),(0,b.jsx)("div",{style:{fontSize:11.5,color:"#8b9a9a",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:220},children:a.headline})]})]}),(0,b.jsxs)("div",{style:{fontSize:11.5,color:"#aab7b7",margin:"10px 0"},children:["via ",(0,b.jsx)("b",{style:{color:l[c.bridge.tier]},children:c.bridge.name})," · their circle ",c.done,"/",c.targets.length," this stage"]}),(0,b.jsxs)("div",{style:{display:"flex",gap:8},children:[a.profile_url&&(0,b.jsx)("a",{href:a.profile_url,target:"_blank",rel:"noopener noreferrer",style:r,children:"Open on LinkedIn"}),(0,b.jsxs)("button",{onClick:()=>A(a,c),style:q,children:["I sent an invite · +",h[a.tier]||2]})]})]},a.id))})]}),(0,b.jsx)("h3",{style:{margin:"26px 0 4px",fontSize:15},children:"Circles to work through"}),(0,b.jsxs)("div",{style:{fontSize:12,color:"#8b9a9a",marginBottom:12},children:["Each is one of your connections and the best people they know, ",5," at a time. Fill the ring to clear a stage."]}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(190px, 1fr))",gap:12},children:u.clusters.map(a=>{let c=v===a.bridge.id;return(0,b.jsxs)("button",{onClick:()=>w(c?null:a.bridge.id),style:{padding:12,borderRadius:12,cursor:"pointer",textAlign:"center",color:"#fff",border:c?"1px solid #FF6B35":m,background:a.complete?"rgba(0,255,136,0.06)":"rgba(255,255,255,0.03)",display:"flex",flexDirection:"column",alignItems:"center",gap:6},children:[(0,b.jsx)(o,{progress:a.progress,color:a.complete?"#00ff88":"#FF6B35",children:(0,b.jsx)(n,{person:a.bridge,size:60})}),(0,b.jsx)("div",{style:{fontWeight:700,fontSize:13,maxWidth:170,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.bridge.name}),(0,b.jsx)("div",{style:{fontSize:11,color:a.complete?"#00ff88":"#aab7b7"},children:a.complete?"Circle cleared":`Stage ${a.stage} of ${a.stages} \xb7 ${a.done}/${a.targets.length}`}),(0,b.jsx)("div",{style:{display:"flex",gap:4},children:a.targets.map(a=>(0,b.jsx)("span",{title:a.name,style:{width:12,height:12,borderRadius:"50%",border:`2px solid ${l[a.tier]||"#667"}`,background:d.has(a.id)?l[a.tier]||"#667":"transparent"}},a.id))}),(0,b.jsxs)("div",{style:{fontSize:10.5,color:"#778"},children:[a.open.S?`${a.open.S} S \xb7 `:"",a.open.A?`${a.open.A} A \xb7 `:"",a.people.length," worth adding",a.added.length?` \xb7 ★ ${a.added.length} added`:""]})]},a.bridge.id)})}),B&&(0,b.jsxs)("div",{style:{marginTop:14,padding:16,borderRadius:12,border:"1px solid rgba(255,107,53,0.4)",background:"rgba(255,107,53,0.05)"},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:10},children:[(0,b.jsx)(n,{person:B.bridge,size:40}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{style:{fontWeight:800},children:[B.bridge.name,"’s circle · stage ",B.stage," of ",B.stages]}),(0,b.jsxs)("div",{style:{fontSize:12,color:"#aab7b7"},children:["Ask ",B.bridge.name?.split(" ")[0]," for an intro, or invite them directly. Mark each one when it’s sent."]})]})]}),B.targets.map(a=>{let c=d.has(a.id);return(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 0",borderTop:"1px solid rgba(255,255,255,0.05)"},children:[(0,b.jsx)(n,{person:a,size:34,ring:c?"#00ff88":void 0}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsxs)("div",{style:{fontWeight:600,fontSize:13},children:[a.name," ",(0,b.jsx)("span",{style:{color:l[a.tier],fontSize:11},children:a.tier})]}),(0,b.jsx)("div",{style:{fontSize:11.5,color:"#8b9a9a",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.headline})]}),a.profile_url&&(0,b.jsx)("a",{href:a.profile_url,target:"_blank",rel:"noopener noreferrer",style:r,children:"LinkedIn"}),c?(0,b.jsx)("button",{onClick:()=>t(a),style:{...r,color:"#00ff88"},children:"Sent ✓ (undo)"}):(0,b.jsxs)("button",{onClick:()=>A(a,B),style:q,children:["Sent · +",h[a.tier]||2]})]},a.id)}),B.added.length>0&&(0,b.jsxs)("div",{style:{marginTop:10,fontSize:12,color:"#00ff88"},children:["★ Added from this circle: ",B.added.map(a=>a.name).join(", ")]})]}),x&&(0,b.jsx)("div",{role:"status",style:{position:"fixed",bottom:24,left:"50%",transform:"translateX(-50%)",padding:"10px 18px",borderRadius:24,background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000",fontWeight:800,fontSize:13,boxShadow:"0 8px 30px rgba(0,0,0,0.5)",zIndex:50},children:x})]})}let q={padding:"7px 12px",borderRadius:8,border:"none",cursor:"pointer",fontWeight:800,fontSize:12,background:"linear-gradient(135deg, #FF6B35, #FFD700)",color:"#000"},r={padding:"7px 12px",borderRadius:8,border:m,cursor:"pointer",fontWeight:600,fontSize:12,background:"rgba(255,255,255,0.05)",color:"#dfe6e9",textDecoration:"none"};var s=a.i(36839),t=a.i(75857),u=a.i(30889),v=a.i(76892),w=a.i(24475),x=a.i(90231),y=a.i(37732);let z={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"};function A(){let{userId:a,userProfile:h}=(0,t.useUser)(),i=h?.sectors||[],[j,l]=(0,c.useState)([]),[m,n]=(0,c.useState)(!0),[o,q]=(0,c.useState)("all"),[r,s]=(0,c.useState)(new Set),A=(0,v.default)(),[B,C]=(0,c.useState)([]),[D,E]=(0,c.useState)({}),[F,G]=(0,c.useState)("quest"),[H,I]=(0,c.useState)([]),[J,K]=(0,c.useState)(()=>new Set),[L,M]=(0,c.useState)(null),[N,O]=(0,c.useState)(null),[P,Q]=(0,c.useState)(()=>"bridge");(0,c.useEffect)(()=>{},[]),(0,c.useEffect)(()=>{!e.IS_DEMO&&a&&b();async function b(){let[b,c,e]=await Promise.all([(0,d.loadNetwork)(a),fetch(`/api/outreach?userId=${a}`).then(a=>a.json()).catch(()=>({pending:[]})),(0,y.loadScanNotes)()]),f=b.degree1,h=b.degree2;I(f.filter(a=>a.unlocked_from_bridge_id)),K(new Set(h.map(a=>a.source_connection_id).filter(Boolean))),M((0,g.reachIndex)(f,h,e));let j=new Set(f.map(a=>a.profile_url)),k={};f.forEach(a=>{k[a.id]=a}),C(c.pending||[]),E(k),l(h.filter(a=>("S"===a.tier||"A"===a.tier||"B"===a.tier)&&!j.has(a.profile_url)).map(a=>{let b,c,d=k[a.source_connection_id],e=(b=parseFloat(a.power_score)||0,c=(a.headline||"").toLowerCase(),(0,u.rowCompanyScore)(a)>=u.TOP_COMPANY&&(b+=1),(i||[]).forEach(a=>{c.includes(a.toLowerCase())&&(b+=.5)}),"S"===a.tier?b*=1.5:"A"===a.tier&&(b*=1.2),b),f="S"===a.tier?50:"A"===a.tier?25:10;return{...a,bridge:d,priority:e,xp:f}}).sort((a,b)=>b.priority-a.priority)),n(!1)}},[a]);let R=(0,c.useMemo)(()=>new Set([...B,...j].filter(a=>(0,w.hasRequest)(a,A)).map(a=>a.id)),[B,j,A]),S=(0,c.useMemo)(()=>{let a=new Set,b=[];for(let c of[...B,...j]){let d=(0,x.keyFor)(c);!a.has(d)&&(0,w.hasRequest)(c,A)&&(a.add(d),b.push({...c,bridge:D[c.source_connection_id]||c.bridge||null}))}return b},[B,j,A,D]);if(e.IS_DEMO)return(0,b.jsxs)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"rgba(255,255,255,0.7)",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:10,textAlign:"center",padding:24},children:[(0,b.jsx)("h2",{style:{margin:0,fontSize:18,fontWeight:700,color:"#fff"},children:"Not part of the demo"}),(0,b.jsx)("div",{style:{fontSize:13},children:"The public demo includes the Network Circle and Degrees views only."}),(0,b.jsx)(f.default,{href:"/",style:{fontSize:12,color:"rgba(255,255,255,0.5)",textDecoration:"none"},children:"← Back to the network"})]});let T="all"===o?j:j.filter(a=>a.tier===o);N&&(T=T.filter(a=>a.bridge?.id===N));let U={S:0,A:0,B:0};j.forEach(a=>{void 0!==U[a.tier]&&U[a.tier]++});let V={};T.forEach(a=>{let b;V[b="bridge"===P?a.bridge?.id||"unknown":"company"===P?(a.company||"Unknown").trim()||"Unknown":a.tier]||(V[b]=[]),V[b].push(a)});let W={S:0,A:1,B:2},X=Object.entries(V).sort((a,b)=>{if("tier"===P)return(W[a[0]]||9)-(W[b[0]]||9);if("bridge"===P){let c=a[1][0]?.bridge,d=b[1][0]?.bridge,e=W[c?.tier]??9,f=W[d?.tier]??9;if(e!==f)return e-f}return b[1].length-a[1].length});function Y(a){s(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})}return m?(0,b.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff"},children:"Loading..."}):(0,b.jsxs)("div",{style:{height:"100vh",background:"#0a0a1a",color:"#fff",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,b.jsxs)("header",{style:{padding:"14px 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",flexShrink:0},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:10},children:[(0,b.jsxs)(f.default,{href:"/",style:{display:"flex",alignItems:"center",gap:6,color:"#888",textDecoration:"none",fontSize:13,fontWeight:600,padding:"6px 14px",borderRadius:6,background:"rgba(255,255,255,0.06)",border:"1px solid rgba(255,255,255,0.1)"},children:[(0,b.jsx)("span",{style:{fontSize:16},children:"←"})," Map"]}),(0,b.jsx)("h1",{style:{fontSize:20,fontWeight:700,margin:0,background:"linear-gradient(135deg, #FF6B35, #FFD700)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Outlink"}),(0,b.jsxs)("div",{style:{display:"flex",gap:2,background:"rgba(255,255,255,0.06)",borderRadius:6,padding:2},children:[(0,b.jsx)("button",{onClick:()=>G("quest"),style:{padding:"5px 12px",borderRadius:4,border:"none",fontSize:11,fontWeight:700,cursor:"pointer",background:"quest"===F?"linear-gradient(135deg, #FFD700, #FF6B35)":"transparent",color:"quest"===F?"#000":"#FFD700"},children:"Circles"}),(0,b.jsxs)("button",{onClick:()=>G("recs"),style:{padding:"5px 12px",borderRadius:4,border:"none",fontSize:11,fontWeight:600,cursor:"pointer",background:"recs"===F?"#fff":"transparent",color:"recs"===F?"#000":"#888"},children:["To Add (",j.length,")"]}),(0,b.jsxs)("button",{onClick:()=>G("pending"),style:{padding:"5px 12px",borderRadius:4,border:"none",fontSize:11,fontWeight:600,cursor:"pointer",background:"pending"===F?"linear-gradient(135deg, #FF6B35, #FFD700)":"transparent",color:"pending"===F?"#000":"#FF6B35"},children:["Pending (",S.length,")"]})]}),(0,b.jsx)("div",{style:{marginLeft:"auto",display:"flex",gap:6},children:"recs"===F&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{onClick:()=>Q("tier"),style:{padding:"4px 10px",borderRadius:4,border:"none",fontSize:10,fontWeight:600,cursor:"pointer",background:"tier"===P?"rgba(255,255,255,0.15)":"rgba(255,255,255,0.05)",color:"tier"===P?"#fff":"#666"},children:"By Tier"}),(0,b.jsx)("button",{onClick:()=>Q("bridge"),style:{padding:"4px 10px",borderRadius:4,border:"none",fontSize:10,fontWeight:600,cursor:"pointer",background:"bridge"===P?"rgba(255,255,255,0.15)":"rgba(255,255,255,0.05)",color:"bridge"===P?"#fff":"#666"},children:"By Bridge"}),(0,b.jsx)("button",{onClick:()=>Q("company"),style:{padding:"4px 10px",borderRadius:4,border:"none",fontSize:10,fontWeight:600,cursor:"pointer",background:"company"===P?"rgba(255,255,255,0.15)":"rgba(255,255,255,0.05)",color:"company"===P?"#fff":"#666"},children:"By Company"})]})})]}),(0,b.jsx)("div",{style:{display:"quest"===F?"none":"flex",gap:6},children:[{k:"all",l:`All (${j.length})`},{k:"S",l:`S (${U.S})`,c:z.S},{k:"A",l:`A (${U.A})`,c:z.A},{k:"B",l:`B (${U.B})`,c:z.B}].map(a=>(0,b.jsx)("button",{onClick:()=>q(a.k),style:{padding:"4px 12px",borderRadius:16,border:"none",fontSize:11,fontWeight:600,cursor:"pointer",background:o===a.k?a.c||"#fff":"rgba(255,255,255,0.06)",color:o===a.k?"#000":a.c||"#888"},children:a.l},a.k))})]}),"recs"===F&&r.size>0&&(0,b.jsxs)("div",{style:{padding:"10px 24px",background:"rgba(255,215,0,0.08)",borderBottom:"1px solid rgba(255,215,0,0.2)",display:"flex",alignItems:"center",gap:12,flexShrink:0},children:[(0,b.jsxs)("span",{style:{fontSize:12,color:"#FFD700",fontWeight:600},children:[r.size," selected"]}),(0,b.jsxs)("button",{onClick:function(){let a=T.filter(a=>r.has(a.id));if(0===a.length)return;if(1===a.length)return void window.open(a[0].profile_url,"_blank");let b=new Blob([`<!DOCTYPE html><html><head><title>Outlink — ${a.length} profiles</title>
|
|
2
2
|
<style>body{background:#0a0a1a;color:#fff;font-family:-apple-system,sans-serif;padding:24px;margin:0}
|
|
3
3
|
h2{color:#FFD700;margin-bottom:4px}p{color:#888;font-size:13px;margin-bottom:16px}
|
|
4
4
|
.btn{display:block;padding:12px 16px;margin-bottom:6px;background:rgba(255,255,255,0.06);
|
|
@@ -12,7 +12,7 @@ module.exports=[78386,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(23310
|
|
|
12
12
|
<button class="open-all" onclick="document.querySelectorAll('.btn').forEach((a,i)=>setTimeout(()=>a.click(),i*300))">
|
|
13
13
|
Open All (${a.length})</button>
|
|
14
14
|
${a.map(a=>{let b="S"===a.tier?"#FFD700":"A"===a.tier?"#9B59B6":"#3498DB";return'<a class="btn" href="'+a.profile_url+'" target="_blank"><span class="name">'+(a.name||"")+'</span><span class="tier" style="color:'+b+'">'+a.tier+" · "+parseFloat(a.power_score||0).toFixed(1)+'</span><br><span style="color:#666;font-size:11px">'+(a.headline||"").substring(0,60)+"</span></a>"}).join("")}
|
|
15
|
-
</body></html>`],{type:"text/html"});window.open(URL.createObjectURL(b),"_blank")},style:{padding:"6px 16px",borderRadius:6,border:"none",cursor:"pointer",background:"#0077B5",color:"#fff",fontWeight:700,fontSize:12},children:["Open ",
|
|
15
|
+
</body></html>`],{type:"text/html"});window.open(URL.createObjectURL(b),"_blank")},style:{padding:"6px 16px",borderRadius:6,border:"none",cursor:"pointer",background:"#0077B5",color:"#fff",fontWeight:700,fontSize:12},children:["Open ",r.size," on LinkedIn"]}),(0,b.jsxs)("span",{style:{fontSize:10,color:"#888"},children:["+",T.filter(a=>r.has(a.id)).reduce((a,b)=>a+b.xp,0)," XP potential"]}),(0,b.jsx)("button",{onClick:()=>s(new Set),style:{marginLeft:"auto",background:"none",border:"none",color:"#888",cursor:"pointer",fontSize:11},children:"Clear"})]}),"quest"===F&&(0,b.jsx)("div",{style:{flex:1,overflow:"auto"},children:(0,b.jsx)(p,{recs:j,sentIds:R,added:H,mappedIds:J,reach:L,onSend:a=>(0,w.markRequested)(a,{bridgeId:a.source_connection_id}).catch(()=>{}),onUndo:a=>(0,w.undoRequest)(a).catch(()=>{})})}),"quest"!==F&&(0,b.jsx)("div",{style:{flex:1,overflow:"auto",padding:"12px 24px"},children:(0,b.jsxs)("div",{style:{maxWidth:700,margin:"0 auto"},children:["pending"===F&&(0,b.jsx)(b.Fragment,{children:0===S.length?(0,b.jsxs)("div",{style:{textAlign:"center",padding:40,color:"#555"},children:[(0,b.jsx)("div",{style:{fontSize:32,marginBottom:8},children:"⏳"}),(0,b.jsx)("div",{style:{fontSize:14,fontWeight:600},children:"No pending requests"}),(0,b.jsx)("div",{style:{fontSize:11,color:"#444",marginTop:4},children:'Click "Add" on someone to track your outreach'})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{style:{fontSize:10,color:"#666",marginBottom:12},children:"Waiting for response. When they accept, their cluster unlocks for bridging."}),S.map(a=>(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 12px",marginBottom:4,background:"rgba(255,107,53,0.04)",borderRadius:8,border:"1px solid rgba(255,107,53,0.1)"},children:[(0,k.localPhoto)(a.profile_image_url)?(0,b.jsx)("img",{src:(0,k.localPhoto)(a.profile_image_url),alt:"",style:{width:36,height:36,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`2px solid ${z[a.tier]||"#555"}`},onError:a=>{a.target.style.display="none"}}):(0,b.jsx)("div",{style:{width:36,height:36,borderRadius:"50%",flexShrink:0,fontSize:14,fontWeight:700,background:z[a.tier]||"#555",color:"S"===a.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:13,fontWeight:600},children:a.name}),(0,b.jsx)("div",{style:{fontSize:10,color:"#888",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.headline?.substring(0,55)}),a.bridge&&(0,b.jsxs)("div",{style:{fontSize:9,color:"#FF6B35",marginTop:2},children:["via ",a.bridge.name?.split(" ")[0]," · unlocks bridge cluster"]})]}),(0,b.jsxs)("div",{style:{textAlign:"center",flexShrink:0},children:[(0,b.jsx)("div",{style:{fontSize:10,fontWeight:800,color:z[a.tier],padding:"2px 8px",borderRadius:4,background:`${z[a.tier]||"#555"}15`},children:a.tier}),(0,b.jsx)("div",{style:{fontSize:8,color:"#FF6B35",marginTop:2,fontWeight:600},children:"PENDING"})]}),(0,b.jsxs)("div",{style:{display:"flex",gap:4,flexShrink:0},children:[(0,b.jsx)("a",{href:a.profile_url,target:"_blank",rel:"noopener noreferrer",style:{padding:"4px 8px",borderRadius:4,fontSize:9,fontWeight:700,background:"#0077B5",color:"#fff",textDecoration:"none"},children:"View"}),(0,b.jsx)("button",{onClick:()=>{(0,w.undoRequest)(a).catch(()=>{})},style:{padding:"4px 8px",borderRadius:4,fontSize:9,fontWeight:600,background:"rgba(255,255,255,0.06)",color:"#666",border:"none",cursor:"pointer"},children:"Undo"})]})]},a.id))]})}),"recs"===F&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[(0,b.jsx)("input",{type:"checkbox",checked:r.size===T.length&&T.length>0,onChange:function(){r.size===T.length?s(new Set):s(new Set(T.map(a=>a.id)))},style:{cursor:"pointer"}}),(0,b.jsxs)("span",{style:{fontSize:10,color:"#666"},children:["Select all (",T.length,")"]})]}),X.map(([a,c])=>(0,b.jsxs)("div",{style:{marginBottom:16},children:["bridge"===P?(()=>{let a=c[0]?.bridge;if(!a)return null;let d=c.filter(a=>"S"===a.tier).length,e=c.filter(a=>"A"===a.tier).length,f=c.filter(a=>"B"===a.tier).length,g=3*d+2*e+f;return(0,b.jsxs)("div",{style:{padding:"10px 12px",marginBottom:6,borderRadius:8,background:`${z[a.tier]||"#555"}08`,border:`1px solid ${z[a.tier]||"#555"}20`},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,k.localPhoto)(a.profile_image_url)?(0,b.jsx)("img",{src:(0,k.localPhoto)(a.profile_image_url),alt:"",style:{width:36,height:36,borderRadius:"50%",objectFit:"cover",border:`2px solid ${z[a.tier]}`},onError:a=>{a.target.style.display="none"}}):(0,b.jsx)("div",{style:{width:36,height:36,borderRadius:"50%",fontSize:14,fontWeight:700,background:z[a.tier],color:"S"===a.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,b.jsx)("div",{style:{fontSize:13,fontWeight:700,color:"#fff"},children:a.name}),(0,b.jsx)("div",{style:{fontSize:9,color:"#888",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.headline?.substring(0,50)})]}),(0,b.jsxs)("div",{style:{textAlign:"right",flexShrink:0},children:[(0,b.jsx)("div",{style:{fontSize:11,fontWeight:800,color:z[a.tier]},children:a.tier}),(0,b.jsxs)("div",{style:{fontSize:8,color:"#666"},children:[c.length," to add"]})]})]}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:8},children:[(0,b.jsxs)("div",{style:{display:"flex",gap:4,fontSize:9},children:[d>0&&(0,b.jsxs)("span",{style:{color:"#FFD700",fontWeight:700},children:[d,"S"]}),e>0&&(0,b.jsxs)("span",{style:{color:"#9B59B6",fontWeight:700},children:[e,"A"]}),f>0&&(0,b.jsxs)("span",{style:{color:"#3498DB",fontWeight:700},children:[f,"B"]})]}),(0,b.jsx)("div",{style:{flex:1,height:4,background:"rgba(255,255,255,0.06)",borderRadius:2},children:(0,b.jsx)("div",{style:{height:"100%",borderRadius:2,width:`${Math.min(100,g/30*100)}%`,background:`linear-gradient(90deg, ${z[a.tier]}, #FF6B35)`}})}),(0,b.jsxs)("button",{onClick:()=>{let a=c.map(a=>a.profile_url);if(1===a.length)return void window.open(a[0],"_blank");let b=`<!DOCTYPE html><html><head><title>Top ${Math.min(10,a.length)}</title>
|
|
16
16
|
<style>body{background:#0a0a1a;color:#fff;font-family:-apple-system,sans-serif;padding:24px}
|
|
17
17
|
.btn{display:block;padding:10px 14px;margin-bottom:4px;background:rgba(255,255,255,0.06);
|
|
18
18
|
border:1px solid rgba(255,255,255,0.1);border-radius:6px;color:#fff;text-decoration:none;font-size:12px}
|
|
@@ -21,15 +21,15 @@ module.exports=[78386,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(23310
|
|
|
21
21
|
font-weight:700;font-size:13px;cursor:pointer;border:none;margin-bottom:16px}</style></head>
|
|
22
22
|
<body><h3 style="color:#FF6B35">Top ${Math.min(10,a.length)} to connect</h3>
|
|
23
23
|
<button class="oa" onclick="document.querySelectorAll('.btn').forEach((a,i)=>setTimeout(()=>a.click(),i*300))">
|
|
24
|
-
Open All</button>${a.slice(0,10).map(a=>'<a class="btn" href="'+a+'" target="_blank">'+a.split("/in/")[1]?.replace("/","")+"</a>").join("")}</body></html>`;window.open(URL.createObjectURL(new Blob([b],{type:"text/html"})),"_blank")},style:{padding:"4px 10px",borderRadius:4,border:"none",cursor:"pointer",background:"#0077B5",color:"#fff",fontSize:9,fontWeight:700,whiteSpace:"nowrap"},children:["Open Top ",Math.min(10,c.length)]})]})]})})():(0,b.jsxs)("div",{style:{padding:"6px 10px",marginBottom:4,background:"tier"===
|
|
24
|
+
Open All</button>${a.slice(0,10).map(a=>'<a class="btn" href="'+a+'" target="_blank">'+a.split("/in/")[1]?.replace("/","")+"</a>").join("")}</body></html>`;window.open(URL.createObjectURL(new Blob([b],{type:"text/html"})),"_blank")},style:{padding:"4px 10px",borderRadius:4,border:"none",cursor:"pointer",background:"#0077B5",color:"#fff",fontSize:9,fontWeight:700,whiteSpace:"nowrap"},children:["Open Top ",Math.min(10,c.length)]})]})]})})():(0,b.jsxs)("div",{style:{padding:"6px 10px",marginBottom:4,background:"tier"===P?`${z[a]||"#555"}15`:"rgba(255,255,255,0.04)",borderLeft:`3px solid ${"tier"===P?z[a]||"#555":"#FF6B35"}`,borderRadius:4,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,b.jsx)("span",{style:{fontSize:11,fontWeight:700,color:"tier"===P?z[a]||"#888":"#FF6B35"},children:"tier"===P?`${a}-Tier`:a}),(0,b.jsx)("span",{style:{fontSize:10,color:"#666"},children:c.length})]}),"bridge"===P?["S","A","B"].map(a=>{let d=c.filter(b=>b.tier===a);return 0===d.length?null:(0,b.jsxs)("div",{style:{marginBottom:6},children:[(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"3px 8px",marginBottom:2,borderLeft:`2px solid ${z[a]}`},children:[(0,b.jsx)("input",{type:"checkbox",checked:d.every(a=>r.has(a.id)),onChange:()=>{let a=d.every(a=>r.has(a.id));s(b=>{let c=new Set(b);return d.forEach(b=>{a?c.delete(b.id):c.add(b.id)}),c})},style:{cursor:"pointer",flexShrink:0}}),(0,b.jsx)("div",{style:{width:6,height:6,borderRadius:"50%",background:z[a]}}),(0,b.jsxs)("span",{style:{fontSize:9,fontWeight:700,color:z[a]},children:[a,"-Tier"]}),(0,b.jsx)("span",{style:{fontSize:8,color:"#555"},children:d.length}),(0,b.jsxs)("button",{onClick:()=>{if(1===d.length)return void window.open(d[0].profile_url,"_blank");let b=`<!DOCTYPE html><html><head><title>${a}-Tier — ${d.length}</title>
|
|
25
25
|
<style>body{background:#0a0a1a;color:#fff;font-family:-apple-system,sans-serif;padding:24px}
|
|
26
26
|
.btn{display:block;padding:10px 14px;margin-bottom:4px;background:rgba(255,255,255,0.06);
|
|
27
27
|
border:1px solid rgba(255,255,255,0.1);border-radius:6px;color:#fff;text-decoration:none;font-size:12px}
|
|
28
28
|
.btn:hover{background:rgba(0,119,181,0.2)}
|
|
29
29
|
.oa{display:inline-block;padding:10px 20px;background:#0077B5;color:#fff;border-radius:6px;
|
|
30
30
|
font-weight:700;font-size:13px;cursor:pointer;border:none;margin-bottom:16px}</style></head>
|
|
31
|
-
<body><h3 style="color:${
|
|
31
|
+
<body><h3 style="color:${z[a]}">${a}-Tier (${d.length})</h3>
|
|
32
32
|
<button class="oa" onclick="document.querySelectorAll('.btn').forEach((a,i)=>setTimeout(()=>a.click(),i*300))">
|
|
33
|
-
Open All</button>${d.map(a=>'<a class="btn" href="'+a.profile_url+'" target="_blank">'+a.name+" · "+parseFloat(a.power_score||0).toFixed(1)+"</a>").join("")}</body></html>`;window.open(URL.createObjectURL(new Blob([b],{type:"text/html"})),"_blank")},style:{marginLeft:"auto",padding:"2px 8px",borderRadius:3,border:"none",cursor:"pointer",background:"#0077B5",color:"#fff",fontSize:8,fontWeight:700},children:["Open All ",a]})]}),d.map(a=>(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"5px 8px 5px 16px",borderBottom:"1px solid rgba(255,255,255,0.02)",background:
|
|
33
|
+
Open All</button>${d.map(a=>'<a class="btn" href="'+a.profile_url+'" target="_blank">'+a.name+" · "+parseFloat(a.power_score||0).toFixed(1)+"</a>").join("")}</body></html>`;window.open(URL.createObjectURL(new Blob([b],{type:"text/html"})),"_blank")},style:{marginLeft:"auto",padding:"2px 8px",borderRadius:3,border:"none",cursor:"pointer",background:"#0077B5",color:"#fff",fontSize:8,fontWeight:700},children:["Open All ",a]})]}),d.map(a=>(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"5px 8px 5px 16px",borderBottom:"1px solid rgba(255,255,255,0.02)",background:r.has(a.id)?"rgba(255,215,0,0.05)":"transparent",cursor:"pointer"},onMouseEnter:b=>{r.has(a.id)||(b.currentTarget.style.background="rgba(255,255,255,0.04)")},onMouseLeave:b=>{r.has(a.id)||(b.currentTarget.style.background="transparent")},children:[(0,b.jsx)("input",{type:"checkbox",checked:r.has(a.id),onChange:()=>Y(a.id),onClick:a=>a.stopPropagation(),style:{cursor:"pointer",flexShrink:0}}),(0,k.localPhoto)(a.profile_image_url)?(0,b.jsx)("img",{src:(0,k.localPhoto)(a.profile_image_url),alt:"",style:{width:28,height:28,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${z[a.tier]||"#555"}`},onError:a=>{a.target.style.display="none"}}):(0,b.jsx)("div",{style:{width:28,height:28,borderRadius:"50%",flexShrink:0,fontSize:10,fontWeight:700,background:z[a.tier]||"#555",color:"S"===a.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},onClick:()=>Y(a.id),children:[(0,b.jsx)("div",{style:{fontSize:11,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,b.jsx)("div",{style:{fontSize:8,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.headline?.substring(0,45)})]}),(0,b.jsx)("span",{style:{fontSize:9,fontWeight:700,color:z[a.tier],flexShrink:0},children:parseFloat(a.power_score||0).toFixed(1)}),R.has(a.id)?(0,b.jsx)("span",{style:{padding:"3px 6px",borderRadius:3,fontSize:8,fontWeight:700,background:"rgba(255,107,53,0.15)",color:"#FF6B35",flexShrink:0},children:"Sent"}):(0,b.jsx)("a",{href:a.profile_url,target:"_blank",rel:"noopener noreferrer",onClick:b=>{b.stopPropagation(),(0,w.markRequested)(a,{bridgeId:a.source_connection_id}).catch(()=>{})},style:{padding:"3px 6px",borderRadius:3,fontSize:8,fontWeight:700,background:"#0077B5",color:"#fff",textDecoration:"none",flexShrink:0},children:"Add"})]},a.id))]},a)}):c.map(a=>(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 8px",borderBottom:"1px solid rgba(255,255,255,0.03)",background:r.has(a.id)?"rgba(255,215,0,0.05)":"transparent",cursor:"pointer"},onMouseEnter:b=>{r.has(a.id)||(b.currentTarget.style.background="rgba(255,255,255,0.04)")},onMouseLeave:b=>{r.has(a.id)||(b.currentTarget.style.background="transparent")},children:[(0,b.jsx)("input",{type:"checkbox",checked:r.has(a.id),onChange:()=>Y(a.id),onClick:a=>a.stopPropagation(),style:{cursor:"pointer",flexShrink:0}}),(0,k.localPhoto)(a.profile_image_url)?(0,b.jsx)("img",{src:(0,k.localPhoto)(a.profile_image_url),alt:"",style:{width:32,height:32,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${z[a.tier]||"#555"}`},onError:a=>{a.target.style.display="none",a.target.nextSibling.style.display="flex"}}):null,(0,b.jsx)("div",{style:{width:32,height:32,borderRadius:"50%",flexShrink:0,fontSize:12,fontWeight:700,background:z[a.tier]||"#555",color:"S"===a.tier?"#000":"#fff",display:(0,k.localPhoto)(a.profile_image_url)?"none":"flex",alignItems:"center",justifyContent:"center"},children:a.name?.charAt(0)}),(0,b.jsxs)("div",{style:{flex:1,minWidth:0},onClick:()=>Y(a.id),children:[(0,b.jsx)("div",{style:{fontSize:12,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.name}),(0,b.jsx)("div",{style:{fontSize:9,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.headline?.substring(0,50)})]}),a.bridge&&(0,b.jsxs)("span",{style:{fontSize:8,color:"#555",flexShrink:0,maxWidth:60,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:["via ",a.bridge.name?.split(" ")[0]]}),(0,b.jsx)("div",{style:{textAlign:"right",flexShrink:0,minWidth:32},children:(0,b.jsx)("div",{style:{fontSize:10,fontWeight:700,color:z[a.tier]},children:parseFloat(a.power_score).toFixed(1)})}),R.has(a.id)?(0,b.jsx)("span",{style:{padding:"4px 8px",borderRadius:4,fontSize:9,fontWeight:700,background:"rgba(255,107,53,0.15)",color:"#FF6B35",flexShrink:0},children:"⏳ Sent"}):(0,b.jsx)("a",{href:a.profile_url,target:"_blank",rel:"noopener noreferrer",onClick:b=>{b.stopPropagation(),(0,w.markRequested)(a,{bridgeId:a.source_connection_id}).catch(()=>{})},style:{padding:"4px 8px",borderRadius:4,fontSize:9,fontWeight:700,background:"#0077B5",color:"#fff",textDecoration:"none",flexShrink:0},children:"Add"})]},a.id))]},a))]})]})})]})}a.s(["default",0,function(){return(0,b.jsx)(s.default,{children:(0,b.jsx)(A,{})})}],78386)}];
|
|
34
34
|
|
|
35
35
|
//# sourceMappingURL=app_queue_page_0c6znd6.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[94264,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(38246),e=a.i(36839),f=a.i(16874),g=a.i(803),h=a.i(79663),i=a.i(59534),j=a.i(54919),k=a.i(30889),l=a.i(76939);a.i(42510);var m=a.i(31483);let n={lean:"Lean",strong:"Strong"},o=["wheel","touchstart","keydown","pointerdown"],p={1:"1st",2:"2nd",3:"3rd"},q=(a,b,c=`${b}s`)=>`${a.toLocaleString()} ${1===a?b:c}`,r=i.DIRECTORY.filter(a=>"function"===a.kind).map(a=>a.label);function s(a,b,c){let[d,e]=c?["moved","moved"]:["moves","move"];if(!a&&!b)return c?"No one changed tier.":"No one changes tier.";let f=a=>1===a?d:e;return a&&b?`${q(a,"person","people")} ${f(a)} up a tier and ${b.toLocaleString()} ${f(b)} down.`:a?`${q(a,"person","people")} ${f(a)} up a tier.`:`${q(b,"person","people")} ${f(b)} down a tier.`}function t({onSaved:a}={}){let[d,e]=(0,c.useState)(null),[i,l]=(0,c.useState)(null),[p,v]=(0,c.useState)(null),[w,x]=(0,c.useState)(!1),[y,z]=(0,c.useState)(null),[A,B]=(0,c.useState)(null),[C,D]=(0,c.useState)({loading:!0}),[E]=(0,c.useState)(()=>null),F=(0,c.useRef)(null),G=(0,c.useRef)(0),H=(0,c.useRef)(!1);function I(a){l(a),z(null),clearTimeout(F.current);let b=++G.current;if((0,h.sameFocus)(a,d))return void v(null);let c=(0,h.focusFingerprint)(a);v({key:c,loading:!0}),F.current=setTimeout(async()=>{try{let d=await fetch("/api/settings/sector-preview",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sectorFocus:a})}),e=await d.json();if(b!==G.current)return;v(d.ok?{key:c,...e}:{key:c,error:e.error||"Could not work out what would change."})}catch{b===G.current&&v({key:c,error:"Could not reach the app to work out what would change."})}},250)}async function J(){var b,c;let d;x(!0),z(null),clearTimeout(F.current),G.current++;let f=await (0,m.saveSettings)({sectorFocus:i});(x(!1),f.settings&&(e(f.settings.sectorFocus),l(f.settings.sectorFocus),v(null)),f.error)?z({tone:"bad",text:f.error}):(z({tone:"ok",text:(b=f.settings.sectorFocus,c=f.effects?.sectorFocus,d=b.sectors.length?`Saved: ${b.sectors.map(a=>(0,j.sectorByKey)(a).label).join(" · ")} (${n[b.strength].toLowerCase()}).`:"Saved: no sector.",c?c.scored?`${d} Rescored your network (${q(c.people??c.scored,"person","people")}). ${s(c.up,c.down,!0)}`:`${d} There's no scanned network yet; it will apply when you scan.`:d)}),a?.())}(0,c.useEffect)(()=>{let a=!1;return fetch("/api/settings").then(a=>a.json().then(b=>a.ok?b:Promise.reject(Error(b.error||"Could not load your sector.")))).then(b=>{if(a)return;let c=b.settings?.sectorFocus||{sectors:[],strength:"lean"};e(c),l(c)}).catch(b=>{a||B(b.message)}),fetch("/api/settings/sector-suggestions").then(a=>a.json().then(b=>a.ok?b:Promise.reject(Error(b.error||"Could not load suggestions.")))).then(b=>{a||D({scored:b.scored,list:b.suggestions||[]})}).catch(b=>{a||D({error:b.message})}),()=>{a=!0,clearTimeout(F.current)}},[]),(0,c.useEffect)(()=>{if(H.current||!i&&!A)return;H.current=!0;let a=document.getElementById("sector");if("#sector"!==window.location.hash||!a)return;let b=()=>a.scrollIntoView({block:"start"});b();let c=new ResizeObserver(b);c.observe(document.body);let d=()=>{for(let a of(c.disconnect(),clearTimeout(e),o))window.removeEventListener(a,d,!0)},e=setTimeout(d,2e3);for(let a of o)window.addEventListener(a,d,{capture:!0,passive:!0});return d},[i,A]);let K=i&&d&&!(0,h.sameFocus)(i,d);return(0,b.jsxs)(f.Section,{id:"sector",title:"Your sector",intro:"Pick up to three sectors you work in. Companies in them count for more when your network is scored, so the people there rank higher.",children:[A&&(0,b.jsx)(f.Status,{tone:"bad",children:A}),!i&&!A&&(0,b.jsx)(f.Body,{children:"Loading…"}),i&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.default,{sectors:i.sectors,onChange:a=>I({...i,sectors:a}),disabled:w,suggest:C}),(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:8,marginTop:14},children:[(0,b.jsx)("span",{style:{fontSize:13,color:"#8b9a9a"},children:"How much:"}),Object.keys(k.SECTOR_BONUS).map(a=>(0,b.jsxs)("button",{type:"button","aria-pressed":i.strength===a,disabled:w,onClick:()=>I({...i,strength:a}),style:{padding:"5px 12px",borderRadius:7,fontSize:12.5,fontWeight:600,cursor:"pointer",color:i.strength===a?"#fff":"#8b9a9a",background:i.strength===a?"rgba(52,152,219,0.25)":"transparent",border:f.LINE},children:[n[a]," · +",k.SECTOR_BONUS[a]]},a))]}),(0,b.jsx)(f.Body,{style:{fontSize:12.5},children:"Each company in your sectors gets +1 (lean) or +2 (strong) on its score out of 10, never above 10. A company in more than one of your picks still gets it once."}),(0,b.jsx)(u,{preview:K?p:null,draft:i}),(0,b.jsxs)("div",{style:{display:"flex",gap:8,flexWrap:"wrap",marginTop:14},children:[(0,b.jsx)(f.Btn,{primary:!0,onClick:J,disabled:!K||w,children:w?"Saving and rescoring…":"Save"}),K&&!w&&(0,b.jsx)(f.Btn,{onClick:()=>I(d),children:"Cancel"}),!K&&i.sectors.length>0&&!w&&(0,b.jsx)(f.Btn,{onClick:()=>I({...i,sectors:[]}),children:"Turn off"})]}),y&&(0,b.jsx)(f.Status,{tone:y.tone,children:y.text}),(0,b.jsxs)("ul",{style:{margin:"16px 0 0",paddingLeft:18,fontSize:12.5,color:"#778",lineHeight:1.7},children:[(0,b.jsx)("li",{children:"Tiers rank how reachable someone is through your network, not the people themselves."}),(0,b.jsxs)("li",{children:["A company score you set on ",(0,b.jsx)("a",{href:"#companies",style:{color:"#3498DB"},children:"Company scores"}),", below, always wins. Your sector never changes it."]}),(0,b.jsx)("li",{children:"If you scan highest tier first, people in your sectors come up sooner. Scanning newest first, the default, doesn’t go by tier."}),(0,b.jsx)("li",{children:"An industry includes its sectors. It counts a company in any of its sectors (Healthcare & Biotech counts a practice that is only in Dental), and a company whose industry the app’s list of well-known companies or the company’s own name gives (Meridian Health). Not one known only from its people’s job titles: a recruiter at Acme Widgets doesn’t make Acme a consulting firm."}),(0,b.jsx)("li",{children:"A narrower sector counts a company when its name says so (Smith Family Dental), it’s a well-known company in that sector, or at least half of the people you know there say so in their headlines (dentist, DDS, orthodontist). The words are a fixed list that comes with the app, the same on every computer. Nothing is sent anywhere."}),(0,b.jsxs)("li",{children:["Some sectors are work every kind of company has: ",r.length>1?`${r.slice(0,-1).join(", ")} and ${r.at(-1)}`:r.join(""),". For those a job title doesn’t count, since a recruiter at Acme Widgets doesn’t make it a recruiting firm. The company’s name does (Acme Staffing, Smith CPA), and so does a kind of firm in a headline (staffing agency, law firm, SaaS)."]}),E&&(0,b.jsxs)("li",{style:{color:"#FFD700"},children:["sample"===E?"The sample network":"The CSV import"," open in this window isn’t changed by this, and isn’t counted in the suggestions. Your sector applies to networks you’ve scanned."]})]})]})]})}function u({preview:a,draft:c}){if(!a||a.key!==(0,h.focusFingerprint)(c))return null;let d={marginTop:12,padding:"10px 14px",borderRadius:8,fontSize:13,lineHeight:1.6,border:f.LINE,background:"rgba(255,255,255,0.03)",color:"#cfd8d8"};if(a.loading)return(0,b.jsx)("div",{style:d,"aria-live":"polite",children:"Working out what would change…"});if(a.error)return(0,b.jsx)(f.Status,{tone:"bad",children:a.error});if(!a.scored)return(0,b.jsx)("div",{style:d,"aria-live":"polite",children:"There’s no scanned network yet, so nothing changes now. Your choice applies once you scan."});let e=(a,b)=>`${q(a,"company","companies")} ${1===a?"scores":"score"} ${b}`,g=[a.companiesUp&&e(a.companiesUp,"higher"),a.companiesDown&&e(a.companiesDown,"lower")].filter(Boolean).join(" and ");return(0,b.jsxs)("div",{style:d,"aria-live":"polite",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("b",{style:{color:"#fff"},children:"If you save:"})," ",g?`${g}.`:"No company changes score."," ",s(a.up,a.down,!1)]}),a.examples?.length>0&&(0,b.jsx)("div",{style:{marginTop:6,display:"flex",flexWrap:"wrap",gap:"4px 12px",fontSize:12.5},children:a.examples.map((a,c)=>(0,b.jsxs)("span",{title:a.company||void 0,children:[a.name,a.degree?(0,b.jsxs)("span",{style:{color:"#667"},children:[" (",p[a.degree]||`${a.degree}th`,")"]}):null," ",(0,b.jsx)("b",{style:{color:l.TIER_COLORS_CLASSIC[a.from]||"#889"},children:a.from||"–"})," → ",(0,b.jsx)("b",{style:{color:l.TIER_COLORS_CLASSIC[a.to]||"#889"},children:a.to})]},c))}),a.companyExamples?.length>0&&(0,b.jsx)("div",{style:{marginTop:4,fontSize:12,color:"#8b9a9a"},children:a.companyExamples.slice(0,3).map(a=>`${a.name} ${a.from} → ${a.to}`).join(" · ")})]})}let v=a=>`${Math.round(100*a)}%`,[w,x,y]=k.CURVE.map(([,a])=>a),z=[{key:"curve",label:"On your network's curve",note:`Your top ${v(w)} are S, the next ${v(x-w)} A and the next ${v(y-x)} B, so any network has a top, even one full of companies the app doesn't know. It only lifts: nobody drops a tier because their network is strong, and nobody under ${k.CURVE_FLOOR} is lifted into S or A.`},{key:"fixed",label:"On the fixed scale",note:"The same lines for everyone: S from 7.5, A from 5.5, B from 4, C from 2.5. Easy to compare from one network to another, but a network outside well-known companies has almost nobody in S or A."}];function A({onSaved:a}={}){let[d,e]=(0,c.useState)(null),[g,h]=(0,c.useState)(!1),[i,j]=(0,c.useState)(null),[k,l]=(0,c.useState)(null),[n]=(0,c.useState)(()=>null);async function o(b){if(g||b===d)return;h(!0),j(null);let{settings:c,effects:f,error:i}=await (0,m.saveSettings)({tierScale:b});if(c&&e(c.tierScale),i)j({tone:"bad",text:i});else{let b,c=f?.tierScale;j({tone:"ok",text:c?`Saved. ${b=c.moved,`${b.toLocaleString()} ${1===b?"person":"people"}`} changed tier.`:"Saved."}),a?.()}h(!1)}return(0,c.useEffect)(()=>{let a=!1;return fetch("/api/settings").then(a=>a.json().then(b=>a.ok?b:Promise.reject(Error(b.error||"Could not load how tiers are graded.")))).then(b=>{a||e(b.settings?.tierScale||"curve")}).catch(b=>{a||l(b.message)}),()=>{a=!0}},[]),(0,b.jsxs)(f.Section,{id:"tiers",title:"Tiers",intro:"How the S to D rings are drawn. A tier says where someone sits in your network, not what they're worth.",children:[k&&(0,b.jsx)(f.Status,{tone:"bad",children:k}),d&&(0,b.jsx)("div",{role:"radiogroup","aria-label":"How tiers are graded",style:{display:"grid",gap:8},children:z.map(a=>{let c=d===a.key;return(0,b.jsxs)("button",{type:"button",role:"radio","aria-checked":c,disabled:g,onClick:()=>o(a.key),style:{textAlign:"left",padding:"12px 14px",borderRadius:8,cursor:g?"wait":c?"default":"pointer",color:"#fff",background:c?"rgba(155,89,182,0.14)":"rgba(255,255,255,0.03)",border:c?"1px solid rgba(155,89,182,0.6)":f.LINE},children:[(0,b.jsxs)("div",{style:{fontSize:14,fontWeight:650},children:[c?"● ":"○ ",a.label,"curve"===a.key?" (recommended)":""]}),(0,b.jsx)(f.Body,{style:{marginTop:4},children:a.note})]},a.key)})}),n&&(0,b.jsxs)(f.Body,{style:{color:"#FFD700",marginTop:10},children:["sample"===n?"The sample network open in this window keeps its own tiers (they’re the same either way).":"The CSV import open in this window is always graded on its own curve."," ","This applies to networks you’ve scanned."]}),i&&(0,b.jsx)(f.Status,{tone:i.tone,children:i.text})]})}var B=a.i(90017),C=a.i(58834);let D={color:"#3498DB",textDecoration:"none",fontWeight:600};function E(){let[a,e]=(0,c.useState)(0),g=()=>e(a=>a+1);return C.IS_DEMO?(0,b.jsxs)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"rgba(255,255,255,0.7)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,textAlign:"center",padding:24,fontFamily:f.FONT},children:[(0,b.jsx)("h2",{style:{margin:0,fontSize:20,fontWeight:700,color:"#fff"},children:"Not part of the demo"}),(0,b.jsx)("p",{style:{margin:0,fontSize:13},children:"The public demo includes the Network Circle and Degrees views only."}),(0,b.jsx)(d.default,{href:"/",style:{fontSize:12,color:"rgba(255,255,255,0.5)",textDecoration:"none"},children:"← Back to the network"})]}):(0,b.jsxs)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"#fff",fontFamily:f.FONT},children:[(0,b.jsxs)("header",{style:{padding:"16px 24px",borderBottom:f.LINE,display:"flex",alignItems:"center",gap:16},children:[(0,b.jsx)(d.default,{href:"/",style:{display:"flex",alignItems:"center",gap:6,color:"#888",textDecoration:"none",fontSize:13,fontWeight:600,padding:"6px 14px",borderRadius:6,background:"rgba(255,255,255,0.06)",border:f.LINE},children:"← Back to Map"}),(0,b.jsx)("h1",{style:{fontSize:22,fontWeight:700,margin:0,background:"linear-gradient(135deg, #FFD700, #9B59B6, #3498DB)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Scores"})]}),(0,b.jsxs)("main",{style:{maxWidth:980,margin:"0 auto",padding:"8px 24px 64px"},children:[(0,b.jsxs)(f.Body,{style:{marginTop:16},children:["How someone’s power score is worked out, and the three things you can change about it:"," ",(0,b.jsx)("a",{href:"#sector",style:D,children:"your field"}),", ",(0,b.jsx)("a",{href:"#tiers",style:D,children:"how tiers are graded"})," and"," ",(0,b.jsx)("a",{href:"#companies",style:D,children:"any company’s score"}),". A change here rescores everyone."]}),(0,b.jsx)(t,{onSaved:g}),(0,b.jsx)(A,{onSaved:g}),(0,b.jsx)("div",{id:"companies",style:{marginTop:28},children:(0,b.jsx)(B.default,{version:a})})]})]})}a.s(["default",0,function(){return(0,b.jsx)(e.default,{children:(0,b.jsx)(E,{})})}],94264)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=app_scores_page_09wepvv.js.map
|