six-degrees 0.4.10 → 0.5.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 +9 -9
- package/.next/standalone/.next/routes-manifest.json +6 -0
- 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 +13 -13
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +12 -12
- 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 +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 +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 +1 -1
- 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 +3 -2
- package/.next/standalone/.next/server/app/api/scraper/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/route.js +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 +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 +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/social/crm/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/social/crm/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/social/crm/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/social/crm/route.js +10 -0
- package/.next/standalone/.next/server/app/api/social/crm/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/social/crm/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/social/crm/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/social/messages/route.js +4 -3
- package/.next/standalone/.next/server/app/api/social/messages/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/social/route.js +4 -3
- package/.next/standalone/.next/server/app/api/social/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 +15 -15
- package/.next/standalone/.next/server/app/import.segments/_full.segment.rsc +15 -15
- 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 +14 -14
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
- 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 +15 -15
- package/.next/standalone/.next/server/app/launch.segments/_full.segment.rsc +15 -15
- 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 +14 -14
- 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 +15 -15
- package/.next/standalone/.next/server/app/paths.segments/_full.segment.rsc +15 -15
- 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 +14 -14
- 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 +15 -15
- package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +15 -15
- 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 +14 -14
- 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 +15 -15
- package/.next/standalone/.next/server/app/queue.segments/_full.segment.rsc +15 -15
- 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 +14 -14
- package/.next/standalone/.next/server/app/scores/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/scores/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/scores.html +1 -1
- package/.next/standalone/.next/server/app/scores.rsc +15 -15
- package/.next/standalone/.next/server/app/scores.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/scores.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/scores.segments/scores/__PAGE__.segment.rsc +14 -14
- 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 +15 -15
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +15 -15
- 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 +14 -14
- 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 +15 -15
- package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +15 -15
- 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 +14 -14
- package/.next/standalone/.next/server/app/social/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/social/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/social.html +1 -1
- package/.next/standalone/.next/server/app/social.rsc +15 -15
- package/.next/standalone/.next/server/app/social.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/social.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/social.segments/social/__PAGE__.segment.rsc +14 -14
- package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0bat8nx._.js → [root-of-the-server]__05_3-22._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t3v1a1._.js +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__06mi9k2._.js → [root-of-the-server]__13dx4sd._.js} +7 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__15wc9e-._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1kbl21f._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1tir0vc._.js +8 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__20rwfdw._.js +8 -0
- package/.next/standalone/.next/server/chunks/_072jl0y._.js +1 -1
- package/.next/standalone/.next/server/chunks/_0ea9qwy._.js +1 -1
- package/.next/standalone/.next/server/chunks/_1_fynia._.js +7 -7
- 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/_1oqfuh8._.js +3 -0
- package/.next/standalone/.next/server/chunks/_1xh07bp._.js +1 -1
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_social_crm_route_actions_0d1aflv.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_0851sk0._.js +8 -0
- package/.next/standalone/.next/server/chunks/lib_1q7p2ro._.js +8 -0
- package/.next/standalone/.next/server/chunks/lib_1r6l86l._.js +8 -0
- package/.next/standalone/.next/server/chunks/lib_db-client_15le7cw.js +8 -8
- package/.next/standalone/.next/server/chunks/lib_linkedin-export_12imqxg.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_04s8mzr.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_053z7as.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0b_-2te.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0dhbxdm.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0dxlk31.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0f8b-qc.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0pzie7_.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0r76fq_.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0ut7pjp.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_15zyqaz.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_18zpjtq.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1a8xkiz.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1e_55xo.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1oxfd1_.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1s0lod0.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_scoring_1-e4ur0.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_01kacen._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_03l7vge._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_1ap1tu_._.js → _0gtv9jb._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0jdkqgi._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0xi-fbs._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0xmwmfv._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_1-b9hj7._.js +9 -0
- package/.next/standalone/.next/server/chunks/ssr/_112ewem._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_16ab63q._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_1fxm0-s._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_1ra1d3r._.js +9 -0
- package/.next/standalone/.next/server/chunks/ssr/app_141w189._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/app_page_1fazqbf.js +22 -10
- package/.next/standalone/.next/server/chunks/ssr/app_paths_page_1ol90m7.js +2 -2
- 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 +6 -5
- 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 +19 -3
- package/.next/standalone/.next/server/chunks/ssr/app_social_page_0h7zxda.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/lib_0i8v-s3._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/lib_13rapwj._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/lib_galaxy-lab_108_lu-.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/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- 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/03bziijw5srol.js +1 -0
- package/.next/standalone/.next/static/chunks/0bgq8wmopl_ig.js +7 -0
- package/.next/standalone/.next/static/chunks/0ezus6p2eb-vg.js +1 -0
- package/.next/standalone/.next/static/chunks/0g_fy2034bp0x.js +34 -0
- package/.next/standalone/.next/static/chunks/0q5dru4q6gxl5.js +22 -0
- package/.next/standalone/.next/static/chunks/0w-byiwb2zax8.js +2 -0
- package/.next/standalone/.next/static/chunks/1g7jcovdejc9-.js +1 -0
- package/.next/standalone/.next/static/chunks/1i51yylxdzht1.js +1 -0
- package/.next/{static/chunks/1xptlvtcz6654.css → standalone/.next/static/chunks/1x_ysly42-teq.css} +1 -1
- package/.next/standalone/.next/static/chunks/1zf8swaasjf1e.js +43 -0
- package/.next/standalone/.next/static/chunks/2rqtpccruavf2.js +1 -0
- package/.next/standalone/.next/static/chunks/2wgz9ietkqqe6.js +1 -0
- package/.next/standalone/.next/static/chunks/30x3oq_st7a5r.js +1 -0
- package/.next/standalone/.next/static/chunks/355ryio1b7sm1.js +1 -0
- package/.next/standalone/.next/static/chunks/3ap5hgma7n0o7.js +1 -0
- package/.next/standalone/.next/static/chunks/3fci6qi39-1n5.js +1 -0
- package/.next/standalone/.next/static/chunks/{24tvdun1cb3g1.js → 3sowbvbaj1s6n.js} +1 -1
- package/.next/standalone/CHANGELOG.md +235 -0
- package/.next/standalone/app/api/data/export/route.js +2 -1
- package/.next/standalone/app/api/ingest/route.js +40 -1
- package/.next/standalone/app/api/scraper/route.js +12 -2
- package/.next/standalone/app/api/settings/sector-preview/route.js +2 -1
- package/.next/standalone/app/api/social/crm/route.js +37 -0
- package/.next/standalone/app/api/social/messages/route.js +44 -8
- package/.next/standalone/app/api/social/route.js +80 -22
- package/.next/standalone/app/components/AppTabs.js +59 -0
- package/.next/standalone/app/components/ChainView.js +303 -89
- package/.next/standalone/app/components/CirclePanel.js +162 -0
- package/.next/standalone/app/components/CompanyScores.js +2 -2
- package/.next/standalone/app/components/FieldStep.js +4 -4
- package/.next/standalone/app/components/FilterPanel.js +121 -183
- package/.next/standalone/app/components/ForceGraph.js +41 -3
- package/.next/standalone/app/components/GalaxyLab.js +26 -31
- package/.next/standalone/app/components/LegacyScoresCard.js +2 -2
- package/.next/standalone/app/components/MapControls.js +154 -0
- package/.next/standalone/app/components/NoteDetail.js +118 -0
- package/.next/standalone/app/components/PathsAnalyzer.js +147 -110
- package/.next/standalone/app/components/PeopleMap.js +308 -0
- package/.next/standalone/app/components/ScanRadar.js +129 -0
- package/.next/standalone/app/components/ScanStatusBar.js +72 -27
- package/.next/standalone/app/components/SeparationView.js +626 -118
- package/.next/standalone/app/components/Sidebar.js +28 -2
- package/.next/standalone/app/components/settings/DataSection.js +12 -3
- package/.next/standalone/app/components/settings/NetworkHealthSection.js +1 -1
- package/.next/standalone/app/components/settings/SectorSection.js +2 -2
- package/.next/standalone/app/components/settings/TierSection.js +1 -1
- package/.next/standalone/app/components/settings/TitleSection.js +149 -0
- package/.next/standalone/app/components/views.js +15 -14
- package/.next/standalone/app/globals.css +11 -0
- package/.next/standalone/app/page.js +89 -156
- package/.next/standalone/app/paths/page.js +39 -27
- package/.next/standalone/app/profile/page.js +33 -5
- package/.next/standalone/app/queue/page.js +56 -34
- package/.next/standalone/app/scores/page.js +16 -66
- package/.next/standalone/app/settings/page.js +27 -13
- package/.next/standalone/app/setup/page.js +298 -205
- package/.next/standalone/app/social/Crm.js +683 -0
- package/.next/standalone/app/social/SocialHub.js +374 -0
- package/.next/standalone/app/social/Thread.js +90 -0
- package/.next/standalone/app/social/page.js +10 -351
- package/.next/standalone/lib/chain-layout.js +105 -35
- package/.next/standalone/lib/data-export.js +10 -4
- package/.next/standalone/lib/data-folder.js +9 -0
- package/.next/standalone/lib/data-import.js +13 -3
- package/.next/standalone/lib/degrees.js +0 -6
- package/.next/standalone/lib/dot-rings.js +25 -0
- package/.next/standalone/lib/galaxy-lab.js +65 -6
- package/.next/standalone/lib/ingest.js +2 -0
- package/.next/standalone/lib/island.js +40 -0
- package/.next/standalone/lib/linkedin-export.js +267 -46
- package/.next/standalone/lib/linkedin-limits.js +6 -2
- package/.next/standalone/lib/map-heat.js +20 -0
- package/.next/standalone/lib/network-health.js +1 -1
- package/.next/standalone/lib/notifications.js +121 -0
- package/.next/standalone/lib/people-map.js +82 -0
- package/.next/standalone/lib/rarity.js +45 -3
- package/.next/standalone/lib/reach.js +7 -6
- package/.next/standalone/lib/rpc.js +15 -4
- package/.next/standalone/lib/scan-pace.js +46 -0
- package/.next/standalone/lib/scoring.js +39 -8
- package/.next/standalone/lib/scraper-client.js +19 -6
- package/.next/standalone/lib/sector-focus.js +4 -4
- package/.next/standalone/lib/separation.js +137 -10
- package/.next/standalone/lib/settings-effects.js +20 -11
- package/.next/standalone/lib/settings.js +3 -0
- package/.next/standalone/lib/social-crm.js +415 -0
- package/.next/standalone/lib/social-store.js +13 -6
- package/.next/standalone/lib/tier-grid.js +99 -0
- package/.next/standalone/lib/title-ranking.js +83 -0
- package/.next/standalone/package-lock.json +2 -2
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/scripts/scrape.py +177 -35
- package/.next/static/chunks/03bziijw5srol.js +1 -0
- package/.next/static/chunks/0bgq8wmopl_ig.js +7 -0
- package/.next/static/chunks/0ezus6p2eb-vg.js +1 -0
- package/.next/static/chunks/0g_fy2034bp0x.js +34 -0
- package/.next/static/chunks/0q5dru4q6gxl5.js +22 -0
- package/.next/static/chunks/0w-byiwb2zax8.js +2 -0
- package/.next/static/chunks/1g7jcovdejc9-.js +1 -0
- package/.next/static/chunks/1i51yylxdzht1.js +1 -0
- package/.next/{standalone/.next/static/chunks/1xptlvtcz6654.css → static/chunks/1x_ysly42-teq.css} +1 -1
- package/.next/static/chunks/1zf8swaasjf1e.js +43 -0
- package/.next/static/chunks/2rqtpccruavf2.js +1 -0
- package/.next/static/chunks/2wgz9ietkqqe6.js +1 -0
- package/.next/static/chunks/30x3oq_st7a5r.js +1 -0
- package/.next/static/chunks/355ryio1b7sm1.js +1 -0
- package/.next/static/chunks/3ap5hgma7n0o7.js +1 -0
- package/.next/static/chunks/3fci6qi39-1n5.js +1 -0
- package/.next/static/chunks/{24tvdun1cb3g1.js → 3sowbvbaj1s6n.js} +1 -1
- package/CHANGELOG.md +235 -0
- package/lib/chain-layout.js +105 -35
- package/lib/data-export.js +10 -4
- package/lib/data-folder.js +9 -0
- package/lib/data-import.js +13 -3
- package/lib/degrees.js +0 -6
- package/lib/dot-rings.js +25 -0
- package/lib/galaxy-lab.js +65 -6
- package/lib/ingest.js +2 -0
- package/lib/island.js +40 -0
- package/lib/linkedin-export.js +267 -46
- package/lib/linkedin-limits.js +6 -2
- package/lib/map-heat.js +20 -0
- package/lib/network-health.js +1 -1
- package/lib/notifications.js +121 -0
- package/lib/people-map.js +82 -0
- package/lib/rarity.js +45 -3
- package/lib/reach.js +7 -6
- package/lib/rpc.js +15 -4
- package/lib/scan-pace.js +46 -0
- package/lib/scoring.js +39 -8
- package/lib/scraper-client.js +19 -6
- package/lib/sector-focus.js +4 -4
- package/lib/separation.js +137 -10
- package/lib/settings-effects.js +20 -11
- package/lib/settings.js +3 -0
- package/lib/social-crm.js +415 -0
- package/lib/social-store.js +13 -6
- package/lib/tier-grid.js +99 -0
- package/lib/title-ranking.js +83 -0
- package/package.json +1 -1
- package/scripts/scrape.py +177 -35
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__08f5awg._.js +0 -8
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__17hjtzl._.js +0 -8
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__20tmem7._.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_18cr1gi._.js +0 -8
- package/.next/standalone/.next/server/chunks/lib_rpc_03i8xef.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_08fc3rp.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_08r2t_q.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0btpv1t.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0c9d9ti.js +0 -8
- package/.next/standalone/.next/server/chunks/lib_rpc_0cm2ev3.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0iovswz.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0is8flp.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0v8ajtd.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0xgmvvt.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_144mzbf.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_1bggi0n.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_1dkcu9f.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_1o0jb6w.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0c_y09g._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0ezj4e0._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0j4-lc3._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0l8cxmo._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0xkur4p._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_14iv_zy._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_15x6q32._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_1errbuf._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_212xw8q._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/app_components_19c2d9c._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/app_scores_page_09wepvv.js +0 -3
- package/.next/standalone/.next/static/chunks/07dyt47mp4s9-.js +0 -1
- package/.next/standalone/.next/static/chunks/0a5iadnmt9u9k.js +0 -1
- package/.next/standalone/.next/static/chunks/160wjb73ddwqd.js +0 -6
- package/.next/standalone/.next/static/chunks/1c_n0973t07l0.js +0 -2
- package/.next/standalone/.next/static/chunks/1e1n0kkz-psdb.js +0 -1
- package/.next/standalone/.next/static/chunks/206rm6j42gl_a.js +0 -1
- package/.next/standalone/.next/static/chunks/236f0jtp68j_h.js +0 -1
- package/.next/standalone/.next/static/chunks/2coxzjm_k6ilr.js +0 -1
- package/.next/standalone/.next/static/chunks/2kfhc58df2xyo.js +0 -1
- package/.next/standalone/.next/static/chunks/2pw6_osz1n_te.js +0 -1
- package/.next/standalone/.next/static/chunks/39hr8d-b2ibtw.js +0 -31
- package/.next/standalone/.next/static/chunks/3zw8bv7-mc4n6.js +0 -33
- package/.next/standalone/app/components/OrbitGraph.js +0 -737
- package/.next/standalone/app/social/Conversations.js +0 -246
- package/.next/static/chunks/07dyt47mp4s9-.js +0 -1
- package/.next/static/chunks/0a5iadnmt9u9k.js +0 -1
- package/.next/static/chunks/160wjb73ddwqd.js +0 -6
- package/.next/static/chunks/1c_n0973t07l0.js +0 -2
- package/.next/static/chunks/1e1n0kkz-psdb.js +0 -1
- package/.next/static/chunks/206rm6j42gl_a.js +0 -1
- package/.next/static/chunks/236f0jtp68j_h.js +0 -1
- package/.next/static/chunks/2coxzjm_k6ilr.js +0 -1
- package/.next/static/chunks/2kfhc58df2xyo.js +0 -1
- package/.next/static/chunks/2pw6_osz1n_te.js +0 -1
- package/.next/static/chunks/39hr8d-b2ibtw.js +0 -31
- package/.next/static/chunks/3zw8bv7-mc4n6.js +0 -33
- /package/.next/standalone/.next/static/{7zWJnSkfSoRhRsqY6ZKtD → I-cj79yE2IZ8taX2dZGp3}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{7zWJnSkfSoRhRsqY6ZKtD → I-cj79yE2IZ8taX2dZGp3}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{7zWJnSkfSoRhRsqY6ZKtD → I-cj79yE2IZ8taX2dZGp3}/_ssgManifest.js +0 -0
- /package/.next/static/{7zWJnSkfSoRhRsqY6ZKtD → I-cj79yE2IZ8taX2dZGp3}/_buildManifest.js +0 -0
- /package/.next/static/{7zWJnSkfSoRhRsqY6ZKtD → I-cj79yE2IZ8taX2dZGp3}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{7zWJnSkfSoRhRsqY6ZKtD → I-cj79yE2IZ8taX2dZGp3}/_ssgManifest.js +0 -0
|
@@ -1,4 +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(54433),o=a.i(64110),p=a.i(90017),q=a.i(9282);let r={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},s="1px solid rgba(255,255,255,0.1)",t=[...q.INDUSTRIES,q.UNKNOWN_INDUSTRY];function u(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 v({value:a,onChange:c,options:d}){return(0,b.jsx)("div",{style:{display:"flex",borderRadius:7,overflow:"hidden",border:s},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 w(a,b){return("all"===b.degree||String(a.degree)===b.degree)&&("senior"!==b.seniority||!!(0,q.isSenior)(a.headline))&&("csuite"!==b.seniority||!((0,q.getSeniority)(a.headline).level<6))&&("SA"!==b.tier||"S"===a.tier||"A"===a.tier)}function x({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),p=(0,c.useMemo)(()=>[...a,...d,...e],[a,d,e]),r=(0,c.useMemo)(()=>(0,q.buildCompanyIndex)(p),[p]),s=(0,c.useMemo)(()=>(0,q.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=>w(a,h));d.length&&b.push({...c,shown:d})}return b.sort((a,b)=>b.shown.length-a.shown.length)},[r,h,j,l]),v=(0,c.useMemo)(()=>{let a=new Map(t.map(a=>[a.key,{...a,people:[],companies:new Map}])),b=new Set;for(let c of p){let d=c.profile_url||`id:${c.id}`;if(b.has(d)||(b.add(d),!w(c,h)))continue;let e=(0,q.companyOf)(c),f=e?r.get(e)?.industry||(0,q.industryOf)(e,c.headline):(0,q.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)},[p,r,h]),A=n?.kind==="company"?r.get(n.key):n?.kind==="industry"?v.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)(y,{filters:h,setFilters:i,query:l,setQuery:m,industries:v,hidden:j,setHidden:k,onIndustry:a=>o({kind:"industry",key:a})}),"map"===f?(0,b.jsx)(z,{companies:u,links:s,focus:n,onCompany:a=>o({kind:"company",key:a}),onIndustry:a=>o({kind:"industry",key:a}),onClear:()=>o(null)}):(0,b.jsx)(B,{industries:v,index:r,d1:a,d2:d,onIndustry:a=>o({kind:"industry",key:a}),onCompany:a=>o({kind:"company",key:a})})]}),A&&(0,b.jsx)(D,{focus:n,data:A,index:r,links:s,d1:a,d2:d,filters:h,onClose:()=>o(null),onCompany:a=>o({kind:"company",key:a}),onOpenCompany:g})]})}function y({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:s,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:s,background:"rgba(255,255,255,0.05)",color:"#fff",fontSize:13,minWidth:170}}),(0,b.jsx)(v,{value:a.degree,onChange:a=>j("degree",a),options:[["all","All degrees"],["1","1st"],["2","2nd"],["3","3rd"]]}),(0,b.jsx)(v,{value:a.seniority,onChange:a=>j("seniority",a),options:[["all","Any level"],["senior","Director+"],["csuite","C-suite"]]}),(0,b.jsx)(v,{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 z({companies:a,links:d,focus:e,onCompany:f,onIndustry:g,onClear:h}){let i=(0,c.useRef)(null),{w:p,h:s}=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),[t,v]=(0,c.useState)(null),w=(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+(u(a.name)-.5)*40,y:f.get(a.industry.key).y+(u(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",(0,n.forceX)(a=>f.get(a.co.industry.key).x).strength(.12)).force("y",(0,o.forceY)(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 p=g.flatMap(a=>[a.x-a.r,a.x+a.r]),r=g.flatMap(a=>[a.y-a.r,a.y+a.r]),s=g.length?{x:Math.min(...p)-60,y:Math.min(...r)-40,w:Math.max(...p)-Math.min(...p)+120,h:Math.max(...r)-Math.min(...r)+80}:{x:-300,y:-300,w:600,h:600},t=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,q.industryByKey)(a)}});for(let a of t){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(s.x+s.w,c+b+10);s.x=Math.min(s.x,c-10),s.w=d-s.x;let e=Math.max(s.y+s.h,a.y+12);s.y=Math.min(s.y,a.y-18),s.h=e-s.y}return s.h+=Math.max(60,.1*s.h),{nodes:g,edges:h,box:s,labels:t,cut:Math.max(0,a.length-b.length)}},[a,d]),x=t||(e?.kind==="company"?e.key:null),y=e?.kind==="industry"?e.key:null,A=(0,c.useMemo)(()=>{if(!x)return null;let a=new Set([x]);for(let b of w.edges)b.source.id===x&&a.add(b.target.id),b.target.id===x&&a.add(b.source.id);return a},[x,w]),B=(0,c.useMemo)(()=>new Set(w.nodes.slice(0,28).map(a=>a.id)),[w]);return(0,b.jsxs)("div",{ref:i,style:{flex:1,minHeight:360,position:"relative"},onClick:h,children:[p>0&&(0,b.jsxs)("svg",{width:p,height:s,viewBox:`${w.box.x} ${w.box.y} ${w.box.w} ${w.box.h}`,style:{display:"block"},children:[(0,b.jsx)("g",{children:w.edges.map((a,c)=>{let d=x&&(a.source.id===x||a.target.id===x);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:x?.04:.14,strokeWidth:d?1+Math.log2(1+a.weight):.4+.5*Math.log2(1+a.weight)},c)})}),w.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:y&&y!==a.key?.25:.85,style:{cursor:"pointer"},onClick:b=>{b.stopPropagation(),g(a.key)},children:a.ind.label},a.key)),w.nodes.map(a=>{let c=A&&!A.has(a.id)||y&&a.co.industry.key!==y,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:()=>v(a.id),onMouseLeave:()=>v(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?r.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}),(B.has(a.id)||a.id===x||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.",w.cut?` Showing the 140 largest; ${w.cut} smaller companies are in Industries.`:""]})]})}function A({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 B({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,q.companyOf)(a),e=c?d.get(c)?.industry.key:(0,q.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,q.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:s,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)(A,{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:s,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:r[k.bridge.tier]||"#ccc"},children:k.bridge.name})," knows ",k.n," here"]})]},a.key)})})})}function C({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:r[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 D({focus:a,data:d,index:e,links:f,d1:g,d2:h,filters:i,onClose:j,onCompany:k,onOpenCompany:l}){let m,n,o,p="company"===a.kind,r=d.people.filter(a=>w(a,i)),t=(0,c.useMemo)(()=>{let a=new Map;for(let b of r){let c=(0,q.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)},[r]),u=(0,c.useMemo)(()=>p?(0,q.waysInto)(d.name,g,h):null,[p,d,g,h]),v=(0,c.useMemo)(()=>p?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):[],[p,f,d]),x=[...r].sort((a,b)=>(Number(b.power_score)||0)-(Number(a.power_score)||0)).slice(0,6),y=p?d.industry:d,z=r.filter(a=>1===a.degree).length,B=r.filter(a=>2===a.degree).length,G=p?[]:[...d.companies.entries()].sort((a,b)=>b[1]-a[1]).slice(0,10);return(0,b.jsxs)("aside",{style:{width:360,flexShrink:0,borderLeft:s,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:[p?"COMPANY":"INDUSTRY"," ANALYZER"]}),(0,b.jsx)("h2",{style:{margin:"4px 0 6px",fontSize:20},children:p?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,p?" · inferred":""]}),p&&(0,b.jsx)(F,{name:d.name}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:8,margin:"14px 0"},children:[[z,"you know","#00ff88"],[B,"reachable","#FF6B35"],[r.filter(a=>(0,q.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)(E,{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)(A,{total:r.length,parts:[[c,"#3498DB"]]}),(0,b.jsx)("span",{style:{color:"#778",textAlign:"right"},children:c})]},a))}),p&&u&&(0,b.jsxs)(E,{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)(C,{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)(C,{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)(E,{title:p?"Most powerful people here":"Most powerful people in this industry",children:x.map(a=>(0,b.jsx)(C,{p:a,note:`${1===a.degree?"you know them":2===a.degree?"2nd degree":"3rd+"} \xb7 ${a.headline||""}`},a.id))}),p&&v.length>0&&(0,b.jsx)(E,{title:"Connected companies",children:(0,b.jsx)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:v.map(a=>(0,b.jsxs)("button",{onClick:()=>k(a.name),style:{padding:"3px 9px",borderRadius:10,border:s,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))})}),!p&&(0,b.jsx)(E,{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)(A,{total:G[0][1],parts:[[c,y.color]]}),(0,b.jsx)("span",{style:{color:"#778",textAlign:"right"},children:c})]},a))}),p&&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 E({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 F({name:a}){let{companies:c,setScore:d}=(0,p.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)(p.ScorePicker,{company:e,onSet:d,compact:!0})})]})}var G=a.i(75857),H=a.i(61782),I=a.i(38246),J=a.i(56377);let K=[["map","Map"],["industries","Industries"],["companies","Companies"]];function L(){let{userId:a}=(0,G.useUser)(),[i,j]=(0,c.useState)([]),[k,l]=(0,c.useState)(null),[m,n]=(0,c.useState)([]),[o,p]=(0,c.useState)(!0),[r,s]=(0,c.useState)([]),[t,u]=(0,c.useState)([]),[v,w]=(0,c.useState)([]),y=(0,d.useSearchParams)().get("tab"),[z,A]=(0,c.useState)(()=>K.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),[E,F]=(0,c.useState)(!1);(0,c.useEffect)(()=>{!g.IS_DEMO&&a&&b();async function b(){let b=(0,h.hasCsvNetwork)()?(0,h.loadCsvNetwork)():null;F(!!b);let 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),w(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,q.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))),p(!1)}},[a,C]);let[J,L]=(0,c.useState)(!1),[N,O]=(0,c.useState)([]),P=(0,H.default)(),Q=!J&&P.running?(0,e.busyReason)(P):null;function R(a){let b=new Set(r.map(a=>a.profile_url)),c=new Set([...r,...t].map(a=>a.profile_url)),d=new Map,e=0;for(let c of a)b.has(c.profile_url||c.profileUrl)&&(e++,d.set(c.id,(d.get(c.id)||0)+1));return a.map(a=>({...a,connected:b.has(a.profile_url||a.profileUrl),known:c.has(a.profile_url||a.profileUrl),seniority:(0,q.getSeniority)(a.headline),mutualCount:e-(d.get(a.id)||0)}))}function S(a){l(a),n(R(a.people))}async function T(){if(g.IS_DEMO||E||!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{}}L(!0),O(["Checking the scanner..."]);let b=(0,e.notReadyMessage)(await (0,e.scraperStatus)().catch(()=>null));if(b){O([b]),L(!1);return}try{let a=await (0,e.runScrape)("company",{name:k.name,onLog:O});if(0===a.exitCode){O(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(R(b)),O(a=>[...a,`${b.length} people at ${k.name}.`])):O(a=>[...a,"Nothing new was found."])}}catch(a){O([a.message||"Failed to start the scan"])}finally{L(!1)}}let U=new Map;for(let a of r)U.has(a.id)||U.set(a.id,a);let V=new Set(r.map(a=>a.profile_url)),W={},X=0;m.forEach(a=>{let b=a.seniority.key;W[b]||(W[b]={...a.seniority,people:[]}),a.connected&&X++;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=U.get(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;W[b].people.push({...a,likelihood:c,bridgeName:d,xp:e})}),Object.values(W).forEach(a=>a.people.sort((a,b)=>b.likelihood-a.likelihood));let Y=Object.values(W).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)(I.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)(I.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:K.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:[X,"/",m.length," connected"]}),E?(0,b.jsx)("span",{style:{marginLeft:"auto",fontSize:11,color:"#888"},children:"Scanning needs your own network"}):(0,b.jsx)("button",{onClick:T,disabled:J||!!Q,title:Q?`${Q}. One scan at a time.`:void 0,style:{marginLeft:"auto",padding:"5px 12px",borderRadius:6,border:"none",cursor:J||Q?"not-allowed":"pointer",background:J||Q?"#333":"rgba(0,255,136,0.15)",color:J||Q?"#555":"#00ff88",fontSize:11,fontWeight:600},children:J?"Scanning...":Q?"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:()=>S(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))})]}),J&&(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:N.map((a,c)=>(0,b.jsx)("div",{children:a},c))})]}),k&&Y.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)(M,{p:c,level:a,companyPeople:m,d1Urls:V,selectedCompany:k},c.id||d))]},a.key))]})}):(0,b.jsx)(x,{d1:r,d2:t,d3:v,tab:z,onOpenCompany:a=>S({...a,sCount:a.S,aCount:a.A})})]})}function M({p:a,level:d,companyPeople:e,d1Urls:f,selectedCompany:g}){let[h,i]=(0,c.useState)(!1),j=[];if(h&&!a.connected){let b=e.filter(b=>b.seniority.level>a.seniority.level&&!f.has(b.profile_url||b.profileUrl)),c=e.filter(b=>b.seniority.level===a.seniority.level&&b.id!==a.id),d=b.length;d>0&&j.push({icon:"⬆️",text:`Adding them gives you a mutual with ${d} people above in the hierarchy`,color:"#00ff88"});let g=c.filter(a=>f.has(a.profile_url||a.profileUrl)).length;g>0?j.push({icon:"🤝",text:`${g} people at their level already connected — high social proof`,color:"#FFD700"}):j.push({icon:"🎯",text:"First connection at this level — opens a new layer",color:"#3498DB"}),a.bridgeName&&j.push({icon:"🔗",text:`Reachable through ${a.bridgeName} — warm intro possible`,color:"#FF6B35"}),a.seniority.level>=5?j.push({icon:"👑",text:`${a.seniority.label} — decision maker, high strategic value but low accept rate`,color:"#FFD700"}):a.seniority.level>=3?j.push({icon:"📊",text:`${a.seniority.label} — middle management, good balance of access and accept rate`,color:"#9B59B6"}):j.push({icon:"✅",text:`${a.seniority.label} — highest accept rate, builds mutual foundation for people above`,color:"#00ff88"}),a.likelihood>=60?j.push({icon:"🔥",text:`${a.likelihood}% likely to accept — strong mutual overlap + approachable role`,color:"#00ff88"}):a.likelihood>=30?j.push({icon:"⚡",text:`${a.likelihood}% likely — moderate chance, add more people at their level first`,color:"#FFD700"}):j.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,J.localPhoto)(a.profile_image_url||a.imageUrl)?(0,b.jsx)("img",{src:(0,J.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&&j.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"}),j.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)(L,{})})})}],90195)}];
|
|
1
|
+
module.exports=[90195,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(41798),e=a.i(63033),f=a.i(50944),g=a.i(37732),h=a.i(23310),i=a.i(58834),j=a.i(42510),k=a.i(36839);a.i(75930);var l=a.i(74365),m=a.i(72243),n=a.i(11366),o=a.i(53877),p=a.i(54433),q=a.i(64110),r=a.i(90017),s=a.i(90231),t=a.i(9282),u=a.i(80306),v=a.i(1328);let w=Object.freeze({live:!1,spread:1,pull:1,links:1}),x={fontSize:10.5,color:"#667",lineHeight:1.45,marginTop:6},y=[{key:"spread",label:"Spread",min:.2,max:4,step:.05,tip:"How hard bubbles push each other apart."},{key:"pull",label:"Pull to their group",min:0,max:4,step:.05,tip:"How hard each bubble keeps to its sector. At 0 they find their own shape."},{key:"links",label:"Pull along lines",min:0,max:6,step:.05,tip:"How hard two bubbles joined by a line pull together."}];function z({colourBy:a,onColourBy:c,physics:d,onPhysics:e,heatHint:f}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{style:S,children:"Colour"}),(0,b.jsx)(P,{value:a,onChange:c,options:[["sector","Sector"],["heat","Heat"]]}),"heat"===a&&(0,b.jsx)("div",{style:x,children:f}),(0,b.jsx)("div",{style:S,children:"Physics"}),(0,b.jsx)(P,{value:d.live?"on":"off",onChange:a=>e({...d,live:"on"===a}),options:[["off","Still"],["on","Live"]]}),d.live?(0,b.jsxs)("div",{style:{marginTop:8},children:[y.map(a=>(0,b.jsxs)("label",{title:a.tip,style:{display:"block",marginBottom:6},children:[(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:11,color:"#aab"},children:[(0,b.jsx)("span",{children:a.label}),(0,b.jsxs)("span",{style:{color:d[a.key]===w[a.key]?"#556":"#cfe6f7",fontVariantNumeric:"tabular-nums"},children:[d[a.key].toFixed(2),"×"]})]}),(0,b.jsx)("input",{type:"range",min:a.min,max:a.max,step:a.step,value:d[a.key],onChange:b=>e({...d,[a.key]:Number(b.target.value)}),style:{width:"100%",accentColor:"#3498DB"}})]},a.key)),(0,b.jsx)("div",{style:x,children:"Drag a bubble and the ones joined to it follow. Click still opens it."}),(0,b.jsx)("button",{type:"button",onClick:()=>e({...w,live:!0}),style:{marginTop:6,padding:"4px 10px",borderRadius:6,fontSize:10.5,cursor:"pointer",border:"1px solid rgba(255,255,255,0.1)",background:"rgba(255,255,255,0.04)",color:"#aab"},children:"Reset the forces"})]}):(0,b.jsx)("div",{style:x,children:"Live lets the bubbles move: drag them, and change the forces that lay the map out."})]})}function A(a,b){let[,d]=(0,c.useState)(0),e=(0,c.useRef)(null),f=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{if(!b.live||!a.nodes.length)return;let c=0,f=(0,o.forceSimulation)(a.nodes).force("x",(0,p.forceX)(a=>a.ax).strength(.12*b.pull)).force("y",(0,q.forceY)(a=>a.ay).strength(.12*b.pull)).force("collide",(0,l.forceCollide)(a=>a.r+3).iterations(2)).force("charge",(0,n.forceManyBody)().strength(-25*b.spread)).force("link",(0,m.forceLink)(a.edges).id(a=>a.id).strength(a=>(a.k??.1)*b.links).distance(60*Math.sqrt(b.spread))).alpha(.15).on("tick",()=>{c||(c=requestAnimationFrame(()=>{c=0,d(a=>a+1)}))});return e.current=f,()=>{f.stop(),cancelAnimationFrame(c),e.current=null}},[a,b.live,b.spread,b.pull,b.links]),{drag:b.live?(a,b)=>{let c=e.current;if(!c)return;let d=a.currentTarget.ownerSVGElement,g=d?.getScreenCTM();if(!g)return;let h=g.inverse(),i=a=>{let b=d.createSVGPoint();return b.x=a.clientX,b.y=a.clientY,b.matrixTransform(h)},j={x:a.clientX,y:a.clientY};f.current=!1;let k=a=>{Math.hypot(a.clientX-j.x,a.clientY-j.y)>3&&(f.current=!0);let c=i(a);b.fx=c.x,b.fy=c.y},l=()=>{b.fx=null,b.fy=null,c.alphaTarget(0),window.removeEventListener("pointermove",k),window.removeEventListener("pointerup",l)},m=i(a);b.fx=m.x,b.fy=m.y,c.alphaTarget(.08).restart(),window.addEventListener("pointermove",k),window.addEventListener("pointerup",l)}:null,clicked:()=>!f.current||(f.current=!1,!1)}}function B({id:a}){return(0,b.jsx)("defs",{children:[0,1,2,3,4,5].map(c=>(0,b.jsxs)("radialGradient",{id:`${a}-${c}`,children:[(0,b.jsx)("stop",{offset:"0",stopColor:(0,v.heatColour)(c/5),stopOpacity:.16+.07*c}),(0,b.jsx)("stop",{offset:"1",stopColor:(0,v.heatColour)(c/5),stopOpacity:0})]},c))})}function C({id:a,nodes:c,heat:d}){return(0,b.jsx)("g",{style:{mixBlendMode:"screen",pointerEvents:"none"},children:c.filter(a=>d(a)>=.5).map(c=>(0,b.jsx)("circle",{cx:c.x,cy:c.y,r:1.9*c.r+18,fill:`url(#${a}-${Math.round(5*d(c))})`},c.id))})}var D=a.i(74994);let E=[...t.INDUSTRIES,t.UNKNOWN_INDUSTRY],F=a=>Number(a||0).toLocaleString("en-US"),G={value:{label:"Cluster value",of:a=>a.value,k:2},size:{label:"Cluster size",of:a=>a.size,k:2.6},s:{label:"S tier inside",of:a=>a.S,k:6}};function H({d1:a=[],d2:d=[],top:e=null,look:g=null,colourBy:h="sector",physics:i=w}){let j=(0,f.useRouter)(),[k,l]=(0,c.useState)("value"),[m,n]=(0,c.useState)("scanned"),[o,p]=(0,c.useState)(()=>(0,D.makeGrid)([1])),[q,r]=(0,c.useState)(()=>new Set),[v,x]=(0,c.useState)(""),[y,z]=(0,c.useState)(!0),[A,B]=(0,c.useState)("top"),C=(0,c.useMemo)(()=>(function(a=[],b=[],{maxLinks:c=400}={}){let d=new Set((a||[]).map(a=>a.id)),e=new Map,f=new Map;for(let a of b||[]){let b=a?.source_connection_id;if(null==b||!d.has(b))continue;let c=(0,s.keyFor)(a),g=e.get(b);g||e.set(b,g=new Map),g.has(c)||g.set(c,a);let h=f.get(c);h||f.set(c,h=new Set),h.add(b)}let g=(a||[]).map(a=>{let b=e.get(a.id),c=0,d=0,g=0;if(b)for(let[a,e]of b)"S"===e.tier?c++:"A"===e.tier&&d++,f.get(a)?.size===1&&g++;let h=b?b.size:0;return{person:a,id:a.id,key:(0,s.keyFor)(a),size:h,S:c,A:d,value:(({size:a=0,S:b=0,A:c=0}={})=>a+2*b+c)({size:h,S:c,A:d}),only:g,share:h?g/h:0}}),h=new Map;for(let a of f.values()){if(a.size<2||a.size>8)continue;let b=[...a].sort();for(let a=0;a<b.length;a++)for(let c=a+1;c<b.length;c++){let d=`${b[a]}\u0000${b[c]}`;h.set(d,(h.get(d)||0)+1)}}let i=[...h].map(([a,b])=>{let[c,d]=a.split("\0");return{a:c,b:d,shared:b}}).sort((a,b)=>b.shared-a.shared||(a.a<b.a?-1:1)).slice(0,c),j=g.filter(a=>a.size>0).map(a=>a.value).sort((a,b)=>a-b);return{people:g,links:i,rank:a=>{let b=g.find(b=>b.id===a);if(!b||!b.size||j.length<2)return null;let c=0;for(;c<j.length&&j[c]<b.value;)c++;return c/(j.length-1)}}})(a,d),[a,d]),J=(0,c.useMemo)(()=>(0,D.gridCounts)({1:C.people.filter(a=>"all"===m||a.size>0).map(a=>a.person)}),[C,m]),K=(0,c.useMemo)(()=>{let a=new Map;for(let b of C.people)a.set(b.id,(0,t.industryOf)((0,t.companyOf)(b.person),b.person.headline));return a},[C]),L=(0,c.useMemo)(()=>C.people.filter(a=>a.size>0).length,[C]),M=(0,c.useMemo)(()=>{let a=v.trim().toLowerCase();return C.people.filter(b=>("all"===m||b.size>0)&&(0,D.shows)(o,b.person.tier,1)&&!q.has(K.get(b.id).key)&&(!a||String(b.person.name||"").toLowerCase().includes(a))).sort((a,b)=>b.value-a.value||b.size-a.size)},[C,m,o,q,v,K]),N=(0,c.useMemo)(()=>{let a=new Map;for(let b of C.people){if("all"!==m&&!b.size)continue;let c=K.get(b.id).key;a.set(c,(a.get(c)||0)+1)}return E.filter(b=>a.get(b.key)).map(b=>({...b,count:a.get(b.key)})).sort((a,b)=>b.count-a.count)},[C,m,K]);return(0,b.jsxs)("div",{style:{flex:1,minHeight:0,display:"flex"},children:[(0,b.jsxs)(R,{open:y,onToggle:()=>z(a=>!a),children:[e,(0,b.jsx)("div",{style:S,children:"Filter"}),(0,b.jsx)("input",{value:v,onChange:a=>x(a.target.value),placeholder:"Find a person",style:{width:"100%",boxSizing:"border-box",padding:"6px 10px",borderRadius:7,border:"1px solid rgba(255,255,255,0.1)",background:"rgba(255,255,255,0.05)",color:"#fff",fontSize:13,marginBottom:8}}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:(0,b.jsx)(P,{value:m,onChange:n,options:[["scanned",`Scanned (${F(L)})`],["all",`All (${F(C.people.length)})`]]})}),(0,b.jsx)("div",{style:{marginTop:12},children:(0,b.jsx)(u.TierGrid,{grid:o,counts:J,onChange:p,mode:"paths"})}),(0,b.jsx)("div",{style:S,children:"Sectors"}),(0,b.jsx)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:N.map(a=>{let c=q.has(a.key);return(0,b.jsxs)("button",{title:c?"Show on the map":"Hide from the map",onClick:()=>r(b=>{let c=new Set(b);return c.has(a.key)?c.delete(a.key):c.add(a.key),c}),style:{display:"inline-flex",alignItems:"center",gap:6,padding:"3px 10px",borderRadius:14,cursor:"pointer",border:`1px solid ${a.color}55`,background:c?"transparent":`${a.color}14`,color:"#cfd8d8",fontSize:11.5,opacity:c?.4:1},children:[(0,b.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:a.color}}),a.label," ",(0,b.jsx)("span",{style:{color:"#778"},children:F(a.count)})]},a.key)})}),(0,b.jsx)("div",{style:{fontSize:10.5,color:"#667",marginTop:6},children:"Inferred from where each connection works."}),(0,b.jsx)("div",{style:S,children:"Read the map"}),(0,b.jsx)("div",{style:{fontSize:11,color:"#8b9a9a",marginBottom:4},children:"Bubble size"}),(0,b.jsx)(P,{value:k,onChange:l,options:Object.entries(G).map(([a,b])=>[a,b.label])}),(0,b.jsx)("div",{style:{fontSize:11,color:"#8b9a9a",margin:"10px 0 4px"},children:"Names"}),(0,b.jsx)(P,{value:A,onChange:B,options:[["top","Biggest"],["all","All"],["none","None"]]}),g]}),(0,b.jsx)("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",paddingTop:40,boxSizing:"border-box"},children:(0,b.jsx)(I,{people:M,links:C.links,sizeBy:G[k],sectorOf:K,rank:C.rank,names:A,colourBy:h,physics:i,onOpen:a=>j.push(`/?chain=${encodeURIComponent(a)}`)})})]})}function I({people:a,links:d,sizeBy:e,sectorOf:f,rank:g,onOpen:h,names:i="top",colourBy:j="sector",physics:k=w}){let r=(0,c.useRef)(null),{w:s,h:u}=Q(r),[x,y]=(0,c.useState)(null),z=(0,c.useMemo)(()=>{let b=a.slice(0,400),c=new Set(b.map(a=>a.id)),g=[...new Set(b.map(a=>f.get(a.id).key))],h=new Map(g.map((a,b)=>{let c=b/Math.max(1,g.length)*Math.PI*2-Math.PI/2;return[a,{x:260*Math.cos(c),y:260*Math.sin(c)}]})),i=b.map(a=>{let b=h.get(f.get(a.id).key);return{id:a.id,p:a,sector:f.get(a.id),r:a.size?4+Math.sqrt(Math.max(0,e.of(a)))*e.k:3,x:b.x+(O(String(a.id))-.5)*40,y:b.y+(O(`${a.id}#`)-.5)*40,ax:b.x,ay:b.y}}),j=d.filter(a=>c.has(a.a)&&c.has(a.b)).map(a=>({source:a.a,target:a.b,weight:a.shared,k:Math.min(.25,.02*a.shared)})),k=(0,o.forceSimulation)(i).force("x",(0,p.forceX)(a=>h.get(a.sector.key).x).strength(.12)).force("y",(0,q.forceY)(a=>h.get(a.sector.key).y).strength(.12)).force("collide",(0,l.forceCollide)(a=>a.r+3)).force("charge",(0,n.forceManyBody)().strength(-25)).force("link",(0,m.forceLink)(j).id(a=>a.id).strength(a=>a.k).distance(60)).stop();for(let a=0;a<320;a++)k.tick();let r=i.flatMap(a=>[a.x-a.r,a.x+a.r]),s=i.flatMap(a=>[a.y-a.r,a.y+a.r]),u=i.length?{x:Math.min(...r)-60,y:Math.min(...s)-40,w:Math.max(...r)-Math.min(...r)+120,h:Math.max(...s)-Math.min(...s)+80}:{x:-300,y:-300,w:600,h:600},v=g.map(a=>{let b=i.filter(b=>b.sector.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,g=d/e,h=Math.max(...b.map(a=>(a.x-c)*f+(a.y-d)*g+a.r));return{key:a,x:c+f*(h+16),y:d+g*(h+16)+4,anchor:f>.35?"start":f<-.35?"end":"middle",ind:(0,t.industryByKey)(a)}});for(let a of v){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(u.x+u.w,c+b+10);u.x=Math.min(u.x,c-10),u.w=d-u.x;let e=Math.max(u.y+u.h,a.y+12);u.y=Math.min(u.y,a.y-18),u.h=e-u.y}return u.h+=Math.max(60,.1*u.h),{nodes:i,edges:j,box:u,labels:v,cut:Math.max(0,a.length-b.length)}},[a,d,e,f]),{drag:D,clicked:E}=A(z,k),G=(0,c.useMemo)(()=>(0,v.heatBy)(z.nodes,a=>(function({size:a=0,S:b=0,A:c=0}={}){return a?(3*b+2*c+Math.max(0,a-b-c))/a:-1})(a.p)),[z]),H="heat"===j,K=x?z.nodes.find(a=>a.id===x):null,L=(0,c.useMemo)(()=>{if(!x)return null;let a=new Set([x]);for(let b of z.edges)b.source.id===x&&a.add(b.target.id),b.target.id===x&&a.add(b.source.id);return a},[x,z]),M=(0,c.useMemo)(()=>new Set("none"===i?[]:z.nodes.filter(a=>a.p.size).slice(0,"all"===i?1/0:28).map(a=>a.id)),[z,i]),N=s&&u?Math.min(s/z.box.w,u/z.box.h):1,P=(s-z.box.w*N)/2,R=(u-z.box.h*N)/2;return(0,b.jsxs)("div",{ref:r,style:{flex:1,minHeight:360,position:"relative"},children:[s>0&&(0,b.jsxs)("svg",{width:s,height:u,viewBox:`${z.box.x} ${z.box.y} ${z.box.w} ${z.box.h}`,style:{display:"block",touchAction:D?"none":void 0},children:[H&&(0,b.jsx)(B,{id:"pplheat"}),H&&(0,b.jsx)(C,{id:"pplheat",nodes:z.nodes.filter(a=>a.p.size),heat:G}),(0,b.jsx)("g",{children:z.edges.map((a,c)=>{let d=x&&(a.source.id===x||a.target.id===x);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:x?.03:.09,strokeWidth:d?1+Math.log2(1+a.weight):.4+.4*Math.log2(1+a.weight)},c)})}),z.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:.85,children:a.ind.label},a.key)),z.nodes.map(a=>{let{p:c}=a,d=L&&!L.has(a.id);return(0,b.jsxs)("g",{transform:`translate(${a.x},${a.y})`,style:{cursor:D?"grab":c.size?"pointer":"default"},opacity:d?.18:1,onMouseEnter:()=>y(a.id),onMouseLeave:()=>y(null),onPointerDown:D?b=>D(b,a):void 0,onClick:()=>{E()&&c.size&&h(a.id)},children:[(0,b.jsx)("circle",{r:a.r,fill:c.size?H?(0,v.heatColour)(G(a)):a.sector.color:"#3a3f55",fillOpacity:c.size?.92:.6,stroke:x===a.id?"#fff":c.S?"#FFD700":"rgba(0,0,0,0.35)",strokeWidth:x===a.id?2.5:c.S?Math.min(4,1+c.S/40):.6}),c.size>0&&c.only>0&&(0,b.jsx)("circle",{r:a.r*Math.sqrt(c.share)*.85,fill:"#fff",fillOpacity:.3}),(M.has(a.id)||x===a.id)&&(0,b.jsx)("text",{y:a.r+11,textAnchor:"middle",fontSize:10,fill:"#e6edf0",style:{pointerEvents:"none"},paintOrder:"stroke",stroke:"rgba(0,0,0,0.6)",strokeWidth:3,children:c.person.name})]},a.id)})]}),K&&(0,b.jsx)(J,{n:K,at:{x:P+(K.x-z.box.x)*N,y:R+(K.y-z.box.y)*N,r:K.r*N},w:s,rank:g(K.id)}),(0,b.jsxs)("div",{style:{position:"absolute",left:12,bottom:10,fontSize:11,color:"#778",lineHeight:1.6,pointerEvents:"none"},children:["Bubble = one of your connections, sized by ",e.label.toLowerCase()," (value: S tier counts 3, A tier 2, everyone else 1)",H?"; colour = how strong their cluster is, person for person, cold to white hot":"","; white centre = the share of their cluster only they can open; gold ring = S tier inside.",(0,b.jsx)("br",{}),"A line = two of your connections whose clusters share people. Grey = not scanned yet.",z.cut?` Showing the 400 largest of ${F(z.cut+400)}.`:""]})]})}function J({n:a,at:c,w:d,rank:e}){let{p:f}=a,g=c.x+c.r+14+280>d?Math.max(8,c.x-c.r-14-280):c.x+c.r+14,h=[f.person.role,(0,t.companyOf)(f.person)].filter(Boolean).join(" @ ")||f.person.headline||"";return(0,b.jsxs)("div",{style:{position:"absolute",left:g,top:Math.max(8,c.y-70),width:280,pointerEvents:"none",zIndex:5,padding:"12px 14px",borderRadius:12,background:"rgba(8,10,22,0.96)",border:`1px solid ${a.sector.color}99`,boxShadow:"0 12px 40px rgba(0,0,0,0.6)",fontSize:12,lineHeight:1.45,color:"#ddd"},children:[(0,b.jsx)("div",{style:{fontSize:15,fontWeight:800,color:"#fff"},children:f.person.name}),(0,b.jsxs)("div",{style:{fontSize:11.5,color:"#8a8fa8"},children:[h,f.person.tier?` \xb7 ${f.person.tier}-tier`:""," · ",a.sector.label]}),f.size?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"6px 10px",margin:"10px 0 8px"},children:[(0,b.jsx)(K,{value:F(f.value),label:"cluster value",color:"#FFD700"}),(0,b.jsx)(K,{value:F(f.size),label:"people in their cluster"}),(0,b.jsx)(K,{value:`${F(f.S)} S \xb7 ${F(f.A)} A`,label:"the strongest among them",color:"#FFD700"}),(0,b.jsx)(K,{value:`${F(f.only)} (${Math.round(100*f.share)}%)`,label:"only through them",color:"#00E5FF"})]}),(0,b.jsxs)("div",{style:{fontSize:11.5,color:"#aab"},children:[1===e?"The most valuable cluster you’ve scanned. ":null!=e?`Worth more than ${Math.round(100*e)}% of the clusters you’ve scanned. `:"","Click to open it in Bridge Chains."]})]}):(0,b.jsx)("div",{style:{fontSize:11.5,color:"#aab",marginTop:8},children:"Their circle isn’t scanned yet, so there’s no cluster to size."})]})}function K({value:a,label:c,color:d="#fff"}){return(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{style:{fontSize:15,fontWeight:800,color:d},children:a}),(0,b.jsx)("div",{style:{fontSize:10.5,color:"#8a8fa8"},children:c})]})}let L={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},M="1px solid rgba(255,255,255,0.1)",N=[...t.INDUSTRIES,t.UNKNOWN_INDUSTRY];function O(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 P({value:a,onChange:c,options:d}){return(0,b.jsx)("div",{style:{display:"flex",borderRadius:7,overflow:"hidden",border:M},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 Q(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}function R({open:a,onToggle:c,children:d}){return a?(0,b.jsxs)("aside",{style:{width:300,flexShrink:0,height:"100%",overflowY:"auto",boxSizing:"border-box",padding:"16px 14px",borderRight:"1px solid rgba(52,152,219,0.15)",background:"rgba(10,15,30,0.65)",fontSize:13},children:[(0,b.jsxs)("button",{type:"button",onClick:c,style:{display:"flex",alignItems:"center",gap:6,width:"100%",marginBottom:14,padding:"6px 12px",borderRadius:6,cursor:"pointer",background:"rgba(255,255,255,0.06)",border:"1px solid rgba(255,255,255,0.1)",color:"#aaa",fontSize:12,fontWeight:600},children:[(0,b.jsx)("span",{style:{fontSize:16},children:"›"})," Close"]}),d]}):(0,b.jsxs)("button",{type:"button",onClick:c,style:{position:"fixed",left:16,top:140,zIndex:30,cursor:"pointer",height:36,borderRadius:18,padding:"0 14px 0 10px",display:"flex",alignItems:"center",gap:6,background:"rgba(52,152,219,0.15)",border:"2px solid rgba(52,152,219,0.5)",color:"#3498DB",fontWeight:700,boxShadow:"0 0 12px rgba(52,152,219,0.3)",backdropFilter:"blur(8px)"},children:[(0,b.jsx)("span",{style:{fontSize:18},children:"›"}),(0,b.jsx)("span",{style:{fontSize:11,fontWeight:600},children:"Filters"})]})}let S={fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,margin:"14px 0 6px",textTransform:"uppercase"};function T(a,b){return(!b.grid||!!(0,D.shows)(b.grid,a.tier,Number(a.degree)||1))&&("senior"!==b.seniority||!!(0,t.isSenior)(a.headline))&&("csuite"!==b.seniority||!((0,t.getSeniority)(a.headline).level<6))}function U({show:a,onShow:c}){return(0,b.jsxs)("div",{style:{marginBottom:6},children:[(0,b.jsx)("div",{style:{...S,marginTop:0},children:"Bubbles are"}),(0,b.jsx)(P,{value:a,onChange:c,options:[["companies","Companies"],["people","People"]]})]})}function V({d1:a=[],d2:d=[],d3:e=[],initialShow:f="companies",onOpenCompany:g}){let[h,i]=(0,c.useState)(f),[j,k]=(0,c.useState)(()=>({seniority:"all",grid:(0,D.makeGrid)([1,2,3])})),[l,m]=(0,c.useState)("sector"),[n,o]=(0,c.useState)(w),[p,q]=(0,c.useState)(()=>new Set),[r,s]=(0,c.useState)(""),[u,v]=(0,c.useState)(null),[x,y]=(0,c.useState)(!0),[A,B]=(0,c.useState)("people"),[C,E]=(0,c.useState)("top"),F=(0,c.useMemo)(()=>[...a,...d,...e],[a,d,e]),G=(0,c.useMemo)(()=>(0,D.gridCounts)({1:a,2:d,3:e}),[a,d,e]),I=(0,c.useMemo)(()=>(0,t.buildCompanyIndex)(F),[F]),J=(0,c.useMemo)(()=>(0,t.companyLinks)(a,d),[a,d]),K=(0,c.useMemo)(()=>{let a=r.trim().toLowerCase(),b=[];for(let c of I.values()){if(p.has(c.industry.key)||a&&!c.name.toLowerCase().includes(a))continue;let d=c.people.filter(a=>T(a,j));d.length&&b.push({...c,shown:d})}return b.sort((a,b)=>b.shown.length-a.shown.length)},[I,j,p,r]),L=(0,c.useMemo)(()=>{let a=new Map(N.map(a=>[a.key,{...a,people:[],companies:new Map}])),b=new Set;for(let c of F){let d=c.profile_url||`id:${c.id}`;if(b.has(d)||(b.add(d),!T(c,j)))continue;let e=(0,t.companyOf)(c),f=e?I.get(e)?.industry||(0,t.industryOf)(e,c.headline):(0,t.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)},[F,I,j]),M=u?.kind==="company"?I.get(u.key):u?.kind==="industry"?L.find(a=>a.key===u.key):null,O=a=>(0,b.jsx)(z,{colourBy:l,onColourBy:m,physics:n,onPhysics:o,heatHint:a});return"people"===h?(0,b.jsx)(H,{d1:a,d2:d,top:(0,b.jsx)(U,{show:h,onShow:i}),colourBy:l,physics:n,look:O("How strong each cluster is, person for person (S counts 3, A 2, the rest 1): the hotter, the stronger. Size is still how big it is.")}):(0,b.jsxs)("div",{style:{display:"flex",flex:1,minHeight:0},children:[(0,b.jsxs)(R,{open:x,onToggle:()=>y(a=>!a),children:[(0,b.jsx)(U,{show:h,onShow:i}),(0,b.jsx)(W,{filters:j,setFilters:k,counts:G,query:r,setQuery:s,industries:L,hidden:p,setHidden:q,onIndustry:a=>v({kind:"industry",key:a})}),(0,b.jsx)("div",{style:S,children:"Read the map"}),(0,b.jsx)("div",{style:{fontSize:11,color:"#8b9a9a",marginBottom:4},children:"Bubble size"}),(0,b.jsx)(P,{value:A,onChange:B,options:[["people","Your people"],["sa","S & A there"],["known","You know"]]}),(0,b.jsx)("div",{style:{fontSize:11,color:"#8b9a9a",margin:"10px 0 4px"},children:"Names"}),(0,b.jsx)(P,{value:C,onChange:E,options:[["top","Biggest"],["all","All"],["none","None"]]}),O("How strong your people at each company are: the average power score of the five strongest. The hotter, the stronger; size is still how many.")]}),(0,b.jsx)("div",{style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",paddingTop:40,boxSizing:"border-box"},children:(0,b.jsx)(X,{companies:K,links:J,focus:u,sizeBy:A,labels:C,colourBy:l,physics:n,onCompany:a=>v({kind:"company",key:a}),onIndustry:a=>v({kind:"industry",key:a}),onClear:()=>v(null)})}),M&&(0,b.jsx)($,{focus:u,data:M,index:I,links:J,d1:a,d2:d,filters:j,onClose:()=>v(null),onCompany:a=>v({kind:"company",key:a}),onIndustry:a=>v({kind:"industry",key:a}),onOpenCompany:g})]})}function W({filters:a,setFilters:c,counts:d,query:e,setQuery:f,industries:g,hidden:h,setHidden:i,onIndustry:j}){let k=(a,b)=>c(c=>({...c,[a]:b}));return(0,b.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[(0,b.jsx)("div",{style:S,children:"Filter"}),(0,b.jsx)("input",{value:e,onChange:a=>f(a.target.value),placeholder:"Find a company",style:{padding:"6px 10px",borderRadius:7,border:M,background:"rgba(255,255,255,0.05)",color:"#fff",fontSize:13,width:"100%",boxSizing:"border-box"}}),(0,b.jsx)(u.TierGrid,{grid:a.grid,counts:d,onChange:a=>k("grid",a),mode:"paths"}),(0,b.jsx)("div",{style:{fontSize:11,color:"#8b9a9a",marginTop:-10},children:"Level"}),(0,b.jsx)(P,{value:a.seniority,onChange:a=>k("seniority",a),options:[["all","Any level"],["senior","Director+"],["csuite","C-suite"]]}),(0,b.jsx)("div",{style:S,children:"Industries"}),(0,b.jsxs)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:[g.map(a=>{let c=h.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:()=>i(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:()=>j(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:"Inferred from companies and headlines. ● hides one; its name opens it."})]})]})}function X({companies:a,links:d,focus:e,onCompany:f,onIndustry:g,onClear:h,sizeBy:i="people",labels:j="top",colourBy:k="sector",physics:r=w}){let u=(0,c.useRef)(null),{w:x,h:y}=Q(u),[z,D]=(0,c.useState)(null),E=(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+Math.sqrt("sa"===i?a.shown.filter(a=>"S"===a.tier||"A"===a.tier).length:"known"===i?a.d1:a.shown.length)*("people"===i?3.4:5),x:f.get(a.industry.key).x+(O(a.name)-.5)*40,y:f.get(a.industry.key).y+(O(a.name+"#")-.5)*40,ax:f.get(a.industry.key).x,ay:f.get(a.industry.key).y})),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,k:Math.min(.25,.03*a.weight)})),j=(0,o.forceSimulation)(g).force("x",(0,p.forceX)(a=>f.get(a.co.industry.key).x).strength(.12)).force("y",(0,q.forceY)(a=>f.get(a.co.industry.key).y).strength(.12)).force("collide",(0,l.forceCollide)(a=>a.r+3)).force("charge",(0,n.forceManyBody)().strength(-25)).force("link",(0,m.forceLink)(h).id(a=>a.id).strength(a=>a.k).distance(60)).stop();for(let a=0;a<320;a++)j.tick();let k=g.flatMap(a=>[a.x-a.r,a.x+a.r]),r=g.flatMap(a=>[a.y-a.r,a.y+a.r]),s=g.length?{x:Math.min(...k)-60,y:Math.min(...r)-40,w:Math.max(...k)-Math.min(...k)+120,h:Math.max(...r)-Math.min(...r)+80}:{x:-300,y:-300,w:600,h:600},u=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,t.industryByKey)(a)}});for(let a of u){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(s.x+s.w,c+b+10);s.x=Math.min(s.x,c-10),s.w=d-s.x;let e=Math.max(s.y+s.h,a.y+12);s.y=Math.min(s.y,a.y-18),s.h=e-s.y}return s.h+=Math.max(60,.1*s.h),{nodes:g,edges:h,box:s,labels:u,cut:Math.max(0,a.length-b.length)}},[a,d,i]),{drag:F,clicked:G}=A(E,r),H=(0,c.useMemo)(()=>{let a=new Map(E.nodes.map(a=>[a.id,function(a=[]){let b=a.map(s.score).sort((a,b)=>b-a).slice(0,5);return b.length?b.reduce((a,b)=>a+b,0)/b.length:0}(a.co.shown)]));return(0,v.heatBy)(E.nodes,b=>a.get(b.id))},[E]),I="heat"===k,J=z||(e?.kind==="company"?e.key:null),K=e?.kind==="industry"?e.key:null,M=(0,c.useMemo)(()=>{if(!J)return null;let a=new Set([J]);for(let b of E.edges)b.source.id===J&&a.add(b.target.id),b.target.id===J&&a.add(b.source.id);return a},[J,E]),N=(0,c.useMemo)(()=>new Set("none"===j?[]:("all"===j?E.nodes:[...E.nodes].sort((a,b)=>b.r-a.r).slice(0,28)).map(a=>a.id)),[E,j]);return(0,b.jsxs)("div",{ref:u,style:{flex:1,minHeight:360,position:"relative"},onClick:h,children:[x>0&&(0,b.jsxs)("svg",{width:x,height:y,viewBox:`${E.box.x} ${E.box.y} ${E.box.w} ${E.box.h}`,style:{display:"block",touchAction:F?"none":void 0},children:[I&&(0,b.jsx)(B,{id:"coheat"}),I&&(0,b.jsx)(C,{id:"coheat",nodes:E.nodes,heat:H}),(0,b.jsx)("g",{children:E.edges.map((a,c)=>{let d=J&&(a.source.id===J||a.target.id===J);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:J?.04:.14,strokeWidth:d?1+Math.log2(1+a.weight):.4+.5*Math.log2(1+a.weight)},c)})}),E.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:K&&K!==a.key?.25:.85,style:{cursor:"pointer"},onClick:b=>{b.stopPropagation(),g(a.key)},children:a.ind.label},a.key)),E.nodes.map(a=>{let c=M&&!M.has(a.id)||K&&a.co.industry.key!==K,d=e?.kind==="company"&&e.key===a.id;return(0,b.jsxs)("g",{transform:`translate(${a.x},${a.y})`,style:{cursor:F?"grab":"pointer"},opacity:c?.18:1,onMouseEnter:()=>D(a.id),onMouseLeave:()=>D(null),onPointerDown:F?b=>F(b,a):void 0,onClick:b=>{b.stopPropagation(),G()&&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:I?(0,v.heatColour)(H(a)):a.co.industry.color,fillOpacity:I?.9:.75,stroke:d?"#fff":a.co.S?L.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}),(N.has(a.id)||a.id===J||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; ",I?"colour = how strong they are, cold to white hot":"colour = its industry","; 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.",E.cut?` Showing the 140 largest; ${E.cut} smaller companies are in Companies.`:""]})]})}function Y({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 Z({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:L[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 $({focus:a,data:d,index:e,links:f,d1:g,d2:h,filters:i,onClose:j,onCompany:k,onIndustry:l,onOpenCompany:m}){let n,o,p,q="company"===a.kind,r=d.people.filter(a=>T(a,i)),s=(0,c.useMemo)(()=>{let a=new Map;for(let b of r){let c=(0,t.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)},[r]),u=(0,c.useMemo)(()=>q?(0,t.waysInto)(d.name,g,h):null,[q,d,g,h]),v=(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]),w=[...r].sort((a,b)=>(Number(b.power_score)||0)-(Number(a.power_score)||0)).slice(0,6),x=q?d.industry:d,y=r.filter(a=>1===a.degree).length,z=r.filter(a=>2===a.degree).length,A=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:M,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}),q&&l?(0,b.jsxs)("button",{type:"button",onClick:()=>l(x.key),title:`Open ${x.label}: everyone there and its top companies`,style:{fontSize:11,padding:"2px 8px",borderRadius:10,border:"none",cursor:"pointer",background:`${x.color}22`,color:x.color},children:[x.label," · inferred →"]}):(0,b.jsxs)("span",{style:{fontSize:11,padding:"2px 8px",borderRadius:10,background:`${x.color}22`,color:x.color},children:[x.label,q?" · inferred":""]}),q&&(0,b.jsx)(aa,{name:d.name}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:8,margin:"14px 0"},children:[[y,"you know","#00ff88"],[z,"reachable","#FF6B35"],[r.filter(a=>(0,t.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)(_,{title:"By level",children:s.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)(Y,{total:r.length,parts:[[c,"#3498DB"]]}),(0,b.jsx)("span",{style:{color:"#778",textAlign:"right"},children:c})]},a))}),q&&u&&(0,b.jsxs)(_,{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"]}),(n=new Map(u.bridges.map(({bridge:a,n:b})=>[a.id,b])),o=[...u.direct].sort((a,b)=>(n.get(b.id)||0)-(n.get(a.id)||0)).slice(0,4),p=new Set(u.direct.map(a=>a.id)),(0,b.jsxs)(b.Fragment,{children:[o.map(a=>(0,b.jsx)(Z,{p:a,note:n.get(a.id)?`works here \xb7 knows ${n.get(a.id)} here`:`works here \xb7 ${a.headline||""}`},a.id)),u.bridges.filter(({bridge:a})=>!p.has(a.id)).slice(0,5).map(({bridge:a,n:c})=>(0,b.jsx)(Z,{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)(_,{title:q?"Most powerful people here":"Most powerful people in this industry",children:w.map(a=>(0,b.jsx)(Z,{p:a,note:`${1===a.degree?"you know them":2===a.degree?"2nd degree":"3rd+"} \xb7 ${a.headline||""}`},a.id))}),q&&v.length>0&&(0,b.jsx)(_,{title:"Connected companies",children:(0,b.jsx)("div",{style:{display:"flex",gap:6,flexWrap:"wrap"},children:v.map(a=>(0,b.jsxs)("button",{onClick:()=>k(a.name),style:{padding:"3px 9px",borderRadius:10,border:M,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)(_,{title:"Companies",children:A.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)(Y,{total:A[0][1],parts:[[c,x.color]]}),(0,b.jsx)("span",{style:{color:"#778",textAlign:"right"},children:c})]},a))}),q&&m&&(0,b.jsxs)("button",{onClick:()=>m(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 _({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 aa({name:a}){let{companies:c,setScore:d}=(0,r.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)(r.ScorePicker,{company:e,onSet:d,compact:!0})})]})}var ab=a.i(75857),ac=a.i(61782),ad=a.i(38246),ae=a.i(56377);let af=[["map","Map"],["companies","Companies"]];function ag(){let{userId:a}=(0,ab.useUser)(),[k,l]=(0,c.useState)([]),[m,n]=(0,c.useState)(null),[o,p]=(0,c.useState)([]),[q,r]=(0,c.useState)(!0),[s,u]=(0,c.useState)([]),[v,w]=(0,c.useState)([]),[x,y]=(0,c.useState)([]),z=(0,f.useSearchParams)().get("tab"),[A,B]=(0,c.useState)(()=>af.some(([a])=>a===z)?z:"map"),C=(0,f.useRouter)();(0,c.useEffect)(()=>{"scores"===z&&C.replace("/settings#companies")},[z,C]),(0,c.useEffect)(()=>m?void(0,e.setNotchTabs)(null):((0,e.setNotchTabs)({items:af.map(([a,b])=>({key:a,label:b})),current:A,onPick:B}),()=>(0,e.setNotchTabs)(null)),[A,m]);let[D,E]=(0,c.useState)(0),[F,G]=(0,c.useState)(!1);(0,c.useEffect)(()=>{!i.IS_DEMO&&a&&b();async function b(){let b=(0,j.hasCsvNetwork)()?(0,j.loadCsvNetwork)():null;G(!!b);let c=[],d=[],e=[];if(b)c=b.degree1,d=b.degree2||[];else{let b=await (0,h.loadNetwork)(a);c=b.degree1,d=b.degree2,e=b.degree3}u(c),w(d),y(e||[]);let f={},g=new Set;[...c,...d,...e].forEach(a=>{if(g.has(a.profile_url))return;g.add(a.profile_url);let b=(0,t.companyOf)(a);b&&(f[b]||(f[b]={name:b,d1:0,d2:0,d3:0,sCount:0,aCount:0,people:[]}),1===a.degree?f[b].d1++:2===a.degree?f[b].d2++:f[b].d3++,"S"===a.tier&&f[b].sCount++,"A"===a.tier&&f[b].aCount++,f[b].people.push(a))}),l(Object.values(f).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))),r(!1)}},[a,D]);let[H,I]=(0,c.useState)(!1),[J,K]=(0,c.useState)([]),L=(0,ac.default)(),M=!H&&L.running?(0,g.busyReason)(L):null;function N(a){let b=new Set(s.map(a=>a.profile_url)),c=new Set([...s,...v].map(a=>a.profile_url)),d=new Map,e=0;for(let c of a)b.has(c.profile_url||c.profileUrl)&&(e++,d.set(c.id,(d.get(c.id)||0)+1));return a.map(a=>({...a,connected:b.has(a.profile_url||a.profileUrl),known:c.has(a.profile_url||a.profileUrl),seniority:(0,t.getSeniority)(a.headline),mutualCount:e-(d.get(a.id)||0)}))}function O(a){n(a),p(N(a.people))}async function P(){if(i.IS_DEMO||F||!m)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),K(["Checking the scanner..."]);let b=(0,g.notReadyMessage)(await (0,g.scraperStatus)().catch(()=>null));if(b){K([b]),I(!1);return}try{let a=await (0,g.runScrape)("company",{name:m.name,onLog:K});if(0===a.exitCode){K(a=>[...a,"Loading the new people..."]);let a=await fetch(`/api/connections?scanned_company=${encodeURIComponent(m.name)}&limit=500`),b=(await a.json()).connections||[];b.length?(p(N(b)),K(a=>[...a,`${b.length} people at ${m.name}.`])):K(a=>[...a,"Nothing new was found."])}}catch(a){K([a.message||"Failed to start the scan"])}finally{I(!1)}}let Q=new Map;for(let a of s)Q.has(a.id)||Q.set(a.id,a);let R=new Set(s.map(a=>a.profile_url)),S={},T=0;o.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=Q.get(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 i.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)(ad.default,{href:"/",style:{fontSize:13,color:"#888",textDecoration:"none"},children:"← Back to the network"})]}):q?(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:"20px 30px",borderBottom:"1px solid rgba(255,255,255,0.1)",flexShrink:0},children:(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12},children:[(0,b.jsx)(ad.default,{href:"/",style:{textDecoration:"none"},children:(0,b.jsx)("h1",{style:{fontSize:28,fontWeight:700,margin:0,background:"linear-gradient(135deg, #FFD700, #9B59B6, #3498DB)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Six Degrees"})}),(0,b.jsx)(d.default,{active:"paths",csvMode:F}),(0,b.jsx)(ad.default,{href:"/settings",title:"Settings","aria-label":"Settings",style:{width:32,height:32,borderRadius:"50%",flexShrink:0,background:"rgba(255,255,255,0.06)",color:"#888",fontSize:16,textDecoration:"none",display:"flex",alignItems:"center",justifyContent:"center"},children:"⚙"})]})}),m&&(0,b.jsx)("div",{style:{padding:"10px 24px",borderBottom:"1px solid rgba(255,255,255,0.08)",flexShrink:0},children:(0,b.jsx)("div",{style:{display:"flex",alignItems:"center",gap:12},children:m&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{onClick:()=>{n(null),p([])},style:{background:"none",border:"none",color:"#888",cursor:"pointer",fontSize:12},children:"← Companies"}),(0,b.jsx)("span",{style:{fontSize:13,fontWeight:600},children:m.name}),(0,b.jsxs)("span",{style:{fontSize:11,color:"#888"},children:[T,"/",o.length," connected"]}),F?(0,b.jsx)("span",{style:{marginLeft:"auto",fontSize:11,color:"#888"},children:"Scanning needs your own network"}):(0,b.jsx)("button",{onClick:P,disabled:H||!!M,title:M?`${M}. One scan at a time.`:void 0,style:{marginLeft:"auto",padding:"5px 12px",borderRadius:6,border:"none",cursor:H||M?"not-allowed":"pointer",background:H||M?"#333":"rgba(0,255,136,0.15)",color:H||M?"#555":"#00ff88",fontSize:11,fontWeight:600},children:H?"Scanning...":M?"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"})]})})}),m||"companies"===A?(0,b.jsx)("div",{style:{flex:1,overflow:"auto",padding:"16px 24px"},children:(0,b.jsxs)("div",{style:{maxWidth:700,margin:"0 auto"},children:[!m&&(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 ",s.length+v.length," people in your network."]}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:10},children:k.slice(0,60).map(a=>(0,b.jsxs)("button",{onClick:()=>O(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))})]}),H&&(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:J.map((a,c)=>(0,b.jsx)("div",{children:a},c))})]}),m&&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)(ah,{p:c,level:a,companyPeople:o,d1Urls:R,selectedCompany:m},c.id||d))]},a.key))]})}):(0,b.jsx)(V,{d1:s,d2:v,d3:x,initialShow:"people"===z?"people":"companies",onOpenCompany:a=>O({...a,sCount:a.S,aCount:a.A})})]})}function ah({p:a,level:d,companyPeople:e,d1Urls:f,selectedCompany:g}){let[h,i]=(0,c.useState)(!1),j=[];if(h&&!a.connected){let b=e.filter(b=>b.seniority.level>a.seniority.level&&!f.has(b.profile_url||b.profileUrl)),c=e.filter(b=>b.seniority.level===a.seniority.level&&b.id!==a.id),d=b.length;d>0&&j.push({icon:"⬆️",text:`Adding them gives you a mutual with ${d} people above in the hierarchy`,color:"#00ff88"});let g=c.filter(a=>f.has(a.profile_url||a.profileUrl)).length;g>0?j.push({icon:"🤝",text:`${g} people at their level already connected — high social proof`,color:"#FFD700"}):j.push({icon:"🎯",text:"First connection at this level — opens a new layer",color:"#3498DB"}),a.bridgeName&&j.push({icon:"🔗",text:`Reachable through ${a.bridgeName} — warm intro possible`,color:"#FF6B35"}),a.seniority.level>=5?j.push({icon:"👑",text:`${a.seniority.label} — decision maker, high strategic value but low accept rate`,color:"#FFD700"}):a.seniority.level>=3?j.push({icon:"📊",text:`${a.seniority.label} — middle management, good balance of access and accept rate`,color:"#9B59B6"}):j.push({icon:"✅",text:`${a.seniority.label} — highest accept rate, builds mutual foundation for people above`,color:"#00ff88"}),a.likelihood>=60?j.push({icon:"🔥",text:`${a.likelihood}% likely to accept — strong mutual overlap + approachable role`,color:"#00ff88"}):a.likelihood>=30?j.push({icon:"⚡",text:`${a.likelihood}% likely — moderate chance, add more people at their level first`,color:"#FFD700"}):j.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,ae.localPhoto)(a.profile_image_url||a.imageUrl)?(0,b.jsx)("img",{src:(0,ae.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&&j.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"}),j.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)(k.default,{children:(0,b.jsx)(c.Suspense,{children:(0,b.jsx)(ag,{})})})}],90195)}];
|
|
3
3
|
|
|
4
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),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)}];
|
|
1
|
+
module.exports=[79243,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(50944),e=a.i(23310),f=a.i(76939),g=a.i(91443);let h={height:10,borderRadius:6},i={background:"rgba(52,152,219,0.06)",borderRadius:12,padding:20,marginBottom:24,border:"1px solid rgba(52,152,219,0.2)"};function j({degree1:a=[],degree2:c=[],skips:d=[]}){let e=function(a=[],b=[],c=[]){let d=(0,g.reachIndex)(a,b,{skips:c}),e=a=>{let b=(0,g.circleState)(a,d);return"scanned"===b?"mapped":b},f={mapped:0,hidden:0,todo:0},h={};for(let b of a){let a=e(b);f[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=f.mapped+f.hidden;return{...f,total:i,resolved:j,percent:i?Math.round(j/i*100):0,batches:Math.ceil(f.todo/25),byTier:h}}(a,c,d);if(!e.total)return null;let l=a=>e.total?a/e.total*100:0,m=0===e.todo;return(0,b.jsxs)("div",{style:i,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":`${e.percent}%`})]}),(0,b.jsxs)("div",{style:{...h,display:"flex",overflow:"hidden",background:"rgba(255,255,255,0.06)"},children:[(0,b.jsx)("div",{style:{width:`${l(e.mapped)}%`,background:"#00ff88"}}),(0,b.jsx)("div",{style:{width:`${l(e.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)(k,{color:"#00ff88",label:"mapped",value:e.mapped}),(0,b.jsx)(k,{color:"rgba(255,255,255,0.35)",label:"hidden",value:e.hidden}),(0,b.jsx)(k,{color:"rgba(255,255,255,0.12)",label:"to go",value:e.todo}),(0,b.jsxs)("span",{style:{color:"#667",marginLeft:"auto"},children:["of ",e.total]})]}),e.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:[e.todo," left — about ",(0,b.jsxs)("b",{children:[e.batches," ",1===e.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=>e.byTier[a]?.total).map(a=>{let c=e.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:f.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:f.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 k({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 l=a.i(58834),m=a.i(36839),n=a.i(75857),o=a.i(54919),p=a.i(38246),q=a.i(45889),r=a.i(16874);let s={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},t=a=>`${Math.round(100*a)}%`;function u(){let{userId:a}=(0,n.useUser)(),[d,f]=(0,c.useState)(null),[g,h]=(0,c.useState)(!1);(0,c.useEffect)(()=>{if(!a)return;let b=!0;return(0,e.loadNetwork)(a).then(a=>{b&&f(function({degree1:a=[],degree2:b=[],ties:c=0}={}){let d=new Map;for(let a of b)a?.source_connection_id!=null&&d.set(a.source_connection_id,(d.get(a.source_connection_id)||0)+1);let e=(0,q.exclusiveReach)(b,a),f=a.length,g=Math.max(0,Number(c)||0),h=f?f-2*g/f:0,i=new Map(a.map(a=>[a.id,a])),j=[...e.entries()].sort((a,b)=>b[1].reach-a[1].reach||String(a[0]).localeCompare(String(b[0]))).slice(0,5).map(([a,b])=>{let c=i.get(a)||{};return{id:a,name:c.name||"",company:c.company||"",tier:c.tier||"",circle:d.get(a)||0,only:b.only,share:b.total?b.only/b.total:0}});return{circles:d.size,early:d.size<5,twoWays:(0,q.redundancy)(b,a),effective:{n:f,ties:g,size:h,efficiency:f?h/f:0},top:j}}(a))}).catch(()=>{b&&h(!0)}),()=>{b=!1}},[a]);let i={padding:"12px 14px",borderRadius:8,border:r.LINE,background:"rgba(255,255,255,0.03)"};return(0,b.jsxs)("section",{id:"health",style:{marginTop:20},children:[(0,b.jsx)("h2",{style:{fontSize:16,margin:"0 0 6px"},children:"Network health"}),g&&(0,b.jsx)(r.Body,{children:"Couldn’t read your network just now."}),!g&&!d&&(0,b.jsx)(r.Body,{children:"Reading your network…"}),d&&0===d.circles&&(0,b.jsx)(r.Body,{children:"Scan a few of your connections’ circles (the Scan page, step 4) and this shows how your network holds together."}),d&&d.circles>0&&(0,b.jsxs)(b.Fragment,{children:[d.early&&(0,b.jsxs)("div",{style:{fontSize:12.5,color:"#FFD700",margin:"4px 0 10px"},children:["An early estimate: ",d.circles," ",1===d.circles?"circle":"circles"," scanned. These get sharper as you scan more."]}),(0,b.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:10},children:[(0,b.jsxs)("div",{style:i,children:[(0,b.jsx)("div",{style:{fontSize:22,fontWeight:700},children:t(d.twoWays)}),(0,b.jsx)("div",{style:{fontSize:12.5,color:"#b8c4c4"},children:"of your 2nd degree you reach two or more ways"}),(0,b.jsx)("div",{style:{fontSize:11.5,color:"#778",marginTop:4},children:"Higher is safer: lose one connection and they’re still reachable."})]}),(0,b.jsxs)("div",{style:i,children:[(0,b.jsx)("div",{style:{fontSize:22,fontWeight:700},children:Math.round(d.effective.size).toLocaleString()}),(0,b.jsxs)("div",{style:{fontSize:12.5,color:"#b8c4c4"},children:["effective reach of your ",d.effective.n.toLocaleString()," connections (",t(d.effective.efficiency)," non-overlapping)"]}),(0,b.jsxs)("div",{style:{fontSize:11.5,color:"#778",marginTop:4},children:["From ",d.effective.ties.toLocaleString()," ",1===d.effective.ties?"tie":"ties"," between your connections seen in circle scans so far, so it can only come down as you scan more."]})]})]}),d.top.length>0&&(0,b.jsxs)("div",{style:{...i,marginTop:10,padding:0},children:[(0,b.jsx)("div",{style:{padding:"10px 14px",fontSize:12.5,color:"#b8c4c4",borderBottom:r.LINE},children:"Your connections who reach the most people no one else does"}),d.top.map((a,c)=>(0,b.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 14px",borderBottom:c<d.top.length-1?"1px solid rgba(255,255,255,0.04)":"none",fontSize:13},children:[(0,b.jsxs)("span",{style:{width:22,color:"#778"},children:["#",c+1]}),(0,b.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:s[a.tier]||"#667",flexShrink:0}}),(0,b.jsxs)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[(0,b.jsx)("b",{children:a.name}),a.company?(0,b.jsxs)("span",{style:{color:"#8b9a9a"},children:[" · ",a.company]}):null]}),(0,b.jsxs)("span",{style:{color:"#b8c4c4",whiteSpace:"nowrap"},children:[a.circle.toLocaleString()," in circle"]}),(0,b.jsxs)("span",{style:{color:"#00ff88",whiteSpace:"nowrap"},children:[a.only.toLocaleString()," only them (",t(a.share),")"]}),(0,b.jsx)(p.default,{href:`/?chain=${encodeURIComponent(a.id)}`,style:{color:"#3498DB",textDecoration:"none",whiteSpace:"nowrap"},children:"Explore →"})]},a.id))]})]})]})}let v={1:"Observer",11:"Connector",31:"Networker",51:"Strategist",76:"Architect"};function w(){let{userId:a,userName:f,userProfile:g}=(0,n.useUser)(),h=(0,d.useRouter)(),i="insights"===(0,d.useSearchParams)().get("view")?"insights":"profile",k=g||{name:f||"User",headline:"",sectors:[],goals:[]},[m,q]=(0,c.useState)(null),[r,s]=(0,c.useState)(!0),[t,w]=(0,c.useState)([]),[y,z]=(0,c.useState)({total:0,sent:0,accepted:0}),[A,B]=(0,c.useState)({degree1:[],degree2:[],skips:[]}),[C,D]=(0,c.useState)(null);if((0,c.useEffect)(()=>{!l.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=>D(a.settings.sectorFocus||{sectors:[],strength:"lean"})).catch(()=>D({failed:!0}));let b=await (0,e.loadNetwork)(a),c=b.degree1,d=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};d.forEach(a=>{g[a.tier]=(g[a.tier]||0)+1});let h=[...new Set(d.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 k=Object.entries(j).sort((a,b)=>b[1]-a[1]).slice(0,10),l=100*f.S+40*f.A+15*f.B+5*f.C+ +f.D+200*h+150*i+50*g.S+c.length,m=Math.floor(Math.sqrt(l/10)),n=m*m*10,o=(m+1)*(m+1)*10;q({d1Count:c.length,d2Count:d.length,tiers:f,d2Tiers:g,clusters:h,catalysts:i,networkPower:l,level:m,xpProgress:(l-n)/(o-n)*100,topCompanies:k,unlockedPaths:0}),fetch("/api/scraper").then(a=>a.json()).then(a=>B({degree1:c,degree2:d,skips:a.skips||[]})).catch(()=>B({degree1:c,degree2:d,skips:[]})),fetch(`/api/notifications?userId=${a}`).then(a=>a.json()).then(a=>w(a.notifications||[])).catch(()=>{}),fetch("/api/queue").then(a=>a.json()).then(a=>{let b=a.items||[];z({total:b.length,sent:b.filter(a=>"sent"===a.status).length,accepted:b.filter(a=>"accepted"===a.status).length})}).catch(()=>{}),s(!1)}},[a]),l.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)(p.default,{href:"/",style:{fontSize:12,color:"rgba(255,255,255,0.5)",textDecoration:"none"},children:"← Back to the network"})]});if(r)return(0,b.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff"},children:"Loading profile..."});let E={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},F=[{label:"First S-Tier",done:m.tiers.S>0,icon:"👑"},{label:"100 Connections",done:m.d1Count>=100,icon:"🔗"},{label:"500 Connections",done:m.d1Count>=500,icon:"🌐"},{label:"First Cluster",done:m.clusters>0,icon:"🔭"},{label:"10 Clusters",done:m.clusters>=10,icon:"🏰"},{label:"50 S-Tier",done:m.tiers.S>=50,icon:"💎"},{label:"Catalyst Found",done:m.catalysts>0,icon:"⚡"},{label:"Level 25",done:m.level>=25,icon:"🎯"},{label:"Level 50",done:m.level>=50,icon:"🚀"},{label:"D2 S-Tier > 50",done:m.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)(p.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",{role:"tablist","aria-label":"Profile or Insights",style:{display:"flex",gap:3,marginLeft:8,padding:3,borderRadius:9,background:"rgba(255,255,255,0.06)"},children:[["profile","Profile"],["insights","Insights"]].map(([a,c])=>(0,b.jsxs)("button",{type:"button",role:"tab","aria-selected":i===a,onClick:()=>h.replace("insights"===a?"/profile?view=insights":"/profile",{scroll:!1}),style:{padding:"6px 14px",borderRadius:7,border:"none",cursor:"pointer",fontSize:13,fontWeight:700,background:i===a?"linear-gradient(135deg, #FFD700, #FF6B35)":"transparent",color:i===a?"#000":"#aab"},children:["insights"===a?"✦ ":"",c]},a))})]}),(0,b.jsx)("div",{style:{flex:1,overflow:"auto",padding:"30px 20px"},children:"insights"===i?(0,b.jsxs)("div",{style:{maxWidth:820,margin:"0 auto"},children:[(0,b.jsx)("div",{style:{fontSize:13,color:"#8a8fa8",lineHeight:1.6},children:"How your network holds together, from the circles you’ve scanned. Only your own numbers, never a comparison with anyone else’s."}),(0,b.jsx)(u,{})]}):(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:m.level}),(0,b.jsx)("div",{style:{fontSize:24,fontWeight:700,marginBottom:4},children:k.name}),(0,b.jsx)("div",{style:{fontSize:14,color:"#888",marginBottom:4},children:k.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(v))a>=parseInt(c)&&(b=d);return b}(m.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 ",m.level]}),(0,b.jsxs)("span",{children:["Level ",m.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(m.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: ",m.networkPower.toLocaleString()]})]})]}),(0,b.jsx)(j,{degree1:A.degree1,degree2:A.degree2,skips:A.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)(p.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:y.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:y.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:y.accepted}),(0,b.jsx)("div",{style:{fontSize:10,color:"#888"},children:"Accepted"})]})]})]}),t.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 (",t.filter(a=>!a.seen).length," new)"]}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6,maxHeight:200,overflowY:"auto"},children:t.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)(x,{label:"Connections",value:m.d1Count}),(0,b.jsx)(x,{label:"Degree-2 Reach",value:m.d2Count}),(0,b.jsx)(x,{label:"Clusters",value:m.clusters}),(0,b.jsx)(x,{label:"S-Tier",value:m.tiers.S,color:"#FFD700"}),(0,b.jsx)(x,{label:"A-Tier",value:m.tiers.A,color:"#9B59B6"}),(0,b.jsx)(x,{label:"Catalysts",value:m.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=m.tiers[a]||0,d=m.d1Count>0?c/m.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:E[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:E[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:m.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:m.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 (",F.filter(a=>a.done).length,"/",F.length,")"]}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:F.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"}),m.topCompanies.map(([a,c],d)=>(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",padding:"4px 0",borderBottom:d<m.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)(p.default,{href:"/settings#sector",style:{fontSize:11,color:"#3498DB",textDecoration:"none",fontWeight:600},children:[C?.sectors?.length?"Change":C&&!C.failed?"Pick in Settings":"Settings"," →"]})]}),C?C.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."}):C.sectors?.length?(0,b.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,alignItems:"center"},children:[C.sectors.map(a=>{let c=(0,o.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"===C.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 x({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)(c.Suspense,{fallback:null,children:(0,b.jsx)(m.default,{children:(0,b.jsx)(w,{})})})}],79243)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=app_profile_page_0u3-l5y.js.map
|