six-degrees 0.5.1-beta.1 → 0.6.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.
Files changed (319) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/prerender-manifest.json +14 -14
  4. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  5. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  10. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  13. package/.next/standalone/.next/server/app/_not-found.rsc +20 -19
  14. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +20 -19
  15. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +16 -15
  16. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  17. package/.next/standalone/.next/server/app/api/admin-delete/route.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/api/admin-update/route.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/api/bridges/route.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/api/bulk-import/route.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/api/company-scores/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/connections/route.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/api/data/export/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/data/import/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/data/restart/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/data/reveal/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/delete-cluster/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/ingest/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/network/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/outreach/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/scraper/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/setup-profile/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/social/crm/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/social/messages/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/social/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/unlock/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/update/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/update-images/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/users/route.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/avatars/[file]/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/import/page.js +1 -1
  49. package/.next/standalone/.next/server/app/import/page.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/import/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/import.html +1 -1
  52. package/.next/standalone/.next/server/app/import.rsc +24 -23
  53. package/.next/standalone/.next/server/app/import.segments/_full.segment.rsc +24 -23
  54. package/.next/standalone/.next/server/app/import.segments/_tree.segment.rsc +2 -2
  55. package/.next/standalone/.next/server/app/import.segments/import/__PAGE__.segment.rsc +18 -17
  56. package/.next/standalone/.next/server/app/index.html +1 -1
  57. package/.next/standalone/.next/server/app/index.rsc +22 -21
  58. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +18 -17
  59. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +22 -21
  60. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  61. package/.next/standalone/.next/server/app/launch/page.js +1 -1
  62. package/.next/standalone/.next/server/app/launch/page.js.nft.json +1 -1
  63. package/.next/standalone/.next/server/app/launch/page_client-reference-manifest.js +1 -1
  64. package/.next/standalone/.next/server/app/launch.html +2 -2
  65. package/.next/standalone/.next/server/app/launch.rsc +24 -23
  66. package/.next/standalone/.next/server/app/launch.segments/_full.segment.rsc +24 -23
  67. package/.next/standalone/.next/server/app/launch.segments/_tree.segment.rsc +2 -2
  68. package/.next/standalone/.next/server/app/launch.segments/launch/__PAGE__.segment.rsc +18 -17
  69. package/.next/standalone/.next/server/app/page.js +1 -1
  70. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  71. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/paths/page.js +1 -1
  73. package/.next/standalone/.next/server/app/paths/page.js.nft.json +1 -1
  74. package/.next/standalone/.next/server/app/paths/page_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/paths.html +1 -1
  76. package/.next/standalone/.next/server/app/paths.rsc +24 -23
  77. package/.next/standalone/.next/server/app/paths.segments/_full.segment.rsc +24 -23
  78. package/.next/standalone/.next/server/app/paths.segments/_tree.segment.rsc +2 -2
  79. package/.next/standalone/.next/server/app/paths.segments/paths/__PAGE__.segment.rsc +18 -17
  80. package/.next/standalone/.next/server/app/profile/page.js +1 -1
  81. package/.next/standalone/.next/server/app/profile/page.js.nft.json +1 -1
  82. package/.next/standalone/.next/server/app/profile/page_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/profile.html +1 -1
  84. package/.next/standalone/.next/server/app/profile.rsc +24 -23
  85. package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +24 -23
  86. package/.next/standalone/.next/server/app/profile.segments/_tree.segment.rsc +2 -2
  87. package/.next/standalone/.next/server/app/profile.segments/profile/__PAGE__.segment.rsc +18 -17
  88. package/.next/standalone/.next/server/app/queue/page.js +1 -1
  89. package/.next/standalone/.next/server/app/queue/page.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/queue/page_client-reference-manifest.js +1 -1
  91. package/.next/standalone/.next/server/app/queue.html +1 -1
  92. package/.next/standalone/.next/server/app/queue.rsc +24 -23
  93. package/.next/standalone/.next/server/app/queue.segments/_full.segment.rsc +24 -23
  94. package/.next/standalone/.next/server/app/queue.segments/_tree.segment.rsc +2 -2
  95. package/.next/standalone/.next/server/app/queue.segments/queue/__PAGE__.segment.rsc +18 -17
  96. package/.next/standalone/.next/server/app/scores/page.js +1 -1
  97. package/.next/standalone/.next/server/app/scores/page.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/scores/page_client-reference-manifest.js +1 -1
  99. package/.next/standalone/.next/server/app/scores.html +1 -1
  100. package/.next/standalone/.next/server/app/scores.rsc +24 -23
  101. package/.next/standalone/.next/server/app/scores.segments/_full.segment.rsc +24 -23
  102. package/.next/standalone/.next/server/app/scores.segments/_tree.segment.rsc +2 -2
  103. package/.next/standalone/.next/server/app/scores.segments/scores/__PAGE__.segment.rsc +18 -17
  104. package/.next/standalone/.next/server/app/settings/page.js +1 -1
  105. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  106. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/settings.html +1 -1
  108. package/.next/standalone/.next/server/app/settings.rsc +24 -23
  109. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +24 -23
  110. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  111. package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +18 -17
  112. package/.next/standalone/.next/server/app/setup/page.js +1 -1
  113. package/.next/standalone/.next/server/app/setup/page.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/setup.html +1 -1
  116. package/.next/standalone/.next/server/app/setup.rsc +24 -23
  117. package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +24 -23
  118. package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  119. package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +18 -17
  120. package/.next/standalone/.next/server/app/social/page.js +1 -1
  121. package/.next/standalone/.next/server/app/social/page.js.nft.json +1 -1
  122. package/.next/standalone/.next/server/app/social/page_client-reference-manifest.js +1 -1
  123. package/.next/standalone/.next/server/app/social.html +1 -1
  124. package/.next/standalone/.next/server/app/social.rsc +24 -23
  125. package/.next/standalone/.next/server/app/social.segments/_full.segment.rsc +24 -23
  126. package/.next/standalone/.next/server/app/social.segments/_tree.segment.rsc +2 -2
  127. package/.next/standalone/.next/server/app/social.segments/social/__PAGE__.segment.rsc +18 -17
  128. package/.next/standalone/.next/server/chunks/_1_fynia._.js +5 -5
  129. package/.next/standalone/.next/server/chunks/_1itd1o_._.js +1 -1
  130. package/.next/standalone/.next/server/chunks/lib_0851sk0._.js +5 -5
  131. package/.next/standalone/.next/server/chunks/lib_1q7p2ro._.js +5 -5
  132. package/.next/standalone/.next/server/chunks/lib_1r6l86l._.js +5 -5
  133. package/.next/standalone/.next/server/chunks/lib_db-client_15le7cw.js +1 -1
  134. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__08oxiqh._.js +3 -0
  135. package/.next/standalone/.next/server/chunks/ssr/_03l7vge._.js +1 -1
  136. package/.next/standalone/.next/server/chunks/ssr/_08g31gm._.js +3 -0
  137. package/.next/standalone/.next/server/chunks/ssr/_0gk_ofx._.js +3 -0
  138. package/.next/standalone/.next/server/chunks/ssr/_0nwsf93._.js +3 -0
  139. package/.next/standalone/.next/server/chunks/ssr/_0vho1lb._.js +3 -0
  140. package/.next/standalone/.next/server/chunks/ssr/{_0jdkqgi._.js → _1-658fq._.js} +2 -2
  141. package/.next/standalone/.next/server/chunks/ssr/_1bc46kz._.js +3 -0
  142. package/.next/standalone/.next/server/chunks/ssr/_1f_n00p._.js +3 -0
  143. package/.next/standalone/.next/server/chunks/ssr/_1fm1ih_._.js +9 -0
  144. package/.next/standalone/.next/server/chunks/ssr/_1k2nmbw._.js +9 -0
  145. package/.next/standalone/.next/server/chunks/ssr/_2105jz8._.js +3 -0
  146. package/.next/standalone/.next/server/chunks/ssr/app_141w189._.js +1 -1
  147. package/.next/standalone/.next/server/chunks/ssr/app_components_0t908t-._.js +3 -0
  148. package/.next/standalone/.next/server/chunks/ssr/app_components_0uuff77._.js +13 -0
  149. package/.next/standalone/.next/server/chunks/ssr/app_components_1j3q-h5._.js +13 -0
  150. package/.next/standalone/.next/server/chunks/ssr/{_0gtv9jb._.js → app_components_CompanyScores_1g0mytz.js} +2 -2
  151. package/.next/standalone/.next/server/chunks/ssr/app_components_settings_SectorPicker_1c-29qw.js +1 -1
  152. package/.next/standalone/.next/server/chunks/ssr/app_import_page_1fmu6_l.js +1 -1
  153. package/.next/standalone/.next/server/chunks/ssr/app_page_1fazqbf.js +14 -12
  154. package/.next/standalone/.next/server/chunks/ssr/app_paths_page_1ol90m7.js +2 -2
  155. package/.next/standalone/.next/server/chunks/ssr/app_profile_page_0u3-l5y.js +1 -1
  156. package/.next/standalone/.next/server/chunks/ssr/app_queue_page_0c6znd6.js +6 -6
  157. package/.next/standalone/.next/server/chunks/ssr/app_settings_page_1f8mjj_.js +1 -1
  158. package/.next/standalone/.next/server/chunks/ssr/app_setup_page_1-282zx.js +4 -4
  159. package/.next/standalone/.next/server/chunks/ssr/app_social_page_0h7zxda.js +1 -1
  160. package/.next/standalone/.next/server/chunks/ssr/{lib_0i8v-s3._.js → lib_1c4ieuw._.js} +2 -2
  161. package/.next/standalone/.next/server/chunks/ssr/lib_galaxy-lab_108_lu-.js +1 -1
  162. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  163. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  164. package/.next/standalone/.next/server/pages/404.html +1 -1
  165. package/.next/standalone/.next/server/pages/500.html +1 -1
  166. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  167. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  168. package/.next/standalone/.next/static/chunks/02pq76u7y4v9-.js +22 -0
  169. package/.next/standalone/.next/static/chunks/0cmq0exd4d0h9.js +1 -0
  170. package/.next/{static/chunks/2wgz9ietkqqe6.js → standalone/.next/static/chunks/0i02yxppzds1o.js} +1 -1
  171. package/.next/standalone/.next/static/chunks/0m_p4k-q2qh--.js +1 -0
  172. package/.next/standalone/.next/static/chunks/0oyslj62jkubd.js +1 -0
  173. package/.next/standalone/.next/static/chunks/{1x_ysly42-teq.css → 0vo-l8hxneba6.css} +1 -1
  174. package/.next/{static/chunks/3sowbvbaj1s6n.js → standalone/.next/static/chunks/0ws7zy0w57ufi.js} +1 -1
  175. package/.next/standalone/.next/static/chunks/0yh8z2tbrc5i_.js +1 -0
  176. package/.next/standalone/.next/static/chunks/172e10mi-tpo_.js +34 -0
  177. package/.next/standalone/.next/static/chunks/1ei5vbe2uw6fl.js +1 -0
  178. package/.next/standalone/.next/static/chunks/1f7_pl_wq7lh3.js +11 -0
  179. package/.next/standalone/.next/static/chunks/1jzbe7zdx9vbj.js +2 -0
  180. package/.next/standalone/.next/static/chunks/1m3017gp790pw.js +45 -0
  181. package/.next/standalone/.next/static/chunks/1t20e8u0st7ep.js +1 -0
  182. package/.next/standalone/.next/static/chunks/2-ch9rm27eril.js +11 -0
  183. package/.next/standalone/.next/static/chunks/2ldv-v3s9yaif.js +1 -0
  184. package/.next/standalone/.next/static/chunks/3bp284gjf7dyq.js +1 -0
  185. package/.next/standalone/.next/static/chunks/3k1f6clbn3gj3.js +7 -0
  186. package/.next/standalone/.next/static/chunks/3l4t8je6iguzc.js +1 -0
  187. package/.next/standalone/.next/static/chunks/{0muwt9bykzr-1.js → 3tplzuc9jk-tl.js} +1 -1
  188. package/.next/standalone/.next/static/chunks/42m0bqr8pbovz.js +11 -0
  189. package/.next/standalone/CHANGELOG.md +45 -0
  190. package/.next/standalone/README.md +22 -8
  191. package/.next/standalone/app/api/scraper/route.js +10 -0
  192. package/.next/standalone/app/components/AppHeader.js +257 -0
  193. package/.next/standalone/app/components/Avatar.js +2 -1
  194. package/.next/standalone/app/components/ChainView.js +12 -12
  195. package/.next/standalone/app/components/FilterPanel.js +20 -12
  196. package/.next/standalone/app/components/ForceGraph.js +163 -25
  197. package/.next/standalone/app/components/GalaxyLab.js +43 -12
  198. package/.next/standalone/app/components/GridView.js +4 -4
  199. package/.next/standalone/app/components/LinkedInLimits.js +2 -1
  200. package/.next/standalone/app/components/ListView.js +3 -3
  201. package/.next/standalone/app/components/NoteDetail.js +2 -1
  202. package/.next/standalone/app/components/OnboardingGate.js +2 -2
  203. package/.next/standalone/app/components/OutlinkQuest.js +2 -1
  204. package/.next/standalone/app/components/PathsAnalyzer.js +3 -2
  205. package/.next/standalone/app/components/PeopleMap.js +2 -1
  206. package/.next/standalone/app/components/RingsView.js +3 -3
  207. package/.next/standalone/app/components/ScanTrail.js +85 -0
  208. package/.next/standalone/app/components/SeparationView.js +100 -77
  209. package/.next/standalone/app/components/Sidebar.js +4 -4
  210. package/.next/standalone/app/components/TheirCircle.js +2 -1
  211. package/.next/standalone/app/components/ThemeLoader.js +9 -0
  212. package/.next/standalone/app/components/settings/AppearanceSection.js +226 -0
  213. package/.next/standalone/app/components/settings/NetworkHealthSection.js +2 -1
  214. package/.next/standalone/app/components/ui.js +2 -1
  215. package/.next/standalone/app/globals.css +70 -2
  216. package/.next/standalone/app/import/page.js +3 -3
  217. package/.next/standalone/app/layout.js +11 -2
  218. package/.next/standalone/app/page.js +69 -215
  219. package/.next/standalone/app/paths/page.js +8 -21
  220. package/.next/standalone/app/profile/page.js +11 -10
  221. package/.next/standalone/app/queue/page.js +8 -21
  222. package/.next/standalone/app/scores/page.js +1 -1
  223. package/.next/standalone/app/settings/page.js +4 -2
  224. package/.next/standalone/app/setup/page.js +82 -87
  225. package/.next/standalone/app/social/Crm.js +2 -1
  226. package/.next/standalone/app/social/SocialHub.js +2 -2
  227. package/.next/standalone/app/social/page.js +1 -1
  228. package/.next/standalone/lib/galaxy-export.js +2 -1
  229. package/.next/standalone/lib/galaxy-lab.js +24 -8
  230. package/.next/standalone/lib/level.js +51 -0
  231. package/.next/standalone/lib/scraper-client.js +2 -1
  232. package/.next/standalone/lib/separation.js +4 -2
  233. package/.next/standalone/lib/theme-store.js +61 -0
  234. package/.next/standalone/lib/themes.js +186 -0
  235. package/.next/standalone/lib/tiers.js +2 -8
  236. package/.next/standalone/package-lock.json +2 -2
  237. package/.next/standalone/package.json +1 -1
  238. package/.next/standalone/scripts/build-site.mjs +85 -15
  239. package/.next/standalone/scripts/readme_buttons.py +3 -0
  240. package/.next/standalone/scripts/site-news.mjs +54 -9
  241. package/.next/static/chunks/02pq76u7y4v9-.js +22 -0
  242. package/.next/static/chunks/0cmq0exd4d0h9.js +1 -0
  243. package/.next/{standalone/.next/static/chunks/2wgz9ietkqqe6.js → static/chunks/0i02yxppzds1o.js} +1 -1
  244. package/.next/static/chunks/0m_p4k-q2qh--.js +1 -0
  245. package/.next/static/chunks/0oyslj62jkubd.js +1 -0
  246. package/.next/static/chunks/{1x_ysly42-teq.css → 0vo-l8hxneba6.css} +1 -1
  247. package/.next/{standalone/.next/static/chunks/3sowbvbaj1s6n.js → static/chunks/0ws7zy0w57ufi.js} +1 -1
  248. package/.next/static/chunks/0yh8z2tbrc5i_.js +1 -0
  249. package/.next/static/chunks/172e10mi-tpo_.js +34 -0
  250. package/.next/static/chunks/1ei5vbe2uw6fl.js +1 -0
  251. package/.next/static/chunks/1f7_pl_wq7lh3.js +11 -0
  252. package/.next/static/chunks/1jzbe7zdx9vbj.js +2 -0
  253. package/.next/static/chunks/1m3017gp790pw.js +45 -0
  254. package/.next/static/chunks/1t20e8u0st7ep.js +1 -0
  255. package/.next/static/chunks/2-ch9rm27eril.js +11 -0
  256. package/.next/static/chunks/2ldv-v3s9yaif.js +1 -0
  257. package/.next/static/chunks/3bp284gjf7dyq.js +1 -0
  258. package/.next/static/chunks/3k1f6clbn3gj3.js +7 -0
  259. package/.next/static/chunks/3l4t8je6iguzc.js +1 -0
  260. package/.next/static/chunks/{0muwt9bykzr-1.js → 3tplzuc9jk-tl.js} +1 -1
  261. package/.next/static/chunks/42m0bqr8pbovz.js +11 -0
  262. package/CHANGELOG.md +45 -0
  263. package/README.md +22 -8
  264. package/lib/galaxy-export.js +2 -1
  265. package/lib/galaxy-lab.js +24 -8
  266. package/lib/level.js +51 -0
  267. package/lib/scraper-client.js +2 -1
  268. package/lib/separation.js +4 -2
  269. package/lib/theme-store.js +61 -0
  270. package/lib/themes.js +186 -0
  271. package/lib/tiers.js +2 -8
  272. package/package.json +1 -1
  273. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__16hs8kw._.js +0 -3
  274. package/.next/standalone/.next/server/chunks/ssr/_01kacen._.js +0 -3
  275. package/.next/standalone/.next/server/chunks/ssr/_0xi-fbs._.js +0 -3
  276. package/.next/standalone/.next/server/chunks/ssr/_0xmwmfv._.js +0 -3
  277. package/.next/standalone/.next/server/chunks/ssr/_1-b9hj7._.js +0 -9
  278. package/.next/standalone/.next/server/chunks/ssr/_112ewem._.js +0 -3
  279. package/.next/standalone/.next/server/chunks/ssr/_16ab63q._.js +0 -3
  280. package/.next/standalone/.next/server/chunks/ssr/_1fxm0-s._.js +0 -3
  281. package/.next/standalone/.next/server/chunks/ssr/_1ra1d3r._.js +0 -9
  282. package/.next/standalone/.next/server/chunks/ssr/app_components_ui_0pdmz2z.js +0 -3
  283. package/.next/standalone/.next/server/chunks/ssr/lib_13rapwj._.js +0 -3
  284. package/.next/standalone/.next/static/chunks/03bziijw5srol.js +0 -1
  285. package/.next/standalone/.next/static/chunks/0bgq8wmopl_ig.js +0 -7
  286. package/.next/standalone/.next/static/chunks/0ezus6p2eb-vg.js +0 -1
  287. package/.next/standalone/.next/static/chunks/0g_fy2034bp0x.js +0 -34
  288. package/.next/standalone/.next/static/chunks/0w-byiwb2zax8.js +0 -2
  289. package/.next/standalone/.next/static/chunks/1g7jcovdejc9-.js +0 -1
  290. package/.next/standalone/.next/static/chunks/1i51yylxdzht1.js +0 -1
  291. package/.next/standalone/.next/static/chunks/1zf8swaasjf1e.js +0 -43
  292. package/.next/standalone/.next/static/chunks/28ls896_x19n0.js +0 -22
  293. package/.next/standalone/.next/static/chunks/2dwtoszeq91us.js +0 -1
  294. package/.next/standalone/.next/static/chunks/30x3oq_st7a5r.js +0 -1
  295. package/.next/standalone/.next/static/chunks/355ryio1b7sm1.js +0 -1
  296. package/.next/standalone/.next/static/chunks/3ap5hgma7n0o7.js +0 -1
  297. package/.next/standalone/.next/static/chunks/3fci6qi39-1n5.js +0 -1
  298. package/.next/standalone/.next/static/chunks/3za16c56eo_e2.js +0 -1
  299. package/.next/static/chunks/03bziijw5srol.js +0 -1
  300. package/.next/static/chunks/0bgq8wmopl_ig.js +0 -7
  301. package/.next/static/chunks/0ezus6p2eb-vg.js +0 -1
  302. package/.next/static/chunks/0g_fy2034bp0x.js +0 -34
  303. package/.next/static/chunks/0w-byiwb2zax8.js +0 -2
  304. package/.next/static/chunks/1g7jcovdejc9-.js +0 -1
  305. package/.next/static/chunks/1i51yylxdzht1.js +0 -1
  306. package/.next/static/chunks/1zf8swaasjf1e.js +0 -43
  307. package/.next/static/chunks/28ls896_x19n0.js +0 -22
  308. package/.next/static/chunks/2dwtoszeq91us.js +0 -1
  309. package/.next/static/chunks/30x3oq_st7a5r.js +0 -1
  310. package/.next/static/chunks/355ryio1b7sm1.js +0 -1
  311. package/.next/static/chunks/3ap5hgma7n0o7.js +0 -1
  312. package/.next/static/chunks/3fci6qi39-1n5.js +0 -1
  313. package/.next/static/chunks/3za16c56eo_e2.js +0 -1
  314. /package/.next/standalone/.next/static/{TZLzIJ2kezH-xwpkmgbjp → dQUvvVSXqbkEFC3-CNcwT}/_buildManifest.js +0 -0
  315. /package/.next/standalone/.next/static/{TZLzIJ2kezH-xwpkmgbjp → dQUvvVSXqbkEFC3-CNcwT}/_clientMiddlewareManifest.js +0 -0
  316. /package/.next/standalone/.next/static/{TZLzIJ2kezH-xwpkmgbjp → dQUvvVSXqbkEFC3-CNcwT}/_ssgManifest.js +0 -0
  317. /package/.next/static/{TZLzIJ2kezH-xwpkmgbjp → dQUvvVSXqbkEFC3-CNcwT}/_buildManifest.js +0 -0
  318. /package/.next/static/{TZLzIJ2kezH-xwpkmgbjp → dQUvvVSXqbkEFC3-CNcwT}/_clientMiddlewareManifest.js +0 -0
  319. /package/.next/static/{TZLzIJ2kezH-xwpkmgbjp → dQUvvVSXqbkEFC3-CNcwT}/_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(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)}];
1
+ module.exports=[90195,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(31318),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:U,children:"Colour"}),(0,b.jsx)(R,{value:a,onChange:c,options:[["sector","Sector"],["heat","Heat"]]}),"heat"===a&&(0,b.jsx)("div",{style:x,children:f}),(0,b.jsx)("div",{style:U,children:"Physics"}),(0,b.jsx)(R,{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),E=a.i(91621);let F=E.TIER_COLORS,G=[...t.INDUSTRIES,t.UNKNOWN_INDUSTRY],H=a=>Number(a||0).toLocaleString("en-US"),I={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 J({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]),E=(0,c.useMemo)(()=>(0,D.gridCounts)({1:C.people.filter(a=>"all"===m||a.size>0).map(a=>a.person)}),[C,m]),F=(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(F.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,F]),N=(0,c.useMemo)(()=>{let a=new Map;for(let b of C.people){if("all"!==m&&!b.size)continue;let c=F.get(b.id).key;a.set(c,(a.get(c)||0)+1)}return G.filter(b=>a.get(b.key)).map(b=>({...b,count:a.get(b.key)})).sort((a,b)=>b.count-a.count)},[C,m,F]);return(0,b.jsxs)("div",{style:{flex:1,minHeight:0,display:"flex"},children:[(0,b.jsxs)(T,{open:y,onToggle:()=>z(a=>!a),children:[e,(0,b.jsx)("div",{style:U,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)(R,{value:m,onChange:n,options:[["scanned",`Scanned (${H(L)})`],["all",`All (${H(C.people.length)})`]]})}),(0,b.jsx)("div",{style:{marginTop:12},children:(0,b.jsx)(u.TierGrid,{grid:o,counts:E,onChange:p,mode:"paths"})}),(0,b.jsx)("div",{style:U,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:H(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:U,children:"Read the map"}),(0,b.jsx)("div",{style:{fontSize:11,color:"#8b9a9a",marginBottom:4},children:"Bubble size"}),(0,b.jsx)(R,{value:k,onChange:l,options:Object.entries(I).map(([a,b])=>[a,b.label])}),(0,b.jsx)("div",{style:{fontSize:11,color:"#8b9a9a",margin:"10px 0 4px"},children:"Names"}),(0,b.jsx)(R,{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)(K,{people:M,links:C.links,sizeBy:I[k],sectorOf:F,rank:C.rank,names:A,colourBy:h,physics:i,onOpen:a=>j.push(`/?chain=${encodeURIComponent(a)}`)})})]})}function K({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}=S(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+(Q(String(a.id))-.5)*40,y:b.y+(Q(`${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]),I="heat"===j,J=x?z.nodes.find(a=>a.id===x):null,M=(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]),N=(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]),O=s&&u?Math.min(s/z.box.w,u/z.box.h):1,P=(s-z.box.w*O)/2,R=(u-z.box.h*O)/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:[I&&(0,b.jsx)(B,{id:"pplheat"}),I&&(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=M&&!M.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?I?(0,v.heatColour)(G(a)):a.sector.color:"#3a3f55",fillOpacity:c.size?.92:.6,stroke:x===a.id?"#fff":c.S?F.S:"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}),(N.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)})]}),J&&(0,b.jsx)(L,{n:J,at:{x:P+(J.x-z.box.x)*O,y:R+(J.y-z.box.y)*O,r:J.r*O},w:s,rank:g(J.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)",I?"; 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 ${H(z.cut+400)}.`:""]})]})}function L({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)(M,{value:H(f.value),label:"cluster value",color:"#FFD700"}),(0,b.jsx)(M,{value:H(f.size),label:"people in their cluster"}),(0,b.jsx)(M,{value:`${H(f.S)} S \xb7 ${H(f.A)} A`,label:"the strongest among them",color:"#FFD700"}),(0,b.jsx)(M,{value:`${H(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 M({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 N=E.TIER_COLORS,O="1px solid rgba(255,255,255,0.1)",P=[...t.INDUSTRIES,t.UNKNOWN_INDUSTRY];function Q(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 R({value:a,onChange:c,options:d}){return(0,b.jsx)("div",{style:{display:"flex",borderRadius:7,overflow:"hidden",border:O},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 S(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 T({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:"var(--sd-panel)",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 U={fontSize:9,fontWeight:700,color:"#555",letterSpacing:1,margin:"14px 0 6px",textTransform:"uppercase"};function V(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 W({show:a,onShow:c}){return(0,b.jsxs)("div",{style:{marginBottom:6},children:[(0,b.jsx)("div",{style:{...U,marginTop:0},children:"Bubbles are"}),(0,b.jsx)(R,{value:a,onChange:c,options:[["companies","Companies"],["people","People"]]})]})}function X({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]),H=(0,c.useMemo)(()=>(0,t.buildCompanyIndex)(F),[F]),I=(0,c.useMemo)(()=>(0,t.companyLinks)(a,d),[a,d]),K=(0,c.useMemo)(()=>{let a=r.trim().toLowerCase(),b=[];for(let c of H.values()){if(p.has(c.industry.key)||a&&!c.name.toLowerCase().includes(a))continue;let d=c.people.filter(a=>V(a,j));d.length&&b.push({...c,shown:d})}return b.sort((a,b)=>b.shown.length-a.shown.length)},[H,j,p,r]),L=(0,c.useMemo)(()=>{let a=new Map(P.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),!V(c,j)))continue;let e=(0,t.companyOf)(c),f=e?H.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,H,j]),M=u?.kind==="company"?H.get(u.key):u?.kind==="industry"?L.find(a=>a.key===u.key):null,N=a=>(0,b.jsx)(z,{colourBy:l,onColourBy:m,physics:n,onPhysics:o,heatHint:a});return"people"===h?(0,b.jsx)(J,{d1:a,d2:d,top:(0,b.jsx)(W,{show:h,onShow:i}),colourBy:l,physics:n,look:N("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)(T,{open:x,onToggle:()=>y(a=>!a),children:[(0,b.jsx)(W,{show:h,onShow:i}),(0,b.jsx)(Y,{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:U,children:"Read the map"}),(0,b.jsx)("div",{style:{fontSize:11,color:"#8b9a9a",marginBottom:4},children:"Bubble size"}),(0,b.jsx)(R,{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)(R,{value:C,onChange:E,options:[["top","Biggest"],["all","All"],["none","None"]]}),N("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)(Z,{companies:K,links:I,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)(aa,{focus:u,data:M,index:H,links:I,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 Y({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:U,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:O,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)(R,{value:a.seniority,onChange:a=>k("seniority",a),options:[["all","Any level"],["senior","Director+"],["csuite","C-suite"]]}),(0,b.jsx)("div",{style:U,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 Z({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}=S(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+(Q(a.name)-.5)*40,y:f.get(a.industry.key).y+(Q(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,L=(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]),M=(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=L&&!L.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?N.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}),(M.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 $({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 _({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:N[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 aa({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=>V(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:O,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)(ac,{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)(ab,{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)($,{total:r.length,parts:[[c,"#3498DB"]]}),(0,b.jsx)("span",{style:{color:"#778",textAlign:"right"},children:c})]},a))}),q&&u&&(0,b.jsxs)(ab,{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)(_,{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)(_,{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)(ab,{title:q?"Most powerful people here":"Most powerful people in this industry",children:w.map(a=>(0,b.jsx)(_,{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)(ab,{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:O,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)(ab,{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)($,{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 ab({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 ac({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 ad=a.i(75857),ae=a.i(61782),af=a.i(38246),ag=a.i(56377);let ah=[["map","Map"],["companies","Companies"]];function ai(){let{userId:a}=(0,ad.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)(()=>ah.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:ah.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,ae.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:"var(--sd-page)",color:"rgba(255,255,255,0.7)",fontFamily:"var(--sd-font)"},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)(af.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:"var(--sd-page)",color:"#fff"},children:"Loading..."}):(0,b.jsxs)("div",{style:{height:"100vh",background:"var(--sd-page)",color:"#fff",fontFamily:"var(--sd-font)",display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,b.jsx)(d.default,{active:"paths",csvMode:F}),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)(aj,{p:c,level:a,companyPeople:o,d1Urls:R,selectedCompany:m},c.id||d))]},a.key))]})}):(0,b.jsx)(X,{d1:s,d2:v,d3:x,initialShow:"people"===z?"people":"companies",onOpenCompany:a=>O({...a,sCount:a.S,aCount:a.A})})]})}function aj({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,ag.localPhoto)(a.profile_image_url||a.imageUrl)?(0,b.jsx)("img",{src:(0,ag.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)(ai,{})})})}],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(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)}];
1
+ module.exports=[79243,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(50944),e=a.i(23310);a.i(59943);var f=a.i(29470),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(54031),r=a.i(91621),s=a.i(45889),t=a.i(16874);let u=r.TIER_COLORS,v=a=>`${Math.round(100*a)}%`;function w(){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,s.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,s.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:t.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)(t.Body,{children:"Couldn’t read your network just now."}),!g&&!d&&(0,b.jsx)(t.Body,{children:"Reading your network…"}),d&&0===d.circles&&(0,b.jsx)(t.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:v(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 (",v(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:t.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:u[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 (",v(a.share),")"]}),(0,b.jsx)(p.default,{href:`/?chain=${encodeURIComponent(a.id)}`,style:{color:"#3498DB",textDecoration:"none",whiteSpace:"nowrap"},children:"Explore →"})]},a.id))]})]})]})}let x={1:"Observer",11:"Connector",31:"Networker",51:"Strategist",76:"Architect"};function y(){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,s]=(0,c.useState)(null),[t,u]=(0,c.useState)(!0),[v,y]=(0,c.useState)([]),[A,B]=(0,c.useState)({total:0,sent:0,accepted:0}),[C,D]=(0,c.useState)({degree1:[],degree2:[],skips:[]}),[E,F]=(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=>F(a.settings.sectorFocus||{sectors:[],strength:"lean"})).catch(()=>F({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=(0,q.networkPower)(c,d),m=(0,q.levelOf)(l),n=m*m*10,o=(l-n)/((m+1)*(m+1)*10-n)*100;s({d1Count:c.length,d2Count:d.length,tiers:f,d2Tiers:g,clusters:h,catalysts:i,networkPower:l,level:m,xpProgress:o,topCompanies:k,unlockedPaths:0}),fetch("/api/scraper").then(a=>a.json()).then(a=>D({degree1:c,degree2:d,skips:a.skips||[]})).catch(()=>D({degree1:c,degree2:d,skips:[]})),fetch(`/api/notifications?userId=${a}`).then(a=>a.json()).then(a=>y(a.notifications||[])).catch(()=>{}),fetch("/api/queue").then(a=>a.json()).then(a=>{let b=a.items||[];B({total:b.length,sent:b.filter(a=>"sent"===a.status).length,accepted:b.filter(a=>"accepted"===a.status).length})}).catch(()=>{}),u(!1)}},[a]),l.IS_DEMO)return(0,b.jsxs)("div",{style:{minHeight:"100vh",background:"var(--sd-page)",color:"rgba(255,255,255,0.7)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:12,textAlign:"center",padding:24,fontFamily:"var(--sd-font)"},children:[(0,b.jsx)("h2",{style:{margin:0,fontSize:20,fontWeight:700,color:"#fff"},children:"Not part of the demo"}),(0,b.jsx)("p",{style:{margin:0,fontSize:13},children:"The public demo includes the Network Circle and Degrees views only."}),(0,b.jsx)(p.default,{href:"/",style:{fontSize:12,color:"rgba(255,255,255,0.5)",textDecoration:"none"},children:"← Back to the network"})]});if(t)return(0,b.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"var(--sd-page)",color:"#fff"},children:"Loading profile..."});let G=r.TIER_COLORS,H=[{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:"var(--sd-page)",color:"#fff",fontFamily:"var(--sd-font)",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)(w,{})]}):(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(x))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:C.degree1,degree2:C.degree2,skips:C.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:A.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:A.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:A.accepted}),(0,b.jsx)("div",{style:{fontSize:10,color:"#888"},children:"Accepted"})]})]})]}),v.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 (",v.filter(a=>!a.seen).length," new)"]}),(0,b.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6,maxHeight:200,overflowY:"auto"},children:v.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)(z,{label:"Connections",value:m.d1Count}),(0,b.jsx)(z,{label:"Degree-2 Reach",value:m.d2Count}),(0,b.jsx)(z,{label:"Clusters",value:m.clusters}),(0,b.jsx)(z,{label:"S-Tier",value:m.tiers.S,color:"#FFD700"}),(0,b.jsx)(z,{label:"A-Tier",value:m.tiers.A,color:"#9B59B6"}),(0,b.jsx)(z,{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:G[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:G[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 (",H.filter(a=>a.done).length,"/",H.length,")"]}),(0,b.jsx)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:H.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:[E?.sectors?.length?"Change":E&&!E.failed?"Pick in Settings":"Settings"," →"]})]}),E?E.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."}):E.sectors?.length?(0,b.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,alignItems:"center"},children:[E.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"===E.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 z({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)(y,{})})})}],79243)}];
2
2
 
3
3
  //# sourceMappingURL=app_profile_page_0u3-l5y.js.map